/* Freeman Boatworks — inner pages. Builds on the tokens and components in styles.css. */

/* ---------- shared bits ---------- */
.btn--line{border:1px solid var(--line);color:inherit}
.btn--line:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.fleet .btn--line,.family .btn--line{border-color:var(--line-dark)}
.btn--ghost{border:1px solid rgba(236,232,223,.4);color:var(--bone);backdrop-filter:blur(6px)}
.btn--ghost:hover{background:var(--bone);color:var(--ink)}
.tlink{display:inline-flex;gap:8px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teak)}
.tlink:hover{color:var(--bone)}
.flag{display:inline-block;padding:6px 12px;border:1px solid var(--teak);color:var(--teak);border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.flag--sig{border-color:var(--bone-2);color:var(--bone-2)}
.kicker a{color:var(--bone-2);border-bottom:1px solid var(--line)}
.kicker a:hover{color:var(--teak)}
.kicker>*+*::before,.hero__kicker span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--teak);opacity:.9;vertical-align:middle;margin:-2px 1.4em 0 0}
.kicker{align-items:center}
.display .serif{display:inline-block}

/* ---------- nav: mega menu + active state ---------- */
.nav__links a[aria-current]{opacity:1}
.nav__links a[aria-current]::after{transform:scaleX(1)}
.nav__mega-btn{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.8;display:inline-flex;gap:8px;align-items:center;padding:0}
.nav__mega-btn i{font-style:normal;transition:transform .4s var(--ease)}
.nav__mega-btn[aria-expanded=true],.nav__mega-btn:hover,.nav__mega-btn.is-active{opacity:1}
.nav__mega-btn[aria-expanded=true] i{transform:rotate(45deg)}
.mega{position:absolute;left:0;right:0;top:100%;background:rgba(7,10,13,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px var(--gut) 24px}
.mega[hidden]{display:none}
.mega__grid{display:grid;grid-template-columns:repeat(9,1fr);gap:10px}
.mega__item{display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:6px;transition:background .3s}
.mega__item:hover{background:rgba(236,232,223,.06)}
.mega__img{aspect-ratio:4/3;overflow:hidden;border-radius:4px}
.mega__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mega__item:hover .mega__img img{transform:scale(1.06)}
.mega__item--sig .mega__img img{filter:grayscale(1)}
.mega__badge{height:26px;width:auto;object-fit:contain;object-position:left}
.mega__item small{font-size:11px;color:var(--mute);letter-spacing:.06em}
.mega__foot{display:flex;gap:28px;justify-content:flex-end;margin-top:18px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.mega__foot a{color:var(--teak)}
.mega__foot a:hover{color:var(--bone)}
body.is-page .nav{background:linear-gradient(to bottom,rgba(7,10,13,.6),transparent)}
body.is-page .nav.is-solid{background:rgba(7,10,13,.82)}
.yr{font:inherit}

/* ---------- page hero ---------- */
.phero{position:relative;min-height:88vh;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.phero--short{min-height:64vh;min-height:64svh}
.phero__media{position:absolute;inset:0;z-index:-2}
.phero__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.phero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,10,13,.95) 0%,rgba(7,10,13,.3) 55%,rgba(7,10,13,.5) 100%),linear-gradient(to right,rgba(7,10,13,.5),transparent 60%)}
.phero__content{padding:140px var(--gut) clamp(48px,8vh,96px);display:grid;gap:22px;max-width:1500px}
.phero__kicker{color:var(--bone-2)}
.phero__title{margin:0;font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(60px,min(10.5vw,15vh),200px);line-height:.84;letter-spacing:-.015em}
.phero__title .serif{font-size:1.04em;color:var(--teak)}
.phero__sub{max-width:560px;margin:0;font-size:clamp(17px,1.4vw,20px);color:var(--bone-2)}
.phero__sub a{color:var(--teak)}
.phero__content .btn{justify-self:start}

/* jump nav */
.jump{position:sticky;top:72px;z-index:30;display:flex;gap:6px;overflow-x:auto;padding:14px var(--gut);background:rgba(7,10,13,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);scrollbar-width:none}
.jump::-webkit-scrollbar{display:none}
.jump a{flex:0 0 auto;padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-weight:700;font-size:13px;white-space:nowrap;transition:background .25s,color .25s}
.jump a:hover,.jump a.is-on{background:var(--bone);color:var(--ink)}


