
/* ============================================================
   WICKS FISHING ADVENTURES
   Palette pulled from Dayton's own photos:
   glacial jade water, wet river stone, and the sky-blue hull
   of the jet boat (the accent — it's the most ownable colour
   the business actually has).
   ============================================================ */
:root{
  --stone:#E5E8E5;        /* wet river stone — page base */
  --stone-2:#D7DCD9;      /* raised surface */
  --slate:#B4BEBB;        /* hairlines */
  --depth:#0D1C1A;        /* deep water — dark sections + text */
  --depth-2:#132926;      /* raised surface on dark */
  --jade:#1C5F58;         /* glacial water — structure, links */
  --glacier:#8FCFC5;      /* river turquoise — accents on dark */
  --hull:#2E93CE;         /* the boat. actions only. */
  --hull-deep:#1C6E9E;
  --ink:#0D1C1A;
  --ink-60:#4E5C56;
  --ink-40:#55625C;
  --on-dark-70:rgba(229,232,229,.72);
  --on-dark-45:rgba(229,232,229,.46);

  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;

  --wrap:1200px;
  --gut:clamp(20px,5vw,64px);
  --r:3px;

  /* aliases so the reusable site-assistant component themes itself from
     Wicks' palette without touching the component's own stylesheet */
  --water:var(--hull);
  --water-2:var(--hull-deep);
  --shallow:var(--glacier);
  --deep:var(--depth);
  --line:var(--slate);
  --porcelain:var(--stone);
  --tile:var(--stone-2);
  --text:var(--ink);
  --muted:var(--ink-60);
  --sa-link:var(--hull-deep);   /* the bright hull blue is 3.4:1 on white — too light for links */
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--stone);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,video{max-width:100%;height:auto;display:block}
picture{display:contents}
iframe{max-width:100%;display:block}
a{color:var(--jade);text-decoration-thickness:1px;text-underline-offset:3px}
button{font:inherit;color:inherit}

h1,h2,h3,.display{
  font-family:var(--display);font-weight:600;
  font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 1;
  letter-spacing:-.022em;line-height:1.03;margin:0;
  font-synthesis-weight:none;
}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}

.skip{
  position:absolute;left:12px;top:-60px;z-index:200;background:var(--hull);color:#fff;
  padding:11px 18px;border-radius:var(--r);font-weight:600;font-size:14px;text-decoration:none;
  transition:top .16s;
}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.wrap--narrow{max-width:860px}

.sec{padding:clamp(72px,9vw,138px) 0;position:relative;scroll-margin-top:88px}
.hero{scroll-margin-top:0}
.sec--dark{background:var(--depth);color:var(--stone)}
.sec--dark h1,.sec--dark h2,.sec--dark h3{color:var(--stone)}
.sec--joined{padding-top:0}

.eyebrow{
  font-family:var(--mono);font-size:11.5px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--jade);
  margin:0 0 18px;display:flex;align-items:center;gap:12px;
}
.eyebrow::after{content:"";height:1px;flex:1;background:var(--slate);max-width:120px}
.sec--dark .eyebrow{color:var(--glacier)}
.sec--dark .eyebrow::after{background:rgba(143,207,197,.28)}

