@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;450;500;600;700&display=swap');

:root{--green:#006039;--black:#0a0a0a;--line:#d8d8d8;--pad:7%;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:#fff;color:var(--black);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.has-dock{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit;cursor:pointer;border-radius:0}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #009454;outline-offset:5px}
img{display:block;max-width:100%;object-fit:cover}
::selection{background:var(--green);color:white}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;top:-100px;left:20px;padding:16px;background:black;color:white;z-index:100}
.skip:focus{top:12px}
.meta,.eyebrow{font-family:Arial,sans-serif;font-size:.75rem;line-height:1.5;font-weight:500;letter-spacing:.065em}
.eyebrow{display:block;color:var(--green);margin-bottom:28px}
.green{color:var(--green)}
em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}
h1,h2,h3,p,figure{margin:0}
h2,h3,p,.statement{overflow-wrap:break-word}
h2{font-size:clamp(2.9rem,6.7vw,6.7rem);font-weight:500;line-height:1.03;letter-spacing:-.06em;margin-bottom:30px}
h3{font-size:clamp(2rem,3.9vw,4rem);font-weight:500;line-height:1.08;letter-spacing:-.05em}
p{font-size:1.0625rem;line-height:1.65}
p+p{margin-top:16px}
.pad{padding:80px var(--pad)}
.site-header{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:22px 4%}
.logo{font-size:2.35rem;font-weight:700;letter-spacing:-.07em;line-height:1}
.logo span{font-size:1rem;vertical-align:top;margin-left:5px}
.header-note{text-align:right}
.hero{padding:105px 4% 35px;min-height:calc(100svh - 64px);display:flex;flex-direction:column}
.hero-rule{display:flex;justify-content:space-between;gap:20px;border-top:1px solid;padding-top:13px}
.hero h1{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-size:clamp(6rem,17.5vw,18rem);font-weight:700;letter-spacing:-.025em;line-height:.83;margin:40px 0 35px;display:grid;grid-template-columns:auto auto;justify-content:start;column-gap:.17em}
.hero-word{display:block;transform-origin:left center;transition:opacity .15s linear,transform .15s linear}
.hero-word:last-child{grid-column:1/-1}
.motion .hero-word{animation:hero-in .8s var(--ease) both}
.motion .hero-word:nth-child(2){animation-delay:.15s}
.motion .hero-word:nth-child(3){animation-delay:.3s}
.motion .hero-bottom{animation:hero-in .8s .45s var(--ease) both}
@keyframes hero-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.star{font-family:Arial,sans-serif;font-size:.6em;vertical-align:top;line-height:.98;margin-left:.1em}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-top:auto}
.hero-bottom p{font-size:clamp(1.25rem,2.2vw,1.875rem);letter-spacing:-.035em;line-height:1.25}
.text-link{font-size:.875rem;display:flex;gap:30px;align-items:center;min-height:44px;border-bottom:1px solid}
.text-link span{font-size:1.5rem}
.opening-copy{border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr 1fr;gap:24px 10%;padding-top:42px;padding-bottom:42px}
.opening-copy .eyebrow{grid-column:1/-1;margin:0}
.statement{font-size:clamp(2rem,3.4vw,3.6rem);letter-spacing:-.05em;line-height:1.12}
.opening-copy>p:last-child{max-width:470px}
.image-stage{position:relative;overflow:hidden}
.fabric-stage{height:min(66vw,650px);min-height:340px}
.fabric-stage>img{width:100%;height:100%;object-position:center 60%}
.image-heading{position:absolute;top:12%;left:var(--pad);right:var(--pad)}
.image-heading h2{font-size:clamp(2.5rem,5.6vw,5.5rem);color:var(--green)}
.image-credit{position:absolute;bottom:18px;left:var(--pad);background:rgba(255,255,255,.88);padding:4px 8px}
.product-intro{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:12%;padding-top:64px;padding-bottom:55px}
.product-intro h2{font-size:clamp(2.5rem,4.7vw,4.7rem)}
.product-intro p{max-width:540px}
.price-note{border-left:1px solid var(--line);padding-left:40px}
.price-note strong{font-size:clamp(3rem,6.7vw,6rem);letter-spacing:-.07em;font-weight:500;display:block;line-height:1.2;margin-bottom:15px}
.price-note .meta{display:block;color:#555}
.product-lab{display:grid;grid-template-columns:1fr 1fr;background:#f1f1f1}
.lab-photo{position:relative;min-height:540px;overflow:hidden}
.lab-photo img{width:100%;height:100%;position:absolute;inset:0;transition:transform 1s var(--ease)}
.lab-controls{padding:50px 11%}
.detail-words{display:flex;flex-wrap:wrap;gap:0 14px;margin-bottom:22px}
.detail-word{border:0;background:none;padding:4px 0;font-size:clamp(1.7rem,2.8vw,2.8rem);font-weight:500;letter-spacing:-.05em;line-height:1.15;min-height:44px;color:#777;transition:color .25s,transform .35s}
.detail-word.active{color:var(--green)}
.detail-word:hover{color:var(--black)}
.detail-word.active:hover{color:var(--green)}
.detail-copy{border-top:1px solid #ccc;padding-top:20px;min-height:150px}
.detail-count{color:var(--green);display:block;margin-bottom:10px}
.detail-copy p{max-width:420px}
.interaction-hint{color:#555;display:block;margin-top:15px}
.fit-note{margin-top:30px;border-top:1px solid #ccc;padding-top:22px;font-size:1rem;color:#555}
.signature-heading{padding-bottom:42px;display:grid;grid-template-columns:1.3fr 1fr;gap:0 15%}
.signature-heading .eyebrow{grid-column:1/-1}
.signature-heading h2{margin:0}
.signature-heading p{align-self:end;max-width:420px}
.embroidery-film{position:relative}
.film-crop{aspect-ratio:2.1;overflow:hidden;background:#eee}
.film-crop img{width:100%;height:100%;object-position:30% 60%;transform:scale(1.1);transform-origin:30% 55%}
.film-playing img{animation:hem-reveal 2.4s var(--ease) forwards}
.embroidery-film figcaption{position:absolute;left:var(--pad);bottom:16px;background:rgba(255,255,255,.88);padding:4px 8px}
.personalisation{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;align-items:center;padding-top:55px}
.personal-copy h3{margin-bottom:24px}
.personal-copy p{max-width:360px}
.outline-button{margin-top:27px;padding:15px 0;background:transparent;border:0;border-top:1px solid var(--black);border-bottom:1px solid var(--black);display:flex;justify-content:space-between;gap:35px;font-size:1rem;min-width:210px}
.outline-button>span{font-size:1.25rem}
.mark-preview{aspect-ratio:1.9;position:relative;overflow:hidden;background:#eee}
.mark-preview>img{width:100%;height:100%;object-position:center}
.live-mark{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:.4em;font-weight:600;font-size:clamp(1.4rem,2.6vw,2.8rem);letter-spacing:.01em;color:var(--green);white-space:nowrap}
.live-mark strong{font-weight:700;letter-spacing:-.055em}
.mark-caption{position:absolute;bottom:14px;left:20px;font-size:.75rem}
.initials-editor{padding:22px 0 0}
.initial-fields{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap}
.initial-fields label{font-size:.875rem;color:#555}
.initial-fields input{display:block;margin-top:8px;width:80px;height:65px;text-align:center;font-size:1.875rem;color:var(--green);border:1px solid #aaa;border-radius:0;background:#fff;text-transform:uppercase}
.initial-fields input:focus{border-color:var(--green)}
.reset-button{border:0;border-bottom:1px solid #999;background:none;padding:12px 0;min-height:44px;margin-left:auto;font-size:.875rem}
.initials-editor>p{margin-top:15px;color:#555}
.company{background:var(--black);color:#fff;padding-top:75px;padding-bottom:65px}
.company .eyebrow{color:#9ec7b0}
.company-intro{color:#bbb;max-width:640px;font-size:1.25rem;margin-bottom:50px}
.equation{display:grid;grid-template-columns:1fr 70px 1fr;gap:45px}
.founder{border-top:1px solid #555;padding-top:22px}
.founder .meta{color:#b8b8b8}
.founder h3{margin:28px 0 20px}
.founder p{color:#b8b8b8;max-width:410px}
.operator{font-size:5rem;color:#9ec7b0;align-self:center;text-align:center}
.equation-result{border-bottom:1px solid #555;display:flex;align-items:center;gap:35px;padding:35px 0 45px}
.equation-result>span{font-size:5rem;line-height:1;color:#9ec7b0}
.equation-result>div{display:flex;align-items:center;gap:35px}
.equation-result strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:6rem;letter-spacing:-.02em;line-height:1;font-weight:700}
.equation-result p{font-size:1.25rem;line-height:1.3;color:#ccc;letter-spacing:-.03em}
.opportunity{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:60px}
.opportunity h3{font-size:clamp(2rem,3.4vw,3.3rem);margin-bottom:25px}
.opportunity p{color:#bbb}
.opportunity-details{border-top:1px solid #555}
.opportunity-details details{border-bottom:1px solid #555}
.opportunity-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:1.125rem;letter-spacing:-.025em;cursor:pointer;padding:22px 0}
.opportunity-details summary::-webkit-details-marker{display:none}
.opportunity-details summary span{font-size:1.5rem;line-height:1;transition:transform .2s}
.opportunity-details details[open] summary span{transform:rotate(45deg)}
.opportunity-details details p{font-size:1rem;padding:0 20px 22px 0}
.opportunity-details details p+p{margin-top:0}
.dtc-route{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px;border-top:1px solid #555;padding-top:25px}
.dtc-route .meta{color:#9ec7b0}
.dtc-route p{font-size:1.2rem;letter-spacing:-.03em;line-height:1.35;margin-top:12px}
.prototype h2{font-size:clamp(3.5rem,9vw,9rem)}
.prototype-intro{font-size:1.6rem;letter-spacing:-.035em;line-height:1.3;margin-bottom:20px}
.prototype-copy{max-width:540px}
.make-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:var(--green);color:white;margin-top:40px;padding:25px 35px;text-align:left;font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(3rem,6vw,6rem);font-weight:600;line-height:1}
.make-symbol{font-family:Arial,sans-serif;font-size:.7em;transition:transform .35s}
.make-button:hover .make-symbol{transform:translate(5px,-5px)}
.make-button[aria-expanded=true] .make-symbol{transform:rotate(90deg)}
.make-button[aria-expanded=true]{font-size:clamp(2rem,5vw,4rem)}
.button-hint{display:block;margin-top:12px;color:#555}
.prototype-plan{padding:35px 0 10px;animation:panel-in .4s var(--ease)}
.prototype-plan h3{color:var(--green);margin-bottom:25px}
.prototype-plan ol{list-style:none;counter-reset:steps;padding:0;margin:0 0 25px}
.prototype-plan li{display:grid;grid-template-columns:30px 100px 1fr;gap:15px;border-top:1px solid var(--line);padding:18px 0;font-size:1rem;line-height:1.5}
.prototype-plan li:before{counter-increment:steps;content:'0' counter(steps);font-size:.75rem;color:var(--green);padding-top:4px}
.prototype-plan li strong{font-weight:500}
.prototype-plan li span{color:#555}
.prototype-plan>p{max-width:580px}
.closing{border-top:1px solid var(--line);margin-top:55px;padding-top:25px;display:flex;justify-content:space-between;gap:25px;align-items:flex-end}
.closing p{font-size:1.4rem;line-height:1.3;letter-spacing:-.035em}
.closing .meta{color:var(--green)}
.endmark{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(6rem,19vw,19rem);font-weight:700;letter-spacing:-.025em;line-height:.9;color:var(--green);display:flex;justify-content:space-between;align-items:flex-start;margin-top:45px}
.endmark span{font-family:Arial,sans-serif;font-size:.3em;line-height:1.2}
footer{display:flex;justify-content:space-between;gap:25px;padding:22px 4%;border-top:1px solid var(--line)}
.chapter-dock{position:fixed;bottom:0;left:0;right:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:0 4% env(safe-area-inset-bottom);min-height:64px;display:flex;justify-content:space-between;align-items:center}
.reading-progress{position:absolute;left:0;top:-1px;right:0;height:2px}
.reading-progress>span{display:block;width:0;height:100%;background:var(--green)}
.current-chapter{display:flex;gap:15px;align-items:center;min-height:64px;font-size:.875rem;letter-spacing:.035em}
.current-chapter>span:first-child{color:var(--green)}
.chapter-total{color:#777;font-size:.75rem}
#chapters-toggle{border:0;background:none;padding:12px 0 12px 20px;display:flex;gap:25px;align-items:center;min-height:48px;font-size:.875rem}
#chapters-toggle>span{font-size:1.4rem;transition:transform .2s}
#chapters-toggle[aria-expanded=true]>span{transform:rotate(45deg)}
#chapter-menu{position:fixed;bottom:calc(64px + env(safe-area-inset-bottom));right:0;width:min(100%,380px);background:#fff;z-index:19;border:1px solid var(--line);padding:15px 28px;box-shadow:0 -12px 40px #00000012;animation:panel-in .25s var(--ease)}
#chapter-menu a{display:flex;gap:25px;align-items:center;padding:16px 0;min-height:54px;font-size:1.2rem;border-bottom:1px solid #ddd}
#chapter-menu a:last-child{border:0}
#chapter-menu a span{font-size:.75rem;color:var(--green)}
#chapter-menu a[aria-current=location]{color:var(--green)}
.reveal{transition:opacity .65s ease,transform .65s var(--ease)}
.motion .reveal{opacity:0;transform:translateY(20px)}
.motion .reveal.visible{opacity:1;transform:none}
.equation .operator{transition-delay:.12s}
.equation .founder:last-child{transition-delay:.24s}
.equation-result.reveal{transition-delay:.2s}
@keyframes hem-reveal{from{transform:scale(1.1) translateX(-1%)}to{transform:scale(1) translateX(0)}}
@keyframes panel-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes word-pulse{0%,100%{transform:none}50%{transform:translateY(-3px)}}
.detail-word.pulse{animation:word-pulse .6s var(--ease)}

@media(min-width:1500px){
  :root{--pad:max(7%,calc((100vw - 1330px)/2))}
  .hero h1{font-size:19vw}.hero{min-height:92svh}
}
@media(max-width:760px){
  :root{--pad:6%}
  html{scroll-padding-top:18px}
  .pad{padding-top:48px;padding-bottom:48px}
  .site-header{padding:21px 6%}.logo{font-size:2rem}.header-note{font-size:.75rem;letter-spacing:.035em}
  .hero{padding:92px 6% 28px;min-height:calc(94svh - 64px)}
  .hero-rule{font-size:.75rem;gap:20px;letter-spacing:.025em}
  .hero-rule span:first-child{max-width:185px}.hero-rule span:last-child{max-width:65px;text-align:right}
  .hero h1{grid-template-columns:1fr;font-size:30.5vw;line-height:.88;letter-spacing:-.025em;margin:28px 0 25px}
  .hero-word:last-child{grid-column:auto}
  .hero-bottom{gap:15px}.hero-bottom p{font-size:1.1875rem;line-height:1.25}
  .text-link{font-size:.875rem;gap:15px;max-width:100px}.text-link span{font-size:1.4rem}
  h2{font-size:clamp(2.55rem,10.2vw,4rem);margin-bottom:23px}.eyebrow{margin-bottom:22px}
  .opening-copy{grid-template-columns:1fr;gap:20px;padding-top:32px;padding-bottom:32px}
  .statement{font-size:1.875rem;line-height:1.13}.opening-copy>p:last-child{font-size:1rem;line-height:1.55}
  .fabric-stage{height:370px;min-height:0}.image-heading{top:32px}
  .image-heading h2{font-size:clamp(2.5rem,10vw,3.8rem)}
  .image-credit{bottom:14px;font-size:.75rem;letter-spacing:.025em}
  .product-intro{grid-template-columns:1fr;gap:25px;padding-top:35px;padding-bottom:35px}
  .product-intro h2{font-size:clamp(2.5rem,10vw,4rem)}
  p{font-size:1rem;line-height:1.6}
  .price-note{display:flex;align-items:center;gap:20px;border-left:0;border-top:1px solid var(--line);padding:20px 0 0}
  .price-note strong{font-size:2.7rem;white-space:nowrap;margin:0}
  .price-note .meta{font-size:.75rem;letter-spacing:.025em}
  .product-lab{grid-template-columns:1fr}
  .lab-photo{min-height:0;aspect-ratio:1.65}.lab-photo img{object-position:center 43%}
  .lab-controls{padding:28px 6% 30px}.lab-controls .eyebrow{margin-bottom:14px}
  .detail-words{gap:0 12px;margin-bottom:18px}.detail-word{font-size:clamp(1.875rem,8.1vw,2.5rem);min-height:44px;padding:5px 0}
  .detail-copy{min-height:164px;padding-top:17px}.detail-copy p{line-height:1.55}
  .interaction-hint{margin-top:12px}.fit-note{margin-top:22px;padding-top:18px;font-size:1rem}
  .signature-heading{display:block;padding-bottom:28px}
  .signature-heading h2{margin-bottom:20px}.signature-heading p{max-width:480px}
  .film-crop{aspect-ratio:1.35}.film-crop img{object-position:25% 58%;transform-origin:30% 55%}
  .embroidery-film figcaption{font-size:.75rem;letter-spacing:.025em}
  .personalisation{grid-template-columns:1fr;gap:28px;padding-top:32px}
  .personal-copy h3{font-size:2.4rem;margin-bottom:16px}.personal-copy p{max-width:none}
  .outline-button{width:100%;margin-top:22px}
  .mark-preview{aspect-ratio:1.75}.live-mark{font-size:clamp(1.2rem,6.2vw,2rem);gap:.4em}
  .mark-caption{font-size:.75rem;left:15px;bottom:12px;letter-spacing:.025em}
  .initial-fields{gap:16px}.initial-fields input{width:72px;height:62px}
  .company{padding-top:48px;padding-bottom:40px}.company-intro{font-size:1.125rem;margin-bottom:32px}
  .equation{grid-template-columns:1fr;gap:15px}.founder{padding-top:18px}
  .founder h3{font-size:2.5rem;margin:18px 0 15px}.founder h3 br{display:none}
  .founder p{max-width:none;line-height:1.55}
  .operator{font-size:3.25rem;line-height:1;padding:0;text-align:left}
  .equation-result{padding:25px 0 30px;gap:20px}.equation-result>span{font-size:3.5rem}
  .equation-result>div{gap:20px}.equation-result strong{font-size:4.3rem}.equation-result p{font-size:1rem;line-height:1.3}
  .opportunity{grid-template-columns:1fr;gap:25px;margin-top:32px}
  .opportunity .eyebrow{margin-bottom:18px}.opportunity h3{font-size:2.25rem;margin-bottom:18px}
  .opportunity-details summary{padding:19px 0;font-size:1.125rem}.opportunity-details details p{padding-right:0;line-height:1.55}
  .dtc-route{gap:14px;margin-top:28px;padding-top:20px}
  .dtc-route .meta{font-size:.75rem;letter-spacing:0;line-height:1.4;display:block}.dtc-route p{font-size:1rem;line-height:1.3;margin-top:10px}
  .prototype h2{font-size:clamp(3rem,12vw,5rem)}.prototype-intro{font-size:1.3rem;line-height:1.35}.prototype-copy{font-size:1rem}
  .make-button{margin-top:28px;padding:22px 24px;font-size:3.2rem;min-height:96px}.button-hint{font-size:.75rem}
  .prototype-plan{padding-top:28px}.prototype-plan h3{font-size:2.2rem}
  .prototype-plan li{grid-template-columns:24px 1fr;gap:5px 10px;padding:15px 0}.prototype-plan li span{grid-column:2}
  .closing{display:block;margin-top:35px;padding-top:22px}.closing p{font-size:1.2rem;margin-bottom:17px}
  .endmark{font-size:29vw;margin-top:30px}
  footer{padding:20px 6%;flex-wrap:wrap;gap:10px}footer .meta{font-size:.75rem;letter-spacing:.025em}
  .chapter-dock{padding-left:6%;padding-right:6%}.current-chapter{gap:10px;font-size:.875rem}
  #chapters-toggle{gap:15px;padding-left:12px}.chapter-total{font-size:.75rem}
}
@media(max-width:350px){
  .hero-bottom{align-items:flex-start;flex-direction:column}.text-link{max-width:none;gap:20px}
  .hero h1{font-size:30vw}.equation-result>div{align-items:flex-start;flex-direction:column;gap:10px}
  .dtc-route{grid-template-columns:1fr}.initial-fields{gap:10px}.initial-fields input{width:65px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}
  .motion .reveal{opacity:1;transform:none}.hero-word{opacity:1!important;transform:none!important}.film-crop img{transform:none}
}
