/* Compact section rhythm and scroll-led editorial surfaces. */
:root{--space-3xl:clamp(2rem,3.8vw,3.5rem);--space-2xl:3rem;--scroll-top:96px}
main>section{padding-block:var(--space-3xl)}
main>section+section{padding-top:1.5rem}
.hero.hero-motion{padding-block:2.5rem 1.5rem}
.hero-motion .hero-note{margin-top:1.25rem;padding-top:1rem}
.magic-section{padding-top:2rem;padding-bottom:2rem}
.magic-quote{margin-bottom:2.5rem;max-width:52rem}
.magic-quote blockquote{font-size:clamp(1.6rem,2.7vw,2.35rem)}
.magic-quote figcaption{margin-top:1rem}
.magic-intro{margin-bottom:1.5rem}
.section-head{margin-bottom:1.5rem}
.grid-2,.grid-3,.flow{align-items:start;gap:1.25rem}
.card{padding:clamp(1.25rem,2.5vw,2rem)}
.card-sm{padding:1.25rem}
.svc{gap:1rem}
.svc .btn{margin-top:.25rem}
.cta{text-align:left;justify-items:start;gap:1.25rem}
.cta .lede{text-align:left}
.cta .actions{justify-content:flex-start}
footer{margin-top:1.5rem;padding-top:2.5rem}
.foot-bottom{margin-top:2rem}
.contact-grid{align-items:start;gap:2.5rem;padding-bottom:2rem}
.contact-grid>.card{align-self:start;height:auto}
.contact-page .page-head{padding-block:2.5rem 2rem}
.contact-page .page-head .lede{margin-top:1.2rem}
.service-page .hero{padding-block:2.5rem 2rem}
.service-page .hero-grid>div{display:flex;flex-direction:column;gap:1.35rem;align-items:flex-start}
.service-page .hero-grid h1{margin:0;line-height:1.14;text-wrap:balance}
.service-page .hero-grid .lede{line-height:1.6}
.service-page .hero-actions{justify-content:flex-start;margin-top:.25rem;gap:.75rem}
.service-page .hero::before{display:none}
.service-page .hero-grid{gap:2.5rem}
.service-page .hero-art{align-self:center}
.service-page main>section+section{padding-top:1.25rem}
.service-page .flow{align-items:start}
.story-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:1rem}
.story-heading p{max-width:29rem;font-size:1rem;color:var(--color-muted)}
.story-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:3rem;align-items:start}
.story-chapter{min-height:48svh;display:flex;flex-direction:column;justify-content:center;align-items:start;padding:2rem 0;gap:1.25rem}
.story-chapter:first-child{min-height:42svh}
.story-chapter:last-child{min-height:42svh}
.story-chapter h3{font-size:clamp(1.8rem,3vw,2.8rem);max-width:14ch;line-height:1.12;transition:color 400ms}
.story-chapter[data-current] h3{color:var(--color-navy)}
.story-chapter p{font-size:1.1rem;line-height:1.65;max-width:29ch;color:var(--color-muted)}
.chapter-number{font-size:.8rem;color:var(--color-accent);border-bottom:1px solid var(--color-accent);padding-bottom:.35rem}
.story-frame{position:sticky;top:calc(var(--scroll-top) + 6svh);margin:4svh 0 0;min-width:0}
.story-image{overflow:hidden;border-radius:14px;background:var(--color-paper);aspect-ratio:1600/1048}
.story-image img{width:100%;height:100%;object-fit:contain;transform:translate3d(0,var(--story-offset,0px),0) scale(1.045)}
.story-frame figcaption{padding-top:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.82rem;color:var(--color-muted)}
.story-markers{display:flex;gap:.4rem}
.story-markers i{height:3px;width:22px;background:var(--color-rule);transition:background 300ms}
.story-markers i[data-current]{background:var(--color-accent)}
.horizontal-story{position:relative;margin-block:1rem 2rem;padding-block:0}
.horizontal-sticky{padding-block:1.5rem;display:flex;flex-direction:column;gap:1rem}
.horizontal-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}
.horizontal-heading h2{font-size:clamp(2rem,3vw,2.8rem)}
.horizontal-heading p{font-size:.85rem;color:var(--color-muted);margin-top:.8rem}
.horizontal-controls{display:flex;align-items:center;gap:.85rem;flex:none}
.horizontal-controls button{display:grid;place-items:center;width:44px;height:44px;border:var(--rule);border-radius:50%;background:var(--color-paper);color:var(--color-navy);cursor:pointer;transition:background 160ms}
.horizontal-controls button:hover{background:var(--color-paper-2)}
.horizontal-controls button:disabled{opacity:.35;cursor:default}
.horizontal-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.horizontal-controls [data-slide-counter]{font-size:.8rem;font-variant-numeric:tabular-nums;min-width:2.5rem;text-align:center}
.horizontal-window{overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin}
.horizontal-track{display:flex;gap:0;align-items:stretch}
.inspiration-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);align-items:center;gap:2.5rem;padding:1rem 1rem 1rem 0}
.inspiration-slide figure{margin:0;min-width:0}
.inspiration-slide img{display:block;width:100%;max-height:55svh;object-fit:contain;border-radius:12px}
.slide-copy{padding-right:1rem;display:grid;gap:1.25rem}
.slide-copy h3{font-size:clamp(1.75rem,2.8vw,2.7rem);line-height:1.12;text-wrap:balance}
.slide-copy p{font-size:1rem;line-height:1.6;max-width:26ch;color:var(--color-muted)}
.horizontal-progress{height:2px;background:var(--color-rule);margin-top:auto}
.horizontal-progress>span{display:block;height:100%;width:33.333%;background:var(--color-accent);transform:translateX(var(--rail-progress,0%))}
.horizontal-story[data-scroll-ready]{height:calc(var(--stage-height) + var(--scroll-distance));padding-block:0}
[data-scroll-ready] .horizontal-sticky{position:sticky;top:var(--scroll-top);height:var(--stage-height);justify-content:center}
[data-scroll-ready] .horizontal-window{overflow:hidden;scroll-snap-type:none}
[data-scroll-ready] .horizontal-track{transform:translate3d(var(--rail-x,0px),0,0)}
@media(max-width:59.99rem){
  .story-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.1fr);gap:1.5rem}.story-heading{gap:2rem}.story-heading p{max-width:23rem;font-size:.94rem}.story-chapter p{font-size:1rem}.story-chapter{min-height:40svh}.story-frame{top:calc(var(--scroll-top) + 9svh)}
  .inspiration-slide{gap:1.5rem;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.slide-copy h3{font-size:1.8rem}.slide-copy p{font-size:.94rem}
}
@media(max-width:43rem){
  :root{--space-3xl:2rem;--space-2xl:2rem}
  main>section+section{padding-top:1rem}.hero.hero-motion{padding-top:1.75rem}.hero-copy{gap:1rem}.intelligence-art{margin-top:.5rem}.hero-copy .hero-tagline{margin-top:0}.magic-section{padding-top:1.5rem}.magic-quote{margin-bottom:2rem}.magic-intro h2{font-size:1.85rem}.card{padding:1.25rem}.calc.card{padding:1rem}.capacity-art{padding:1.25rem}.service-page .hero{padding-top:2rem}.service-page .hero-grid>div{gap:1.25rem}.service-page .hero-grid{gap:1.75rem}.contact-grid{gap:2rem}.contact-page .page-head{padding-block:2rem 1.5rem}
  .story-heading{display:grid;gap:1rem;margin-bottom:1.5rem}.story-layout{display:flex;flex-direction:column;gap:0}.story-frame{position:relative;top:auto;order:-1;margin:0 0 1.25rem;width:100%}.story-image img{transform:none}.story-frame figcaption{padding-top:.7rem}.story-chapter,.story-chapter:first-child,.story-chapter:last-child{min-height:0;padding:1.25rem 0;gap:.75rem;border-top:var(--rule)}.story-chapter h3{font-size:1.6rem;max-width:none}.story-chapter p{max-width:100%;font-size:1rem}.chapter-number{display:none}
  .horizontal-story{margin-block:0 1rem}.horizontal-sticky{padding-block:1rem;gap:1rem}.horizontal-heading{gap:1rem;align-items:center}.horizontal-heading h2{font-size:1.75rem}.horizontal-heading p{font-size:.75rem;max-width:23ch}.horizontal-controls{gap:.35rem}.horizontal-controls button{width:36px;height:36px}.horizontal-controls [data-slide-counter]{font-size:.7rem;min-width:2rem}
  .inspiration-slide{grid-template-columns:1fr;gap:1.25rem;padding:.5rem 0 1rem;align-content:start}.inspiration-slide img{max-height:none;width:100%}.slide-copy{padding:0 .5rem;gap:.75rem}.slide-copy h3{font-size:1.75rem}.slide-copy p{max-width:33ch;font-size:.95rem}.horizontal-window{scrollbar-width:none}
}
@media(prefers-reduced-motion:reduce){
  .story-frame{position:relative;top:auto}.story-chapter,.story-chapter:first-child,.story-chapter:last-child{min-height:0;padding-block:1.5rem}.story-image img{transform:none}
  .horizontal-story[data-scroll-ready]{height:auto}[data-scroll-ready] .horizontal-sticky{position:relative;top:auto;height:auto}[data-scroll-ready] .horizontal-track{transform:none}[data-scroll-ready] .horizontal-window{overflow-x:auto;scroll-snap-type:x mandatory}
}
/* Case studies are an intentional equal-height comparison row. */
#case-studies .grid-3{align-items:stretch}
#case-studies .cs-card{height:100%}
#case-studies .cs-card .more{margin-top:auto}
/* Keep all of the supplied artwork visible while its frame stays pinned. */
.story-image{overflow:visible}
.story-image img{transform:none;border-radius:14px}
@media(min-width:60rem) and (max-height:700px){
  [data-scroll-ready] .inspiration-slide img{max-height:42svh}
  [data-scroll-ready] .horizontal-heading h2{font-size:2rem}
  [data-scroll-ready] .horizontal-heading p{margin-top:.5rem}
}