.h-xl{font-size:clamp(2.6rem,7.4vw,5.3rem)}
.h-lg{font-size:clamp(2.1rem,4.6vw,3.5rem)}
.h-md{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.lede{font-size:clamp(1.06rem,1.55vw,1.26rem);line-height:1.6;color:var(--ink-60);max-width:62ch}
.sec--dark .lede{color:var(--on-dark-70)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 26px;border-radius:var(--r);border:1px solid transparent;
  font-family:var(--body);font-weight:600;font-size:14.5px;letter-spacing:.02em;
  text-decoration:none;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s;
}
.btn--primary{background:var(--hull);color:#fff}
.btn--primary:hover{background:var(--hull-deep)}
.btn--ghost{border-color:var(--slate);color:var(--ink);background:transparent}
.btn--ghost:hover{border-color:var(--jade);color:var(--jade)}
.btn--onphoto{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(13,28,26,.28);backdrop-filter:blur(6px)}
.btn--onphoto:hover{background:rgba(13,28,26,.55);border-color:#fff}
.btn--sm{padding:11px 18px;font-size:13px}

:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{
  outline:2px solid var(--hull);outline-offset:3px;border-radius:2px;
}
.sec--dark :where(a,button,summary):focus-visible{outline-color:var(--glacier)}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:70;background:rgba(229,232,229,.94);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--slate);
}
.nav__in{display:flex;align-items:center;gap:20px;height:74px}
.nav__logo{display:flex;align-items:center;flex-shrink:0}
.nav__logo img{height:44px;width:auto}
.nav__links{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav__links a{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-60);text-decoration:none;padding:9px 12px;border-radius:2px;
  transition:color .16s;position:relative;
}
.nav__links a:hover{color:var(--ink)}
.nav__links a[aria-current="true"]{color:var(--jade)}
.nav__links a[aria-current="true"]::after{
  content:"";position:absolute;left:12px;right:12px;bottom:2px;height:1.5px;background:var(--hull);
}
.nav__cta{margin-left:14px}
.nav__burger{
  margin-left:auto;display:none;width:46px;height:46px;border:1px solid var(--slate);
  background:transparent;border-radius:var(--r);cursor:pointer;align-items:center;justify-content:center;
}
.nav__burger span{display:block;width:19px;height:1.5px;background:var(--ink);position:relative}
.nav__burger span::before,.nav__burger span::after{
  content:"";position:absolute;left:0;width:19px;height:1.5px;background:var(--ink);transition:transform .22s,top .22s;
}
.nav__burger span::before{top:-6px}.nav__burger span::after{top:6px}
.nav[data-open="true"] .nav__burger span{background:transparent}
.nav[data-open="true"] .nav__burger span::before{top:0;transform:rotate(45deg)}
.nav[data-open="true"] .nav__burger span::after{top:0;transform:rotate(-45deg)}

.drawer{
  display:none;position:fixed;inset:74px 0 0;z-index:65;background:var(--depth);
  padding:32px var(--gut) 40px;overflow-y:auto;
}
.nav[data-open="true"] ~ .drawer{display:block}
.drawer a{
  display:block;font-family:var(--display);font-size:clamp(1.7rem,7vw,2.4rem);font-weight:600;
  color:var(--stone);text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(143,207,197,.16);
}
.drawer .drawer__foot{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.drawer .drawer__foot a{border:0;font-family:var(--body);font-size:15px;padding:0;overflow-wrap:anywhere}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--depth);overflow:hidden}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,28,26,.52) 0%,rgba(13,28,26,.18) 34%,rgba(13,28,26,.55) 72%,rgba(13,28,26,.88) 100%);
}
.hero__in{
  position:relative;z-index:2;min-height:min(88svh,860px);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding-top:clamp(90px,16vh,190px);padding-bottom:clamp(30px,5vh,54px);color:#fff;
}
.hero .eyebrow{color:var(--glacier)}
.hero .eyebrow::after{background:rgba(255,255,255,.3)}
.hero h1{color:#fff;max-width:15ch;text-shadow:0 2px 30px rgba(0,0,0,.32)}
.hero__rule{height:1px;background:rgba(255,255,255,.42);margin:30px 0 24px;max-width:280px}
.hero__sub{
  font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.55;color:rgba(255,255,255,.9);
  max-width:50ch;margin:0 0 32px;text-shadow:0 1px 16px rgba(0,0,0,.3);
}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.hero__strip{
  margin-top:clamp(38px,6vh,64px);padding-top:20px;border-top:1px solid rgba(255,255,255,.2);
  display:flex;flex-wrap:wrap;gap:10px 30px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.82);
}
.hero__strip a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.hero__strip a:hover{border-color:#fff;color:#fff}
.hero__strip .star{color:var(--glacier);letter-spacing:0}

/* ---------- guide ---------- */
.guide{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.guide__figure{position:relative}
.guide__figure img{width:100%;height:auto;border-radius:var(--r)}
.guide__cap{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-40);margin-top:12px;
}
.credential{
  margin-top:20px;padding-top:18px;border-top:1px solid var(--slate);
  font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--jade);
}
.guide__sig{
  font-family:var(--display);font-variation-settings:'opsz' 144,'WONK' 1;
  font-size:1.35rem;font-style:italic;color:var(--jade);margin-top:26px;
}

