@font-face{font-family:Helm;src:url(display.woff2) format('woff2'),url(display.ttf) format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Deck;src:url(body.woff2) format('woff2'),url(body.ttf) format('truetype');font-weight:400;font-display:swap}
:root{--black:#090d0f;--panel:#101618;--white:#f0f0e9;--muted:#9da9a9;--sea:#b6d2c6;--line:#ffffff24;--gutter:5vw;--sans:Deck,Arial,sans-serif;--display:Helm,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--black);color:var(--white);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}::selection{background:var(--sea);color:var(--black)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.1;letter-spacing:-.05em}h2{font-size:clamp(40px,5.4vw,82px)}em,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.065em;color:var(--sea)}img{display:block;max-width:100%}svg{display:block}svg:not(.wave-field svg){fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.arrow-icon{width:21px;height:21px;flex-shrink:0;transition:transform .3s}a:hover .arrow-icon{transform:translate(3px,-3px)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--sea);outline-offset:5px}.micro{font:11px/1.5 var(--sans);letter-spacing:.15em;font-weight:400}.header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--black)}.brand{display:flex;gap:14px;align-items:center}.brand>span{font:500 20px/1.3 var(--display);letter-spacing:.12em}.brand small{display:block;font:8px/1.8 var(--sans);letter-spacing:.31em;color:var(--muted);margin-top:2px}.wheel{width:44px;height:44px}.header nav{display:flex;gap:32px}.header nav a{font-size:13px}.header nav a span{font-size:9px;margin-left:7px;vertical-align:super;color:#80918e}.header-contact{font-size:13px;border-bottom:1px solid #ffffff60;padding:8px 0;display:flex;align-items:center;gap:20px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.hero{min-height:810px;position:relative;isolation:isolate;overflow:hidden;padding:70px var(--gutter) 0}.hero-art{position:absolute;z-index:-1;inset:0 0 0 25%;pointer-events:none;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:72% 48%;opacity:.66;transform:scale(1.02);animation:swell 16s ease-in-out infinite alternate;filter:sepia(.13) hue-rotate(90deg)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--black) 0%,#090d0fb3 20%,transparent 70%),linear-gradient(0deg,var(--black) 0%,transparent 30%,#090d0f33 85%,var(--black))}.hero-content{max-width:850px}.hero-label{display:flex;align-items:center;gap:15px;color:var(--sea)}.short-rule{width:32px;height:1px;background:var(--sea)}h1{font-size:clamp(85px,10.8vw,168px);letter-spacing:-.07em;line-height:.99;margin-top:35px;text-shadow:0 3px 40px #090d0f40}h1>span{display:block;animation:title-in 1.3s cubic-bezier(.2,.8,.2,1) both}h1>.serif{font-size:1.19em;margin-left:13%;line-height:.99;animation-delay:.15s}.hero-copy{max-width:405px;margin-top:34px}.hero-copy>p:first-child{font-size:18px;color:var(--white);margin-bottom:10px}.hero-copy>p:nth-child(2){color:#abb7b6;font-size:15px;line-height:1.75;max-width:360px}.button{display:inline-flex;justify-content:space-between;gap:35px;align-items:center;font-size:13px;font-weight:500;padding:17px 24px;min-height:58px;transition:background .3s,color .3s,transform .3s}.light{background:var(--sea);color:var(--black)}.light:hover{background:#e4f0e9;transform:translateY(-2px)}.hero-copy .button{margin-top:28px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);margin-top:65px;padding:23px 0}.hero-bottom>.micro{font-size:9px;color:var(--muted)}.scroll-link{display:flex;gap:22px;font-size:11px;align-items:center}.scroll-line{width:1px;height:25px;background:linear-gradient(var(--sea),transparent);transform-origin:top;animation:line-drift 2s ease-in-out infinite}.motion-toggle{border:0;background:none;color:var(--muted);font-size:11px;padding:8px}.section{padding:110px var(--gutter)}.section-label{display:flex;justify-content:space-between;align-items:center;gap:25px;color:var(--muted)}.intro{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:6%;padding-top:80px;padding-bottom:100px}.intro .section-label{display:block}.small-wheel{margin-top:35px;opacity:.65}.intro h2{font-size:clamp(35px,3.8vw,57px);line-height:1.18}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:35px;color:var(--muted)}.intro-columns p{font-size:16px}.work{padding-top:90px;background:#0d1214;border-top:1px solid var(--line)}.work-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:80px}.work-intro h2{font-size:clamp(65px,8vw,120px);margin-top:25px;line-height:.97}.work-intro>p{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:10px;margin-right:8%}.project{padding:35px 0 75px;border-top:1px solid #ffffff40;margin-top:35px;scroll-margin-top:30px}.project-heading{display:flex;align-items:baseline;gap:35px;margin-bottom:28px}.project-heading .micro{color:var(--sea);font-size:9px;min-width:150px}.project-heading h3{font-size:35px;letter-spacing:-.05em}.project-type{margin-left:auto;color:var(--muted);font-size:12px}.project-body{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:5%}.gallery{min-width:0}.gallery figure{margin:0}.gallery-frame{position:relative}.gallery-open{position:relative;display:block;padding:0;width:100%;background:#151d20;border:1px solid #ffffff18;overflow:hidden;cursor:zoom-in}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;background:#090d0fb3;backdrop-filter:blur(10px);border:1px solid #ffffff35;color:var(--white);opacity:0;transition:opacity .25s,background .2s;z-index:2}.gallery-nav svg{width:20px;height:20px}.gallery-prev{left:15px}.gallery-next{right:15px}.gallery-frame:hover>.gallery-nav,.gallery-nav:focus-visible{opacity:1}.gallery-nav:hover{background:#000c}.gallery-image{width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;transition:opacity .2s;background:#151d20}.enlarge-label{position:absolute;bottom:15px;right:15px;display:flex;align-items:center;gap:8px;border:1px solid #ffffff35;background:#090d0fd9;backdrop-filter:blur(10px);font-size:10px;padding:7px 10px;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}.enlarge-label svg{width:14px;height:14px}.gallery-open:hover .enlarge-label,.gallery-open:focus-visible .enlarge-label{opacity:1;transform:none}.gallery figcaption{font-size:12px;color:var(--muted);margin:14px 0 20px;min-height:40px;line-height:1.6}.gallery-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-tab{border:1px solid var(--line);background:none;padding:7px;color:var(--muted);text-align:left;transition:border-color .2s,background .2s}.gallery-tab img{width:100%;height:70px;object-fit:contain;background:#1b2326;opacity:.6;transition:opacity .2s}.gallery-tab>span{font-size:10px;display:block;padding:7px 3px 0}.gallery-tab.selected{border-color:var(--sea);color:var(--white);background:#ffffff06}.gallery-tab.selected img,.gallery-tab:hover img{opacity:1}.project-copy{padding-top:10px}.project-copy>.micro{color:var(--sea);font-size:9px;margin-bottom:20px}.project-copy h4{font-size:clamp(25px,2.6vw,40px);line-height:1.2;letter-spacing:-.04em;margin-bottom:23px}.project-copy>p:not(.micro):not(.project-proof):not(.credit){font-size:15px;color:var(--muted);line-height:1.8}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0 27px}.tags span{font-size:10px;color:var(--muted);border:1px solid var(--line);padding:3px 8px}.project-proof{padding-top:22px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--sea);margin-bottom:24px}.text-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid #ffffff55;padding:5px 0 10px;font-size:13px}.project-copy .credit{font-size:11px;color:#83918f;line-height:1.6;margin-top:28px}.all-stories{margin-top:10px}.nautical-break{position:relative;padding:135px var(--gutter);overflow:hidden;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#10191a}.nautical-break>.micro{color:var(--sea);position:relative}.nautical-break h2{position:relative;font-size:clamp(38px,4.8vw,73px);margin:30px 0;line-height:1.15}.nautical-break p{position:relative;font-size:14px;color:var(--muted)}.wave-field{position:absolute;inset:0;opacity:.16;pointer-events:none;overflow:hidden}.wave-field svg{width:120%;height:100%;margin-left:-10%;fill:none;stroke:var(--sea);stroke-width:.6;animation:wave-drift 16s ease-in-out infinite alternate}.expertise{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.expertise-title>.micro{color:var(--sea)}.expertise-title h2{font-size:clamp(42px,4.5vw,69px);margin:30px 0}.expertise-title>p:last-child{max-width:360px;font-size:16px;color:var(--muted)}.services details{border-top:1px solid #ffffff3a;padding:27px 0}.services details:last-child{border-bottom:1px solid #ffffff3a}.services summary{list-style:none;display:flex;align-items:center;gap:20px;cursor:pointer}.services summary::-webkit-details-marker{display:none}.service-no{font-size:10px;color:var(--muted)}.services h3{font-size:24px;letter-spacing:-.03em}.plus{margin-left:auto;position:relative;width:14px;height:14px;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;background:var(--sea);top:6px;left:0;width:14px;height:1px}.plus:after{transform:rotate(90deg);transition:transform .3s}.services details[open] .plus:after{transform:rotate(0)}.services details>div{padding:22px 20px 5px 35px}.services details p{color:var(--muted);font-size:15px;margin-bottom:20px}.services .micro{font-size:9px;color:var(--sea)}.approach{padding-top:30px;padding-bottom:100px}.approach>.section-label{padding-top:40px;border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;margin-top:50px}.step-no{font:italic 44px Georgia,serif;color:var(--sea);opacity:.75}.steps h3{font-size:27px;margin:25px 0 15px}.steps p{font-size:15px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1.5fr;gap:12%;background:#12191b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-art{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:45px}.about-wheel{width:min(85%,310px);opacity:.25;animation:helm-turn 80s linear infinite}.about-art .micro{font-size:10px;color:var(--muted)}.about-copy>.micro{color:var(--sea);margin-bottom:25px}.about-copy h2{font-size:clamp(37px,4vw,60px);margin-bottom:30px;line-height:1.15}.about-copy>p{font-size:15px;color:var(--muted);margin-bottom:18px}.about-copy .about-lead{font-size:21px;color:var(--white);line-height:1.6}.signature{font:italic 30px/1.4 Georgia,serif;margin-top:30px}.signature span{display:block;font:9px/1.5 var(--sans);letter-spacing:.15em;color:var(--muted);margin-top:10px}.quote{text-align:center;padding-left:12%;padding-right:12%}.quote>.micro{color:var(--muted)}blockquote{font:400 clamp(25px,3.1vw,44px)/1.45 var(--display);letter-spacing:-.045em;max-width:1100px;margin:35px auto}.quote>p:last-child{font-size:14px;color:var(--sea)}.quote>p:last-child span{font-size:11px;display:block;color:var(--muted);margin-top:6px}.contact{background:#b6d2c6;color:var(--black);padding-top:60px;padding-bottom:75px}.contact .section-label{color:#334a44}.contact .section-label img{filter:brightness(.25)}.contact h2{font-size:clamp(75px,10.5vw,160px);line-height:1;letter-spacing:-.065em;margin-top:45px}.contact em{color:#304e43}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20%;align-items:center;margin-top:45px}.contact-bottom>p{font-size:17px;max-width:430px}.contact .button{background:var(--black);color:var(--white)}.contact .button:hover{background:#20352c}.contact-email{display:block;font-size:13px;text-decoration:underline;text-underline-offset:5px;margin-top:17px}footer{padding:55px var(--gutter) 25px;overflow:hidden}.footer-brand{font:500 clamp(70px,17.3vw,280px)/1.1 var(--display);letter-spacing:-.075em;display:block;white-space:nowrap;color:#d9e1db}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom>p{letter-spacing:.09em}.footer-bottom>a{display:flex;align-items:center;gap:15px}.footer-bottom .arrow-icon{width:15px;height:15px}.lightbox{position:fixed;inset:0;width:95vw;height:94dvh;max-width:1500px;max-height:94dvh;background:#0d1214;color:var(--white);padding:0;border:1px solid #ffffff40;overflow:hidden}.lightbox[open]{display:flex;flex-direction:column}.lightbox::backdrop{background:#000e;backdrop-filter:blur(8px)}.lightbox-toolbar,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;flex-shrink:0;min-height:60px}.lightbox-toolbar{border-bottom:1px solid var(--line)}.lightbox-toolbar p{font-size:14px}.lightbox button{display:grid;place-items:center;width:40px;height:40px;background:none;border:1px solid var(--line);flex-shrink:0}.lightbox button:hover{background:#ffffff15}.lightbox button svg{width:20px;height:20px}.lightbox-scroll{overflow:auto;flex:1;min-height:0;text-align:center;padding:20px;overscroll-behavior:contain}.lightbox-image{height:auto;width:auto;max-width:100%;margin:auto}.lightbox-bottom{border-top:1px solid var(--line)}.lightbox-caption{font-size:12px;text-align:center;color:var(--muted)}.skip{position:fixed;z-index:100;top:-100px;left:20px;background:var(--sea);color:var(--black);padding:12px}.skip:focus{top:10px}.motion-paused *, .motion-paused *:before{animation-play-state:paused!important;transition:none!important}.motion-paused{scroll-behavior:auto}.js-ready .intro h2,.js-ready .work-intro h2,.js-ready .expertise-title h2,.js-ready .about-copy h2{transition:opacity .8s,transform .8s}.js-ready .await-reveal{opacity:.3;transform:translateY(20px)}@keyframes swell{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.08) translate3d(-1%,1%,0)}}@keyframes title-in{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes line-drift{0%,100%{transform:scaleY(.55);opacity:.4}50%{transform:scaleY(1);opacity:1}}@keyframes wave-drift{from{transform:translateX(-4%) translateY(10px)}to{transform:translateX(4%) translateY(-10px)}}@keyframes helm-turn{to{transform:rotate(360deg)}}
@media(min-width:1800px){:root{--gutter:max(5vw,calc((100vw - 1600px)/2))}.hero{min-height:920px}.hero-art{left:35%}}
@media(max-width:1100px){.header nav{gap:20px}.header-contact{display:none}.hero{min-height:760px}.hero-art{left:20%;opacity:.8}.hero-content{max-width:75%}.hero-copy{max-width:370px}.intro{grid-template-columns:1fr 2fr;gap:4%}.intro-columns{gap:25px}.project-heading{gap:25px;flex-wrap:wrap}.project-heading .micro{min-width:100px}.project-type{font-size:11px}.project-body{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:4%}.project-copy h4{font-size:28px}.project-copy>.micro{display:none}.gallery-tabs{gap:8px}.gallery-tab img{height:55px}.expertise{gap:6%}.services h3{font-size:21px}.steps{gap:35px}.about{gap:8%}.contact-bottom{gap:10%}.hero-label{font-size:10px}}
@media(max-width:750px){:root{--gutter:6vw}html{scroll-padding-top:25px}.header{height:88px}.brand>span{font-size:17px}.brand small{font-size:7px}.wheel{width:36px;height:36px}.header nav{display:none}.menu-toggle{display:flex;gap:15px;align-items:center;padding:12px 0 12px 12px;background:none;border:0;font-size:12px}.menu-lines{position:relative;width:22px;height:12px;border-top:1px solid var(--sea);border-bottom:1px solid var(--sea)}.menu-toggle[aria-expanded=true] .menu-lines{border:0}.menu-toggle[aria-expanded=true] .menu-lines:before,.menu-toggle[aria-expanded=true] .menu-lines:after{content:'';position:absolute;top:5px;left:0;width:22px;height:1px;background:var(--sea);transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{transform:rotate(-45deg)}.mobile-nav:not([hidden]){position:absolute;top:88px;left:0;width:100%;display:flex;flex-direction:column;background:#10181a;padding:30px var(--gutter);gap:18px;z-index:20;border-bottom:1px solid var(--line)}.mobile-nav a{font-size:25px}.hero{padding-top:42px;min-height:0}.hero-art{inset:120px -22% 100px 0;opacity:.75}.hero-art img{object-position:65% center}.hero-art:after{background:linear-gradient(90deg,#090d0f 0%,#090d0f33 100%),linear-gradient(0deg,#090d0f 0%,transparent 30%,transparent 65%,#090d0f)}.hero-content{max-width:100%}.hero-label{font-size:8px;gap:10px}.short-rule{width:22px}h1{font-size:clamp(65px,14.8vw,109px);margin-top:37px;line-height:1.02}h1>.serif{margin-left:13%;font-size:1.2em}.hero-copy{margin-top:210px;max-width:100%;position:relative}.hero-copy>p:first-child{font-size:18px}.hero-copy>p:nth-child(2){font-size:15px;max-width:400px}.hero-copy .button{margin-top:25px}.hero-bottom{margin-top:45px;padding:20px 0;gap:15px}.hero-bottom>.micro{font-size:8px;max-width:175px}.scroll-link{display:none}.motion-toggle{font-size:10px}.section{padding:70px var(--gutter)}.intro{grid-template-columns:1fr;gap:28px}.intro .section-label{display:flex}.small-wheel{margin:0;width:28px;height:28px}.intro h2{font-size:37px}.intro-columns{grid-template-columns:1fr;gap:15px;margin-top:25px}.intro-columns p{font-size:16px}.work-intro{margin-bottom:45px;align-items:end}.work-intro h2{font-size:65px;margin-top:23px}.work-intro>p{font-size:12px;margin-right:0;max-width:145px}.work-intro .micro{font-size:9px}.project{padding-top:25px;padding-bottom:40px;margin-top:25px}.project-heading{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:25px}.project-heading h3{font-size:33px}.project-heading .micro{font-size:9px}.project-type{margin:0;font-size:12px}.project-body{grid-template-columns:1fr;gap:30px}.gallery-image{aspect-ratio:1.35}.enlarge-label{opacity:1;transform:none;bottom:8px;right:8px;font-size:9px;padding:5px 8px}.gallery-nav{opacity:1;width:38px;height:38px}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery figcaption{font-size:11px;margin-bottom:15px;min-height:0}.gallery-tabs{gap:8px}.gallery-tab{padding:5px}.gallery-tab img{height:55px}.gallery-tab>span{font-size:9px;line-height:1.4;padding:6px 0 0;min-height:30px}.project-copy{padding-top:0}.project-copy h4{font-size:31px;max-width:410px;margin-bottom:16px}.project-copy>p:not(.micro):not(.project-proof):not(.credit){font-size:16px}.tags{margin:20px 0}.project-proof{font-size:13px;margin-bottom:18px}.credit{max-width:380px}.nautical-break{padding:90px var(--gutter)}.nautical-break h2{font-size:36px;line-height:1.2}.nautical-break p{font-size:14px;max-width:330px;margin:auto}.wave-field{opacity:.12}.expertise{grid-template-columns:1fr;gap:45px}.expertise-title h2{font-size:48px;margin:25px 0}.services h3{font-size:22px}.services details>div{padding-right:0}.approach{padding-top:10px}.approach>.section-label{align-items:start}.approach>.section-label>span{font-size:9px;max-width:150px}.approach>.section-label>span:last-child{text-align:right}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.steps article{display:grid;grid-template-columns:45px 1fr;gap:10px 20px;border-bottom:1px solid var(--line);padding-bottom:30px}.step-no{grid-row:1/3;font-size:32px}.steps h3{font-size:26px;margin:0}.steps p{grid-column:2;font-size:15px}.about{grid-template-columns:1fr;gap:45px}.about-art{flex-direction:row;justify-content:start;gap:25px}.about-wheel{width:85px;height:85px;opacity:.5}.about-copy h2{font-size:40px}.about-copy .about-lead{font-size:19px}.about-copy>p{font-size:16px}.quote{padding:70px var(--gutter)}blockquote{font-size:27px;line-height:1.5;margin:30px auto}.quote>.micro{font-size:9px}.contact h2{font-size:clamp(57px,14vw,105px);margin-top:35px}.contact-bottom{grid-template-columns:1fr;gap:30px;margin-top:30px}.contact-bottom>p{font-size:16px}.contact .section-label img{width:35px;height:35px}.contact .section-label .micro{font-size:10px}.button{font-size:13px;padding:16px 20px;gap:25px}footer{padding-top:35px}.footer-brand{font-size:17.2vw}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:9px}.footer-bottom>p{grid-column:1/-1}.footer-bottom>a{justify-self:end;font-size:9px;gap:8px}.lightbox{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0}.lightbox-toolbar,.lightbox-bottom{padding:10px 14px;gap:10px}.lightbox-scroll{padding:12px}.lightbox-toolbar p{font-size:12px}.lightbox-caption{font-size:11px}.lightbox button{width:36px;height:36px}.lightbox-image{width:100%}}
@media(max-width:360px){.hero-copy{margin-top:170px}.brand{gap:10px}.brand>span{font-size:15px}.work-intro>p{max-width:112px;font-size:11px}.work-intro h2{font-size:57px}.services h3{font-size:19px}.contact .button{padding:15px;gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-ready .await-reveal{opacity:1;transform:none}}
@media(max-width:750px){.hero-art img{object-position:88% center}}

/* Full-width project artwork and problem-led case studies. */
.project{padding-bottom:85px;margin-top:45px}
.project-heading h3{font-size:clamp(28px,3vw,44px)}
.project-thesis{font:400 clamp(28px,3.6vw,52px)/1.18 var(--display);letter-spacing:-.045em;max-width:1000px;margin:0 0 38px}
.project-body{display:block}
.project .gallery-image{aspect-ratio:1.5;object-fit:contain;background:#111719}
.project .gallery-open{border:0}
.project .gallery figcaption{min-height:0;margin:12px 0 18px;font-size:11px}
.project .gallery-tabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-bottom:34px}
.project .gallery-tabs[hidden]{display:none}
.project .gallery-tab img{height:74px}
.project-story{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:35px}
.project-story .micro{font-size:11px;color:var(--sea);margin-bottom:17px;letter-spacing:.12em}
.project-story p:not(.micro){font-size:clamp(16px,1.4vw,20px);color:#b9c4bf;line-height:1.75;max-width:580px}
.project-resolution{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid var(--line);margin-top:35px;padding-top:25px}
.project-resolution>p{font-size:17px;color:var(--white);max-width:700px}
.project-resolution .text-link{flex-shrink:0}
.project-credit{font-size:11px;color:var(--muted);margin-top:20px;max-width:700px;line-height:1.6}
@media(max-width:750px){.project{padding-bottom:40px;margin-top:30px}.project-heading{gap:10px}.project-thesis{font-size:30px;margin-bottom:25px}.project .gallery{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter))}.project .gallery figcaption,.project .gallery-tabs{margin-left:var(--gutter);margin-right:var(--gutter)}.project .gallery-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:25px}.project .gallery-tab img{height:46px}.project .gallery-tab>span{font-size:9px;min-height:32px}.project-story{grid-template-columns:1fr;gap:26px;margin-top:27px}.project-story .micro{font-size:10px;margin-bottom:10px}.project-story p:not(.micro){font-size:16px}.project-resolution{align-items:start;flex-direction:column;gap:20px;margin-top:25px;padding-top:22px}.project-resolution>p{font-size:17px}.project-credit{font-size:11px}}

/* Screenshots render at their own aspect ratio, filling the full width. */
.project .gallery-open{background:#151d20;min-height:clamp(220px,32vw,460px)}
.project .gallery-image{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:none}
.project .gallery-tab img{object-fit:cover;object-position:center top}
.project .gallery figcaption{min-height:36px}
@media(max-width:750px){.project .gallery figcaption{min-height:40px}}

/* The challenge leads each case study, before the visual proof. */
.project-challenge{padding:36px 40px 0;margin:0 0 36px;background:#142023;border-top:2px solid var(--sea);position:relative}
.challenge-label{display:flex;align-items:center;gap:13px;margin-bottom:30px}
.challenge-label .micro{font-size:13px;color:var(--sea);letter-spacing:.16em}
.challenge-marker{width:18px;height:18px;display:block;border:1px solid var(--sea);border-radius:50%;position:relative;flex-shrink:0}
.challenge-marker:before,.challenge-marker:after{content:'';position:absolute;background:var(--sea)}
.challenge-marker:before{height:24px;width:1px;top:-4px;left:7px}.challenge-marker:after{width:24px;height:1px;left:-4px;top:7px}
.challenge-content{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:6%;align-items:start;padding-bottom:34px}
.challenge-content h4{font-size:clamp(32px,3.8vw,57px);line-height:1.12;letter-spacing:-.05em;color:var(--white);text-wrap:balance}
.challenge-context{font-size:clamp(16px,1.4vw,20px);line-height:1.7;color:#c0ccca;padding-top:3px;max-width:540px}
.challenge-constraints{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:22px 0 25px;list-style:none;border-top:1px solid #b6d2c640}
.challenge-constraints li{font-size:12px;line-height:1.6;letter-spacing:.02em;color:var(--sea);display:flex;gap:10px;align-items:baseline}
.challenge-constraints li:before{content:'';width:5px;height:5px;border:1px solid var(--sea);flex-shrink:0;transform:rotate(45deg)}
.project-story{display:block;margin-top:40px}
.story-solution{display:grid;grid-template-columns:1fr 1fr;gap:18px 8%;border-left:2px solid var(--sea);padding-left:30px}
.project-story .story-solution .micro{grid-column:1/-1;margin:0;font-size:12px}
.story-solution h4{font-size:clamp(27px,2.6vw,39px);line-height:1.2;letter-spacing:-.04em;max-width:560px}
.project-story .story-solution p:not(.micro){font-size:18px;max-width:580px}
@media(max-width:900px){.challenge-content{grid-template-columns:1fr;gap:24px}.challenge-context{max-width:700px}.challenge-content h4{font-size:45px}}
@media(max-width:750px){.project-challenge{padding:25px 22px 0;margin-bottom:26px}.challenge-label{gap:12px;margin-bottom:25px}.challenge-label .micro{font-size:11px;letter-spacing:.12em}.challenge-content{gap:20px;padding-bottom:23px}.challenge-content h4{font-size:clamp(29px,7.4vw,43px);line-height:1.15;text-wrap:initial}.challenge-context{font-size:16px;line-height:1.7}.challenge-constraints{grid-template-columns:1fr;gap:10px;padding:19px 0 23px}.challenge-constraints li{font-size:12px}.project-story{margin-top:30px}.story-solution{grid-template-columns:1fr;padding-left:20px;gap:16px}.story-solution h4{font-size:29px}.project-story .story-solution p:not(.micro){font-size:16px}.project-story .story-solution .micro{font-size:10px}}

/* Buyer-focused introduction and inquiry guidance. */
.hero-work-link{display:block;width:fit-content;margin-top:16px;font-size:12px;text-decoration:underline;text-underline-offset:5px;color:var(--sea)}
.contact-next{font-size:13px;line-height:1.7;margin-top:20px;max-width:430px;color:#30483f}
@media(min-width:751px){.hero-copy{max-width:445px}.hero-copy>p:nth-child(2){max-width:420px}}
@media(max-width:750px){.hero-label{font-size:8px;letter-spacing:.11em}.services h3{font-size:21px}.nautical-break h2{font-size:32px}}

/* Keep navigation and the inquiry link available throughout the page. */
.header{position:sticky;top:0;z-index:40}
html{scroll-padding-top:125px}
.project{scroll-margin-top:0}
@media(max-width:750px){html{scroll-padding-top:108px}.mobile-nav:not([hidden]){position:fixed;top:88px;z-index:39;max-height:calc(100dvh - 88px);overflow-y:auto}}

/* Practical AI, with an explicit commitment to staff wellbeing. */
.header nav{gap:22px}
.ai{border-top:1px solid var(--line);background:linear-gradient(145deg,#101b1b,var(--black) 70%)}
.ai-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:end;margin:55px 0}
.ai-heading p,.ai-offers p,.ai-principle p{color:var(--muted)}
.ai-heading .ai-lead{font-size:23px;line-height:1.4;color:var(--white);margin-bottom:20px}
.ai-offers{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:64px}
.ai-offers article{border-top:1px solid var(--line);padding-top:24px}
.ai-offers h3{font-size:29px;line-height:1.15;margin:20px 0 18px}
.ai-principle{display:grid;grid-template-columns:1fr 1.5fr;gap:6vw;padding:48px;border:1px solid #b6d2c64d;background:#b6d2c607;margin-bottom:36px}
.ai-principle h3{font-size:clamp(38px,4.5vw,64px);margin-top:20px}
.ai-principle .ai-boundary{font-size:clamp(21px,2vw,28px);line-height:1.4;color:var(--white)}
.ai-principle p+p{margin-top:20px}
@media(min-width:751px) and (max-width:1150px){.header nav{gap:14px}.header nav a span{display:none}.header-contact{font-size:11px;gap:8px}.brand>span{font-size:17px}}
@media(max-width:750px){.ai-heading{grid-template-columns:1fr;gap:28px;margin:36px 0}.ai-offers{grid-template-columns:1fr;gap:28px;margin-bottom:36px}.ai-offers h3{font-size:28px}.ai-principle{grid-template-columns:1fr;gap:28px;padding:28px 22px}.ai .button{font-size:14px}}

/* Client voices appear before the detailed case studies. */
.testimonials{border-top:1px solid var(--line);background:var(--panel)}
.testimonials .section-label img{opacity:.6}
.testimonials h2.micro{letter-spacing:.15em;color:var(--muted)}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:45px}
.testimonial{display:flex;flex-direction:column;justify-content:space-between}
.testimonial blockquote{font:400 clamp(23px,2.2vw,34px)/1.5 var(--sans);letter-spacing:-.025em;text-align:left;margin:0 0 30px;max-width:none;color:var(--white)}
.testimonial figcaption{font-size:14px;line-height:1.65}
.testimonial figcaption strong{display:block;font-weight:400;color:var(--sea)}
.testimonial figcaption span{display:block;color:var(--muted);font-size:12px}
.testimonial-support{border-top:1px solid var(--line);padding-top:35px;margin-top:45px;display:grid;grid-template-columns:1.6fr 1fr;gap:6vw;align-items:center}
.testimonial-support blockquote{font-size:20px;margin:0;color:var(--muted)}
@media(max-width:750px){.testimonial-grid{grid-template-columns:1fr;gap:36px;margin-top:30px}.testimonial-grid .testimonial+.testimonial{border-top:1px solid var(--line);padding-top:32px}.testimonial blockquote{font-size:23px;margin-bottom:22px}.testimonial-support{grid-template-columns:1fr;gap:0;margin-top:36px;padding-top:32px}.testimonial-support blockquote{font-size:20px}.testimonials .section-label img{width:28px;height:28px}}

/* Illustrated field guides: intact covers paired with process and philosophy. */
.process-feature{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:9vw;margin:60px 0 75px}
.process-copy h2{font-size:clamp(38px,4.8vw,68px);margin-bottom:30px}
.process-copy p{color:var(--muted);max-width:540px;margin-top:20px;font-size:17px}
.book-art{position:relative;isolation:isolate;width:100%;max-width:440px;margin:0 auto}
.book-art:after{content:'';position:absolute;z-index:-1;left:7%;right:7%;bottom:-22px;height:48px;background:#000;filter:blur(20px);opacity:.8;border-radius:50%}
.book-art img{width:100%;height:auto;border-radius:5px;box-shadow:0 24px 45px #0009,0 5px 12px #0008}
.process-art{transform:rotate(2deg)}
.founder-art{transform:rotate(-2deg);max-width:440px}
.about{align-items:center}
.about-copy .founder-philosophy{border-top:1px solid var(--line);padding-top:24px}
@media(max-width:750px){.process-feature{grid-template-columns:1fr;gap:40px;margin:38px 0 55px}.process-copy h2{font-size:40px}.process-copy p{font-size:16px}.book-art{max-width:320px;width:88%}.about{gap:55px}.founder-art{order:2}.about-copy{order:1}}

/* Flow audit: readable copy, earlier offers, optional portfolio depth. */
body{font-size:18px}
.header nav a,.header-contact,.button,.ai .button,.text-link,.hero-work-link,.contact-email{font-size:16px}
.header nav{gap:24px}.header-contact{gap:12px}.header nav a{padding:10px 0}
.hero-label-text{min-width:0}.mobile-break{display:inline}
.hero-copy{max-width:520px}.hero-copy>p:first-child{font-size:23px;line-height:1.4}
.hero-copy>p:nth-child(2){font-size:18px;max-width:480px;line-height:1.65}
.intro-columns p,.expertise-title>p:last-child,.services details p,.steps p,.about-copy>p,.process-copy p,.contact-bottom>p,.ai-heading p,.ai-offers p,.ai-principle p{font-size:18px;line-height:1.65}
.expertise-title .text-link{margin-top:24px}
.micro,.hero-label,.hero-bottom>.micro,.work-intro .micro,.project-heading .micro,.project-story .micro,.project-story .story-solution .micro,.services .micro,.challenge-label .micro,.approach>.section-label>span,.contact .section-label .micro,.signature span{font-size:12px;letter-spacing:.1em}
.project-type,.project-credit,.project .gallery figcaption,.project .gallery-tab>span,.gallery-tab>span,.challenge-constraints li,.testimonial figcaption span,.lightbox-caption,.lightbox-toolbar p,.contact-next{font-size:14px;line-height:1.6}
.testimonial figcaption{font-size:16px}
.enlarge-label,.motion-toggle,.scroll-link,.footer-bottom,.footer-bottom>a{font-size:13px}
.motion-toggle{min-height:44px}.brand small{font-size:10px}
.project-index{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 35px}
.project-index a{font-size:15px;line-height:1.4;border:1px solid var(--line);padding:12px 16px;color:var(--sea)}
.project-index a:hover{background:var(--panel);border-color:var(--sea)}
.more-projects{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px}
.more-projects>summary{cursor:pointer;padding:28px 0;font:500 28px/1.4 var(--display)}
.more-projects>summary span{display:block;font:400 16px/1.6 var(--sans);color:var(--muted);margin-top:8px}
.work-next{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:45px;padding-top:35px;border-top:1px solid var(--line)}
.work-next p{font-size:22px;max-width:520px}
.work-intro>p{font-size:18px;max-width:360px;margin-right:0}
@media(min-width:751px) and (max-width:1150px){.header{height:auto;min-height:105px;flex-wrap:wrap;gap:12px;padding-top:16px;padding-bottom:16px}.header-contact{font-size:15px}.header nav a{font-size:15px}.header nav{gap:18px}}
@media(max-width:750px){
 body{font-size:17px}.header{height:88px}.menu-toggle{font-size:16px}.hero-copy{margin-top:130px}.hero-label{font-size:11px;line-height:1.7}.short-rule{flex-shrink:0}.hero-label-text{display:block}.mobile-break{display:block}.hero-bottom{flex-wrap:wrap}.hero-bottom>.micro{max-width:210px;font-size:11px}
 .hero-copy>p:first-child{font-size:21px}.hero-copy>p:nth-child(2){font-size:17px}.intro-columns p,.expertise-title>p:last-child,.services details p,.steps p,.about-copy>p,.process-copy p,.contact-bottom>p,.ai-heading p,.ai-offers p,.ai-principle p{font-size:17px}
 .section{padding-top:60px;padding-bottom:60px}.work-intro{display:block}.work-intro>p{font-size:17px;max-width:100%;margin-top:24px}.work-intro h2{font-size:58px}
 .project .gallery-tabs{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.project .gallery-tab>span{font-size:14px;min-height:0}.gallery-tab img{height:70px}.project-heading .micro{min-width:0}.project-type{margin-left:0}
 .work-next{align-items:start;flex-direction:column}.more-projects>summary{font-size:24px}.more-projects>summary span{font-size:15px}.approach>.section-label>span{font-size:11px;max-width:48%}.footer-bottom{font-size:12px}.footer-bottom>a{font-size:12px}
 .button{gap:18px;max-width:100%;white-space:normal}.contact-next{font-size:15px}.ai-principle .ai-boundary{font-size:22px}
}
/* Keep the illustration from competing with copy at narrower widths. */
@media(max-width:1000px){.hero-art{opacity:.42}.hero-copy>p:nth-child(2){color:#c0ccca}}
.expertise-title>p:not(.micro){max-width:540px;color:var(--muted);font-size:18px;line-height:1.65}

/* Tonal chapters keep the dark nautical identity while marking changes of subject. */
.intro{background:#111719}
.expertise{background:#0d1923}
.testimonials{background:#17231f}
.work{background:var(--black)}
.approach{background:#111e28}
.ai{background:#14251f}
.about{background:#171b1d}
.intro,.expertise,.testimonials,.work,.approach,.ai,.about{border-top:1px solid var(--line)}
.services details .text-link{display:inline-block;margin-top:18px}

/* Captain artwork: open water for the headline, a deliberate portrait crop on phones. */
.hero-art{inset:0;opacity:1}
.hero-art img{object-position:72% 45%;opacity:.85;filter:none}
.hero-art:after{background:linear-gradient(90deg,#090d0ff5 0%,#090d0fe0 28%,#090d0f88 48%,transparent 72%),linear-gradient(0deg,#090d0f 0%,#090d0f55 20%,transparent 55%)}
@media(max-width:1000px) and (min-width:751px){.hero-art img{object-position:68% center}.hero-art:after{background:linear-gradient(90deg,#090d0ff5 0%,#090d0fcc 42%,#090d0f22 100%),linear-gradient(0deg,#090d0f,transparent 65%)}}
@media(max-width:750px){
 .hero-content{display:contents}
 .hero{display:flex;flex-direction:column}
 .hero-label{order:0}.hero h1{order:1}
 .hero-art{position:relative;inset:auto;z-index:0;order:2;height:280px;width:calc(100% + 2 * var(--gutter));margin:12px calc(-1 * var(--gutter)) 0;flex-shrink:0}
 .hero-art img{object-position:86% 43%;opacity:.9;transform:none;animation:none}
 .hero-art:after{background:linear-gradient(0deg,#090d0f 0%,transparent 28%,transparent 80%,#090d0f 100%)}
 .hero-copy{order:3;margin-top:15px}.hero-bottom{order:4}
}

/* Illustrated chapters: title, illustration, then explanation on small screens. */
.process-feature{grid-template-columns:1.2fr 1fr;grid-template-rows:auto 1fr;gap:28px 9vw;align-items:start}
.process-heading{grid-column:1;grid-row:1}
.process-heading h2{font-size:clamp(38px,4.8vw,68px)}
.process-copy{grid-column:1;grid-row:2}
.process-copy p:first-child{margin-top:0}
.process-art{grid-column:2;grid-row:1 / 3;align-self:center}
.about{grid-template-rows:auto 1fr;gap:28px 8vw;align-items:start}
.about-heading{grid-column:2;grid-row:1}
.about-heading>.micro{color:var(--sea);margin-bottom:25px}
.about-heading h2{font-size:clamp(37px,4vw,60px);line-height:1.15}
.about-copy{grid-column:2;grid-row:2}
.founder-art{grid-column:1;grid-row:1 / 3;align-self:center}
.ai-heading{grid-template-columns:1.2fr 1fr;grid-template-rows:auto 1fr;gap:28px 7vw;align-items:start}
.ai-heading>h2{grid-column:1;grid-row:1;align-self:end;padding-top:30px}
.ai-intro-copy{grid-column:1;grid-row:2;max-width:560px}
.ai-art{grid-column:2;grid-row:1 / 3;max-width:360px;transform:rotate(2deg);align-self:center}
@media(max-width:750px){
 .process-feature,.about,.ai-heading{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:34px}
 .process-heading,.about-heading,.ai-heading>h2{grid-column:1;grid-row:1;order:0;padding-top:0}
 .process-art,.founder-art,.ai-art{grid-column:1;grid-row:2;order:0;max-width:300px;width:85%;margin:10px auto 18px}
 .process-copy,.about-copy,.ai-intro-copy{grid-column:1;grid-row:3;order:0}
 .process-heading h2{font-size:40px}
 .about-heading h2{font-size:clamp(37px,8vw,48px)}
}

/* Experience and audience clarity without an undifferentiated service menu. */
.audience-note{border-top:1px solid var(--line);margin-top:35px;padding-top:25px;max-width:900px}
.audience-note .micro{color:var(--sea);margin-bottom:14px}
.audience-note>p:last-child{font-size:18px;line-height:1.7;color:#c0ccca}
.experience{background:#111719;border-top:1px solid var(--line)}
.experience-heading{display:grid;grid-template-columns:1fr 2fr;gap:6vw;align-items:center}
.experience-number{font:500 clamp(110px,13vw,190px)/1 var(--display);letter-spacing:-.08em;color:var(--sea)}
.experience-number span{font-size:.45em;vertical-align:top;line-height:1.5}
.experience-heading .micro{color:var(--sea);margin-bottom:22px}
.experience-heading h2{font-size:clamp(32px,4vw,58px);line-height:1.15;margin-bottom:24px}
.experience-heading p:last-child{max-width:680px;color:var(--muted);font-size:18px}
.experience-clients{margin-top:45px;padding-top:30px;border-top:1px solid var(--line)}
.experience-clients h3{font-size:18px;letter-spacing:0;line-height:1.5;color:var(--muted);font-family:var(--sans)}
.experience-clients ul{list-style:none;padding:0;margin:26px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}
.experience-clients li{font-size:20px;line-height:1.35;overflow-wrap:anywhere}
.experience-context{font-size:14px;color:var(--muted);max-width:780px}
@media(max-width:750px){.experience-heading{grid-template-columns:1fr;gap:24px}.experience-number{font-size:110px}.experience-clients ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.experience-clients li{font-size:17px}.experience-heading p:last-child,.audience-note>p:last-child{font-size:17px}.experience-context{font-size:14px}}

/* A compact workshop preview, distinct from completed client case studies. */
.building{margin:70px 0;border-top:1px solid var(--line);padding-top:45px}
.building-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:32px}
.building-heading .micro{color:var(--sea);margin-bottom:18px}
.building-heading h3{font:500 clamp(36px,4vw,58px)/1.1 var(--display);letter-spacing:-.03em}
.building-heading>p{color:#bdccc5;font-size:17px;line-height:1.65;max-width:550px}
.building-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.building-card{background:#0c1914;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;align-items:start}
.building-card .build-status{font-size:14px;line-height:1.4;color:var(--sea);border-bottom:1px solid #b6d2c650;padding-bottom:7px;margin:0 0 24px}
.building-card .build-status-concept{color:#ecd397;border-color:#ecd39750}
.building-card h4{font:500 30px/1.15 var(--display);letter-spacing:-.02em;margin:0 0 18px}
.building-card>p:not(.build-status){font-size:17px;line-height:1.65;color:#bdccc5;margin:0 0 26px}
.build-category{margin-top:auto;color:var(--sea);font-size:12px;line-height:1.5;letter-spacing:.08em}
.about-copy a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.about-copy a:hover{color:var(--sea)}
@media(max-width:1000px){.building-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.building{margin:48px 0;padding-top:34px}.building-heading{grid-template-columns:1fr;gap:22px}.building-grid{grid-template-columns:1fr}.building-card{padding:25px}.building-card h4{font-size:30px}}

/* Small, decorative line icons keep each tool easy to identify. */
.building-card h4{display:flex;align-items:flex-start;gap:12px;width:100%}
.building-card h4>span{min-width:0;overflow-wrap:anywhere}
.build-icon{flex:0 0 26px;width:26px;height:26px;margin-top:4px;color:var(--sea)}

.lab-invitation{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--line);margin-top:32px;padding-top:32px}
.lab-invitation h4{font:500 28px/1.2 var(--display);margin-bottom:14px}
.lab-invitation p{max-width:720px;color:#bdccc5;font-size:17px;line-height:1.65}
.lab-invitation .button{flex-shrink:0}
@media(max-width:750px){.lab-invitation{flex-direction:column;align-items:flex-start;gap:24px}}

/* Helmsman Labs and the compact homepage introduction */
.labs-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px}
.ai-intro-copy>p+p{margin-top:18px}
.ai-intro-copy .labs-note{font-size:14px;color:var(--sea);margin-top:22px}
.labs-teaser .ai-heading{margin-bottom:0}
.labs-teaser .ai-art{max-width:260px;justify-self:center}
.labs-page .ai{padding-top:55px}
.labs-page .ai-heading>h1{grid-column:1;grid-row:1;font-size:clamp(54px,6.5vw,98px);line-height:1.04;margin:0;letter-spacing:-.05em}
.labs-page .ai-heading{margin-top:38px}
.labs-page #building{scroll-margin-top:115px}
.header nav a[aria-current="page"],.mobile-nav a[aria-current="page"]{color:var(--sea)}
@media(max-width:750px){
.labs-teaser .ai-art{max-width:210px;margin:0 auto;width:70%}
.labs-page .ai-heading>h1{grid-column:1;grid-row:1;font-size:clamp(48px,12vw,72px)}
.labs-page .ai-art{max-width:230px}
.labs-page .ai{padding-top:38px}
.labs-actions{align-items:flex-start;gap:16px}
}

/* Launch: visible privacy links and predictable keyboard focus. */
.inquiry-privacy{font-size:13px!important;line-height:1.6!important;max-width:680px;margin:16px 0!important}.inquiry-privacy a{text-decoration:underline;text-underline-offset:3px}.privacy-link{display:inline-block;margin:16px 0;font-size:13px;text-decoration:underline;text-underline-offset:3px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #d9be7a;outline-offset:5px}

/* Approved vintage wordmark and ship wheel. */
.header .brand{flex-shrink:0;max-width:65%}.brand-logo{display:block;width:270px;height:auto;mix-blend-mode:screen}@media(max-width:1150px){.brand-logo{width:230px}}@media(max-width:750px){.brand-logo{width:210px}}@media(max-width:360px){.brand-logo{width:185px}}

/* Visible case study cards below the three featured projects. */
.more-project-grid{border-top:1px solid var(--line);padding-top:40px;margin-top:30px}
.more-project-grid>h3{font:500 clamp(26px,3vw,38px)/1.2 var(--display);letter-spacing:-.025em;margin:0 0 28px}
.project-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.project-card{display:flex;flex-direction:column;min-width:0;background:var(--panel);border:1px solid var(--line);scroll-margin-top:30px}
.project-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#111719}
.project-card-copy{display:flex;flex-direction:column;flex:1;padding:26px}
.project-card-copy .micro{font-size:11px;line-height:1.6;color:var(--sea);margin:0 0 14px}
.project-card-copy h4{font:500 clamp(24px,2.1vw,32px)/1.2 var(--display);letter-spacing:-.025em;margin:0 0 16px}
.project-card-copy>p:not(.micro){font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 26px}
.project-card-link{display:flex;justify-content:space-between;gap:16px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--sea)}
.project-card:hover,.project-card:focus-visible{border-color:var(--sea)}
@media(max-width:750px){.project-card-grid{grid-template-columns:1fr;gap:24px}.project-card-copy{padding:24px}.project-card-copy h4{font-size:28px}}

/* New field-guide covers pair the team's problem with Helmsman's expertise. */
.intro{grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);column-gap:7%;row-gap:36px;align-items:center}
.intro>.section-label{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
.intro-art{max-width:400px;grid-column:1;grid-row:2}
.intro-body{grid-column:2;grid-row:2}
.expertise-art{max-width:300px;margin:38px auto 0}
@media(max-width:1000px) and (min-width:751px){.intro-columns{grid-template-columns:1fr;gap:18px}.intro-art{max-width:330px}}
@media(max-width:750px){.intro{grid-template-columns:1fr;row-gap:30px}.intro>.section-label{grid-column:1}.intro-body{grid-column:1;grid-row:2}.intro-art{grid-column:1;grid-row:3;max-width:270px}.expertise-art{max-width:250px;margin:30px auto 0}}

/* Feature the blue cover at full column scale beside expertise and services. */
.expertise{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"art title" "art services";column-gap:7%;row-gap:32px;align-items:start}
.expertise-title{grid-area:title}
.expertise-title h2{font-size:clamp(42px,4.2vw,64px);margin:22px 0}
.expertise .services{grid-area:services;min-width:0}
.expertise>.expertise-art{grid-area:art;width:100%;max-width:480px;margin:0 auto;align-self:center}
@media(max-width:750px){.expertise{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "art" "services";gap:34px}.expertise>.expertise-art{width:100%;max-width:380px}.expertise-title h2{font-size:48px}}

/* Clearer ministry positioning, readable founder introduction, and concrete proof. */
.hero h1{font-size:clamp(64px,7.5vw,112px);max-width:850px}
.hero h1>.serif{font-size:1.1em;margin-left:4%}
.hero-copy>p:nth-child(2){color:#e0e7e3}
.hero-art:after{background:linear-gradient(90deg,#090d0ffa 0%,#090d0fee 30%,#090d0faa 49%,transparent 76%),linear-gradient(0deg,#090d0f 0%,#090d0f55 20%,transparent 55%)}
.roadmap-deliverables{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.roadmap-deliverables h3{font-size:25px;letter-spacing:-.02em;line-height:1.3}
.roadmap-deliverables ul{padding-left:21px;margin:18px 0;color:var(--sea);font-size:17px;line-height:1.65}
.roadmap-deliverables li+li{margin-top:8px}
.roadmap-deliverables>p{font-size:16px;line-height:1.65}
.experience-heading{grid-template-columns:1fr}
.proof-scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px}
.proof-scale a{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line);padding-top:22px}
.proof-scale strong{font:500 clamp(44px,5vw,72px)/1.1 var(--display);color:var(--sea)}
.proof-scale span{font-size:17px;line-height:1.5;max-width:250px}
.proof-scale a:hover span{text-decoration:underline;text-underline-offset:4px}
@media(max-width:750px){.hero h1{font-size:clamp(43px,10.5vw,76px)}.hero h1>.serif{margin-left:0}.hero-art:after{background:linear-gradient(0deg,#090d0f 0%,transparent 28%,transparent 80%,#090d0f 100%)}.proof-scale{grid-template-columns:1fr;gap:25px}.proof-scale strong{font-size:54px}.proof-scale span{max-width:none}}

.hero-reassurance{font-size:13px!important;line-height:1.5!important;color:var(--sea)!important;margin:12px 0 0!important;max-width:430px}
/* Homepage proof: the story leads, with one browsable thumbnail row. */
.work .project>.project-challenge{margin-bottom:0}
.work .project>.project-resolution{margin:0 0 28px;padding:24px 40px;background:#142023;border-top:1px solid #b6d2c640}
.result-label{display:block;color:var(--sea);margin-bottom:8px}
.work .project .gallery-tabs{position:relative;display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:6px;padding:6px 6px 14px;margin:0 0 24px;scrollbar-width:thin;scrollbar-color:var(--sea) var(--panel)}
.work .project .gallery-tab{flex:0 0 160px;min-width:0;scroll-snap-align:start;padding:8px}
.work .project .gallery-tab img{height:90px}
.work .project .gallery-tab>span{font-size:13px;line-height:1.4;min-height:36px;padding-top:8px}
.gallery-strip-controls{display:flex;align-items:center;gap:8px;margin:0 0 8px}
.gallery-strip-controls>p{margin-right:auto;color:var(--muted);font-size:13px}
.gallery-strip-nav{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);background:var(--panel);font-size:20px}
.gallery-strip-nav:hover:not(:disabled){border-color:var(--sea)}
.gallery-strip-nav:disabled{opacity:.3;cursor:default}
@media(max-width:750px){.work .project>.project-resolution{padding:22px;margin-bottom:24px}.gallery-strip-controls{margin-left:var(--gutter);margin-right:var(--gutter)}.work .project .gallery-tabs{margin-left:var(--gutter);margin-right:var(--gutter)}.work .project .gallery-tab{flex-basis:138px}.work .project .gallery-tab img{height:78px}}
.expertise-specialized{grid-column:2;grid-row:auto;border-top:1px solid var(--line);padding-top:24px;margin-top:4px}.expertise-specialized .micro{color:var(--sea);margin-bottom:10px}.expertise-specialized>p:not(.micro){font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:12px}@media(max-width:750px){.expertise-specialized{grid-column:1}}
/* Header CTA: keep it visible between tablet and small-laptop widths with a shorter label. */
.header-contact-short{display:none}
@media(min-width:751px) and (max-width:1100px){.header-contact{display:flex}.header-contact-long{display:none}.header-contact-short{display:inline}}
@media(min-width:900px) and (max-width:1023px){.header{flex-wrap:nowrap;gap:16px}.header nav{gap:12px}.header nav a,.header-contact{font-size:14px}.header-contact{gap:8px}.brand-logo{width:160px;height:auto}}
/* Narrow tablets (751–899px): six menu items no longer fit, so use the Menu button as on phones. */
@media(min-width:751px) and (max-width:899px){.header nav,.header-contact{display:none!important}.menu-toggle{display:flex;gap:15px;align-items:center;padding:12px 0 12px 12px;background:none;border:0;font-size:16px}.mobile-nav:not([hidden]){position:fixed;top:105px;left:0;width:100%;display:flex;flex-direction:column;background:#10181a;padding:30px var(--gutter);gap:18px;z-index:39;border-bottom:1px solid var(--line);max-height:calc(100dvh - 105px);overflow-y:auto}.mobile-nav a{font-size:25px}.menu-lines{position:relative;width:22px;height:12px;border-top:1px solid var(--sea);border-bottom:1px solid var(--sea)}.menu-toggle[aria-expanded=true] .menu-lines{border:0}.menu-toggle[aria-expanded=true] .menu-lines:before,.menu-toggle[aria-expanded=true] .menu-lines:after{content:'';position:absolute;top:5px;left:0;width:22px;height:1px;background:var(--sea);transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{transform:rotate(-45deg)}}
/* Homepage "Start here": the Project Roadmap offer. */
.hero-roadmap-link{margin-top:22px}
.roadmap-feature{background:#14241f;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.roadmap-feature-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:center;margin-top:45px}
.roadmap-feature-art{margin:0}.roadmap-feature-art img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 24px 60px #0008}
.roadmap-feature-copy h2{font-size:clamp(36px,4vw,60px);line-height:1.08;margin-bottom:24px}
.roadmap-feature-copy>p{color:var(--muted);font-size:18px;line-height:1.65;max-width:560px}
.roadmap-feature-points{list-style:none;padding:0;margin:26px 0;display:grid;gap:14px}
.roadmap-feature-points li{font-size:17px;line-height:1.55;color:var(--muted);padding-left:28px;position:relative}
.roadmap-feature-points li:before{content:'';position:absolute;left:0;top:.75em;width:14px;height:1px;background:var(--sea)}
.roadmap-feature-points strong{color:var(--white);font-weight:500}
.roadmap-feature-price{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;margin-bottom:28px}
.roadmap-feature-amount{font-family:var(--display);font-size:clamp(44px,4.4vw,64px);letter-spacing:-.04em;line-height:1;color:var(--white)}
.roadmap-feature-price p:not(.roadmap-feature-amount){color:var(--sea);font-size:15px;max-width:300px}
@media(max-width:900px){.roadmap-feature-grid{grid-template-columns:1fr}}
/* Mobile standard (Aaron, 2026-10-02): a section's image sits right under its heading and anchors the section. Desktop layout is unchanged. */
@media(max-width:750px){
.intro{display:flex;flex-direction:column;gap:0}.intro>.section-label{margin-bottom:30px}.intro-body{display:contents}.intro-body>*{order:3}.intro-body>h2{order:1}.intro>.intro-art{order:2;margin:4px 0 6px}
.expertise{display:flex;flex-direction:column;gap:0}.expertise-title{display:contents}.expertise-title>*{order:3}.expertise-title>.micro,.expertise-title>h2{order:1}.expertise>.expertise-art{order:2;margin:0 auto 28px}.expertise>.services{order:4;margin-top:34px}.expertise>.expertise-specialized{order:5;margin-top:34px}
.process-feature>.process-heading{order:1}.process-feature>.process-art{order:2}.process-feature>.process-copy{order:3}
.about-heading{order:0}.founder-art{order:1}.about-copy{order:2}
.work .project{display:flex;flex-direction:column}.work .project>*{order:3}.work .project>.project-heading{order:1}.work .project>.gallery{order:2}
}
@media(max-width:900px){.roadmap-feature-grid{display:flex;flex-direction:column;gap:0}.roadmap-feature-copy{display:contents}.roadmap-feature-copy>*{order:3}.roadmap-feature-copy>h2{order:1}.roadmap-feature-art{order:2;margin:0 0 28px}}
@media(min-width:751px) and (max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 6%}}
@media(max-width:900px){.roadmap-feature-grid{align-items:flex-start}.roadmap-feature-points,.roadmap-feature-price,.roadmap-feature-art{align-self:stretch}}
/* Tablet: book covers take real space; the copy runs beside them. */
@media(min-width:751px) and (max-width:1100px){.intro{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.intro-art{max-width:100%}.about{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.founder-art{max-width:100%;align-self:start;position:sticky;top:130px}}
@media(max-width:750px){.intro>.intro-art{max-width:340px;width:100%;margin:4px auto 6px}}
/* Tablet magazine layout: the book cover floats beside the heading and the copy wraps around and beneath it. */
@media(min-width:751px) and (max-width:1100px){
.intro,.about{display:flow-root}
.intro>.section-label{margin-bottom:40px}
.intro>.intro-art,.about>.founder-art{float:left;width:46%;max-width:440px;margin:6px 5% 28px 0;position:static}
.intro-columns{display:block;margin-top:0}.intro-columns p{margin-bottom:20px}
.audience-note,.about-copy .founder-philosophy,.about-copy .signature{display:flow-root}
.intro-body h2,.about-heading h2{margin-top:0}
}
@media(min-width:751px) and (max-width:1100px){.intro-body h2,.about-heading h2{margin-bottom:26px}}
@media(min-width:751px) and (max-width:1100px){.expertise>.expertise-art{align-self:start;margin-top:40px}}
/* Tablet rule of thumb: prose wraps magazine-style around a big cover (intro, about, above).
   Sticky only where wrapping can't work: the Expertise accordion changes height, so its cover stays in view instead. */
@media(min-width:751px) and (max-width:1100px){.expertise>.expertise-art{position:sticky;top:130px}}
.hero-art picture{display:block;width:100%;height:100%}
/* Layout standard (Aaron, 2026-10-02): an image beside text lines up with the heading at the top, never centered against long copy.
   When the copy runs longer than the image, the image stays in view (sticky) while the copy scrolls. */
@media(min-width:1101px){
.intro>.intro-art,.expertise>.expertise-art,.about>.founder-art{align-self:start;position:sticky;top:130px}
}
@media(min-width:751px){.process-feature{align-items:start}.process-feature>.process-art{align-self:start;position:sticky;top:130px}}
@media(min-width:901px){.roadmap-feature-grid{align-items:start}.roadmap-feature-art{position:sticky;top:130px;margin-top:8px}}
/* Homepage FAQ (AEO: plain questions and answers, always visible). */
.home-faq{background:#101618;border-top:1px solid var(--line)}
.home-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(36px,6vw,110px);margin-top:50px;align-items:start}
.home-faq-grid>h2{font-size:clamp(40px,4.4vw,68px);line-height:1.05;position:sticky;top:130px}
.home-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px}
.home-faq-item{border-top:1px solid var(--line);padding-top:22px}
.home-faq-item h3{font-size:21px;line-height:1.3;margin:0 0 12px;color:var(--white)}
.home-faq-item p{font-size:16px;line-height:1.7;color:var(--muted);margin:0}
.expertise-guides{display:inline-block;margin-top:18px}
footer .footer-about{max-width:640px;margin:22px 0 0;font-size:14px;line-height:1.6;letter-spacing:normal;text-transform:none;color:var(--muted)}
@media(max-width:1000px){.home-faq-grid{grid-template-columns:1fr;gap:32px}.home-faq-grid>h2{position:static}}
@media(max-width:750px){.home-faq-list{grid-template-columns:1fr;gap:28px}.home-faq-item h3{font-size:19px}.home-faq-item p{font-size:15px}.home-faq-grid>h2{font-size:42px}.home-faq-grid{margin-top:32px}}
/* FAQ as fold-outs: one column beside the sticky heading. */
.home-faq-list{display:block;border-bottom:1px solid var(--line)}
.home-faq-item{padding:0;border-top:1px solid var(--line)}
.home-faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;cursor:pointer;list-style:none}
.home-faq-item summary::-webkit-details-marker{display:none}
.home-faq-item h3{margin:0}
.home-faq-item summary:hover h3{color:var(--sea)}
.home-faq-item .plus{flex-shrink:0;position:relative;width:16px;height:16px}
.home-faq-item .plus:before,.home-faq-item .plus:after{content:'';position:absolute;left:0;top:7.5px;width:16px;height:1px;background:var(--sea);transition:transform .2s}
.home-faq-item .plus:after{transform:rotate(90deg)}
.home-faq-item[open] .plus:after{transform:rotate(0)}
.home-faq-item p{max-width:720px;padding:0 40px 26px 0}
.home-faq-item .text-link{display:inline-block;margin-left:4px;color:var(--white);white-space:nowrap}
@media(max-width:750px){.home-faq-item summary{padding:18px 0}.home-faq-item p{padding-right:0}}
/* Homepage galleries: the big screenshot opens the case study; a corner button opens the full-screen viewer. */
.gallery-case-link{position:relative;display:block;width:100%;background:#151d20;border:1px solid #ffffff18;overflow:hidden;cursor:pointer}
.project .gallery-case-link{border:0;min-height:clamp(220px,32vw,460px)}
.gallery-case-link .case-label{position:absolute;left:15px;bottom:15px;display:inline-flex;gap:6px;align-items:center;background:var(--sea);color:#090d0f;font-size:13px;font-weight:600;padding:8px 12px;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}
.gallery-case-link:hover .case-label,.gallery-case-link:focus-visible .case-label{opacity:1;transform:none}
.gallery-frame>.gallery-open{position:absolute;right:15px;bottom:15px;z-index:2;width:auto;min-height:0;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #ffffff35;background:#090d0fd9;backdrop-filter:blur(10px);color:var(--white);font-size:13px;cursor:zoom-in}
.gallery-frame>.gallery-open svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}
.gallery-frame>.gallery-open:hover{border-color:var(--sea);color:var(--sea)}
@media(max-width:750px){.gallery-case-link .case-label{opacity:1;transform:none;left:8px;bottom:8px;font-size:11px;padding:6px 9px}.gallery-frame>.gallery-open{right:8px;bottom:8px;font-size:11px;padding:6px 8px}}
.gallery-case-link .case-label{top:15px;bottom:auto}
@media(max-width:750px){.gallery-case-link .case-label{top:8px;bottom:auto}}
/* How I work (Aaron, 2026-10-02): a tall book cover on the left, the copy centered beside it, a tighter gap. */
@media(min-width:751px){
.process-feature{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:1fr auto auto 1fr;column-gap:clamp(40px,5vw,84px);row-gap:0;align-items:start;margin:50px 0 70px}
.process-feature>.process-art{grid-column:1;grid-row:1 / 5;align-self:center;position:static;width:100%;max-width:560px;margin:0;justify-self:start}
.process-feature>.process-heading{grid-column:2;grid-row:2}
.process-feature>.process-copy{grid-column:2;grid-row:3}
}
@media(min-width:751px){.process-feature>.process-art{justify-self:end;max-width:620px}}
@media(min-width:751px){.process-feature>.process-heading h2{margin-bottom:30px}}
/* The work, counted: four figures. */
@media(min-width:751px){.experience .proof-scale{grid-template-columns:repeat(4,minmax(0,1fr))}.experience .proof-scale strong{font-size:clamp(44px,4.2vw,68px)}}
@media(min-width:751px) and (max-width:1100px){.experience .proof-scale{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}}
/* Labs hero: a bigger book cover on desktop. */
@media(min-width:1001px){.ai-heading{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:clamp(40px,5vw,84px)}.ai-heading>.ai-art{max-width:520px;width:100%;justify-self:center}}
/* Laptop screens (Aaron, 2026-10-02): the whole homepage hero, bottom bar included, fits the window without scrolling. */
@media(min-width:1001px) and (max-height:1000px){
.hero{display:flex;flex-direction:column;min-height:calc(100vh - 105px);min-height:calc(100dvh - 105px);padding-top:clamp(20px,4vh,48px)}
.hero h1{font-size:clamp(64px,10.6vh,108px);margin-top:clamp(14px,2.6vh,35px)}
.hero-copy{max-width:600px;margin-top:clamp(14px,2.6vh,34px)}
.hero-copy>p:first-child{font-size:clamp(19px,2.6vh,23px);margin-bottom:6px}
.hero-copy>p:nth-child(2){font-size:16px;line-height:1.6;max-width:560px}
.hero-copy .button{margin-top:clamp(12px,2.2vh,28px)}
.hero-reassurance{margin-top:8px}
.hero-copy .hero-work-link{display:inline-block;margin:clamp(10px,1.8vh,22px) 28px 0 0}
.hero-bottom{margin-top:auto;padding:clamp(12px,2vh,23px) 0}
.hero-content{padding-bottom:clamp(16px,3vh,40px)}
}
@media(min-width:1001px) and (max-height:1000px){
.hero .hero-copy{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:28px}
.hero .hero-copy>*{flex:0 0 100%}
.hero .hero-copy>.button{flex:0 0 auto;margin-right:100%}
.hero .hero-copy>.hero-work-link{flex:0 0 auto;display:inline-block;margin:clamp(10px,1.8vh,22px) 0 0}
.hero .hero-reassurance{max-width:none}
.hero h1{font-size:clamp(60px,9.6vh,108px)}
}
@media(min-width:1001px) and (max-height:1000px){.hero .hero-copy{max-width:760px}.hero .hero-copy>p:first-child{max-width:600px}}
@media(min-width:1001px) and (max-height:1000px){.hero h1{font-size:clamp(56px,9vh,108px)}.hero-content{padding-bottom:clamp(10px,1.6vh,40px)}.hero-copy>p:nth-child(2){line-height:1.55}}
/* Roadmap feature price: price and note read as one line item, button directly beneath. */
.roadmap-feature-price{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:24px;row-gap:0;padding-top:24px;margin-bottom:24px}
.roadmap-feature-price p{margin:0}
.roadmap-feature-price p:not(.roadmap-feature-amount){max-width:340px;font-size:15px;line-height:1.5;padding-left:24px;border-left:1px solid var(--line)}
.roadmap-feature-copy>.button{margin-top:0}
@media(max-width:480px){.roadmap-feature-price{grid-template-columns:1fr;row-gap:10px}.roadmap-feature-price p:not(.roadmap-feature-amount){padding-left:0;border-left:0}}
/* Reserve gallery image space before lazy images load, so anchors (#contact) don't get pushed down. */
.project .gallery-image{aspect-ratio:auto 1800 / 1200}
