@font-face{font-family:'Big Shoulders Display';font-weight:800;font-display:swap;src:url('../fonts/big-shoulders-display-800.woff2') format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-weight:900;font-display:swap;src:url('../fonts/big-shoulders-display-900.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-weight:400;font-display:swap;src:url('../fonts/archivo-400.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-weight:600;font-display:swap;src:url('../fonts/archivo-600.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:500;font-display:swap;src:url('../fonts/jetbrains-mono-500.woff2') format('woff2')}

:root{
  --cypress:#0E1712;--moss-deep:#1B2A22;--slate-water:#3E5560;--moss:#7C9468;
  --muted-bone:#BFB8A8;--bone:#EDE6D6;--defender:#F2C230;--ember:#E8643A;
  --display:'Big Shoulders Display',sans-serif;--text:'Archivo',sans-serif;--mono:'JetBrains Mono',monospace;
  --gut:64px;--max:1240px;--bar:0px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cypress);color:var(--bone);font:400 18px/1.55 var(--text);overflow-x:clip;padding-bottom:var(--bar)}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:3px solid var(--defender);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--defender);color:var(--cypress);padding:10px 14px;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.eyebrow,.mono{font:500 13px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.eyebrow{color:var(--defender);margin:0 0 18px}
.light .eyebrow{color:#4c3b08}
h1,h2,h3,.display{font-family:var(--display);font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.01em;margin:0}
h1{font-size:112px}
h2{font-size:64px}
h3{font-size:32px;font-weight:800;line-height:.95}
p{margin:0 0 1em;max-width:62ch}
.lede{font-size:21px;line-height:1.5;color:var(--bone)}
.muted{color:var(--muted-bone)}
.light{background:var(--bone);color:var(--cypress)}
.light .muted{color:#4B4A43}
.grain{position:relative;isolation:isolate}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.grain>*{position:relative;z-index:2}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;
  font:600 16px/1 var(--text);text-decoration:none;border:2px solid transparent;transition:transform .12s ease,background .2s ease,color .2s ease;cursor:pointer}
.btn:active{transform:scale(.97)}
.btn-go{background:var(--defender);color:var(--cypress)}
.btn-go:hover{background:#FFD659}
.btn-ghost{border-color:rgba(237,230,214,.55);color:var(--bone);background:rgba(14,23,18,.25)}
.btn-ghost:hover{border-color:var(--bone);background:rgba(14,23,18,.5)}
.light .btn-ghost{border-color:var(--cypress);color:var(--cypress);background:transparent}
.btn .n{font-family:var(--mono);font-weight:500;font-size:14px;letter-spacing:.02em}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* header */
.top{position:fixed;inset:0 0 auto;z-index:50;transition:background .25s ease,box-shadow .25s ease}
.top.solid{background:rgba(14,23,18,.94);box-shadow:0 1px 0 rgba(237,230,214,.08);backdrop-filter:blur(10px)}
.top .row{display:flex;align-items:center;gap:28px;height:76px}
.mark{font:800 22px/0.9 var(--display);text-transform:uppercase;letter-spacing:.01em;text-decoration:none;color:var(--bone);margin-right:auto}
.mark span{display:block;font:500 10px/1.4 var(--mono);letter-spacing:.14em;color:var(--defender)}
.nav{display:flex;gap:26px}
.nav a{text-decoration:none;font:600 15px/1 var(--text);padding:8px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--defender)}
.top .tel{font:500 14px/1 var(--mono);text-decoration:none;letter-spacing:.02em}
.top .btn{min-height:44px;padding:0 18px;font-size:15px}
.menu-btn{display:none;background:none;border:1px solid rgba(237,230,214,.4);color:var(--bone);border-radius:999px;min-height:44px;padding:0 16px;font:500 13px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.drawer{position:fixed;inset:0;z-index:60;background:var(--cypress);padding:96px 20px 32px;display:flex;flex-direction:column;gap:6px}
.drawer a.big{font:900 44px/1 var(--display);text-transform:uppercase;text-decoration:none;padding:10px 0;border-bottom:1px solid rgba(237,230,214,.12)}
.drawer .close{position:absolute;top:16px;right:20px}
.drawer .actions{margin-top:24px}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.hero .bg{position:absolute;inset:0}
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform-origin:50% 60%;filter:contrast(1.06) saturate(1.08)}
.js .hero .bg img{animation:drift 2.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes drift{from{transform:scale(1.03)}to{transform:scale(1)}}
.hero .bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(14,23,18,.86) 0%,rgba(14,23,18,.55) 38%,rgba(14,23,18,0) 68%),
  linear-gradient(0deg,rgba(14,23,18,.96) 0%,rgba(14,23,18,.4) 34%,rgba(14,23,18,0) 60%),
  linear-gradient(180deg,rgba(14,23,18,.6) 0%,rgba(14,23,18,0) 18%)}
.hero .inner{position:relative;z-index:2;width:100%;padding-top:140px;padding-bottom:96px}
.hero h1{max-width:9.5em}
.hero .lede{margin:28px 0 32px;max-width:40ch}
.hero .line{display:block;overflow:hidden;padding-bottom:.04em}
.hero .line>span{display:block}
.js .hero .line>span{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
.js .hero .line:nth-child(2)>span{animation-delay:.07s}
.js .hero .line:nth-child(3)>span{animation-delay:.14s}
.js .hero .line:nth-child(4)>span{animation-delay:.21s}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.dash-strip{position:relative;background:var(--moss-deep);border-bottom:1px solid rgba(237,230,214,.1)}
.dash-strip .wrap{display:flex;gap:40px;align-items:center;height:64px;overflow:hidden;white-space:nowrap}
.dash-strip .mono{color:var(--muted-bone)}
.dash-strip b{color:var(--defender);font-weight:500}
.dot{width:8px;height:8px;border-radius:50%;background:var(--defender);display:inline-block;margin-right:10px;box-shadow:0 0 0 4px rgba(242,194,48,.18)}

/* inner-page hero */
.phero{position:relative;min-height:78svh;display:flex;align-items:flex-end;overflow:hidden}
.phero .bg{position:absolute;inset:0}
.phero .bg img,.phero .bg canvas,.phero .bg svg{width:100%;height:100%;object-fit:cover;display:block}
.phero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,23,18,.95) 0%,rgba(14,23,18,.35) 45%,rgba(14,23,18,.15) 100%),linear-gradient(90deg,rgba(14,23,18,.7),rgba(14,23,18,0) 60%);pointer-events:none}
.phero .inner{position:relative;z-index:2;width:100%;padding-top:140px;padding-bottom:72px}
.phero .lede{margin-top:24px;max-width:44ch}