/* ---------- fleet index ---------- */
.fleetlist{padding:clamp(40px,6vw,100px) var(--gut);display:grid;gap:clamp(60px,9vw,140px)}
.frow{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.frow--flip{grid-template-columns:1fr 1.5fr}
.frow--flip .frow__img{order:2}
.frow__img{position:relative;overflow:hidden;aspect-ratio:16/10;display:block}
.frow__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.frow__img:hover img{transform:scale(1.04)}
.frow__num{position:absolute;right:16px;bottom:-.14em;font-weight:900;font-variation-settings:"wdth" 62;font-size:clamp(100px,14vw,240px);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(236,232,223,.7)}
.frow--sig .frow__img img{filter:grayscale(1) contrast(1.1)}
.frow__body{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.frow__badge{width:min(280px,80%);height:auto}
.frow--sig .frow__badge{width:200px}
.frow h2{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(30px,3vw,48px);line-height:1}
.frow p{margin:0;color:var(--bone-2);max-width:420px}
.frow__stats{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:440px;margin:0;border-top:1px solid var(--line)}
.frow__stats div{padding:12px 0;border-bottom:1px solid var(--line)}
.frow__stats dt{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);font-weight:600}
.frow__stats dd{margin:0;font-weight:800;font-variation-settings:"wdth" 75;font-size:20px}
.frow__links{display:flex;gap:22px;align-items:center;flex-wrap:wrap}

.compare{background:var(--bone);color:var(--ink);padding:clamp(80px,10vw,150px) 0}
.compare .chapter-tag{color:#5c6266}
.compare__head{padding:0 var(--gut) 40px;display:grid;gap:24px}
.compare__hint{display:none;margin:0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.compare__scroll{overflow-x:auto;padding:0 var(--gut);scrollbar-width:thin}
.compare table{border-collapse:collapse;width:100%;min-width:1100px}
.compare th,.compare td{padding:16px 12px;border-bottom:1px solid var(--line-dark);text-align:left;white-space:nowrap}
.compare thead th{background:var(--ink);padding:18px 12px}
.compare thead th:first-child{background:transparent}
.compare thead img{height:22px;width:auto}
.compare tbody th{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#5c6266;font-weight:700;position:sticky;left:0;background:var(--bone)}
.compare td{font-weight:800;font-variation-settings:"wdth" 80;font-size:17px}
.compare tbody tr:hover td{background:rgba(7,10,13,.04)}
.compare__note{padding:20px var(--gut) 0;margin:0;font-size:13px;color:var(--mute)}

/* ---------- CTA band ---------- */
.band{position:relative;overflow:hidden;isolation:isolate;min-height:80vh;display:flex;align-items:center}
.band__media{position:absolute;inset:0;z-index:-1}
.band__media img{width:100%;height:120%;object-fit:cover;filter:brightness(.45)}
.band__inner{padding:120px var(--gut);display:grid;gap:24px;justify-items:start}
.band__inner p{margin:0;font-size:19px;max-width:440px;color:var(--bone-2)}

/* ---------- model page ---------- */
.mhero{position:relative;height:100vh;height:100svh;min-height:680px;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end}
.mhero__media{position:absolute;inset:0;z-index:-3}
.mhero__media img{width:100%;height:100%;object-fit:cover}
.mhero__shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(to top,rgba(7,10,13,.95) 5%,rgba(7,10,13,.15) 55%,rgba(7,10,13,.5)),linear-gradient(to right,rgba(7,10,13,.55),transparent 65%)}
.mhero__num{position:absolute;z-index:-1;right:-.04em;bottom:-.16em;font-weight:900;font-variation-settings:"wdth" 62;font-size:min(46vw,72vh);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(236,232,223,.5);pointer-events:none}
.mhero--sig .mhero__media img{filter:grayscale(1) contrast(1.1)}
.mhero__content{padding:0 var(--gut) clamp(48px,9vh,110px);display:grid;gap:24px;max-width:960px}
.mhero__badge{width:min(420px,70vw);height:auto}
.mhero__badge--sig{width:min(360px,64vw)}
.mhero__title{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(40px,5.4vw,92px);line-height:.98;letter-spacing:-.01em}
.mhero__ctas{display:flex;gap:12px;flex-wrap:wrap}
.mstats{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}
.mstat{padding:clamp(24px,3vw,44px) var(--gut);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.mstat:last-child{border-right:0}
.mstat b{font-weight:850;font-variation-settings:"wdth" 62;font-size:clamp(34px,3.6vw,64px);line-height:.95}
.mstat span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);font-weight:600}
.mintro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,110px);padding:clamp(90px,12vw,180px) var(--gut);align-items:center}
.mintro__text{display:grid;gap:36px;justify-items:start}
.mintro__text .big-copy{margin:0;font-size:clamp(22px,2.2vw,34px)}
.mintro__img{aspect-ratio:4/5;overflow:hidden}
.mintro__img img{width:100%;height:100%;object-fit:cover}
.mride{position:relative;height:110vh;overflow:hidden;display:flex;align-items:center}
.mride__media{position:absolute;inset:0}
.mride__media img{width:100%;height:120%;object-fit:cover;filter:brightness(.62)}
.mride__line{position:relative;margin:0;padding:0 var(--gut);font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(64px,10vw,190px);line-height:.84}
.mride__line .serif{color:var(--teak);text-transform:none;font-weight:400;font-size:1.04em}

.specs{padding:clamp(90px,12vw,170px) var(--gut);background:var(--ink-2)}
.specs__head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:56px}
.specs__head .chapter-tag{grid-column:1/-1}
.specs__grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:28px 48px;align-items:start}
.spec{border-top:1px solid var(--line)}
.spec summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:18px 0;cursor:pointer;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:700}
.spec summary::-webkit-details-marker{display:none}
.spec summary i{font-style:normal;color:var(--mute);font-weight:500;letter-spacing:.1em}
.spec ul{list-style:none;margin:0;padding:0 0 12px}
.spec li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--bone-2)}
.spec li small{display:block;color:var(--mute);font-size:13px;margin-top:2px}
.spec--table li b{font-weight:800;font-variation-settings:"wdth" 80;color:var(--bone);font-size:17px;white-space:nowrap}
.spec--table{grid-row:span 3}