.pillars{
  margin-top:clamp(52px,7vw,86px);border-top:1px solid var(--slate);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
}
.pillar{padding:26px 26px 26px 0}
.pillar + .pillar{padding-left:26px;border-left:1px solid var(--slate)}
.pillar h3{font-family:var(--body);font-weight:600;font-size:15px;letter-spacing:0;margin:0 0 7px;font-variation-settings:normal}
.pillar p{font-size:14.5px;line-height:1.55;color:var(--ink-60);margin:0}
.pillar__num{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--hull);
  display:block;margin-bottom:14px;
}

/* ---------- SIGNATURE: season board ---------- */
.board{
  margin-top:clamp(38px,5vw,56px);background:var(--depth-2);
  border:1px solid rgba(143,207,197,.16);border-radius:var(--r);
  padding:clamp(18px,3vw,32px);overflow:hidden;
}
.board__head,.board__row{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:clamp(14px,2.4vw,28px);align-items:center}
.board__head{padding-bottom:12px;border-bottom:1px solid rgba(143,207,197,.16);margin-bottom:6px}
.board__months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}
.board__months span{
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--on-dark-45);
  text-align:center;
}
.board__row{padding:11px 0;border-radius:2px;transition:background .18s}
.board__row:hover,.board__row:focus-within{background:rgba(143,207,197,.05)}
.board__name{min-width:0}
.board__name b{
  display:block;font-family:var(--display);font-weight:600;font-size:1.12rem;
  font-variation-settings:'opsz' 144,'WONK' 1;color:var(--stone);letter-spacing:-.01em;
}
.board__name em{
  display:block;font-family:var(--mono);font-style:normal;font-size:10.5px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--on-dark-45);margin-top:4px;
}
.board__bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}
.cell{
  height:26px;border-radius:2px;background:rgba(229,232,229,.07);
  transform:scaleX(.04);transform-origin:left center;
  transition:transform .5s cubic-bezier(.22,.9,.28,1);
}
.cell--open{background:rgba(143,207,197,.34)}
.cell--peak{background:var(--hull)}
.board.is-in .cell{transform:scaleX(1);transition-delay:calc(var(--i) * 26ms)}
.board__legend{
  display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:22px;padding-top:18px;
  border-top:1px solid rgba(143,207,197,.16);
  font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--on-dark-45);
}
.board__legend i{display:inline-block;width:22px;height:9px;border-radius:2px;margin-right:8px;vertical-align:middle}
.board__months span.is-now{color:var(--glacier);font-weight:500}
.cell.is-now{box-shadow:inset 0 0 0 1.5px var(--glacier)}
.board__note{margin-top:20px;font-size:14.5px;color:var(--on-dark-70);max-width:70ch}

/* ---------- waters ---------- */
.waters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,34px);margin-top:clamp(38px,5vw,56px)}
.water{
  background:var(--stone-2);border:1px solid var(--slate);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column;
}
.water__img{position:relative;background:var(--depth);overflow:hidden;aspect-ratio:3/2}
.water__bg{position:absolute;inset:-14%;background-size:cover;background-position:center;
  filter:blur(26px) saturate(.7) brightness(.5);pointer-events:none}
.water__img img{position:relative;width:100%;height:100%;object-fit:contain}
.water__tag{
  position:absolute;left:14px;top:14px;background:rgba(13,28,26,.78);color:var(--glacier);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  padding:6px 11px;border-radius:2px;backdrop-filter:blur(4px);
}
.water__body{padding:clamp(20px,2.6vw,30px);flex:1;display:flex;flex-direction:column}
.water__body h3{font-size:1.55rem;margin-bottom:10px}
.water__meta{
  font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--jade);margin:0 0 14px;
}
.water__desc{font-size:15.4px;line-height:1.62;color:var(--ink-60);margin:0}

