/* Homepage: the studio archive. The shared 72rem rail stays in site-frame.css. */
.studio-home{--sheet:#242720;--sheet-ink:#eff2df;--print:#d6ff3f;--quiet:var(--muted);--space:clamp(3.5rem,7.7vw,7rem);--display:clamp(2.9rem,5.6vw,5.15rem)}
.studio-home h1,.studio-home h2,.studio-home h3,.studio-home p,.studio-home ul,.studio-home ol,.studio-home figure{margin:0}
.studio-home ul,.studio-home ol{list-style:none;padding:0}
.studio-home h1,.studio-home h2,.studio-home h3{font-family:var(--font-display);text-transform:none}
.studio-home h2{font-weight:650;font-size:var(--display);line-height:.98;letter-spacing:-.04em;text-wrap:balance}
.studio-home h3{font-weight:650;letter-spacing:-.047em;line-height:1.08}
.studio-home p{line-height:1.55}
.folio-caption small,.founder-print figcaption,.edition-caption,.test-print small{font:500 .8125rem/1.4 var(--font-body)}
.edition-handle{font:600 .95rem/1.35 var(--font-body)}
.studio-icon{display:block;flex:none;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.studio-home .paper-link{color:inherit;font-weight:580;text-underline-offset:.27em;text-decoration:underline;text-decoration-color:var(--line);white-space:normal;line-height:1.45}
.paper-link span{display:inline-block;transition:transform .2s}.paper-link:hover span{transform:translate(2px,-2px)}
.studio-home a:focus-visible,.studio-home summary:focus-visible,.studio-home button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.studio-section{padding-block:var(--space);border-top:1px solid var(--line)}
.box-hero{padding-top:calc(var(--nav-h) + clamp(2rem,4.7vw,4.5rem))}
.hero-spread{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(2rem,4vw,4rem);align-items:center}
.studio-intro{padding-bottom:.2rem}
.studio-intro h1{font-size:clamp(5.2rem,9vw,8.6rem);letter-spacing:-.091em;font-weight:720;line-height:.87}
.studio-intro h1 b{font-weight:inherit;color:var(--acid)}
.studio-home .hero-deck{margin-top:clamp(1.25rem,2.3vw,2rem);max-width:45ch;text-wrap:pretty;color:var(--text);font-size:clamp(1rem,1.28vw,1.16rem);line-height:1.54}
.studio-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.3rem;margin-top:clamp(1.25rem,2.3vw,2rem)}
.studio-actions .link-u{font-size:.94rem}
.box-edition{isolation:isolate;position:relative;align-self:stretch;min-height:25.75rem;background:radial-gradient(ellipse at 46% 34%,#3c4134,#282c24 45%,#191c17 86%);color:#eff2df;overflow:hidden}
.box-edition summary{position:absolute;inset:0;display:block;list-style:none;cursor:pointer}
.box-edition summary::-webkit-details-marker,.research-note summary::-webkit-details-marker{display:none}
.box-edition summary:focus-visible{outline-offset:-5px;color:var(--print)}
.edition-caption,.edition-handle{position:absolute;left:1.25rem;right:1.25rem;display:flex;align-items:center;justify-content:space-between}
.edition-caption{top:1.05rem;color:#e2e6d6;gap:1rem}.edition-caption span:first-child{font:550 .88rem var(--font-display);letter-spacing:-.02em}
.edition-handle{bottom:0;min-height:3.5rem;gap:1rem;border-top:1px solid #67705a;color:#f4f6eb}
.edition-handle small{margin-left:.8rem;color:#c2c9b7;font:400 .8rem/1.35 var(--font-body)}
.box-launch{display:grid;place-items:center;flex:none;width:2.125rem;height:2.125rem;border-radius:50%;background:var(--print);color:#171c11}
.box-launch .studio-icon{width:1.1rem;height:1.1rem}
.box-object{position:absolute;inset:1.6rem 0 3rem;pointer-events:none;transform-origin:50% 75%}
.box-object img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.box-lid{transform:translateY(12.4%);transition:transform .5s cubic-bezier(.2,.7,.22,1)}.box-edition:not([open]) summary:is(:hover,:focus-visible) .box-lid{transform:translateY(9%)}
.box-edition:not([open]) .open-label,.box-edition[open] .closed-label,.box-edition[open] .box-launch{display:none}
.box-edition[open] .edition-handle{inset:.06rem 1.2rem auto auto;min-height:2.75rem;border:0;font:500 .8125rem/1.3 var(--font-body);color:#d2d8c8}
.open-label{display:inline-flex;align-items:center;gap:.35rem}
.open-label .studio-icon{width:.9rem;height:.9rem}
.box-edition[open] .box-object{visibility:hidden}
.box-edition [hidden]{display:none!important}


@media(max-width:720px){.research-note summary{flex-wrap:wrap;gap:.25rem .4rem}}
.research-note{margin-top:.7rem}.research-note summary{display:inline-flex;align-items:baseline;gap:.58rem;cursor:pointer;list-style:none}.research-note summary span:first-child{font-style:italic;color:var(--text);text-decoration:underline;text-underline-offset:.2em}.research-note summary span:last-child{font:.8125rem/1.4 var(--font-body);color:var(--quiet)}.service-fields .research-note p{max-width:40ch;color:var(--text);font-size:.93rem}

/* One list is readable without motion; the duplicate closes the moving loop. */
.client-strip {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  margin-top: clamp(1.6rem, 4vw, 3.2rem);
  padding-block: clamp(.65rem, 1.15vw, 1rem);
  border-top: 1px solid var(--line);
}

.client-window {
  container-type: inline-size;
  width: min(calc(100% - 6rem), 50rem);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--muted) transparent;
}

.client-window:focus-visible {
  outline: 2px solid var(--acid);
  outline-offset: 3px;
}

.client-strip .marquee-track {
  position: relative;
  display: flex;
  width: max-content;
  animation: none;
}

.client-strip .marquee-logos {
  display: flex;
  flex: none;
  align-items: center;
  gap: 0;
  padding: 0;
}

.client-strip .marquee-logos li {
  display: grid;
  place-items: center;
  flex: none;
  width: 40cqi;
  height: clamp(3.75rem, 8cqi, 4.6rem);
}

.client-strip .marquee-logos img {
  display: block;
  width: auto;
  height: auto;
  max-width: 48%;
  max-height: 3.3rem;
  object-fit: contain;
}

.client-strip .marquee-logos .on-paper {
  padding: .35rem .5rem;
  background: white;
}

.client-strip .marquee-logos .farm {
  width: 48%;
  max-height: none;
}

.client-strip .marquee-logos[aria-hidden] { display: none; }

@media (prefers-reduced-motion: no-preference) {
  .client-strip.is-marquee .client-window:not(:focus-visible) {
    overflow: clip;
    mask-image: linear-gradient(to right, transparent, black 3%, black 97%, transparent);
  }

  .is-marquee .client-window:not(:focus-visible) .marquee-logos[aria-hidden] { display: flex; }

  .is-marquee .client-window:not(:focus-visible) .marquee-track {
    inset-inline-start: var(--logo-start, -10cqi);
    animation: marquee 64s linear infinite;
    animation-play-state: var(--client-play, paused);
  }
}

.client-strip.is-running { --client-play: running; }

@media (hover: hover) {
  .client-strip .client-window:hover { --client-play: paused; }
}

.client-motion {
  position: absolute;
  inset-inline-end: 0;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.client-motion::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid var(--line);
  border-radius: 50%;
}

.client-motion:hover,
.client-motion:focus-visible { color: var(--text); }
.client-motion .studio-icon { width: 16px; height: 16px; }
.client-motion[hidden],
.client-motion:not([data-paused]) svg:last-child,
.client-motion[data-paused] svg:first-child { display: none; }

@media (max-width: 720px) {
  .client-strip { margin-top: 1.35rem; padding-block: .55rem; }
  .client-window { flex: 1; min-width: 0; width: auto; }
  .client-motion { position: relative; }
  .client-strip .marquee-logos li { width: 49cqi; height: 3.65rem; }
  .client-strip .marquee-logos img { max-width: 80%; max-height: 2.75rem; }
  .client-strip .marquee-logos .farm { width: 80%; max-height: none; }
  .client-strip { --logo-start: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .client-motion { display: none; }
}


.folio-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:clamp(1.7rem,4vw,3.4rem)}
.folio-heading>.paper-link{margin-bottom:.25rem}
.folio-pair{display:grid;grid-template-columns:1.24fr 1fr;gap:clamp(1.75rem,4.1vw,3.8rem);align-items:start}
.folio-secondary{margin-top:clamp(2rem,7.2vw,6.2rem)}
.folio-card{text-decoration:none;color:inherit}.folio-photo{position:relative;overflow:hidden;background:var(--sheet)}
.folio-lead .folio-photo{aspect-ratio:1.58}.folio-secondary .folio-photo{aspect-ratio:1.62}
.shop-inset{position:absolute;z-index:1;right:3.5%;bottom:8%;width:27%;padding:3px;background:white;box-shadow:0 3px 18px #191b1340;transform:rotate(2deg)}.shop-inset img{display:block;width:100%;height:auto}
.folio-photo:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(0deg,#1718139e,transparent 80%);pointer-events:none}
.folio-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.folio-lead .folio-photo>img{object-position:50% 49%}.folio-secondary .folio-photo>img{object-position:50% 55%}
.folio-card:hover .folio-photo>img{transform:scale(1.035)}
.photo-credit{position:absolute;left:clamp(.8rem,2vw,1.55rem);bottom:1rem;font:650 clamp(1.5rem,3.5vw,3rem)/1 var(--font-display);color:white;z-index:1;letter-spacing:-.075em}
.folio-go{position:absolute;right:1rem;top:1rem;background:#f0f1e9;color:#151713;width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:50%;font-size:1.05rem}
.folio-caption{padding-top:.95rem}.folio-caption small{display:block;color:var(--quiet);margin-bottom:.5rem}.folio-caption h3{font-size:clamp(1.45rem,2.6vw,2.25rem);max-width:23ch;text-wrap:balance}
.studio-home .folio-index{margin-top:clamp(1.75rem,3.9vw,3.5rem);border-top:1px solid var(--line)}
.folio-index li{border-bottom:1px solid var(--line)}.folio-index a{display:grid;grid-template-columns:1fr 1.15fr auto;align-items:center;gap:1rem;padding:1rem 0;color:inherit}
.folio-index strong{font-size:clamp(1rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.04em}.folio-index span{color:var(--quiet)}.folio-index i{font-style:normal}
.folio-index a:hover strong,.folio-card:hover h3{text-decoration:underline;text-underline-offset:.18em}
.service-fields{margin-top:clamp(1.7rem,3.8vw,3.2rem)!important}
.service-fields>li{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:clamp(1.2rem,3vw,2.7rem);align-items:start;border-top:1px solid var(--line);padding:clamp(1.25rem,2.7vw,2.25rem) 0}
.service-fields>li:last-child{padding-bottom:0}
.service-fields h3{font-size:clamp(1.55rem,2.6vw,2.4rem)}.service-fields p{color:var(--quiet);max-width:35ch;margin-top:.48rem}
.group-links{display:flex;align-items:baseline;flex-wrap:wrap;gap:.48rem 1.15rem;max-width:25rem}
.group-links .paper-link{font-size:.97rem;padding:.14rem 0}
.field-lab,.studio-founder,.studio-faq,.studio-close{display:grid;grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr);gap:clamp(2rem,6.8vw,6.2rem);align-items:center}
.field-lab,.studio-founder{position:relative}
.field-lab>span[id],.deep-anchor{position:absolute;top:0}
.lab-story ol{margin:1.7rem 0 1.4rem;counter-reset:steps}.lab-story li{counter-increment:steps;position:relative;padding:0 0 1rem 2rem}
.lab-story li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:.15rem;font:.71rem/1.5 var(--font-body);color:var(--quiet)}
.lab-story h3{font-size:1.15rem;letter-spacing:-.025em}.lab-story p{margin-top:.24rem;color:var(--quiet);max-width:41ch}
.test-print{background:#e2e5da;color:#191d15;min-width:0}
.test-screen{padding:clamp(1rem,2.6vw,2.25rem);background:#d9decd}
.test-screen img{width:100%;height:auto;display:block;box-shadow:0 .65rem 1.8rem #1c27151c}
.test-print figcaption{display:flex;align-items:center;gap:1.2rem;padding:clamp(1rem,2.4vw,1.9rem);background:var(--print)}
.test-print strong{font:650 clamp(2.8rem,5.4vw,5.3rem)/.95 var(--font-display);letter-spacing:-.08em;white-space:nowrap}
.test-print figcaption>span{font:600 clamp(.9rem,1.3vw,1.12rem)/1.3 var(--font-display)}.test-print small{display:block;margin-top:.22rem;letter-spacing:0}
.studio-founder{grid-template-columns:minmax(0,.79fr) minmax(0,1.21fr)}
.founder-print img{display:block;width:100%;max-height:31rem;object-fit:cover;object-position:50% 40%}
.founder-print figcaption{display:flex;justify-content:space-between;gap:1rem;color:var(--quiet);margin-top:.6rem}
.founder-story>p{margin:1.2rem 0 1.75rem;max-width:49ch;line-height:1.65}
.founder-story figure{border-top:1px solid var(--line);padding-top:1.45rem}
.founder-story blockquote{margin:0;font:530 clamp(1.35rem,2.4vw,2.25rem)/1.19 var(--font-display);letter-spacing:-.046em}
.founder-story figure figcaption{display:flex;align-items:center;gap:.65rem;margin-top:.9rem;font-size:.87rem;color:var(--quiet)}
.founder-story figure img{border-radius:50%;object-fit:cover;width:2.3rem;height:2.3rem}
.studio-faq{align-items:start;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.studio-faq .question-list p{margin-bottom:1.1rem}.studio-faq .question-list summary{min-height:3.45rem}
.studio-close{
  position:relative;
  background:var(--print);
  color:#151812;
  border:0;
  padding-block:clamp(1.5rem,4.8vw,4.4rem);
  padding-inline:calc((100% - var(--frame)) / 2);
  margin-bottom:clamp(2rem,4.8vw,4.2rem);
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(1.7rem,4vw,4rem);
  align-items:end;
}
.studio-close h2{font-size:clamp(3.4rem,6.6vw,6.3rem);max-width:10ch}
.close-action{min-width:0}.close-action>p{max-width:35ch}.studio-close .booking-disclosure{margin-top:1.2rem}.studio-close .booking-disclosure>summary{display:inline-block;background:#171b12;color:white;line-height:1.35;cursor:pointer}.studio-close .contact-address{color:#161b10;font-size:.95rem;margin:1rem 0 0}
.studio-close .calendly-block{min-width:0;width:100%;max-width:100%;margin:1rem 0 0;background:var(--bg);color:var(--text)}.studio-close .calendly-placeholder{min-height:0;align-items:flex-start;padding:1rem;text-align:left;gap:.7rem}.studio-close .calendly-placeholder.is-loaded{padding:0}
.studio-close:has(.booking-disclosure[open]){align-items:start}
@media(min-width:1200px){.hero-spread{min-height:28rem}}
@media(max-width:900px){.hero-spread{gap:1.7rem}.group-links{gap:.28rem .8rem}.studio-close{grid-template-columns:1fr 1fr}.test-print figcaption{flex-wrap:wrap;gap:.45rem 1rem}}
@media(max-width:720px){
 .studio-home{--space:3.4rem;--display:clamp(2.55rem,9.6vw,3.9rem)}.box-hero{padding-top:calc(var(--nav-h) + 1.65rem)}
 .hero-spread{grid-template-columns:1fr;gap:1.5rem}.studio-intro h1{font-size:clamp(4.15rem,14.2vw,6.2rem);line-height:.92;letter-spacing:-.082em}.studio-home .hero-deck{max-width:43ch;margin-top:1rem}.studio-actions{margin-top:1.1rem;gap:.85rem}.studio-actions .btn{padding:.87rem 1.05rem}.studio-actions .link-u{font-size:.88rem}
 .folio-heading{align-items:start;gap:.8rem;flex-wrap:wrap}.folio-heading>.paper-link{display:none}.folio-pair{gap:1.8rem;grid-template-columns:1fr}.folio-secondary{margin-top:0}.folio-photo{aspect-ratio:1.85!important}.folio-caption small{margin-bottom:.32rem}.folio-caption h3{max-width:30ch}.folio-index a{grid-template-columns:minmax(0,1fr) auto;gap:.2rem .9rem;padding:.8rem 0}.folio-index span{grid-column:1;grid-row:2;font-size:.89rem}.folio-index i{grid-column:2;grid-row:1/3}
 .service-fields>li{grid-template-columns:minmax(0,1fr);gap:.75rem}.group-links{grid-column:1}
 .field-lab,.studio-founder,.studio-faq,.studio-close{grid-template-columns:1fr;gap:1.55rem}.lab-story li{padding-bottom:.8rem}.lab-story ol{margin:1.2rem 0 .6rem}
 .test-print figcaption{flex-wrap:nowrap}.test-print strong{font-size:clamp(2.45rem,11.5vw,4rem)}.test-print small{font-size:.75rem}.test-print .test-screen{padding:1.3rem}
 .founder-print{max-width:28rem}.founder-print img{aspect-ratio:1.4;height:auto;object-position:50% 34%}.founder-story>p{margin:.9rem 0 1.25rem}
 .studio-close{padding-block:1.4rem}.studio-close h2{font-size:clamp(3rem,12vw,4.2rem)}
}
@media(prefers-reduced-motion:reduce){.folio-photo>img,.paper-link span{transition:none}.folio-card:hover img,.paper-link:hover span{transform:none}}
