@font-face{font-family:"Plex";src:url("/assets/fonts/ibm-plex-sans-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex";src:url("/assets/fonts/ibm-plex-sans-semibold.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("/assets/fonts/barlow-condensed-bold.woff2") format("woff2");font-weight:700;font-display:swap}
:root{--ink:#16202a;--paper:#f4f0e6;--white:#fffdf7;--cyan:#09abc0;--deep:#006473;--coral:#ff674d;--lime:#c7dc35;--line:rgba(22,32,42,.17);--shade:#e4dfd3;--max:1240px;--display:"Barlow Condensed","Arial Narrow",sans-serif;--body:"Plex",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.7}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
img{max-width:100%;height:auto}
button,input{font:inherit}
.mast{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;min-height:82px;padding:0 max(24px,calc((100vw - var(--max))/2));background:rgba(244,240,230,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:13px;margin-right:auto;text-decoration:none;line-height:1}
.brand strong{display:block;font:700 25px/1 var(--display);letter-spacing:.055em}
.brand small{display:block;margin-top:4px;font-size:9px;letter-spacing:.2em;color:var(--deep)}
.brand-mark{position:relative;width:43px;height:48px;display:block;border:1px solid var(--ink);background:var(--white);overflow:hidden}
.brand-mark i{position:absolute;left:20px;top:5px;width:1px;height:31px;background:var(--ink)}
.brand-mark i:before{content:"";position:absolute;right:2px;top:2px;border-left:15px solid transparent;border-bottom:25px solid var(--coral)}
.brand-mark b{position:absolute;left:8px;bottom:7px;width:27px;height:7px;background:var(--cyan);clip-path:polygon(0 0,100% 0,82% 100%,20% 100%)}
.primary-nav{display:flex;align-items:center;gap:26px}
.primary-nav a{font-size:13px;font-weight:600;text-decoration:none;letter-spacing:.03em}
.primary-nav a:hover{color:var(--deep)}
.nav-toggle{display:none;border:1px solid var(--ink);background:transparent;padding:7px 12px}
.home-hero{min-height:720px;display:grid;grid-template-columns:1.02fr .98fr;max-width:var(--max);margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.hero-copy{padding:100px 7% 70px;display:flex;flex-direction:column;justify-content:center}
.kicker{margin:0 0 14px;font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--deep)}
h1,h2,h3{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;line-height:.94;margin:0}
.hero-copy h1{font-size:clamp(68px,8.6vw,136px)}
.hero-copy h1 em{font-style:normal;color:var(--coral)}
.hero-copy>p:not(.kicker){max-width:690px;font-size:19px;line-height:1.7;margin:32px 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;font-size:13px;font-weight:600;text-decoration:none;border:1px solid var(--ink);transition:.2s ease}
.button.primary{background:var(--ink);color:var(--white)}
.button.primary:hover{background:var(--coral);border-color:var(--coral)}
.button.ghost:hover{background:var(--white)}
.hero-stats{display:flex;gap:35px;list-style:none;padding:0;margin:60px 0 0}
.hero-stats li{display:grid}
.hero-stats strong{font:700 33px/1 var(--display)}
.hero-stats span{font-size:11px;color:#50606c}
.hero-visual{position:relative;overflow:hidden;background:var(--cyan);min-height:600px}
.plot-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,#000,transparent 82%)}
.vector{position:absolute;padding:4px 8px;background:var(--ink);color:var(--white);font:600 10px var(--body);letter-spacing:.14em}
.v1{top:10%;left:8%}.v2{right:8%;top:28%;background:var(--lime);color:var(--ink)}
.model-yacht{position:absolute;width:420px;height:500px;left:50%;top:52%;transform:translate(-47%,-50%)}
.mast-line{position:absolute;width:4px;height:335px;background:var(--ink);left:205px;top:45px;transform:rotate(-2deg)}
.main-sail{position:absolute;left:70px;top:55px;width:130px;height:285px;background:var(--white);clip-path:polygon(100% 0,100% 100%,0 82%);box-shadow:inset -12px 0 var(--shade)}
.jib-sail{position:absolute;left:213px;top:110px;width:100px;height:210px;background:var(--lime);clip-path:polygon(0 0,0 100%,100% 88%)}
.deck-line{position:absolute;left:85px;top:365px;width:255px;height:10px;border-top:2px solid var(--ink);transform:skewX(-25deg)}
.hull-line{position:absolute;left:52px;top:370px;width:320px;height:75px;background:var(--coral);clip-path:polygon(0 0,100% 0,79% 78%,30% 100%,8% 66%);border-top:5px solid var(--ink)}
.keel-line{position:absolute;left:202px;top:430px;width:48px;height:68px;background:var(--ink);clip-path:polygon(15% 0,60% 0,100% 100%,0 100%)}
.water-gauge{position:absolute;bottom:9%;left:0;right:0;display:grid;gap:16px;opacity:.45}
.water-gauge i{display:block;height:2px;background:var(--white);transform:translateX(var(--shift,0))}.water-gauge i:nth-child(2){--shift:12%;width:75%}.water-gauge i:nth-child(3){--shift:28%;width:66%}
.manifesto{max-width:var(--max);margin:auto;display:grid;grid-template-columns:180px 1fr 1fr;gap:55px;padding:100px 45px;border:1px solid var(--line);border-top:0;background:var(--white)}
.manifesto>p{font-size:11px;letter-spacing:.14em;color:var(--deep)}
.manifesto h2{font-size:clamp(44px,5vw,72px)}
.manifesto>div{font-size:16px}
.waterline-gallery{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:auto auto;gap:1px;padding:1px;background:var(--ink);overflow:hidden}
.waterline-gallery>*{margin:0;background:var(--white)}
.gallery-copy{grid-column:1;padding:55px;display:flex;flex-direction:column;justify-content:flex-end}
.gallery-copy h2{font-size:clamp(46px,5vw,72px);margin-bottom:22px}
.gallery-copy>p:last-child{font-size:15px;max-width:520px}
.waterline-gallery figure{position:relative;min-height:260px;overflow:hidden}
.waterline-gallery .gallery-main{grid-column:2/4;min-height:430px}
.waterline-gallery figure:not(.gallery-main){min-height:310px}
.waterline-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.waterline-gallery figure:hover img{transform:scale(1.025)}
.waterline-gallery figcaption,.article-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 22px;background:linear-gradient(transparent,rgba(13,24,32,.86));color:#fff;font-size:11px;line-height:1.35}
.featured,.categories,.next-grid{max-width:var(--max);margin:auto;padding:100px 45px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:40px}
.section-head h2{font-size:clamp(48px,6vw,80px)}
.section-head>a{font-size:13px;font-weight:600}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.feature-card{min-height:340px;padding:32px;display:flex;flex-direction:column;text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s ease;background:var(--paper)}
.feature-card span{font-size:10px;letter-spacing:.12em;color:var(--deep)}
.feature-card h3{font-size:38px;margin:60px 0 20px}
.feature-card p{font-size:14px;line-height:1.55;margin:0 0 30px}
.feature-card b{margin-top:auto;font-size:12px}
.feature-card:hover{transform:translateY(-6px);box-shadow:0 16px 0 var(--ink)}
.fc-2,.fc-5{background:var(--white)}.fc-3{background:var(--lime)}.fc-6{background:#d9eff0}
.trim-lab{max-width:var(--max);margin:0 auto 100px;display:grid;grid-template-columns:.85fr 1.15fr;background:var(--ink);color:var(--white);overflow:hidden}
.lab-copy{padding:70px}
.lab-copy h2{font-size:clamp(52px,6vw,82px)}
.lab-copy>p:not(.kicker){color:#cbd2d4}
.lab-copy label{display:grid;grid-template-columns:1fr auto auto;gap:7px;margin-top:28px;font-size:13px;font-weight:600}
.lab-copy input{grid-column:1/-1;width:100%;accent-color:var(--coral)}
.lab-result{padding:13px 16px;border-left:4px solid var(--lime);background:#25333d;color:var(--white)!important}
.lab-stage{position:relative;min-height:560px;background:#dceff0;overflow:hidden}
.lab-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,100,115,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(0,100,115,.13) 1px,transparent 1px);background-size:45px 45px}
.lab-wind{position:absolute;top:45px;left:50px;font-size:11px;letter-spacing:.15em;color:var(--deep)}
.lab-wind i{display:inline-block;width:120px;height:2px;background:var(--coral);vertical-align:middle;margin-left:12px;transform-origin:left;transform:scaleX(var(--wind-scale,.45))}
.lab-wind i:after{content:"";float:right;margin-top:-4px;border-left:8px solid var(--coral);border-top:5px solid transparent;border-bottom:5px solid transparent}
.lab-boat{position:absolute;width:360px;height:350px;left:52%;bottom:57px;transform:translateX(-50%) rotate(var(--heel,5deg));transform-origin:50% 90%;transition:transform .25s ease}
.lab-sail{position:absolute;width:135px;height:220px;left:45px;top:35px;background:var(--white);clip-path:polygon(100% 0,100% 100%,0 82%);transform-origin:100% 100%;transform:skewX(var(--sail-skew,-8deg));transition:.25s}
.lab-jib{position:absolute;width:90px;height:170px;left:190px;top:76px;background:var(--lime);clip-path:polygon(0 0,0 100%,100% 84%);transform-origin:0 100%;transform:skewX(var(--jib-skew,5deg));transition:.25s}
.lab-hull{position:absolute;left:20px;top:255px;width:310px;height:54px;background:var(--coral);clip-path:polygon(0 0,100% 0,76% 85%,25% 100%,5% 65%)}
.lab-keel{position:absolute;left:165px;top:302px;width:45px;height:45px;background:var(--ink);clip-path:polygon(0 0,65% 0,100% 100%,0 100%)}
.lab-water{position:absolute;left:-10%;right:-10%;bottom:0;height:100px;background:repeating-radial-gradient(ellipse at 50% 0,rgba(0,100,115,.35) 0 2px,transparent 3px 17px)}
.category-row{display:grid;grid-template-columns:65px 1fr auto;align-items:center;gap:25px;padding:30px 0;border-top:1px solid var(--line)}
.category-row>span{font:700 30px var(--display);color:var(--cyan)}
.category-row h3{font-size:35px}.category-row p{font-size:14px;margin:5px 0 0;color:#52606b}
.category-row>a{font-size:12px;font-weight:600}
.article-hero,.page-intro{border-bottom:1px solid var(--line);background:var(--white)}
.article-hero{padding:35px max(24px,calc((100vw - var(--max))/2)) 70px}
.crumbs{display:flex;gap:9px;font-size:11px;color:#66717a;margin-bottom:55px}
.article-head{display:grid;grid-template-columns:1fr 300px;gap:80px;align-items:end}
.article-head h1{font-size:clamp(62px,9vw,128px);max-width:980px}
.standfirst{max-width:800px;font-size:22px;line-height:1.55;margin:30px 0}
.byline{display:flex;gap:25px;font-size:11px;font-weight:600;color:#65717b}
.mini-plan{position:relative;width:260px;height:260px;background:#dbeff0;border:1px solid var(--line)}
.mini-plan:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,100,115,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(0,100,115,.14) 1px,transparent 1px);background-size:25px 25px}
.mini-sail{position:absolute;left:68px;top:30px;width:80px;height:150px;background:var(--white);clip-path:polygon(100% 0,100% 100%,0 82%)}
.mini-hull{position:absolute;left:44px;bottom:45px;width:175px;height:36px;background:var(--coral);clip-path:polygon(0 0,100% 0,80% 90%,20% 100%)}
.wind-arrow{position:absolute;right:25px;top:28px;color:var(--deep);font-size:40px}
.article-layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(0,780px) 290px;gap:95px;padding:85px 45px}
.prose{font-size:18px}
.prose .lead{font-size:23px;line-height:1.55;margin-top:0}
.prose h2{font-size:46px;margin:75px 0 25px}
.prose p{margin:0 0 24px}
.article-photo{position:relative;margin:42px 0 58px;aspect-ratio:16/9;overflow:hidden;background:#dbeff0;border:1px solid var(--line)}
.article-photo img{width:100%;height:100%;object-fit:cover}
.deep-dive{margin:55px 0;padding:38px 0;border-top:7px solid var(--ink);border-bottom:1px solid var(--line)}
.deep-dive h2{margin:0 0 26px}
.verified-note{margin:55px 0;padding:36px;background:var(--white);border:2px solid var(--deep);box-shadow:12px 12px 0 #cfe9e9}
.verified-note h2{margin:0 0 22px;font-size:41px}
.verified-note>p:not(.kicker){font-size:16px}
.verified-note .source-links{margin:28px 0 0;padding-top:20px;border-top:1px solid rgba(0,100,115,.25);font-size:13px}
.source-links a{color:var(--deep);font-weight:600}
.focus-module{margin:55px 0;padding:34px;background:#dceff0;border:1px solid rgba(0,100,115,.28)}
.focus-module h2{margin:0 0 22px;font-size:39px}
.focus-module>p:not(.kicker){font-size:16px}
.focus-module ul{display:grid;grid-template-columns:1fr 1fr;gap:0;list-style:none;padding:0;margin:28px 0 0;border-top:1px solid rgba(0,100,115,.25);border-left:1px solid rgba(0,100,115,.25)}
.focus-module li{padding:16px 18px;border-right:1px solid rgba(0,100,115,.25);border-bottom:1px solid rgba(0,100,115,.25);font-size:14px;line-height:1.45;background:rgba(255,255,255,.42)}
.keel-note{margin:45px 0;padding:28px 32px;background:var(--ink);color:var(--white);border-left:8px solid var(--lime)}
.keel-note strong{font:700 25px var(--display);text-transform:uppercase}.keel-note p{font-size:15px;margin:8px 0 0;color:#d7dddf}
.numbered{list-style:none;padding:0;margin:35px 0;border-top:1px solid var(--line)}
.numbered li{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.numbered span{font:700 30px var(--display);color:var(--cyan)}.numbered p{margin:0;font-size:16px}
.warning-list{padding:0;list-style:none}.warning-list li{position:relative;padding:14px 16px 14px 45px;border-top:1px solid var(--line)}.warning-list li:before{content:"!";position:absolute;left:10px;top:14px;width:22px;height:22px;text-align:center;background:var(--coral);color:white;font-weight:700;line-height:22px}
.faq{margin-top:80px;padding-top:40px;border-top:8px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq summary{cursor:pointer;font-weight:600}.faq details p{font-size:16px;margin:12px 0}
.side-rail{position:relative}.rail-card{position:sticky;top:110px;border:1px solid var(--line);padding:25px;margin-bottom:25px;background:var(--white)}.rail-card+ .rail-card{top:370px}.rail-card ul{padding-left:18px;font-size:14px}.rail-card>a{display:flex;gap:12px;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);text-decoration:none;font-size:13px;font-weight:600}
.next-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.next-grid>div{padding:30px;border:1px solid var(--line)}.next-grid h2{font-size:38px}.sail-card{min-height:280px;display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-left:0;text-decoration:none;background:var(--white)}.sail-card span{font-size:10px;letter-spacing:.1em;color:var(--deep)}.sail-card strong{font:700 28px/1 var(--display);text-transform:uppercase;margin:35px 0 15px}.sail-card p{font-size:13px;line-height:1.5}.tone-2{background:#dceff0}.tone-3{background:var(--lime)}
.page-intro{padding:100px max(24px,calc((100vw - var(--max))/2))}.page-intro h1{font-size:clamp(65px,9vw,120px);max-width:1000px}.page-intro>p:last-child{max-width:780px;font-size:21px;margin-top:30px}
.guide-catalog{max-width:var(--max);margin:auto;padding:60px 45px 100px}.guide-section{padding:55px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}.guide-heading{display:grid;grid-template-columns:70px 1fr;gap:35px;margin-bottom:35px}.guide-heading>span{font:700 48px var(--display);color:var(--coral)}.guide-heading h2{font-size:58px}.guide-heading p:last-child{max-width:760px;font-size:15px}.guide-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.guide-list a{padding:22px;display:grid;text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}.guide-list strong{font:700 25px var(--display);text-transform:uppercase}.guide-list span{font-size:13px;line-height:1.45;margin-top:8px;color:#596770}.guide-list a:hover{background:var(--lime)}
.about-grid,.sitemap-grid{max-width:var(--max);margin:auto;padding:80px 45px 100px;display:grid;grid-template-columns:repeat(2,1fr);gap:70px}.about-grid section{border-top:6px solid var(--ink);padding-top:25px}.about-grid h2,.sitemap-grid h2{font-size:43px;margin-bottom:20px}.about-grid p{font-size:16px}.sitemap-grid{grid-template-columns:repeat(3,1fr);gap:50px}.sitemap-grid section{border-top:1px solid var(--line);padding-top:20px}.sitemap-grid ul{padding-left:18px;font-size:14px}
.error-page{min-height:650px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px}.error-code{font:700 180px/.75 var(--display);color:var(--cyan);margin:0}.error-page h1{font-size:65px;max-width:850px}.error-page>p:not(.error-code){max-width:600px}
.footer{background:var(--ink);color:var(--white);padding:70px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1.3fr .7fr;gap:60px}.footer-brand{font:700 38px var(--display);text-decoration:none}.footer p{max-width:580px;color:#bcc5c8;font-size:14px}.footer nav{display:grid;align-content:start;gap:10px;font-size:13px}.footer .fine{grid-column:1/-1;padding-top:25px;border-top:1px solid #3b4650;font-size:11px}
@media(max-width:980px){.mast{min-height:68px}.nav-toggle{display:block}.primary-nav{display:none;position:absolute;top:68px;left:0;right:0;padding:24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.primary-nav.open{display:flex}.home-hero{grid-template-columns:1fr}.hero-visual{min-height:560px}.manifesto{grid-template-columns:1fr}.waterline-gallery{grid-template-columns:1fr 1fr}.gallery-copy{grid-column:1/-1}.waterline-gallery .gallery-main{grid-column:1/-1}.card-grid{grid-template-columns:repeat(2,1fr)}.trim-lab{grid-template-columns:1fr}.article-head{grid-template-columns:1fr}.mini-plan{display:none}.article-layout{grid-template-columns:1fr}.side-rail{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rail-card,.rail-card+ .rail-card{position:static}.next-grid{grid-template-columns:repeat(2,1fr)}.next-grid>div{grid-column:1/-1}.sail-card{border-left:1px solid var(--line)}.sitemap-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){body{font-size:16px}.mast{padding:0 16px}.brand strong{font-size:21px}.brand small{display:none}.hero-copy{padding:70px 24px}.hero-copy h1{font-size:64px}.hero-stats{gap:18px;flex-wrap:wrap}.hero-visual{min-height:440px}.model-yacht{transform:translate(-50%,-50%) scale(.78)}.manifesto,.featured,.categories,.next-grid,.article-layout,.guide-catalog,.about-grid,.sitemap-grid{padding-left:20px;padding-right:20px}.waterline-gallery{display:block;padding:0}.gallery-copy{padding:42px 24px}.waterline-gallery figure,.waterline-gallery .gallery-main,.waterline-gallery figure:not(.gallery-main){min-height:300px;border-top:1px solid var(--ink)}.card-grid{grid-template-columns:1fr}.trim-lab{margin-bottom:50px}.lab-copy{padding:50px 24px}.lab-stage{min-height:430px}.lab-boat{transform:translateX(-50%) rotate(var(--heel,5deg)) scale(.78)}.category-row{grid-template-columns:45px 1fr}.category-row>a{grid-column:2}.article-hero{padding:24px 20px 50px}.article-head h1{font-size:58px}.standfirst{font-size:18px}.byline{flex-direction:column;gap:4px}.prose .lead{font-size:20px}.prose h2{font-size:39px}.focus-module,.verified-note{padding:24px 20px}.focus-module ul{grid-template-columns:1fr}.numbered li{grid-template-columns:40px 1fr}.side-rail{grid-template-columns:1fr}.next-grid{grid-template-columns:1fr}.guide-heading{grid-template-columns:45px 1fr}.guide-heading h2{font-size:42px}.guide-list{grid-template-columns:1fr}.about-grid,.sitemap-grid{grid-template-columns:1fr}.page-intro h1{font-size:58px}.footer{grid-template-columns:1fr}.footer .fine{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