/* ---------- fish ---------- */
.fish{margin-top:clamp(38px,5vw,54px);border-top:1px solid var(--slate)}
.fish details{border-bottom:1px solid var(--slate)}
.fish summary{
  list-style:none;cursor:pointer;padding:24px 0;display:flex;align-items:baseline;gap:18px;
}
.fish summary::-webkit-details-marker{display:none}
.fish summary h3{font-size:clamp(1.35rem,2.6vw,1.9rem);flex:1;min-width:0}
.fish summary .size{
  font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-40);
  white-space:nowrap;
}
.fish summary .plus{width:16px;height:16px;position:relative;flex-shrink:0;align-self:center}
.fish summary .plus::before,.fish summary .plus::after{
  content:"";position:absolute;background:var(--jade);transition:transform .22s;
}
.fish summary .plus::before{left:0;top:7.5px;width:16px;height:1.5px}
.fish summary .plus::after{top:0;left:7.5px;height:16px;width:1.5px}
.fish details[open] summary .plus::after{transform:scaleY(0)}
.fish__body{padding:0 0 28px;max-width:72ch;color:var(--ink-60);font-size:15.6px}

/* ---------- gallery ---------- */
.grid{
  columns:3;column-gap:14px;margin-top:clamp(34px,4.5vw,50px);
}
.shot{
  break-inside:avoid;margin-bottom:14px;position:relative;display:block;width:100%;
  padding:0;border:0;background:var(--depth-2);cursor:zoom-in;border-radius:var(--r);overflow:hidden;
}
.shot img{width:100%;height:auto;transition:transform .5s cubic-bezier(.22,.9,.28,1),opacity .3s}
.shot:hover img{transform:scale(1.035)}
.shot::after{
  content:"";position:absolute;inset:0;background:rgba(13,28,26,0);transition:background .25s;
}
.shot:hover::after{background:rgba(13,28,26,.14)}