.gal{padding:clamp(90px,12vw,170px) var(--gut)}
.gal__head{display:grid;gap:24px;margin-bottom:48px}
.gal__head p{margin:0;color:var(--mute)}
.gal__head a{color:var(--teak)}
.gal__group{margin:48px 0 18px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--teak)}
.masonry{columns:3 280px;column-gap:10px}
.masonry--more{margin-top:10px}
.gi{break-inside:avoid;margin:0 0 10px;position:relative;overflow:hidden}
.gi a{display:block;cursor:zoom-in}
.gi img{width:100%;height:auto;transition:transform 1s var(--ease),filter .4s}
.gi:hover img{transform:scale(1.03)}
.gi figcaption{position:absolute;left:10px;bottom:10px;right:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:6px 10px;background:rgba(7,10,13,.66);backdrop-filter:blur(6px);width:fit-content;max-width:calc(100% - 20px)}
.js-more{margin-top:28px}
.mhero--sig~.gal .gi img{filter:none}

.mopts{padding:clamp(80px,10vw,140px) 0;background:var(--ink-2)}
.mopts__head{padding:0 var(--gut);display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;margin-bottom:36px}
.mopts__head .kicker{grid-column:1/-1}
.strip{display:flex;gap:10px;overflow-x:auto;padding:0 var(--gut) 12px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.strip__item{flex:0 0 clamp(240px,26vw,420px);margin:0;scroll-snap-align:start}
.strip__item img{aspect-ratio:4/3;object-fit:cover;width:100%}

.minq{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,120px);padding:clamp(90px,12vw,170px) var(--gut);background:var(--ink)}
.minq__info{display:grid;gap:30px;align-content:start}
.minq__info .big-copy{margin:0}
.minq__info>p{margin:0;color:var(--bone-2)}
.minq__info a{color:var(--teak)}
.minq--dark{background:#000}

.team__list{list-style:none;margin:0;padding:0}
.team__list li{display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.team__list img{width:48px;height:48px;border-radius:50%;object-fit:cover;filter:grayscale(.2)}
.team__list b{display:block;font-size:15px}
.team__list span{font-size:13px;color:var(--mute)}
.team__list a{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teak)}

.mnext{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line)}
.mnext a{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:clamp(40px,6vw,90px) var(--gut);min-height:300px;position:relative;overflow:hidden;isolation:isolate}
.mnext small{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);font-weight:700}
.mnext span{font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(40px,6vw,104px);line-height:.85}
.mnext__prev{border-right:1px solid var(--line)}
.mnext__prev span{font-size:clamp(28px,3vw,52px);color:var(--bone-2)}
.mnext__next::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg) center/cover;filter:brightness(.45);transform:scale(1.05);transition:transform 1.4s var(--ease),filter .6s}
.mnext__next:hover::before{transform:scale(1);filter:brightness(.6)}

/* ---------- signature ---------- */
.sighero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;isolation:isolate;background:#000}
.sighero__media{position:absolute;inset:0;z-index:-1;opacity:.5}
.sighero__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.2)}
.sighero__inner{padding:140px var(--gut) 100px;display:grid;gap:28px;justify-items:center}
.sighero__script{width:min(880px,88vw);height:auto}
.sighero__line{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.6vw,40px)}
.sigstory{background:#000;padding:clamp(90px,12vw,180px) var(--gut);display:grid;gap:48px}
.sigstory .chapter-tag::after{display:none}
.sigstory__lede{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(36px,4.8vw,84px);line-height:1.02;max-width:1300px}
.sigstory__cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1100px;color:var(--bone-2);font-size:18px}
.sigstory__cols p{margin:0}
.sigfacts{display:grid;grid-template-columns:repeat(5,1fr);background:#000;border-block:1px solid var(--line)}
.sigfacts div{padding:40px var(--gut);border-right:1px solid var(--line);display:grid;gap:6px}
.sigfacts div:last-child{border-right:0}
.sigfacts b{font-weight:850;font-variation-settings:"wdth" 62;font-size:clamp(30px,3.4vw,58px);line-height:1}
.sigfacts span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);font-weight:600}
.sigmosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(90px,9vw,150px);gap:6px;background:#000;padding:6px}
.sigmosaic .gi{margin:0;height:100%}
.sigmosaic .gi a,.sigmosaic .gi img{height:100%;width:100%;object-fit:cover}
.sm0{grid-column:1/8;grid-row:1/5}.sm1{grid-column:8/13;grid-row:1/3}.sm2{grid-column:8/13;grid-row:3/5}
.sm3{grid-column:1/5;grid-row:5/8}.sm4{grid-column:5/9;grid-row:5/8}.sm5{grid-column:9/13;grid-row:5/8}
.sm6{grid-column:1/6;grid-row:8/11}.sm7{grid-column:6/13;grid-row:8/11}
.sigliving{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(40px,7vw,120px);padding:clamp(90px,12vw,170px) var(--gut);background:#000}
.sigliving .chapter-tag::after{display:none}
.sigliving>div{display:grid;gap:28px;align-content:start}
.sigliving__list{list-style:none;margin:0;padding:0}
.sigliving__list li{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.sigliving__list b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:26px;line-height:1.1}
.sigliving__list span{color:var(--bone-2)}

/* ---------- story ---------- */
.manifesto{padding:clamp(100px,13vw,200px) var(--gut);display:grid;gap:40px;justify-items:start}
.manifesto__text{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(38px,5.4vw,96px);line-height:1.02;max-width:1400px}
.manifesto__text em{color:var(--teak)}
.manifesto__sub{margin:0;font-size:19px;max-width:620px;color:var(--bone-2)}
.timeline{padding:0 var(--gut) clamp(90px,12vw,170px)}
.timeline__head{display:grid;gap:24px;margin-bottom:56px}
.timeline__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.timeline__list li{display:grid;grid-template-columns:minmax(160px,1fr) 2fr 1.2fr;gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(28px,4vw,56px) 0;border-bottom:1px solid var(--line)}
.timeline__when{font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(48px,6vw,110px);line-height:.85;color:transparent;-webkit-text-stroke:1.5px var(--teak)}
.timeline__list h3{margin:0 0 10px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(28px,2.6vw,42px)}
.timeline__list p{margin:0;color:var(--bone-2);max-width:560px}
.timeline__list img{aspect-ratio:4/3;object-fit:cover;width:100%}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.pillar{padding:clamp(32px,4vw,64px) var(--gut);border-right:1px solid var(--line);display:grid;gap:14px;align-content:start}
.pillar:last-child{border-right:0}
.pillar span{font-family:var(--serif);font-style:italic;color:var(--teak);font-size:22px}
.pillar h3{margin:0;font-weight:850;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(30px,2.6vw,44px);line-height:.9}
.pillar p{margin:0;color:var(--bone-2)}
.family--page .fishbox{grid-auto-rows:200px}
.f9{grid-row:span 2}
.charters{background:var(--ink);color:var(--bone);display:block;padding:clamp(90px,12vw,170px) var(--gut)}
.charters__intro{display:grid;gap:24px;margin-bottom:48px;max-width:760px}
.charters__intro p{margin:0;color:var(--bone-2);font-size:18px}
.charter-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:40px}
.ccard{display:flex;flex-direction:column;background:var(--ink-3);overflow:hidden;transition:transform .5s var(--ease)}
.ccard:hover{transform:translateY(-4px)}
.ccard img{aspect-ratio:4/3;object-fit:cover;width:100%}
.ccard div{padding:22px;display:grid;gap:10px}
.ccard small{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--teak);font-weight:700}
.ccard h3{margin:0;font-size:22px;font-weight:800;font-variation-settings:"wdth" 80;line-height:1.1}
.ccard p{margin:0;color:var(--bone-2);font-size:14px}
.ccard span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--bone)}