/* proof rail */
.proof{background:var(--defender);color:var(--cypress);overflow:hidden}
.proof ul{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;gap:32px}
.proof li{display:flex;align-items:center;gap:14px;min-height:84px;font:800 22px/1 var(--display);text-transform:uppercase;letter-spacing:.01em;white-space:nowrap}
.proof li small{font:500 11px/1.2 var(--mono);letter-spacing:.1em;display:block;opacity:.75;margin-top:4px}
.proof a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.proof .dup{display:none}

/* sections */
.band{padding:128px 0}
.band.tight{padding:96px 0}
.log-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:48px;align-items:end;margin-bottom:56px}
.log-head p{margin:0}
.rule{height:1px;background:currentColor;opacity:.16;margin:0 0 20px}

/* tachometer */
.tach{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}
.gauge{position:relative;aspect-ratio:1;max-width:520px;width:100%;margin:0 auto}
.gauge svg{width:100%;height:100%;overflow:visible}
.gauge .face{fill:var(--moss-deep)}
.gauge .needle{transform-origin:260px 260px;transition:transform .7s cubic-bezier(.34,1.45,.5,1)}
.gauge .readout{position:absolute;left:0;right:0;bottom:17%;text-align:center}
.gauge .price{font:900 88px/0.85 var(--display);font-variant-numeric:tabular-nums;color:var(--bone)}
.gauge .unit{font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-bone)}
.picker fieldset{border:0;margin:0 0 22px;padding:0}
.picker legend{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-bone);margin-bottom:10px;padding:0}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{position:relative;flex:1 1 0;min-width:0}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:flex;flex-direction:column;justify-content:center;min-height:52px;padding:8px 14px;border:1px solid rgba(237,230,214,.25);border-radius:10px;font:600 15px/1.15 var(--text);transition:background .15s,border-color .15s,color .15s;cursor:pointer}
.seg span small{font:500 11px/1.3 var(--mono);letter-spacing:.04em;color:var(--muted-bone);margin-top:3px}
.seg label:hover span{border-color:var(--bone)}
.seg input:checked+span{background:var(--defender);border-color:var(--defender);color:var(--cypress)}
.seg input:checked+span small{color:#3b3310}
.seg input:focus-visible+span{outline:3px solid var(--defender);outline-offset:3px}
.readline{border-top:1px solid rgba(237,230,214,.16);padding-top:20px;margin-top:8px}
.readline .what{font:800 28px/1 var(--display);text-transform:uppercase;margin:0 0 8px}
.readline p{color:var(--muted-bone);margin-bottom:6px;font-size:16px}
.readline .min{font:500 13px/1.4 var(--mono);color:var(--bone);letter-spacing:.02em}
.readline .actions{margin-top:18px}
.no-js-table{display:none}
html:not(.js) .tach{display:none}
html:not(.js) .no-js-table{display:block}

/* film */
.film{background:#070C09}
.film .frame{position:relative;aspect-ratio:21/9;border-radius:4px;overflow:hidden;background:var(--moss-deep)}
.film .facade{position:absolute;inset:0;width:100%;border:0;padding:0;cursor:pointer;background:var(--moss-deep);color:var(--bone)}
.film .facade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;filter:saturate(.9) brightness(.82);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.film .facade:hover img{transform:scale(1.02)}
.film .facade::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 50%,rgba(14,23,18,.12),rgba(14,23,18,.7) 78%)}
.film .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;z-index:2}
.film .play i{width:96px;height:96px;border-radius:50%;background:var(--defender);display:grid;place-items:center;transition:transform .2s}
.film .play i::after{content:"";border-left:26px solid var(--cypress);border-top:16px solid transparent;border-bottom:16px solid transparent;margin-left:7px}
.film .facade:hover .play i{transform:scale(1.07)}
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film .cap{display:flex;justify-content:space-between;gap:24px;margin-top:16px;color:var(--muted-bone)}