/* ---------- film ---------- */
.films{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,26px);margin-top:clamp(34px,4.5vw,50px);align-items:start}
.film{background:var(--depth-2);border:1px solid rgba(143,207,197,.16);border-radius:var(--r);overflow:hidden}
.film__stage{position:relative;aspect-ratio:4/3;background:#05100E;display:block;overflow:hidden}
.film__bg{position:absolute;inset:-14%;background-size:cover;background-position:center;
  filter:blur(28px) saturate(.65) brightness(.4);pointer-events:none}
.film video{position:relative;width:100%;height:100%;object-fit:contain;background:transparent;display:block}
.film__play{
  position:absolute;inset:0;margin:auto;width:62px;height:62px;border-radius:50%;
  border:1px solid rgba(255,255,255,.55);background:rgba(13,28,26,.42);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
  transition:background .2s,transform .2s,border-color .2s;
}
.film__play:hover{background:var(--hull);border-color:var(--hull);transform:scale(1.06)}
.film__play svg{width:20px;height:20px;fill:#fff;margin-left:3px;display:block}
.film__stage[data-playing="true"] .film__play,
.film__stage[data-playing="true"] .film__poster{display:none}
.film__poster{position:relative;width:100%;height:100%;object-fit:contain;display:block}
.film figcaption{
  padding:14px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--on-dark-45);
}

/* ---------- reviews ---------- */
.rev__head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:24px;justify-content:space-between}
.rev__score{display:flex;align-items:center;gap:16px;margin-top:8px}
.rev__num{font-family:var(--display);font-size:3.4rem;font-weight:600;line-height:1;font-variation-settings:'opsz' 144,'WONK' 1}
.rev__stars{color:var(--hull);font-size:17px;letter-spacing:2px;line-height:1.2}
.rev__count{font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-40);margin-top:3px}
.revs{columns:3;column-gap:16px;margin-top:clamp(32px,4vw,46px)}
.rev{
  break-inside:avoid;margin-bottom:16px;background:#fff;border:1px solid var(--slate);
  border-radius:var(--r);padding:22px 22px 20px;
}
.rev p{font-size:15.2px;line-height:1.6;color:var(--ink);margin:0 0 14px}
.rev footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rev cite{font-style:normal;font-weight:600;font-size:14px}
.rev .src{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-40)}
.rev .st{color:var(--hull);font-size:12px;letter-spacing:1.5px;display:block;margin-bottom:10px}
.rev__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* ---------- shop ---------- */
.shop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,22px);margin-top:clamp(32px,4vw,48px)}
.prod{
  border:1px solid var(--slate);border-radius:var(--r);background:#fff;overflow:hidden;
  display:flex;flex-direction:column;color:inherit;transition:border-color .2s;
}
.prod:hover{border-color:var(--jade)}
.prod__buy{margin-top:12px;min-height:46px}
.prod__buy .shopify-buy-frame{max-width:100%}
.prod__img{aspect-ratio:1;background:#fff;position:relative;overflow:hidden;display:grid;place-items:center;padding:8px}
.prod__img img{width:100%;height:100%;object-fit:contain}
.prod__shopimg{display:none;grid-area:1/1;width:100%;height:100%;align-items:center;justify-content:center}
.prod__img[data-shopimg="true"] .prod__shopimg{display:flex}
.prod__img[data-shopimg="true"] > picture,
.prod__img[data-shopimg="true"] > .prod__fallback{display:none}
.prod__fallback{
  position:absolute;inset:0;display:none;align-items:center;justify-content:center;
  font-family:var(--display);font-size:1.2rem;color:var(--jade);background:var(--stone-2);text-align:center;padding:16px;
}
.prod__img[data-missing="true"] .prod__fallback{display:flex}
.prod__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px}
.prod__body h3{font-family:var(--body);font-weight:600;font-size:15.5px;letter-spacing:0;font-variation-settings:normal}
.prod__price{font-family:var(--mono);font-size:13px;color:var(--jade)}
.shop__note{
  margin-top:26px;font-size:14.5px;color:var(--ink-60);
  display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;
}

/* ---------- faq ---------- */
.faq{margin-top:clamp(32px,4vw,48px);border-top:1px solid var(--slate);max-width:900px}
.faq details{border-bottom:1px solid var(--slate)}
.faq summary{
  list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;
  font-weight:600;font-size:16.5px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:6px;top:18px;font-family:var(--mono);font-size:20px;
  color:var(--jade);line-height:1;transition:transform .2s;
}
.faq details[open] summary::after{content:"–"}
.faq__body{padding:0 0 22px;max-width:70ch;color:var(--ink-60);font-size:15.4px}