/* ---------- events ---------- */
.events{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(40px,7vw,120px);padding:clamp(90px,12vw,170px) var(--gut)}
.events__upcoming{display:grid;gap:28px;align-content:start}
.events__upcoming .big-copy{margin:0}
.events__ctas{display:flex;gap:12px;flex-wrap:wrap}
.events__past{display:grid;gap:18px;align-content:start}
.ecard{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:28px;background:var(--ink-3)}
.ecard__date b{display:block;font-weight:900;font-variation-settings:"wdth" 62;font-size:44px;line-height:.9;text-transform:uppercase}
.ecard__date span{font-size:12px;color:var(--mute)}
.ecard__body{display:grid;gap:10px;justify-items:start}
.ecard h3{margin:0;font-size:22px;font-weight:800;font-variation-settings:"wdth" 80;line-height:1.15}
.ecard p{margin:0;color:var(--bone-2)}
.ecard__models a{color:var(--teak);font-weight:700}

/* ---------- contact ---------- */
.chero{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,5vw,80px);padding:150px var(--gut) clamp(60px,6vw,100px);align-items:end;background:var(--ink-2)}
.chero__text{display:grid;gap:28px}
.chero__text .contact__title{margin:0}
.chero__text .big-copy{margin:0;max-width:640px}
.chero__img{aspect-ratio:4/5;overflow:hidden}
.chero__img img{width:100%;height:100%;object-fit:cover}
.contact--page{padding-top:clamp(60px,6vw,100px)}
.contact--page .contact__grid{margin-top:0}
.contact__list--small a{font-size:17px}
.map{position:relative;height:70vh;min-height:480px;background:var(--ink-3)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) contrast(.9) hue-rotate(180deg)}
.map__card{position:absolute;left:var(--gut);bottom:var(--gut);background:var(--ink);padding:28px;display:grid;gap:16px;max-width:340px;justify-items:start}
.map__card img{width:200px;opacity:.8}
.map__card p{margin:0;color:var(--bone-2)}
.map__card b{display:block;color:var(--bone);font-size:18px;margin-bottom:4px}
.quick{display:grid;gap:10px}
.quick a{display:grid;gap:4px;padding:18px 20px;background:var(--ink-3);transition:background .3s}
.quick a:hover{background:#1b252e}
.quick b{color:var(--bone)}
.quick span{color:var(--mute);font-size:14px}

/* ---------- owners portal ---------- */
.portal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:clamp(80px,10vw,140px) var(--gut)}
.ptile{position:relative;display:flex;flex-direction:column;background:var(--ink-3);overflow:hidden;min-height:440px;isolation:isolate}
.ptile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.4s var(--ease)}
.ptile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,10,13,.95) 30%,rgba(7,10,13,.25))}
.ptile:hover img{transform:scale(1.05)}
.ptile div{margin-top:auto;padding:28px;display:grid;gap:10px}
.ptile small{font-family:var(--serif);font-style:italic;color:var(--teak);font-size:18px}
.ptile h3{margin:0;font-weight:850;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(32px,2.8vw,48px);line-height:.9}
.ptile p{margin:0;color:var(--bone-2);font-size:15px}
.ptile span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-top:6px}

