
:root{
  --ink:#14201e;--cream:#f7f4ed;--paper:#fffdf8;--lake:#315f67;--deep:#173a3d;
  --sage:#748b76;--sand:#dcc8a2;--coral:#c66f58;--gold:#d4a95d;--muted:#66716e;
  --line:rgba(20,32,30,.13);--shadow:0 18px 50px rgba(17,42,41,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
img{display:block;width:100%}
button,input,textarea{font:inherit}
a{color:inherit}
.wrap{width:min(1040px,calc(100% - 32px));margin:auto}
.hero{min-height:92svh;position:relative;display:flex;align-items:flex-end;color:#fff;background:url("assets/hero.jpg") center 56%/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,25,27,.05) 25%,rgba(9,28,31,.78) 100%)}
.hero-inner{position:relative;z-index:1;padding:80px 0 44px}
.pill{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(15,39,41,.22);backdrop-filter:blur(10px);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em}
h1{font-size:clamp(3.3rem,12vw,7rem);line-height:.9;margin:18px 0}
.hero p{font-size:1.12rem;max-width:620px;color:rgba(255,255,255,.88)}
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}
.quick div{padding:14px;border-radius:16px;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18)}
.quick span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;opacity:.68}
.quick strong{font-size:.98rem}
.section{padding:74px 0}
.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.17em;font-weight:900;color:var(--coral)}
h2{font-size:clamp(2.2rem,7vw,4.5rem);line-height:1;margin:9px 0 18px}
.intro{font-size:1.18rem;color:var(--muted);max-width:720px}
.story{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}
.story-copy{background:var(--paper);padding:30px;border-radius:26px;border:1px solid var(--line)}
.story-copy blockquote{font-family:Georgia,serif;font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.18;margin:0}
.story-photo{border-radius:26px;overflow:hidden;min-height:420px}
.story-photo img{height:100%;object-fit:cover}
.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.moment{background:var(--paper);border:1px solid var(--line);padding:20px;border-radius:18px}
.moment .icon{font-size:1.6rem}
.moment h3{font-size:1.35rem;margin:8px 0 4px}
.full-photo{height:min(78svh,760px);position:relative;overflow:hidden}
.full-photo img{height:100%;object-fit:cover}
.full-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(10,28,30,.75))}
.overlay{position:absolute;z-index:1;left:max(16px,calc((100% - 1040px)/2));right:16px;bottom:38px;color:#fff;max-width:680px}
.overlay h2{margin-bottom:10px}
.overlay p{font-size:1.08rem;color:rgba(255,255,255,.85)}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px}
.card h3{font-size:1.55rem;margin:5px 0 9px}
.goals{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.check{display:flex;gap:10px;align-items:flex-start;padding:13px;background:#fff;border:1px solid var(--line);border-radius:14px}
.check input{margin-top:4px;accent-color:var(--lake)}
.map-wrap{background:var(--deep);color:#fff;padding:74px 0}
#map{height:510px;border-radius:24px;overflow:hidden;background:#b7cacc}
.route-note{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.route-note div{padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06)}
.route-note span{display:block;color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.gallery-col{display:grid;gap:14px}
.gallery figure{margin:0;border-radius:20px;overflow:hidden;position:relative;background:#ddd}
.gallery img{height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;padding:10px 12px;border-radius:12px;background:rgba(10,27,29,.58);backdrop-filter:blur(9px);font-size:.86rem}
.gallery .tall{min-height:520px}.gallery .short{min-height:250px}
.weather{background:linear-gradient(145deg,#dbe9e8,#f7f4ed);border-radius:28px;padding:26px}
.weather-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.weather-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}
.weather-card{background:rgba(255,255,255,.78);padding:16px;border-radius:16px;border:1px solid rgba(49,95,103,.12)}
.weather-card span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.weather-card input{border:0;background:transparent;padding:7px 0;width:100%;font-weight:800;color:var(--ink)}
.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pack{background:var(--paper);padding:22px;border:1px solid var(--line);border-radius:20px}
.pack h3{margin:0 0 12px;font-size:1.45rem}
.pack label{display:flex;gap:9px;padding:7px 0}
.pack input{accent-color:var(--coral)}
.callout{background:var(--sand);border-radius:24px;padding:26px;margin-top:18px}
.log{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.log label{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted)}
.log textarea{display:block;width:100%;min-height:105px;margin-top:7px;border-radius:14px;border:1px solid var(--line);background:var(--paper);padding:13px}
.end{min-height:75svh;display:grid;place-items:end center;background:url("assets/water.jpg") center/cover no-repeat;position:relative;color:#fff}
.end:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,26,.05),rgba(8,24,26,.78))}
.end-inner{position:relative;z-index:1;text-align:center;padding:80px 20px 50px}
.end h2{font-size:clamp(3rem,11vw,7rem)}
.end p{font-family:Georgia,serif;font-size:1.35rem}
.footer{background:#0e2425;color:rgba(255,255,255,.68);padding:32px 0;font-size:.85rem}
.mobile-nav{position:sticky;bottom:10px;z-index:20;width:min(540px,calc(100% - 22px));margin:-58px auto 12px;display:flex;justify-content:space-around;padding:8px;border-radius:18px;background:rgba(15,39,41,.88);backdrop-filter:blur(16px);box-shadow:var(--shadow)}
.mobile-nav a{color:#fff;text-decoration:none;font-size:.72rem;padding:9px 7px}
@media(max-width:760px){
  .hero{min-height:88svh}.hero-inner{padding-bottom:80px}
  .quick{grid-template-columns:1fr}.story,.cards,.gallery,.log{grid-template-columns:1fr}
  .moment-grid,.pack-grid,.weather-grid,.route-note{grid-template-columns:1fr 1fr}
  .story-photo{min-height:360px}.gallery .tall,.gallery .short{min-height:330px}
  .section{padding:58px 0}.map-wrap{padding:58px 0}#map{height:430px}
}
@media(max-width:440px){
  .moment-grid,.pack-grid,.weather-grid,.route-note,.goals{grid-template-columns:1fr}
  h1{font-size:3.8rem}.wrap{width:min(100% - 22px,1040px)}
}

.trip-now{padding:68px 0;background:#edf3f1;border-bottom:1px solid var(--line)}
.forecast-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}
.forecast-day{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:19px}
.forecast-day.storm{border-top:4px solid var(--coral)}
.forecast-date{font-size:.72rem;font-weight:900;letter-spacing:.12em;color:var(--muted)}
.forecast-icon{font-size:2rem;margin:14px 0 7px}
.forecast-temp{font-family:Georgia,serif;font-size:2.1rem;font-weight:700}
.forecast-temp span{font-size:1.1rem;color:var(--muted)}
.forecast-day p{font-size:.92rem;margin-bottom:0}
.marine-callout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:center;background:var(--deep);color:#fff;border-radius:22px;padding:22px;margin:18px 0}
.marine-callout p{color:rgba(255,255,255,.76);margin-bottom:0}
.marine-links{display:grid;gap:9px}
.marine-links a,.open-map{display:block;text-align:center;text-decoration:none;border-radius:999px;padding:11px 14px;font-weight:800;background:var(--gold);color:#182623}
.actual-map-card{background:var(--paper);border:1px solid var(--line);border-radius:25px;padding:18px;margin-top:18px}
.actual-map-copy{padding:5px 6px 13px}
.actual-map-copy h3{font-size:1.7rem;margin:6px 0}
.actual-map-card iframe{display:block;width:100%;height:470px;border:0;border-radius:18px;background:#dbe5e2}
.map-key{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.map-key span{font-size:.8rem;background:#edf3f1;padding:10px;border-radius:11px}
.map-key b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--deep);color:#fff;margin-right:4px}
.open-map{width:max-content;min-width:180px}
.cold-water-note{margin-top:15px;background:rgba(49,95,103,.1);border-left:4px solid var(--lake);padding:14px;border-radius:10px}
@media(max-width:760px){
  .forecast-grid{grid-template-columns:repeat(2,1fr)}
  .marine-callout{grid-template-columns:1fr}
  .actual-map-card iframe{height:390px}
  .map-key{grid-template-columns:1fr}
}
@media(max-width:430px){
  .forecast-grid{grid-template-columns:1fr 1fr}
  .forecast-day{padding:14px}
  .forecast-temp{font-size:1.75rem}
  .actual-map-card{padding:11px}
}

.marine-check{background:var(--deep);color:#fff;border-radius:24px;padding:24px;margin:18px 0}
.marine-check-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.marine-check-head h3{font-size:1.8rem;margin:5px 0}
.marine-check-head p{color:rgba(255,255,255,.74)}
.status-chip{display:inline-flex;padding:9px 12px;border-radius:999px;background:rgba(212,169,93,.18);border:1px solid rgba(212,169,93,.5);color:#f5dca9;font-size:.78rem;font-weight:800;white-space:nowrap}
.marine-observation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}
.marine-observation-grid article{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:17px}
.marine-observation-grid span{display:block;color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900}
.marine-observation-grid strong{display:block;margin:6px 0;font-size:1rem}
.marine-observation-grid p{margin:0;color:rgba(255,255,255,.72);font-size:.9rem}
.trip-window-note{margin-top:14px;padding:16px;border-left:4px solid var(--gold);background:rgba(212,169,93,.1);border-radius:12px}
.trip-window-note p{margin:5px 0 0;color:rgba(255,255,255,.78)}
.marine-check .marine-links{grid-template-columns:repeat(3,1fr);margin-top:14px}
.marine-check .marine-links a{background:var(--gold);color:#182623}
@media(max-width:760px){
  .marine-check-head{flex-direction:column}
  .status-chip{white-space:normal}
  .marine-observation-grid{grid-template-columns:1fr}
  .marine-check .marine-links{grid-template-columns:1fr}
}