/* sunset run */
.run{position:relative;background:#120d14}
.run .stage{position:relative;overflow:hidden}
.run .stage::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,8,14,.62) 0%,rgba(8,8,14,.28) 45%,rgba(8,8,14,0) 65%)}
.run .overlay{position:relative;z-index:2}
.run .intro .actions{margin-top:22px}
.run canvas{display:block;width:100%;height:100%}
.run .steps{list-style:none;margin:0;padding:0}
.js-motion .run{height:280vh}
.js-motion .run .stage{position:sticky;top:0;height:100vh;height:100svh}
.js-motion .run .overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding-bottom:9vh;pointer-events:none}
.js-motion .run .overlay .wrap{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:48px;align-items:end}
.js-motion .run .glass{pointer-events:auto}
.run .glass{background:rgba(14,23,18,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(237,230,214,.14);border-radius:14px;padding:26px 28px}
.run .steps li{display:grid;grid-template-columns:44px 1fr;gap:6px 14px;padding:10px 0;opacity:.35;transition:opacity .35s}
.run .steps li.on{opacity:1}
.run .steps b{font:500 12px/1.6 var(--mono);color:var(--defender)}
.run .steps strong{font:800 24px/1 var(--display);text-transform:uppercase}
.run .steps span{grid-column:2;font-size:15px;color:var(--muted-bone)}
.run .clock{font:500 12px/1 var(--mono);letter-spacing:.08em;color:var(--muted-bone);margin-bottom:12px;display:flex;justify-content:space-between}
.run .clock b{color:var(--defender);font-weight:500}
.run h2{font-size:96px;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.run .tag{display:inline-block;background:var(--ember);color:var(--cypress);font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:999px;margin-bottom:18px}
/* static twin (no JS / reduced motion) */
html:not(.js-motion) .run .stage{background:linear-gradient(180deg,#f29a55 0%,#b4476a 32%,#3a2450 60%,#0b0f1d 100%)}
html:not(.js-motion) .run canvas{display:none}
html:not(.js-motion) .run .overlay{padding:120px 0}
html:not(.js-motion) .run .overlay .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:48px;align-items:end}
html:not(.js-motion) .run .steps li{opacity:1}

/* boats */
.boats{display:grid;grid-template-columns:1fr 1fr;background:var(--moss-deep)}
.boat{padding:96px var(--gut) 88px;border-right:1px solid rgba(237,230,214,.1);transition:background .3s;position:relative}
.boat:last-child{border-right:0}
.boat:hover,.boat:focus-within{background:#22362b}
.boat .num{font:900 200px/.8 var(--display);color:transparent;-webkit-text-stroke:2px var(--defender);display:block;margin-bottom:28px;transition:color .3s}
.boat .ph{margin:-96px calc(var(--gut) * -1) 44px;aspect-ratio:16/10;overflow:hidden;position:relative;background:#0a120d}
.boat .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.boat:hover .ph img,.boat:focus-within .ph img{transform:scale(1.035)}
.boat .ph figcaption{position:absolute;left:var(--gut);bottom:16px;font:500 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bone);background:rgba(14,23,18,.6);padding:6px 10px;border-radius:999px}
.boat .ph + .num{margin-top:-120px;position:relative;z-index:2;text-align:right}
.boat:hover .num,.boat:focus-within .num{color:var(--defender)}
.boat h3{margin-bottom:14px}
.boat ul{list-style:none;padding:0;margin:20px 0 28px;font:500 14px/1.5 var(--mono);color:var(--muted-bone)}
.boat ul li{padding:8px 0;border-top:1px solid rgba(237,230,214,.1)}
.boat ul b{color:var(--bone);font-weight:500}

/* captains timeline */
.timeline{list-style:none;margin:0;padding:0;border-top:1px solid rgba(14,23,18,.18)}
.timeline li{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1.1fr);gap:32px;padding:34px 0;border-bottom:1px solid rgba(14,23,18,.18)}
.timeline .yr{font:900 56px/.9 var(--display);color:var(--cypress)}
.timeline h3{font-size:30px}
.timeline p{margin:0;color:#3B3A34}
.reveal-row{clip-path:inset(0 0 0 0)}
.js-motion .reveal-row{clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.2,.8,.2,1)}
.js-motion .reveal-row.in{clip-path:inset(0 0 0 0)}
.quote{margin:72px 0 0;display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start}
.quote .q{font:900 160px/.7 var(--display);color:var(--defender);-webkit-text-stroke:2px var(--cypress)}
.quote blockquote{margin:0;font:800 48px/1 var(--display);text-transform:uppercase;max-width:22ch}
.quote figcaption{margin-top:18px;font:500 13px/1.5 var(--mono);letter-spacing:.04em;color:#4B4A43}

/* closing */
.closing{position:relative;min-height:88svh;display:flex;align-items:center;overflow:hidden}
.closing .bg{position:absolute;inset:0}
.closing .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.closing .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,23,18,.92) 0%,rgba(14,23,18,.6) 55%,rgba(14,23,18,.3) 100%)}
.closing .inner{position:relative;z-index:2;width:100%;padding:120px 0}
.closing h2{font-size:136px}
.closing .phones{display:flex;flex-wrap:wrap;gap:12px 40px;margin:28px 0 32px}
.closing .phones a{font:900 44px/1 var(--display);text-decoration:none;letter-spacing:.01em}
.closing .phones a:hover{color:var(--defender)}

/* footer */
.foot{background:#070C09;padding:96px 0 40px;color:var(--muted-bone)}
.foot .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.foot h4{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--defender);margin:0 0 16px}
.foot a{text-decoration:none;color:var(--bone)}
.foot a:hover{color:var(--defender)}
.foot ul{list-style:none;margin:0;padding:0;line-height:2}
.foot .big{font:900 64px/.85 var(--display);text-transform:uppercase;color:var(--bone);margin:0 0 20px}
.foot .base{display:flex;justify-content:space-between;gap:20px;margin-top:72px;padding-top:24px;border-top:1px solid rgba(237,230,214,.1);font:500 12px/1.5 var(--mono);letter-spacing:.04em}

/* sticky call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;gap:10px;padding:10px 14px calc(10px + max(env(safe-area-inset-bottom), var(--note, 0px)));background:rgba(14,23,18,.94);backdrop-filter:blur(10px);border-top:1px solid rgba(237,230,214,.12);transform:translateY(110%);transition:transform .3s ease}
.callbar.show{transform:none}
.callbar .btn{flex:1;min-height:50px;padding:0 12px}

/* tours page */
.table-wrap{overflow-x:auto;border-radius:12px;border:1px solid rgba(237,230,214,.14)}
table.prices{width:100%;border-collapse:collapse;min-width:640px;font-variant-numeric:tabular-nums}
.prices th,.prices td{padding:18px 20px;text-align:left;border-bottom:1px solid rgba(237,230,214,.1)}
.prices thead th{font:500 12px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-bone);background:var(--moss-deep)}
.prices tbody th{font:800 22px/1.05 var(--display);text-transform:uppercase}
.prices tbody th small{display:block;font:500 11px/1.4 var(--mono);letter-spacing:.06em;color:var(--muted-bone);text-transform:uppercase;margin-top:4px}
.prices td{font:900 34px/1 var(--display)}
.prices td.min{font:500 13px/1.45 var(--mono);color:var(--muted-bone)}
.prices tr:last-child>*{border-bottom:0}
.lengths{list-style:none;margin:0;padding:0;counter-reset:l}
.lengths li{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:baseline;padding:40px 0;border-top:1px solid rgba(14,23,18,.18)}
.lengths .k{font:900 88px/.8 var(--display);color:var(--cypress)}
.lengths h3{font-size:44px}
.lengths p{margin:0;color:#3B3A34}
.policies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.policies h3{font-size:28px;margin-bottom:12px;color:var(--defender)}
.policies ul{margin:0;padding-left:18px;color:var(--muted-bone)}
.policies li{margin-bottom:8px}

/* captains page */
.crew{list-style:none;margin:0;padding:0}
.crew li{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(0,1fr);gap:40px;padding:56px 0;border-top:1px solid rgba(14,23,18,.18);align-items:start}
.crew li:nth-child(even) .who{order:3}
.crew .idx{font:500 13px/1 var(--mono);letter-spacing:.08em;color:#4c3b08;padding-top:10px}
.crew h3{font-size:56px}
.crew .role{font:500 13px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#4B4A43;margin-top:12px}
.crew p{color:#3B3A34;margin:0}
.bigline{font:900 88px/.9 var(--display);text-transform:uppercase;max-width:14ch;margin:0}

/* plan page */
.map svg{display:block;width:100%;height:100%}
.map .bg{background:var(--cypress)}
.phero.map .bg svg{position:absolute;top:0;right:0;width:64%;height:100%}
.phero.map .bg::after{background:linear-gradient(90deg,rgba(14,23,18,.9) 0%,rgba(14,23,18,.5) 34%,rgba(14,23,18,0) 50%)}
@media (max-width:860px){.phero.map .bg svg{width:118%;left:-4%;right:auto;top:70px;height:230px}.phero.map .inner{padding-top:300px}.phero.map .bg::after{background:linear-gradient(0deg,rgba(14,23,18,.97) 0%,rgba(14,23,18,.6) 55%,rgba(14,23,18,.2) 100%)}}
.map .route{fill:none;stroke:var(--defender);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.js-motion .map .route{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw 2.6s .4s cubic-bezier(.5,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.facts h3{font-size:30px;margin-bottom:14px}
.facts p,.facts li{color:var(--muted-bone)}
.facts ul{padding-left:18px;margin:0}
.facts li{margin-bottom:6px}
.faq details{border-top:1px solid rgba(14,23,18,.18);padding:0}
.faq details:last-child{border-bottom:1px solid rgba(14,23,18,.18)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:26px 0;font:800 30px/1 var(--display);text-transform:uppercase}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 28px/1 var(--mono);color:#4c3b08;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:24px;margin:0;color:#3B3A34}
.addr{font:900 64px/.9 var(--display);text-transform:uppercase;margin:0 0 20px}

@media (max-width:1100px){
  :root{--gut:40px}
  h1{font-size:88px}
  .nav{gap:18px}
  .top .tel{display:none}
  .proof li{font-size:18px}
  .foot .grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  :root{--gut:20px}
  body{font-size:16px;line-height:1.5}
  h1{font-size:52px}
  h2{font-size:36px}
  h3{font-size:24px}
  .lede{font-size:17px}
  .nav,.top .row>.btn{display:none}
  .menu-btn{display:inline-flex;align-items:center}
  .top .row{height:64px;gap:10px}
  .top .call-sm{display:inline-flex;min-height:44px;padding:0 16px;font-size:14px}
  .mark{font-size:18px}
  .band{padding:80px 0}
  .band.tight{padding:64px 0}
  .hero .inner{padding-top:96px;padding-bottom:92px}
  .hero .lede{margin:18px 0 22px}
  .hero .bg img{object-position:36% 50%}
  .hero .bg::after{background:linear-gradient(0deg,rgba(14,23,18,.97) 0%,rgba(14,23,18,.78) 42%,rgba(14,23,18,.1) 72%),linear-gradient(180deg,rgba(14,23,18,.6) 0%,rgba(14,23,18,0) 20%)}
  .hero .actions .btn{flex:1 1 100%}
  .dash-strip .wrap{height:48px;gap:22px}
  .dash-strip .mono{font-size:11px}
  .dash-strip .hide-sm{display:none}
  .phero{min-height:64svh}
  .phero .inner{padding-top:100px;padding-bottom:48px}
  .proof ul{justify-content:flex-start;width:max-content;animation:marquee 38s linear infinite}
  .proof .dup{display:flex}
  .proof.paused ul{animation-play-state:paused}
  .proof li{min-height:64px;font-size:18px;padding-right:12px}
  .log-head{grid-template-columns:1fr;gap:16px;margin-bottom:36px}
  .tach{grid-template-columns:1fr;gap:28px}
  .gauge{max-width:300px}
  .gauge .price{font-size:60px}
  .seg label{flex:1 1 calc(50% - 8px)}
  .film .frame{aspect-ratio:16/9}
  .film .play i{width:72px;height:72px}
  .film .cap{flex-direction:column;gap:6px}
  .js-motion .run{height:200vh}
  .js-motion .run .overlay{padding-bottom:calc(20px + var(--bar))}
  .js-motion .run .overlay .wrap,html:not(.js-motion) .run .overlay .wrap{grid-template-columns:1fr;gap:16px}
  .run h2{font-size:48px}
  .run .glass{padding:16px 18px}
  .run .steps li{padding:5px 0;grid-template-columns:34px 1fr}
  .run .steps strong{font-size:19px}
  .run .steps span{font-size:13px}
  .js-motion .run .steps li:not(.on) span{display:none}
  .run .intro .lede{display:none}
  .boats{grid-template-columns:1fr}
  .boat{padding:64px var(--gut);border-right:0;border-bottom:1px solid rgba(237,230,214,.1)}
  .boat .num{font-size:150px}
  .timeline li{grid-template-columns:1fr;gap:10px;padding:26px 0}
  .timeline .yr{font-size:44px}
  .quote{grid-template-columns:1fr;gap:0}
  .quote .q{font-size:110px;height:60px}
  .quote blockquote{font-size:32px}
  .closing h2{font-size:64px}
  .closing .phones a{font-size:34px}
  .foot .grid{grid-template-columns:1fr}
  .foot .big{font-size:48px}
  .foot .base{flex-direction:column}
  .callbar{display:flex}
  .lengths li{grid-template-columns:1fr;gap:8px;padding:28px 0}
  .lengths .k{font-size:64px}
  .lengths h3{font-size:32px}
  .policies,.facts{grid-template-columns:1fr;gap:32px}
  .crew li{grid-template-columns:1fr;gap:12px;padding:36px 0}
  .crew li:nth-child(even) .who{order:0}
  .crew h3{font-size:40px}
  .bigline{font-size:48px}
  .faq summary{font-size:22px}
  .addr{font-size:40px}
  .prices td{font-size:28px}
}
@media (max-width:360px){
  h1{font-size:44px}
  .closing h2{font-size:54px}
  .gauge .price{font-size:52px}
  .mark{font-size:16px}
}
.call-sm{display:none}
@keyframes marquee{to{transform:translateX(-50%)}}

/* photography pass, 2026-09-29 */
.crew li.has-ph{grid-template-columns:100px minmax(0,1fr) minmax(0,1fr) 200px}
.crew .ph{order:4;margin:0;aspect-ratio:3/4;overflow:hidden;background:#1B2A22}
.film .frame{border-radius:0}
.timeline .who{display:flex;align-items:center;gap:20px}
.timeline .face{display:block;width:72px;height:96px;flex:none;overflow:hidden;background:#1B2A22}
.timeline .face img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.17);transform-origin:50% 48%}
.foot .big{font-size:52px}
.crew .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.17);transform-origin:50% 48%}
.light.band.crew-band{padding-bottom:88px}

.pband{position:relative;margin:0;height:78svh;min-height:520px;overflow:hidden;background:#0a120d}
.pband img{width:100%;height:100%;object-fit:cover}
.pband::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,23,18,.7) 0%,rgba(14,23,18,0) 38%);pointer-events:none}
.pband figcaption{position:absolute;left:0;right:0;bottom:28px;z-index:2}
.pband figcaption .wrap{display:flex;justify-content:space-between;gap:24px;font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bone)}
.js-motion .pband img{transform:scale(1.06);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.js-motion .pband.in img{transform:none}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:640px}
.split .txt{padding:128px var(--gut) 112px max(var(--gut),calc((100vw - var(--max)) / 2));display:flex;flex-direction:column;justify-content:center}
.split .txt .lede{margin-top:28px}
.split figure{margin:0;position:relative;overflow:hidden}
.split figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.wild{display:grid;grid-template-columns:2fr 1fr 1fr;gap:6px;height:min(78svh,720px);background:var(--cypress)}
.wild figure{margin:0;position:relative;overflow:hidden}
.wild img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.wild figure:hover img{transform:scale(1.03)}
.wild figcaption{position:absolute;left:16px;bottom:16px;font:500 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bone);background:rgba(14,23,18,.6);padding:6px 10px;border-radius:999px}
.band.tight.wild-head{padding-bottom:56px}

@media (max-width:860px){
  .crew li.has-ph{grid-template-columns:1fr}
  .crew .ph{order:0;max-width:240px;aspect-ratio:4/5}
  .light.band.crew-band{padding-bottom:56px}
  .pband{height:56svh;min-height:340px}
  .pband figcaption .wrap{flex-direction:column;gap:4px;font-size:11px}
  .split{grid-template-columns:1fr;min-height:0}
  .split .txt{padding:72px var(--gut) 40px}
  .split figure{aspect-ratio:4/3}
  .wild{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto}
  .wild figure:first-child{grid-column:1 / -1;aspect-ratio:4/3}
  .wild figure:not(:first-child){aspect-ratio:3/4}
  .band.tight.wild-head{padding-bottom:36px}
  .boat .ph{margin:-64px calc(var(--gut) * -1) 32px}
  .boat .ph + .num{margin-top:-96px}
  .foot .big{font-size:44px}
}
/* bar pass 2, 2026-09-30 */
.hero .bg img{object-position:50% 56%;filter:contrast(1.04) saturate(1.05)}
.film .frame{border-radius:0}
.film .cap{margin-top:18px;padding-top:14px;border-top:1px solid rgba(237,230,214,.16)}
.wild-label{display:flex;justify-content:space-between;gap:24px;max-width:none;margin:0;padding:14px 0;border-top:1px solid rgba(237,230,214,.16);color:var(--muted-bone)}
.wild{grid-template-columns:2.6fr 1fr 1fr;gap:1px;height:min(70svh,640px);background:rgba(237,230,214,.22);border-block:1px solid rgba(237,230,214,.22)}
.map .map-sm{display:none}
@media (min-width:861px){
  .run .stage::before{background:linear-gradient(90deg,rgba(8,8,14,.62) 0%,rgba(8,8,14,.28) 45%,rgba(8,8,14,0) 65%),linear-gradient(270deg,rgba(8,8,14,.45) 0%,rgba(8,8,14,0) 38%)}
  .run .glass{background:none;border:0;border-radius:0;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none;text-shadow:0 1px 14px rgba(4,6,5,.75)}
  .run .clock{margin-bottom:14px;color:var(--bone)}
  .run .steps li{padding:14px 0;border-top:1px solid rgba(237,230,214,.24);opacity:.7}
  .run .steps li:last-child{border-bottom:1px solid rgba(237,230,214,.24)}
  .run .steps li.on span{color:var(--bone)}
}
@media (max-width:860px){
  .hero .bg img{object-position:66% 50%}
  .wild{grid-template-columns:1fr 1fr;height:auto}
  .wild-label{flex-direction:column;gap:4px;font-size:11px}
  .timeline .who{flex-direction:column;align-items:stretch;gap:14px}
  .timeline .face{width:100%;height:auto;aspect-ratio:4/5}
  .crew .ph{order:-1;max-width:none;width:100%}
  .crew .ph img,.timeline .face img{transform:scale(1.27)}
  .phero.map .bg .map-lg{display:none}
  .phero.map .bg .map-sm{display:block;position:absolute;left:0;right:auto;top:64px;width:100%;height:auto}
  .phero.map .bg::after{background:none}
  .phero.map .inner{padding-top:calc(64px + 82vw + 20px)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .proof ul{width:auto!important;flex-wrap:wrap;gap:0 24px!important}
  .proof .dup{display:none!important}
}