.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 18px;padding:clamp(80px,10vw,140px) var(--gut)}
.video{display:grid;gap:10px;align-content:start}
.video__play{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ink-3);margin-bottom:8px}
.video__play img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .4s;filter:brightness(.8)}
.video__play:hover img{transform:scale(1.04);filter:brightness(1)}
.video__play i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:var(--bone);color:var(--ink);display:grid;place-items:center;font-style:normal;font-size:20px;padding-left:4px}
.video small{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--teak);font-weight:700}
.video h3{margin:0;font-weight:850;font-variation-settings:"wdth" 70;text-transform:uppercase;font-size:26px;line-height:1}
.video p{margin:0;color:var(--bone-2);font-size:15px}
.vmodal{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:20px}
.vmodal[hidden]{display:none}
.vmodal__frame{width:min(1200px,100%);aspect-ratio:16/9}
.vmodal__frame iframe{width:100%;height:100%;border:0}
.vmodal__close{position:absolute;top:16px;right:20px;font-size:40px;line-height:1;width:56px;height:56px}

/* ---------- build / spec ---------- */
.portal--3 .ptile{min-height:520px}
.colorset,.optset{padding:clamp(56px,6vw,96px) 0;border-bottom:1px solid var(--line)}
.colorset__head{display:flex;align-items:baseline;gap:20px;padding:0 var(--gut);margin-bottom:24px}
.colorset__n{font-family:var(--serif);font-style:italic;color:var(--teak);font-size:22px}
.colorset__head h2{margin:0;font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(40px,5vw,88px);line-height:.9}
.colorset__count{margin-left:auto;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);font-weight:600}
.optgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 var(--gut)}
.optgrid .opt{margin:0}
.optgrid .opt img{aspect-ratio:1;object-fit:cover;width:100%}
.optgrid .opt figcaption{position:static;background:none;backdrop-filter:none;padding:10px 0 0;color:var(--bone-2);max-width:none}
.seats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,32px);padding:clamp(80px,10vw,140px) var(--gut)}
.seat{margin:0;display:grid;gap:14px}
.seat img{aspect-ratio:4/5;object-fit:cover;width:100%}
.seat figcaption{display:flex;gap:14px;align-items:baseline;font-weight:800;font-variation-settings:"wdth" 75;font-size:20px;line-height:1.2}
.seat figcaption span{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--teak);font-size:18px}

/* ---------- fishbox, media, legal ---------- */
.fishbox--page{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:8px;padding:8px}
.logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:clamp(56px,6vw,96px) var(--gut) clamp(80px,8vw,120px)}
.logo-card{background:var(--ink-3);padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.logo-card__art{height:200px;display:flex;align-items:center;justify-content:center;background:var(--ink);padding:28px;color:var(--bone);margin-bottom:8px}
.logo-card__art>*{display:block;max-width:100%;max-height:100%}
.logo-card__art img{width:auto;height:auto;object-fit:contain}
.logo-card__art .logo-svg{width:86%}
.logo-card__art .logo-svg svg{max-height:144px;width:100%}
.logo-card__art--vertical .logo-svg,.logo-card__art--marlin .logo-svg{width:auto;height:100%}
.logo-card__art--vertical .logo-svg svg,.logo-card__art--marlin .logo-svg svg{height:100%;width:auto;max-height:none}
.logo-card__art--marlin{padding:36px}
.logo-card__art--freeman-signature img{max-height:110px}
.logo-card h3{margin:0;font-weight:850;font-variation-settings:"wdth" 70;text-transform:uppercase;font-size:22px;line-height:1}
.logo-card p{margin:0;color:var(--bone-2);font-size:14px;line-height:1.55}
.logo-card .btn{margin-top:auto;justify-content:center;padding:15px 18px}
.logo-card__fmt{font-size:10px;letter-spacing:.2em;color:var(--mute);text-align:center}
@media (max-width:1300px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.kits{padding:0 var(--gut) clamp(90px,12vw,170px)}
.kits__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kit{position:relative;aspect-ratio:16/10;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:24px;isolation:isolate}
.kit img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease)}
.kit::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,10,13,.92),rgba(7,10,13,.1))}
.kit:hover img:first-child{transform:scale(1.05)}
.kit__badge{width:min(220px,70%);height:auto}
.kit span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--teak)}
.legal{padding:160px var(--gut) 120px;max-width:900px}
.legal .display{margin:24px 0 40px}
.legal h2{margin:48px 0 12px;font-size:22px;font-weight:800;font-variation-settings:"wdth" 80}
.legal h3{margin:20px 0 8px;font-size:16px;color:var(--teak)}
.legal p,.legal li{color:var(--bone-2)}
.legal a{color:var(--teak)}

/* ---------- forms: extras ---------- */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--bone);font:inherit;font-size:18px;padding:8px 0 10px;border-radius:0;outline:none;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mute) 50%),linear-gradient(135deg,var(--mute) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.form select option{background:var(--ink-3);color:var(--bone)}
.form select:focus{border-color:var(--teak)}
.form .check{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--mute);line-height:1.5}
.form .check span{text-transform:none;letter-spacing:0;font-weight:400;margin:0;font-size:13px}
.form .check input{margin-top:3px;accent-color:var(--teak);width:16px;height:16px;flex:0 0 auto}
.form .check a{color:var(--teak)}
.form__note{margin:0;font-size:13px;color:var(--mute)}
.form__err{margin:0;color:#e07a5f}
.form.is-sending button{opacity:.6;pointer-events:none}
.form.is-done>*:not(.form__ok):not(.form__h){display:none}
.form.is-done .form__ok{display:block!important;font-family:var(--serif);font-style:italic;font-size:30px;line-height:1.15;color:var(--bone)}

/* ---------- footer v3 ---------- */
.foot__cta{display:grid;gap:18px;padding-bottom:70px;margin-bottom:70px;border-bottom:1px solid var(--line)}
.foot__big{font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(56px,10vw,190px);line-height:.85;letter-spacing:-.015em}
.foot__big i{font-style:normal;color:var(--teak);display:inline-block;transition:transform .6s var(--ease)}
.foot__big:hover i{transform:translateX(.2em)}
.foot__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.foot__col{display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--bone-2)}
.foot__col h4{margin:0 0 8px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);font-weight:700}
.foot__list{display:flex;flex-direction:column;gap:10px}
.foot__col a:hover{color:var(--teak)}
.foot__tiles{display:none}
.foot__social{display:flex;flex-direction:column;gap:10px}
.foot__social a{display:inline-flex;align-items:center;gap:10px}
.foot__social svg{width:16px;height:16px;flex:0 0 auto}
.foot__col .foot__seal{width:72px;margin-top:18px;color:var(--bone-2)}
.foot__legal{display:flex;gap:10px 28px;flex-wrap:wrap;margin:24px 0 0;font-size:12px;color:var(--mute)}
.foot__legal a{margin-left:auto}
.foot__legal a:hover{color:var(--teak)}

