@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--blue:#2500ff;--deep:#100739;--black:#0e0e10;--white:#fff;--light:#f3efea;--pad:clamp(1.25rem,5.1vw,6rem);font-family:'DM Sans',Arial,sans-serif;color:var(--black);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,summary{font:inherit}::selection{background:#d9ff3d;color:#080808}.skip-link{position:absolute;top:-10rem;left:1rem;z-index:100;background:#fff;color:#000;padding:.8rem}.skip-link:focus{top:1rem}.site-header{height:5.25rem;padding:0 var(--pad);position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.35)}.wordmark{font-family:'Space Grotesk',Arial,sans-serif;font-size:2rem;letter-spacing:-.105em;font-weight:700;text-decoration:none;padding-right:.17em;line-height:1}.desktop-nav{display:flex;align-items:center;gap:clamp(1.2rem,2.5vw,3rem)}.desktop-nav a{text-decoration:none;font-size:.87rem;font-weight:700}.desktop-nav a:hover,.site-footer a:hover{text-decoration:underline;text-underline-offset:.3em}.mobile-nav{display:none}.panel-blue{background:linear-gradient(138deg,#2500ff 0%,#2500ff 55%,#1900ad 100%);color:white}.panel-white{background:white;color:var(--black)}.panel-black{background:var(--black);color:white}.panel-light{background:var(--light)}section{scroll-margin-top:0}.section-kicker{display:flex;gap:1.5rem;align-items:center;font-size:.75rem;line-height:1.2;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.section-kicker .line{height:1px;flex:1;background:currentColor;opacity:.7}.asterisk{font-size:1.8rem;line-height:1;font-weight:400}.blue{color:var(--blue)}.blue-text{color:var(--blue)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:'Space Grotesk',Arial,sans-serif;letter-spacing:-.06em}p{line-height:1.5}.hero{min-height:100svh;min-height:max(690px,100svh);padding:7rem var(--pad) 1.6rem;display:flex;flex-direction:column;justify-content:space-between}.hero-center{width:100%;max-width:1440px;margin:auto 0}.hero h1{max-width:1160px;font-size:clamp(3.7rem,8.7vw,7.8rem);line-height:.99;font-weight:700;letter-spacing:-.075em}.hero h1 em{font-style:normal;background:#fff;color:var(--blue);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .08em}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:clamp(3rem,6vw,7rem)}.hero-bottom p{font-size:clamp(1.3rem,2.2vw,2.6rem);font-family:'Space Grotesk',Arial,sans-serif;line-height:1.13;letter-spacing:-.05em;font-weight:600}.round-arrow{width:4.5rem;height:4.5rem;border:1px solid #fff;border-radius:100%;display:grid;place-items:center;text-decoration:none;font-size:2rem;transition:background .2s,color .2s}.round-arrow:hover{background:#fff;color:var(--blue)}.hero-foot{border-top:1px solid rgba(255,255,255,.65);display:flex;justify-content:space-between;padding-top:.8rem;font-size:.7rem;letter-spacing:.1em;font-weight:700}.intro,.cost,.symptoms,.why,.future,.pnl,.proof,.solutions-intro,.product,.stories,.contact{padding:clamp(3rem,6vw,6rem) var(--pad) clamp(5rem,9vw,10rem)}.intro-grid{display:grid;grid-template-columns:34% 1fr;gap:2rem;margin-top:clamp(4rem,9vw,10rem)}.intro-grid>.asterisk{font-size:5rem}.large-copy{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(2rem,3.8vw,4.6rem);line-height:1.16;letter-spacing:-.055em;font-weight:600;max-width:1020px}.body-copy{max-width:630px;margin-top:3rem;font-size:1.2rem}.cost-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;margin-top:clamp(5rem,9vw,9rem)}.cost h2{font-size:clamp(3.4rem,7vw,6.7rem);line-height:1.01}.blue-block{background:var(--blue);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .07em}.cost-copy{align-self:end;max-width:620px}.cost-copy p{font-size:clamp(1.05rem,1.5vw,1.5rem);margin-top:1.5rem}.cost-copy .cost-statement{font-family:'Space Grotesk',Arial,sans-serif;font-weight:700;font-size:clamp(1.5rem,2.4vw,2.6rem);line-height:1.2;margin-top:3rem}.symptoms h2{font-size:clamp(3rem,6.5vw,6.3rem);max-width:1120px;line-height:1.04;margin:clamp(5rem,8vw,9rem) 0}.outline-word{-webkit-text-stroke:1.5px var(--blue);color:transparent}.symptom-list{border-top:1px solid #171717}.symptom-list>div{display:grid;grid-template-columns:15% 1fr;padding:1.5rem 0;border-bottom:1px solid #171717;gap:2rem}.symptom-list span{font-size:.8rem;color:var(--blue);font-weight:700}.symptom-list p{font-size:clamp(1.35rem,2.3vw,2.5rem);max-width:950px;line-height:1.18;font-family:'Space Grotesk',Arial,sans-serif;letter-spacing:-.035em}.symptom-close{display:flex;align-items:end;justify-content:space-between;gap:3rem;padding-top:5rem}.symptom-close p{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(1.8rem,3.4vw,3.8rem);line-height:1.17;letter-spacing:-.05em;font-weight:600}.symptom-close mark{background:var(--blue);color:#fff;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .09em}.text-link{display:inline-flex;gap:2rem;align-items:center;border-bottom:1px solid currentColor;text-decoration:none;font-size:1rem;font-weight:700;white-space:nowrap;padding:0 0 .4rem}.text-link span{font-size:1.3rem}.text-link:hover{gap:2.6rem}.why h2,.solutions-intro h2,.contact h2{font-size:clamp(3.7rem,8vw,7.3rem);line-height:1.02;max-width:1320px;margin:clamp(5rem,9vw,10rem) 0}.white-block{background:white;color:var(--blue);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .06em}.why-text{margin-left:auto;max-width:720px;display:grid;gap:1.5rem}.why-text p{font-size:clamp(1.1rem,1.65vw,1.55rem)}.big-question{border-top:1px solid rgba(255,255,255,.6);margin-top:7rem;padding-top:2rem;display:grid;grid-template-columns:34% 1fr;gap:2rem}.big-question span{font-size:.78rem;font-weight:700;letter-spacing:.1em}.big-question p{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(2rem,4vw,4rem);line-height:1.12;font-weight:600;letter-spacing:-.055em}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:clamp(5rem,9vw,10rem)}.two-column h2{font-size:clamp(3.7rem,7vw,6.6rem);line-height:1.01}.two-column h2 em{font-style:normal;color:var(--blue)}.prose{display:grid;gap:1.45rem;align-content:start}.prose p{font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.55}.pnl h2{font-size:clamp(3.3rem,6.3vw,6.2rem);line-height:1.05;max-width:1260px;margin:clamp(5rem,9vw,10rem) 0}.pnl h2 span{color:#f3efea}.pnl-copy{margin-left:auto;max-width:760px;display:grid;gap:1.5rem}.pnl-copy p{font-size:clamp(1.05rem,1.5vw,1.45rem)}.pnl-copy .last-line{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(2.2rem,4vw,4rem);font-weight:700;letter-spacing:-.05em;margin-top:2rem}.proof h2{max-width:650px}.solutions-intro h2{margin-bottom:3rem}.solutions-intro>p{font-size:clamp(1.2rem,1.8vw,1.8rem);max-width:780px;margin-left:auto}.product-head{display:grid;grid-template-columns:15% 1fr;gap:2rem;margin:clamp(5rem,9vw,9rem) 0 clamp(5rem,9vw,10rem)}.product-num{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(3rem,6vw,6rem);letter-spacing:-.07em;color:var(--blue);line-height:1}.product-head h2{font-size:clamp(3.2rem,6.4vw,6.5rem);line-height:1.04;max-width:1150px}.product-details{display:grid;grid-template-columns:41% 1fr;gap:3rem;border-top:1px solid currentColor;padding-top:1.5rem}.product-details h3{font-size:clamp(2rem,3.3vw,3.8rem);line-height:1.09;margin-bottom:1.5rem}.small-tag{font-size:.75rem;font-weight:700;letter-spacing:.11em}.detail-box{border-top:1px solid currentColor;margin-top:2rem;padding-top:1rem;display:grid;grid-template-columns:24% 1fr;gap:1rem}.detail-box span{font-size:.75rem;font-weight:700;letter-spacing:.1em}.subsection{margin-top:7rem;border-top:1px solid currentColor;padding-top:1.5rem;display:grid;grid-template-columns:41% 1fr;gap:3rem}.subsection-label{font-weight:700;letter-spacing:.1em;font-size:.8rem}.lens-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.lens-grid article{border-top:4px solid var(--blue);padding-top:1rem}.lens-grid span{font-size:.75rem;color:var(--blue);font-weight:700}.lens-grid h4{font-size:1.7rem;margin:1.6rem 0 1rem}.lens-grid p{font-size:1rem}.deliverables{margin:0;padding:0;list-style:none;counter-reset:items}.deliverables li{counter-increment:items;border-bottom:1px solid #aaa;padding:1.2rem 0;display:grid;grid-template-columns:3rem 1fr;gap:.6rem;font-size:clamp(1.1rem,1.65vw,1.6rem);line-height:1.3}.deliverables li:first-child{padding-top:0}.deliverables li:before{content:'0' counter(items);color:var(--blue);font-size:.8rem;font-weight:700;margin-top:.4rem}.measuring{margin-top:7rem}.measuring .text-link{justify-self:start;margin-top:1rem}.stories h2{font-size:clamp(4rem,9vw,7.4rem);line-height:1.02;margin:clamp(5rem,9vw,10rem) 0 5rem}.stories h2 em{font-style:normal;color:#f3efea}.stories-copy{margin-left:auto;max-width:760px;display:grid;gap:1.5rem}.stories-copy p{font-size:clamp(1.2rem,1.9vw,1.9rem)}.story-rule{display:flex;justify-content:space-between;border-top:1px solid white;margin-top:7rem;padding-top:1rem;font-size:.78rem;letter-spacing:.09em;font-weight:700}.story-rule span:last-child{font-size:1.4rem}.contact h2{margin-bottom:5rem}.contact>p{max-width:720px;margin-left:auto;font-size:clamp(1.15rem,1.65vw,1.6rem)}.contact-link{display:flex;justify-content:space-between;align-items:center;text-decoration:none;border-top:1px solid #fff;border-bottom:1px solid #fff;padding:1.4rem 0;margin-top:clamp(5rem,9vw,10rem);font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(1.8rem,4vw,4.5rem);font-weight:700;letter-spacing:-.05em;line-height:1.1}.contact-link span{font-weight:400}.contact-link:hover{background:#fff;color:var(--blue);padding-left:1rem;padding-right:1rem}.closing-line{display:flex;align-items:end;justify-content:space-between;margin-top:8rem;font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(1.5rem,3.5vw,3.8rem);letter-spacing:-.05em}.closing-line .asterisk{font-size:clamp(3rem,7vw,7rem)}.site-footer{background:var(--black);color:#fff;padding:2rem var(--pad);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.8rem}.site-footer a{text-decoration:none}.site-footer .wordmark{font-size:2rem}
@media(max-width:900px){.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;list-style:none;width:2.7rem;height:2.7rem;border:1px solid #fff;border-radius:50%;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 .65rem}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{height:1px;background:#fff;width:100%}.mobile-nav nav{position:absolute;right:0;top:3.25rem;background:white;color:var(--blue);width:min(75vw,260px);padding:1rem;box-shadow:0 10px 30px #0005;display:grid}.mobile-nav nav a{text-decoration:none;padding:.7rem 0;font-weight:700;border-bottom:1px solid #ddd}.cost-layout,.two-column,.product-details{grid-template-columns:1fr;gap:3rem}.cost-copy,.pnl-copy,.why-text{margin-left:0}.lens-grid{grid-template-columns:1fr 1fr}.subsection{grid-template-columns:1fr;gap:2rem}.intro-grid{grid-template-columns:16% 1fr}.symptom-close{align-items:start;flex-direction:column}.site-footer{flex-wrap:wrap}.site-footer>*{flex-basis:42%}}
@media(max-width:600px){:root{--pad:1.25rem}.site-header{height:4.5rem}.wordmark{font-size:1.8rem}.hero{min-height:700px;padding-top:6rem}.hero h1{font-size:clamp(3.25rem,12.4vw,5.5rem)}.hero-bottom{margin-top:4rem}.round-arrow{width:3.5rem;height:3.5rem}.hero-foot{font-size:.6rem;gap:1rem}.hero-foot span:last-child{text-align:right}.section-kicker{gap:.7rem;font-size:.67rem}.intro,.cost,.symptoms,.why,.future,.pnl,.proof,.solutions-intro,.product,.stories,.contact{padding-top:3rem;padding-bottom:5rem}.intro-grid{display:block;margin-top:4rem}.intro-grid>.asterisk{display:block;margin-bottom:2rem}.large-copy{font-size:clamp(2rem,8vw,3.1rem)}.body-copy{margin-top:2rem}.cost-layout,.two-column{margin-top:4rem}.symptoms h2,.why h2,.solutions-intro h2,.contact h2{margin:4rem 0}.symptom-list>div{grid-template-columns:2rem 1fr;gap:.8rem}.symptom-list p{font-size:1.36rem}.big-question{grid-template-columns:1fr;gap:1rem;margin-top:5rem}.product-head{grid-template-columns:1fr;gap:1.3rem;margin:4rem 0 5rem}.product-num{font-size:2.8rem}.product-head h2{font-size:clamp(3rem,10vw,5rem)}.product-details{gap:2rem}.lens-grid{grid-template-columns:1fr}.subsection,.measuring{margin-top:5rem}.detail-box{grid-template-columns:1fr;gap:.5rem}.stories h2{margin:4rem 0}.contact-link{gap:1rem}.closing-line{margin-top:6rem;gap:2rem}.site-footer{padding-top:3rem;padding-bottom:3rem}.site-footer>*{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

.wordmark{display:inline-flex;align-items:center;padding:0;letter-spacing:normal}.wordmark img{display:block;width:178px;height:auto}.site-footer .wordmark img{width:178px}@media(max-width:600px){.wordmark img{width:156px}.site-footer .wordmark img{width:178px}}

/* Give every inline highlight breathing room between adjacent text lines. */
.hero h1 em,
.white-block,
.blue-block,
.symptom-close mark {
  background: linear-gradient(
    to bottom,
    transparent 8%,
    var(--highlight-fill) 8%,
    var(--highlight-fill) 92%,
    transparent 92%
  );
}
.hero h1 em,
.white-block { --highlight-fill: #fff; }
.blue-block,
.symptom-close mark { --highlight-fill: var(--blue); }

/* Keep navigation readable over every section as the page scrolls. */
.site-header {
  position: fixed;
  transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.site-header.is-scrolled {
  background-color: rgba(14,14,16,.94);
  border-bottom-color: rgba(255,255,255,.18);
  box-shadow: 0 8px 30px rgba(0,0,0,.12);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
section[id] { scroll-margin-top: 5.25rem; }
@media (max-width: 600px) {
  section[id] { scroll-margin-top: 4.5rem; }
}

.image-interlude {
  height: min(70svh, 650px);
  min-height: 460px;
}
@media (max-width: 700px) {
  .image-interlude {
    height: auto;
    min-height: 0;
    aspect-ratio: 1671 / 941;
  }
}

.studio-interlude {
  height: clamp(450px, min(52vw, 85svh), 900px);
}
@media (max-width: 700px) {
  .studio-interlude {
    height: auto;
    aspect-ratio: 1672 / 941;
  }
}

.parallax-interlude {
  position: relative;
  overflow: hidden;
  background: var(--black);
}
.parallax-interlude img {
  display: block;
  position: absolute;
  left: 0;
  top: -70px;
  width: 100%;
  height: calc(100% + 140px);
  object-fit: cover;
  object-position: center;
  transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.045);
  will-change: transform;
}
@media (min-width: 701px) {
  .studio-interlude img {
    top: -20px;
    height: calc(100% + 100px);
    object-position: center top;
  }
}
@media (max-width: 700px) {
  .parallax-interlude img {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    object-fit: contain;
    transform: none;
    will-change: auto;
  }
  .parallax-interlude,
  .studio-interlude,
  .image-interlude {
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .parallax-interlude img {
    transform: scale(1.045);
    will-change: auto;
  }
}
@media (max-width: 700px) and (prefers-reduced-motion: reduce) {
  .parallax-interlude img { transform: none; }
}

/* Vector symbols prevent mobile browsers from substituting colorful emoji glyphs. */
.asterisk{display:inline-flex;align-items:center;justify-content:center;flex:none}.asterisk svg{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2.7;stroke-linecap:square}
.arrow-icon{display:inline-block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter;vertical-align:-.12em;flex:none}
.direction-icon{display:block;width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter;flex:none}
.round-arrow .direction-icon{width:2rem;height:2rem}
.hero-foot>span:last-child{display:inline-flex;align-items:center;gap:.35em}
.hero-foot .direction-icon{width:.9rem;height:.9rem}
.section-kicker .arrow-icon{width:1.25rem;height:1.25rem}
.text-link .arrow-icon,.contact-link .arrow-icon{width:1.2em;height:1.2em}
.story-rule .arrow-icon{width:1em;height:1em}

/* Multi-page editorial system */
.desktop-nav a.active{text-decoration:underline;text-underline-offset:.35em}
.home-hero .hero-bottom p,.inner-hero .hero-bottom p,.stories-hero .hero-bottom p{max-width:650px}
.inner-hero,.stories-hero{min-height:100svh}
.stories-hero em{background:var(--blue)!important;color:#fff!important;--highlight-fill:var(--blue)!important}
.manifesto,.method,.process,.outcome,.home-bridge,.stories-preview,.story-index,.story-article{padding:clamp(3rem,6vw,6rem) var(--pad) clamp(5rem,9vw,10rem)}
.manifesto .two-column h2,.method .two-column h2,.home-bridge .two-column h2{font-size:clamp(3.2rem,6.6vw,6.5rem);line-height:1.03}
.home-bridge .negative-block{background:#fff;color:var(--black);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .07em;white-space:nowrap}
.method strong{font-weight:600}
.process>h2{font-size:clamp(3.7rem,7vw,6.6rem);line-height:1.01;margin:clamp(5rem,9vw,9rem) 0}
.process-list{border-top:1px solid var(--black)}
.process-list article{display:grid;grid-template-columns:15% 1fr;gap:2rem;padding:2.2rem 0;border-bottom:1px solid var(--black)}
.process-list article>span{font-size:.8rem;color:var(--blue);font-weight:700}
.process-list article>div{display:grid;grid-template-columns:minmax(250px,.75fr) 1fr;gap:4vw}
.process-list h3{font-size:clamp(1.8rem,3vw,3.4rem);line-height:1.08}
.process-list p{font-size:clamp(1rem,1.3vw,1.3rem);max-width:620px}
.outcome h2,.stories-preview>h2{font-size:clamp(3.7rem,8vw,7.3rem);line-height:1.02;max-width:1320px;margin:clamp(5rem,9vw,10rem) 0}
.home-bridge .prose .text-link,.outcome .text-link,.pnl-copy .text-link{justify-self:start;margin-top:1.5rem}
.stories-preview{border-top:1px solid rgba(255,255,255,.28)}
.preview-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.65)}
.preview-grid a{min-height:310px;padding:1.5rem 2rem 2.5rem;border-bottom:1px solid rgba(255,255,255,.65);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:background-color .2s ease,color .2s ease}
.preview-grid a:nth-child(odd){border-right:1px solid rgba(255,255,255,.65)}
.preview-grid a:hover,.preview-grid a:focus-visible{background:#fff;color:var(--blue)}
.preview-grid a:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.preview-grid a span,.story-sector{font-size:.72rem;letter-spacing:.11em;font-weight:700}
.preview-grid h3{font-size:clamp(1.8rem,3vw,3.3rem);line-height:1.08;max-width:580px}
.compact-contact{border-top:1px solid rgba(255,255,255,.3)}
.compact-contact h2{margin-top:clamp(4rem,7vw,7rem)}
.story-index{display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:5rem;gap:0}
.story-index a{display:flex;flex-direction:column;justify-content:space-between;min-height:200px;padding:1.25rem;border:1px solid var(--black);border-right:0;text-decoration:none}
.story-index a:last-child{border-right:1px solid var(--black)}
.story-index a:hover{background:var(--blue);color:#fff}
.story-index span{font-size:.68rem;letter-spacing:.1em;font-weight:700}
.story-index strong{font-family:'Space Grotesk',Arial,sans-serif;font-size:1.45rem;line-height:1.12;letter-spacing:-.04em}
.story-article{scroll-margin-top:5.25rem}
.story-article>header{display:grid;grid-template-columns:15% 1fr;gap:2rem;margin-bottom:clamp(5rem,9vw,9rem)}
.story-number{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(3.5rem,7vw,7rem);line-height:1;color:var(--blue);letter-spacing:-.07em}
.story-article h2{font-size:clamp(3rem,6vw,6rem);line-height:1.02;max-width:1120px;margin-top:1.5rem}
.story-body{display:grid;grid-template-columns:34% 1fr;gap:5vw;border-top:1px solid currentColor;padding-top:2rem}
.story-body aside{display:flex;flex-direction:column;align-items:flex-start}
.story-body aside strong{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(3rem,6vw,6.5rem);line-height:1;color:var(--blue);letter-spacing:-.07em}
.story-body aside span{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;max-width:210px;margin-top:.7rem}
.story-copy{max-width:760px;display:grid;gap:1.5rem}
.story-copy p,.story-copy li{font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.58}
.story-copy blockquote{margin:1.5rem 0;padding:1.5rem 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor;font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(1.8rem,3vw,3.2rem);font-weight:600;line-height:1.15;letter-spacing:-.045em}
.story-copy h3{font-size:clamp(1.8rem,2.7vw,2.8rem);margin-top:2.5rem}
.story-copy ol{display:grid;gap:1rem;margin:0;padding-left:1.4rem}
.story-copy .story-close{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(1.7rem,2.8vw,2.9rem);font-weight:600;line-height:1.18;letter-spacing:-.045em;margin-top:2rem}
.contact-main{min-height:100svh;padding-top:8rem}
.contact-main h1{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(3.7rem,8vw,7.3rem);line-height:1.02;letter-spacing:-.06em;max-width:1250px;margin:clamp(5rem,8vw,8rem) 0 4rem}
.contact-intro{max-width:760px;margin-left:auto;display:grid;gap:1.5rem}
.contact-intro p{font-size:clamp(1.1rem,1.55vw,1.5rem)}
.contact-form{margin-top:clamp(5rem,8vw,8rem);display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem;border-top:1px solid rgba(255,255,255,.7);padding-top:2rem}
.contact-form label{display:grid;gap:.75rem}
.contact-form label span{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.contact-form input,.contact-form textarea{font:inherit;font-size:1.2rem;color:#fff;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.7);border-radius:0;padding:.8rem 0;outline:none;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:#fff;box-shadow:0 2px 0 #fff}
.contact-form .full{grid-column:1/-1}
.contact-form button{grid-column:1/-1;justify-self:start;background:#fff;color:var(--blue);border:0;padding:1rem 1.35rem;font-weight:700;display:inline-flex;align-items:center;gap:1rem;cursor:pointer}
.direct-email{display:inline-block;margin-top:3rem;font-size:1.1rem;font-weight:700}

/* Keep display copy visually balanced and prevent short highlighted widows. */
h1,h2,h3{text-wrap:balance}
.white-block,.outline-word{white-space:nowrap}
.contact-main h1,.compact-contact h2{font-size:clamp(3.4rem,7.2vw,6.8rem);max-width:none}
.story-article h2{max-width:1040px}
@media(min-width:701px){
  .hero h1 em{white-space:nowrap}
}

@media(max-width:900px){
  .story-index{grid-template-columns:1fr 1fr}
  .story-index a:nth-child(2){border-right:1px solid var(--black)}
  .story-index a:nth-child(n+3){border-top:0}
  .process-list article>div{grid-template-columns:1fr;gap:1rem}
  .story-body{grid-template-columns:1fr}
}
@media(max-width:600px){
  .home-hero h1{font-size:clamp(2.8rem,10.4vw,4.4rem)}
  .home-hero .hero-bottom p,.inner-hero .hero-bottom p,.stories-hero .hero-bottom p{max-width:78%;font-size:1.05rem}
  .manifesto,.method,.process,.outcome,.home-bridge,.stories-preview,.story-index,.story-article{padding-top:3rem;padding-bottom:5rem}
  .preview-grid,.story-index{grid-template-columns:1fr}
  .preview-grid a{padding:1.25rem 0;min-height:230px;border-right:0!important}
  .story-index a,.story-index a:nth-child(2),.story-index a:last-child{border:1px solid var(--black);border-bottom:0;min-height:155px}
  .story-index a:last-child{border-bottom:1px solid var(--black)}
  .process-list article,.story-article>header{grid-template-columns:2.5rem 1fr;gap:.75rem}
  .story-article h2{font-size:clamp(2.7rem,11vw,4.4rem)}
  .story-body aside strong{font-size:3.5rem}
  .contact-main{padding-top:6rem}
  .contact-main h1,.compact-contact h2{font-size:clamp(3rem,11vw,4.25rem)}
  .contact-form{grid-template-columns:1fr}
  .contact-form .full,.contact-form button{grid-column:auto}
}

/* Keep the call-to-action perfectly still while its colour changes. */
.contact-link{
  padding-inline:1rem;
  margin-inline:-1rem;
  transition:background-color .2s,color .2s;
}
.contact-link:hover,.contact-link:focus-visible{
  padding-inline:1rem;
  background:#fff;
  color:var(--blue);
}

/* Show the whole group at every viewport width. */
.collaborative-interlude {
  height: auto;
  min-height: 0;
  background: #fff;
}
.collaborative-interlude img {
  display: block;
  width: 100%;
  height: auto;
}

/* Discreet founders section on How we work. */
.founders { padding: 3.5rem var(--pad) 4.5rem; }
.founders h2 { max-width: 42rem; margin: 2.5rem 0 3rem; font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.12; }
.founders-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 6rem); }
.founders-grid article { border-top: 1px solid #d0d0d0; padding-top: 1.4rem; }
.founder-photo { display: block; width: min(100%, 20rem); height: auto; margin: 0 0 1.6rem; }
.founders-grid h3 { font-size: 1.65rem; line-height: 1.15; letter-spacing: -.04em; }
.founders-grid p { max-width: 36rem; font-size: 1rem; line-height: 1.6; }
.founders-grid .founder-role { margin: .5rem 0 1.2rem; color: var(--blue); font-size: .9rem; }
@media (max-width: 700px) {
  .founders { padding-top: 3rem; padding-bottom: 3.5rem; }
  .founders-grid { grid-template-columns: 1fr; gap: 2rem; }
  .founders h2 { margin: 2rem 0 2.5rem; }
}

/* Offer pages and Why us inherit the established Organica visual system. */
.offer-section{padding:clamp(3rem,6vw,6rem) var(--pad) clamp(5rem,9vw,9rem)}
.offer-section h2{margin:4rem 0;font-size:clamp(2.8rem,5.8vw,6rem);line-height:1.06;max-width:1100px}
.offer-intro{font-size:clamp(1.15rem,1.65vw,1.6rem);max-width:760px;line-height:1.5;margin:0 0 3rem}
.offer-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--black)}
.offer-card{display:flex;flex-direction:column;padding:clamp(1.5rem,3vw,3rem);text-decoration:none;min-height:390px}
.offer-card+.offer-card{border-left:1px solid var(--black)}
.offer-card:hover,.offer-card:focus-visible{background:var(--blue);color:white}
.offer-label{font-size:.72rem;letter-spacing:.08em;font-weight:700;line-height:1.5}
.offer-card h3{font-size:clamp(2.3rem,4vw,4.3rem);line-height:1.05;margin:2rem 0 1.2rem;letter-spacing:-.05em}
.offer-card p{font-size:1.2rem;line-height:1.5;max-width:520px}
.offer-cta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:2rem;font-weight:700}
.offer-context{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;margin:0 0 4rem}
.offer-context h3,.preparation h3{font-size:1.65rem;line-height:1.2;margin:0}
.offer-context ul,.preparation ul{margin:0;padding-left:1.25rem;font-size:1.15rem;line-height:1.6}
.offer-context li,.preparation li{margin-bottom:.65rem}
.offer-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:3rem}
.format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff80;border-bottom:1px solid #ffffff80}
.format-grid article{padding:2rem;display:flex;flex-direction:column;min-width:0}
.format-grid article+article{border-left:1px solid #ffffff80}
.format-grid h3{font-size:clamp(1.8rem,2.6vw,3rem);line-height:1.1;margin:2rem 0 1.5rem;overflow-wrap:break-word}
.format-grid p{font-size:1.1rem;line-height:1.55}
.format-grid .text-link{margin-top:auto;font-size:1rem;gap:1rem;padding-top:1.5rem;align-items:center}
.format-result{border-top:1px solid #ffffff50;padding-top:1.25rem;font-weight:700}
.preparation{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;margin:4rem 0}
.jump-links{display:flex;flex-wrap:wrap;gap:2rem;margin-top:2rem}
.story-offer{color:var(--blue);font-size:.8rem!important;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.panel-black .story-offer{color:white}
.founders-grid .text-link{font-size:1rem;margin-top:1.5rem;gap:1rem;overflow-wrap:anywhere}
.contact-form select{font:inherit;width:100%;border:0;border-bottom:1px solid white;background:transparent;color:inherit;padding:1rem 0;border-radius:0}
.contact-form select option{color:var(--black);background:white}
.contact-location,.form-note{margin-top:2rem!important;margin-left:0!important;font-size:1rem!important}
#slow-cooking,#fast-fresh,#founders,#difference,#approach{scroll-margin-top:5.25rem}
.hero h1 em{white-space:normal}
.offer-section .process-list{margin-top:3rem}
.desktop-nav{gap:clamp(.9rem,1.8vw,2rem)}
:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:1000px){.format-grid{grid-template-columns:1fr}.format-grid article+article{border-left:0;border-top:1px solid #ffffff80}.format-grid article{padding:2rem 0}.offer-context,.preparation{grid-template-columns:1fr;gap:1.5rem}}
@media(max-width:700px){.offer-grid{grid-template-columns:1fr}.offer-card+.offer-card{border-left:0;border-top:1px solid var(--black)}.offer-card{min-height:340px}.offer-section h2{margin:3rem 0}.offer-section .process-list article>div{grid-template-columns:1fr;gap:1rem}.offer-section .process-list article{grid-template-columns:2rem 1fr;gap:1rem}.offer-footer{align-items:flex-start;flex-direction:column}}
