/* ---------- nav ---------- */
header.nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .4s, box-shadow .4s, padding .4s;padding:20px 0;}
header.nav.scrolled{background:rgba(251,247,239,.86);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);padding:12px 0;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:12px;color:#fff;transition:color .4s;}
header.nav.scrolled .brand{color:var(--ink);}
.brand .mark{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 16px -6px rgba(16,63,73,.55);}
.brand .mark svg{width:42px;height:42px;}
.brand .name{font-family:var(--font-display);font-weight:600;font-size:1.16rem;line-height:1;letter-spacing:-.01em;}
.brand .name small{display:block;font-family:var(--font-mono);font-weight:400;font-size:.56rem;letter-spacing:.28em;opacity:.75;text-transform:uppercase;margin-top:3px;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{color:rgba(255,255,255,.9);font-size:.94rem;font-weight:500;transition:color .3s;position:relative;}
header.nav.scrolled .nav-links a{color:var(--coffee);}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--sea);transition:width .3s;border-radius:2px;}
.nav-links a:hover::after{width:100%;}
.nav-cta{display:flex;align-items:center;gap:14px;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;}
.burger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s;}
header.nav.scrolled .burger span{background:var(--ink);}
@media(max-width:960px){.nav-links, .nav-cta .btn{display:none;} .burger{display:flex;}}

.drawer{position:fixed;inset:0;z-index:80;background:var(--ocean);transform:translateX(100%);transition:transform .45s cubic-bezier(.4,0,.1,1);display:flex;flex-direction:column;padding:90px 32px 40px;gap:6px;overflow:auto;}
.drawer.open{transform:translateX(0);}
.drawer a{color:#fff;font-family:var(--font-display);font-size:1.6rem;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.drawer .btn{margin-top:20px;justify-content:center;}
.drawer-close{position:absolute;top:24px;right:24px;background:none;border:0;color:#fff;font-size:2rem;line-height:1;}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;background:var(--ocean);overflow:hidden;}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg, rgba(16,63,73,.55) 0%, rgba(16,63,73,.15) 30%, rgba(16,63,73,.35) 60%, rgba(16,63,73,.92) 100%),
  linear-gradient(90deg, rgba(16,63,73,.5), transparent 60%);}
.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:70px;padding-top:150px;}
.hero .eyebrow{color:#8fd4e0;}
.hero .eyebrow::before{background:#8fd4e0;}
.hero h1{color:#fff;font-weight:500;font-size:clamp(2.6rem,7vw,5.4rem);letter-spacing:-.02em;margin:22px 0 20px;max-width:16ch;}
.hero h1 em{font-style:italic;color:var(--wood);font-weight:400;}
.hero p.sub{color:rgba(255,255,255,.86);font-size:clamp(1.05rem,1.6vw,1.28rem);max-width:52ch;margin:0 0 34px;}
.hero-btns{display:flex;flex-wrap:wrap;gap:14px;}
.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.3em;color:rgba(255,255,255,.7);text-transform:uppercase;text-align:center;}
.scroll-cue .dot{width:5px;height:9px;border-radius:5px;background:#fff;margin:8px auto 0;animation:bob 1.6s infinite;}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(6px);opacity:1}}
@media(prefers-reduced-motion:reduce){.scroll-cue .dot{animation:none;}}
@media(max-width:600px){.scroll-cue{display:none;}}

/* ---------- stat ribbon ---------- */
.ribbon{background:var(--ocean);color:#fff;}
.ribbon .wrap{display:grid;grid-template-columns:repeat(4,1fr);}
.ribbon .cell{padding:30px 20px;border-right:1px solid rgba(255,255,255,.12);}
.ribbon .cell:last-child{border-right:0;}
.ribbon .num{font-family:var(--font-display);font-size:2rem;color:var(--wood);line-height:1;}
.ribbon .num .unit{font-size:1.3rem;}
.ribbon .lbl{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:8px;}
@media(max-width:720px){.ribbon .wrap{grid-template-columns:repeat(2,1fr);} .ribbon .cell:nth-child(2){border-right:0;} .ribbon .cell:nth-child(1),.ribbon .cell:nth-child(2){border-bottom:1px solid rgba(255,255,255,.12);}}

/* ---------- footer ---------- */
footer{background:var(--ink);color:rgba(255,255,255,.7);padding:70px 0 34px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px;}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr;}}
footer .brand{color:#fff;margin-bottom:16px;}
footer .brand .name{color:#fff;}
footer .tag{max-width:32ch;font-size:.92rem;color:rgba(255,255,255,.6);}
footer h5{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--wood);margin:0 0 16px;font-weight:500;}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:11px;}
footer ul a, footer ul li{font-size:.92rem;color:rgba(255,255,255,.7);transition:color .3s;}
footer ul a:hover{color:#fff;}
.socials{display:flex;gap:12px;margin-top:20px;}
.socials a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:background .3s,transform .3s;}
.socials a:hover{background:var(--sea);transform:translateY(-3px);}
.socials svg{width:18px;height:18px;color:#fff;}
.foot-bottom{margin-top:50px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.5);}
.foot-bottom .coord{color:rgba(255,255,255,.4);}