@media (max-width:1100px){.foot__grid{grid-template-columns:repeat(3,1fr)}}

@media (max-width:767px){
  .foot{display:flex;flex-direction:column;padding:72px 16px calc(36px + env(safe-area-inset-bottom))}
  .foot__cta{order:1;padding-bottom:40px;margin-bottom:0;border-bottom:1px solid var(--line);gap:14px}
  .foot__big{font-size:20vw;line-height:.82}
  .foot__grid{display:contents}
  .foot__col h4{margin:0;font-size:11px}
  .foot__col--fleet{order:3;padding:36px 0 28px;gap:16px}
  .foot__col--fleet .foot__list{display:none}
  .foot__tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
  .foot__tile{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;aspect-ratio:1;border:1px solid var(--line);border-radius:10px;background:var(--ink-2)}
  .foot__tile b{font-weight:900;font-variation-settings:"wdth" 62;font-size:24px;line-height:1;color:var(--bone)}
  .foot__tile b small{font-size:.45em;margin-left:1px;vertical-align:top}
  .foot__tile span{font-size:9px;color:var(--mute);letter-spacing:.02em}
  .foot__tile--sig{border-color:rgba(236,232,223,.35)}
  .foot__tile--all{background:transparent;border-style:dashed}
  .foot__tile--all b{font-size:14px;font-variation-settings:"wdth" 80;text-transform:uppercase;letter-spacing:.08em;color:var(--teak)}
  .foot__group{order:4;border-top:1px solid var(--line);padding:28px 0 18px;gap:12px}
  .foot__group+.foot__group{order:5}
  .foot__group h4{color:var(--bone);font-size:12px;letter-spacing:.22em}
  .foot__group .foot__list{display:grid;grid-template-columns:1fr 1fr;gap:0}
  .foot__group .foot__list a{padding:9px 0;font-size:15px;color:var(--bone-2)}
  .foot__col--visit{order:6;align-items:center;text-align:center;gap:6px;padding:36px 0 0;border-top:1px solid var(--line)}
  .foot__col--visit h4{display:none}
  .foot__col--visit .foot__svc{display:none}
  .foot__col--visit a{font-size:15px;color:var(--bone-2)}
  .foot__col--visit .foot__addr{line-height:1.5;margin-bottom:4px}
  .foot__col--visit .foot__phone{font-size:22px;font-weight:800;font-variation-settings:"wdth" 80;color:var(--bone);letter-spacing:.01em}
  .foot__col--follow{order:7;align-items:center;padding:28px 0 8px;gap:22px}
  .foot__col--follow h4{display:none}
  .foot__social{flex-direction:row;gap:12px}
  .foot__social a{width:48px;height:48px;justify-content:center;border:1px solid var(--line);border-radius:50%;color:var(--bone)}
  .foot__social span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .foot__social svg{width:19px;height:19px}
  .foot__col .foot__seal{width:64px;margin:0;opacity:.7}
  .foot__mark{order:2;width:64%;max-width:300px;margin:0;padding-top:40px;opacity:.95}
  .is-home .foot__mark{padding-top:0}
  .foot__legal{order:9;justify-content:center;text-align:center;gap:4px 14px;margin-top:28px;font-size:11px;letter-spacing:.06em}
  .foot__legal a{margin-left:0}
}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:95;background:rgba(4,6,8,.96);display:grid;grid-template-columns:72px 1fr 72px;align-items:center}
.lb[hidden]{display:none}
.lb__fig{margin:0;display:grid;justify-items:center;gap:12px;max-height:100vh;padding:56px 0}
.lb__fig img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain}
.lb__fig figcaption{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-2);min-height:1em}
.lb button{color:var(--bone);font-size:28px;height:100%;width:100%;opacity:.7}
.lb button:hover{opacity:1}
.lb__close{position:absolute;top:14px;right:14px;width:56px!important;height:56px!important;font-size:40px!important;z-index:2}
.lb__count{position:absolute;top:20px;left:24px;margin:0;font-size:12px;letter-spacing:.2em;color:var(--mute)}

