/* Coastal Crown — critical above-fold */
:root{
  --ocean:#0a4d68;--ocean-dark:#063347;--coral:#e85d4c;--coral-dark:#c94a3b;
  --sand:#faf6f0;--sand-dark:#ebe4d8;--gold:#c9a227;--text:#1a2b33;--muted:#5c6f7a;
  --white:#fff;--radius:14px;--shadow:0 12px 40px rgba(10,77,104,.12);
  --font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-display:Georgia,"Times New Roman",serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--font);color:var(--text);background:var(--sand);line-height:1.65;font-size:16px;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--ocean);text-decoration:none}
a:hover{color:var(--coral)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;padding:.5rem 1rem;background:var(--coral);color:#fff}
.skip-link:focus{left:1rem;top:1rem}
body{padding-bottom:5.5rem}
.sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:300;display:flex;gap:.6rem;padding:.75rem 1rem;background:rgba(6,51,71,.97);backdrop-filter:blur(10px);box-shadow:0 -8px 32px rgba(0,0,0,.25)}
.site-header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.97);border-bottom:1px solid var(--sand-dark);backdrop-filter:blur(8px)}
.header-inner{max-width:1200px;margin:0 auto;padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--ocean)}
.logo span{color:var(--coral)}
.nav-toggle{display:none;background:var(--ocean);color:#fff;border:0;padding:.5rem .85rem;border-radius:8px;cursor:pointer}
.hero{position:relative;min-height:min(72vh,620px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,51,71,.25) 0%,rgba(6,51,71,.88) 100%);z-index:1}
.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:3rem 1.25rem 2.5rem;width:100%}
.hero h1{font-family:var(--font-display);font-size:clamp(1.85rem,5vw,3rem);line-height:1.15;margin-bottom:.75rem}
.hero-lead{font-size:1.05rem;opacity:.95;max-width:540px;margin-bottom:1.25rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.8rem 1.35rem;border-radius:10px;font-weight:700;font-size:.9rem;border:2px solid transparent;cursor:pointer;transition:.2s}
.btn-primary{background:var(--coral);color:#fff;border-color:var(--coral)}
.btn-primary:hover{background:var(--coral-dark);color:#fff}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-outline:hover{background:#fff;color:var(--ocean)}
@media(max-width:768px){
  .nav-toggle{display:block;min-height:44px;min-width:44px}
  .nav-main{display:none}
  .nav-main.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;padding:1rem 1.25rem;border-bottom:1px solid var(--sand-dark);box-shadow:var(--shadow);z-index:210}
  .nav-main.is-open a{display:block;padding:.65rem 0;min-height:44px;line-height:1.4}
  .header-inner{position:relative;flex-wrap:wrap}
  .logo{font-size:1.15rem;max-width:calc(100% - 3.5rem)}
  body{padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px))}
  .sticky-bar{padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom,0px))}
}
