/* Shared V4 visual system. Original layout/functional styles remain upstream. */
body.v4-inner :is(.usecase-icon,.persona-icon,.type-card-icon,.tech-icon).v4-drawn-icon{width:56px;height:56px;min-width:56px;border:0;border-radius:0;background:transparent;display:block;overflow:visible;color:var(--text);--icon-accent:#c6ff31}
body.v4-inner .v4-drawn-icon svg{display:block;width:56px;height:56px}
body.v4-inner .v4-drawn-icon .mb-icon-accent{stroke:var(--icon-accent)}
body.v4-inner .v4-light .v4-drawn-icon{--icon-accent:#527324}
body.v4-inner {
  --bg:#0b0e10; --bg-2:#111719; --surface:#171b1d; --surface-2:#202628;
  --text:#f5f6f3; --text-2:#a8adb0; --text-3:#a8adb0; --muted:#a8adb0;
  --accent:#c6ff31; --accent-ink:#111806; --line:#303638; --line-2:#42494c;
  --font-mono:Onest,Arial,sans-serif; --radius:18px; --radius-lg:24px;
  --max:1320px; --gutter:6vw; --section-pad:100px;
  background:var(--bg); font-family:Onest,Arial,sans-serif;
}
body.v4-inner .wrap {max-width:1450px; width:100%; padding-inline:6vw; margin-inline:auto}
body.v4-inner .hero>.wrap {width:100%}
body.v4-inner .v4-site-nav {position:relative; background:#0b0e10; border:0; backdrop-filter:none; z-index:60}
.v4-nav-shell {width:90%; max-width:1450px; margin:auto; min-height:108px; display:grid; grid-template-columns:1fr auto 1fr; gap:30px; align-items:center}
.v4-nav-links {display:flex; gap:22px; align-items:center; font-size:14px}
.v4-nav-links a {white-space:nowrap; color:#f5f6f3}
.v4-nav-links a:hover {color:#c6ff31}
.v4-brand {font-size:29px; font-weight:700; letter-spacing:-1.8px; display:inline-flex; align-items:center; gap:7px; color:#f5f6f3}
.v4-brand span {font-size:19px; color:#c6ff31; letter-spacing:0}
.v4-nav-actions {display:flex; align-items:center; justify-content:flex-end; gap:22px}
.v4-phone {font-size:14px; white-space:nowrap}
.v4-nav-cta {border-radius:99px; background:#c6ff31; color:#111806; padding:13px 22px; font-size:14px; font-weight:500; white-space:nowrap}
.v4-menu-button,.v4-mobile-extra {display:none}
body.v4-inner .crumbs {background:transparent; border:0; font-size:12px; padding-block:15px; color:var(--text-2)}
body.v4-inner .hero {min-height:0; padding-top:55px; padding-bottom:90px; background:var(--bg); overflow:clip}
body.v4-inner .hero-grid {gap:5vw; grid-template-columns:1.2fr 1fr}
body.v4-inner :is(h1,.hero-headline) {font-size:clamp(40px,5.1vw,76px)!important; font-weight:300!important; letter-spacing:-.055em!important; line-height:1.08!important; text-wrap:balance}
body.v4-inner :is(h2,.section .h1) {font-size:clamp(32px,4vw,58px)!important; font-weight:300!important; letter-spacing:-.045em!important; line-height:1.1!important; text-wrap:balance}
body.v4-inner h3 {font-weight:500; letter-spacing:-.025em; line-height:1.2}
body.v4-inner :is(h1,h2,.hero-headline) em {font-style:normal; color:inherit}
body.v4-inner .hero-lead {font-size:18px; line-height:1.65; max-width:65ch; color:#bdc3c3}
body.v4-inner .chip {border:0; background:none; padding:0; color:#a8adb0; font-size:13px; text-transform:none; letter-spacing:0}
body.v4-inner .chip-dot {background:#ff8057; box-shadow:none; width:24px; height:2px; border-radius:0}
body.v4-inner :is(.eyebrow,.conveyor-eyebrow,.pain-eyebrow,.reel-eyebrow) {font-family:Onest,Arial,sans-serif; font-size:13px; text-transform:none; letter-spacing:0; color:#a8adb0}
body.v4-inner .section {padding-block:100px}
body.v4-inner :is(.conveyor-head,.pain-head,.reel-head,.showreel-head,.process-head,.tiers-head,.faq-head) {margin-bottom:48px}
body.v4-inner .btn {font-family:Onest,Arial,sans-serif; border-radius:99px; min-height:54px; padding:16px 27px; font-weight:500; letter-spacing:0; text-transform:none; box-shadow:none; font-size:15px}
body.v4-inner .btn-primary {background:#c6ff31; color:#111806; border-color:#c6ff31}
body.v4-inner .btn-primary:hover {background:#dbff81; transform:translateY(-2px)}
body.v4-inner .btn-ghost {border-color:#56603f; color:var(--text); background:transparent}
body.v4-inner :is(.reveal,.reveal:not(.is-visible)) {opacity:1; transform:none}
body.v4-inner :is(.card,.type-card,.tech-card,.usecase-card,.persona-card,.case-card,.case-deep,.tier-card,.pain-card,.helper-card,.form-card,.roi-card,.calc-card,.calc-wrap,.hsv) {border-radius:22px; box-shadow:none; border-color:var(--line)}
body.v4-inner :is(.type-card,.tech-card,.usecase-card,.persona-card,.pain-card):hover {transform:none; border-color:#718d37}
body.v4-inner :is(.pf-card,.pf-video-frame,.showreel-video-frame,.reel-thumb,.post-card) {border-radius:18px; overflow:hidden}
body.v4-inner :is(.pf-client,.pf-title,.post-card-title) {letter-spacing:-.025em}
body.v4-inner .pf-filter {border-radius:24px; background:#171b1d; padding:28px}
body.v4-inner :is(.pf-tag,.pf-filter-btn,.calc-opt,.calc-tab) {border-radius:99px; font-family:Onest,Arial,sans-serif; letter-spacing:0; text-transform:none}
body.v4-inner .hero-meta {border-color:#303638}
body.v4-inner :is(.hero-meta-num,.case-metric-num,.hsv-about-num) {font-weight:300; letter-spacing:-.05em}
body.v4-inner .v4-light {
  --bg:#f1f3f1; --bg-2:#fff; --surface:#fff; --surface-2:#e5e9e5;
  --text:#182020; --text-2:#586361; --text-3:#64706d; --muted:#586361;
  --line:#d8dfda; --line-2:#bcc9bf; --accent:#354d0d;
  background:#f1f3f1!important; color:#182020;
}
body.v4-inner .v4-light :is(h2,h3,h4,.h1,.lead,.body,p,li,.eyebrow,.usecase-title,.persona-title,.process-step-title,.faq-toggle,.faq-body,.case-deep-title,.case-metric-num) {color:var(--text)!important}
body.v4-inner .v4-light :is(.card,.usecase-card,.persona-card,.tech-card,.type-card,.pain-card,.case-card,.case-deep,.hsv-about-card,.objection,.quote-fig,.helper-card,.form-card,.calc-wrap,.gear-card,.proof-card,.process-step,.conveyor-card,.timeline-card,.team-card) {background:#fff!important; border-color:#d8dfda!important; box-shadow:none}
body.v4-inner .v4-light :is(.btn-primary,.btn-primary *) {color:#111806!important}
body.v4-inner .v4-light .btn-ghost {color:#182020; border-color:#879681}
body.v4-inner .v4-light :is(.faq-item,.objection,.versus-row,.vo-row,.process-rail) {border-color:#d8dfda}
body.v4-inner .v4-light :is(.accent,.case-metric-num) {color:#354d0d!important}
body.v4-inner :is(h1,h2,.h1) .accent {color:inherit!important}
body.v4-inner .v4-light :is(.case-metric-lab,.persona-block-label,.usecase-meta,.process-step-body,.process-step-day) {color:#586361}
body.v4-inner .v4-light a:not(.btn) {color:#30471c}
body.v4-inner .seo-text {padding-block:70px; border-top:1px solid #303638}
body.v4-inner .seo-text p {max-width:85ch; font-size:15px; line-height:1.8}
body.v4-inner .foot {background:#0b0e10; border-top:1px solid #303638; padding-block:65px 30px}
body.v4-inner .foot .brand {border:0; display:inline-flex; width:auto; height:auto; font-size:29px; font-weight:700; letter-spacing:-1.8px}
body.v4-inner :is(.foot-col-title,.foot-title,.foot-legal-label) {font-family:Onest,Arial,sans-serif; text-transform:none; letter-spacing:0}
body.v4-inner :is(input,textarea,select) {border-radius:12px; font-family:Onest,Arial,sans-serif}
body.v4-inner :is(.legal-wrap,#post) {background:#f1f3f1; color:#182020; padding:70px max(6vw,calc((100vw - 1100px)/2)); max-width:none; margin:0}
body.v4-inner :is(.legal-wrap,#post) :is(p,li,.post-deck,.post-meta,.post-body strong) {color:#47534f}
body.v4-inner :is(.legal-wrap,#post) h1 {max-width:1050px}
body.v4-inner :is(.legal-wrap,#post) :is(h1,h2,h3,h4) {color:#182020!important}
body.v4-inner #post :is(th,td) {color:#182020; border-color:#d8dfda; background:#fff}
body.v4-inner #post :is(.post-head,.post-body,.post-toc,.post-faq) {max-width:850px}
body.v4-inner #post :is(.post-toc,.post-faq,.table-wrap,.post-table) {background:#fff; color:#182020; border-color:#d8dfda; border-radius:18px}
body.v4-inner #post :is(h2,.post-body h2) {font-size:clamp(26px,3vw,38px)!important; margin-block:38px 18px}
body.v4-inner #post :is(a,.post-toc a) {color:#354d0d}
body.v4-inner #post .post-body {font-size:18px; line-height:1.8}
body.v4-inner #post .post-faq :is(summary,p) {color:#182020}
body.v4-inner .legal-wrap h2 {font-size:28px!important; margin-top:35px}
body.v4-inner .legal-wrap a {color:#354d0d}
body.v4-inner .quiz-shell {border-radius:24px}
@media(max-width:1100px) {
  .v4-nav-shell {grid-template-columns:1fr auto; min-height:88px; gap:20px}
  .v4-brand {grid-column:1; grid-row:1}
  .v4-nav-actions {grid-column:2; grid-row:1}
  .v4-phone {display:none}
  .v4-menu-button {display:grid; align-content:center; gap:6px; width:44px; height:44px; background:none; border:1px solid #56603f; border-radius:50%; color:#fff; cursor:pointer}
  .v4-menu-button span {height:1px; width:18px; background:currentColor; margin:auto}
  .v4-nav-links {display:none; position:absolute; top:88px; left:0; width:100%; padding:25px 6vw 35px; background:#171b1d; border-bottom:1px solid #303638; align-items:flex-start; gap:18px; font-size:20px; z-index:80}
  .v4-nav-links.v4-open {display:flex; flex-direction:column}
  .v4-mobile-extra {display:block}
  body.v4-inner .hero-grid {grid-template-columns:1fr; gap:40px}
  body.v4-inner .section {padding-block:75px}
}
@media(max-width:600px) {
  body.v4-inner {--gutter:6vw; --section-pad:64px}
  body.v4-inner .wrap {padding-inline:6vw}
  .v4-nav-shell {min-height:78px; width:88%}
  .v4-brand {font-size:25px}
  .v4-nav-cta {display:none}
  .v4-nav-links {top:78px}
  body.v4-inner .hero {padding-block:30px 55px}
  body.v4-inner :is(h1,.hero-headline) {font-size:36px!important; overflow-wrap:anywhere}
  body.v4-inner :is(h2,.section .h1) {font-size:34px!important; overflow-wrap:anywhere}
  body.v4-inner .hero-lead {font-size:16px}
  body.v4-inner .section {padding-block:64px}
  body.v4-inner .btn {min-height:50px; padding:14px 21px}
  body.v4-inner :is(.legal-wrap,#post) {padding:45px 6vw}
  body.v4-inner #post h1 {font-size:38px!important}
  body.v4-inner #post .post-body {font-size:16px}
  body.v4-inner .pf-filter {padding:20px}
  body.v4-inner .tl-after-grid {grid-template-columns:1fr; gap:24px}
  body.v4-inner .tl-after-item {min-width:0}
  body.v4-inner .foot {padding-top:45px}
}
@media(prefers-reduced-motion:reduce) {
  body.v4-inner *,body.v4-inner *:before,body.v4-inner *:after {animation:none!important; transition:none!important; scroll-behavior:auto!important}
}

/* Blog light theme: explicit contrast for interactive and editorial blocks. */
body.v4-inner .v4-light .blog-cat.is-active,
body.v4-inner .v4-light .blog-cat[aria-pressed="true"] {
  background:#354d0d;color:#fff!important;border-color:#354d0d;
}
body.v4-inner .v4-light .blog-cat:focus-visible {outline:2px solid #354d0d;outline-offset:3px}
body.v4-inner #post .post-callout {
  background:#fff;border-color:#d8dfda;border-left-color:#527324;
  padding:24px;border-radius:18px;
}
body.v4-inner #post .post-callout.is-no {background:#e5e9e5;border-left-color:#64706d}
body.v4-inner #post .post-callout h3 {color:#182020!important;margin:0 0 10px;font-weight:600}
body.v4-inner #post .post-callout :is(p,li) {color:#47534f}
body.v4-inner #post .post-callout p:last-child {margin-bottom:0}
body.v4-inner #post .post-faq {padding:28px;border:1px solid #d8dfda}
body.v4-inner #post .post-faq > h2 {margin:0 0 14px}
body.v4-inner #post .post-faq details {padding:20px 0;border-color:#d8dfda}
body.v4-inner #post .post-faq details:last-child {border-bottom:0;padding-bottom:0}
body.v4-inner #post .post-faq summary {padding-right:42px;line-height:1.5}
body.v4-inner #post .post-faq summary::after {
  display:grid;place-items:center;width:28px;height:28px;
  background:#e5e9e5;color:#354d0d;border-radius:50%;font-size:20px;line-height:1;
}
body.v4-inner #post .post-faq details[open] summary::after {background:#354d0d;color:#fff}
body.v4-inner #post .post-faq summary:focus-visible {outline:2px solid #354d0d;outline-offset:5px;border-radius:4px}
body.v4-inner .blog-cats {margin-top:32px}
body.v4-inner .blog-hero .blog-lead + .blog-lead {margin-top:18px!important}
body.v4-inner .blog-hero .blog-lead a {text-decoration:underline;text-underline-offset:3px}
body.v4-inner :is(#post,#blog) ::selection {background:#354d0d;color:#fff}
@media(max-width:760px) {
  body.v4-inner #post .post-faq {padding:22px}
  body.v4-inner #post .post-callout {padding:22px}
}

/* Open FAQ icon must contrast with the light theme's dark green disc. */
body.v4-inner .v4-light details.faq-item[open] .faq-toggle {
  color:#fff!important;background:#354d0d;border-color:#354d0d;
}
body.v4-inner .v4-light details.faq-item:not([open]) .faq-toggle {
  color:#182020!important;background:transparent;border-color:#bcc9bf;
}

/* Service-specific copy, form and studio contact share the site frame. */
body.v4-inner .studio-contact-layout {grid-template-columns:minmax(0,1fr) clamp(360px,20vw,420px);gap:40px clamp(48px,4vw,80px)}
body.v4-inner .studio-contact-copy {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:64px;align-content:start}
body.v4-inner .studio-contact-copy>.eyebrow {grid-column:1;grid-row:1}
body.v4-inner .studio-contact-copy>h2 {grid-column:1;grid-row:2/5;font-size:clamp(42px,3.5vw,64px);margin-bottom:0}
body.v4-inner .studio-contact-copy>.lead {grid-column:2;grid-row:1/3;margin-top:0;max-width:680px;font-size:18px}
body.v4-inner .studio-contact-copy>.cta-bullets {grid-column:2;grid-row:3;margin-top:24px}
body.v4-inner .studio-contact-copy>p:not(.lead) {grid-column:2}
body.v4-inner .studio-contact-layout>noscript {grid-column:1}
body.v4-inner .studio-contact-layout #form-root {min-width:0}
body.v4-inner .studio-contact-layout .form-card {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;padding:30px}
body.v4-inner .studio-contact-layout .form-card>.form-row {margin:0}
body.v4-inner .studio-contact-layout .form-card>:not(.form-row) {grid-column:1/-1}
body.v4-inner .studio-contact-layout .form-title {margin-bottom:4px}
body.v4-inner .studio-contact-layout .form-row label {font-family:Onest,Arial,sans-serif;text-transform:none;letter-spacing:0;font-size:13px;color:#b9c0bc}
body.v4-inner .studio-contact-layout .form-consent {margin:0;font-size:13px}
body.v4-inner .studio-contact-layout .form-policy {margin:0;font-size:13px}
body.v4-inner .studio-contact-card {min-width:0;padding:30px;border:1px solid #303638;border-radius:24px;background:#141a1b;color:#f5f6f3;align-self:start}
body.v4-inner .studio-contact-portrait {width:100px;height:100px;position:relative;overflow:hidden;border-radius:50%;margin-bottom:22px;background:#4d5354}
body.v4-inner .studio-contact-portrait img {position:absolute;width:190%;max-width:none;height:auto;left:50%;top:0;transform:translateX(-50%)}
body.v4-inner .studio-contact-card .studio-contact-role {font-size:12px;color:#a8adb0;margin:0}
body.v4-inner .studio-contact-card h3 {font-family:Onest,Arial,sans-serif;font-weight:500;font-size:26px;line-height:1.2;letter-spacing:-.035em;margin:8px 0 16px}
body.v4-inner .studio-contact-card p:not(.studio-contact-role) {font-size:15px;line-height:1.6;color:#a8adb0;margin:0}
body.v4-inner .studio-contact-card a {display:block;color:#c6ff31;margin-top:22px;font-size:16px}
@media(max-width:1100px) and (min-width:901px) {
 body.v4-inner .studio-contact-layout {grid-template-columns:minmax(0,1fr) 300px;column-gap:32px}
 body.v4-inner .studio-contact-card {padding:24px}
 body.v4-inner .studio-contact-layout .form-card {grid-template-columns:1fr;padding:24px}
}
@media(max-width:900px) {
 body.v4-inner .studio-contact-layout {grid-template-columns:minmax(0,1fr);gap:32px}
 body.v4-inner .studio-contact-copy {display:block}
 body.v4-inner .studio-contact-copy>h2 {font-size:clamp(36px,6vw,52px);margin-bottom:24px}
 body.v4-inner .studio-contact-layout .form-card {padding:24px}
 body.v4-inner .studio-contact-card {padding:26px}
}
@media(max-width:600px) {body.v4-inner .studio-contact-layout .form-card {grid-template-columns:1fr;padding:22px}}

body.v4-inner .form-privacy-line {display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;grid-column:1/-1}
body.v4-inner .studio-contact-layout .form-privacy-line .form-consent {display:flex;align-items:flex-start;gap:10px;margin:0;flex:0 1 auto}
body.v4-inner .studio-contact-layout .form-privacy-line .form-policy {margin:0;padding:0;font-size:13px;line-height:1.5}
body.v4-inner .form-privacy-line a {color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* A quiet typographic brand ribbon under portfolio metrics. */
body.v4-inner .portfolio-brand-strip {border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:42px;padding:24px 0 30px}
body.v4-inner .portfolio-brand-strip>p {font-size:12px;color:var(--text-2);margin:0 0 25px}
body.v4-inner .portfolio-brand-logos {display:grid;grid-template-columns:1.45fr 1.1fr .8fr .8fr .65fr 1fr;align-items:center;gap:30px;margin:0;padding:0;list-style:none;color:#d4d9d5}
body.v4-inner .portfolio-brand-logos li {font-family:Onest,Arial,sans-serif;font-size:clamp(20px,1.5vw,30px);font-weight:600;letter-spacing:-.055em;white-space:nowrap;line-height:1.2;text-align:center}
body.v4-inner .portfolio-brand-logos .brand-alfa {font-size:clamp(18px,1.3vw,26px);text-align:left}
body.v4-inner .portfolio-brand-logos .brand-hiberg {font-style:italic;font-weight:500}
body.v4-inner .portfolio-brand-logos .brand-nike {font-style:italic;font-weight:800;letter-spacing:-.075em;font-size:clamp(25px,1.8vw,36px)}
@media(max-width:1100px){body.v4-inner .portfolio-brand-logos {grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}body.v4-inner .portfolio-brand-logos .brand-alfa {text-align:center}}
@media(max-width:600px){body.v4-inner .portfolio-brand-strip {margin-top:30px;padding:22px 0 26px}body.v4-inner .portfolio-brand-logos {grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 15px}body.v4-inner .portfolio-brand-logos li {font-size:20px}body.v4-inner .portfolio-brand-logos .brand-alfa {font-size:16px}}
/* Align consent and policy by their text line rather than nested flex baselines. */
body.v4-inner .form-privacy-line {align-items:center}
body.v4-inner .studio-contact-layout .form-privacy-line .form-consent {align-items:center;line-height:20px;padding:0}
body.v4-inner .studio-contact-layout .form-privacy-line .form-consent input {margin:0;flex:0 0 16px;width:16px;height:16px;align-self:center}
body.v4-inner .studio-contact-layout .form-privacy-line .form-policy {line-height:20px;align-self:center}
/* Animation gallery: the final pair uses the same columns as the preceding work. */
body.v4-inner #showreel:has([data-video-src*="VVU7hGN8"]) .showreel-row {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}
body.v4-inner #showreel:has([data-video-src*="VVU7hGN8"]) .showreel-row>:first-child {grid-column:auto}
@media(max-width:760px) {
 body.v4-inner #showreel:has([data-video-src*="VVU7hGN8"]) .showreel-row {grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px}
}

/* About: a compact studio introduction and the portraits used on the homepage. */
body.about-studio-v4 .about-hero .hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,5vw,96px)}
body.about-studio-v4 .about-hero .hero-headline{font-size:clamp(42px,4.6vw,80px)!important;max-width:780px;margin-top:28px}
body.about-studio-v4 .about-hero .hero-lead{max-width:550px;margin-top:28px}
body.about-studio-v4 .about-hero-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
body.about-studio-v4 .about-hero-team figure{margin:0;min-width:0}
body.about-studio-v4 .about-portrait{position:relative;overflow:hidden;background:#202b27;border-radius:18px;aspect-ratio:4/3}
body.about-studio-v4 .about-portrait img{position:absolute;display:block;width:100%;max-width:none;height:auto;left:50%;top:0;transform:translateX(-50%);border-radius:0;object-fit:initial}
body.about-studio-v4 .about-portrait img[src*="alexander"]{width:185%;top:-3%}
body.about-studio-v4 .about-portrait img[src*="anastasia"]{width:165%;top:-4%;transform:translateX(-53.5%)}
body.about-studio-v4 .about-hero-team figcaption{font-size:15px;line-height:1.4;margin-top:12px}
body.about-studio-v4 .about-hero-team figcaption span{display:block;color:#a8b1ad;font-size:12px;margin-top:4px}
body.about-studio-v4 .about-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin-top:48px;padding-top:28px;gap:24px}
body.about-studio-v4 .about-hero-stats strong{display:block;font-size:clamp(32px,3vw,48px);font-weight:300;letter-spacing:-.05em;line-height:1.15}
body.about-studio-v4 .about-hero-stats span{display:block;font-size:13px;color:#a8b1ad;margin-top:8px}
body.about-studio-v4 .persona-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
body.about-studio-v4 .persona-card{padding:22px;min-width:0}
body.about-studio-v4 .persona-card .about-portrait{width:100%;height:auto;aspect-ratio:4/5;border:0;border-radius:14px;display:block;flex:none}
body.about-studio-v4 .persona-title{font-size:23px}
@media(max-width:1100px){body.about-studio-v4 .persona-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.about-studio-v4 .about-hero .hero-grid{gap:32px}body.about-studio-v4 .about-hero-team{gap:20px 14px}}
@media(max-width:760px){body.about-studio-v4 .about-hero .hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}body.about-studio-v4 .about-hero .hero-headline{font-size:clamp(40px,8vw,58px)!important}body.about-studio-v4 .about-hero .hero-lead{font-size:16px;margin-top:22px}body.about-studio-v4 .about-hero-team figcaption{font-size:13px}body.about-studio-v4 .about-hero-team figcaption span{font-size:11px}body.about-studio-v4 .about-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:36px;gap:26px}body.about-studio-v4 .persona-grid{grid-template-columns:minmax(0,1fr)}}

/* Glossary: use the light section palette consistently after the V4 redesign. */
body.v4-inner .gl-hero{background:var(--bg);color:var(--text)}
body.v4-inner .gl-aud{background:#171e1b;border-color:#303b35}
body.v4-inner .gl-aud b{color:#f5f6f3}
body.v4-inner .gl-aud span{color:#b8c2bd}
body.v4-inner .v4-light .gl-toolbar{position:relative;top:auto;background:#f1f3f1;backdrop-filter:none;border-bottom:1px solid #d8dfda;padding-block:18px}
body.v4-inner .v4-light .gl-tab{background:#fff;color:#43504a;border-color:#bcc9bf}
body.v4-inner .v4-light .gl-tab:hover{border-color:#527324;color:#30471c}
body.v4-inner .v4-light .gl-tab.is-active{background:#c6ff31;border-color:#c6ff31;color:#182020}
body.v4-inner .v4-light .gl-tab .n{opacity:1;color:inherit}
body.v4-inner .v4-light .gl-search input{background:#fff;color:#182020;border-color:#bcc9bf;color-scheme:light}
body.v4-inner .v4-light .gl-search input::placeholder{color:#586361;opacity:1}
body.v4-inner .v4-light .gl-card{background:#fff;border-color:#d8dfda;border-radius:22px}
body.v4-inner .v4-light .gl-card :is(.gl-en,.gl-serv){color:#586361}
body.v4-inner .v4-light .gl-card .gl-card-cat{color:#354d0d}
body.v4-inner .v4-light .gl-card :is(summary,a){color:#30471c;text-decoration:underline;text-underline-offset:3px}
body.v4-inner .v4-light .gl-card details{border-color:#d8dfda}
body.v4-inner .v4-light .gl-card summary::after{content:' +';display:inline-block;margin-left:6px;text-decoration:none;font-weight:600}
body.v4-inner .v4-light .gl-card details[open] summary::after{content:' −'}
body.v4-inner .v4-light .gl-index{background:#fff;border-color:#d8dfda;border-radius:22px}
body.v4-inner .v4-light .gl-index-title{color:#586361}
body.v4-inner .v4-light .gl-index-links a{color:#30471c;text-decoration:underline;text-underline-offset:3px}
body.v4-inner .v4-light :is(.gl-tab,.gl-search input,.gl-card summary,.gl-card a,.gl-index-links a):focus-visible{outline:2px solid #527324;outline-offset:4px}

/* Direct paths to existing niche avatar pages. */
body.v4-inner .avatar-niche-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:36px}
body.v4-inner .v4-light .avatar-niche-card{display:flex;flex-direction:column;background:#fff;border:1px solid #d8dfda;border-radius:22px;padding:28px;color:#182020;text-decoration:none}
body.v4-inner .avatar-niche-card h3{font-size:23px;margin:0 0 18px}
body.v4-inner .avatar-niche-card p{font-size:15px;line-height:1.6;margin:0 0 24px}
body.v4-inner .avatar-niche-card span{margin-top:auto;color:#30471c;text-decoration:underline;text-underline-offset:4px;font-size:14px}
body.v4-inner .avatar-niche-card:hover{border-color:#527324}
body.v4-inner .avatar-niche-all{display:inline-block;margin-top:28px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){body.v4-inner .avatar-niche-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.v4-inner .avatar-niche-grid{grid-template-columns:minmax(0,1fr);gap:16px}}

/* Day labels need a pill rather than a single-digit circle. */
.v4-inner .process-step-num--day {
  width: fit-content;
  min-width: 76px;
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  white-space: nowrap;
  line-height: 1;
  flex-shrink: 0;
}