/* ================= TABLET ================= */
@media (max-width:1100px){
  .nav__mega-btn{display:none}
  .mega{display:none!important}
  .mega__grid{grid-template-columns:repeat(5,1fr)}
  .specs__grid{grid-template-columns:1fr 1fr}
  .spec--table{grid-row:auto;grid-column:1/-1}
  .charter-cards{grid-template-columns:1fr 1fr}
  .optgrid{grid-template-columns:repeat(3,1fr)}
  .timeline__list li{grid-template-columns:140px 1fr}
  .timeline__list img{display:none}
  .mstats{grid-template-columns:repeat(3,1fr)}
  .mstat:nth-child(3){border-right:0}
  .mstat:nth-child(-n+3){border-bottom:1px solid var(--line)}
}

/* ================= MOBILE ================= */
@media (max-width:767px){
  .kicker>*+*::before,.hero__kicker span+span::before{margin-right:.9em}
  .kicker{flex-wrap:nowrap;white-space:nowrap;gap:0 .9em;font-size:10px;letter-spacing:.2em;overflow:hidden}
  /* the logo already says Freeman Boatworks */
  .hero__kicker span:first-child{display:none}
  .hero__kicker span:nth-child(2)::before{display:none}
  .phero{min-height:86svh}
  .phero--short{min-height:62svh}
  .phero__content{padding:120px 16px calc(40px + env(safe-area-inset-bottom))}
  .phero__title{font-size:clamp(52px,16vw,88px)}
  .jump{padding:10px 16px}
  .jump{top:62px}

  .fleetlist{padding:28px 0 60px;gap:56px}
  .frow,.frow--flip{grid-template-columns:1fr;gap:0}
  .frow--flip .frow__img{order:0}
  .frow__img{aspect-ratio:4/3.2}
  .frow__body{padding:22px 16px 0;gap:16px}
  .frow h2{font-size:30px}
  .frow__badge{width:220px}
  .frow__links .btn{width:100%;justify-content:center}
  .compare__hint{display:block}
  .compare__scroll{padding:0 16px}
  .compare table{min-width:900px}
  .compare__head{padding:0 16px 28px}
  .compare__note{padding:16px}
  .band{min-height:70svh}
  .band__inner{padding:90px 16px}

  .mhero{min-height:620px}
  .mhero__media img{object-position:60% 50%}
  .mhero__num{font-size:62vw;bottom:auto;top:90px;right:-.06em;-webkit-text-stroke-width:1.2px}
  .mhero__content{padding:0 16px calc(32px + env(safe-area-inset-bottom));gap:18px}
  .mhero__badge{width:76vw}
  .mhero__title{font-size:38px}
  .mhero__ctas .btn{flex:1;justify-content:center;padding:16px 12px}
  .mhero__ctas .btn--ghost{display:none}
  /* stats become a swipe rail on phones */
  .mstats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .mstats::-webkit-scrollbar{display:none}
  .mstat{flex:0 0 44vw;padding:22px 16px;scroll-snap-align:start;border-bottom:0!important}
  .mstat b{font-size:40px}
  .mintro{grid-template-columns:1fr;padding:72px 16px;gap:36px}
  .mintro__text .big-copy{font-size:22px}
  .mintro__img{aspect-ratio:4/3}
  .mride{height:80svh}
  .mride__line{font-size:17vw;padding:0 16px}
  .specs{padding:72px 16px}
  .specs__head{grid-template-columns:1fr;margin-bottom:28px}
  .specs__head .btn{display:none}
  .specs__grid{grid-template-columns:1fr;gap:0}
  .spec summary{padding:20px 0;font-size:13px}
  .spec li{font-size:15px}
  .gal{padding:72px 0}
  .gal__head{padding:0 16px;margin-bottom:28px}
  .masonry{columns:2;column-gap:4px;padding:0 4px}
  .gi{margin-bottom:4px}
  .gi figcaption{font-size:9px;left:6px;bottom:6px;padding:4px 6px}
  .js-more{margin:20px 16px 0;width:calc(100% - 32px);justify-content:center}
  .gal__group{padding:0 16px}
  .mopts{padding:64px 0}
  .mopts__head{grid-template-columns:1fr;padding:0 16px}
  .strip{padding:0 16px 8px;gap:8px}
  .strip__item{flex-basis:78vw}
  .minq{grid-template-columns:1fr;padding:72px 16px;gap:40px}
  .minq .form{margin:0 -16px;padding:32px 16px}
  .team__list li{grid-template-columns:40px 1fr auto;gap:12px}
  .team__list img{width:40px;height:40px}
  .mnext{grid-template-columns:1fr}
  .mnext__prev{display:none}
  .mnext a{min-height:240px;padding:40px 16px}
  .mnext span{font-size:15vw}

  .sighero__inner{padding:110px 16px 80px}
  .sigstory{padding:72px 16px}
  .sigstory__cols{grid-template-columns:1fr;gap:20px;font-size:16px}
  .sigfacts{display:flex;overflow-x:auto;scrollbar-width:none}
  .sigfacts div{flex:0 0 46vw;padding:24px 16px}
  .sigmosaic{grid-template-columns:1fr 1fr;grid-auto-rows:150px;padding:4px;gap:4px}
  .sigmosaic .gi{grid-column:auto!important;grid-row:auto!important}
  .sm0,.sm7{grid-column:1/-1!important;grid-row:span 2!important}
  .sigliving{grid-template-columns:1fr;padding:72px 16px;gap:28px}
  .sigliving__list li{grid-template-columns:1fr;gap:6px}

  .manifesto{padding:80px 16px}
  .manifesto__text{font-size:38px}
  .timeline{padding:0 16px 72px}
  .timeline__list li{grid-template-columns:1fr;gap:12px;padding:28px 0}
  .timeline__list img{display:block}
  .pillars{grid-template-columns:1fr 1fr}
  .pillar{padding:28px 16px;border-bottom:1px solid var(--line)}
  .pillar:nth-child(2n){border-right:0}
  .charters{padding:72px 16px}
  .charter-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px 32px;padding:0 16px;gap:10px;scrollbar-width:none}
  .ccard{flex:0 0 80vw;scroll-snap-align:start}

  .events{grid-template-columns:1fr;padding:72px 16px;gap:48px}
  .ecard{grid-template-columns:1fr;gap:12px;padding:22px}
  .chero{grid-template-columns:1fr;padding:110px 16px 40px}
  .chero__img{aspect-ratio:4/3;order:-1;margin:0 -16px}
  .map{height:auto;min-height:0;display:grid}
  .map iframe{height:320px}
  .map__card{position:static;max-width:none;padding:28px 16px}

  .portal,.portal--3{grid-template-columns:1fr;padding:56px 16px;gap:10px}
  .ptile,.portal--3 .ptile{min-height:300px}
  .videos{grid-template-columns:1fr;padding:56px 16px;gap:36px}
  .colorset,.optset{padding:48px 0}
  .colorset__head{padding:0 16px;flex-wrap:wrap;gap:8px 14px}
  .colorset__head h2{font-size:44px}
  .optgrid{grid-template-columns:1fr 1fr;padding:0 16px;gap:8px}
  .optgrid .opt figcaption{font-size:13px}
  .seats{grid-template-columns:1fr;padding:56px 16px}
  .fishbox--page{grid-template-columns:1fr 1fr;grid-auto-rows:160px;gap:4px;padding:4px}
  .logos{grid-template-columns:1fr 1fr;padding:40px 16px 56px;gap:8px}
  .logo-card{padding:14px}
  .logo-card__art{height:130px;padding:18px}
  .logo-card h3{font-size:17px}
  .logo-card p{font-size:12.5px}
  .logo-card .btn{padding:12px 10px;font-size:10px;letter-spacing:.12em}
  .logo-card:last-child{grid-column:1/-1}
  .kits{padding:0 16px 72px}
  .kits__grid{grid-template-columns:1fr}
  .legal{padding:120px 16px 80px}


  .lb{grid-template-columns:1fr}
  .lb__prev,.lb__next{position:absolute;bottom:20px;width:56px!important;height:56px!important;border:1px solid var(--line)!important;border-radius:50%}
  .lb__prev{left:calc(50% - 68px)}
  .lb__next{right:calc(50% - 68px)}
  .lb__fig{padding:56px 0 96px}
  .lb__fig img{max-height:calc(100svh - 200px)}
}