/* ---------- booking ---------- */
.book{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(32px,5vw,64px);margin-top:clamp(32px,4vw,48px)}
.field{margin-bottom:18px}
.field label{
  display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-40);margin-bottom:7px;
}
.field input,.field select,.field textarea{
  width:100%;padding:13px 14px;border:1px solid var(--slate);border-radius:var(--r);
  background:#fff;font-family:var(--body);font-size:16px;color:var(--ink);
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--hull);outline-offset:1px}
.field textarea{min-height:120px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.formmsg{margin-top:16px;font-size:15px;display:none;padding:14px 16px;border-radius:var(--r)}
.formmsg[data-state="ok"]{display:block;background:rgba(28,95,88,.1);color:var(--jade);border:1px solid rgba(28,95,88,.3)}
.formmsg[data-state="err"]{display:block;background:rgba(180,60,40,.08);color:#9B3A25;border:1px solid rgba(180,60,40,.3)}

.contact__block{margin-bottom:26px}
.contact__block h3{font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-40);margin:0 0 8px;font-variation-settings:normal}
.contact__block a{color:var(--ink);text-decoration:none;font-size:17px;font-weight:500;overflow-wrap:anywhere}
.contact__block a:hover{color:var(--jade)}
.map{border:1px solid var(--slate);border-radius:var(--r);overflow:hidden;margin-top:8px}
.map iframe{width:100%;height:280px;border:0;display:block;filter:grayscale(.35) contrast(1.04)}

/* ---------- footer ---------- */
.foot{background:var(--depth);color:var(--stone);padding:clamp(56px,7vw,86px) 0 0}
.foot__top{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(2,minmax(0,.7fr));gap:clamp(28px,4vw,56px);padding-bottom:44px}
.foot__plaque{
  background:var(--stone);border-radius:var(--r);padding:16px 20px;display:inline-block;margin-bottom:20px;
}
.foot__plaque img{width:min(226px,58vw);height:auto;display:block}
.foot p{color:var(--on-dark-70);font-size:15px;max-width:44ch}
.foot h4{
  font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--glacier);margin:0 0 16px;font-weight:500;
}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.foot ul li{min-width:0}
.foot ul a{color:var(--on-dark-70);text-decoration:none;font-size:15px;overflow-wrap:anywhere}
.foot ul a:hover{color:var(--stone)}
.foot__bar{
  border-top:1px solid rgba(143,207,197,.16);padding:22px 0 calc(22px + env(safe-area-inset-bottom));
  display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between;
  font-family:var(--mono);font-size:11px;letter-spacing:.09em;color:var(--on-dark-45);
}
.foot__bar a{color:var(--on-dark-45);text-decoration:none}
.foot__bar a:hover{color:var(--glacier)}

/* ---------- lightbox ---------- */
.lb{
  position:fixed;inset:0;z-index:200;background:rgba(8,17,16,.96);
  display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,48px);
}
.lb[data-open="true"]{display:flex}
.lb img{max-width:100%;max-height:86svh;object-fit:contain;border-radius:2px}
.lb__close,.lb__prev,.lb__next{
  position:absolute;background:rgba(229,232,229,.1);border:1px solid rgba(229,232,229,.22);
  color:var(--stone);width:48px;height:48px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:19px;
}
.lb__close{top:18px;right:18px}
.lb__prev{left:14px;top:50%;transform:translateY(-50%)}
.lb__next{right:14px;top:50%;transform:translateY(-50%)}
.lb__count{
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--on-dark-45);
}

/* ---------- sticky mobile bar ---------- */
.mobar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  align-items:stretch;gap:10px;
  background:rgba(13,28,26,.97);backdrop-filter:blur(10px);
  border-top:1px solid rgba(143,207,197,.22);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  transform:translateY(130%);transition:transform .28s;
}
.mobar[data-show="true"]{transform:translateY(0)}
.mobar a{
  flex:1 1 0;min-width:0;min-height:50px;
  display:flex;align-items:center;justify-content:center;
  padding:0 12px;border-radius:var(--r);text-decoration:none;
  font-size:15px;font-weight:600;line-height:1.1;text-align:center;
}
.mobar__call{border:1px solid rgba(229,232,229,.4);color:var(--stone)}
.mobar__book{background:var(--hull);color:#fff}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(16px);transition:opacity .62s ease,transform .62s cubic-bezier(.22,.9,.28,1)}
.rv.is-in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:flex}
  .guide{grid-template-columns:1fr}
  .guide__figure{max-width:440px}
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillar{padding:24px 24px 24px 0}
  .pillar + .pillar{padding-left:0;border-left:0}
  .pillar:nth-child(2n){padding-left:24px;border-left:1px solid var(--slate)}
  .pillar:nth-child(-n+2){border-bottom:1px solid var(--slate)}
  .pillar:nth-child(n+3){padding-top:24px}
  .grid{columns:2}
  .revs{columns:2}
  .shop{grid-template-columns:repeat(2,minmax(0,1fr))}
  .films{grid-template-columns:repeat(2,minmax(0,1fr))}
  .book{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:16px}
  .mobar{display:flex}
  .foot__bar{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .waters{grid-template-columns:1fr}
  .grid{columns:2;column-gap:10px}
  .shot{margin-bottom:10px}
  .revs{columns:1}
  .films{grid-template-columns:minmax(0,1fr)}
  .pillars{grid-template-columns:minmax(0,1fr)}
  .pillar,.pillar + .pillar,.pillar:nth-child(2n){padding:22px 0;border-left:0}
  .pillar:nth-child(-n+3){border-bottom:1px solid var(--slate)}
  .pillar:last-child{border-bottom:0}
  .row2{grid-template-columns:1fr}
  .hero__in{min-height:auto;padding-bottom:36px}
  /* season board reflows to stacked rows */
  .board__head{grid-template-columns:1fr}
  .board__head .board__spacer{display:none}
  .board__row{grid-template-columns:1fr;gap:8px;padding:14px 0;border-bottom:1px solid rgba(143,207,197,.12)}
  .board__row:last-of-type{border-bottom:0}
  .cell{height:20px}
  .board__months span{font-size:9.5px}
  .lb__prev{left:6px}.lb__next{right:6px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}
  .cell{transform:scaleX(1)}
}


