/* v12 · Shared mobile typography and explicit device-theme colors. */
:root,html.promo-showcase{color-scheme:light dark}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.brand-picture{display:block;width:100%;max-width:100%;line-height:0}
.brand-picture>img{display:block;width:100%;height:auto}
/* The selected SVG owns its colors; never apply a second inversion. */
.brand-picture>.brand-approved{filter:none}

@media screen and (max-width:780px){
  /* Negative tracking in the desktop compositions obscured Cyrillic on phones. */
  body :is(h1,h2,h3,h4,h5,h6),body :is(h1,h2,h3,h4,h5,h6) span{
    letter-spacing:normal!important;word-spacing:normal!important;
    word-break:normal;overflow-wrap:anywhere;hyphens:manual;
  }
  body :is(h1,h2,h3,h4,h5,h6){line-height:1.2!important}
  body :is(p,li,dd,dt,label,summary,button,input,textarea,select),
  body :is(.large-copy,.audience-person,.hero-explore,.inline-link,.text-link,.conversion-link){
    letter-spacing:normal;word-spacing:normal;
  }
  body p,body li,body dd{line-height:1.65}
  body :is(button,input,textarea,select){font-size:max(16px,1em)}
  body :is(input,textarea,select){max-width:100%;min-width:0}
  body :is(.inquiry-form,.inquiry-intro,.audience-person,.person,.panel-copy){min-width:0}
  .hero h1,.service-page .service-hero h1,.case-page .case-top h1,.standard-article h1{
    font-size:clamp(32px,8.4vw,48px);
  }
  .hero h1 .hero-property-line{white-space:normal}
  .inquiry-intro h2,.home-entry-paths>h2,.regional-intro h2{font-size:clamp(29px,7.8vw,38px)}
  .inquiry-intro h2 br{display:none}
  .inquiry-intro .inquiry-owner{padding:22px}
  .inquiry-owner :is(a,strong),.audience-person :is(a,strong){overflow-wrap:anywhere}
  .inquiry-owner [data-owner-phone],.audience-person a[href^="tel:"]{font-size:16px;white-space:nowrap}
  .promo-showcase .emotion-hero h1{font-size:clamp(35px,9.8vw,54px);line-height:1.14!important}
  .promo-showcase :is(.section-heading h2,.approach-intro h2,.centered-heading h2,.conversion-proof>h2,.service-standard-intro h2,.regional-teaser h2,.digital h2,.invitation h2,.inquiry-intro h2,.conversion-faq h2),
  .promo-showcase #your-task>h2,.promo-showcase .journey .section-heading h2{
    font-size:clamp(29px,7.8vw,39px);max-width:100%;
  }
  .promo-showcase .inquiry-intro h2{max-width:19ch}
  .promo-showcase .audience-split h3,.promo-showcase .journey-panels .panel-copy h3{font-size:clamp(25px,6.8vw,31px)}
  .promo-showcase :is(.hero-scene figcaption>p:not(.hero-project-context),.life-mosaic figcaption p){
    letter-spacing:normal;word-spacing:normal;font-size:clamp(27px,7vw,36px);line-height:1.2;
  }
  .promo-showcase .hero-subtitle{font-size:17px;line-height:1.65}
  .promo-showcase .hero-subtitle br{display:none}
  .promo-showcase .hero-business-note{font-size:13px;line-height:1.65;max-width:42ch;margin-inline:auto}
  .promo-showcase .promo-brand{width:clamp(190px,56vw,220px);max-width:calc(100% - 76px);flex-shrink:1}
  .promo-showcase .menu-toggle{min-height:44px;flex-shrink:0;font-size:13px;letter-spacing:normal}
  .promo-showcase .promo-header nav a{line-height:1.5;letter-spacing:normal}
  .promo-showcase .journey-tabs button{white-space:normal;line-height:1.45}
  .promo-showcase .highlight-card{height:520px}
  .promo-showcase .highlight-copy h3{font-size:27px}
  .promo-showcase .highlight-copy>p{font-size:14px;line-height:1.6}
  .promo-showcase .workflow-track button{font-size:12px;line-height:1.4;white-space:normal}
  .promo-showcase .workflow [role=tabpanel] p{min-height:0}
  .promo-showcase .workflow-top,.promo-showcase .workflow-bottom{font-size:12px;line-height:1.6}
  .promo-showcase .person h3{font-size:25px;line-height:1.3!important}
  .promo-showcase .promo-footer{gap:24px}
  .promo-showcase .promo-footer>p,.promo-showcase .promo-footer>div{font-size:14px;line-height:1.65}
  .promo-showcase .promo-footer a{overflow-wrap:anywhere}
}
@media screen and (max-width:360px){
  .promo-showcase .hero-scene figcaption{left:20px;right:20px}
  .promo-showcase .hero-project-caption a{font-size:17px}
  .promo-showcase .hero-scene{height:520px}
  .promo-showcase .audience-split>article,.promo-showcase .journey-panels .panel-copy{padding:22px}
  .promo-showcase .workflow{padding:22px}
  .promo-showcase .standard-cards article{padding:22px}
}