.is-home .foot__cta{display:none}

/* model page section tabs */
.jump--model{border-top:0}
.jump--model a{letter-spacing:.06em}
@media (min-width:768px){.jump--model{justify-content:center}}
.mbar{transition:transform .5s var(--ease)}

/* eyebrows over photography stay legible */
.hero__kicker,.phero__kicker,.mhero .kicker,.sighero .kicker{color:var(--bone);text-shadow:0 1px 14px rgba(0,0,0,.65),0 0 2px rgba(0,0,0,.4)}

/* home hero on phones: content flows under the logo bar instead of floating up into it */
@media (max-width:767px){
  .hero{height:auto;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(env(safe-area-inset-top) + 92px)}
  .hero__content{position:relative;left:auto;right:auto;bottom:auto;padding:0 16px calc(36px + env(safe-area-inset-bottom));gap:18px}
  .hero__title{font-size:min(18vw,9.6svh)}
  .hero__lede{font-size:15px;line-height:1.5}
}
@media (max-width:767px) and (max-height:700px){
  .hero__lede{display:none}
}

/* phone hero: vertical scroll cue, top right over the photo (clear of the headline) */
@media (max-width:767px){
  .hero__scroll{display:flex;top:calc(env(safe-area-inset-top) + 100px);right:12px;gap:10px;font-size:9px;letter-spacing:.34em;color:var(--bone);text-shadow:0 1px 10px rgba(0,0,0,.6)}
  .hero__scroll i{height:58px;background:rgba(236,232,223,.28)}
}
/* scroll cue: only the word is vertical, so the drip line stacks underneath it */
.hero__scroll{writing-mode:horizontal-tb;flex-direction:column;align-items:center}
.hero__scroll span{writing-mode:vertical-rl}

/* compare table: pinned label column sits flush to the screen edge, nothing scrolls behind it */
.compare__scroll{padding:0;scroll-padding-left:180px}
.compare tbody th,.compare thead th:first-child{position:sticky;left:0;z-index:2;background:var(--bone);padding-left:var(--gut);box-shadow:8px 0 14px -10px rgba(7,10,13,.35)}
.compare thead th:first-child{z-index:3}
.compare tr>*:last-child{padding-right:var(--gut)}
@media (max-width:767px){
  .compare tbody th,.compare thead th:first-child{padding-left:16px;padding-right:14px;min-width:132px;font-size:10px;letter-spacing:.16em;white-space:normal}
  .compare tr>*:last-child{padding-right:16px}
}

/* ---------- site credit ---------- */
.foot__credit{opacity:.7}
.foot__legal .foot__credit a{margin-left:0;color:inherit;text-decoration:underline;text-decoration-color:rgba(236,232,223,.3);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.foot__legal .foot__credit a:hover{color:var(--teak);text-decoration-color:var(--teak)}
@media (max-width:767px){.foot__credit{flex-basis:100%;margin-top:6px}}