/* ==========================================================================
   MULTI-PAGE ADDITIONS
   Interior page header, breadcrumb and pull-quote. Everything else on the
   interior pages reuses components from the original single-page build.
   ========================================================================== */
.phead{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(380px,52vh,560px);display:flex;align-items:flex-end;
  background:var(--depth);color:var(--stone);
  padding:calc(var(--navh,72px) + 48px) 0 clamp(38px,6vw,64px);
}
.phead__media{position:absolute;inset:0;z-index:-2}
.phead__media img{width:100%;height:100%;object-fit:cover}
.phead__scrim{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(13,28,26,.80) 0%,rgba(13,28,26,.34) 34%,rgba(13,28,26,.88) 100%),
    linear-gradient(94deg,rgba(13,28,26,.68) 0%,rgba(13,28,26,.10) 62%,transparent 86%);
}
.phead__in{position:relative;z-index:1}
.phead h1{color:#fff;max-width:17ch}
.phead .hero__sub{max-width:56ch}
.phead .eyebrow,.phead .crumb{color:var(--glacier)}

.crumb{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--on-dark-45);margin-bottom:16px;
}
.crumb a{color:var(--on-dark-45);text-decoration:none}
.crumb a:hover{color:var(--glacier)}

blockquote{
  border-left:2px solid var(--jade);padding:2px 0 2px 20px;
  font-family:var(--display);font-size:clamp(18px,2.4vw,22px);line-height:1.38;
  color:var(--ink);font-weight:400;
}
.sec--dark blockquote{color:#fff;border-left-color:var(--glacier)}
blockquote cite{
  display:block;font-family:var(--mono);font-style:normal;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--jade);margin-top:12px;
}
.sec--dark blockquote cite{color:var(--glacier)}

/* the pillar grid is reused on interior pages where headings link onward */
.pillar h3 a{text-decoration:none}
.pillar h3 a:hover{color:var(--glacier)}
.sec:not(.sec--dark) .pillar h3 a:hover{color:var(--jade)}


/* .btn--ghost uses --ink, which is the same colour as --depth — so on a dark
   band the label disappeared. Light sections keep the original treatment. */
.sec--dark .btn--ghost,
.phead .btn--ghost{border-color:rgba(255,255,255,.45);color:#fff}
.sec--dark .btn--ghost:hover,
.phead .btn--ghost:hover{border-color:var(--glacier);color:var(--glacier);background:rgba(255,255,255,.08)}

/* A portrait source in a wide band loses the top of the frame. Giving this
   one hero extra height lets the subject sit above the headline instead of
   behind it, and the crop is biased toward the head. */
.phead--tall{min-height:clamp(520px,72vh,720px)}
.phead__media img.focus-high{object-position:center 16%}
@media (max-width:760px){
  .phead--tall{min-height:clamp(480px,66vh,620px)}
  .phead__media img.focus-high{object-position:center 12%}
}