@media screen and (prefers-color-scheme:dark){
  :root,html.promo-showcase{
    --adaptive-bg:#111922;--adaptive-surface:#1c2938;--adaptive-raised:#263547;
    --adaptive-ink:#f5f2eb;--adaptive-muted:#bdc8d4;--adaptive-line:#586a7c;--adaptive-gold:#d9bd8c;
    --adaptive-input-line:#718398;
    --p-bg:var(--adaptive-bg);--p-ink:var(--adaptive-ink);--p-muted:var(--adaptive-muted);--p-gold:var(--adaptive-gold);
    --cv-bg:var(--adaptive-bg);--cv-surface:var(--adaptive-surface);--cv-ink:var(--adaptive-ink);
    --cv-muted:var(--adaptive-muted);--cv-line:var(--adaptive-line);--cv-gold:var(--adaptive-gold);
    color-scheme:dark;
  }
  /* New shared blocks need the same theme as the original main site. */
  .home-entry-paths .conversion-path-grid article,.inquiry-owner,
  .principles .principle-grid article,.principles .data-trust,.region-card,
  .regional-material .regional-result,.region-baseline{
    background:var(--adaptive-surface);color:var(--adaptive-ink);border-color:var(--adaptive-line);
  }
  .home-entry-paths .path-audience,.home-entry-paths .conversion-path-grid article>p:not(.path-audience),
  .inquiry-intro .management-scope,.inquiry-resident>span,.audience-person>span,
  .standard-cards p,.standard-scope,.standard-article .standard-lead,
  .region-lead,.region-note,.region-card>p:not(.region-tag){color:var(--adaptive-muted)}
  .home-entry-paths .conversion-path-grid h3,.home-entry-paths .conversion-link,
  .principles-overview-link,.region-card .region-tag,.region-jumps a{color:var(--adaptive-ink)}
  .region-jumps a,.regional-material,.regional-intro,.standard-next{border-color:var(--adaptive-line)}
  .region-jumps a:hover,.region-jumps a:focus-visible{background:var(--adaptive-raised)}
  .developer-experience .developer-logo img,.developer-logo-wall img{background:#f5f2eb;padding:8px;border-radius:8px}

  /* Promo: photos retain their original colors; only the interface changes. */
  html.promo-showcase,.promo-showcase body{background:var(--adaptive-bg);color:var(--adaptive-ink)}
  .promo-showcase .promo-header{background:#111922ed;border-color:#586a7c66;color:var(--adaptive-ink)}
  .promo-showcase .promo-header nav{background:transparent}
  .promo-showcase .promo-header nav a:hover{color:var(--adaptive-gold)}
  .promo-showcase .emotion-hero{background:linear-gradient(180deg,#0b1b2e,var(--adaptive-bg));color:var(--adaptive-ink)}
  .promo-showcase .emotion-hero h1 span{color:var(--adaptive-ink)}
  .promo-showcase .approach,.promo-showcase .conversion-request{
    background:linear-gradient(180deg,var(--adaptive-bg),#15212e 30%,#15212e 65%,var(--adaptive-bg));
  }
  .promo-showcase .journey,.promo-showcase .conversion-proof,.promo-showcase .service-standard-intro{background:var(--adaptive-bg);color:var(--adaptive-ink)}
  .promo-showcase :is(.eyebrow,.path-audience,.inline-link,.text-link,.hero-explore,.hero-category,
  .conversion-path-grid h3,.approach-intro h2 span,.large-copy strong,.approach-points h3,
  .inquiry-intro h2,.person h3,.service-standard-intro h3,.developer-strip>p){color:var(--adaptive-ink)}
  .promo-showcase :is(.hero-business-note,.hero-subtitle,.hero-scene-controls>p,.section-lead,.large-copy,.muted,
  .centered-heading h2 span,.audience-person>span,.inquiry-intro .management-scope,.inquiry-resident>span,
  .inquiry-intro>p:not(.eyebrow),.standard-cards p,.standard-scope,.regional-teaser-copy>p,
  .feeling-action p,.approach-points p,.service-scope-note,.panel-copy p,.person h3 span,.person>p,.person small,
  .resident-route,.dialog-copy>p:not(.eyebrow),.promo-footer>p){color:var(--adaptive-muted)}
  .promo-showcase .audience-split>article,.promo-showcase .inquiry-owner,
  .promo-showcase .service-standard-intro .standard-cards article,
  .promo-showcase .proof-grid article,.promo-showcase .journey-panels article,.promo-showcase .feeling-action,
  .promo-showcase .feature-dialog,.promo-showcase .dialog-content figcaption{
    background:var(--adaptive-surface);color:var(--adaptive-ink);border-color:var(--adaptive-line);box-shadow:none;
  }
  .promo-showcase .dialog-content figcaption{color:var(--adaptive-muted)}
  .promo-showcase .promo-developer-logos a{background:#f5f2eb;border-color:#f5f2eb}
  .promo-showcase .person-photo{background:transparent}
  .promo-showcase .promo-footer,.promo-showcase .experience-directory a{border-color:var(--adaptive-line)}
  .promo-showcase .experience-directory a:hover{background:var(--adaptive-surface);color:var(--adaptive-ink)}
  .promo-showcase .scene-tabs{background:transparent}
  .promo-showcase .journey-tabs{background:var(--adaptive-surface)}
  .promo-showcase .scene-tabs button,.promo-showcase .journey-tabs button{color:var(--adaptive-ink)}
  .promo-showcase .scene-tabs button[aria-selected=true],.promo-showcase .journey-tabs button[aria-selected=true]{background:var(--adaptive-ink);color:#0b1b2e}
  .promo-showcase .hero-playback button,.promo-showcase .gallery-arrows button{background:var(--adaptive-surface);color:var(--adaptive-ink);border-color:var(--adaptive-line)}
  .promo-showcase .hero-playback button:hover{background:var(--adaptive-raised)}
  .promo-showcase .gallery-dots button{background:var(--adaptive-line)}
  .promo-showcase .gallery-dots button[aria-pressed=true]{background:var(--adaptive-ink)}
  .promo-showcase .pill-cta,.promo-showcase .emotion-hero .pill-cta,.promo-showcase .inquiry-submit,
  .promo-showcase .promo-header .nav-cta,.promo-showcase .inquiry-mobile-cta,.promo-showcase .feeling-action a{
    background:var(--adaptive-ink);color:#0b1b2e;border-color:var(--adaptive-ink);
  }
  .promo-showcase .pill-cta:hover,.promo-showcase .emotion-hero .pill-cta:hover,.promo-showcase .inquiry-submit:hover,
  .promo-showcase .promo-header .nav-cta:hover{background:var(--adaptive-gold);color:#0b1b2e}
  .promo-showcase .feeling-action a.inline-link{color:#0b1b2e}
  .promo-showcase .inquiry-form>input,.promo-showcase .inquiry-form>textarea,.promo-showcase .inquiry-form>select{
    background:var(--adaptive-surface);color:var(--adaptive-ink);border-color:var(--adaptive-input-line);color-scheme:dark;
  }
  .promo-showcase .inquiry-form :is(input,textarea,select):focus{outline-color:var(--adaptive-gold);border-color:var(--adaptive-gold)}
  .promo-showcase .inquiry-form :is(input,textarea)::placeholder{color:var(--adaptive-muted);opacity:1}
  .promo-showcase .inquiry-status[data-state=error]{color:#ffb5ad}
  .promo-showcase :is(a,button,summary):focus-visible{outline-color:var(--adaptive-gold)}
  .promo-showcase .ever .eyebrow,.promo-showcase .digital .eyebrow,
  .promo-showcase .ever .centered-heading h2 span,.promo-showcase .digital h2 span{color:var(--adaptive-gold)}
  .promo-showcase .invitation .pill-cta{background:var(--adaptive-gold);color:#0b1b2e}
  .promo-showcase .ever .section-lead,.promo-showcase .digital .section-lead{color:var(--adaptive-ink)}
  @media(max-width:780px){.promo-showcase .promo-header nav{background:#111922fa;border-color:var(--adaptive-line)}}
}
@media print{:root,html.promo-showcase{color-scheme:light}}
