/*
  Orilence Studio public design system.
  This layer is the canonical source for shared monochrome tokens and site chrome.
  Page-specific composition remains in styles.css, home.css and deliverable.css.
*/

:root {
  --studio-black: #050505;
  --studio-white: #ffffff;
  --studio-gray-050: #fafafa;
  --studio-gray-100: #f4f4f4;
  --studio-gray-200: #e5e5e5;
  --studio-gray-300: #cccccc;
  --studio-gray-500: #767676;
  --studio-gray-700: #3b3b3b;
  --studio-gray-900: #171717;
  --studio-radius-control: 5px;
  --studio-radius-card: 6px;
  --studio-header-height: 108px;
  --studio-container-wide: 1320px;
  --display-font: var(--font-display);

  --surface-page: var(--studio-white);
  --surface-page-alt: var(--studio-gray-100);
  --surface-card-muted: var(--studio-gray-100);
  --surface-inverse: var(--studio-black);
  --text-primary: #080808;
  --text-secondary: #555555;
  --text-muted: var(--studio-gray-500);
  --border-subtle: var(--studio-gray-200);
  --border-default: var(--studio-gray-300);
  --radius-xs: 4px;
  --radius-sm: var(--studio-radius-control);
  --radius-md: var(--studio-radius-card);
  --radius-lg: 8px;
  --radius-xl: 12px;
  --shadow-xs: none;
  --shadow-sm: none;
  --shadow-md: none;
}

/*
  Keep the browser scrollbar quiet, but give the draggable thumb the same
  restrained spectral signature as the primary Studio action.
*/
@supports (-moz-appearance: none) {
  html {
    scrollbar-color: #a79fbd #f4f1f5;
    scrollbar-width: thin;
  }
}

html::-webkit-scrollbar {
  width: 10px;
}

html::-webkit-scrollbar-track {
  background: #f4f1f5;
}

html::-webkit-scrollbar-thumb {
  min-height: 52px;
  border: 2px solid #f4f1f5;
  border-radius: 999px;
  background: linear-gradient(180deg, #d7cde9 0%, #a69cbe 34%, #c6a9ba 68%, #b5d0d2 100%);
  background-clip: padding-box;
}

html::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #c8bce1 0%, #8f84ad 34%, #b991aa 68%, #93bfc3 100%);
  background-clip: padding-box;
}

html::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}

@media (max-width: 640px) {
  html::-webkit-scrollbar {
    width: 4px;
  }

  html::-webkit-scrollbar-track {
    background: transparent;
  }

  html::-webkit-scrollbar-thumb,
  html::-webkit-scrollbar-thumb:hover {
    border: 0;
  }
}

.wide-container {
  width: min(var(--studio-container-wide), calc(100% - 64px));
  margin-inline: auto;
}

.site-header.studio-header {
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  height: var(--studio-header-height);
  padding-top: 18px;
  border: 0;
  color: var(--studio-black);
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body.has-scrolled .site-header.studio-header {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.studio-header .header-inner {
  width: min(1360px, calc(100% - 22vw));
  min-width: 960px;
  height: 70px;
  min-height: 70px;
  margin-top: 0;
  padding-inline: 24px 14px;
  border: 1px solid rgba(5, 5, 5, .08);
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 26px rgba(5, 5, 5, .12), 0 2px 7px rgba(5, 5, 5, .06);
  backdrop-filter: blur(18px);
}

.studio-header .brand,
.studio-header .brand-text strong,
.studio-header .brand-text span {
  color: var(--studio-black);
}

.studio-header .brand-mark {
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  clip-path: circle(50% at 50% 50%);
  object-fit: contain;
  filter: none;
}

.studio-header .header-nav {
  gap: clamp(12px, 1.7vw, 24px);
  color: var(--studio-gray-700);
}

.studio-header .header-nav > a {
  display: inline-flex;
  min-height: 42px;
  padding: 0 10px;
  align-items: center;
  border-radius: 999px;
  color: var(--studio-gray-700);
  font-size: 14px;
  font-weight: 620;
  white-space: nowrap;
  box-shadow: inset 0 0 0 1px transparent;
  transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.studio-header .header-nav-trigger {
  display: inline-flex;
  min-height: 44px;
  padding: 0 10px;
  align-items: center;
  gap: 6px;
  border: 0;
  color: var(--studio-gray-700);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 620;
  white-space: nowrap;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px transparent;
  transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.studio-header .header-nav-trigger .o-icon {
  width: 14px;
  height: 14px;
  transition: transform 180ms ease;
}

.studio-header .header-nav-trigger[aria-expanded="true"] {
  color: var(--studio-black);
}

.studio-header .header-nav-trigger[aria-expanded="true"] .o-icon {
  transform: rotate(180deg);
}

.studio-header .header-nav > a::after,
.studio-directions-menu a::after {
  display: none;
  content: none;
}

.studio-header .header-nav > a:hover,
.studio-header .header-nav > a:focus-visible,
.studio-header .header-nav > a[aria-current="page"] {
  color: var(--studio-black);
  background: var(--studio-gray-100);
  box-shadow: inset 0 0 0 1px rgba(5, 5, 5, .2);
}

.studio-header .header-nav-trigger:hover,
.studio-header .header-nav-trigger:focus-visible,
.studio-header .header-nav-trigger[aria-expanded="true"] {
  color: var(--studio-black);
  background: var(--studio-gray-100);
  box-shadow: inset 0 0 0 1px rgba(5, 5, 5, .2);
}

.studio-directions-menu {
  width: min(780px, calc(100vw - 32px));
  padding: 14px;
}

.studio-directions-menu::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 18px;
  content: "";
}

.studio-directions-menu .ui-mega-grid a {
  color: var(--studio-black);
  text-decoration: none;
}

.studio-directions-recommended {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
}

/* 2026-08 pearl unification: shared chrome and editorial surfaces. */
:root {
  --pearl-page: #f7f7fb;
  --pearl-surface: rgba(255, 255, 255, .82);
  --pearl-surface-strong: #ffffff;
  --pearl-ink: #1d1b26;
  --pearl-muted: #686577;
  --pearl-line: rgba(67, 61, 93, .14);
  --pearl-lavender: #7568df;
  --pearl-violet: #393451;
  --pearl-shadow: 0 20px 60px rgba(52, 46, 86, .09);
}

body.service-page,
body.pricing-page,
body.policy-page {
  color: var(--pearl-ink);
  background:
    radial-gradient(circle at 84% 8%, rgba(171, 188, 255, .18), transparent 30rem),
    radial-gradient(circle at 12% 18%, rgba(255, 216, 231, .15), transparent 28rem),
    var(--pearl-page);
}

body.service-page main,
body.pricing-page main { overflow: clip; }

.site-header.studio-header,
body.has-scrolled .site-header.studio-header {
  height: 88px;
  padding: 0;
  border-bottom: 1px solid rgba(67, 61, 93, .1);
  color: var(--pearl-ink);
  background: rgba(249, 249, 252, .82);
  box-shadow: none;
  backdrop-filter: blur(22px) saturate(135%);
}

.studio-header .header-inner {
  width: min(1320px, calc(100% - 64px));
  min-width: 0;
  height: 88px;
  min-height: 88px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.studio-header .brand { gap: 10px; }
.studio-header .brand-mark,
.studio-header .brand-mark-crystal {
  width: 34px;
  height: 34px;
  overflow: visible;
  border-radius: 0;
  clip-path: none;
  filter: saturate(.78) contrast(1.12);
}
.studio-header .brand-text { display: flex; flex-direction: row; align-items: baseline; gap: 8px; }
.studio-header .brand-text strong { font-size: 18px; letter-spacing: -.035em; }
.studio-header .brand-text span { color: #6d687a; font-size: 8px; font-weight: 780; letter-spacing: .22em; text-transform: uppercase; }
.studio-header .header-nav { gap: clamp(6px, 1vw, 14px); }
.studio-header .header-nav > a,
.studio-header .header-nav-trigger { color: #5f5b6b; font-size: 13px; }
.studio-header .header-nav > a:hover,
.studio-header .header-nav > a:focus-visible,
.studio-header .header-nav > a[aria-current="page"],
.studio-header .header-nav-trigger:hover,
.studio-header .header-nav-trigger:focus-visible,
.studio-header .header-nav-trigger[aria-expanded="true"] {
  color: var(--pearl-ink);
  background: rgba(255, 255, 255, .72);
  box-shadow: inset 0 0 0 1px var(--pearl-line);
}

.studio-directions-menu {
  width: min(760px, calc(100vw - 32px));
  border: 1px solid var(--pearl-line);
  border-radius: 24px;
  background: rgba(253, 253, 255, .96);
  box-shadow: var(--pearl-shadow);
  backdrop-filter: blur(24px);
}
.studio-directions-menu .ui-mega-grid { background: var(--pearl-line); }
.studio-directions-menu .ui-mega-grid a { background: rgba(255, 255, 255, .9); }
.studio-directions-menu .ui-mega-grid a:hover,
.studio-directions-menu .ui-mega-grid a:focus-visible { background: #f0eefb; }

.studio-header .wave-cta { min-width: 172px; min-height: 48px; }
.studio-header .wave-cta-ring {
  background: conic-gradient(from 18deg, #9be9ff, #bbb2ff, #ffd1df, #fff0c8, #c8f5d7, #9be9ff);
}
.studio-header .wave-cta-surface { background: linear-gradient(115deg, #393451, #242132 68%, #34304a); }
.studio-header .wave-cta:hover,
.studio-header .wave-cta:focus-visible { box-shadow: 0 12px 30px rgba(65, 57, 105, .2); }

.service-page .button-dark,
.service-page .button-inverse,
.pricing-page .button-dark,
.pricing-page .button-inverse {
  border-color: var(--pearl-violet);
  color: #fff;
  background: linear-gradient(115deg, #403a5f, #242130 72%);
  box-shadow: 0 10px 26px rgba(50, 43, 84, .14);
}
.service-page .button-dark:hover,
.service-page .button-dark:focus-visible,
.service-page .button-inverse:hover,
.service-page .button-inverse:focus-visible,
.pricing-page .button-dark:hover,
.pricing-page .button-dark:focus-visible,
.pricing-page .button-inverse:hover,
.pricing-page .button-inverse:focus-visible { color: #fff; background: #302b46; }
.service-page .button-light,
.service-page .button-ghost-inverse,
.pricing-page .button-light,
.pricing-page .button-ghost-inverse {
  border-color: rgba(57, 52, 81, .2);
  color: var(--pearl-ink);
  background: rgba(255, 255, 255, .64);
}

.service-page .page-hero.service-hero-modern {
  position: relative;
  padding-block: clamp(82px, 8vw, 116px);
  border-bottom: 1px solid var(--pearl-line);
  background:
    linear-gradient(118deg, rgba(255,255,255,.76), rgba(244,243,250,.52)),
    repeating-linear-gradient(121deg, transparent 0 132px, rgba(126, 115, 188, .045) 132px 133px, transparent 133px 264px);
}
.service-page .service-hero-modern .page-hero-grid { gap: clamp(56px, 8vw, 120px); align-items: center; }
.service-page .service-hero-modern h1 {
  max-width: 850px;
  margin-block: 18px 24px;
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-size: clamp(54px, 5.4vw, 80px);
  font-weight: 430;
  line-height: .96;
  letter-spacing: -.06em;
  text-transform: none;
}
.service-page .service-hero-modern p:not(.kicker) { color: var(--pearl-muted); font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; }
.service-page .kicker,
.pricing-page .pricing-label { color: #756d95; }

.studio-service-showcase {
  border-color: var(--pearl-line);
  border-radius: 28px;
  color: var(--pearl-ink);
  background: rgba(255, 255, 255, .72);
  box-shadow: var(--pearl-shadow);
  backdrop-filter: blur(18px);
}
.studio-service-showcase > div { border-color: var(--pearl-line); }
.studio-service-showcase > div:first-child { background: linear-gradient(100deg, rgba(226, 221, 255, .62), rgba(255,255,255,.4)); }
.studio-service-showcase span { color: #8981a4; }
.studio-service-showcase strong { color: var(--pearl-ink); }
.studio-service-showcase small { color: var(--pearl-muted); }

.service-page .section { border-color: var(--pearl-line); }
.service-page .section-muted { background: rgba(239, 238, 245, .62); }
.direction-page .direction-card,
.direction-page .direction-budget-card,
.direction-page .direction-process,
.direction-page .direction-related-grid a,
.release-support-grid,
.result-panel {
  border-color: var(--pearl-line);
  border-radius: 24px;
  color: var(--pearl-ink);
  background: var(--pearl-surface);
  box-shadow: 0 12px 42px rgba(54, 49, 83, .055);
}
.direction-page .direction-card-dark {
  border-color: rgba(117, 104, 223, .24);
  color: var(--pearl-ink);
  background: linear-gradient(145deg, rgba(250, 249, 251, .98), rgba(238, 235, 240, .94));
}
.direction-page .direction-card-dark h3,
.direction-page .direction-card-dark strong {
  color: var(--pearl-ink);
  background: transparent;
}
.direction-page .direction-card-dark p,
.direction-page .direction-card-dark li { color: var(--pearl-muted); }
.direction-page .direction-card-dark > span { color: #756d95; }
.direction-page .direction-process article,
.release-support-grid article { border-color: var(--pearl-line); }

.service-page .section-head h2,
.service-page .result-panel h2,
.service-page .concept-case h2,
.service-page .release-support-section h2 {
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-weight: 470;
  line-height: 1;
  letter-spacing: -.045em;
  text-transform: none;
}

.service-page .price-card,
.service-page .price-card-featured {
  border-color: var(--pearl-line);
  border-radius: 22px;
  color: var(--pearl-ink);
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 38px rgba(54,49,83,.045);
}
.service-page .price-card-featured {
  border-color: rgba(117,104,223,.24);
  background: linear-gradient(135deg, rgba(225,220,255,.78), rgba(255,255,255,.86));
}
.service-page .price-card-featured h3,
.service-page .price-card-featured p,
.service-page .price-card-featured span,
.service-page .price-card-featured li { color: var(--pearl-ink); }
.direction-page .direction-related-grid a:hover,
.direction-page .direction-related-grid a:focus-visible {
  border-color: rgba(117, 104, 223, .32);
  color: var(--pearl-ink);
  background: #efedfb;
}

.materials-page .materials-topic-index {
  border-color: var(--pearl-line);
  border-radius: 24px;
  background: var(--pearl-line);
  box-shadow: var(--pearl-shadow);
}
.materials-page .materials-topic-link { color: var(--pearl-ink); background: rgba(255,255,255,.86); }
.materials-page .materials-topic-link:hover,
.materials-page .materials-topic-link:focus-visible { color: var(--pearl-ink); background: #eeebfb; }
.materials-page .materials-topic-link:hover > span:first-child,
.materials-page .materials-topic-link:hover small,
.materials-page .materials-topic-link:focus-visible > span:first-child,
.materials-page .materials-topic-link:focus-visible small { color: #756d95; }
.materials-page .material-card,
.materials-page .material-card-featured {
  border-color: var(--pearl-line);
  border-radius: 24px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 12px 36px rgba(54, 49, 83, .045);
}
.materials-page .material-card-featured { background: linear-gradient(135deg, rgba(236,233,255,.86), rgba(255,255,255,.9)); }
.materials-page .material-card:hover { border-color: rgba(117,104,223,.35); box-shadow: var(--pearl-shadow); }

.material-article-page .material-article-hero {
  padding-top: clamp(128px, 13vw, 176px);
  border-bottom: 1px solid var(--pearl-line);
  background:
    radial-gradient(circle at 86% 16%, rgba(185, 195, 255, .2), transparent 30rem),
    linear-gradient(120deg, #fafafe, #f2f1f8);
}
.material-article-page .material-article h1 {
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-weight: 430;
  line-height: .98;
  letter-spacing: -.055em;
}
.material-article-page .material-lead { color: var(--pearl-muted); }

@media (max-width: 1040px) {
  .studio-header .header-nav { display: none; }
  .studio-header .wave-cta { display: none; }
  .studio-header .menu-toggle { display: inline-flex; }
}

@media (max-width: 720px) {
  .site-header[data-header]:not(.studio-header) {
    min-height: 84px;
  }

  .wide-container,
  .studio-header .header-inner { width: calc(100% - 32px); }
  .site-header.studio-header,
  body.has-scrolled .site-header.studio-header,
  .studio-header .header-inner { height: 76px; min-height: 76px; }
  .studio-header .brand-mark,
  .studio-header .brand-mark-crystal { width: 30px; height: 30px; }
  .studio-header .brand-text strong { font-size: 17px; }
  .service-page .page-hero.service-hero-modern { padding-block: 58px 64px; }
  .service-page .service-hero-modern h1 { font-size: clamp(42px, 12.5vw, 58px); }
  .service-page .service-hero-modern .page-hero-grid { gap: 30px; }
}

.studio-directions-recommended-row {
  display: grid;
  grid-template-columns: 132px repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.studio-directions-recommended-row > span {
  padding: 12px 10px;
  color: var(--text-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.studio-directions-recommended a {
  display: grid;
  min-height: 66px;
  gap: 3px;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--studio-black);
  text-decoration: none;
}

.studio-directions-recommended a:hover,
.studio-directions-recommended a:focus-visible { background: var(--menu-item-hover); }

.studio-directions-recommended strong { font-size: 14px; }
.studio-directions-recommended small { color: var(--text-secondary); font-size: 12px; line-height: 1.35; }

.studio-directions-recommended-row:first-child {
  grid-template-columns: 132px repeat(2, minmax(0, 1fr));
}

.studio-header .wave-cta {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 172px;
  min-height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  color: var(--studio-white);
  text-decoration: none;
  box-shadow: 0 0 0 rgba(0, 183, 255, 0);
  transition: transform 180ms ease, box-shadow 220ms ease;
}

.studio-header .wave-cta:hover,
.studio-header .wave-cta:focus-visible {
  color: var(--studio-white);
  transform: translateY(-1px);
  box-shadow: -4px 2px 14px rgba(42, 119, 255, .16), 5px 2px 14px rgba(25, 199, 112, .14);
}

.studio-header .wave-cta-frame {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  border-radius: inherit;
  background: transparent;
  contain: paint;
  pointer-events: none;
}

.studio-header .wave-cta-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 245%;
  aspect-ratio: 1;
  background: conic-gradient(from 12deg, #347dff 0deg, #745cff 56deg, #ed4d91 116deg, #f68a2b 176deg, #e8d438 226deg, #2bc878 286deg, #0ab3dd 332deg, #347dff 360deg);
  background: conic-gradient(from 12deg in oklch longer hue, oklch(.84 .19 28) 0turn, oklch(.84 .19 28) 1turn);
  filter: saturate(.94) brightness(1.03);
  transform: translate3d(-50%, -50%, 0) rotate(0deg);
  will-change: transform;
}

.studio-header .wave-cta-surface {
  position: absolute;
  inset: 2px;
  border-radius: inherit;
  background: linear-gradient(100deg, #111 0%, #202020 58%, #171717 100%);
  transform: translateZ(0);
}

.studio-header .wave-cta-label {
  position: relative;
  z-index: 1;
  font-size: 14px;
  font-weight: 720;
  white-space: nowrap;
  pointer-events: none;
}

.studio-header .menu-toggle {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(5, 5, 5, .2);
  border-radius: 999px;
  background: transparent;
}

.studio-header .menu-toggle span {
  background: var(--studio-black);
}

.studio-header :focus-visible {
  outline-color: var(--studio-black);
}

.studio-footer :focus-visible {
  outline-color: var(--studio-white);
}

.studio-footer.footer {
  padding: 70px 0 0;
  border-top: 1px solid var(--border-inverse-subtle);
  color: var(--text-inverse-secondary);
  background: var(--studio-black);
}

.studio-footer .footer-grid {
  display: grid;
  grid-template-columns: 1.25fr .68fr .9fr .9fr .65fr;
  gap: clamp(28px, 3vw, 48px);
  padding-top: clamp(44px, 4.5vw, 64px);
}

.studio-footer .brand,
.studio-footer h3 {
  color: var(--studio-white);
}

.studio-footer .brand-mark {
  aspect-ratio: 1;
  display: block;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 50%;
  clip-path: circle(50% at 50% 50%);
  object-fit: contain;
  filter: invert(1);
}

.studio-footer .brand-text span {
  color: var(--text-inverse-secondary);
}

.studio-footer h3 {
  margin-bottom: 20px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.studio-footer p {
  max-width: 350px;
  margin-top: 18px;
  color: var(--text-inverse-muted);
}

.studio-footer a:not(.brand) {
  display: block;
  margin: 10px 0;
  color: var(--text-inverse-secondary);
  font-size: 14px;
}

.studio-footer a:not(.brand):hover,
.studio-footer a:not(.brand):focus-visible {
  color: var(--studio-white);
}

.studio-footer .supporting-link {
  color: var(--text-inverse-muted);
}

.studio-footer .footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 60px;
  padding: 24px 0;
  border-top: 1px solid var(--border-inverse-subtle);
  color: var(--text-inverse-muted);
}

.studio-footer .footer-bottom a {
  display: inline;
  margin: 0;
}

/* Canonical secondary-page treatment. */
.service-page,
.policy-page,
.notfound-page {
  color: var(--text-primary);
  background: var(--surface-page);
  overflow-x: clip;
}

.service-page .kicker,
.policy-page .kicker,
.notfound-page .kicker {
  color: var(--text-secondary);
  font-size: 12px;
  letter-spacing: .14em;
}

.service-page .page-hero,
.policy-page .page-hero,
.notfound-page .page-hero {
  padding-top: 92px;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--surface-page);
}

.service-page .page-hero h1,
.policy-page .page-hero h1,
.notfound-page .page-hero h1 {
  font-size: clamp(48px, 5vw, 68px);
  line-height: .96;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.service-page .button,
.policy-page .button,
.notfound-page .button {
  min-height: 52px;
  border-radius: var(--studio-radius-control);
  box-shadow: none;
  font-weight: 740;
}

.service-page .button:hover,
.policy-page .button:hover,
.notfound-page .button:hover {
  box-shadow: none;
}

.service-page .button-dark,
.policy-page .button-dark,
.notfound-page .button-dark {
  border-color: var(--studio-black);
  color: var(--studio-white);
  background: var(--studio-black);
}

.service-page .button-light,
.policy-page .button-light,
.notfound-page .button-light {
  border-color: var(--border-default);
  color: var(--studio-black);
  background: var(--studio-white);
}

.service-page :is(.approach-card, .service-card, .price-card, .boundary-card, .mini-dashboard, .audit-card, .site-flow, .ops-card, .agent-orbit),
.policy-page .policy-content {
  border-radius: var(--studio-radius-card);
  box-shadow: none;
}

.service-page .section-muted {
  background: var(--surface-page-alt);
}

.service-page .ui-dialog-panel,
.policy-page .ui-dialog-panel,
.notfound-page .ui-dialog-panel {
  border-radius: 8px;
  box-shadow: none;
}

.service-page .mobile-sticky-cta,
.policy-page .mobile-sticky-cta,
.notfound-page .mobile-sticky-cta {
  border: 1px solid var(--studio-white);
  border-radius: 4px;
  color: var(--studio-black);
  background: var(--studio-white);
  box-shadow: none;
}

@media (min-width: 1181px) and (max-width: 1360px) {
  .studio-header .header-inner {
    width: calc(100% - 48px);
    min-width: 0;
  }

  .studio-header .header-nav {
    gap: clamp(8px, 1vw, 14px);
  }

  .studio-header .header-nav > a,
  .studio-header .header-nav-trigger {
    padding-inline: 6px;
    font-size: 13px;
  }

  .studio-header .wave-cta {
    min-width: 160px;
    padding-inline: 18px;
  }
}

@media (max-width: 1180px) {
  .studio-header .header-inner {
    width: calc(100% - 48px);
    min-width: 0;
  }

  .studio-header .header-nav,
  .studio-header .wave-cta {
    display: none;
  }

  .studio-header .menu-toggle {
    display: inline-flex;
  }

  .studio-header.is-open .mobile-sheet {
    position: fixed;
    top: 10px;
    right: 10px;
    bottom: 10px;
    left: auto;
    z-index: var(--z-sheet);
    display: grid;
    width: min(390px, calc(100vw - 20px));
    min-height: min(560px, calc(100vh - 20px));
    max-height: calc(100vh - 20px);
    align-content: start;
    grid-auto-rows: max-content;
    overflow: auto;
    border-radius: var(--overlay-radius);
    box-shadow: var(--shadow-overlay);
  }

  .studio-header.is-open .mobile-sheet-backdrop {
    display: block !important;
  }

  .studio-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  :root {
    --mobile-sticky-cta-clearance: calc(80px + env(safe-area-inset-bottom, 0px));
  }

  html {
    scroll-padding-bottom: var(--mobile-sticky-cta-clearance);
  }

  .home-page main,
  .service-page main,
  .pricing-page main {
    padding-bottom: var(--mobile-sticky-cta-clearance);
  }

  :is(
    .faq-list details,
    .price-card,
    .pricing-card,
    .pricing-factor-list li,
    .pricing-definition-grid li,
    .pricing-payment-list article
  ) {
    scroll-margin-bottom: var(--mobile-sticky-cta-clearance);
  }

  .mobile-sticky-cta {
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  }

  .wide-container {
    width: calc(100% - 32px);
  }

  .site-header.studio-header {
    height: 84px;
    min-height: 84px;
    padding-top: 10px;
  }

  .studio-header .header-inner {
    width: calc(100% - 24px);
    height: 64px;
    min-height: 64px;
    margin-top: 0;
    padding-inline: 14px 8px;
  }

  .studio-header .mobile-sheet {
    width: min(330px, calc(100% - 18px));
    padding: 18px;
    color: var(--text-primary);
    background: var(--studio-white);
  }

  .studio-header .mobile-sheet a:not(.button) {
    min-height: 48px;
    border-bottom: 1px solid var(--border-subtle);
  }

  .studio-header .mobile-nav-group a:not(.button) {
    min-height: 44px;
  }

  .studio-header .mobile-nav-label {
    display: block;
    padding: 14px 12px 6px;
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
  }

  .service-page .page-hero,
  .policy-page .page-hero,
  .notfound-page .page-hero {
    padding-top: 58px;
  }

  .service-page .page-hero h1,
  .policy-page .page-hero h1,
  .notfound-page .page-hero h1 {
    font-size: clamp(40px, 12vw, 50px);
  }

  .studio-footer.footer {
    padding-top: 52px;
  }

  .studio-footer .footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .studio-footer .footer-bottom {
    align-items: flex-start;
    margin-top: 42px;
  }
}

/* Broad Studio service pages */
.service-page .service-hero-modern {
  padding-top: 92px;
}

.service-page .service-hero-modern h1 {
  max-width: 760px;
}

/* Keep direction pages scannable after the homepage has routed the visitor. */
.direction-page .section {
  padding-block: clamp(64px, 6vw, 80px);
}

.direction-page .service-hero-modern {
  padding-block: clamp(64px, 6vw, 82px);
}

.direction-page .section-head {
  margin-bottom: 30px;
}

@media (max-width: 720px) {
  .direction-page .section { padding-block: 52px; }
  .direction-page .service-hero-modern { padding-block: 48px 54px; }
  .direction-page .service-hero-modern .page-hero-grid { gap: 24px; }
  .direction-page .service-hero-modern h1 { font-size: clamp(36px, 10.6vw, 42px); }
  .direction-page .section-head { margin-bottom: 24px; }
  .direction-page .studio-service-showcase > div {
    grid-template-columns: 32px minmax(0, 1fr);
    padding: 15px 17px;
  }
  .direction-page .studio-service-showcase strong { font-size: 16px; }
}

.studio-service-showcase {
  overflow: hidden;
  border: 1px solid var(--border-default);
  border-radius: 24px;
  background: var(--studio-black);
  color: var(--studio-white);
}

.studio-service-showcase > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 5px 18px;
  padding: 24px;
  border-bottom: 1px solid #2d2d2d;
}

.studio-service-showcase > div:last-child {
  border-bottom: 0;
}

.studio-service-showcase span {
  grid-row: 1 / 3;
  color: #747474;
  font-size: 12px;
  font-weight: 750;
}

.studio-service-showcase strong {
  font-size: 18px;
  line-height: 1.15;
}

.studio-service-showcase small {
  color: #9c9c9c;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.service-page .site-flow span {
  background: var(--studio-white);
}

.service-page .site-flow span:not(:last-child)::after {
  color: var(--studio-gray-500);
}

.service-page .audit-card p {
  color: #c7c7c7;
}

@media (max-width: 720px) {
  .service-page .service-hero-modern {
    padding-top: 54px;
  }

  .studio-service-showcase {
    border-radius: 18px;
  }

  .studio-service-showcase > div {
    padding: 20px;
  }

  .studio-footer a,
  .service-page .footer a,
  .notfound-page .footer a,
  .policy-page .footer a {
    display: flex;
    min-height: 44px;
    align-items: center;
  }

  .home-redesign .studio-service-card a,
  .home-redesign .text-link-inverse,
  .home-redesign .contact-direct,
  .home-redesign .footer-bottom a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .studio-header *,
  .studio-footer * {
    scroll-behavior: auto;
  }
}

/* Full direction pages: automation and internal digital products. */
.direction-page .direction-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.direction-page .direction-card {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  padding: 28px;
  border: 1px solid var(--border-default);
  border-radius: var(--studio-radius-card);
  background: var(--studio-white);
}

.direction-page .direction-card > span {
  margin-bottom: 24px;
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 780;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.direction-page .direction-card h3 {
  margin-bottom: 12px;
  font-size: clamp(25px, 2.2vw, 34px);
}

.direction-page .direction-card p,
.direction-page .direction-card li {
  color: var(--text-secondary);
}

.direction-page .direction-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
}

.direction-page .direction-card strong {
  margin-top: auto;
  padding-top: 22px;
  font-size: 14px;
}

.direction-page .direction-card-dark {
  border-color: var(--studio-black);
  color: var(--studio-white);
  background: var(--studio-black);
}

.direction-page .direction-card-dark h3,
.direction-page .direction-card-dark strong {
  color: var(--studio-white);
}

.direction-page .direction-card-dark p,
.direction-page .direction-card-dark li {
  color: #c7c7c7;
}

.direction-page .direction-card-dark > span {
  color: #858585;
}

.direction-page .direction-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--border-default);
  border-radius: var(--studio-radius-card);
  overflow: hidden;
  background: var(--studio-white);
}

.direction-page .direction-process article {
  min-height: 220px;
  padding: 28px;
  border-right: 1px solid var(--border-subtle);
}

.direction-page .direction-process article:last-child {
  border-right: 0;
}

.direction-page .direction-process span {
  display: block;
  margin-bottom: 38px;
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 780;
  letter-spacing: .1em;
}

.direction-page .direction-process h3 {
  margin-bottom: 10px;
  font-size: 22px;
}

.direction-page .direction-process p {
  margin: 0;
  color: var(--text-secondary);
}

.direction-page .direction-budget-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.direction-page .direction-budget-card {
  min-height: 240px;
  padding: 28px;
  border: 1px solid var(--border-default);
  border-radius: var(--studio-radius-card);
  background: var(--studio-white);
}

.direction-page .direction-budget-card span {
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 780;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.direction-page .direction-budget-card h3 {
  margin: 26px 0 10px;
  font-size: 29px;
}

.direction-page .direction-budget-card strong {
  display: block;
  margin-top: 30px;
  font-size: 19px;
}

.direction-page .direction-budget-card p {
  color: var(--text-secondary);
}

.direction-page .direction-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.direction-page .direction-related-grid a {
  display: grid;
  min-height: 150px;
  align-content: space-between;
  padding: 24px;
  border: 1px solid var(--border-default);
  border-radius: var(--studio-radius-card);
  color: var(--text-primary);
  background: var(--studio-white);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.direction-page .direction-related-grid a:hover,
.direction-page .direction-related-grid a:focus-visible {
  border-color: var(--studio-black);
  color: var(--studio-white);
  background: var(--studio-black);
}

.direction-page .direction-related-grid small {
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.direction-page .direction-related-grid strong {
  font-size: 21px;
  line-height: 1.15;
}

.direction-picker-entry {
  padding-block: clamp(64px, 8vw, 108px);
  color: #fff;
  background: #090909;
}

.direction-picker-entry-grid {
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(0, 1.45fr);
  gap: clamp(34px, 7vw, 96px);
  align-items: start;
}

.direction-picker-entry h2 {
  max-width: 620px;
  margin: 12px 0 0;
  color: #fff;
  font-size: clamp(38px, 5vw, 68px);
  line-height: .98;
  letter-spacing: -.045em;
}

.direction-picker-entry-copy > p:last-child {
  max-width: 560px;
  margin: 22px 0 0;
  color: #aaa;
  line-height: 1.65;
}

.direction-picker-entry-list {
  display: grid;
  border: 1px solid #303030;
  border-radius: 22px;
  overflow: hidden;
}

.direction-picker-entry-list a {
  display: grid;
  min-height: 104px;
  padding: 22px 24px;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  color: #fff;
  text-decoration: none;
  background: #111;
  transition: background-color 180ms ease;
}

.direction-picker-entry-list a + a { border-top: 1px solid #303030; }
.direction-picker-entry-list a:hover,
.direction-picker-entry-list a:focus-visible { background: #181818; }
.direction-picker-entry-list a:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
.direction-picker-entry-list span { color: #34dc87; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.direction-picker-entry-list strong { font-size: clamp(17px, 2vw, 22px); line-height: 1.25; }
.direction-picker-entry-list small { color: #7c7c7c; font-size: 18px; }

.contextual-picker-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: inherit;
  font-size: 12px;
  font-weight: 780;
  text-underline-offset: 4px;
}

.material-article-page .material-cta .contextual-picker-link { color: #fff; }

.direction-page .direction-cta {
  padding-block: 88px;
  color: var(--studio-white);
  background: var(--studio-black);
}

.direction-page .direction-cta-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 48px;
}

.direction-page .direction-cta h2 {
  max-width: 820px;
  color: var(--studio-white);
}

.direction-page .direction-cta p {
  max-width: 700px;
  color: #c7c7c7;
}

.direction-page .direction-cta .button {
  white-space: nowrap;
}

@media (max-width: 1020px) {
  .direction-page .direction-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .direction-page .direction-process article:nth-child(2) {
    border-right: 0;
  }

  .direction-page .direction-process article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--border-subtle);
  }

  .direction-page .direction-budget-grid,
  .direction-page .direction-related-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .direction-picker-entry-grid { grid-template-columns: 1fr; }
  .direction-picker-entry-list a {
    min-height: 88px;
    padding: 18px;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 10px;
  }
  .direction-picker-entry-list strong { font-size: 16px; }
  .direction-picker-entry-list small { font-size: 16px; }

  .direction-page .direction-grid,
  .direction-page .direction-process,
  .direction-page .direction-cta-grid {
    grid-template-columns: 1fr;
  }

  .direction-page .direction-card,
  .direction-page .direction-budget-card {
    min-height: 0;
    padding: 22px;
  }

  .direction-page .direction-process article,
  .direction-page .direction-process article:nth-child(2) {
    min-height: 0;
    padding: 22px;
    border-right: 0;
    border-bottom: 1px solid var(--border-subtle);
  }

  .direction-page .direction-process article:last-child {
    border-bottom: 0;
  }

  .direction-page .direction-process span {
    margin-bottom: 24px;
  }

  .direction-page .direction-cta {
    padding-block: 64px;
  }

  .direction-page .direction-cta .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .direction-page .direction-related-grid a,
  .direction-picker-entry-list a {
    transition: none;
  }
}

/* Shared contact intent selector. The existing form and PHP contract stay intact. */
.dialog-mode-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
}

.dialog-mode-picker button {
  display: grid;
  min-height: 64px;
  padding: 12px 14px;
  gap: 4px;
  border: 1px solid #b8b8b8;
  border-radius: 16px;
  color: #242424;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.dialog-mode-picker button strong { color: inherit; font-size: 14px; line-height: 1.25; }
.dialog-mode-picker button span { color: #666; font-size: 11px; line-height: 1.35; }
.dialog-mode-picker button[aria-pressed="true"] { border-color: #080808; color: #fff; background: #080808; }
.dialog-mode-picker button[aria-pressed="true"] span { color: #bdbdbd; }
.dialog-mode-picker button:focus-visible { outline: 2px solid #080808; outline-offset: 3px; }

.dialog-mode-detail {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #bdbdbd;
}

.dialog-mode-detail strong { color: #080808; font-size: inherit; }
.dialog-mode-detail p { margin: 0; color: #555; font-size: 12px; line-height: 1.45; }
.dialog-mode-detail a { display: inline-flex; min-height: 40px; align-items: center; color: #080808; font-size: 12px; font-weight: 750; text-underline-offset: 4px; }

.lead-dialog .ui-dialog-copy { padding: 26px; }
.lead-dialog .ui-dialog-copy h2 { margin-bottom: 10px; font-size: clamp(28px, 3vw, 34px); }
.lead-dialog .ui-dialog-copy > p:not(.section-label):not(.kicker) { margin: 0; font-size: 14px; line-height: 1.45; }
.lead-dialog .dialog-lead-form { padding: 24px; }
.lead-dialog .dialog-lead-form .form-row { gap: 10px; margin-bottom: 10px; }
.lead-dialog .dialog-lead-form label { gap: 5px; }
.lead-dialog .dialog-lead-form input,
.lead-dialog .dialog-lead-form select,
.lead-dialog .dialog-lead-form textarea { padding: 10px 12px; }
.lead-dialog .dialog-lead-form textarea { min-height: 92px; }
.lead-dialog .dialog-lead-form .checkbox { margin: 10px 0; }
.lead-dialog .dialog-lead-form .form-helper { font-size: 12px; }
.lead-dialog .lead-optional-fields {
  margin: 2px 0 12px;
  border: 1px solid var(--border-default);
  border-radius: 12px;
  background: var(--surface-page-alt);
}

/* The crystalline brand source is a transparent raster asset, not the legacy roundel. */
.studio-header .brand-mark-crystal,
.studio-footer .brand-mark-crystal {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: none;
  object-fit: contain;
}
.lead-dialog .lead-optional-fields summary {
  min-height: 44px;
  padding: 12px 14px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.4;
}
.lead-dialog .lead-optional-fields > div {
  display: grid;
  gap: 12px;
  padding: 0 14px 14px;
}
.lead-dialog .lead-optional-fields summary:focus-visible {
  outline: 2px solid var(--text-primary);
  outline-offset: 2px;
}
.lead-recommendation-context {
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid #9f9f9f;
  border-radius: 14px;
  background: #f0f0f0;
}
.lead-recommendation-context[hidden] { display: none; }
.lead-recommendation-context > div {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}
.lead-recommendation-context strong { color: #080808; font-size: 12px; line-height: 1.35; }
.lead-recommendation-context button {
  min-width: 44px;
  min-height: 44px;
  margin: -9px -8px -9px 0;
  padding: 8px;
  border: 0;
  color: #444;
  background: transparent;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.lead-recommendation-context p { margin: 4px 0 0; color: #606060; font-size: 11px; line-height: 1.4; }

@media (max-width: 720px) {
  .lead-dialog .ui-dialog-copy { padding: 18px 20px; }
  .lead-dialog .ui-dialog-copy h2 { margin-bottom: 7px; padding-right: 34px; font-size: 25px; }
  .lead-dialog .ui-dialog-copy > p:not(.section-label):not(.kicker) { font-size: 13px; }
  .dialog-mode-picker { margin-top: 12px; }
  .dialog-mode-picker button { min-height: 60px; padding: 10px 12px; }
  .dialog-mode-picker button strong { font-size: 12px; }
  .dialog-mode-picker button span { font-size: 10px; }
  .dialog-mode-detail { margin-top: 8px; padding-top: 8px; }
  .dialog-mode-detail a { min-height: 36px; }
  .lead-dialog .dialog-lead-form { padding: 18px 20px 20px; }
  .lead-dialog .dialog-lead-form textarea { min-height: 84px; }
}

/* Shared factual trust strip above the common footer. */
.studio-trust {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  padding: clamp(40px, 5vw, 72px) 0;
}

.studio-trust-grid {
  display: grid;
  grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.7fr);
  gap: clamp(32px, 6vw, 88px);
  align-items: start;
}

.studio-trust span { color: rgba(255, 255, 255, 0.66); }
.studio-trust h2 { margin: 12px 0 0; max-width: 520px; color: #fff; font-size: clamp(28px, 3vw, 44px); line-height: 1; }
.studio-trust-grid > div > p { max-width: 500px; margin: 20px 0 0; color: rgba(255, 255, 255, 0.62); font-size: 14px; line-height: 1.6; }
.studio-trust ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, 0.15); border-left: 1px solid rgba(255, 255, 255, 0.15); }
.studio-trust li { display: grid; gap: 7px; min-height: 148px; padding: 20px; align-content: start; border-right: 1px solid rgba(255, 255, 255, 0.15); border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
.studio-trust li small { color: rgba(255, 255, 255, 0.42); font-size: 9px; font-weight: 800; letter-spacing: .09em; }
.studio-trust li strong { margin-top: 16px; font-size: 17px; }
.studio-trust li span { font-size: 13px; line-height: 1.5; }
.studio-trust strong,
.studio-trust a { color: #fff; }
.studio-trust a:hover,
.studio-trust a:focus-visible { text-decoration-thickness: 2px; text-underline-offset: 4px; }

@media (max-width: 720px) {
  .studio-trust-grid,
  .studio-trust ul { grid-template-columns: 1fr; }
  .studio-trust li { min-height: auto; }
  .studio-trust li strong { margin-top: 10px; }
}

/* Search-led materials reuse the studio typography and monochrome surfaces. */
.materials-topic-index { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: clamp(28px, 4vw, 48px); overflow: hidden; border: 1px solid var(--border-subtle); border-radius: 26px; background: var(--border-subtle); gap: 1px; }
.materials-topic-link { display: grid; grid-template-rows: auto 1fr auto; min-width: 0; min-height: 164px; padding: 22px; color: #090909; text-decoration: none; background: #fff; transition: background-color 180ms ease, color 180ms ease; }
.materials-topic-link:hover,
.materials-topic-link:focus-visible { color: #fff; background: #090909; }
.materials-topic-link:focus-visible { position: relative; z-index: 1; outline: 3px solid #090909; outline-offset: -5px; }
.materials-topic-link > span:first-child { color: #777; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.materials-topic-link strong { align-self: center; font-size: clamp(19px, 1.6vw, 25px); line-height: 1.05; }
.materials-topic-link small { color: #6a6a6a; font-size: 12px; font-weight: 700; }
.materials-topic-link:hover > span:first-child,
.materials-topic-link:hover small,
.materials-topic-link:focus-visible > span:first-child,
.materials-topic-link:focus-visible small { color: #bdbdbd; }
.materials-filter { display: grid; grid-template-columns: minmax(180px, .48fr) minmax(0, 1.52fr); align-items: center; gap: 18px 28px; margin-bottom: clamp(54px, 7vw, 88px); padding: 16px 18px; border: 1px solid var(--border-subtle); border-radius: 24px; color: var(--text-primary); background: color-mix(in srgb, var(--surface-page) 86%, transparent); box-shadow: 0 12px 38px rgba(40, 35, 48, .045); backdrop-filter: blur(18px); }
.materials-filter[hidden] { display: none; }
.materials-filter-copy { display: grid; gap: 3px; padding-inline: 4px; }
.materials-filter-copy span { color: var(--text-muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.materials-filter-copy strong { font-size: 15px; line-height: 1.3; }
.materials-filter-scroll { display: flex; min-width: 0; gap: 8px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-inline: contain; }
.materials-filter-scroll::-webkit-scrollbar { display: none; }
.materials-filter button { display: inline-flex; flex: 0 0 auto; min-height: 44px; align-items: center; gap: 8px; padding: 0 15px; border: 1px solid var(--border-subtle); border-radius: 999px; color: var(--text-primary); font: inherit; font-size: 13px; font-weight: 750; background: var(--surface-page); cursor: pointer; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.materials-filter button span { color: var(--text-muted); font-size: 11px; }
.materials-filter button:hover { border-color: var(--border-default); }
.materials-filter button[aria-pressed="true"] { border-color: var(--surface-inverse); color: var(--text-inverse); background: var(--surface-inverse); box-shadow: 0 8px 24px rgba(30, 26, 36, .13); }
.materials-filter button[aria-pressed="true"] span { color: currentColor; opacity: .68; }
.materials-filter button:focus-visible { outline: 2px solid var(--text-primary); outline-offset: 3px; }
.materials-filter-status { grid-column: 2; margin: -8px 4px 0; color: var(--text-muted); font-size: 12px; }
.materials-clusters { display: grid; gap: clamp(64px, 8vw, 104px); }
:root.js .materials-filter[hidden] { display:block!important; visibility:hidden; }
.materials-cluster { scroll-margin-top: 120px; }
.materials-cluster-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 0.7fr); align-items: end; gap: clamp(24px, 6vw, 88px); margin-bottom: 26px; padding-top: 24px; border-top: 1px solid var(--border-subtle); }
.materials-cluster-head > * { min-width: 0; }
.materials-cluster-head .kicker { margin: 0 0 14px; }
.materials-cluster-head h2 { max-width: 780px; margin: 0; font-size: clamp(32px, 3.5vw, 52px); line-height: 0.98; overflow-wrap: anywhere; }
.materials-cluster-head > p { max-width: 560px; margin: 0; color: #555; font-size: 17px; line-height: 1.6; }
.materials-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.material-card { display: grid; grid-template-rows: auto auto 1fr auto; align-content: start; min-width: 0; min-height: 330px; padding: clamp(22px, 2.5vw, 34px); border: 1px solid var(--border-subtle); border-radius: 24px; background: #fff; }
.material-card-featured { background: #f4f4f4; }
.material-card > p:first-child { margin: 0 0 18px; color: #6d6d6d; font-size: 11px; font-weight: 800; letter-spacing: 0.1em; }
.material-card h2,
.material-card h3 { max-width: 900px; margin: 0; font-size: clamp(24px, 2.15vw, 32px); line-height: 1.02; overflow-wrap: anywhere; }
.material-card h2 a,
.material-card h3 a { color: inherit; text-decoration: none; }
.material-card h2 a::after,
.material-card h3 a::after { content: ""; position: absolute; inset: 0; }
.material-card { position: relative; transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease; }
.material-card:hover { transform: translateY(-3px); border-color: #8f8f8f; }
.material-card:focus-within { border-color: #090909; box-shadow: 0 0 0 2px #090909; }
.material-card > p:not(:first-child) { max-width: 760px; margin: 18px 0 24px; color: #555; font-size: 15px; line-height: 1.55; }
.material-card > div { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-self: end; gap: 12px; }
.material-card > div a { display: inline-flex; min-height: 44px; align-items: center; padding-block: 7px; color: #090909; font-size: 13px; font-weight: 800; text-underline-offset: 4px; overflow-wrap: anywhere; }

.material-article-hero { padding: clamp(150px, 16vw, 220px) 0 clamp(64px, 8vw, 112px); background: #f3f3f3; }
.material-article-header { max-width: 1120px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 48px; color: #686868; font-size: 13px; }
.breadcrumbs a { color: inherit; }
.material-article h1 { max-width: 1050px; margin: 18px 0 28px; font-size: clamp(48px, 7vw, 96px); line-height: 0.92; letter-spacing: -0.045em; }
.material-lead { max-width: 830px; color: #444; font-size: clamp(19px, 2vw, 25px); line-height: 1.5; }
.material-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-top: 40px; padding-top: 20px; border-top: 1px solid #cfcfcf; color: #666; }
.material-meta a { color: #090909; font-weight: 800; }
.material-layout { display: grid; grid-template-columns: 240px minmax(0, 820px); justify-content: space-between; gap: clamp(40px, 8vw, 120px); padding-block: clamp(72px, 9vw, 128px); }
.material-toc { position: sticky; top: 120px; display: grid; align-self: start; gap: 12px; padding: 20px 0; border-top: 1px solid #bdbdbd; border-bottom: 1px solid #bdbdbd; }
.material-toc strong { margin-bottom: 6px; }
.material-toc a { color: #626262; font-size: 14px; }
.material-content { min-width: 0; }
.material-content section { scroll-margin-top: 120px; margin-bottom: clamp(64px, 8vw, 104px); }
.material-content h2 { margin: 0 0 24px; font-size: clamp(34px, 4vw, 54px); line-height: 1; }
.material-content h3 { margin: 36px 0 12px; font-size: 25px; }
.material-content p,
.material-content li { color: #383838; font-size: 18px; line-height: 1.72; }
.material-content a { color: #090909; font-weight: 750; text-underline-offset: 4px; }
.material-price-list { display: grid; gap: 1px; margin: 32px 0; background: #c8c8c8; border: 1px solid #c8c8c8; }
.material-price-list article { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; padding: 22px; background: #fff; }
.material-price-list strong { font-size: 21px; }
.material-price-list small { grid-column: 1 / -1; color: #666; }
.material-numbered { display: grid; gap: 18px; padding-left: 24px; }
.material-factors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #c8c8c8; border-left: 1px solid #c8c8c8; }
.material-factors article { padding: 24px; border-right: 1px solid #c8c8c8; border-bottom: 1px solid #c8c8c8; }
.material-factors h3 { margin: 0 0 10px; font-size: 21px; }
.material-factors p { margin: 0; font-size: 15px; line-height: 1.55; }
.material-callout { margin: 34px 0; padding: 28px; border-radius: 22px; color: #fff; background: #090909; }
.material-callout p { margin-bottom: 0; color: #d0d0d0; }
.material-table-wrap { width: 100%; max-width: 100%; margin: 34px 0; overflow-x: auto; border: 1px solid #bdbdbd; border-radius: 22px; background: #fff; overscroll-behavior-inline: contain; }
.material-table-wrap:focus-visible { outline: 3px solid #111; outline-offset: 4px; }
.material-table { width: 100%; min-width: 680px; border-collapse: collapse; }
.material-table th,
.material-table td { padding: 20px; border-bottom: 1px solid #d7d7d7; text-align: left; vertical-align: top; }
.material-table th { color: #555; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.material-table td { color: #333; font-size: 15px; line-height: 1.55; }
.material-table tbody tr:last-child td { border-bottom: 0; }
.material-table a { color: #090909; font-weight: 800; text-underline-offset: 3px; }
.material-cta { padding: clamp(32px, 5vw, 56px); border-radius: 28px; color: #fff; background: #090909; }
.material-cta h2 { color: #fff; }
.material-cta p { color: #cfcfcf; }
.material-cta > div { display: flex; flex-wrap: wrap; gap: 10px; }
.material-related { padding-top: clamp(28px, 4vw, 46px); border-top: 1px solid #bdbdbd; }
.material-related > h2 { max-width: 700px; }
.material-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 30px; overflow: hidden; border: 1px solid #c8c8c8; border-radius: 22px; background: #c8c8c8; gap: 1px; }
.material-related-grid a { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 22px; color: #090909; text-decoration: none; background: #fff; transition: background-color 180ms ease; }
.material-related-grid a:hover,
.material-related-grid a:focus-visible { background: #f0f0f0; }
.material-related-grid a:focus-visible { position: relative; z-index: 1; outline: 2px solid #090909; outline-offset: -4px; }
.material-related-grid strong { font-size: 17px; line-height: 1.28; }
.material-related-grid :is(small, span) { color: #626262; font-size: 13px; line-height: 1.5; }
.direction-reading-link { margin-top: 28px; color: #555; font-size: 16px; line-height: 1.6; }
.direction-reading-link a { color: #090909; font-weight: 800; text-underline-offset: 4px; }
.material-matrix { margin: 34px 0; border: 1px solid #bfbfbf; border-radius: 22px; overflow: hidden; }
.material-matrix-row { display: grid; grid-template-columns: minmax(100px, 0.65fr) repeat(3, minmax(0, 1fr)); }
.material-matrix-row + .material-matrix-row { border-top: 1px solid #cecece; }
.material-matrix-row > * { min-width: 0; padding: 18px; color: #383838; font-size: 14px; line-height: 1.5; }
.material-matrix-row > * + * { border-left: 1px solid #cecece; }
.material-matrix-head { background: #090909; }
.material-matrix-head > * { color: #fff; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }
.material-matrix-row > [data-state="good"] { background: #f8f8f8; }
.material-matrix-row > [data-state="warn"] { background: #f1f1f1; }
.material-matrix-row > [data-state="stop"] { color: #595959; background: #e8e8e8; }
.material-faq { border-top: 1px solid #bfbfbf; }
.material-faq details { border-bottom: 1px solid #bfbfbf; }
.material-faq summary { position: relative; padding: 22px 42px 22px 0; color: #090909; font-size: 19px; font-weight: 800; cursor: pointer; list-style: none; }
.material-faq summary::-webkit-details-marker { display: none; }
.material-faq summary::after { content: "+"; position: absolute; top: 18px; right: 4px; font-size: 26px; font-weight: 500; }
.material-faq details[open] summary::after { content: "−"; }
.material-faq details p { margin: 0; padding: 0 48px 24px 0; }
.material-faq summary:focus-visible { outline: 2px solid #090909; outline-offset: 4px; }

/* Article-specific visual polish without changing shared material or form contracts. */
.material-internal-release-page .material-article-hero {
  padding-top: clamp(132px, 13vw, 184px);
}

.material-internal-release-page .material-faq summary:focus-visible {
  border-radius: 10px;
  outline: 2px solid transparent;
  outline-offset: 2px;
  background: #ededed;
  box-shadow: 0 0 0 2px #090909;
}

@media (max-width: 900px) {
  .materials-topic-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .materials-topic-link:last-child { grid-column: 1 / -1; }
  .materials-filter { grid-template-columns: 1fr; }
  .materials-filter-status { grid-column: 1; }
  .materials-cluster-head { grid-template-columns: 1fr; align-items: start; gap: 16px; }
  .materials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .material-layout { grid-template-columns: 1fr; }
  .material-toc { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .material-toc strong { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .materials-topic-index { grid-template-columns: 1fr; border-radius: 22px; }
  .materials-topic-link,
  .materials-topic-link:last-child { grid-column: auto; min-height: 116px; padding: 18px 20px; }
  .materials-topic-link strong { font-size: 22px; }
  .materials-filter { width: calc(100% - 24px); gap: 12px; margin-bottom: 52px; padding: 14px 12px; border-radius: 20px; }
  .materials-filter-copy { padding-inline: 4px; }
  .materials-filter-scroll { margin-inline: -2px; padding: 2px; }
  .materials-filter button { min-height: 44px; padding-inline: 14px; }
  .materials-filter-status { margin: -2px 4px 0; }
  .materials-grid { grid-template-columns: 1fr; }
  .material-card { min-height: 0; padding: 24px; }
  .material-card h3 { font-size: 27px; }
  .material-article-hero { padding-top: 128px; }
  .material-internal-release-page .material-article-hero { padding-top: 128px; }
  .material-internal-release-page .lead-dialog .dialog-lead-form select[name="interest"] {
    padding-right: 28px;
    padding-left: 10px;
    font-size: 11px;
    letter-spacing: -0.025em;
  }
  .breadcrumbs { margin-bottom: 30px; }
  .material-article h1 {
    font-size: clamp(38px, 10.5vw, 50px);
    line-height: 0.96;
    hyphens: manual;
    overflow-wrap: break-word;
    word-break: normal;
  }
  .material-toc,
  .material-factors { grid-template-columns: 1fr; }
  .material-toc a,
  .material-content .faq-list summary { display: flex; min-height: 44px; align-items: center; padding-block: 8px; }
  .material-price-list article { grid-template-columns: 1fr; }
  .material-price-list small { grid-column: auto; }
  .material-cta .button { width: 100%; }
  .material-related-grid { grid-template-columns: 1fr; }
  .material-matrix { border-radius: 18px; }
  .material-matrix-head { display: none; }
  .material-matrix-row { grid-template-columns: 1fr; padding: 18px; }
  .material-matrix-row + .material-matrix-row { border-top: 1px solid #bdbdbd; }
  .material-matrix-row > * { padding: 10px 0; }
  .material-matrix-row > * + * { border-left: 0; border-top: 1px solid #dedede; }
  .material-matrix-row > strong { padding-top: 0; font-size: 18px; }
  .material-matrix-row > [data-state] { background: transparent; }
  .material-matrix-row > [data-state]::before { display: block; margin-bottom: 3px; color: #737373; font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
  .material-matrix-row > [data-state="good"]::before { content: "Подходит"; }
  .material-matrix-row > [data-state="warn"]::before { content: "Нужно уточнить"; }
  .material-matrix-row > [data-state="stop"]::before { content: "Пока не подходит"; }
  .material-faq summary { font-size: 17px; }
  .material-faq details p { padding-right: 0; }
}

/* Focused commercial solution pages. */
.solution-landing .section {
  padding-block: clamp(72px, 8vw, 118px);
}

.solution-landing .solution-hero {
  padding: clamp(84px, 8vw, 112px) 0 clamp(64px, 7vw, 92px);
  color: #fff;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px) 0 0 / 72px 72px,
    #050505;
  overflow: hidden;
}

.solution-hero-grid {
  display: grid;
  grid-template-columns: minmax(420px, .86fr) minmax(580px, 1.14fr);
  gap: clamp(40px, 6vw, 92px);
  align-items: start;
}

.solution-hero-copy h1 {
  max-width: 760px;
  margin: 18px 0 0;
  color: #fff;
  font-family: var(--display-font);
  font-size: clamp(48px, 4vw, 60px);
  font-weight: 700;
  line-height: .91;
  letter-spacing: -.045em;
  text-transform: uppercase;
}

.solution-hero-copy > p:not(.kicker) {
  max-width: 650px;
  margin: 28px 0 0;
  color: #bdbdbd;
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.55;
}

.solution-hero-copy .hero-actions {
  display: flex;
  margin-top: 32px;
  gap: 12px;
  flex-wrap: wrap;
}

.solution-hero-copy .button-ghost-inverse {
  border-color: #4a4a4a;
  color: #fff;
  background: transparent;
}

.solution-hero-copy .button-ghost-inverse:hover,
.solution-hero-copy .button-ghost-inverse:focus-visible {
  border-color: #fff;
  color: #090909;
  background: #fff;
}

.solution-hero-meta {
  display: grid;
  max-width: 720px;
  margin: 32px 0 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
}

.solution-hero-meta div {
  min-width: 0;
  padding: 17px 18px 17px 0;
}

.solution-hero-meta div + div {
  padding-left: 18px;
  border-left: 1px solid #333;
}

.solution-hero-meta dt {
  color: #727272;
  font-size: 8px;
  font-weight: 830;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.solution-hero-meta dd {
  margin: 8px 0 0;
  color: #fff;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.35;
}

.solution-response-note {
  display: block;
  max-width: 650px;
  margin-top: 16px;
  color: #7f7f7f;
  font-size: 11px;
  line-height: 1.5;
}

.solution-hero-visual {
  position: relative;
  margin: 0;
  border: 1px solid #373737;
  border-radius: 24px;
  background: #0d0d0d;
  box-shadow: 0 34px 88px rgba(0,0,0,.4);
  overflow: hidden;
}

.solution-hero-visual::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
  pointer-events: none;
  content: "";
}

.solution-hero-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.solution-hero-visual figcaption,
.solution-demo-frame figcaption {
  display: flex;
  min-height: 64px;
  padding: 14px 18px;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  color: #858585;
  background: #0d0d0d;
  font-size: 10px;
  line-height: 1.45;
}

.solution-hero-visual figcaption span {
  color: #37da87;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.solution-hero-visual figcaption strong {
  color: #999;
  font-weight: 650;
  text-align: right;
}

.solution-section-head {
  display: grid;
  margin-bottom: clamp(36px, 5vw, 64px);
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .55fr);
  gap: clamp(36px, 7vw, 100px);
  align-items: end;
}

.solution-section-head h2,
.solution-release-copy h2 {
  max-width: 930px;
  margin: 12px 0 0;
  font-size: clamp(42px, 5vw, 72px);
  line-height: .95;
  letter-spacing: -.045em;
}

.solution-section-head > p,
.solution-release-copy > p {
  max-width: 620px;
  margin: 0;
  color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.65;
}

.section-inverse .solution-section-head h2,
.section-inverse .solution-section-head > p {
  color: #fff;
}

.section-inverse .solution-section-head > p { color: #a8a8a8; }

.solution-scenario {
  color: #fff;
  background: #090909;
}

.solution-signal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--border-default);
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
}

.solution-signal-grid article {
  min-height: 270px;
  padding: 26px;
  border-right: 1px solid var(--border-subtle);
}

.solution-signal-grid article:last-child { border-right: 0; }
.solution-signal-grid span {
  color: #777;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}

.solution-signal-grid h3 {
  margin: 64px 0 12px;
  font-size: clamp(22px, 2vw, 29px);
  line-height: 1.05;
}

.solution-signal-grid p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.55;
}

.solution-release-grid {
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 8vw, 120px);
  align-items: start;
}

.solution-release-copy {
  position: sticky;
  top: 128px;
}

.solution-release-copy > p { margin-top: 24px; }
.solution-release-copy .text-link {
  display: inline-flex;
  min-height: 44px;
  margin-top: 20px;
  align-items: center;
  color: #090909;
  font-weight: 780;
  text-underline-offset: 4px;
}

.solution-screen-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid #bdbdbd;
  list-style: none;
}

.solution-screen-list li {
  display: grid;
  min-height: 128px;
  padding: 24px 0;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 18px;
  border-bottom: 1px solid #bdbdbd;
}

.solution-screen-list li > span {
  color: #6f6f6f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.solution-screen-list strong {
  display: block;
  font-size: clamp(21px, 2.3vw, 30px);
  line-height: 1.1;
}

.solution-screen-list p {
  max-width: 660px;
  margin: 10px 0 0;
  color: var(--text-secondary);
  line-height: 1.55;
}

.solution-demo-frame {
  margin-block: 0;
  border: 1px solid #333;
  border-radius: 24px;
  background: #0b0b0b;
  overflow: hidden;
}

.solution-demo-frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.solution-demo-frame figcaption a {
  min-height: 44px;
  padding: 12px 0;
  color: #fff;
  font-weight: 750;
  text-underline-offset: 4px;
}

.solution-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #393939;
  border-bottom: 1px solid #393939;
}

.solution-flow article {
  min-height: 250px;
  padding: 26px;
  border-right: 1px solid #393939;
}

.solution-flow article:last-child { border-right: 0; }
.solution-flow span {
  color: #36d987;
  font-size: 9px;
  font-weight: 830;
  letter-spacing: .08em;
}

.solution-flow h3 {
  margin: 58px 0 12px;
  color: #fff;
  font-size: 26px;
}

.solution-flow p {
  margin: 0;
  color: #aaa;
  font-size: 14px;
  line-height: 1.55;
}

.solution-before-after {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--border-default);
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
}

.solution-before-after article {
  min-height: 330px;
  padding: clamp(28px, 4vw, 48px);
}

.solution-before-after article + article {
  border-left: 1px solid var(--border-default);
  background: #0a0a0a;
}

.solution-before-after span,
.solution-decision-grid article > span,
.solution-ai-choice article > span {
  color: #777;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.solution-before-after article + article span { color: #36d987; }

.solution-before-after h3,
.solution-decision-grid h3,
.solution-ai-choice h3 {
  margin: 42px 0 20px;
  font-size: clamp(27px, 3vw, 40px);
  line-height: 1.05;
}

.solution-before-after article + article h3 { color: #fff; }

.solution-before-after dl {
  display: grid;
  margin: 0;
  gap: 0;
}

.solution-before-after dl div {
  display: grid;
  padding: 12px 0;
  grid-template-columns: minmax(90px, .4fr) minmax(0, 1fr);
  gap: 20px;
  border-top: 1px solid var(--border-subtle);
}

.solution-before-after article + article dl div { border-color: #303030; }

.solution-before-after dt {
  color: #777;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.solution-before-after dd {
  margin: 0;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.45;
}

.solution-before-after article + article dd { color: #b8b8b8; }

.solution-before-after ul,
.solution-decision-grid ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}

.solution-before-after li,
.solution-decision-grid li {
  position: relative;
  padding-left: 18px;
  color: var(--text-secondary);
  line-height: 1.5;
}

.solution-before-after article + article li { color: #b8b8b8; }

.solution-before-after li::before,
.solution-decision-grid li::before {
  position: absolute;
  top: .63em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #32d883;
  content: "";
}

.solution-process-map {
  display: grid;
  margin-block: 0;
  padding: 0;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid #393939;
  border-bottom: 1px solid #393939;
  list-style: none;
}

.solution-process-map li {
  position: relative;
  min-height: 230px;
  padding: 26px 22px;
  border-right: 1px solid #393939;
}

.solution-process-map li:last-child { border-right: 0; }

.solution-process-map li:not(:last-child)::after {
  position: absolute;
  top: 31px;
  right: -7px;
  z-index: 1;
  color: #37da87;
  background: #090909;
  content: "→";
}

.solution-process-map span {
  color: #37da87;
  font-size: 10px;
  font-weight: 830;
  letter-spacing: .08em;
}

.solution-process-map strong {
  display: block;
  margin-top: 56px;
  color: #fff;
  font-size: 20px;
  line-height: 1.1;
}

.solution-process-map p {
  margin: 10px 0 0;
  color: #aaa;
  font-size: 13px;
  line-height: 1.5;
}

.solution-process-map small {
  display: block;
  margin-top: 10px;
  color: #aaa;
  font-size: 13px;
  line-height: 1.5;
}

.solution-process-map .solution-process-exception {
  background: #111;
  box-shadow: inset 0 3px 0 #37da87;
}

.solution-decision-grid,
.solution-ai-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--border-default);
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
}

.solution-decision-grid article,
.solution-ai-choice article {
  min-height: 360px;
  padding: clamp(28px, 4vw, 48px);
}

.solution-decision-grid article + article,
.solution-ai-choice article + article {
  border-left: 1px solid var(--border-default);
}

.solution-ai-choice article + article {
  color: #fff;
  background: #0a0a0a;
}

.solution-ai-choice p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.65;
}

.solution-ai-choice article + article p { color: #b8b8b8; }

.solution-ai-choice strong {
  display: block;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
  font-size: 14px;
  line-height: 1.5;
}

.solution-ai-choice article + article strong { border-color: #333; }

.solution-split-grid,
.solution-boundary-table {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--border-default);
  border-radius: 22px;
  overflow: hidden;
}

.solution-split-grid article,
.solution-boundary-table article {
  min-height: 360px;
  padding: clamp(28px, 4vw, 48px);
  background: #fff;
}

.solution-split-grid article + article,
.solution-boundary-table article + article {
  border-left: 1px solid var(--border-default);
}

.solution-split-grid article > span {
  color: #777;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: .1em;
}

.solution-split-grid h3,
.solution-boundary-table h3 {
  margin: 46px 0 24px;
  font-size: clamp(27px, 3vw, 40px);
  line-height: 1.05;
}

.solution-split-grid ul,
.solution-boundary-table ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}

.solution-split-grid li,
.solution-boundary-table li {
  position: relative;
  padding-left: 18px;
  color: var(--text-secondary);
  line-height: 1.5;
}

.solution-split-grid li::before,
.solution-boundary-table li::before {
  position: absolute;
  top: .63em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #32d883;
  content: "";
}

.solution-split-grid .solution-split-dark {
  color: #fff;
  background: #090909;
}

.solution-split-grid .solution-split-dark > span { color: #777; }
.solution-split-grid .solution-split-dark h3 { color: #fff; }
.solution-split-grid .solution-split-dark li { color: #b8b8b8; }

.solution-boundary-table article:nth-child(2) { background: #f4f4f4; }

.solution-handoff-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.solution-handoff-grid article {
  display: grid;
  min-height: 230px;
  padding: 26px;
  align-content: start;
  border: 1px solid var(--border-default);
  border-radius: 20px;
  background: #fff;
}

.solution-handoff-grid .o-icon {
  width: 28px;
  height: 28px;
  margin-bottom: 54px;
}

.solution-handoff-grid strong {
  font-size: 20px;
}

.solution-handoff-grid span {
  margin-top: 10px;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.5;
}

.solution-faq .material-faq { max-width: 1060px; }
.solution-faq .material-faq details p {
  max-width: 850px;
  color: var(--text-secondary);
  line-height: 1.65;
}

.solution-cta-actions {
  display: grid;
  min-width: 250px;
  gap: 10px;
}

.solution-cta-actions > a:not(.button) {
  min-height: 44px;
  padding: 12px 0;
  color: #fff;
  font-size: 13px;
  font-weight: 750;
  text-align: center;
  text-underline-offset: 4px;
}

@media (max-width: 1180px) {
  .solution-hero-grid {
    grid-template-columns: 1fr;
  }

  .solution-hero-copy h1 { max-width: 980px; }
  .solution-hero-visual { max-width: 980px; }
}

@media (max-width: 900px) {
  .solution-section-head,
  .solution-release-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .solution-release-copy { position: static; }
  .solution-signal-grid,
  .solution-flow,
  .solution-process-map,
  .solution-handoff-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solution-signal-grid article:nth-child(2),
  .solution-flow article:nth-child(2) { border-right: 0; }
  .solution-signal-grid article:nth-child(-n + 2),
  .solution-flow article:nth-child(-n + 2) { border-bottom: 1px solid var(--border-subtle); }

  .solution-process-map li {
    min-height: 190px;
    border-bottom: 1px solid #393939;
  }
  .solution-process-map li:nth-child(2n) { border-right: 0; }
  .solution-process-map li:nth-last-child(-n + 2) { border-bottom: 0; }
  .solution-process-map li:not(:last-child)::after { display: none; }
}

@media (max-width: 620px) {
  .solution-landing .solution-hero {
    padding-top: 42px;
  }

  .solution-hero-copy h1 {
    margin-top: 12px;
    font-size: clamp(42px, 12vw, 54px);
    line-height: .91;
  }

  .solution-launch-page .solution-hero-copy h1 {
    font-size: clamp(38px, 10.8vw, 48px);
    letter-spacing: -.035em;
  }

  .solution-hero-copy > p:not(.kicker) {
    margin-top: 22px;
    font-size: 16px;
  }

  .solution-hero-copy .hero-actions {
    display: grid;
    margin-top: 26px;
  }

  .solution-hero-copy .button { width: 100%; }
  .solution-hero-meta {
    grid-template-columns: 1fr 1fr;
    margin-top: 26px;
  }
  .solution-hero-meta div:nth-child(3) {
    grid-column: 1 / -1;
    border-top: 1px solid #333;
    border-left: 0;
    padding-left: 0;
  }
  .solution-hero-visual {
    border-radius: 18px;
  }
  .solution-hero-visual img {
    aspect-ratio: 4 / 5;
    object-position: 74% center;
  }
  .solution-hero-visual figcaption {
    display: grid;
    gap: 4px;
  }
  .solution-hero-visual figcaption strong { text-align: left; }
  .solution-section-head h2,
  .solution-release-copy h2 {
    font-size: clamp(38px, 10.5vw, 48px);
  }
  .solution-signal-grid,
  .solution-flow,
  .solution-before-after,
  .solution-process-map,
  .solution-decision-grid,
  .solution-ai-choice,
  .solution-split-grid,
  .solution-boundary-table,
  .solution-handoff-grid {
    grid-template-columns: 1fr;
  }
  .solution-signal-grid article,
  .solution-flow article {
    min-height: 0;
    padding: 22px;
    border-right: 0;
    border-bottom: 1px solid var(--border-subtle);
  }
  .solution-signal-grid article:last-child,
  .solution-flow article:last-child { border-bottom: 0; }
  .solution-signal-grid h3,
  .solution-flow h3 { margin-top: 34px; }
  .solution-screen-list li { grid-template-columns: 38px minmax(0, 1fr); }
  .solution-before-after article,
  .solution-decision-grid article,
  .solution-ai-choice article {
    min-height: 0;
    padding: 26px 22px;
  }
  .solution-before-after article + article,
  .solution-decision-grid article + article,
  .solution-ai-choice article + article {
    border-top: 1px solid var(--border-default);
    border-left: 0;
  }
  .solution-before-after h3,
  .solution-decision-grid h3,
  .solution-ai-choice h3 { margin-top: 34px; }
  .solution-process-map li {
    min-height: 0;
    padding: 22px;
    border-right: 0;
    border-bottom: 1px solid #393939;
  }
  .solution-process-map li:nth-last-child(2) { border-bottom: 1px solid #393939; }
  .solution-process-map strong { margin-top: 32px; }
  .solution-demo-frame { border-radius: 18px; }
  .solution-demo-frame img {
    min-height: 430px;
    object-position: 74% center;
  }
  .solution-demo-frame figcaption {
    display: grid;
    gap: 4px;
  }
  .solution-split-grid article,
  .solution-boundary-table article {
    min-height: 0;
    padding: 26px 22px;
  }
  .solution-split-grid article + article,
  .solution-boundary-table article + article {
    border-top: 1px solid var(--border-default);
    border-left: 0;
  }
  .solution-split-grid h3,
  .solution-boundary-table h3 { margin-top: 34px; }
  .solution-handoff-grid article { min-height: 0; }
  .solution-handoff-grid .o-icon { margin-bottom: 38px; }
  .solution-cta-actions { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .solution-landing *,
  .solution-landing *::before,
  .solution-landing *::after {
    scroll-behavior: auto !important;
  }
}

/* 2026-08-23 visible correction: one header, one display weight, one action anatomy. */
:root {
  --studio-action-height: 58px;
  --studio-action-font-size: 14px;
  --studio-action-weight: 680;
  --studio-hero-size: clamp(60px, 4.8vw, 82px);
  --studio-hero-weight: 410;
}

.studio-header .wave-cta {
  min-width: 194px;
  min-height: 52px;
  font-size: 13.5px;
}

.studio-header .wave-cta-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.studio-header .wave-cta-label .o-icon,
.button > .o-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  stroke-width: 1.8;
}

:is(
  .pearl-studio,
  .service-page,
  .direction-page,
  .policy-page,
  .pricing-page,
  .materials-page,
  .material-article-page,
  .capabilities-page,
  .solution-landing,
  .process-audit-page,
  .lead-operations-page,
  .notfound-page
) :is(.button-dark, .button-inverse, .button-submit, .button-light, .button-ghost-inverse, .crystal-button) {
  display: inline-flex;
  min-height: var(--studio-action-height);
  padding-inline: 26px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: var(--studio-action-font-size);
  font-weight: var(--studio-action-weight);
}

.service-page .pearl-page-hero.service-hero-modern h1,
.materials-page .pearl-page-hero h1,
.pricing-page .pearl-page-hero .pricing-hero-copy h1 {
  font-size: var(--studio-hero-size);
  font-weight: var(--studio-hero-weight);
  line-height: .94;
}

@media (min-width: 1041px) {
  .studio-header .header-nav { display: flex !important; gap: clamp(7px, .9vw, 14px); }
  .studio-header .wave-cta { display: inline-flex !important; }
  .studio-header .menu-toggle { display: none !important; }
}

@media (min-width: 1041px) and (max-width: 1180px) {
  .studio-header .header-inner { width: calc(100% - 32px); padding-inline: 14px 8px; }
  .studio-header .brand { min-width: 150px; }
  .studio-header .header-nav > a,
  .studio-header .header-nav-trigger { padding-inline: 9px; font-size: 11.5px; }
  .studio-header .wave-cta { min-width: 168px; }
}

/* Shared sound preference: a quiet utility control in the header and mobile sheet. */
.studio-header .header-sound-toggle,
.mobile-menu .mobile-sound-toggle {
  box-sizing: border-box;
  display: inline-flex;
  min-height: 46px;
  padding: 0 13px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(91, 82, 103, .14);
  border-radius: 16px;
  color: #625c68;
  background: linear-gradient(135deg, rgba(255,255,255,.78), rgba(239,235,242,.62));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 620;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease, opacity .2s ease;
}

.studio-header .header-sound-toggle .o-icon,
.mobile-menu .mobile-sound-toggle .o-icon {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  stroke-width: 1.65;
}

.studio-header .header-sound-toggle:is(:hover, :focus-visible),
.mobile-menu .mobile-sound-toggle:is(:hover, :focus-visible) {
  border-color: rgba(91, 82, 103, .26);
  color: #211f27;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 28px rgba(61,52,72,.1), inset 0 1px 0 #fff;
  transform: translateY(-1px);
}

.studio-header .header-sound-toggle[aria-pressed="false"],
.mobile-menu .mobile-sound-toggle[aria-pressed="false"] {
  color: #89828d;
  background: rgba(246,244,247,.58);
}

.mobile-menu .mobile-sound-toggle {
  width: 100%;
  min-height: 52px;
  margin-top: 8px;
  justify-content: flex-start;
  padding-inline: 16px;
  border-radius: 15px;
}

@media (max-width: 1040px) {
  .studio-header .header-sound-toggle {
    display: none;
  }
}

@media (min-width: 1041px) and (max-width: 1180px) {
  .studio-header .header-sound-toggle {
    width: 46px;
    min-width: 46px;
    padding: 0;
  }

  .studio-header .header-sound-toggle span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

@media (max-width: 720px) {
  :root {
    --studio-action-height: 54px;
    --studio-hero-size: clamp(44px, 12vw, 58px);
  }
}

/* Authoritative pearl cascade — intentionally last. */
body.service-page,
body.policy-page {
  --surface-page: var(--pearl-page);
  --surface-page-alt: #f0eff5;
  --surface-card-muted: rgba(255,255,255,.82);
  --text-primary: var(--pearl-ink);
  --text-secondary: var(--pearl-muted);
  --text-muted: #777287;
  --border-subtle: var(--pearl-line);
  --border-default: rgba(67, 61, 93, .2);
  color: var(--pearl-ink);
  background:
    radial-gradient(circle at 84% 8%, rgba(171,188,255,.18), transparent 30rem),
    radial-gradient(circle at 12% 18%, rgba(255,216,231,.14), transparent 28rem),
    var(--pearl-page);
}

.site-header.studio-header,
body.has-scrolled .site-header.studio-header {
  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  height: 88px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(67,61,93,.1);
  background: rgba(249,249,252,.82);
  box-shadow: none;
  backdrop-filter: blur(22px) saturate(135%);
}

body.home-page,
body.service-page,
body.pricing-page,
body.policy-page { padding-top: 94px; }
.studio-header .header-inner {
  width: min(1320px, calc(100% - 64px));
  min-width: 0;
  height: 88px;
  min-height: 88px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.studio-header .brand-mark,
.studio-header .brand-mark-crystal { width: 34px; height: 34px; overflow: visible; border-radius: 0; clip-path: none; filter: saturate(.78) contrast(1.12); }
.studio-header .brand-text { display: flex; flex-direction: row; align-items: baseline; gap: 8px; }
.studio-header .brand-text strong { font-size: 18px; letter-spacing: -.035em; }
.studio-header .brand-text span { color: #6d687a; font-size: 8px; letter-spacing: .22em; }
.studio-header .header-nav { gap: clamp(6px, 1vw, 14px); }
.studio-header .header-nav > a,
.studio-header .header-nav-trigger { color: #5f5b6b; font-size: 13px; }
.studio-directions-menu { border-color: var(--pearl-line); border-radius: 24px; background: rgba(253,253,255,.97); box-shadow: var(--pearl-shadow); }
.studio-header .wave-cta-ring { background: conic-gradient(from 18deg, #9be9ff, #bbb2ff, #ffd1df, #fff0c8, #c8f5d7, #9be9ff); }
.studio-header .wave-cta-surface { background: linear-gradient(115deg, #403a5f, #242130 72%); }

.service-page .page-hero.service-hero-modern {
  padding-block: clamp(82px, 8vw, 116px);
  border-bottom: 1px solid var(--pearl-line);
  background:
    linear-gradient(118deg, rgba(255,255,255,.78), rgba(244,243,250,.56)),
    repeating-linear-gradient(121deg, transparent 0 132px, rgba(126,115,188,.045) 132px 133px, transparent 133px 264px);
}
.service-page .service-hero-modern .page-hero-grid { gap: clamp(56px, 8vw, 120px); align-items: center; }
.service-page .service-hero-modern h1 {
  max-width: 850px;
  margin-block: 18px 24px;
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-size: clamp(54px, 5.4vw, 80px);
  font-weight: 430;
  line-height: .96;
  letter-spacing: -.06em;
  text-transform: none;
}
.service-page .service-hero-modern p:not(.kicker) { color: var(--pearl-muted); font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; }
.service-page .kicker { color: #756d95; }
.studio-service-showcase { border-color: var(--pearl-line); border-radius: 28px; color: var(--pearl-ink); background: rgba(255,255,255,.76); box-shadow: var(--pearl-shadow); }
.studio-service-showcase > div { border-color: var(--pearl-line); }
.studio-service-showcase > div:first-child { background: linear-gradient(100deg, rgba(226,221,255,.62), rgba(255,255,255,.4)); }
.studio-service-showcase span { color: #8981a4; }
.studio-service-showcase strong { color: var(--pearl-ink); }
.studio-service-showcase small { color: var(--pearl-muted); }

.service-page .button-dark,
.service-page .button-inverse { border-color: var(--pearl-violet); color: #fff; background: linear-gradient(115deg, #403a5f, #242130 72%); box-shadow: 0 10px 26px rgba(50,43,84,.14); }
.service-page .button-light,
.service-page .button-ghost-inverse { border-color: rgba(57,52,81,.2); color: var(--pearl-ink); background: rgba(255,255,255,.64); }
.service-page .section-muted { background: rgba(239,238,245,.62); }
.direction-page .direction-card,
.direction-page .direction-budget-card,
.direction-page .direction-process,
.direction-page .direction-related-grid a,
.release-support-grid,
.result-panel { border-color: var(--pearl-line); border-radius: 24px; color: var(--pearl-ink); background: var(--pearl-surface); box-shadow: 0 12px 42px rgba(54,49,83,.055); }
.direction-page .direction-card-dark { border-color: rgba(77,71,84,.14); color: var(--pearl-ink); background: linear-gradient(145deg, rgba(250,249,251,.98), rgba(238,235,240,.94)); }
.direction-page .direction-card-dark h3,
.direction-page .direction-card-dark strong { color: var(--pearl-ink); background: transparent; }
.direction-page .direction-card-dark p,
.direction-page .direction-card-dark li { color: var(--pearl-muted); }
.direction-page .direction-card-dark > span { color: #756d95; }
.direction-page .direction-process article,
.release-support-grid article { border-color: var(--pearl-line); }

.service-page .section-head h2,
.service-page .result-panel h2,
.service-page .concept-case h2,
.service-page .release-support-section h2 {
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-weight: 470;
  line-height: 1;
  letter-spacing: -.045em;
  text-transform: none;
}
.service-page .price-card,
.service-page .price-card-featured {
  border-color: var(--pearl-line);
  border-radius: 22px;
  color: var(--pearl-ink);
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 38px rgba(54,49,83,.045);
}
.service-page .price-card-featured {
  border-color: rgba(117,104,223,.24);
  background: linear-gradient(135deg, rgba(225,220,255,.78), rgba(255,255,255,.86));
}
.service-page .price-card-featured h3,
.service-page .price-card-featured p,
.service-page .price-card-featured span,
.service-page .price-card-featured li { color: var(--pearl-ink); }

.materials-page .materials-topic-index { border-color: var(--pearl-line); background: var(--pearl-line); box-shadow: var(--pearl-shadow); }
.materials-page .materials-topic-link { color: var(--pearl-ink); background: rgba(255,255,255,.88); }
.materials-page .materials-topic-link:hover,
.materials-page .materials-topic-link:focus-visible { color: var(--pearl-ink); background: #eeebfb; }
.materials-page .materials-topic-link:hover > span:first-child,
.materials-page .materials-topic-link:hover small,
.materials-page .materials-topic-link:focus-visible > span:first-child,
.materials-page .materials-topic-link:focus-visible small { color: #756d95; }
.materials-page .material-card,
.materials-page .material-card-featured { border-color: var(--pearl-line); background: rgba(255,255,255,.84); box-shadow: 0 12px 36px rgba(54,49,83,.045); }
.materials-page .material-card-featured { background: linear-gradient(135deg, rgba(236,233,255,.86), rgba(255,255,255,.9)); }

.material-article-page .material-article-hero {
  padding-top: clamp(128px, 13vw, 176px);
  border-bottom: 1px solid var(--pearl-line);
  background: radial-gradient(circle at 86% 16%, rgba(185,195,255,.2), transparent 30rem), linear-gradient(120deg, #fafafe, #f2f1f8);
}
.material-article-page .material-article h1 { color: var(--pearl-ink); font-family: var(--font-body); font-weight: 430; line-height: .98; letter-spacing: -.055em; }
.material-article-page .material-lead { color: var(--pearl-muted); }

.lead-dialog::backdrop { background: rgba(28,25,39,.54); backdrop-filter: blur(8px); }
.lead-dialog .ui-dialog-panel {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 28px;
  color: var(--pearl-ink);
  background: rgba(249,248,252,.97);
  box-shadow: 0 34px 100px rgba(24,21,37,.28);
}
.lead-dialog .ui-dialog-copy {
  color: var(--pearl-ink);
  background: linear-gradient(135deg, rgba(231,227,255,.7), rgba(255,255,255,.72));
}
.lead-dialog .ui-dialog-copy h2 {
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-weight: 520;
  line-height: 1;
  letter-spacing: -.045em;
  text-transform: none;
}
.lead-dialog .ui-dialog-copy > p:not(.section-label):not(.kicker),
.lead-dialog .form-helper { color: var(--pearl-muted); }
.dialog-mode-picker button {
  border-color: rgba(67,61,93,.2);
  border-radius: 18px;
  color: var(--pearl-ink);
  background: rgba(255,255,255,.64);
}
.dialog-mode-picker button[aria-pressed="true"] {
  border-color: rgba(117,104,223,.3);
  color: var(--pearl-ink);
  background: linear-gradient(135deg, rgba(217,211,255,.9), rgba(255,255,255,.86));
  box-shadow: 0 10px 28px rgba(77,65,135,.1);
}
.dialog-mode-picker button[aria-pressed="true"] span { color: var(--pearl-muted); }
.lead-dialog .dialog-lead-form { background: rgba(255,255,255,.88); }
.lead-dialog .dialog-lead-form input,
.lead-dialog .dialog-lead-form select,
.lead-dialog .dialog-lead-form textarea,
.lead-dialog .lead-optional-fields {
  border-color: rgba(67,61,93,.16);
  border-radius: 14px;
  color: var(--pearl-ink);
  background: rgba(249,249,253,.86);
}
.lead-dialog .dialog-lead-form input:focus,
.lead-dialog .dialog-lead-form select:focus,
.lead-dialog .dialog-lead-form textarea:focus { border-color: #8b7fe0; box-shadow: 0 0 0 3px rgba(139,127,224,.12); }
.lead-dialog .ui-dialog-close { border-color: rgba(67,61,93,.2); color: var(--pearl-ink); background: rgba(255,255,255,.7); }

@media (max-width: 1040px) {
  .studio-header .header-nav,
  .studio-header .wave-cta { display: none; }
  .studio-header .menu-toggle { display: inline-flex; }
}
@media (max-width: 720px) {
  .wide-container,
  .studio-header .header-inner { width: calc(100% - 32px); }
  .site-header.studio-header,
  body.has-scrolled .site-header.studio-header,
  .studio-header .header-inner { height: 76px; min-height: 76px; }
  .service-page .page-hero.service-hero-modern { padding-block: 58px 64px; }
  .service-page .service-hero-modern h1 { font-size: clamp(42px, 12.5vw, 58px); }
  .service-page .service-hero-modern .page-hero-grid { gap: 30px; }
  .lead-dialog .ui-dialog-panel { border-radius: 24px; }
  .lead-dialog .ui-dialog-copy h2 { font-size: 28px; }
}

/* Floating crystal glass header. */
.site-header.studio-header,
body.has-scrolled .site-header.studio-header {
  top: 0;
  height: 94px;
  padding: 12px 0 10px;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.studio-header .header-inner {
  width: min(1340px, calc(100% - 44px));
  height: 72px;
  min-height: 72px;
  margin: 0 auto;
  padding: 0 14px 0 18px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px;
  background: linear-gradient(110deg, rgba(255,255,255,.62), rgba(247,246,252,.46));
  box-shadow: 0 10px 34px rgba(50,44,78,.09), inset 0 1px 0 rgba(255,255,255,.78);
  backdrop-filter: blur(28px) saturate(145%);
  transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

body.has-scrolled .studio-header .header-inner {
  border-color: rgba(255,255,255,.84);
  background: linear-gradient(110deg, rgba(255,255,255,.84), rgba(243,242,249,.74));
  box-shadow: 0 16px 46px rgba(43,37,68,.14), inset 0 1px 0 rgba(255,255,255,.9);
}

.studio-header .brand { gap: 11px; }
.studio-header .brand-mark,
.studio-header .brand-mark-crystal {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  filter: saturate(.88) contrast(1.07);
}
.studio-header .brand-text strong { font-size: 19px; font-weight: 680; }
.studio-header .brand-text span { font-size: 8.5px; font-weight: 780; letter-spacing: .24em; }

@media (max-width: 720px) {
  .site-header.studio-header,
  body.has-scrolled .site-header.studio-header {
    height: 84px;
    padding: 9px 0;
  }
  .studio-header .header-inner {
    width: calc(100% - 20px);
    height: 66px;
    min-height: 66px;
    padding: 0 8px 0 13px;
  }
  body.home-page,
  body.service-page,
  body.pricing-page,
  body.policy-page { padding-top: 84px; }
  .studio-header .brand-mark,
  .studio-header .brand-mark-crystal { width: 42px; height: 42px; flex-basis: 42px; }
  .studio-header .brand-text strong { font-size: 18px; }
  .studio-header .brand-text span { font-size: 8px; }
  .studio-header .menu-toggle { width: 48px; height: 48px; }
}

/* Pearl glass header — clear overlay treatment. */
.site-header.studio-header,
body.has-scrolled .site-header.studio-header {
  position: fixed;
  inset: 0 0 auto;
  height: 92px;
  padding: 10px 0;
  background: transparent;
}

.studio-header .header-inner {
  width: min(1360px, calc(100% - 48px));
  height: 72px;
  min-height: 72px;
  padding: 0 15px 0 17px;
  border-color: rgba(255, 255, 255, .58);
  background: rgba(250, 249, 253, .34);
  box-shadow: 0 14px 42px rgba(55, 49, 82, .08), inset 0 1px 0 rgba(255, 255, 255, .7);
  backdrop-filter: blur(24px) saturate(125%);
}

body.has-scrolled .studio-header .header-inner {
  border-color: rgba(255, 255, 255, .78);
  background: rgba(250, 249, 253, .72);
  box-shadow: 0 18px 48px rgba(45, 39, 68, .12), inset 0 1px 0 rgba(255, 255, 255, .82);
}

.studio-header .brand { gap: 10px; }
.studio-header .brand-mark,
.studio-header .brand-mark-crystal {
  width: 52px;
  height: 52px;
  flex-basis: 52px;
  filter: saturate(.52) contrast(1.24) brightness(.96);
}
.studio-header .brand-text strong { color: #211e29; font-size: 19px; }
.studio-header .brand-text span { color: #6d677a; }
.studio-header .wave-cta { min-width: 184px; min-height: 50px; }

.mobile-menu .button-dark {
  border: 1px solid rgba(94, 81, 139, .2);
  color: #26212f;
  background: rgba(239, 236, 249, .92);
  box-shadow: 0 12px 28px rgba(70, 58, 108, .11);
}

@media (max-width: 720px) {
  .site-header.studio-header,
  body.has-scrolled .site-header.studio-header {
    height: 80px;
    padding: 8px 0;
  }
  .studio-header .header-inner {
    width: calc(100% - 20px);
    height: 64px;
    min-height: 64px;
    padding-inline: 12px 8px;
  }
  .studio-header .brand-mark,
  .studio-header .brand-mark-crystal { width: 44px; height: 44px; flex-basis: 44px; }
}

/* 2026-08 navigation refinement: calm spacing and a reliable directions bridge. */
@media (min-width: 1181px) {
  .studio-header .header-nav {
    gap: clamp(18px, 1.65vw, 27px);
  }

  .studio-header .header-nav > a,
  .studio-header .header-nav-trigger {
    min-height: 44px;
    padding-inline: 4px;
  }
}

.studio-header .wave-cta {
  color: #242234;
}

.studio-header .wave-cta-ring {
  opacity: .72;
}

.studio-header .wave-cta-surface {
  inset: 2px;
  background: rgba(255, 255, 255, .76);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .96), inset 0 -12px 28px rgba(188, 186, 246, .13);
}

.studio-header .wave-cta-label {
  color: #252333;
}

.studio-directions-menu {
  width: min(744px, calc(100vw - 32px));
  padding: 0;
  overflow: visible;
  border: 1px solid rgba(79, 71, 111, .14);
  border-radius: 22px;
  color: var(--pearl-ink);
  background: rgba(250, 249, 253, .94);
  box-shadow: 0 28px 72px rgba(47, 40, 72, .16), inset 0 1px 0 rgba(255, 255, 255, .82);
  -webkit-backdrop-filter: blur(30px) saturate(135%);
  backdrop-filter: blur(30px) saturate(135%);
}

.studio-directions-menu::before {
  right: -1px;
  left: -1px;
  height: 16px;
}

.studio-directions-menu .ui-mega-head {
  display: grid;
  gap: 6px;
  padding: 24px 26px 20px;
  border-bottom: 1px solid rgba(79, 71, 111, .12);
}

.studio-directions-menu .ui-mega-head > span {
  color: #777083;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.studio-directions-menu .ui-mega-head strong {
  max-width: none;
  color: #262331;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.28;
  letter-spacing: -.025em;
}

.studio-directions-menu .ui-mega-head p {
  max-width: 590px;
  margin: 0;
  color: #747081;
  font-size: 12px;
  line-height: 1.5;
}

.studio-directions-menu .ui-mega-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  background: transparent;
}

.studio-directions-menu .ui-mega-grid a {
  min-height: 102px;
  gap: 14px;
  padding: 21px 24px;
  border-radius: 0;
  color: #282532;
  background: transparent;
  box-shadow: none;
  transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.studio-directions-menu .ui-mega-grid a:nth-child(odd) {
  border-right: 1px solid rgba(79, 71, 111, .1);
}

.studio-directions-menu .ui-mega-grid a:nth-child(n + 3) {
  border-top: 1px solid rgba(79, 71, 111, .1);
}

.studio-directions-menu .ui-mega-grid a:hover,
.studio-directions-menu .ui-mega-grid a:focus-visible {
  color: #211e2b;
  background: linear-gradient(120deg, rgba(232, 228, 250, .72), rgba(248, 247, 252, .74));
  transform: none;
}

.studio-directions-menu .ui-mega-grid .o-icon {
  width: 19px;
  height: 19px;
  margin-top: 1px;
  color: #716a8d;
  stroke-width: 1.6;
}

.studio-directions-menu .ui-mega-grid strong {
  display: flex;
  gap: 8px;
  align-items: center;
  color: inherit;
  font-size: 14px;
  font-weight: 660;
  line-height: 1.3;
}

.studio-directions-menu .ui-mega-grid strong em {
  display: inline-flex;
  padding: 3px 6px;
  border: 1px solid rgba(117, 104, 223, .18);
  border-radius: 999px;
  color: #7164c9;
  background: rgba(238, 235, 253, .72);
  font-size: 7px;
  font-style: normal;
  font-weight: 780;
  letter-spacing: .1em;
  white-space: nowrap;
}

.studio-directions-menu .ui-mega-grid small {
  margin-top: 4px;
  color: #777282;
  font-size: 11.5px;
  line-height: 1.45;
}

.studio-directions-menu .ui-mega-foot {
  display: flex;
  min-height: 54px;
  padding: 10px 18px 10px 24px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(79, 71, 111, .12);
  color: #7a7585;
  font-size: 11px;
}

.studio-directions-menu .ui-mega-foot > a {
  display: inline-flex;
  min-height: 34px;
  padding: 0 10px;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  color: #3c3652;
  font-size: 11px;
  font-weight: 650;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease;
}

.studio-directions-menu .ui-mega-foot > a:hover,
.studio-directions-menu .ui-mega-foot > a:focus-visible {
  color: #211e2b;
  background: rgba(232, 228, 250, .72);
}

@media (prefers-reduced-motion: reduce) {
  .studio-directions-menu .ui-mega-grid a,
  .studio-directions-menu .ui-mega-foot > a { transition: none; }
}

/* Final cross-site cohesion: keep specialised pages inside the pearl system. */
.capabilities-page .capability-sequence {
  border-color: var(--pearl-line);
  border-radius: 28px;
  color: var(--pearl-ink);
  background:
    radial-gradient(circle at 14% 10%, rgba(203, 196, 255, .42), transparent 42%),
    rgba(255, 255, 255, .8);
  box-shadow: var(--pearl-shadow);
  backdrop-filter: blur(18px);
}

.capabilities-page .capability-sequence p,
.capabilities-page .capability-sequence p:last-child { border-color: var(--pearl-line); }
.capabilities-page .page-hero .capability-sequence p,
.capabilities-page .capability-sequence strong { color: var(--pearl-ink); }
.capabilities-page .capability-sequence span { color: #82799e; }
.capabilities-page .capability-sequence small { color: var(--pearl-muted); }

.capabilities-page .capability-card-dark {
  border-color: rgba(117, 104, 223, .2);
  color: var(--pearl-ink);
  background: linear-gradient(138deg, rgba(226, 221, 255, .82), rgba(255, 255, 255, .9));
}
.capabilities-page .capability-card-dark h3,
.capabilities-page .capability-card-dark .o-icon { color: var(--pearl-ink); }
.capabilities-page .capability-card-dark p,
.capabilities-page .capability-card-dark > small,
.capabilities-page .capability-card-dark > span { color: var(--pearl-muted); }
.capabilities-page .capability-card-dark > small { border-color: var(--pearl-line); }
.capabilities-page .capability-boundaries {
  color: var(--pearl-ink);
  background:
    linear-gradient(120deg, rgba(230, 226, 250, .82), rgba(248, 248, 252, .94)),
    var(--pearl-page);
}
.capabilities-page .capability-boundaries h2 { color: var(--pearl-ink); }
.capabilities-page .capability-boundaries p { color: var(--pearl-muted); }

.solution-landing {
  color: var(--pearl-ink);
  background: var(--pearl-page);
}

.solution-landing .solution-hero {
  padding-top: clamp(78px, 7vw, 104px);
  border-bottom: 1px solid var(--pearl-line);
  color: var(--pearl-ink);
  background:
    radial-gradient(circle at 83% 18%, rgba(190, 199, 255, .3), transparent 32rem),
    radial-gradient(circle at 58% 76%, rgba(255, 219, 231, .2), transparent 28rem),
    linear-gradient(122deg, rgba(255, 255, 255, .92), rgba(242, 241, 249, .86));
}

.solution-hero-grid { align-items: center; }
.solution-hero-copy h1 {
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-size: clamp(50px, 5.1vw, 76px);
  font-weight: 430;
  line-height: .98;
  letter-spacing: -.058em;
  text-transform: none;
}
.solution-hero-copy > p:not(.kicker) { color: var(--pearl-muted); font-size: clamp(17px, 1.35vw, 20px); }
.solution-hero-copy .button-light { border-color: var(--pearl-violet); color: #fff; background: linear-gradient(115deg, #403a5f, #242130 72%); }
.solution-hero-copy .button-ghost-inverse { border-color: rgba(57, 52, 81, .2); color: var(--pearl-ink); background: rgba(255, 255, 255, .64); }
.solution-hero-copy .button-ghost-inverse:hover,
.solution-hero-copy .button-ghost-inverse:focus-visible { border-color: rgba(117, 104, 223, .28); color: var(--pearl-ink); background: #fff; }
.solution-hero-meta { border-color: var(--pearl-line); }
.solution-hero-meta div + div { border-color: var(--pearl-line); }
.solution-hero-meta dt { color: #82799e; }
.solution-hero-meta dd { color: var(--pearl-ink); }
.solution-response-note { color: var(--pearl-muted); }
.solution-hero-visual,
.solution-demo-frame {
  border-color: var(--pearl-line);
  background: rgba(255, 255, 255, .82);
  box-shadow: var(--pearl-shadow);
}
.solution-hero-visual::before { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .34); }
.solution-hero-visual figcaption,
.solution-demo-frame figcaption { border-color: var(--pearl-line); color: var(--pearl-muted); background: rgba(253, 253, 255, .96); }
.solution-hero-visual figcaption span { color: #7468c7; }
.solution-hero-visual figcaption strong { color: var(--pearl-muted); }
.solution-demo-frame figcaption a { color: var(--pearl-ink); }

.solution-landing .solution-section-head h2,
.solution-landing .solution-release-copy h2 {
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-weight: 460;
  letter-spacing: -.045em;
  text-transform: none;
}
.solution-landing .solution-section-head > p,
.solution-landing .solution-release-copy > p,
.solution-landing .solution-screen-list p,
.solution-landing .solution-signal-grid p { color: var(--pearl-muted); }
.solution-landing .solution-release-copy .text-link { color: var(--pearl-ink); }
.solution-landing .solution-screen-list,
.solution-landing .solution-screen-list li { border-color: var(--pearl-line); }
.solution-landing .solution-signal-grid,
.solution-landing .solution-before-after,
.solution-landing .solution-decision-grid,
.solution-landing .solution-ai-choice,
.solution-landing .solution-split-grid,
.solution-landing .solution-boundary-table {
  border-color: var(--pearl-line);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 14px 46px rgba(54, 49, 83, .055);
}
.solution-landing :is(.solution-signal-grid article, .solution-flow article, .solution-before-after article + article, .solution-decision-grid article + article, .solution-ai-choice article + article, .solution-split-grid article + article, .solution-boundary-table article + article) { border-color: var(--pearl-line); }
.solution-landing .solution-scenario {
  color: var(--pearl-ink);
  background: linear-gradient(128deg, rgba(230, 226, 250, .88), rgba(248, 248, 252, .96));
}
.solution-landing .section-inverse .solution-section-head h2 { color: var(--pearl-ink); }
.solution-landing .section-inverse .solution-section-head > p { color: var(--pearl-muted); }
.solution-landing .solution-flow,
.solution-landing .solution-process-map { border-color: var(--pearl-line); }
.solution-landing .solution-flow article,
.solution-landing .solution-process-map li { border-color: var(--pearl-line); }
.solution-landing .solution-flow span,
.solution-landing .solution-process-map span { color: #7468c7; }
.solution-landing .solution-flow h3,
.solution-landing .solution-process-map strong { color: var(--pearl-ink); }
.solution-landing .solution-flow p,
.solution-landing .solution-process-map p,
.solution-landing .solution-process-map small { color: var(--pearl-muted); }
.solution-landing .solution-process-map li:not(:last-child)::after { color: #7468c7; background: #f1eff9; }
.solution-landing .solution-process-map .solution-process-exception { background: rgba(255, 255, 255, .54); box-shadow: inset 0 3px 0 #887ade; }
.solution-landing .solution-before-after article + article,
.solution-landing .solution-ai-choice article + article,
.solution-landing .solution-split-grid .solution-split-dark {
  color: var(--pearl-ink);
  background: linear-gradient(138deg, rgba(226, 221, 255, .78), rgba(255, 255, 255, .88));
}
.solution-landing .solution-before-after article + article :is(h3, dd, li),
.solution-landing .solution-ai-choice article + article :is(p, strong),
.solution-landing .solution-split-grid .solution-split-dark :is(h3, li) { color: var(--pearl-ink); }
.solution-landing .solution-before-after article + article dl div,
.solution-landing .solution-ai-choice article + article strong { border-color: var(--pearl-line); }
.solution-landing .solution-before-after article + article span,
.solution-landing .solution-split-grid .solution-split-dark > span { color: #7468c7; }
.solution-landing .solution-boundary-table article:nth-child(2) { background:var(--suite-soft,#eee); }

.process-audit-page .audit-card,
.lead-operations-page .mini-dashboard {
  border: 1px solid var(--pearl-line);
  border-radius: 28px;
  color: var(--pearl-ink);
  background: linear-gradient(138deg, rgba(226, 221, 255, .72), rgba(255, 255, 255, .88));
  box-shadow: var(--pearl-shadow);
}
.process-audit-page .audit-card h2,
.process-audit-page .audit-card strong,
.lead-operations-page .mini-dashboard h2 { color: var(--pearl-ink); }
.process-audit-page .audit-card p,
.lead-operations-page .mini-dashboard li { color: var(--pearl-muted); }
.process-audit-page .audit-card strong { color: #5c50b2; }
.lead-operations-page .economics-section {
  color: var(--pearl-ink);
  background: linear-gradient(128deg, rgba(230, 226, 250, .9), rgba(248, 248, 252, .96));
}
.lead-operations-page .economics-section h2 { color: var(--pearl-ink); }
.lead-operations-page .economics-section :is(p, small, dt) { color: var(--pearl-muted); }

.notfound-page { padding-top: 94px; }
.notfound-page .page-hero {
  min-height: min(700px, calc(100vh - 94px));
  padding-block: clamp(100px, 14vw, 180px);
  background:
    radial-gradient(circle at 78% 24%, rgba(192, 200, 255, .28), transparent 30rem),
    linear-gradient(122deg, #fdfdff, #f2f1f8);
}
.notfound-page .page-hero .narrow { max-width: 780px; margin-inline: auto; text-align: center; }
.notfound-page .page-hero h1 {
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-size: clamp(54px, 7vw, 88px);
  font-weight: 430;
  letter-spacing: -.06em;
  text-transform: none;
}
.notfound-page .page-hero p { color: var(--pearl-muted); font-size: clamp(17px, 1.4vw, 20px); }
.notfound-page .hero-actions { justify-content: center; }
.notfound-page .button-dark {
  border-color: var(--pearl-violet);
  color: #fff;
  background: linear-gradient(115deg, #403a5f, #242130 72%);
}
.notfound-page .studio-trust { display: none; }

@media (max-width: 620px) {
  .solution-hero-copy h1,
  .solution-launch-page .solution-hero-copy h1 { font-size: clamp(38px, 11vw, 48px); line-height: .98; }
  .solution-hero-meta div:nth-child(3) { border-color: var(--pearl-line); }
  .solution-landing .solution-process-map li,
  .solution-landing .solution-process-map li:nth-last-child(2) { border-color: var(--pearl-line); }
  .notfound-page { padding-top: 76px; }
  .notfound-page .page-hero { min-height: calc(100vh - 76px); padding-block: 88px; }
}

/* 2026-08 unified pearl pass: one surface and one CTA language across every route. */
:is(.service-page, .direction-page, .policy-page, .pricing-page, .materials-page, .material-article-page, .capabilities-page, .solution-landing, .process-audit-page, .lead-operations-page, .notfound-page)
  :is(.button-dark, .button-inverse, .button-submit, .button-light) {
  border: 1px solid transparent;
  color: #211e2a;
  background:
    linear-gradient(rgba(255, 255, 255, .88), rgba(247, 246, 252, .82)) padding-box,
    linear-gradient(108deg, #a7e8f6, #b8adf5 35%, #f4cdda 68%, #dceebd) border-box;
  box-shadow: 0 12px 32px rgba(78, 67, 124, .13), inset 0 1px 0 rgba(255, 255, 255, .9);
}

:is(.service-page, .direction-page, .policy-page, .pricing-page, .materials-page, .material-article-page, .capabilities-page, .solution-landing, .process-audit-page, .lead-operations-page, .notfound-page)
  :is(.button-dark, .button-inverse, .button-submit, .button-light):is(:hover, :focus-visible) {
  color: #211e2a;
  background:
    linear-gradient(rgba(255, 255, 255, .97), rgba(244, 242, 252, .92)) padding-box,
    linear-gradient(108deg, #8ddff1, #a497ef 35%, #efbdcf 68%, #cee7a8) border-box;
  box-shadow: 0 16px 38px rgba(78, 67, 124, .18), inset 0 1px 0 rgba(255, 255, 255, .96);
}

:is(.service-page, .direction-page, .policy-page, .pricing-page, .materials-page, .material-article-page, .capabilities-page, .solution-landing, .process-audit-page, .lead-operations-page, .notfound-page)
  .button-ghost-inverse {
  border-color: rgba(57, 52, 81, .16);
  color: var(--pearl-ink);
  background: rgba(255, 255, 255, .58);
  box-shadow: none;
}

.direction-page .direction-cta {
  border-top: 1px solid var(--pearl-line);
  color: var(--pearl-ink);
  background:
    radial-gradient(circle at 82% 8%, rgba(214, 209, 245, .46), transparent 28rem),
    linear-gradient(122deg, #f6f3f5, #ece8ef);
}

.direction-page .direction-cta h2 { color: var(--pearl-ink); }
.direction-page .direction-cta p { color: var(--pearl-muted); }

.studio-trust {
  border-top: 1px solid rgba(67, 57, 73, .08);
  border-bottom: 1px solid rgba(67, 57, 73, .08);
  color: var(--pearl-ink);
  background:
    radial-gradient(circle at 88% 12%, rgba(218, 211, 245, .42), transparent 28rem),
    #f2eef2;
}

.studio-trust-grid {
  grid-template-columns: minmax(250px, .85fr) minmax(0, 1.65fr);
  gap: clamp(30px, 5vw, 72px);
}

.studio-trust > .studio-trust-grid > div > span,
.studio-trust span { color: #7a7282; }
.studio-trust h2 { color: var(--pearl-ink); font-family: var(--font-sans); font-weight: 430; letter-spacing: -.045em; text-transform: none; }
.studio-trust-grid > div > p { color: var(--pearl-muted); }
.studio-trust ul {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid rgba(67, 57, 73, .09);
  border-radius: 22px;
  background: rgba(255, 255, 255, .52);
  box-shadow: 0 18px 52px rgba(65, 55, 79, .055);
}
.studio-trust li { min-height: 178px; border-color: rgba(67, 57, 73, .09); }
.studio-trust li:nth-child(2n) { border-right: 1px solid rgba(67, 57, 73, .09); }
.studio-trust li:last-child { border-right: 0; }
.studio-trust li small { color: #847a91; }
.studio-trust li strong { color: var(--pearl-ink); }
.studio-trust li > span { color: var(--pearl-muted); }

.studio-footer.footer {
  padding-top: 0;
  border-top: 0;
  color: var(--pearl-muted);
  background: #f8f6f7;
}
.studio-footer .footer-grid { grid-template-columns: 1.25fr .72fr 1fr .65fr; }
.studio-footer .brand,
.studio-footer h3,
.studio-footer a:not(.brand) { color: var(--pearl-ink); }
.studio-footer p,
.studio-footer .brand-text span,
.studio-footer .supporting-link,
.studio-footer .footer-bottom { color: var(--pearl-muted); }
.studio-footer .brand-mark { filter: saturate(.58) contrast(1.16); }
.studio-footer a:not(.brand):is(:hover, :focus-visible) { color: #675b86; }
.studio-footer .footer-bottom { border-color: rgba(67, 57, 73, .1); }
.studio-footer :focus-visible { outline-color: #675b86; }

.direction-page .release-support-action,
.direction-page .product-format-card-dark,
.pricing-page .pricing-layer-card-dark,
.lead-operations-page .document-section-dark {
  border-color: rgba(117, 104, 223, .18);
  color: var(--pearl-ink);
  background: linear-gradient(135deg, rgba(229, 225, 250, .78), rgba(255, 255, 255, .88));
}

.direction-page .release-support-action :is(h3, a),
.direction-page .product-format-card-dark :is(h3, strong, li),
.pricing-page .pricing-layer-card-dark :is(h2, h3, strong, li),
.lead-operations-page .document-section-dark :is(h2, h3, strong, li, a) { color: var(--pearl-ink); }

.direction-page .release-support-action p,
.direction-page .product-format-card-dark p,
.pricing-page .pricing-layer-card-dark p,
.lead-operations-page .document-section-dark p { color: var(--pearl-muted); }

.direction-page .release-support-action a:is(:hover, :focus-visible) { color: #675b86; }

@media (max-width: 920px) {
  .studio-trust-grid { grid-template-columns: 1fr; }
  .studio-trust ul { grid-template-columns: 1fr; }
  .studio-trust li,
  .studio-trust li:nth-child(2n) { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(67, 57, 73, .09); }
  .studio-trust li:last-child { border-bottom: 0; }
}

@media (max-width: 720px) {
  .studio-trust { padding-block: 52px; }
  .studio-trust h2 { font-size: clamp(32px, 9vw, 42px); }
}

/* 2026-08 professional header lockup: compact stacked wordmark and calmer glass. */
.site-header.studio-header,
body.has-scrolled .site-header.studio-header {
  height: 88px;
  padding: 10px 0;
}

.studio-header .header-inner {
  width: min(1360px, calc(100% - 40px));
  height: 68px;
  min-height: 68px;
  padding: 0 12px 0 14px;
  border: 1px solid rgba(255, 255, 255, .66);
  border-radius: 999px;
  background: rgba(250, 249, 253, .5);
  box-shadow: 0 12px 34px rgba(49, 43, 70, .075), inset 0 1px 0 rgba(255, 255, 255, .82);
  -webkit-backdrop-filter: blur(26px) saturate(128%);
  backdrop-filter: blur(26px) saturate(128%);
}

body.has-scrolled .studio-header .header-inner {
  border-color: rgba(255, 255, 255, .86);
  background: rgba(250, 249, 253, .82);
  box-shadow: 0 16px 42px rgba(43, 37, 64, .115), inset 0 1px 0 rgba(255, 255, 255, .94);
}

.studio-header .brand {
  min-width: 154px;
  gap: 12px;
}

.studio-header .brand-mark,
.studio-header .brand-mark-crystal {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  filter: saturate(.72) contrast(1.55) brightness(.93) drop-shadow(0 4px 9px rgba(97, 83, 137, .16));
}

.studio-header .brand-text {
  display: grid;
  gap: 4px;
  align-content: center;
  align-items: center;
  line-height: 1;
}

.studio-header .brand-text strong {
  color: #25222d;
  font-size: 13px;
  font-weight: 720;
  line-height: 1;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.studio-header .brand-text span {
  padding-left: .14em;
  color: #6f687a;
  font-size: 7px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: .32em;
  text-transform: uppercase;
}

.studio-header .header-nav { gap: clamp(16px, 1.45vw, 24px); }
.studio-header .header-nav > a,
.studio-header .header-nav-trigger { font-size: 12.5px; font-weight: 610; }

.studio-header .wave-cta {
  min-width: 174px;
  min-height: 48px;
}

.studio-header .wave-cta-surface {
  background: rgba(255, 255, 255, .82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .98), inset 0 -10px 24px rgba(188, 186, 246, .1);
}

@media (max-width: 1180px) {
  .studio-header .brand { min-width: 0; }
}

@media (max-width: 720px) {
  .site-header.studio-header,
  body.has-scrolled .site-header.studio-header {
    height: 78px;
    padding: 7px 0;
  }

  .studio-header .header-inner {
    width: calc(100% - 16px);
    height: 64px;
    min-height: 64px;
    padding: 0 7px 0 11px;
  }

  .studio-header .brand { gap: 9px; }
  .studio-header .brand-mark,
  .studio-header .brand-mark-crystal { width: 38px; height: 38px; flex-basis: 38px; }
  .studio-header .brand-text strong { font-size: 11.5px; letter-spacing: .14em; }
  .studio-header .brand-text span { font-size: 6.5px; }
  .studio-header .menu-toggle { width: 46px; height: 46px; }
}

/* 2026-08-23 micro polish: readable navigation, pearl overlays and one CTA system. */
:root {
  --pearl-accent-ink: #5f5967;
  --pearl-accent-soft: rgba(231, 226, 235, .72);
  --pearl-spectrum-a: #c9b8d8;
  --pearl-spectrum-b: #ddbcca;
  --pearl-spectrum-c: #dfcfab;
  --pearl-spectrum-d: #b9d2ca;
}

@media (min-width: 1181px) {
  .studio-header .header-nav { gap: clamp(10px, 1vw, 16px); }
  .studio-header .header-nav > a,
  .studio-header .header-nav-trigger {
    min-height: 40px;
    padding-inline: 13px;
    border: 1px solid transparent;
    color: #55515e;
    font-size: 12.5px;
    font-weight: 640;
  }

  .studio-header .header-nav > a:hover,
  .studio-header .header-nav > a:focus-visible,
  .studio-header .header-nav > a[aria-current="page"],
  .studio-header .header-nav-trigger:hover,
  .studio-header .header-nav-trigger:focus-visible,
  .studio-header .header-nav-trigger[aria-expanded="true"],
  .studio-header .header-nav-trigger[aria-current="page"] {
    border-color: rgba(87, 78, 99, .18);
    color: #211f27;
    background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(231,227,235,.82));
    box-shadow: 0 7px 20px rgba(63, 55, 74, .08), inset 0 1px 0 rgba(255,255,255,.96);
  }
}

.studio-header .wave-cta-ring,
.wave-cta-ring {
  background: conic-gradient(from 18deg, var(--pearl-spectrum-a), var(--pearl-spectrum-b), var(--pearl-spectrum-c), var(--pearl-spectrum-d), var(--pearl-spectrum-a));
}

.studio-header .wave-cta-surface {
  background: linear-gradient(135deg, rgba(255,255,255,.93), rgba(242,239,245,.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.98), inset 0 -12px 26px rgba(188,178,198,.12);
}

.studio-directions-menu {
  border-color: rgba(84, 75, 96, .16);
  border-radius: 26px;
  background: rgba(250, 249, 252, .965);
  box-shadow: 0 30px 86px rgba(47, 40, 59, .18), inset 0 1px 0 rgba(255,255,255,.92);
}

.studio-directions-menu .ui-mega-head { padding: 25px 28px 21px; }
.studio-directions-menu .ui-mega-head > span,
.studio-directions-menu .ui-mega-grid .o-icon { color: #77717e; }
.studio-directions-menu .ui-mega-grid strong em {
  border-color: rgba(91, 81, 102, .16);
  color: #655e6c;
  background: rgba(235, 231, 238, .82);
}
.studio-directions-menu .ui-mega-grid a:hover,
.studio-directions-menu .ui-mega-grid a:focus-visible,
.studio-directions-menu .ui-mega-foot > a:hover,
.studio-directions-menu .ui-mega-foot > a:focus-visible {
  background: linear-gradient(120deg, rgba(233,229,237,.84), rgba(252,251,253,.9));
}

.mobile-menu.mobile-sheet {
  width: min(390px, calc(100vw - 18px));
  padding: 12px 14px 18px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 28px 0 0 28px;
  background: rgba(249,248,251,.965);
  box-shadow: -26px 0 76px rgba(35,30,43,.2), inset 0 1px 0 rgba(255,255,255,.94);
  -webkit-backdrop-filter: blur(28px) saturate(125%);
  backdrop-filter: blur(28px) saturate(125%);
}
.mobile-sheet-head { padding-inline: 4px 0; }
.mobile-sheet .icon-button,
.lead-dialog .ui-dialog-close {
  border-color: rgba(75,67,84,.2);
  color: #302c35;
  background: rgba(255,255,255,.74);
  box-shadow: 0 6px 18px rgba(56,48,65,.08), inset 0 1px 0 rgba(255,255,255,.92);
}
.mobile-menu > a:not(.button),
.mobile-nav-group > a {
  margin-block: 2px;
  padding-inline: 12px;
  border: 0;
  border-radius: 14px;
}

.mobile-nav-group > a {
  display: grid;
  min-height: 62px;
  padding-block: 10px;
  align-content: center;
  gap: 3px;
}

.mobile-nav-group > a strong {
  font-size: 14px;
  font-weight: 580;
  line-height: 1.3;
}

.mobile-nav-group > a small {
  color: #77707c;
  font-size: 11px;
  line-height: 1.35;
}
.mobile-menu > a:not(.button):is(:hover, :focus-visible, [aria-current="page"]),
.mobile-nav-group > a:is(:hover, :focus-visible, [aria-current="page"]) {
  color: #211f27;
  background: rgba(231,227,235,.74);
}
.mobile-menu .button { margin-top: 10px; }
.mobile-menu .button-dark { border-width: 1.5px; }

:is(.service-page, .direction-page, .policy-page, .pricing-page, .materials-page, .material-article-page, .capabilities-page, .solution-landing, .process-audit-page, .lead-operations-page, .notfound-page)
  :is(.button-dark, .button-inverse, .button-submit, .button-light, .crystal-button, .mobile-sticky-cta),
.mobile-menu .button-dark {
  border: 1px solid transparent;
  color: #211f27;
  background:
    linear-gradient(rgba(255,255,255,.94), rgba(245,242,247,.88)) padding-box,
    linear-gradient(108deg, var(--pearl-spectrum-a), var(--pearl-spectrum-b), var(--pearl-spectrum-c), var(--pearl-spectrum-d)) border-box;
  box-shadow: 0 12px 32px rgba(67, 57, 78, .12), inset 0 1px 0 rgba(255,255,255,.94);
}

:is(.service-page, .direction-page, .policy-page, .pricing-page, .materials-page, .material-article-page, .capabilities-page, .solution-landing, .process-audit-page, .lead-operations-page, .notfound-page)
  :is(.button-dark, .button-inverse, .button-submit, .button-light, .crystal-button, .mobile-sticky-cta):is(:hover, :focus-visible),
.mobile-menu .button-dark:is(:hover, :focus-visible) {
  color: #17151c;
  background:
    linear-gradient(#fff, rgba(246,243,248,.96)) padding-box,
    linear-gradient(108deg, #cbbbd9, #dfbcc9, #dfd0af, #b8d0c9) border-box;
  box-shadow: 0 16px 40px rgba(67, 57, 78, .16), inset 0 1px 0 #fff;
}

:is(.service-page, .direction-page, .policy-page, .pricing-page, .materials-page, .material-article-page, .capabilities-page, .solution-landing, .process-audit-page, .lead-operations-page, .notfound-page)
  .button-ghost-inverse {
  border: 1px solid rgba(71, 64, 79, .18);
  color: #312e36;
  background: rgba(255,255,255,.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}

.pearl-page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 74% 24%, rgba(220,213,228,.58), transparent 34%),
    radial-gradient(circle at 18% 76%, rgba(242,222,216,.44), transparent 38%),
    #efedef;
}
.pearl-page-hero::before,
.pearl-page-hero::after { display: none !important; content: none !important; }
.pearl-page-hero .pearl-shader-canvas,
.pearl-page-hero .pearl-shader-veil {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.pearl-page-hero .pearl-shader-canvas { z-index: -2; opacity: .78; }
.pearl-page-hero .pearl-shader-veil {
  z-index: -1;
  background: linear-gradient(90deg, rgba(255,255,255,.34), rgba(255,255,255,.1) 52%, rgba(248,246,249,.28));
}
.pearl-page-hero > :not(.pearl-shader-canvas):not(.pearl-shader-veil) { position: relative; z-index: 1; }

.materials-page .service-hero-modern .kicker,
.pricing-page .pricing-label,
.pricing-page .pricing-label-inverse { color: #726b78; }
.materials-page .studio-service-showcase {
  border-color: rgba(84,75,96,.14);
  background: rgba(255,255,255,.58);
  box-shadow: 0 24px 70px rgba(57,48,68,.08), inset 0 1px 0 rgba(255,255,255,.86);
  -webkit-backdrop-filter: blur(20px) saturate(118%);
  backdrop-filter: blur(20px) saturate(118%);
}

.lead-dialog::backdrop { background: rgba(31,27,36,.46); backdrop-filter: blur(10px); }
.lead-dialog .ui-dialog-panel {
  border-color: rgba(255,255,255,.72);
  border-radius: 30px;
  background: rgba(249,248,251,.975);
  box-shadow: 0 38px 110px rgba(30,25,38,.28), inset 0 1px 0 rgba(255,255,255,.94);
}
.lead-dialog .ui-dialog-copy {
  background:
    radial-gradient(circle at 14% 12%, rgba(218,210,228,.72), transparent 46%),
    linear-gradient(145deg, rgba(245,241,246,.96), rgba(255,255,255,.84));
}
.lead-dialog .dialog-lead-form { background: rgba(255,255,255,.76); }
.lead-dialog .dialog-lead-form :is(input, select, textarea):focus {
  border-color: rgba(102,91,113,.42);
  box-shadow: 0 0 0 4px rgba(102,91,113,.08);
}
.lead-dialog .dialog-mode-picker button[aria-pressed="true"],
.pearl-studio .dialog-mode-picker button[aria-pressed="true"] {
  border-color: rgba(91,81,102,.2);
  color: #28242d;
  background: linear-gradient(145deg, rgba(234,230,237,.94), rgba(255,255,255,.88));
  box-shadow: 0 10px 28px rgba(63,54,73,.09), inset 0 1px 0 rgba(255,255,255,.9);
}
.lead-dialog .dialog-mode-picker button[aria-pressed="true"] span,
.pearl-studio .dialog-mode-picker button[aria-pressed="true"] span { color: #706a75; }

@media (prefers-reduced-motion: reduce) {
  .pearl-page-hero .pearl-shader-canvas { display: none; }
}

/* 2026-08-23 canonical type and action layer.
   This is intentionally last: every route now inherits one hero and CTA language. */
:root {
  --studio-action-height: 56px;
  --studio-action-radius: 999px;
  --studio-action-font-size: 13px;
  --studio-action-weight: 690;
}

.studio-header .wave-cta {
  min-width: 178px;
  min-height: 50px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: var(--studio-action-weight);
  line-height: 1;
  letter-spacing: -.012em;
}

:is(
  .pearl-studio,
  .service-page,
  .direction-page,
  .policy-page,
  .pricing-page,
  .materials-page,
  .material-article-page,
  .capabilities-page,
  .solution-landing,
  .process-audit-page,
  .lead-operations-page,
  .notfound-page
) :is(.button-dark, .button-inverse, .button-submit, .button-light, .button-ghost-inverse, .crystal-button) {
  min-height: var(--studio-action-height);
  padding: 0 24px;
  border-radius: var(--studio-action-radius);
  font-family: var(--font-sans);
  font-size: var(--studio-action-font-size);
  font-weight: var(--studio-action-weight);
  line-height: 1;
  letter-spacing: -.012em;
}

:is(
  .pearl-studio,
  .service-page,
  .direction-page,
  .policy-page,
  .pricing-page,
  .materials-page,
  .material-article-page,
  .capabilities-page,
  .solution-landing,
  .process-audit-page,
  .lead-operations-page,
  .notfound-page
) :is(.button-dark, .button-inverse, .button-submit, .button-light, .crystal-button) {
  border: 1px solid transparent;
  color: #242129;
  background:
    linear-gradient(140deg, rgba(255,255,255,.97), rgba(244,241,246,.9)) padding-box,
    linear-gradient(108deg, #c8b8d5, #ddbdc9 37%, #dfd0b2 68%, #b9d0c9) border-box;
  box-shadow: 0 13px 34px rgba(60,51,70,.12), inset 0 1px 0 rgba(255,255,255,.98);
}

:is(
  .pearl-studio,
  .service-page,
  .direction-page,
  .policy-page,
  .pricing-page,
  .materials-page,
  .material-article-page,
  .capabilities-page,
  .solution-landing,
  .process-audit-page,
  .lead-operations-page,
  .notfound-page
) :is(.button-dark, .button-inverse, .button-submit, .button-light, .crystal-button):is(:hover, :focus-visible) {
  color: #17151b;
  background:
    linear-gradient(140deg, #fff, rgba(243,239,245,.97)) padding-box,
    linear-gradient(108deg, #b9a5c9, #d8abba 37%, #dac49c 68%, #a7c5bc) border-box;
  box-shadow: 0 17px 42px rgba(60,51,70,.17), inset 0 1px 0 #fff;
  transform: translateY(-1px);
}

:is(
  .pearl-studio,
  .service-page,
  .direction-page,
  .policy-page,
  .pricing-page,
  .materials-page,
  .material-article-page,
  .capabilities-page,
  .solution-landing,
  .process-audit-page,
  .lead-operations-page,
  .notfound-page
) .button-ghost-inverse {
  border: 1px solid rgba(64,58,70,.22);
  color: #302d35;
  background: rgba(255,255,255,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88);
}

:is(
  .pearl-studio,
  .service-page,
  .direction-page,
  .policy-page,
  .pricing-page,
  .materials-page,
  .material-article-page,
  .capabilities-page,
  .solution-landing,
  .process-audit-page,
  .lead-operations-page,
  .notfound-page
) .button-ghost-inverse:is(:hover, :focus-visible) {
  border-color: rgba(64,58,70,.34);
  color: #1f1c23;
  background: rgba(255,255,255,.86);
  transform: translateY(-1px);
}

.pearl-page-hero {
  border-bottom: 0 !important;
}

.service-page .pearl-page-hero.service-hero-modern h1,
.materials-page .pearl-page-hero h1,
.pricing-page .pearl-page-hero .pricing-hero-copy h1 {
  max-width: 12ch;
  margin-block: 22px 26px;
  color: #211f27;
  font-family: var(--font-sans);
  font-size: var(--studio-hero-size);
  font-weight: var(--studio-hero-weight);
  line-height: .94;
  letter-spacing: -.058em;
  text-transform: none;
}

.pricing-page .pearl-page-hero .pricing-hero-copy > p:not(.pricing-label),
.materials-page .pearl-page-hero .page-hero-grid > div:first-child > p:not(.kicker) {
  max-width: 660px;
  color: #686472;
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.55;
}

.pricing-page .pricing-hero-actions {
  gap: 14px;
  margin-top: 30px;
}

.pricing-page .pricing-map,
.materials-page .studio-service-showcase {
  border-color: rgba(77,68,87,.14);
  box-shadow: 0 26px 72px rgba(55,46,65,.085), inset 0 1px 0 rgba(255,255,255,.92);
}

@media (max-width: 720px) {
  :root { --studio-action-height: 52px; }

  .service-page .pearl-page-hero.service-hero-modern h1,
  .materials-page .pearl-page-hero h1,
  .pricing-page .pearl-page-hero .pricing-hero-copy h1 {
    max-width: 13ch;
    font-size: clamp(43px, 12vw, 58px);
    line-height: .96;
  }
}

/* 2026-08-23 visual source-of-truth lock.
   The homepage now defines one header, action and pearl-hero language for every route. */
:root {
  --studio-control-height: 56px;
  --studio-control-radius: 18px;
  --studio-control-font-size: 14px;
  --studio-inner-hero-size: clamp(54px, 3.9vw, 68px);
}

.studio-header .header-inner {
  width: min(1360px, calc(100% - 40px)) !important;
  height: 68px !important;
  min-height: 68px !important;
  padding: 0 12px 0 14px !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  border-radius: 24px !important;
  background: rgba(250,249,253,.54) !important;
  box-shadow: 0 14px 38px rgba(49,43,70,.08), inset 0 1px 0 rgba(255,255,255,.86) !important;
  -webkit-backdrop-filter: blur(26px) saturate(126%) !important;
  backdrop-filter: blur(26px) saturate(126%) !important;
}

body.has-scrolled .studio-header .header-inner {
  border-color: rgba(255,255,255,.86) !important;
  background: rgba(250,249,253,.82) !important;
  box-shadow: 0 18px 46px rgba(43,37,64,.12), inset 0 1px 0 rgba(255,255,255,.94) !important;
}

.studio-header .header-nav {
  gap: clamp(8px, 1vw, 15px) !important;
}

.studio-header .header-nav > a,
.studio-header .header-nav-trigger {
  min-height: 42px !important;
  padding-inline: 12px !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  color: #595461 !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 630 !important;
  outline: none !important;
  box-shadow: none !important;
}

.studio-header .header-nav > a:is(:hover, :focus-visible, [aria-current="page"]),
.studio-header .header-nav-trigger:is(:hover, :focus-visible, [aria-expanded="true"], [aria-current="page"]) {
  border-color: rgba(87,78,99,.14) !important;
  color: #211f27 !important;
  background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(235,231,239,.7)) !important;
  box-shadow: 0 7px 18px rgba(63,55,74,.07), inset 0 1px 0 rgba(255,255,255,.96) !important;
}

.studio-header .header-nav > a:focus-visible,
.studio-header .header-nav-trigger:focus-visible {
  box-shadow: 0 0 0 3px rgba(116,104,133,.12), 0 7px 18px rgba(63,55,74,.07), inset 0 1px 0 rgba(255,255,255,.96) !important;
}

.studio-header .wave-cta {
  width: auto !important;
  min-width: 186px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 22px !important;
  border-radius: var(--studio-control-radius) !important;
  outline: none !important;
}

.studio-header .wave-cta-label {
  gap: 10px !important;
  font-family: var(--font-sans) !important;
  font-size: var(--studio-control-font-size) !important;
  font-weight: 690 !important;
}

.studio-header .wave-cta:focus-visible {
  box-shadow: 0 0 0 4px rgba(116,104,133,.12), 0 14px 36px rgba(67,57,78,.14) !important;
}

body :is(.button-dark, .button-inverse, .button-submit, .crystal-button) {
  min-height: var(--studio-control-height) !important;
  padding: 0 24px !important;
  border: 1px solid transparent !important;
  border-radius: var(--studio-control-radius) !important;
  color: #211f27 !important;
  font-family: var(--font-sans) !important;
  font-size: var(--studio-control-font-size) !important;
  font-weight: 680 !important;
  line-height: 1 !important;
  letter-spacing: -.012em !important;
  background:
    linear-gradient(rgba(255,255,255,.9), rgba(247,245,249,.86)) padding-box,
    linear-gradient(108deg, #a7e8f6, #b8adf5 35%, #f4cdda 68%, #dceebd) border-box !important;
  box-shadow: 0 12px 32px rgba(67,57,78,.12), inset 0 1px 0 rgba(255,255,255,.94) !important;
}

body :is(.button-light, .button-ghost-inverse) {
  min-height: var(--studio-control-height) !important;
  padding: 0 24px !important;
  border: 1px solid rgba(71,64,79,.2) !important;
  border-radius: var(--studio-control-radius) !important;
  color: #312e36 !important;
  font-family: var(--font-sans) !important;
  font-size: var(--studio-control-font-size) !important;
  font-weight: 680 !important;
  line-height: 1 !important;
  letter-spacing: -.012em !important;
  background: rgba(255,255,255,.58) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88) !important;
}

body :is(.button-dark, .button-inverse, .button-submit, .crystal-button):is(:hover, :focus-visible) {
  color: #17151c !important;
  background:
    linear-gradient(#fff, rgba(246,243,248,.96)) padding-box,
    linear-gradient(108deg, #97e2f3, #aa9df1 35%, #efc2d2 68%, #d2e8b2) border-box !important;
  box-shadow: 0 16px 38px rgba(67,57,78,.16), inset 0 1px 0 #fff !important;
  transform: translateY(-1px);
}

body :is(.button-light, .button-ghost-inverse):is(:hover, :focus-visible) {
  border-color: rgba(71,64,79,.3) !important;
  color: #211f27 !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 12px 30px rgba(67,57,78,.1), inset 0 1px 0 #fff !important;
  transform: translateY(-1px);
}

body :is(.button-dark, .button-inverse, .button-submit, .crystal-button, .button-light, .button-ghost-inverse):focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(116,104,133,.12), 0 14px 34px rgba(67,57,78,.13), inset 0 1px 0 #fff !important;
}

body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero {
  box-sizing: border-box;
  display: grid;
  min-height: 100svh !important;
  margin-top: -88px !important;
  padding-top: calc(88px + clamp(64px, 8vh, 92px)) !important;
  padding-bottom: clamp(64px, 8vh, 92px) !important;
  align-items: center;
  border: 0 !important;
  background:
    radial-gradient(circle at 78% 24%, rgba(222,215,240,.62), transparent 34%),
    radial-gradient(circle at 20% 70%, rgba(244,222,211,.52), transparent 38%),
    #efedef !important;
}

body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-canvas {
  opacity: .86 !important;
}

body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-veil {
  background: rgba(255,255,255,.2) !important;
}

body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero h1,
body.direction-page .service-hero-modern h1 {
  max-width: 12.5ch !important;
  margin-block: 20px 24px !important;
  font-family: var(--font-sans) !important;
  font-size: var(--studio-inner-hero-size) !important;
  font-weight: 410 !important;
  line-height: .96 !important;
  letter-spacing: -.054em !important;
}

body.direction-page .service-hero-modern .page-hero-grid,
body.materials-page .service-hero-modern .page-hero-grid,
body.pricing-page .pricing-hero-grid {
  align-items: center !important;
}

@media (max-width: 720px) {
  :root {
    --studio-control-height: 54px;
    --studio-control-radius: 17px;
    --studio-inner-hero-size: clamp(42px, 11vw, 52px);
  }

  .studio-header .header-inner {
    width: calc(100% - 20px) !important;
    border-radius: 22px !important;
  }

  body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero {
    min-height: auto !important;
    margin-top: -80px !important;
    padding-top: 128px !important;
    padding-bottom: 64px !important;
  }
}

/* 2026-08-23 micro consistency pass.
   Intentionally last: remove the residual header band and lock small brand/type details. */
:root {
  --studio-page-header-offset: 94px;
  --studio-pearl-graphite: #756e7b;
}

.site-header.studio-header,
body.has-scrolled .site-header.studio-header {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero {
  margin-top: calc(-1 * var(--studio-page-header-offset)) !important;
  padding-top: calc(var(--studio-page-header-offset) + clamp(64px, 8vh, 92px)) !important;
}

body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero :is(.kicker, .pricing-label, .pricing-label-inverse) {
  margin: 0 0 18px !important;
  color: #756e7a !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 720 !important;
  line-height: 12px !important;
  letter-spacing: .19em !important;
  text-transform: uppercase !important;
}

body.pearl-studio .studio-value-strip a > span,
.pearl-page-hero .studio-service-showcase > div > span {
  color: var(--studio-pearl-graphite) !important;
}

.studio-footer .brand-footer {
  min-width: 154px;
  gap: 12px;
  align-items: center;
}

.studio-footer .brand-footer .brand-mark,
.studio-footer .brand-footer .brand-mark-crystal {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  filter: saturate(.72) contrast(1.55) brightness(.93) drop-shadow(0 4px 9px rgba(97,83,137,.16));
}

.studio-footer .brand-footer .brand-text {
  display: grid;
  gap: 4px;
  align-content: center;
  line-height: 1;
}

.studio-footer .brand-footer .brand-text strong {
  color: #25222d;
  font-size: 13px;
  font-weight: 720;
  line-height: 1;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.studio-footer .brand-footer .brand-text span {
  padding-left: .14em;
  color: #6f687a;
  font-size: 7px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: .32em;
  text-transform: uppercase;
}

@media (max-width: 720px) {
  :root { --studio-page-header-offset: 84px; }

  body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero {
    margin-top: calc(-1 * var(--studio-page-header-offset)) !important;
    padding-top: 128px !important;
  }

  .studio-footer .brand-footer .brand-mark,
  .studio-footer .brand-footer .brand-mark-crystal {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
}

/* Keep the shared footer inside the viewport after the late pearl-theme
   desktop column override above. */
@media (max-width: 920px) {
  .studio-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .studio-footer .footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .studio-footer :is(a, p) {
    overflow-wrap: anywhere;
  }
}

/* Voice project entry: one compact proof link in the shared chrome. */
.studio-header .header-actions {
  gap: 10px;
}

.studio-header .header-product-link {
  box-sizing: border-box;
  display: inline-flex;
  min-height: 46px;
  padding: 6px 11px 6px 8px;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(91, 82, 103, .14);
  border-radius: 16px;
  color: #3e3945;
  background: linear-gradient(135deg, rgba(255,255,255,.76), rgba(238,234,242,.6));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 720;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.studio-header .header-product-link img {
  display: block;
  width: 28px;
  height: 28px;
}

.studio-header .header-product-link .o-icon {
  width: 13px;
  height: 13px;
  opacity: .58;
}

.studio-header .header-product-link:is(:hover, :focus-visible) {
  border-color: rgba(91, 82, 103, .25);
  color: #211f27;
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 28px rgba(61, 52, 72, .1), inset 0 1px 0 #fff;
  transform: translateY(-1px);
}

.mobile-menu .mobile-product-link {
  display: flex;
  min-height: 58px;
  margin-top: 8px;
  padding-block: 8px;
  align-items: center;
  gap: 11px;
  border: 1px solid rgba(91, 82, 103, .12) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.82), rgba(237,233,241,.68));
}

.mobile-menu .mobile-product-link img {
  display: block;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
}

.mobile-menu .mobile-product-link span {
  display: grid;
  gap: 3px;
}

.mobile-menu .mobile-product-link strong {
  color: #29262e;
  font-family: var(--font-sans);
  font-size: 13px;
}

.mobile-menu .mobile-product-link small {
  color: #77707c;
  font-family: var(--font-sans);
  font-size: 10px;
}

@media (max-width: 1040px) {
  .studio-header .header-product-link {
    display: none;
  }
}

@media (min-width: 1041px) and (max-width: 1180px) {
  .studio-header .header-product-link {
    width: 46px;
    min-width: 46px;
    padding-inline: 8px;
    justify-content: center;
  }

  .studio-header .header-product-link :is(span, .o-icon) {
    display: none;
  }
}

/* 2026-08 pre-publication polish: shared reading rhythm, neutral accents and focus. */
.policy-page .text-hero {
  padding-block: clamp(76px, 8vw, 116px) clamp(54px, 6vw, 82px);
  border-bottom: 1px solid var(--pearl-line);
  background:
    radial-gradient(circle at 12% 18%, rgba(235, 229, 236, .78), transparent 34%),
    linear-gradient(132deg, rgba(250, 249, 251, .96), rgba(239, 237, 242, .9));
}

.policy-page .text-hero .narrow,
.policy-page .policy .narrow {
  width: min(900px, calc(100% - 48px));
}

.policy-page .text-hero h1 {
  max-width: 850px;
  margin-block: 18px 24px;
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-size: clamp(48px, 6.2vw, 78px);
  font-weight: 420;
  line-height: .97;
  letter-spacing: -.058em;
  text-transform: none;
  text-wrap: balance;
}

.policy-page .text-hero p:last-child {
  max-width: 760px;
  color: var(--pearl-muted);
  font-size: 17px;
  line-height: 1.65;
}

.policy-page .policy {
  padding-block: clamp(58px, 7vw, 92px);
  background: var(--pearl-page);
}

.policy-page .policy h2 {
  margin: 42px 0 14px;
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 520;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.policy-page .policy p,
.policy-page .policy li {
  color: var(--pearl-muted);
  font-size: 16px;
  line-height: 1.72;
}

.process-audit-page .audit-card strong,
.capabilities-page .capability-sequence span,
.solution-hero-meta dt,
.solution-landing .solution-split-grid .solution-split-dark > span,
.studio-trust li small {
  color: #756f79;
}

.process-audit-page .audit-card,
.lead-operations-page .mini-dashboard {
  background: linear-gradient(138deg, rgba(238, 234, 240, .76), rgba(255, 255, 255, .9));
}

.footer-sound-toggle {
  display: inline-flex;
  min-height: 42px;
  padding: 8px 13px;
  border: 1px solid rgba(67, 57, 73, .12);
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  color: var(--pearl-muted);
  background: rgba(255, 255, 255, .54);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.footer-sound-toggle .o-icon { width: 15px; height: 15px; }
.footer-sound-toggle[aria-pressed="false"] { opacity: .62; }

/* Darker Studio mark aligned with the official Orilence Voice graphite-mauve palette. */
.studio-header .brand-mark-graphite,
.studio-footer .brand-mark-graphite {
  filter: drop-shadow(0 4px 9px rgba(70, 63, 84, .14));
}

body :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 2px solid rgba(71, 65, 76, .72) !important;
  outline-offset: 3px !important;
}

body :is(.button-dark, .button-inverse, .button-submit, .crystal-button, .button-light, .button-ghost-inverse):focus-visible,
.studio-header .wave-cta:focus-visible,
.studio-header .header-nav > a:focus-visible,
.studio-header .header-nav-trigger:focus-visible {
  box-shadow: 0 10px 28px rgba(67, 57, 78, .13), inset 0 1px 0 rgba(255, 255, 255, .94) !important;
}

@media (max-width: 720px) {
  .policy-page .text-hero .narrow,
  .policy-page .policy .narrow { width: min(100% - 32px, 900px); }
  .policy-page .text-hero { padding-block: 56px 42px; }
  .policy-page .text-hero h1 { font-size: clamp(40px, 11vw, 54px); }
  .footer-sound-toggle { width: max-content; }
}

/* Theme control and radial theme reveal. The control lives just outside the
   glass header on wide screens and remains part of the sticky header rail. */
:root {
  color-scheme: light;
  view-transition-name: root;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --studio-black: #f4f1f5;
  --studio-white: #151319;
  --studio-gray-050: #19171e;
  --studio-gray-100: #201d25;
  --studio-gray-200: #302c36;
  --studio-gray-300: #49434f;
  --studio-gray-500: #a39ca8;
  --studio-gray-700: #d6d0d8;
  --studio-gray-900: #f4f1f5;
  --pearl-page: #151319;
  --pearl-surface: rgba(31, 28, 36, .84);
  --pearl-surface-strong: #211e26;
  --pearl-ink: #f4f1f5;
  --pearl-muted: #aaa3ae;
  --pearl-line: rgba(237, 230, 240, .14);
  --pearl-lavender: #c9bfd4;
  --pearl-violet: #d8d0df;
  --pearl-shadow: 0 24px 70px rgba(0, 0, 0, .32);
  --surface-page: #151319;
  --surface-page-alt: #1b181f;
  --surface-card: #201d24;
  --surface-card-muted: #211e26;
  --surface-inverse: #f4f1f5;
  --surface-inverse-raised: #ece7ee;
  --surface-inverse-muted: #d7d0da;
  --surface-ink: #f4f1f5;
  --text-primary: #f4f1f5;
  --text-secondary: #c1bac5;
  --text-muted: #9f98a4;
  --text-inverse: #18151b;
  --text-inverse-secondary: #3e3943;
  --border-subtle: rgba(237, 230, 240, .13);
  --border-default: rgba(237, 230, 240, .22);
  --border-strong: rgba(237, 230, 240, .38);
  --accent: #e8e1eb;
  --accent-soft: #2b2730;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
}

::view-transition-old(root) { z-index: 1; }
::view-transition-new(root) { z-index: 2; }

.studio-theme-transition-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: block;
  pointer-events: none;
}

.studio-theme-switcher {
  position: absolute;
  top: 32px;
  left: max(12px, calc(50% - 686px));
  z-index: 4;
  box-sizing: border-box;
  width: 54px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  color: #665f71;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.studio-theme-track {
  position: relative;
  box-sizing: border-box;
  display: block;
  width: 54px;
  height: 30px;
  padding: 3px;
  overflow: hidden;
  border: 1px solid rgba(83, 74, 91, .18);
  border-radius: inherit;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 10px 28px rgba(62, 54, 73, .12), inset 0 1px 0 rgba(255, 255, 255, .92);
  backdrop-filter: blur(20px) saturate(135%);
  transition: border-color .2s ease, background .24s ease, box-shadow .24s ease;
}

.studio-theme-track > .o-icon {
  position: absolute;
  top: 8px;
  z-index: 1;
  width: 12px;
  height: 12px;
  stroke-width: 1.8;
  opacity: .72;
}

.studio-theme-sun { left: 8px; }
.studio-theme-moon { right: 8px; }

.studio-theme-thumb {
  position: relative;
  z-index: 2;
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(145deg, #ffffff, #eee9f1);
  box-shadow: 0 3px 9px rgba(57, 49, 68, .2), inset 0 0 0 1px rgba(255, 255, 255, .72);
  transform: translateX(0);
  transition: background .22s ease, box-shadow .22s ease, transform .36s cubic-bezier(.22,.72,.24,1);
}

.studio-theme-thumb .o-icon {
  position: absolute;
  inset: 5px;
  width: 12px;
  height: 12px;
  color: #665f70;
  stroke-width: 1.9;
  transition: opacity .18s ease;
}
.studio-theme-thumb-moon { opacity: 0; }

.studio-theme-switcher:is(:hover, :focus-visible) .studio-theme-track {
  border-color: rgba(83, 74, 91, .32);
  box-shadow: 0 14px 34px rgba(62, 54, 73, .18), inset 0 1px 0 rgba(255, 255, 255, .96);
}

.studio-theme-switcher:focus-visible {
  outline: 2px solid rgba(71, 65, 76, .72) !important;
  outline-offset: 4px !important;
}

.studio-theme-switcher:disabled { cursor: wait; }
.studio-theme-switcher:disabled .studio-theme-track { opacity: .82; }

.studio-theme-switcher[data-theme-state="dark"] { color: #ddd5e1; }
.studio-theme-switcher[data-theme-state="dark"] .studio-theme-track {
  border-color: rgba(233, 225, 237, .18);
  background: rgba(33, 30, 38, .82);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .07);
}
.studio-theme-switcher[data-theme-state="dark"] .studio-theme-thumb {
  background: linear-gradient(145deg, #5a5362, #29252e);
  box-shadow: 0 3px 10px rgba(0, 0, 0, .38), inset 0 0 0 1px rgba(255, 255, 255, .09);
  transform: translateX(24px);
}
.studio-theme-switcher[data-theme-state="dark"] .studio-theme-thumb .o-icon { color: #eee8f0; }
.studio-theme-switcher[data-theme-state="dark"] .studio-theme-thumb-sun { opacity: 0; }
.studio-theme-switcher[data-theme-state="dark"] .studio-theme-thumb-moon { opacity: 1; }

.mobile-theme-toggle {
  box-sizing: border-box;
  display: inline-flex;
  width: 100%;
  min-height: 52px;
  margin-top: 8px;
  padding-inline: 16px;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(91, 82, 103, .14);
  border-radius: 15px;
  color: var(--pearl-muted);
  background: rgba(255, 255, 255, .58);
  font: inherit;
  cursor: pointer;
}
.mobile-theme-toggle .o-icon { width: 16px; height: 16px; }

@media (max-width: 1430px) and (min-width: 1041px) {
  .studio-header .header-inner { width: calc(100% - 152px); }
}

@media (max-width: 1040px) {
  .studio-theme-switcher {
    top: 23px;
    left: 22px;
  }
  .studio-header .header-inner { padding-left: 76px !important; }
}

@media (max-width: 520px) {
  .studio-theme-switcher { left: 14px; }
  .studio-header .header-inner { width: calc(100% - 16px) !important; padding-left: 66px !important; }
}

/* Dark pearl theme: shared page, glass, card and editorial surfaces. */
:root[data-theme="dark"] body {
  color: var(--pearl-ink);
  background:
    radial-gradient(circle at 14% 12%, rgba(113, 99, 125, .22), transparent 34rem),
    radial-gradient(circle at 86% 16%, rgba(91, 111, 124, .14), transparent 32rem),
    #151319;
}

:root[data-theme="dark"] body :is(main, .section, .policy, .material-article, .material-article-body) {
  color: var(--pearl-ink);
}

:root[data-theme="dark"] .studio-header .header-inner {
  border-color: rgba(239, 232, 241, .13) !important;
  background: linear-gradient(120deg, rgba(33, 30, 38, .86), rgba(24, 22, 28, .72)) !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}

:root[data-theme="dark"] .studio-header :is(.brand-text strong, .header-nav > a, .header-nav-trigger) { color: #e9e4eb !important; }
:root[data-theme="dark"] .studio-header .brand-text span { color: #aaa2ae !important; }
:root[data-theme="dark"] .studio-header .menu-toggle span { background: #eee8f0 !important; }
:root[data-theme="dark"] .studio-header .brand-mark-graphite,
:root[data-theme="dark"] .studio-footer .brand-mark-graphite { filter: brightness(1.55) saturate(.55) drop-shadow(0 4px 9px rgba(0,0,0,.28)); }

:root[data-theme="dark"] :is(.studio-directions-menu, .mobile-menu.mobile-sheet, .ui-dialog-panel) {
  border-color: rgba(239, 232, 241, .14) !important;
  color: var(--pearl-ink) !important;
  background: rgba(27, 24, 31, .96) !important;
  box-shadow: 0 32px 80px rgba(0, 0, 0, .42) !important;
}

:root[data-theme="dark"] .studio-directions-menu .ui-mega-grid { background: rgba(239, 232, 241, .12) !important; }
:root[data-theme="dark"] .studio-directions-menu .ui-mega-grid a,
:root[data-theme="dark"] :is(.header-product-link, .header-sound-toggle, .mobile-sound-toggle, .mobile-theme-toggle, .mobile-product-link) {
  border-color: rgba(239, 232, 241, .13) !important;
  color: var(--pearl-ink) !important;
  background: rgba(40, 36, 45, .82) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05) !important;
}

:root[data-theme="dark"] :is(.studio-directions-menu, .mobile-sheet) :is(strong, a, summary, span) { color: var(--pearl-ink); }
:root[data-theme="dark"] :is(.studio-directions-menu, .mobile-sheet) :is(p, small) { color: var(--pearl-muted); }

:root[data-theme="dark"] body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero,
:root[data-theme="dark"] .policy-page .text-hero,
:root[data-theme="dark"] .material-article-hero {
  color: var(--pearl-ink) !important;
  background:
    linear-gradient(116deg, transparent 0 12%, rgba(255,255,255,.035) 12.2% 24%, transparent 24.2% 40%, rgba(185,174,193,.04) 40.2% 53%, transparent 53.2% 100%),
    radial-gradient(circle at 17% 15%, rgba(123, 106, 139, .22), transparent 34%),
    linear-gradient(132deg, #17151b, #201c24 56%, #141217) !important;
}

:root[data-theme="dark"] :is(.pearl-page-hero, .text-hero, .material-article-hero) :is(h1, h2, h3, strong, a) { color: var(--pearl-ink) !important; }
:root[data-theme="dark"] :is(.pearl-page-hero, .text-hero, .material-article-hero) :is(p, span, li) { color: var(--pearl-muted); }
:root[data-theme="dark"] .material-related-grid :is(small, span) { color: var(--pearl-muted); }

:root[data-theme="dark"] :is(
  .studio-service-showcase, .result-panel, .materials-topic-link, .material-card,
  .material-price-list article, .material-table-wrap, .material-related-grid a,
  .price-card, .pricing-table, .capability-card, .capability-fit-grid article,
  .capability-release-grid article, .solution-hero-meta, .solution-process-map,
  .solution-split-grid > *, .audit-card, .lead-dialog .dialog-lead-form,
  .studio-trust li, .owned-proof-copy, .owned-proof-visual
) {
  border-color: rgba(239, 232, 241, .13) !important;
  color: var(--pearl-ink) !important;
  background: rgba(31, 28, 36, .84) !important;
  box-shadow: 0 18px 52px rgba(0, 0, 0, .2) !important;
}

:root[data-theme="dark"] :is(.studio-footer, .studio-trust) {
  border-color: rgba(239, 232, 241, .12) !important;
  color: var(--pearl-ink) !important;
  background: #17151b !important;
}
:root[data-theme="dark"] .studio-footer :is(h3, a, strong) { color: var(--pearl-ink) !important; }
:root[data-theme="dark"] .studio-footer :is(p, span) { color: var(--pearl-muted); }
:root[data-theme="dark"] .studio-footer .brand-text strong { color: #f2edf4 !important; }
:root[data-theme="dark"] .footer-sound-toggle { border-color: rgba(239,232,241,.14); color: var(--pearl-muted); background: rgba(255,255,255,.04); }

:root[data-theme="dark"] :is(input, textarea, select) {
  border-color: rgba(239, 232, 241, .17) !important;
  color: var(--pearl-ink) !important;
  background: rgba(16, 14, 19, .68) !important;
}
:root[data-theme="dark"] :is(input, textarea)::placeholder { color: #817985 !important; }

:root[data-theme="dark"]::-webkit-scrollbar-track { background: #17151b; }
:root[data-theme="dark"]::-webkit-scrollbar-thumb { border-color: #17151b; }

@media (prefers-reduced-motion: reduce) {
  .studio-theme-thumb { transition: none; }
}

/* Lead-operations specialty: keep the useful calculator, remove its legacy dark UI. */
.lead-operations-page .economics-section {
  padding-block: clamp(86px, 9vw, 132px);
  border-block: 1px solid var(--pearl-line);
  color: var(--pearl-ink);
  background:
    radial-gradient(circle at 11% 12%, rgba(231, 222, 237, .72), transparent 34%),
    radial-gradient(circle at 88% 72%, rgba(218, 231, 242, .62), transparent 32%),
    linear-gradient(132deg, rgba(250, 249, 251, .98), rgba(239, 237, 243, .9));
}

.lead-operations-page .economics-grid {
  grid-template-columns: minmax(0, .88fr) minmax(560px, 1.12fr);
  gap: clamp(44px, 6vw, 88px);
  align-items: start;
}

.lead-operations-page .economics-copy {
  position: sticky;
  top: 124px;
}

.lead-operations-page .economics-copy h2 {
  max-width: 720px;
  margin: 18px 0 26px;
  color: var(--pearl-ink);
  font-family: var(--font-sans);
  font-size: clamp(48px, 4.65vw, 72px);
  font-weight: 420;
  line-height: .98;
  letter-spacing: -.058em;
  text-transform: none;
  text-wrap: balance;
}

.lead-operations-page .economics-copy > p:not(.kicker) {
  max-width: 660px;
  color: var(--pearl-muted);
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.68;
}

.lead-operations-page .economics-note {
  display: grid;
  gap: 9px;
  margin-top: 36px;
  padding: 22px 24px;
  border: 1px solid var(--pearl-line);
  border-radius: 20px;
  color: var(--pearl-ink);
  background: rgba(255, 255, 255, .64);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92);
}

.lead-operations-page .economics-note strong {
  color: var(--pearl-ink);
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 650;
}

.lead-operations-page .economics-note p {
  margin: 0;
  color: var(--pearl-muted);
  font-size: 14px;
  line-height: 1.6;
}

.lead-operations-page .economics-calculator {
  padding: clamp(28px, 3.2vw, 46px);
  border: 1px solid rgba(67, 61, 93, .14);
  border-radius: 28px;
  color: var(--pearl-ink);
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 28px 80px rgba(52, 46, 86, .12), inset 0 1px 0 rgba(255, 255, 255, .94);
  backdrop-filter: blur(22px) saturate(118%);
  -webkit-backdrop-filter: blur(22px) saturate(118%);
}

.lead-operations-page .economics-fields {
  gap: 20px 16px;
}

.lead-operations-page .economics-fields label {
  gap: 9px;
  color: #4b4653;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 620;
  line-height: 1.35;
}

.lead-operations-page .economics-fields input {
  min-height: 58px;
  padding: 14px 16px;
  border: 1px solid rgba(67, 61, 93, .16);
  border-radius: 14px;
  color: var(--pearl-ink);
  background: rgba(255, 255, 255, .82);
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 620;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .96);
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.lead-operations-page .economics-fields input:is(:hover, :focus) {
  border-color: rgba(93, 83, 109, .34);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(113, 103, 128, .08), inset 0 1px 0 #fff;
}

.lead-operations-page .economics-results {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid var(--pearl-line);
}

.lead-operations-page .economics-primary-result > span {
  color: #77717d;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 720;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.lead-operations-page .economics-primary-result strong {
  display: block;
  margin-top: 10px;
  color: var(--pearl-ink);
  font-family: var(--font-sans);
  font-size: clamp(48px, 5vw, 68px);
  font-weight: 560;
  line-height: .96;
  letter-spacing: -.05em;
}

.lead-operations-page .economics-primary-result p {
  max-width: 660px;
  margin: 14px 0 0;
  color: var(--pearl-muted);
  font-size: 14px;
  line-height: 1.6;
}

.lead-operations-page .economics-summary {
  gap: 14px;
  margin-top: 24px;
}

.lead-operations-page .economics-summary > div {
  min-height: 132px;
  padding: 20px;
  border: 1px solid var(--pearl-line);
  border-radius: 18px;
  background: linear-gradient(138deg, rgba(239, 235, 243, .82), rgba(255, 255, 255, .9));
}

.lead-operations-page .economics-summary dt {
  color: var(--pearl-muted);
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.48;
}

.lead-operations-page .economics-summary dd {
  margin-top: 18px;
  color: var(--pearl-ink);
  font-family: var(--font-sans);
  font-size: clamp(25px, 2.5vw, 34px);
  font-weight: 590;
  line-height: 1;
  letter-spacing: -.035em;
}

.lead-operations-page .economics-actions {
  gap: 16px;
  margin-top: 24px;
  align-items: center;
}

.lead-operations-page .economics-actions .button {
  min-height: 54px;
  border-radius: 16px;
  font-family: var(--font-sans);
}

.lead-operations-page .economics-actions small {
  max-width: 260px;
  color: var(--pearl-muted);
  font-size: 11px;
  line-height: 1.45;
}

.lead-operations-page .lead-operations-final-cta {
  padding-block: clamp(56px, 7vw, 96px);
  background: var(--pearl-page);
}

.lead-operations-final-card {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: clamp(34px, 6vw, 88px);
  padding: clamp(34px, 5vw, 64px);
  border: 1px solid var(--pearl-line);
  border-radius: 28px;
  align-items: end;
  background:
    radial-gradient(circle at 88% 24%, rgba(216, 230, 240, .74), transparent 36%),
    linear-gradient(132deg, rgba(255, 255, 255, .88), rgba(236, 232, 240, .86));
  box-shadow: var(--pearl-shadow), inset 0 1px 0 rgba(255, 255, 255, .95);
}

.lead-operations-final-card h2 {
  max-width: 840px;
  margin: 16px 0 20px;
  color: var(--pearl-ink);
  font-family: var(--font-sans);
  font-size: clamp(40px, 4.6vw, 66px);
  font-weight: 420;
  line-height: .98;
  letter-spacing: -.055em;
  text-transform: none;
  text-wrap: balance;
}

.lead-operations-final-card > div > p:not(.kicker) {
  max-width: 720px;
  margin: 0;
  color: var(--pearl-muted);
  font-size: 16px;
  line-height: 1.65;
}

.lead-operations-final-actions {
  display: grid;
  gap: 14px;
}

.lead-operations-final-actions .button {
  width: 100%;
  min-height: 56px;
  justify-content: space-between;
  border-radius: 17px;
}

.lead-operations-telegram {
  display: grid;
  grid-template-columns: auto 1fr auto;
  min-height: 52px;
  padding: 12px 15px;
  border: 1px solid var(--pearl-line);
  border-radius: 16px;
  align-items: center;
  gap: 10px;
  color: var(--pearl-ink);
  background: rgba(255, 255, 255, .54);
  font-size: 13px;
  font-weight: 620;
  text-decoration: none;
}

.lead-operations-telegram .o-icon { width: 17px; height: 17px; }
.lead-operations-telegram:hover { background: rgba(255, 255, 255, .84); }

.lead-operations-route .result-panel {
  background: linear-gradient(138deg, rgba(238, 234, 242, .7), rgba(255, 255, 255, .9));
}

/* The catalog button layout rule must not override the native hidden state. */
.solution-catalog-list > [hidden] {
  display: none !important;
}

@media (max-width: 980px) {
  .lead-operations-page .economics-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .lead-operations-page .economics-copy { position: static; }

  .lead-operations-final-card {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .lead-operations-final-actions { max-width: 460px; }
}

@media (max-width: 640px) {
  .lead-operations-page .economics-section { padding-block: 64px; }
  .lead-operations-page .economics-copy h2 { font-size: clamp(40px, 12vw, 52px); }
  .lead-operations-page .economics-calculator { padding: 22px; border-radius: 22px; }
  .lead-operations-page .economics-fields { grid-template-columns: minmax(0, 1fr); }
  .lead-operations-page .economics-field-wide { grid-column: auto; }
  .lead-operations-page .economics-summary { grid-template-columns: minmax(0, 1fr); }
  .lead-operations-page .economics-actions { align-items: stretch; }
  .lead-operations-page .economics-actions .button { width: 100%; justify-content: space-between; }
  .lead-operations-page .economics-actions small { max-width: none; }
  .lead-operations-final-card { padding: 28px 22px; border-radius: 22px; }
  .lead-operations-final-card h2 { font-size: clamp(36px, 11vw, 48px); }
}

/* Final dark-theme lock after all page-specific legacy rules. */
:root[data-theme="dark"] body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero,
:root[data-theme="dark"] body.policy-page .text-hero,
:root[data-theme="dark"] body.material-article-page .material-article-hero {
  color: #f4f1f5 !important;
  background:
    linear-gradient(116deg, transparent 0 12%, rgba(255,255,255,.035) 12.2% 24%, transparent 24.2% 40%, rgba(185,174,193,.04) 40.2% 53%, transparent 53.2% 100%),
    radial-gradient(circle at 17% 15%, rgba(123,106,139,.22), transparent 34%),
    linear-gradient(132deg, #17151b, #201c24 56%, #141217) !important;
}

:root[data-theme="dark"] .pearl-page-hero .pearl-shader-canvas {
  opacity: .08 !important;
  filter: brightness(.3) saturate(.58) contrast(1.22) !important;
  mix-blend-mode: screen;
}

:root[data-theme="dark"] .pearl-page-hero .pearl-shader-veil {
  background: rgba(18, 16, 21, .64) !important;
}

:root[data-theme="dark"] .pearl-page-hero :is(h1, h2, h3, strong, dd, a) { color: #f4f1f5 !important; }
:root[data-theme="dark"] .pearl-page-hero :is(p, dt, span, small) { color: #aaa3ae !important; }

:root[data-theme="dark"] :is(.pricing-map, .studio-service-showcase, .materials-topic-index) {
  border-color: rgba(239,232,241,.14) !important;
  color: #f4f1f5 !important;
  background: rgba(30,27,35,.84) !important;
  box-shadow: 0 22px 62px rgba(0,0,0,.28) !important;
}

:root[data-theme="dark"] :is(.pricing-map, .studio-service-showcase, .materials-topic-index) :is(strong, dd, a) { color: #f4f1f5 !important; }
:root[data-theme="dark"] :is(.pricing-map, .studio-service-showcase, .materials-topic-index) :is(p, dt, span, small) { color: #aaa3ae !important; }

:root[data-theme="dark"] .studio-header .header-nav > a[aria-current="page"],
:root[data-theme="dark"] .studio-header .header-nav-trigger[aria-current="page"] {
  border-color: rgba(239,232,241,.16) !important;
  color: #f4f1f5 !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 8px 22px rgba(0,0,0,.16) !important;
}

:root[data-theme="dark"] .pearl-page-hero .button-inverse {
  border-color: transparent !important;
  color: #211e26 !important;
  background:
    linear-gradient(rgba(244,240,245,.96), rgba(226,220,229,.92)) padding-box,
    linear-gradient(108deg, #9be9ff, #bbb2ff, #ffd1df, #fff0c8, #c8f5d7) border-box !important;
}
:root[data-theme="dark"] .pearl-page-hero .button-inverse :is(span, .o-icon) { color: #211e26 !important; }

:root[data-theme="dark"] .pearl-page-hero .button-ghost-inverse {
  border-color: rgba(239,232,241,.2) !important;
  color: #f4f1f5 !important;
  background: rgba(255,255,255,.045) !important;
}
:root[data-theme="dark"] .pearl-page-hero .button-ghost-inverse :is(span, .o-icon) { color: #f4f1f5 !important; }

/* Keep the full desktop navigation inside the header beside the exterior theme rail. */
@media (min-width: 1041px) and (max-width: 1340px) {
  .studio-header .header-product-link,
  .studio-header .header-sound-toggle {
    width: 46px;
    min-width: 46px;
    padding-inline: 0;
    justify-content: center;
  }

  .studio-header .header-product-link :is(span, .o-icon) {
    display: none;
  }

  .studio-header .header-sound-toggle span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .studio-header .wave-cta {
    min-width: 168px;
    padding-inline: 14px;
  }
}

/* Match the compact two-line rhythm of the Orilence Voice lockup. */
.studio-header .brand-text,
.studio-footer .brand-footer .brand-text {
  gap: 1px;
}

/* 2026-08-25 theme fidelity: keep pricing content readable after the radial
   reveal and use the same graphite pearl surfaces below the hero. */
:root[data-theme="dark"] body.pricing-page main {
  color: var(--pearl-ink);
  background: var(--pearl-page);
}

:root[data-theme="dark"] body.pricing-page :is(
  .pricing-ranges, .pricing-diagnostic, .pricing-clarity, .pricing-factors,
  .pricing-capabilities, .pricing-cta
) {
  color: var(--pearl-ink) !important;
  background: transparent !important;
}

:root[data-theme="dark"] body.pricing-page :is(
  .pricing-level-guide li, .pricing-card, .pricing-diagnostic-panel,
  .pricing-definition-grid, .pricing-layer-grid > article, .pricing-layer-note,
  .pricing-cta-panel
) {
  border-color: rgba(239,232,241,.14) !important;
  color: #f4f1f5 !important;
  background: rgba(31,28,36,.9) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

:root[data-theme="dark"] body.pricing-page .pricing-level-guide,
:root[data-theme="dark"] body.pricing-page .pricing-layer-grid {
  border-color: rgba(239,232,241,.12) !important;
  background: rgba(239,232,241,.12) !important;
}

:root[data-theme="dark"] body.pricing-page :is(
  .pricing-level-guide li:nth-child(2), .pricing-stage-list li.is-entry,
  .pricing-layer-grid .pricing-layer-card-dark
) {
  color: #f4f1f5 !important;
  background: rgba(255,255,255,.065) !important;
}

:root[data-theme="dark"] body.pricing-page :is(
  .pricing-card h3, .pricing-card-top .o-icon, .pricing-stage-list strong,
  .pricing-stage-list b, .pricing-card-detail, .pricing-layer-grid h3,
  .pricing-layer-grid dd, .pricing-section-head h2, .pricing-diagnostic-panel h2,
  .pricing-clarity-copy h2, .pricing-cta h2
) { color: #f4f1f5 !important; }

:root[data-theme="dark"] body.pricing-page :is(
  .pricing-card-summary, .pricing-stage-index, .pricing-stage-list small,
  .pricing-disclaimer, .pricing-layer-grid article > p, .pricing-layer-grid dt,
  .pricing-layer-note p, .pricing-section-head > p,
  .pricing-diagnostic-panel > div > p, .pricing-clarity-copy > p,
  .pricing-cta-panel > div > p
) { color: #aaa3ae !important; }

:root[data-theme="dark"] body.pricing-page :is(
  .pricing-stage-list, .pricing-stage-list li, .pricing-layer-grid > article,
  .pricing-layer-grid dl, .pricing-layer-grid dl div + div
) { border-color: rgba(239,232,241,.12) !important; }

:root[data-theme="dark"] body.pricing-page .pricing-payment {
  border-color: rgba(239,232,241,.12) !important;
  color: #f4f1f5 !important;
  background: linear-gradient(132deg, #1d1a22, #27222c) !important;
}

:root[data-theme="dark"] body.pricing-page .pricing-payment :is(h2, h3, strong) { color: #f4f1f5 !important; }
:root[data-theme="dark"] body.pricing-page .pricing-payment :is(p, span, small) { color: #aaa3ae !important; }

/* The sound preference is a speaker control, not a notification control. Keep
   the glyph discreet while preserving the 44px+ interactive target. */
.studio-header .header-sound-toggle .o-icon,
.mobile-menu .mobile-sound-toggle .o-icon,
.studio-footer .footer-sound-toggle .o-icon {
  width: 14px;
  height: 14px;
  stroke-width: 1.75;
}

/* Shared final dark-state safety net for direction, materials, policy and
   solution pages. Page-specific styles must not leave light islands behind. */
:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) {
  color: #f4f0f5;
  background: #141217;
}

:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) main,
:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) main > section,
:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) .material-article-body {
  border-color: rgba(239,232,241,.1) !important;
  color: #f4f0f5 !important;
  background-color: #17151b !important;
}

:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) main :is(h1, h2, h3, h4, strong, b, dt, dd) {
  color: #f4f0f5 !important;
}

:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) main :is(p, li, small) {
  color: #aaa3ae !important;
}

:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) :is(
  .service-card,
  .direction-card,
  .solution-card,
  .deliverable-card,
  .material-card,
  .article-card,
  .process-card,
  .proof-card,
  .faq-list details,
  .ui-card,
  .lead-form-inverse,
  .lead-form,
  table
) {
  border-color: rgba(239,232,241,.13) !important;
  color: #f4f0f5 !important;
  background: rgba(31,28,36,.9) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) :is(.button-ghost-inverse, .button-light, .button-ghost) {
  border-color: rgba(239,232,241,.2) !important;
  color: #f4f0f5 !important;
  background: rgba(255,255,255,.045) !important;
}

:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) :is(.button-dark, .button-inverse, .button-submit, .mobile-sticky-cta) {
  color: #211e26 !important;
  background:
    linear-gradient(rgba(244,240,245,.96), rgba(226,220,229,.92)) padding-box,
    linear-gradient(108deg, var(--pearl-spectrum-a), var(--pearl-spectrum-b), var(--pearl-spectrum-c), var(--pearl-spectrum-d)) border-box !important;
}

/* Dark-route component completion. These are legacy service components whose
   light fills sit outside the generic card vocabulary above. */
:root[data-theme="dark"] .direction-page .direction-card-dark,
:root[data-theme="dark"] .direction-page .direction-card-dark h3,
:root[data-theme="dark"] .direction-page .direction-card-dark strong {
  border-color: rgba(239,232,241,.13) !important;
  color: #f4f0f5 !important;
  background: transparent !important;
}

:root[data-theme="dark"] .direction-page .direction-card-dark {
  background: rgba(31,28,36,.9) !important;
}

:root[data-theme="dark"] .lead-operations-page :is(
  .mini-dashboard,
  .timeline > div,
  .result-panel,
  .economics-note,
  .economics-calculator,
  .economics-summary > div,
  .lead-operations-final-card
) {
  border-color: rgba(239,232,241,.13) !important;
  color: #f4f0f5 !important;
  background: rgba(31,28,36,.9) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

:root[data-theme="dark"] .lead-operations-page :is(
  .mini-dashboard,
  .timeline > div,
  .result-panel,
  .economics-note,
  .economics-calculator,
  .economics-summary > div,
  .lead-operations-final-card
) :is(h2, h3, strong, b, dd) {
  color: #f4f0f5 !important;
}

:root[data-theme="dark"] .lead-operations-page :is(
  .mini-dashboard,
  .timeline > div,
  .result-panel,
  .economics-note,
  .economics-calculator,
  .economics-summary > div,
  .lead-operations-final-card
) :is(p, li, span, small, dt) {
  color: #aaa3ae !important;
}

:root[data-theme="dark"] .lead-operations-page .economics-fields label {
  color: #c9c2cd !important;
}

:root[data-theme="dark"] .lead-operations-page .economics-fields input {
  border-color: rgba(239,232,241,.15) !important;
  color: #f4f0f5 !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}

:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) .crystal-button {
  border: 1px solid transparent !important;
  color: #211e26 !important;
  background:
    linear-gradient(rgba(244,240,245,.97), rgba(226,220,229,.93)) padding-box,
    linear-gradient(108deg, var(--pearl-spectrum-a), var(--pearl-spectrum-b), var(--pearl-spectrum-c), var(--pearl-spectrum-d)) border-box !important;
}

:root[data-theme="dark"] body:not(.home-page):not(.pricing-page):not(.studio-unified) .crystal-button :is(span, .o-icon) {
  color: #211e26 !important;
}

/* Final dark-theme QA: service heroes and diagnostic surfaces keep the same
   restrained pearl movement as the public hero instead of falling back to a
   flat graphite fill. */
:root[data-theme="dark"] .service-page .page-hero.service-hero-modern {
  border-color: rgba(239,232,241,.1) !important;
  color: #f4f0f5 !important;
  background:
    radial-gradient(circle at 18% 24%, rgba(211,188,210,.105), transparent 31rem),
    radial-gradient(circle at 78% 18%, rgba(172,184,211,.1), transparent 34rem),
    linear-gradient(118deg, rgba(25,22,29,.98), rgba(17,15,20,.96)),
    repeating-linear-gradient(121deg, transparent 0 132px, rgba(230,220,235,.035) 132px 133px, transparent 133px 264px) !important;
  background-size: 118% 118%, 124% 124%, 100% 100%, 100% 100% !important;
  animation: studio-dark-pearl-drift 16s cubic-bezier(.22,.72,.24,1) infinite alternate;
}

:root[data-theme="dark"] .service-page .service-hero-modern :is(h1, h2, strong) {
  color: #f4f0f5 !important;
}

:root[data-theme="dark"] .service-page .service-hero-modern :is(p, li) {
  color: #aaa3ae !important;
}

:root[data-theme="dark"] .process-audit-page .audit-card {
  border-color: rgba(239,232,241,.14) !important;
  color: #f4f0f5 !important;
  background: linear-gradient(138deg, rgba(42,37,47,.94), rgba(27,24,31,.96)) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.045) !important;
}

:root[data-theme="dark"] .process-audit-page .audit-card :is(h2, strong) { color: #f4f0f5 !important; }
:root[data-theme="dark"] .process-audit-page .audit-card p { color: #aaa3ae !important; }

@keyframes studio-dark-pearl-drift {
  from { background-position: 0% 0%, 100% 0%, 0 0, 0 0; }
  to { background-position: 8% 7%, 91% 9%, 0 0, 18px 0; }
}

@media (prefers-reduced-motion: reduce) {
  :root[data-theme="dark"] .service-page .page-hero.service-hero-modern { animation: none; }
}

/* Specialised capability and solution compositions were authored before the
   theme switcher and therefore used opaque pearl-white panels. */
:root[data-theme="dark"] .capabilities-page .capability-sequence,
:root[data-theme="dark"] .capabilities-page .capability-card-dark {
  border-color: rgba(239,232,241,.13) !important;
  color: #f4f0f5 !important;
  background:
    radial-gradient(circle at 14% 10%, rgba(211,188,210,.08), transparent 44%),
    rgba(31,28,36,.9) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

:root[data-theme="dark"] .capabilities-page :is(.capability-sequence, .capability-card-dark) :is(h2, h3, strong, .o-icon) {
  color: #f4f0f5 !important;
}

:root[data-theme="dark"] .capabilities-page :is(.capability-sequence, .capability-card-dark) :is(p, small, span) {
  color: #aaa3ae !important;
}

:root[data-theme="dark"] .solution-landing :is(
  .solution-hero-visual,
  .solution-demo-frame,
  .solution-signal-grid,
  .solution-before-after,
  .solution-decision-grid,
  .solution-ai-choice,
  .solution-split-grid,
  .solution-boundary-table
) {
  border-color: rgba(239,232,241,.13) !important;
  color: #f4f0f5 !important;
  background: rgba(31,28,36,.9) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

:root[data-theme="dark"] .solution-landing :is(.solution-hero-visual, .solution-demo-frame) figcaption {
  border-color: rgba(239,232,241,.13) !important;
  color: #aaa3ae !important;
  background: rgba(25,22,29,.96) !important;
}

:root[data-theme="dark"] .solution-landing :is(
  .solution-signal-grid,
  .solution-before-after,
  .solution-decision-grid,
  .solution-ai-choice,
  .solution-split-grid,
  .solution-boundary-table
) :is(h2, h3, strong, b, dt, dd) { color: #f4f0f5 !important; }

:root[data-theme="dark"] .solution-landing :is(
  .solution-signal-grid,
  .solution-before-after,
  .solution-decision-grid,
  .solution-ai-choice,
  .solution-split-grid,
  .solution-boundary-table
) :is(p, li, small, span) { color: #aaa3ae !important; }

:root[data-theme="dark"] .solution-landing :is(
  .solution-before-after article + article,
  .solution-ai-choice article + article,
  .solution-split-grid .solution-split-dark,
  .solution-boundary-table article:nth-child(2)
) { background: rgba(255,255,255,.035) !important; }

/* Dark navigation completion. Active controls use a restrained pearl pill
   with graphite copy; the menu itself stays dark and never inherits that
   light control text treatment. */
:root[data-theme="dark"] body.pearl-studio .studio-header .header-nav > a:is(:hover, :focus-visible, [aria-current="page"]),
:root[data-theme="dark"] body.pearl-studio .studio-header .header-nav-trigger:is(:hover, :focus-visible, [aria-expanded="true"]) {
  color: #211e26 !important;
  background: linear-gradient(180deg, rgba(244,240,245,.96), rgba(222,216,225,.93)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.62), 0 8px 24px rgba(0,0,0,.18) !important;
}

:root[data-theme="dark"] body.pearl-studio .studio-directions-menu {
  border-color: rgba(239,232,241,.14) !important;
  color: #f4f0f5 !important;
  background: rgba(24,21,28,.98) !important;
  box-shadow: 0 30px 82px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

:root[data-theme="dark"] body.pearl-studio .studio-directions-menu .ui-mega-grid {
  background: rgba(239,232,241,.1) !important;
}

:root[data-theme="dark"] body.pearl-studio .studio-directions-menu .ui-mega-grid a,
:root[data-theme="dark"] body.pearl-studio .studio-directions-recommended a {
  color: #f4f0f5 !important;
  background: rgba(31,28,36,.98) !important;
}

:root[data-theme="dark"] body.pearl-studio .studio-directions-menu .ui-mega-grid a :is(strong, span),
:root[data-theme="dark"] body.pearl-studio .studio-directions-recommended a :is(strong, span) {
  color: #f4f0f5 !important;
}

:root[data-theme="dark"] body.pearl-studio .studio-directions-menu .ui-mega-grid a :is(p, small),
:root[data-theme="dark"] body.pearl-studio .studio-directions-recommended a :is(p, small) {
  color: #aaa3ae !important;
}

:root[data-theme="dark"] body.pearl-studio .studio-directions-menu .ui-mega-grid a:is(:hover, :focus-visible),
:root[data-theme="dark"] body.pearl-studio .studio-directions-recommended a:is(:hover, :focus-visible) {
  color: #fff !important;
  background: rgba(67,61,73,.9) !important;
}

:root[data-theme="dark"] body.pearl-studio .studio-directions-menu .ui-mega-grid a:is(:hover, :focus-visible) :is(strong, span, p, small),
:root[data-theme="dark"] body.pearl-studio .studio-directions-recommended a:is(:hover, :focus-visible) :is(strong, span, p, small) {
  color: #fff !important;
}

/* Header containment lock.
   The product/sound controls added a third action cluster, so the previous
   1041px desktop breakpoint could no longer guarantee that the navigation
   and CTA stayed inside the rounded glass shell. */
.studio-header .header-inner {
  box-sizing: border-box;
}

.studio-header .brand,
.studio-header .header-actions {
  flex-shrink: 0;
}

.studio-header .header-actions {
  min-width: 0;
  margin-left: auto;
  padding-right: 3px;
}

.studio-header .wave-cta {
  box-sizing: border-box;
  max-width: 100%;
  flex-shrink: 0;
}

/* Between tablet and a true desktop width, use the existing compact menu.
   This removes the collision between the wordmark and “Направления” and
   keeps every action inside the header perimeter. */
@media (min-width: 1041px) and (max-width: 1279px) {
  .studio-header .header-nav,
  .studio-header .wave-cta {
    display: none !important;
  }

  .studio-header .menu-toggle {
    display: inline-flex !important;
  }

  .studio-header .header-inner {
    padding-right: 9px !important;
  }
}

/* At the first full-desktop width the labels remain visible, but the nav
   uses a deliberately tighter rhythm instead of overflowing by 10–20px. */
@media (min-width: 1280px) and (max-width: 1399px) {
  .studio-header .header-nav {
    min-width: 0;
    gap: 4px !important;
  }

  .studio-header .header-nav > a,
  .studio-header .header-nav-trigger {
    padding-inline: 8px !important;
    font-size: 12px !important;
  }

  .studio-header .wave-cta {
    min-width: 174px !important;
    padding-inline: 17px !important;
  }
}

/* 2026-08-25 responsive header composition.
   Keep useful actions visible while there is room, move the theme control
   into the mobile shell, and open navigation as a compact drop-down panel. */
.studio-header .header-theme-toggle {
  display: inline-flex;
  box-sizing: border-box;
  width: 54px;
  height: 30px;
  padding: 0;
  flex: 0 0 54px;
  border: 0;
  border-radius: 999px;
  color: #665f71;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.studio-header .header-theme-toggle:is(:hover, :focus-visible) .studio-theme-track {
  border-color: rgba(83, 74, 91, .32);
  box-shadow: 0 14px 34px rgba(62, 54, 73, .18), inset 0 1px 0 rgba(255, 255, 255, .96);
}

.studio-header .header-theme-toggle:disabled { cursor: wait; }
.studio-header .header-theme-toggle:disabled .studio-theme-track { opacity: .82; }
.studio-header .header-theme-toggle[data-theme-state="dark"] { color: #ddd5e1; }
.studio-header .header-theme-toggle[data-theme-state="dark"] .studio-theme-track {
  border-color: rgba(233, 225, 237, .18);
  background: rgba(33, 30, 38, .82);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .07);
}
.studio-header .header-theme-toggle[data-theme-state="dark"] .studio-theme-thumb {
  background: linear-gradient(145deg, #5a5362, #29252e);
  box-shadow: 0 3px 10px rgba(0, 0, 0, .38), inset 0 0 0 1px rgba(255, 255, 255, .09);
  transform: translateX(24px);
}
.studio-header .header-theme-toggle[data-theme-state="dark"] .studio-theme-thumb .o-icon { color: #eee8f0; }
.studio-header .header-theme-toggle[data-theme-state="dark"] .studio-theme-thumb-sun { opacity: 0; }
.studio-header .header-theme-toggle[data-theme-state="dark"] .studio-theme-thumb-moon { opacity: 1; }

.studio-header .header-actions {
  gap: 9px !important;
  padding-right: 6px !important;
}

.studio-header .wave-cta {
  margin-right: 0 !important;
}

@media (min-width: 1400px) {
  .studio-header .header-inner {
    width: min(1360px, calc(100% - 48px)) !important;
  }
}

@media (min-width: 1041px) and (max-width: 1279px) {
  .studio-header .header-inner {
    width: calc(100% - 152px) !important;
    padding-right: 9px !important;
  }

  .studio-header .header-nav { display: none !important; }
  .studio-header .menu-toggle { display: inline-flex !important; }
  .studio-header .wave-cta {
    display: inline-flex !important;
    width: 164px !important;
    min-width: 164px !important;
    padding-inline: 14px !important;
  }
}

@media (min-width: 721px) and (max-width: 1040px) {
  .studio-theme-switcher { display: none !important; }

  .studio-header .header-inner {
    width: calc(100% - 20px) !important;
    padding: 0 9px 0 14px !important;
  }

  .studio-header .header-nav { display: none !important; }
  .studio-header .header-product-link,
  .studio-header .header-sound-toggle,
  .studio-header .wave-cta,
  .studio-header .header-theme-toggle,
  .studio-header .menu-toggle { display: inline-flex !important; }

  .studio-header .header-product-link,
  .studio-header .header-sound-toggle {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    justify-content: center;
  }

  .studio-header .header-product-link :is(span, .o-icon),
  .studio-header .header-sound-toggle span { display: none !important; }

  .studio-header .wave-cta {
    width: 154px !important;
    min-width: 154px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding-inline: 12px !important;
  }

  .studio-header .menu-toggle {
    width: 46px;
    height: 46px;
  }
}

@media (max-width: 720px) {
  .studio-theme-switcher { display: none !important; }

  .studio-header .header-inner {
    width: calc(100% - 16px) !important;
    min-width: 0 !important;
    padding: 0 9px 0 12px !important;
  }

  .studio-header .brand {
    min-width: 0 !important;
    flex: 1 1 auto;
  }

  .studio-header .header-actions {
    gap: 8px !important;
    padding-right: 0 !important;
    flex: 0 0 auto;
  }

  .studio-header .header-product-link,
  .studio-header .header-sound-toggle,
  .studio-header .wave-cta { display: none !important; }

  .studio-header .header-theme-toggle,
  .studio-header .menu-toggle { display: inline-flex !important; }

  .studio-header .header-theme-toggle { order: 1; }
  .studio-header .menu-toggle {
    order: 2;
    width: 46px;
    height: 46px;
  }
}

@media (max-width: 1279px) {
  .studio-header.is-open .mobile-sheet {
    position: fixed;
    top: 88px;
    right: auto;
    bottom: auto;
    left: 50%;
    z-index: var(--z-sheet);
    display: grid;
    width: min(520px, calc(100vw - 20px));
    min-height: 0;
    max-height: calc(100dvh - 100px);
    align-content: start;
    grid-auto-rows: max-content;
    overflow: auto;
    border-radius: 24px;
    transform: translateX(-50%);
    transform-origin: top center;
    animation: studio-mobile-sheet-drop .32s cubic-bezier(.22, .72, .24, 1) both;
  }

  .studio-header.is-open .mobile-sheet-backdrop {
    display: block !important;
    background: rgba(28, 24, 31, .22);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    animation: studio-mobile-backdrop-in .2s ease both;
  }
}

@media (max-width: 520px) {
  .studio-header.is-open .mobile-sheet {
    top: 82px;
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 92px);
    border-radius: 22px;
  }
}

@keyframes studio-mobile-sheet-drop {
  from { transform: translate(-50%, -18px) scale(.985); }
  to { transform: translate(-50%, 0) scale(1); }
}

@keyframes studio-mobile-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .studio-header.is-open .mobile-sheet,
  .studio-header.is-open .mobile-sheet-backdrop { animation: none !important; }
}

@media (max-width: 720px) {
  body.internal-products-page .pearl-page-hero .page-hero-grid > :first-child {
    min-height: 620px;
  }
}

/* Graphite primary-action system: one dark, legible conversion language. */
body :is(
  .button-dark,
  .button-inverse,
  .button-submit,
  .crystal-button,
  .mobile-sticky-cta,
  .button[data-dialog-open]
),
body .mobile-menu .button-dark {
  border: 1px solid transparent !important;
  color: #f8f6f9 !important;
  background:
    linear-gradient(132deg, #5d5967 0%, #393640 42%, #1f1d24 100%) padding-box,
    linear-gradient(108deg, #8a8491, #55515d 38%, #2c2a31 72%, #77717e) border-box !important;
  box-shadow:
    0 14px 32px rgba(30, 27, 35, .22),
    inset 0 1px 0 rgba(255, 255, 255, .2),
    inset 0 -1px 0 rgba(0, 0, 0, .24) !important;
}

body :is(
  .button-dark,
  .button-inverse,
  .button-submit,
  .crystal-button,
  .mobile-sticky-cta,
  .button[data-dialog-open]
) :is(span, svg, .o-icon),
body .mobile-menu .button-dark :is(span, svg, .o-icon) {
  color: #f8f6f9 !important;
}

body :is(
  .button-dark,
  .button-inverse,
  .button-submit,
  .crystal-button,
  .mobile-sticky-cta,
  .button[data-dialog-open]
):is(:hover, :focus-visible),
body .mobile-menu .button-dark:is(:hover, :focus-visible) {
  color: #fff !important;
  background:
    linear-gradient(132deg, #6b6675 0%, #45414d 42%, #27242d 100%) padding-box,
    linear-gradient(108deg, #a29ca8, #625d69 38%, #35323a 72%, #8c8592) border-box !important;
  box-shadow:
    0 18px 40px rgba(30, 27, 35, .29),
    inset 0 1px 0 rgba(255, 255, 255, .25),
    inset 0 -1px 0 rgba(0, 0, 0, .26) !important;
  transform: translateY(-1px);
}

body :is(
  .button-dark,
  .button-inverse,
  .button-submit,
  .crystal-button,
  .mobile-sticky-cta,
  .button[data-dialog-open]
):focus-visible {
  outline: none !important;
  box-shadow:
    0 0 0 4px rgba(91, 85, 101, .2),
    0 18px 40px rgba(30, 27, 35, .28),
    inset 0 1px 0 rgba(255, 255, 255, .24) !important;
}

.studio-header .wave-cta-ring {
  background: linear-gradient(108deg, #8a8491, #55515d 38%, #2c2a31 72%, #77717e) !important;
}

.studio-header .wave-cta-surface {
  background: linear-gradient(132deg, #5d5967 0%, #393640 42%, #1f1d24 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.24) !important;
}

.studio-header .wave-cta-label,
.studio-header .wave-cta-label :is(span, svg, .o-icon) {
  color: #f8f6f9 !important;
}

/* Dark mode must keep primary actions graphite too. Several legacy page
   themes previously promoted them back to pale cards, which also reduced
   label contrast. */
:root[data-theme="dark"] body :is(
  .button-dark,
  .button-inverse,
  .button-submit,
  .crystal-button,
  .mobile-sticky-cta,
  .button[data-dialog-open]
),
:root[data-theme="dark"] body .mobile-menu .button-dark {
  border: 1px solid transparent !important;
  color: #f8f6f9 !important;
  background:
    linear-gradient(132deg, #65606f 0%, #403c49 42%, #232129 100%) padding-box,
    linear-gradient(108deg, #958f9c, #5d5865 38%, #312e36 72%, #827b89) border-box !important;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, .32),
    inset 0 1px 0 rgba(255, 255, 255, .18),
    inset 0 -1px 0 rgba(0, 0, 0, .3) !important;
}

:root[data-theme="dark"] body :is(
  .button-dark,
  .button-inverse,
  .button-submit,
  .crystal-button,
  .mobile-sticky-cta,
  .button[data-dialog-open]
) :is(span, svg, .o-icon),
:root[data-theme="dark"] body .mobile-menu .button-dark :is(span, svg, .o-icon) {
  color: #f8f6f9 !important;
}

/* Pearl conversion actions and final header geometry.
   Product/navigation actions may use graphite, while every lead action keeps
   the lighter conversion treatment and the header CTA retains its animated
   spectrum ring. The theme control now lives inside the glass shell after the
   CTA, giving the animated edge a safe inset instead of letting it protrude. */
body .button[data-dialog-open] {
  border: 1px solid transparent !important;
  color: #211f27 !important;
  background:
    linear-gradient(rgba(255,255,255,.95), rgba(244,241,246,.9)) padding-box,
    linear-gradient(108deg, var(--pearl-spectrum-a), var(--pearl-spectrum-b), var(--pearl-spectrum-c), var(--pearl-spectrum-d)) border-box !important;
  box-shadow: 0 12px 32px rgba(67,57,78,.12), inset 0 1px 0 rgba(255,255,255,.94) !important;
}

body .button[data-dialog-open] :is(span, svg, .o-icon) {
  color: #211f27 !important;
}

body .button[data-dialog-open]:is(:hover, :focus-visible) {
  color: #17141b !important;
  background:
    linear-gradient(rgba(255,255,255,.99), rgba(240,236,243,.96)) padding-box,
    linear-gradient(108deg, var(--pearl-spectrum-a), var(--pearl-spectrum-b), var(--pearl-spectrum-c), var(--pearl-spectrum-d)) border-box !important;
  box-shadow: 0 16px 38px rgba(67,57,78,.18), inset 0 1px 0 rgba(255,255,255,.98) !important;
}

.studio-header .wave-cta-ring,
body.pearl-studio .studio-header .wave-cta-ring {
  opacity: .78;
  background: conic-gradient(from 18deg, var(--pearl-spectrum-a), var(--pearl-spectrum-b), var(--pearl-spectrum-c), var(--pearl-spectrum-d), var(--pearl-spectrum-a)) !important;
  filter: saturate(.94) brightness(1.03);
}

.studio-header .wave-cta-surface,
body.pearl-studio .studio-header .wave-cta-surface {
  inset: 2px;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(241,238,244,.88)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.98), inset 0 -12px 26px rgba(188,178,198,.12) !important;
}

.studio-header .wave-cta-label,
.studio-header .wave-cta-label :is(span, svg, .o-icon),
body.pearl-studio .studio-header .wave-cta-label,
body.pearl-studio .studio-header .wave-cta-label :is(span, svg, .o-icon) {
  color: #25212a !important;
}

.studio-header .header-actions {
  overflow: visible;
  padding-right: 2px !important;
}

.studio-header .header-theme-toggle {
  order: 4;
  margin-left: 1px;
}

.studio-header .menu-toggle { order: 5; }

:root[data-theme="dark"] body .button[data-dialog-open],
:root[data-theme="dark"] body .mobile-menu .button[data-dialog-open] {
  color: #211e26 !important;
  background:
    linear-gradient(rgba(244,240,245,.97), rgba(226,220,229,.93)) padding-box,
    linear-gradient(108deg, var(--pearl-spectrum-a), var(--pearl-spectrum-b), var(--pearl-spectrum-c), var(--pearl-spectrum-d)) border-box !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.82) !important;
}

:root[data-theme="dark"] body .button[data-dialog-open] :is(span, svg, .o-icon) {
  color: #211e26 !important;
}

:root[data-theme="dark"] .studio-header .wave-cta-surface,
:root[data-theme="dark"] body.pearl-studio .studio-header .wave-cta-surface {
  background: linear-gradient(135deg, rgba(244,240,245,.97), rgba(225,219,228,.93)) !important;
}

@media (min-width: 1280px) {
  .studio-header .header-theme-toggle { display: inline-flex !important; }
}

@media (min-width: 1280px) and (max-width: 1399px) {
  .studio-header .header-inner {
    width: calc(100% - 24px) !important;
    padding-right: 8px !important;
  }

  .studio-header .header-actions { gap: 7px !important; }
  .studio-header .header-product-link,
  .studio-header .header-sound-toggle {
    width: 44px;
    min-width: 44px;
    padding-inline: 0;
    justify-content: center;
  }
  .studio-header .header-product-link :is(span, .o-icon),
  .studio-header .header-sound-toggle span { display: none !important; }
}

/* 2026-08-25 public-ready theme coherence.
   This terminus replaces the accumulated candy-spectrum and pale-dark
   fallbacks with one mineral graphite / pearl system. */
:root {
  --studio-mineral-0: #fbfafb;
  --studio-mineral-1: #efedf0;
  --studio-mineral-2: #d2ced5;
  --studio-mineral-3: #918b96;
  --studio-mineral-4: #5b5661;
  --studio-mineral-5: #2c2931;
  --studio-mineral-6: #17151a;
  /* The animated ring keeps the pearl motion, but the signal itself is
     mineral rather than cyan / pink / violet. */
  --pearl-spectrum-a: #4f4b55;
  --pearl-spectrum-b: #c8c3cb;
  --pearl-spectrum-c: #77717d;
  --pearl-spectrum-d: #ece9ed;
}

/* Lead actions: light pearl in the light theme, graphite in the dark theme. */
body .button[data-dialog-open],
body .mobile-menu .button[data-dialog-open] {
  border: 1px solid transparent !important;
  color: #242129 !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(236,233,239,.94)) padding-box,
    linear-gradient(112deg, #65606a, #d8d4da 28%, #88828d 55%, #ece9ed 76%, #514d56) border-box !important;
  box-shadow:
    0 13px 30px rgba(40,36,44,.14),
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -7px 14px rgba(95,87,103,.07) !important;
}

body .button[data-dialog-open] :is(span, svg, .o-icon),
body .mobile-menu .button[data-dialog-open] :is(span, svg, .o-icon) {
  color: #242129 !important;
}

body .button[data-dialog-open]:is(:hover, :focus-visible),
body .mobile-menu .button[data-dialog-open]:is(:hover, :focus-visible) {
  color: #17151b !important;
  background:
    linear-gradient(145deg, #fff, #e9e6eb) padding-box,
    linear-gradient(112deg, #4f4a54, #cbc6ce 28%, #77717d 55%, #f3f0f3 76%, #403c45) border-box !important;
  box-shadow:
    0 17px 38px rgba(40,36,44,.19),
    inset 0 1px 0 #fff,
    inset 0 -8px 16px rgba(95,87,103,.09) !important;
}

:root[data-theme="dark"] body :is(
  .button-dark,
  .button-inverse,
  .button-submit,
  .crystal-button,
  .mobile-sticky-cta,
  .button[data-dialog-open]
),
:root[data-theme="dark"] body .mobile-menu :is(.button-dark, .button[data-dialog-open]) {
  border: 1px solid transparent !important;
  color: #f8f6f9 !important;
  background:
    linear-gradient(138deg, #56515e 0%, #36323d 42%, #201e25 100%) padding-box,
    linear-gradient(112deg, #aaa4ae, #4c4852 34%, #242229 66%, #817b87) border-box !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.31),
    inset 0 1px 0 rgba(255,255,255,.2),
    inset 0 -1px 0 rgba(0,0,0,.42) !important;
}

:root[data-theme="dark"] body :is(
  .button-dark,
  .button-inverse,
  .button-submit,
  .crystal-button,
  .mobile-sticky-cta,
  .button[data-dialog-open]
) :is(span, svg, .o-icon),
:root[data-theme="dark"] body .mobile-menu :is(.button-dark, .button[data-dialog-open]) :is(span, svg, .o-icon) {
  color: #f8f6f9 !important;
}

:root[data-theme="dark"] body :is(
  .button-dark,
  .button-inverse,
  .button-submit,
  .crystal-button,
  .mobile-sticky-cta,
  .button[data-dialog-open]
):is(:hover, :focus-visible) {
  background:
    linear-gradient(138deg, #66606e 0%, #413c49 42%, #27242d 100%) padding-box,
    linear-gradient(112deg, #c2bcc5, #5b5662 34%, #2e2b33 66%, #958e9a) border-box !important;
}

.studio-header .wave-cta-ring,
body.pearl-studio .studio-header .wave-cta-ring {
  opacity: .9 !important;
  background: conic-gradient(from 24deg, #5c5761, #d6d1d8, #7e7884, #eeeaf0, #4d4952, #5c5761) !important;
  filter: none !important;
}

.studio-header .wave-cta-surface,
body.pearl-studio .studio-header .wave-cta-surface {
  inset: 2px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(234,231,237,.94)) !important;
  box-shadow: inset 0 1px 0 #fff, inset 0 -9px 18px rgba(93,86,101,.08) !important;
}

.studio-header .wave-cta-label,
.studio-header .wave-cta-label :is(span, svg, .o-icon),
body.pearl-studio .studio-header .wave-cta-label,
body.pearl-studio .studio-header .wave-cta-label :is(span, svg, .o-icon) {
  color: #242129 !important;
}

:root[data-theme="dark"] .studio-header .wave-cta-ring,
:root[data-theme="dark"] body.pearl-studio .studio-header .wave-cta-ring {
  background: conic-gradient(from 24deg, #b0aab4, #49454f, #79737f, #28262d, #938d98, #b0aab4) !important;
}

:root[data-theme="dark"] .studio-header .wave-cta-surface,
:root[data-theme="dark"] body.pearl-studio .studio-header .wave-cta-surface {
  background: linear-gradient(138deg, #56515e 0%, #35323c 44%, #211f26 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(0,0,0,.38) !important;
}

:root[data-theme="dark"] .studio-header .wave-cta-label,
:root[data-theme="dark"] .studio-header .wave-cta-label :is(span, svg, .o-icon),
:root[data-theme="dark"] body.pearl-studio .studio-header .wave-cta-label,
:root[data-theme="dark"] body.pearl-studio .studio-header .wave-cta-label :is(span, svg, .o-icon) {
  color: #f8f6f9 !important;
}

/* One pearl field across homepage, pricing, materials and directions. */
body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero {
  background:
    radial-gradient(circle at 78% 18%, rgba(188,183,197,.58), transparent 31%),
    radial-gradient(circle at 18% 78%, rgba(218,208,218,.58), transparent 36%),
    repeating-linear-gradient(119deg,
      #f7f6f7 0 8.5%,
      #dedbe1 12.5%,
      #fbfafb 17%,
      #e9e6eb 23%,
      #fff 29%,
      #dcd9df 34%,
      #f8f7f8 41%) !important;
}

body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-canvas {
  opacity: .78 !important;
  filter: saturate(.45) contrast(1.13) brightness(.99) !important;
  mix-blend-mode: soft-light !important;
}

body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-veil {
  background:
    linear-gradient(90deg, rgba(255,255,255,.06), transparent 55%, rgba(246,244,247,.05)),
    repeating-linear-gradient(119deg,
      transparent 0 8.5%,
      rgba(70,65,76,.075) 12.5%,
      rgba(255,255,255,.17) 17%,
      rgba(78,72,84,.045) 23%,
      rgba(255,255,255,.12) 29%,
      rgba(71,66,77,.07) 34%,
      transparent 41%) !important;
}

:root[data-theme="dark"] body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero {
  color: #f4f1f5 !important;
  background:
    radial-gradient(circle at 78% 17%, rgba(225,220,228,.12), transparent 25%),
    radial-gradient(circle at 17% 78%, rgba(150,143,155,.09), transparent 29%),
    repeating-linear-gradient(119deg,
      #0f0d11 0 9%,
      #26222b 12.5%,
      #121015 17%,
      #1d1a21 23%,
      #0f0d11 29%,
      #302b35 34%,
      #111014 41%) !important;
}

:root[data-theme="dark"] body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-canvas {
  opacity: .12 !important;
  filter: brightness(.68) saturate(.16) contrast(1.72) !important;
  mix-blend-mode: screen !important;
}

:root[data-theme="dark"] body:is(.pricing-page, .materials-page, .direction-page) .studio-service-showcase > div:first-child {
  color: #f6f3f7 !important;
  background: linear-gradient(118deg, rgba(91,85,99,.82), rgba(50,46,56,.96)) !important;
}

:root[data-theme="dark"] body:is(.pricing-page, .materials-page, .direction-page) .studio-service-showcase > div:first-child :is(span, strong, small) {
  color: inherit !important;
}

:root[data-theme="dark"] body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-veil {
  background:
    linear-gradient(90deg, rgba(7,6,9,.18), rgba(18,16,21,.025) 52%, rgba(7,6,9,.2)),
    repeating-linear-gradient(119deg,
      transparent 0 8.5%,
      rgba(255,255,255,.14) 12.5%,
      transparent 17%,
      rgba(255,255,255,.035) 23%,
      transparent 29%,
      rgba(255,255,255,.16) 34%,
      transparent 41%) !important;
}

/* 2026-08-31 refined header lock.
   Product, sound and theme stay as compact utilities before the conversion
   action; the spectrum ring remains the single signal accent. */
.studio-header .header-actions > .header-product-link { order: 0 !important; }
.studio-header .header-actions > .header-sound-toggle { order: 1 !important; }
.studio-header .header-actions > .header-theme-toggle { order: 2 !important; }
.studio-header .header-actions > .wave-cta { order: 3 !important; }
.studio-header .header-actions > .menu-toggle { order: 4 !important; }

/* Reserve the final fixed-header geometry before deferred site-shell.js mounts
   its contents. Without this pre-mount state the empty header participates in
   document flow for one frame, then becomes fixed and shifts the entire main. */
.site-header[data-header]:not(.studio-header) {
  box-sizing: border-box;
  position: fixed;
  inset: 0 0 auto;
  z-index: var(--z-header);
  width: 100%;
  height: 94px;
  min-height: 94px;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.studio-header .wave-cta {
  width: 188px !important;
  min-width: 188px !important;
  max-width: 188px !important;
  flex: 0 0 188px !important;
  padding-inline: 18px !important;
}

.studio-header .wave-cta-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  white-space: nowrap;
}

.studio-header .wave-cta-ring,
body.pearl-studio .studio-header .wave-cta-ring {
  opacity: .96 !important;
  background: conic-gradient(
    from 18deg,
    #66d7ff 0deg,
    #8d7dff 58deg,
    #ef75b6 120deg,
    #f6bd60 182deg,
    #b9df66 238deg,
    #54d7b0 296deg,
    #66d7ff 360deg
  ) !important;
  filter: saturate(.88) brightness(1.04) !important;
}

:root[data-theme="dark"] .studio-header .wave-cta-ring,
:root[data-theme="dark"] body.pearl-studio .studio-header .wave-cta-ring {
  background: conic-gradient(
    from 18deg,
    #48bde9 0deg,
    #8172e6 58deg,
    #d55f9f 120deg,
    #dca64d 182deg,
    #91bd4f 238deg,
    #42b996 296deg,
    #48bde9 360deg
  ) !important;
  filter: saturate(.78) brightness(.9) !important;
}

/* A CSS motion fallback keeps the pearl field alive when WebGPU is not
   exposed by the browser. The shader, when available, continues above it. */
.pearl-shader-veil {
  background-size: 100% 100%, 142% 142% !important;
  animation: studio-pearl-fallback-flow 15s cubic-bezier(.45, 0, .25, 1) infinite alternate;
  will-change: background-position, transform;
}

@keyframes studio-pearl-fallback-flow {
  0% {
    background-position: 0 0, 0% 0%;
    transform: translate3d(-1.2%, -.4%, 0) scale(1.035);
  }
  48% {
    background-position: 0 0, 56% 34%;
    transform: translate3d(1.1%, .5%, 0) scale(1.055);
  }
  100% {
    background-position: 0 0, 100% 72%;
    transform: translate3d(-.2%, 1%, 0) scale(1.045);
  }
}

@media (min-width: 721px) and (max-width: 1040px) {
  .studio-header .wave-cta {
    width: 188px !important;
    min-width: 188px !important;
    max-width: 188px !important;
    flex-basis: 188px !important;
  }
}

@media (max-width: 720px) {
  .studio-header .header-actions > .header-theme-toggle { order: 0 !important; }
  .studio-header .header-actions > .menu-toggle { order: 1 !important; }
}

@media (prefers-reduced-motion: reduce) {
  .pearl-shader-veil { animation: none !important; }
}

/* Materials are one editorial family; featured means hierarchy, not a new hue. */
.materials-page .material-card,
.materials-page .material-card-featured {
  border-color: rgba(70,64,76,.11) !important;
  color: #242129 !important;
  background:
    radial-gradient(circle at 92% 5%, rgba(212,207,217,.17), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.9), rgba(242,240,243,.84)) !important;
  box-shadow: 0 14px 40px rgba(48,42,54,.055), inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.materials-page .material-card-featured {
  border-color: rgba(70,64,76,.16) !important;
  box-shadow: 0 16px 44px rgba(48,42,54,.075), inset 3px 0 0 rgba(104,97,110,.34), inset 0 1px 0 #fff !important;
}

.materials-page .material-card > div a {
  color: #343039 !important;
  text-decoration-color: rgba(52,48,57,.32) !important;
}

:root[data-theme="dark"] .materials-page .material-card,
:root[data-theme="dark"] .materials-page .material-card-featured {
  border-color: rgba(239,232,241,.13) !important;
  color: #f4f1f5 !important;
  background:
    radial-gradient(circle at 92% 4%, rgba(180,169,188,.065), transparent 34%),
    linear-gradient(145deg, rgba(34,31,39,.98), rgba(27,24,32,.98)) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

:root[data-theme="dark"] .materials-page .material-card-featured {
  border-color: rgba(239,232,241,.19) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.24), inset 3px 0 0 rgba(190,182,195,.28), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

:root[data-theme="dark"] .materials-page .material-card :is(h2, h3, h2 a, h3 a) {
  color: #f4f1f5 !important;
}

:root[data-theme="dark"] .materials-page .material-card > p {
  color: #aaa3ae !important;
}

:root[data-theme="dark"] .materials-page .material-card > div a {
  color: #eeeaf0 !important;
  text-decoration-color: rgba(238,234,240,.38) !important;
}

:root[data-theme="dark"] .materials-page .material-card > div a:is(:hover, :focus-visible) {
  color: #fff !important;
}

/* Pricing clarity and defensive line wrapping. */
.pricing-diagnostic-panel .diagnostic-price {
  display: inline-block;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

:root[data-theme="dark"] :is(
  .pricing-level-guide li,
  .pricing-card,
  .pricing-diagnostic-panel,
  .pricing-layer-grid > article,
  .pricing-clarity-card,
  .pricing-map
) {
  border-color: rgba(239,232,241,.13) !important;
  color: #f4f1f5 !important;
  background: linear-gradient(145deg, rgba(35,32,40,.98), rgba(27,24,32,.98)) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.19), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

:root[data-theme="dark"] :is(
  .pricing-level-guide li,
  .pricing-card,
  .pricing-diagnostic-panel,
  .pricing-layer-grid > article,
  .pricing-clarity-card,
  .pricing-map
) :is(h2, h3, strong, b, dd) {
  color: #f4f1f5 !important;
}

:root[data-theme="dark"] :is(
  .pricing-level-guide li,
  .pricing-card,
  .pricing-diagnostic-panel,
  .pricing-layer-grid > article,
  .pricing-clarity-card,
  .pricing-map
) :is(p, span, small, dt, li) {
  color: #aaa3ae !important;
}

/* The shared trust strip is a real rounded capsule, not three clipped tiles. */
.studio-trust ul {
  position: relative;
  overflow: hidden !important;
  border-radius: 24px !important;
  background-clip: padding-box !important;
  clip-path: none !important;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.studio-trust li {
  clip-path: none !important;
  border-radius: 0 !important;
}

@media (min-width: 921px) {
  .studio-trust li:first-child { border-radius: 23px 0 0 23px !important; }
  .studio-trust li:last-child { border-radius: 0 23px 23px 0 !important; }
}

@media (max-width: 920px) {
  .studio-trust li:first-child { border-radius: 23px 23px 0 0 !important; }
  .studio-trust li:last-child { border-radius: 0 0 23px 23px !important; }
}

.studio-footer .footer-bottom {
  grid-template-columns: 1fr auto;
}

/* Sound is controlled in the persistent header; never duplicate it in the
   footer, including on pages that still carry cached legacy shell markup. */
.studio-footer .footer-sound-toggle {
  display: none !important;
}

/* Neutral focus: visible, quiet and consistent on both themes. */
body :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline-color: rgba(78,73,84,.76) !important;
}

:root[data-theme="dark"] body :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline-color: rgba(213,207,217,.78) !important;
}

/* Editorial heroes use the same display scale as the commercial pages.
   Long Russian titles remain assertive without taking over the entire viewport. */
.material-article-page .material-article h1 {
  font-size: clamp(46px, 5.6vw, 80px);
  line-height: .96;
}

@media (max-width: 620px) {
  .material-article-page .material-article h1 {
    font-size: clamp(38px, 10.5vw, 50px);
  }
}

/* Contact dialog follows the selected theme instead of keeping the light
   marketing panel inside a dark modal. */
:root[data-theme="dark"] .lead-dialog .ui-dialog-copy {
  color: #f4f1f5 !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(182,173,191,.12), transparent 46%),
    linear-gradient(145deg, rgba(43,39,48,.98), rgba(30,27,34,.98)) !important;
}

:root[data-theme="dark"] .lead-dialog .ui-dialog-copy :is(h2, strong),
:root[data-theme="dark"] .lead-dialog .dialog-mode-detail :is(strong, a),
:root[data-theme="dark"] .lead-dialog .lead-optional-fields summary,
:root[data-theme="dark"] .lead-dialog .dialog-lead-form label,
:root[data-theme="dark"] .lead-dialog .checkbox a {
  color: #f4f1f5 !important;
}

:root[data-theme="dark"] .lead-dialog .ui-dialog-copy > p:not(.section-label):not(.kicker),
:root[data-theme="dark"] .lead-dialog .dialog-mode-detail p,
:root[data-theme="dark"] .lead-dialog .dialog-mode-picker button span,
:root[data-theme="dark"] .lead-dialog .form-helper,
:root[data-theme="dark"] .lead-dialog .checkbox {
  color: #aaa3ae !important;
}

:root[data-theme="dark"] .lead-dialog .dialog-mode-picker button,
:root[data-theme="dark"] .lead-dialog .lead-optional-fields,
:root[data-theme="dark"] .lead-dialog .ui-dialog-close {
  border-color: rgba(239,232,241,.15) !important;
  color: #f4f1f5 !important;
  background: rgba(48,44,53,.78) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

:root[data-theme="dark"] .lead-dialog .dialog-mode-picker button[aria-pressed="true"] {
  border-color: rgba(239,232,241,.28) !important;
  color: #fff !important;
  background: linear-gradient(145deg, rgba(91,84,98,.76), rgba(48,44,53,.96)) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.1) !important;
}

:root[data-theme="dark"] .lead-dialog .dialog-mode-picker button[aria-pressed="true"] span {
  color: #d0cad3 !important;
}

/* Stable pearl field across every commercial hero. The first paint and the
   shader-loading state intentionally use the same broad fluted rhythm as the
   homepage. Once WebGPU is ready, the canvas replaces it in one visual step. */
body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at calc(78% + var(--pearl-shift-x, 0px)) calc(18% + var(--pearl-shift-y, 0px)), rgba(205, 199, 214, .24), transparent 31%),
    radial-gradient(circle at calc(17% - var(--pearl-shift-x, 0px)) calc(78% - var(--pearl-shift-y, 0px)), rgba(225, 216, 224, .26), transparent 36%),
    repeating-linear-gradient(119deg,
      #f6f5f7 0 8.5%,
      #d6d2dc 11.7%,
      #fff 16.5%,
      #e7e3ea 22.5%,
      #fff 28.5%,
      #d0ccd6 33.5%,
      #faf9fa 41%) !important;
  background-size: 112% 112%, 116% 116%, 126% 126% !important;
}

body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero::before,
body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero::after,
body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-veil {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  background: none !important;
  animation: none !important;
}

body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-canvas {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  visibility: hidden !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
}

body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero > :not(.pearl-shader-canvas):not(.pearl-shader-veil) {
  position: relative;
  z-index: 1;
}

:root[data-theme="dark"] body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero {
  background:
    radial-gradient(circle at calc(78% + var(--pearl-shift-x, 0px)) calc(17% + var(--pearl-shift-y, 0px)), rgba(191, 179, 206, .16), transparent 27%),
    radial-gradient(circle at calc(17% - var(--pearl-shift-x, 0px)) calc(78% - var(--pearl-shift-y, 0px)), rgba(143, 132, 151, .1), transparent 31%),
    repeating-linear-gradient(119deg,
      #0e0c11 0 9%,
      #29242f 12.5%,
      #121015 17%,
      #201b24 23%,
      #0e0c11 29%,
      #322c38 34%,
      #100e13 41%) !important;
  background-size: 112% 112%, 116% 116%, 126% 126% !important;
}

:root[data-pearl-mode="static"] body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-canvas {
  display: none !important;
}

:root[data-pearl-mode="interactive"] body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero {
  background: #f1eef2 !important;
  background-image: none !important;
}

:root[data-pearl-mode="interactive"] body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-canvas[data-shader-ready] {
  display: block !important;
  visibility: visible !important;
  opacity: .86 !important;
}

:root[data-theme="dark"][data-pearl-mode="interactive"] body:is(.pricing-page, .materials-page, .direction-page) main > .pearl-page-hero {
  background: #151319 !important;
  background-image: none !important;
}

:root[data-theme="dark"][data-pearl-mode="interactive"] body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-canvas[data-shader-ready] {
  opacity: .74 !important;
  filter: brightness(1.08) saturate(.72) contrast(1.34) !important;
  mix-blend-mode: screen !important;
}

/* Direction copy keeps deliberate contrast over the animated field. */
body.direction-page .pearl-page-hero p:not(.kicker) {
  color: #5d5762 !important;
}

body.direction-page .pearl-page-hero .kicker {
  color: #625c67 !important;
}

:root[data-theme="dark"] body.direction-page .pearl-page-hero p:not(.kicker) {
  color: #b8b1bb !important;
}

:root[data-theme="dark"] body.direction-page .pearl-page-hero .kicker {
  color: #aaa2ad !important;
}

/* Result panels used to inherit white-on-dark descendants even after their
   surface became light. Reset the whole text hierarchy per theme. */
body.direction-page .result-panel {
  border-color: rgba(67, 61, 72, .12) !important;
  color: #28242c !important;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: 0 22px 58px rgba(49, 43, 55, .08), inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

body.direction-page .result-panel :is(h2, h3, strong, b, a) {
  color: #28242c !important;
}

body.direction-page .result-panel :is(p, li) {
  color: #625c67 !important;
}

body.direction-page .result-panel .kicker {
  color: #706976 !important;
}

body.direction-page .result-panel .result-list p {
  border-color: rgba(67, 61, 72, .13) !important;
}

:root[data-theme="dark"] body.direction-page .result-panel {
  border-color: rgba(239, 232, 241, .14) !important;
  color: #f4f1f5 !important;
  background: rgba(31, 28, 35, .94) !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .045) !important;
}

:root[data-theme="dark"] body.direction-page .result-panel :is(h2, h3, strong, b, a) {
  color: #f4f1f5 !important;
}

:root[data-theme="dark"] body.direction-page .result-panel :is(p, li) {
  color: #b4adb7 !important;
}

:root[data-theme="dark"] body.direction-page .result-panel .kicker {
  color: #aaa2ad !important;
}

:root[data-theme="dark"] body.direction-page .result-panel .result-list p {
  border-color: rgba(239, 232, 241, .12) !important;
}

/* Contact routes use the same pearl surfaces and form contrast as the main
   conversion dialog, including labels, native selects and placeholders. */
body.direction-page .contact-section .lead-form {
  border: 1px solid rgba(67, 61, 72, .14) !important;
  border-radius: 24px !important;
  color: #2b2730 !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 24px 64px rgba(49, 43, 55, .09), inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

body.direction-page .contact-section .lead-form label,
body.direction-page .contact-section .lead-form .checkbox,
body.direction-page .contact-section .lead-form .form-helper {
  color: #48424d !important;
}

body.direction-page .contact-section .lead-form :is(input, select, textarea) {
  border-color: rgba(67, 61, 72, .16) !important;
  color: #2b2730 !important;
  background: #f5f2f4 !important;
}

body.direction-page .contact-section .lead-form :is(input, textarea)::placeholder {
  color: #88818c !important;
}

:root[data-theme="dark"] body.direction-page .contact-section {
  color: #f4f1f5 !important;
  background: #131117 !important;
}

:root[data-theme="dark"] body.direction-page .contact-section .contact-copy :is(h2, h3, strong, a) {
  color: #f4f1f5 !important;
}

:root[data-theme="dark"] body.direction-page .contact-section .contact-copy p {
  color: #b8b1bb !important;
}

:root[data-theme="dark"] body.direction-page .contact-section .lead-form {
  border-color: rgba(239, 232, 241, .15) !important;
  color: #f4f1f5 !important;
  background: linear-gradient(145deg, rgba(36, 33, 41, .98), rgba(27, 24, 31, .98)) !important;
  box-shadow: 0 26px 68px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .045) !important;
}

:root[data-theme="dark"] body.direction-page .contact-section .lead-form label,
:root[data-theme="dark"] body.direction-page .contact-section .lead-form .checkbox,
:root[data-theme="dark"] body.direction-page .contact-section .lead-form .form-helper,
:root[data-theme="dark"] body.direction-page .contact-section .lead-form .checkbox a {
  color: #ded8e1 !important;
}

:root[data-theme="dark"] body.direction-page .contact-section .lead-form .form-helper {
  border-color: rgba(239, 232, 241, .13) !important;
  color: #c7c0ca !important;
  background: rgba(48, 44, 53, .7) !important;
}

:root[data-theme="dark"] body.direction-page .contact-section .lead-form :is(input, select, textarea) {
  border-color: rgba(239, 232, 241, .16) !important;
  color: #f4f1f5 !important;
  background: #18151c !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
}

:root[data-theme="dark"] body.direction-page .contact-section .lead-form :is(input, textarea)::placeholder {
  color: #aaa2ad !important;
}

:root[data-theme="dark"] body.direction-page .contact-section .lead-form select option {
  color: #f4f1f5;
  background: #211e26;
}

/* Legal documents, form notices and consent-based analytics controls. */
.form-legal-note {
  margin: -8px 0 14px;
  color: var(--pearl-muted, #6f6873);
  font-size: 12px;
  line-height: 1.55;
}

.form-legal-note a,
.footer-legal-button {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.studio-footer .footer-legal-button {
  display: block;
  margin: 8px 0;
  padding: 0;
  border: 0;
  color: #3c3a36;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.legal-summary {
  margin: 0 0 38px;
  padding: 22px 24px;
  border: 1px solid var(--pearl-line);
  border-radius: 22px;
  color: var(--pearl-muted);
  background: rgba(255, 255, 255, .72);
}

.legal-summary strong { color: var(--pearl-ink); }
.policy-page .policy h2:first-child { margin-top: 0; }
.policy-page .policy h3 {
  margin: 28px 0 10px;
  color: var(--pearl-ink);
  font-family: var(--font-body);
  font-size: 20px;
  font-weight: 560;
  line-height: 1.2;
}

.policy-page .policy ul,
.policy-page .policy ol {
  margin: 12px 0 20px;
  padding-left: 22px;
}

.policy-page .policy li + li { margin-top: 8px; }
.policy-page .policy a { color: inherit; }

.legal-table-wrap {
  width: 100%;
  margin: 20px 0 30px;
  overflow-x: auto;
  border: 1px solid var(--pearl-line);
  border-radius: 20px;
  background: rgba(255, 255, 255, .68);
}

.legal-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.legal-table th,
.legal-table td {
  padding: 16px 18px;
  border-bottom: 1px solid var(--pearl-line);
  color: var(--pearl-muted);
  font-size: 14px;
  line-height: 1.55;
  text-align: left;
  vertical-align: top;
}

.legal-table th {
  color: var(--pearl-ink);
  font-weight: 620;
  background: rgba(241, 238, 243, .72);
}

.legal-table tr:last-child td { border-bottom: 0; }

.cookie-consent {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1500;
  display: grid;
  width: min(720px, calc(100% - 44px));
  padding: 20px;
  border: 1px solid rgba(67, 57, 73, .16);
  border-radius: 26px;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  color: var(--pearl-ink);
  background: rgba(250, 248, 251, .96);
  box-shadow: 0 28px 80px rgba(35, 29, 40, .2), inset 0 1px 0 rgba(255, 255, 255, .92);
  backdrop-filter: blur(18px);
}

.cookie-consent[hidden] { display: none !important; }
.cookie-consent h2,
.cookie-settings-dialog h2 {
  margin: 0 0 8px;
  color: inherit;
  font-family: var(--font-body);
  font-size: 22px;
  font-weight: 620;
  line-height: 1.1;
  letter-spacing: -.025em;
}

.cookie-consent p,
.cookie-settings-dialog p {
  margin: 0;
  color: var(--pearl-muted);
  font-size: 13px;
  line-height: 1.55;
}

.cookie-consent a,
.cookie-settings-dialog a {
  display: inline-block;
  margin-top: 8px;
  color: inherit;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-consent-actions,
.cookie-settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cookie-consent-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cookie-consent .button,
.cookie-settings-dialog .button {
  min-height: 44px;
  padding: 10px 16px;
  white-space: nowrap;
}

.cookie-consent .button { width: 100%; }

.cookie-settings-dialog {
  width: min(680px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(67, 57, 73, .16);
  border-radius: 28px;
  color: var(--pearl-ink);
  background: rgba(250, 248, 251, .98);
  box-shadow: 0 32px 100px rgba(25, 20, 30, .32);
}

.cookie-settings-dialog::backdrop {
  background: rgba(18, 15, 22, .5);
  backdrop-filter: blur(8px);
}

.cookie-settings-panel { position: relative; padding: 30px; }
.cookie-settings-close { position: absolute; top: 18px; right: 18px; }
.cookie-setting-row {
  display: grid;
  margin-top: 18px;
  padding: 18px 0;
  border-top: 1px solid var(--pearl-line);
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
}

.cookie-setting-row strong { display: block; margin-bottom: 5px; }
.cookie-setting-row > span {
  align-self: start;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--pearl-muted);
  background: rgba(228, 223, 231, .72);
  font-size: 11px;
  font-weight: 650;
}

.cookie-settings-actions { margin-top: 22px; }
.cookie-settings-note { margin-top: 18px !important; }

:root[data-theme="dark"] .studio-footer .footer-legal-button { color: var(--pearl-ink); }
:root[data-theme="dark"] :is(.legal-summary, .legal-table-wrap, .cookie-consent, .cookie-settings-dialog) {
  border-color: rgba(239, 232, 241, .14);
  color: var(--pearl-ink);
  background: rgba(31, 28, 36, .96);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .04);
}

:root[data-theme="dark"] .legal-table th { background: rgba(52, 47, 58, .78); }
:root[data-theme="dark"] .cookie-setting-row > span { background: rgba(255, 255, 255, .07); }

@media (max-width: 720px) {
  .cookie-consent {
    right: 12px;
    bottom: 12px;
    width: calc(100% - 24px);
    padding: 16px;
    border-radius: 22px;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .cookie-consent h2 { margin-bottom: 6px; font-size: 20px; }
  .cookie-consent p { font-size: 12.5px; line-height: 1.45; }
  .cookie-consent a { margin-top: 6px; }
  .cookie-settings-actions { display: grid; grid-template-columns: 1fr; }
  .cookie-consent-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cookie-consent .button,
  .cookie-settings-dialog .button { width: 100%; }
  .cookie-consent .button {
    min-height: 48px;
    padding-inline: 10px;
    font-size: 12px;
    line-height: 1.25;
    white-space: normal;
  }
  .cookie-setting-row { grid-template-columns: 1fr; gap: 10px; }
  .cookie-setting-row > span { justify-self: start; }
  .cookie-settings-panel { padding: 26px 20px 22px; }
}

:root[data-theme="dark"] body.direction-page .contact-section .telegram-card {
  border-color: rgba(239, 232, 241, .13) !important;
  color: #f4f1f5 !important;
  background: rgba(38, 34, 43, .94) !important;
}

:root[data-theme="dark"] body.direction-page .contact-section .lead-form .button-submit {
  border-color: rgba(239, 232, 241, .19) !important;
  color: #fff !important;
  background:
    linear-gradient(145deg, rgba(92, 86, 98, .96), rgba(35, 32, 40, .98)),
    linear-gradient(108deg, #8e8794, #d8d3da, #6e6875, #eeebef) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .15) !important;
}

/* In dark mode the primary action stays graphite rather than turning into a
   detached white tile. The spectrum remains in the animated edge. */
:root[data-theme="dark"] body .wave-cta,
:root[data-theme="dark"] body .button-primary {
  color: #fff !important;
  background: linear-gradient(145deg, #4d4853, #242129) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .14) !important;
}

/* Direction hero actions share the same graphite treatment in dark mode.
   These routes use .button-dark for their primary CTA. */
:root[data-theme="dark"] body.direction-page .pearl-page-hero .button-dark {
  border-color: rgba(239, 232, 241, .2) !important;
  color: #fff !important;
  background: linear-gradient(145deg, #4d4853, #242129) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .14) !important;
}

:root[data-theme="dark"] body.direction-page .pearl-page-hero .button-dark :is(span, svg) {
  color: inherit !important;
  stroke: currentColor !important;
}

@media (prefers-reduced-motion: reduce) {
  body:is(.pricing-page, .materials-page, .direction-page) .pearl-page-hero .pearl-shader-canvas {
    display: none !important;
  }
}

/* Dark-theme parity for the animated header CTA.
   Keep the outer layer transparent so the live spectrum ring is not hidden by
   the graphite fill; the fill belongs to the inset surface. */
:root[data-theme="dark"] body .studio-header .wave-cta {
  background: transparent !important;
  box-shadow: 0 0 0 rgba(0, 183, 255, 0) !important;
}

:root[data-theme="dark"] body .studio-header .wave-cta:is(:hover, :focus-visible, .is-wave-active) {
  transform: none !important;
  box-shadow:
    -4px 2px 14px rgba(42, 119, 255, .16),
    5px 2px 14px rgba(25, 199, 112, .14) !important;
}

/* Refined heading rhythm for the public catalogue and direction pages. */
.materials-page .materials-cluster-head h2 {
  font-weight: 470;
}

.materials-page .material-card h3,
.direction-page main h3 {
  font-weight: 560;
  letter-spacing: -.025em;
}

.materials-page .materials-topic-link strong,
.materials-page .studio-service-showcase strong,
.direction-page .studio-service-showcase strong {
  font-weight: 580;
}

.materials-page .material-card > p:first-child {
  font-weight: 620;
}

.direction-page .direction-budget-card > strong,
.direction-page .contact-copy h2 {
  font-weight: 560;
}

/* Telegram enquiry: compact glass surface, separate from the hero renderer. */
.telegram-brand-icon { display: inline-block; flex: 0 0 auto; vertical-align: middle; }
.button-dark .telegram-brand-icon { filter: invert(1); }
:root[data-theme="dark"] .telegram-brand-icon { filter: invert(1); }
#lead-dialog {
  width: min(1120px, calc(100vw - 40px));
  max-width: none;
  max-height: calc(100dvh - 40px);
  padding: 0;
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 28px;
  background: rgba(245,245,249,.82);
  -webkit-backdrop-filter: blur(24px) saturate(115%);
  backdrop-filter: blur(24px) saturate(115%);
  box-shadow: 0 32px 100px rgba(15,15,25,.24);
  color: var(--text-primary);
}
#lead-dialog::backdrop { background: rgba(19,19,25,.38); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); }
#lead-dialog .ui-dialog-panel { padding: 0; border: 0; border-radius: inherit; background: transparent; box-shadow: none; }
#lead-dialog .ui-dialog-grid { display: grid; grid-template-columns: .8fr 1.5fr; gap: 0; }
#lead-dialog .ui-dialog-copy { padding: 42px 32px; background: rgba(226,228,237,.34); border-right: 1px solid rgba(120,120,140,.16); }
#lead-dialog .ui-dialog-copy h2 { font-family: var(--font-body, 'Onest', sans-serif); font-size: clamp(30px,3vw,42px); font-weight: 450; line-height: 1.08; letter-spacing: -.045em; margin: 20px 0 18px; }
#lead-dialog .ui-dialog-copy > p:not(.section-label) { font-size: 14px; line-height: 1.6; }
#lead-dialog .dialog-mode-picker { gap: 8px; margin-top: 24px; }
#lead-dialog .dialog-mode-picker button { padding: 14px 12px; min-height: 86px; background: rgba(255,255,255,.38); border-color: rgba(100,100,120,.18); box-shadow: none; }
#lead-dialog .dialog-mode-picker button strong { font-size: 13px; font-weight: 550; line-height: 1.4; }
#lead-dialog .dialog-mode-picker button[aria-pressed="true"] { color: var(--text-primary); background: rgba(255,255,255,.8); border-color: rgba(110,104,150,.45); box-shadow: 0 4px 16px rgba(40,40,60,.06); }
#lead-dialog .dialog-lead-form { padding: 40px 32px 24px; background: transparent; display: flex; flex-direction: column; gap: 10px; }
#lead-dialog .telegram-intro-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
#lead-dialog .dialog-lead-form label { font-size: 12px; font-weight: 550; gap: 6px; margin: 0; }
#lead-dialog .dialog-lead-form :is(input:not([type="checkbox"]),select,textarea) { background: rgba(255,255,255,.65); border: 1px solid rgba(110,110,130,.2); border-radius: 12px; font-size: 14px; font-weight: 400; padding: 12px 14px; }
#lead-dialog .dialog-lead-form :is(input:not([type="checkbox"]),select) { min-height: 46px; }
#lead-dialog .dialog-lead-form textarea[name="task"] { min-height: 94px; }
#lead-dialog .form-helper { margin: 0; font-size: 11px; line-height: 1.5; }
#lead-dialog .dialog-lead-form > .form-helper { display: none; }
#lead-dialog .lead-optional-fields { margin: 0; background: rgba(255,255,255,.22); border-color: rgba(110,110,130,.18); }
#lead-dialog .lead-optional-fields summary { min-height: 44px; padding: 11px 14px; font-weight: 500; }
#lead-dialog .lead-optional-fields > div { gap: 10px; }
#lead-dialog .lead-optional-fields:not(.telegram-draft) > div { grid-template-columns: 1fr 1fr; }
#lead-dialog .telegram-contact-details > div { display: block; }
#lead-dialog .contact-choice { margin: 0; }
#lead-dialog .field-optional { display: inline; font-size: 10px; }
#lead-dialog .checkbox { margin: 0; font-size: 11px; line-height: 1.5; font-weight: 400; }
#lead-dialog .form-legal-note { margin: 0; font-size: 10px; line-height: 1.5; }
#lead-dialog .button-submit { min-height: 48px; gap: 10px; margin: 2px 0 0; font-size: 14px; box-shadow: 0 8px 22px rgba(15,15,25,.16); }
#lead-dialog .button-submit .telegram-brand-icon { filter: invert(1); }
#lead-dialog .form-status:empty { display: none; }
#lead-dialog .ui-dialog-close { top: 12px; right: 12px; width: 36px; height: 36px; background: rgba(255,255,255,.65); }
:root[data-theme="dark"] #lead-dialog { background: rgba(24,24,30,.88); border-color: rgba(255,255,255,.18); }
:root[data-theme="dark"] #lead-dialog .ui-dialog-copy { background: rgba(255,255,255,.025); border-color: rgba(255,255,255,.12); }
:root[data-theme="dark"] #lead-dialog :is(.dialog-mode-picker button,.lead-optional-fields,.ui-dialog-close) { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.17); }
:root[data-theme="dark"] #lead-dialog .dialog-mode-picker button[aria-pressed="true"] { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4); }
:root[data-theme="dark"] #lead-dialog .dialog-lead-form :is(input:not([type="checkbox"]),select,textarea) { background: rgba(14,14,20,.5); color: var(--text-primary); border-color: rgba(255,255,255,.18); color-scheme: dark; }
@media (max-width: 760px) {
  #lead-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); border-radius: 22px; }
  #lead-dialog .ui-dialog-grid { grid-template-columns: 1fr; }
  #lead-dialog .ui-dialog-copy { padding: 20px 20px 16px; border-right: 0; border-bottom: 1px solid rgba(120,120,140,.16); }
  #lead-dialog .ui-dialog-copy .section-label { font-size: 9px; }
  #lead-dialog .ui-dialog-copy h2 { font-size: 28px; margin: 10px 0; padding-right: 20px; }
  #lead-dialog .ui-dialog-copy > p:not(.section-label) { font-size: 12px; line-height: 1.5; }
  #lead-dialog .dialog-mode-picker { margin-top: 12px; }
  #lead-dialog .dialog-mode-picker button { min-height: 58px; padding: 9px 10px; }
  #lead-dialog .dialog-mode-picker button span { display: none; }
  #lead-dialog .dialog-lead-form { padding: 16px 20px 20px; gap: 8px; }
  #lead-dialog .telegram-intro-row { grid-template-columns: 1fr; gap: 8px; }
  #lead-dialog .dialog-lead-form :is(input:not([type="checkbox"]),select) { min-height: 44px; padding: 10px 12px; font-size: 16px; }
  #lead-dialog .dialog-lead-form textarea { font-size: 16px; }
  #lead-dialog .lead-optional-fields:not(.telegram-draft) > div { grid-template-columns: 1fr; }
}
/* Unified Studio system — neutral paper, graphite and consistent shared surfaces. */
body.studio-unified {
 --suite-ink:#242424; --suite-muted:#696969; --suite-paper:#f7f7f7; --suite-panel:#ffffff;
 --suite-line:#e1e1e1; --suite-accent:#606060; --suite-soft:#eeeeee; --suite-inverse:#212121;
 --text-primary:var(--suite-ink); --text-secondary:var(--suite-muted); --surface-page:var(--suite-paper);
 --surface-card:var(--suite-panel); --surface-card-muted:#efefef; --surface-page-alt:#efefef;
 --font-body:"Onest Local",Arial,sans-serif; --font-display:"Onest Local",Arial,sans-serif;
 font-family:"Onest Local",Arial,sans-serif; color:var(--suite-ink); background:var(--suite-paper)!important;
}
:root[data-theme="dark"] body.studio-unified {
 --suite-ink:#efefef; --suite-muted:#b6b6b6; --suite-paper:#191919; --suite-panel:#272727;
 --suite-line:#464646; --suite-soft:#363636; --suite-accent:#afafaf; --suite-inverse:#151515;
 --surface-card-muted:#292929; --surface-page-alt:#202020;
}
body.studio-unified:not(.home-page) { padding-top:112px!important; }
body.studio-unified main { background:transparent!important; }
body.studio-unified main :is(h1,h2,h3,h4) { font-family:"Onest Local",Arial,sans-serif!important; text-wrap:balance; }
body.studio-unified main :is(h1,h2,h3,p,strong) { background-image:none!important; }
body.studio-unified main :is(section[id],header[id],article[id]) { scroll-margin-top:125px!important; }
body.studio-unified .site-header.studio-header { position:fixed!important; inset:16px 0 auto!important; padding:0!important; background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; }
body.studio-unified .site-header.studio-header .header-inner { width:min(1320px,calc(100% - 48px))!important; min-height:76px!important; padding:10px 22px!important; margin:auto!important; background:#212121!important; color:#f6f6f6!important; border:1px solid #505050!important; border-radius:24px!important; box-shadow:0 12px 32px #21212112!important; }
body.studio-unified .site-header.studio-header :is(.brand-text strong,.brand-text span,.header-nav>a,.header-nav-trigger) { color:#f6f6f6!important; }
body.studio-unified .site-header.studio-header .brand { gap:11px; }
body.studio-unified .site-header.studio-header .brand-text { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
body.studio-unified .site-header.studio-header .brand-text strong { font-size:13px!important; font-weight:550!important; letter-spacing:.12em!important; line-height:1!important; }
body.studio-unified .site-header.studio-header .brand-text>span { font-size:8px!important; font-weight:450!important; letter-spacing:.32em!important; line-height:1!important; }
body.studio-unified .site-header.studio-header .brand-mark-geometric { width:32px; height:32px; border-radius:0!important; clip-path:none!important; filter:invert(1)!important; }
body.studio-unified .site-header.studio-header .header-nav { gap:13px; }
body.studio-unified .site-header.studio-header .header-nav>a,body.studio-unified .site-header.studio-header .header-nav-trigger { font-size:12px; }
body.studio-unified .site-header.studio-header .header-nav :is(a,button)[aria-current="page"] { background:#444444!important; color:#ffffff!important; border-color:#5d5d5d!important; box-shadow:none!important; }
body.studio-unified .site-header.studio-header .header-product-link { display:inline-flex; min-width:40px; padding:8px; background:transparent; border:0; color:#ffffff; }
body.studio-unified .site-header.studio-header .header-product-link svg { display:none; }
body.studio-unified .site-header.studio-header .header-product-link span { display:inline!important; font-size:11px; font-weight:450; }
body.studio-unified .site-header.studio-header .header-product-link img { display:none; }
body.studio-unified .site-header.studio-header .header-sound-toggle { display:none!important; }
@media(min-width:1100px) {
 body.studio-unified .site-header.studio-header .header-sound-toggle { display:inline-flex!important; width:36px; min-width:36px; min-height:40px; padding:8px; background:transparent!important; color:#ffffff!important; border:0; }
 body.studio-unified .site-header.studio-header .header-sound-toggle span { display:none; }
}
@media(max-width:760px) { body.studio-unified .site-header.studio-header .header-product-link { display:none!important; } }
body.studio-unified .site-header.studio-header .wave-cta { background:#e9e9e9!important; color:#303030!important; border:1px solid #e9e9e9!important; border-radius:999px!important; box-shadow:none!important; }
body.studio-unified .site-header.studio-header .wave-cta-frame { display:none!important; }
body.studio-unified .site-header.studio-header .wave-cta-label { color:#303030!important; font-size:12px!important; }
body.studio-unified .site-header.studio-header .menu-toggle { background:#ededed!important; border-color:#ededed!important; }
body.studio-unified .site-header.studio-header .menu-toggle span { background:#212121!important; }
body.studio-unified :is(.ui-mega-menu,.mobile-menu) { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border-color:var(--suite-line)!important; box-shadow:0 20px 60px #21212124; }
body.studio-unified :is(.button,.icon-button) { font-family:"Onest Local",Arial,sans-serif!important; border-radius:999px!important; box-shadow:none!important; }
body.studio-unified .button-dark { background:#414141!important; color:#ffffff!important; border-color:#414141!important; }
body.studio-unified .button-light { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border-color:var(--suite-line)!important; }
body.studio-unified .pricing-hero .button-inverse { background:#414141!important; color:#ffffff!important; border-color:#414141!important; }
body.studio-unified .pricing-hero .button-ghost-inverse { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border-color:var(--suite-line)!important; }
body.studio-unified :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--suite-accent)!important; outline-offset:4px; }
body.studio-unified:not(.home-page) :is(.page-hero,.pricing-hero,.material-article-hero) { background:#efefef!important; background-image:none!important; color:var(--suite-ink)!important; border-radius:0 0 36px 36px; box-shadow:none!important; padding-block:64px!important; }
body.studio-unified:not(.home-page) :is(.page-hero,.pricing-hero) h1 { font-size:clamp(38px,4.3vw,64px)!important; line-height:1.08!important; letter-spacing:-.05em!important; font-weight:470!important; max-width:900px; color:var(--suite-ink)!important; }
body.studio-unified:not(.home-page) :is(.page-hero,.pricing-hero,.material-article-hero) p { color:var(--suite-muted)!important; }
body.studio-unified :is(.pearl-shader-canvas,.pearl-shader-veil,.pearl-hero-fallback) { display:none!important; }
body.studio-unified .pearl-page-hero::before,body.studio-unified .pearl-page-hero::after { display:none!important; }
body.studio-unified .section { padding-block:72px; background:transparent!important; }
body.studio-unified .section-muted { background:#efefef!important; }
body.studio-unified :is(.section-head h2,.materials-cluster-head h2,.result-panel h2) { font-size:clamp(30px,3.1vw,44px)!important; line-height:1.13!important; font-weight:470!important; letter-spacing:-.04em!important; color:var(--suite-ink)!important; }
body.studio-unified :is(.kicker,.section-label,.materials-card-category) { color:#5a5a5a!important; font-size:10px; letter-spacing:.12em; }
body.studio-unified :is(.price-card,.direction-card,.material-card,.pricing-category,.pricing-capability-card,.studio-service-showcase,.result-list,.materials-filter-bar,.material-price-list>article) { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border:1px solid var(--suite-line)!important; border-radius:24px!important; box-shadow:none!important; background-image:none!important; }
body.studio-unified :is(.price-card,.direction-card,.material-card) { padding:28px!important; }
body.studio-unified :is(.price-card,.direction-card,.material-card) :is(h3,strong) { background:transparent!important; color:var(--suite-ink)!important; }
body.studio-unified :is(.price-card,.direction-card,.material-card) p { color:var(--suite-muted)!important; }
body.studio-unified .price-card-featured,body.studio-unified .material-card-featured { border-color:#ababab!important; background:var(--suite-soft)!important; }
body.studio-unified .direction-card-dark { background:var(--suite-soft)!important; }
body.studio-unified .result-panel { gap:48px; }
body.studio-unified .result-list { padding:28px; }
body.studio-unified :is(.direction-process article,.pricing-factors li,.pricing-payment-card,.pricing-level-guide li) { background:var(--suite-panel)!important; border:1px solid var(--suite-line)!important; border-radius:22px!important; padding:25px!important; color:var(--suite-ink)!important; }
body.studio-unified .studio-service-showcase { padding:24px; }
body.studio-unified .studio-service-showcase>div { border-color:var(--suite-line)!important; }
body.studio-unified .faq-list details { background:var(--suite-panel)!important; border:1px solid var(--suite-line)!important; border-radius:18px!important; padding:20px!important; box-shadow:none!important; }
body.studio-unified .faq-list summary { color:var(--suite-ink)!important; }
body.studio-unified :is(.direction-cta,.pricing-cta) { background:#212121!important; color:#f6f6f6!important; border-radius:32px; margin:12px; }
body.studio-unified :is(.direction-cta,.pricing-cta) :is(h2,p) { color:inherit!important; }
body.studio-unified .material-article-hero h1 { font-size:clamp(34px,4vw,58px)!important; line-height:1.1!important; color:var(--suite-ink)!important; }
body.studio-unified .material-article-body { font-size:17px; line-height:1.8; }
body.studio-unified .material-article-body :is(h2,h3) { color:var(--suite-ink)!important; letter-spacing:-.035em; }
body.studio-unified .material-article-toc { background:var(--suite-panel)!important; border:1px solid var(--suite-line)!important; border-radius:24px!important; }
body.studio-unified .material-article-body table { background:var(--suite-panel); border-color:var(--suite-line); }
body.studio-unified .material-content { font-size:17px; line-height:1.8; color:var(--suite-ink); }
body.studio-unified .material-content h2 { font-size:clamp(27px,2.6vw,38px)!important; line-height:1.2!important; letter-spacing:-.035em; }
body.studio-unified .material-toc { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border:1px solid var(--suite-line)!important; border-radius:22px!important; padding:22px!important; }
body.studio-unified.deliverable-page :is(.deliverable-header,.deliverable-footer) { background:#212121!important; color:#f6f6f6!important; }
body.studio-unified.deliverable-page .deliverable-header :is(a,span,strong),body.studio-unified.deliverable-page .deliverable-footer :is(a,span,strong) { color:inherit!important; }
body.studio-unified.deliverable-page :is(.deliverable-header,.deliverable-footer) .brand-mark { filter:invert(1); }
body.studio-unified.deliverable-page .deliverable-hero { background:var(--suite-soft)!important; color:var(--suite-ink)!important; }
body.studio-unified.deliverable-page .process-grid>article { background:var(--suite-panel)!important; border-color:var(--suite-line)!important; }
body.studio-unified .studio-footer { background:#ececec!important; color:#323232!important; border-radius:36px 36px 0 0!important; padding-top:60px; }
body.studio-unified .studio-trust { display:none; }
body.studio-unified .studio-footer :is(a,p,span,strong,small,h3) { color:inherit!important; }
body.studio-unified .studio-footer-signature { display:flex; justify-content:space-between; align-items:baseline; gap:18px; margin-top:65px; padding-bottom:35px; font:500 clamp(42px,12vw,170px)/1 "Onest Local",Arial,sans-serif; letter-spacing:-.07em; }
body.studio-unified .studio-footer-signature>span { font-size:11px; letter-spacing:.12em; }
:root[data-theme="dark"] body.studio-unified:not(.home-page) :is(.page-hero,.pricing-hero,.material-article-hero) { background:#2a2a2a!important; }
:root[data-theme="dark"] body.studio-unified .section-muted { background:#202020!important; }
:root[data-theme="dark"] body.studio-unified :is(.kicker,.section-label) { color:#c6c6c6!important; }
:root[data-theme="dark"] body.studio-unified .studio-footer { background:#212121!important; color:#e5e5e5!important; }
:root[data-theme="dark"] body.studio-unified .brand-footer img { filter:invert(1); }
@media(max-width:1000px) { body.studio-unified .site-header.studio-header .header-inner { width:calc(100% - 32px)!important; padding:8px 14px!important; min-height:68px!important; border-radius:22px!important; } }
@media(max-width:600px) {
 body.studio-unified .site-header.studio-header { top:10px!important; }
 body.studio-unified .site-header.studio-header .header-inner { width:calc(100% - 20px)!important; min-height:64px!important; }
 body.studio-unified:not(.home-page) { padding-top:88px!important; }
 body.studio-unified .section { padding-block:45px; }
 body.studio-unified:not(.home-page) :is(.page-hero,.pricing-hero,.material-article-hero) { padding-block:40px!important; }
 body.studio-unified :is(.price-card,.direction-card,.material-card) { padding:23px!important; border-radius:22px!important; }
 body.studio-unified .result-panel { gap:25px; }
 body.studio-unified .studio-footer-signature { margin-top:40px; }
}
/* Contact dialogs share the same solid surfaces; existing PHP contracts unchanged. */
body.studio-unified #lead-dialog { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border:1px solid var(--suite-line)!important; border-radius:28px!important; backdrop-filter:none!important; box-shadow:0 24px 100px #1f1f1f40!important; }
body.studio-unified #lead-dialog .ui-dialog-copy { background:var(--suite-soft)!important; border-color:var(--suite-line)!important; }
body.studio-unified #lead-dialog .ui-dialog-copy h2 { font-family:"Onest Local",Arial,sans-serif!important; color:var(--suite-ink)!important; }
body.studio-unified #lead-dialog :is(label,.form-helper,.checkbox,.form-legal-note) { color:var(--suite-muted)!important; }
body.studio-unified #lead-dialog :is(input:not([type="checkbox"]),textarea,select) { background:var(--suite-paper)!important; color:var(--suite-ink)!important; border-color:var(--suite-line)!important; border-radius:14px!important; font-family:"Onest Local",Arial,sans-serif; }
body.studio-unified #lead-dialog .dialog-mode-picker button { border-color:var(--suite-line)!important; background:var(--suite-panel)!important; color:var(--suite-ink)!important; }
body.studio-unified #lead-dialog .dialog-mode-picker button[aria-pressed="true"] { background:var(--suite-soft)!important; border-color:#ababab!important; }
body.studio-unified :is(.materials-filter,.materials-topic-link,.pricing-map,.pricing-quick-nav) { border-color:var(--suite-line)!important; background:var(--suite-panel)!important; color:var(--suite-ink)!important; border-radius:22px!important; box-shadow:none!important; }
body.studio-unified .materials-filter button { border-radius:999px!important; border-color:var(--suite-line)!important; color:var(--suite-ink)!important; background:transparent!important; }
body.studio-unified .materials-filter button[aria-pressed="true"] { background:var(--suite-soft)!important; border-color:#ababab!important; color:var(--suite-ink)!important; }
body.studio-unified .material-content :is(th,td) { border-color:var(--suite-line)!important; }
body.studio-unified .pricing-map :is(dt,dd,strong) { color:var(--suite-ink)!important; }
body.studio-unified .pricing-map p { color:var(--suite-muted)!important; }
body.studio-unified .pricing-map { backdrop-filter:none!important; }
body.studio-unified #lead-dialog .lead-optional-fields { background:var(--suite-paper)!important; border-color:var(--suite-line)!important; }
/* Real proof figures belong to the shared system, not the homepage sheet. */
body.studio-unified .suite-visual { margin:0; min-width:0; padding:12px; border:1px solid var(--suite-line); border-radius:26px; background:var(--suite-panel); box-shadow:0 18px 60px #21212112; align-self:center; }
body.studio-unified .suite-visual a { display:block; }
body.studio-unified .suite-visual img { display:block; width:100%; height:auto!important; object-fit:contain; border-radius:16px; }
body.studio-unified .suite-visual figcaption { padding:16px 10px 8px; font-size:10px; line-height:1.5; letter-spacing:.08em; color:var(--suite-muted); }
body.studio-unified .material-toc a { color:var(--suite-muted)!important; }
body.studio-unified .material-toc a:hover { color:var(--suite-ink)!important; }
body.studio-unified .studio-service-showcase>div:first-child { background:var(--suite-soft)!important; }
body.studio-unified .studio-service-showcase :is(strong,span) { color:var(--suite-ink)!important; }
body.studio-unified .studio-service-showcase small { color:var(--suite-muted)!important; }
/* Same content rhythm on service, article, legal and solution routes. */
body.studio-unified { --pearl-ink:var(--suite-ink); --pearl-muted:var(--suite-muted); --pearl-line:var(--suite-line); }
:root[data-theme] body.studio-unified main :is(.price-card,.direction-card,.material-card,.pricing-category,.pricing-capability-card,.result-list) { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border-color:var(--suite-line)!important; box-shadow:none!important; }
:root[data-theme] body.studio-unified main .direction-card-dark { background:var(--suite-soft)!important; }
:root[data-theme] body.studio-unified.pricing-page :is(.pricing-card,.pricing-diagnostic-panel,.pricing-definition-grid,.pricing-layer-grid>article,.pricing-layer-note,.pricing-cta-panel,.pricing-payment) { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border-color:var(--suite-line)!important; box-shadow:none!important; }
:root[data-theme] body.studio-unified.pricing-page .pricing-map { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border-color:var(--suite-line)!important; box-shadow:none!important; }
:root[data-theme] body.studio-unified.pricing-page .pricing-map :is(dt,dd,p,strong,span) { color:var(--suite-ink)!important; border-color:var(--suite-line)!important; background:transparent!important; }
:root[data-theme] body.studio-unified :is(main,.page-hero,.pricing-hero) :is(.button-dark,.button-inverse,.button-submit) { background:#242424!important; border-color:#242424!important; color:#fff!important; box-shadow:none!important; }
:root[data-theme="dark"] body.studio-unified :is(main,.page-hero,.pricing-hero) :is(.button-dark,.button-inverse,.button-submit) { background:#eee!important; border-color:#eee!important; color:#242424!important; }
:root[data-theme] body.studio-unified :is(main,.page-hero,.pricing-hero) :is(.button-light,.button-ghost-inverse,.button-ghost) { background:var(--suite-panel)!important; border-color:var(--suite-line)!important; color:var(--suite-ink)!important; box-shadow:none!important; }
:root[data-theme] body.studio-unified :is(.capability-sequence,.capability-card,.capability-card-dark,.solution-hero-visual,.solution-demo-frame,.solution-signal-grid,.solution-before-after,.solution-decision-grid,.solution-ai-choice,.solution-split-grid,.solution-boundary-table,.pricing-card,.pricing-diagnostic-panel,.pricing-definition-grid,.pricing-layer-grid>article,.pricing-layer-note,.pricing-cta-panel,.pricing-payment) { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border-color:var(--suite-line)!important; border-radius:24px; box-shadow:none!important; }
:root[data-theme] body.studio-unified :is(.capability-card,.capability-card-dark,.solution-hero-visual,.solution-demo-frame,.pricing-card) :is(h2,h3,strong,dd,dt,p,small,span) { color:var(--suite-ink)!important; }
:root[data-theme] body.studio-unified .studio-service-showcase>div:first-child { background:var(--suite-soft)!important; }
:root[data-theme] body.studio-unified .studio-service-showcase { background:var(--suite-panel)!important; border-color:var(--suite-line)!important; box-shadow:none!important; }
:root[data-theme] body.studio-unified .studio-service-showcase :is(strong,span) { color:var(--suite-ink)!important; }
:root[data-theme] body.studio-unified .studio-service-showcase small { color:var(--suite-muted)!important; }
:root[data-theme] body.studio-unified main :is(.price-card,.direction-card,.material-card) :is(h3,strong,p,span,small) { color:var(--suite-ink)!important; background:transparent!important; }
body.studio-unified:not(.home-page) :is(.page-hero,.pricing-hero,.material-article-hero) { min-height:0!important; margin-top:0!important; }
body.studio-unified .pearl-page-hero .hero-grid { align-items:center; gap:60px; }
body.studio-unified :is(.brand-footer,.deliverable-header,.deliverable-footer) .brand-mark-geometric { border-radius:0!important; clip-path:none!important; object-fit:contain; }
body.studio-unified .site-header.studio-header .brand-mark-geometric { flex:0 0 32px!important; aspect-ratio:1; object-fit:contain; }
body.studio-unified .brand-footer .brand-text { display:flex; flex-direction:column; gap:5px; }
body.studio-unified .brand-footer .brand-text strong { font-size:14px; letter-spacing:.12em; font-weight:550; }
body.studio-unified .brand-footer .brand-text>span { font-size:8px; letter-spacing:.32em; }
body.studio-unified .studio-contact { margin:20px 12px 0; background:#212121!important; color:#f5f5f5!important; border-radius:32px; }
body.studio-unified .studio-contact-inner { display:grid; grid-template-columns:1.4fr 1fr; gap:70px; align-items:center; }
body.studio-unified .studio-contact h2 { color:inherit!important; font-size:clamp(32px,4vw,55px)!important; line-height:1.1; letter-spacing:-.045em; }
body.studio-unified .studio-contact p { color:#bfbfbf!important; max-width:570px; }
body.studio-unified .studio-contact-actions { display:flex; flex-direction:column; gap:22px; align-items:flex-start; }
body.studio-unified .studio-contact-actions>a:not(.button) { color:#eee; border-bottom:1px solid #666; padding-block:10px; }
body.studio-unified .studio-contact .button-light { background:#f5f5f5!important; color:#242424!important; }
body.studio-unified :is(.legal-content,.text-page,.policy-content) { color:var(--suite-ink); }
@media(max-width:760px) { body.studio-unified .studio-contact-inner { grid-template-columns:1fr; gap:25px; } body.studio-unified .studio-contact { margin-inline:8px; border-radius:24px; } }
@media(max-width:1099px) { body.studio-unified .site-header.studio-header .header-product-link { display:none!important; } }
/* Shared navigation and hover states. Preserve all existing overlay handlers. */
:root[data-theme] body.studio-unified .site-header.studio-header .header-inner { min-height:72px!important; padding:9px 18px!important; border-radius:999px!important; background:#181818!important; border-color:#ffffff24!important; box-shadow:0 8px 24px #00000010!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .header-nav { gap:8px; }
:root[data-theme] body.studio-unified .site-header.studio-header .header-nav>:is(a,button) { padding:11px 12px!important; font-size:12px!important; font-weight:450!important; border:0!important; border-radius:999px!important; background:transparent!important; box-shadow:none!important; color:#d4d4d4!important; transition:background .18s,color .18s; }
:root[data-theme] body.studio-unified .site-header.studio-header .header-nav>:is(a,button):is(:hover,:focus-visible,[aria-current="page"],[aria-expanded="true"]) { background:#ffffff13!important; color:#fff!important; }
:root[data-theme] body.studio-unified .site-header.studio-header :is(.header-product-link,.header-sound-toggle,.header-theme-toggle) { background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; padding:0!important; min-width:0!important; }
:root[data-theme] body.studio-unified .site-header.studio-header :is(.header-product-link,.header-sound-toggle,.header-theme-toggle)::before,:root[data-theme] body.studio-unified .site-header.studio-header :is(.header-product-link,.header-sound-toggle,.header-theme-toggle)::after { content:none!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .header-product-link { padding:10px 6px!important; width:auto!important; height:auto!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .header-product-link span { font-size:11px!important; text-transform:none!important; letter-spacing:0!important; color:#bbb!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .header-sound-toggle { width:34px!important; height:44px!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta { min-height:48px!important; padding:14px 19px!important; border:0!important; background:#f4f4f4!important; box-shadow:none!important; transition:background .2s!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta:hover { background:#d9d9d9!important; transform:none!important; box-shadow:none!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta-label { font-weight:500!important; gap:14px!important; font-size:12px!important; color:#171717!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .studio-theme-track { width:38px!important; height:38px!important; display:grid!important; place-items:center; border:1px solid #ffffff30!important; background:none!important; box-shadow:none!important; border-radius:50%!important; padding:0!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .studio-theme-thumb { display:none!important; }
:root[data-theme] body.studio-unified .site-header.studio-header :is(.studio-theme-sun,.studio-theme-moon) { position:static!important; width:15px!important; height:15px!important; transform:none!important; opacity:1!important; color:#ddd!important; }
:root[data-theme="light"] body.studio-unified .site-header.studio-header .studio-theme-sun,:root[data-theme="dark"] body.studio-unified .site-header.studio-header .studio-theme-moon { display:none!important; }
:root[data-theme="light"] body.studio-unified .site-header.studio-header .studio-theme-moon,:root[data-theme="dark"] body.studio-unified .site-header.studio-header .studio-theme-sun { display:block!important; }
:root[data-theme] body.studio-unified .studio-directions-menu { width:min(850px,calc(100vw - 40px))!important; border-radius:26px!important; padding:18px!important; background:var(--suite-panel)!important; border:1px solid var(--suite-line)!important; box-shadow:0 25px 75px #00000028!important; }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-head { padding:7px 10px 18px!important; border:0!important; }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-head strong { margin-top:9px; font-size:23px!important; font-weight:450!important; letter-spacing:-.03em!important; color:var(--suite-ink)!important; }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-head>span { font-size:9px!important; color:var(--suite-muted)!important; }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-grid { display:grid!important; grid-template-columns:1fr 1fr!important; gap:9px!important; background:transparent!important; border:0!important; }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-grid>a { display:grid!important; grid-template-columns:100px 1fr!important; gap:15px!important; min-height:110px!important; padding:10px!important; border:1px solid var(--suite-line)!important; border-radius:17px!important; background:var(--suite-paper)!important; color:var(--suite-ink)!important; overflow:hidden; transition:background .2s,border-color .2s!important; }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-grid>a:hover { background:var(--suite-soft)!important; border-color:#999!important; }
.menu-service-image { width:100px; height:85px; object-fit:cover; border-radius:11px; transition:filter .3s,transform .3s; filter:saturate(.6); }
.ui-mega-grid>a:hover .menu-service-image { transform:scale(1.035); filter:saturate(1); }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-grid :is(strong,small) { color:var(--suite-ink)!important; }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-grid strong { font-size:14px!important; font-weight:500!important; }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-grid small { font-size:11px!important; line-height:1.6!important; opacity:.65; }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-ai-layer em { display:none!important; }
:root[data-theme] body.studio-unified .studio-directions-menu .ui-mega-foot { margin-top:14px; padding:15px 9px 4px!important; border-top:1px solid var(--suite-line)!important; font-size:11px!important; color:var(--suite-muted)!important; background:none!important; }
:root[data-theme] body.studio-unified main .button { transition:background .2s,border-color .2s!important; }
:root[data-theme] body.studio-unified main :is(.button-dark,.button-inverse,.button-submit):hover { background:#444!important; border-color:#444!important; color:#fff!important; transform:none!important; }
:root[data-theme] body.studio-unified main :is(.button-light,.button-ghost-inverse):hover { background:var(--suite-soft)!important; border-color:#999!important; transform:none!important; }
@media(max-width:760px) { :root[data-theme] body.studio-unified .site-header.studio-header .header-inner { border-radius:22px!important; min-height:64px!important; padding:8px 14px!important; } }
/* Inner pages — the homepage's graphite/editorial system, with reading layouts. */
:root[data-theme] body.studio-unified.studio-inner:not(.deliverable-page) { padding-top:0!important; }
:root[data-theme] body.studio-unified.studio-inner main :is(h1,h2,h3,h4) { font-family:"Onest Local",Arial,sans-serif!important; font-weight:450!important; letter-spacing:-.045em; }
:root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero) { position:relative; isolation:isolate; overflow:hidden; margin-top:0!important; padding:168px 0 75px!important; min-height:0!important; color:#f5f5f5!important; background:#111!important; border:0!important; border-radius:0 0 36px 36px!important; box-shadow:none!important; animation:none!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero)::before,:root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero)::after { display:none!important; }
:root[data-theme] body.studio-inner .hero-field,:root[data-theme] body.studio-inner .hero-field-fallback { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; pointer-events:none; z-index:-1!important; }
.studio-inner .hero-field { opacity:0; transition:opacity .35s; }
.studio-inner .hero-field[data-ready="true"] { opacity:.72; }
.studio-inner .hero-field-fallback { background:radial-gradient(ellipse at 90% 90%,#333,transparent 65%),#111; }
:root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero) h1 { color:#f5f5f5!important; max-width:1040px; font-size:clamp(40px,5.3vw,76px)!important; font-weight:450!important; line-height:1.055!important; letter-spacing:-.05em!important; margin:25px 0!important; text-transform:none!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero) p { color:#bbb!important; font-size:16px; line-height:1.75; font-weight:400; }
:root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero) :is(.kicker,.pricing-label) { color:#aaa!important; font-size:9px!important; line-height:1.5; letter-spacing:.13em; font-weight:500!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.page-hero-grid,.solution-hero-grid) { display:grid; grid-template-columns:1.18fr 1fr; gap:65px; align-items:center; }
:root[data-theme] body.studio-unified.studio-inner .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
:root[data-theme] body.studio-unified.studio-inner .button { min-height:52px; padding:15px 23px; font-size:13px!important; font-weight:500!important; line-height:1.5; border-radius:999px!important; }
:root[data-theme] body.studio-unified.studio-inner main .button :is(span,svg,use) { color:inherit!important; -webkit-text-fill-color:currentColor!important; background-image:none!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero) :is(.button-dark,.button-light,.button-inverse,.crystal-button) { background:#f5f5f5!important; border:1px solid #f5f5f5!important; color:#181818!important; box-shadow:none!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero) :is(.button-ghost-inverse,.button-ghost,.button-light:nth-child(n+2)) { background:#ffffff06!important; border:1px solid #ffffff50!important; color:#f5f5f5!important; box-shadow:none!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero) .button:hover { background:#dedede!important; border-color:#dedede!important; color:#111!important; transform:none!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.suite-visual,.solution-hero-visual) { margin:0; padding:12px!important; background:var(--suite-panel)!important; border:1px solid var(--suite-line)!important; border-radius:28px!important; box-shadow:none!important; overflow:hidden; }
:root[data-theme] body.studio-unified.studio-inner :is(.suite-visual,.solution-hero-visual) img { width:100%; height:auto!important; display:block; border-radius:18px; object-fit:contain; }
:root[data-theme] body.studio-unified.studio-inner :is(.suite-visual,.solution-hero-visual) figcaption { color:var(--suite-muted)!important; background:none!important; border:0!important; padding:15px 8px 5px!important; font-size:9px!important; letter-spacing:.06em; line-height:1.6; }
:root[data-theme] body.studio-unified.studio-inner :is(.suite-visual,.solution-hero-visual) figcaption :is(span,strong) { color:inherit!important; }
:root[data-theme] body.studio-unified.studio-inner [data-field-host] :is(.studio-service-showcase,.capability-sequence,.mini-dashboard) { background:#ffffff08!important; color:#f2f2f2!important; border:1px solid #ffffff25!important; border-radius:26px!important; box-shadow:none!important; padding:26px!important; }
:root[data-theme] body.studio-unified.studio-inner [data-field-host] :is(.studio-service-showcase,.capability-sequence,.mini-dashboard) :is(strong,h2,h3,li) { color:#eee!important; background:transparent!important; }
:root[data-theme] body.studio-unified.studio-inner [data-field-host] :is(.studio-service-showcase,.capability-sequence,.mini-dashboard) :is(span,small,p) { color:#aaa!important; background:transparent!important; }
:root[data-theme] body.studio-unified.studio-inner [data-field-host] .studio-service-showcase>div:first-child { background:none!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.solution-hero-meta,.solution-hero-meta div) { background:none!important; border-color:#ffffff25!important; border-radius:0; }
:root[data-theme] body.studio-unified.studio-inner .solution-hero-meta :is(dt,dd),:root[data-theme] body.studio-unified.studio-inner .solution-response-note { color:#bbb!important; }
:root[data-theme] body.studio-unified.studio-inner .section { padding-block:85px; }
:root[data-theme] body.studio-unified.studio-inner :is(.section-head,.pricing-section-head) { display:grid; grid-template-columns:1.12fr .88fr; gap:20px 8%; align-items:start; text-align:left!important; margin-bottom:45px; }
:root[data-theme] body.studio-unified.studio-inner .section-head>.kicker { grid-column:1/-1; }
:root[data-theme] body.studio-unified.studio-inner :is(.section-head,.pricing-section-head) h2 { max-width:780px; font-size:clamp(32px,3.6vw,50px)!important; line-height:1.1!important; color:var(--suite-ink)!important; margin:0!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.section-head,.pricing-section-head)>p:not(.kicker) { max-width:500px; font-size:15px; line-height:1.75; color:var(--suite-muted)!important; margin:0!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.direction-card,.service-card,.price-card,.capability-card,.solution-card,.proof-card,.result-panel,.capability-fit-grid>article,.pricing-card,.pricing-layer-grid>article,.pricing-clarity-card,.pricing-factor-grid>li,.solution-demo-frame,.solution-signal-grid) { background:var(--suite-panel)!important; color:var(--suite-ink)!important; border:1px solid var(--suite-line)!important; border-radius:26px!important; padding:28px!important; box-shadow:none!important; background-image:none!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.direction-card,.service-card,.price-card,.capability-card,.solution-card,.pricing-card) :is(h3,strong) { font-size:clamp(25px,2.2vw,32px); line-height:1.12; color:var(--suite-ink)!important; background:none!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.direction-card,.service-card,.price-card,.capability-card,.solution-card,.pricing-card) p { font-size:15px; line-height:1.75; color:var(--suite-muted)!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.direction-card,.service-card,.price-card,.capability-card,.solution-card)>strong { font-size:14px; line-height:1.6; padding-top:20px; border-top:1px solid var(--suite-line); }
:root[data-theme] body.studio-unified.studio-inner :is(.direction-card,.service-card,.capability-card)>span { font-size:9px; letter-spacing:.08em; color:var(--suite-muted)!important; }
:root[data-theme] body.studio-unified.studio-inner .faq-list { display:grid; gap:12px; }
:root[data-theme] body.studio-unified.studio-inner .faq-list details { padding:23px!important; border-radius:20px!important; }
:root[data-theme] body.studio-unified.studio-inner .faq-list summary { font-size:17px; font-weight:450; }
/* Pricing: a centered introduction and four separate, readable budget tiles. */
:root[data-theme] body.studio-unified.studio-inner .pricing-hero-grid { display:block; text-align:center; max-width:1050px; }
:root[data-theme] body.studio-unified.studio-inner .pricing-hero-copy { max-width:1050px; margin:auto; }
:root[data-theme] body.studio-unified.studio-inner .pricing-hero-copy h1 { max-width:1050px!important; margin-inline:auto!important; }
:root[data-theme] body.studio-unified.studio-inner .pricing-hero-copy>p:not(.pricing-label) { max-width:670px; margin-inline:auto; }
:root[data-theme] body.studio-unified.studio-inner .pricing-hero-actions { justify-content:center; gap:12px; margin-top:30px; }
.studio-pricing-summary { padding:45px 0 10px; }
:root[data-theme] body.studio-unified.studio-inner .studio-pricing-summary .pricing-map { width:100%; max-width:none; padding:0!important; background:none!important; border:0!important; border-radius:0!important; }
.studio-pricing-summary .pricing-map-head { padding:0 0 20px; border:0; display:flex; justify-content:space-between; align-items:baseline; }
.studio-pricing-summary .pricing-map-head strong { max-width:400px; font-size:9px; line-height:1.6; }
.studio-pricing-summary .pricing-map dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
:root[data-theme] body.studio-unified.studio-inner .studio-pricing-summary .pricing-map dl>div { display:flex; flex-direction:column; gap:25px; align-items:flex-start; justify-content:space-between; min-height:175px; padding:24px; border:1px solid var(--suite-line)!important; border-radius:23px; background:var(--suite-panel)!important; }
.studio-pricing-summary .pricing-map dt { font-size:13px; line-height:1.6; }
.studio-pricing-summary .pricing-map dd { margin:0; font-size:clamp(19px,1.75vw,26px); font-weight:450; letter-spacing:-.04em; white-space:nowrap; }
.studio-pricing-summary .pricing-map>p { padding:18px 0!important; max-width:800px; font-size:12px; line-height:1.7; }
:root[data-theme] body.studio-unified.studio-inner .pricing-quick-nav-shell { position:static; padding-block:22px; background:transparent!important; border:0!important; box-shadow:none!important; }
:root[data-theme] body.studio-unified.studio-inner .pricing-quick-nav { background:transparent!important; border:0!important; padding:0; gap:9px; }
:root[data-theme] body.studio-unified.studio-inner .pricing-quick-nav a { padding:12px 17px; border:1px solid var(--suite-line); border-radius:999px; font-size:12px; background:var(--suite-panel); color:var(--suite-ink)!important; }
:root[data-theme] body.studio-unified.studio-inner .pricing-level-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; background:none!important; border:0; }
:root[data-theme] body.studio-unified.studio-inner .pricing-level-guide li { padding:25px!important; min-width:0; border-radius:23px!important; background:var(--suite-soft)!important; border:0!important; }
.studio-inner .pricing-stage-list li { padding-block:22px; }
:root[data-theme] body.studio-unified.studio-inner .pricing-stage-list strong { font-size:17px!important; font-weight:500!important; }
:root[data-theme] body.studio-unified.studio-inner .pricing-stage-list b { font-size:21px!important; font-weight:450!important; letter-spacing:-.035em; }
:root[data-theme] body.studio-unified.studio-inner .pricing-stage-list li.is-entry { background:var(--suite-soft)!important; border:0!important; border-radius:17px; padding:20px; }
/* Materials: editorial cover, featured reading and a quiet subject index. */
:root[data-theme] body.studio-unified.studio-inner.materials-page .page-hero-grid { display:block; max-width:1060px; text-align:center; }
:root[data-theme] body.studio-unified.studio-inner.materials-page .page-hero-grid h1 { max-width:1040px!important; margin-inline:auto!important; }
:root[data-theme] body.studio-unified.studio-inner.materials-page .page-hero-grid>div>p:last-child { max-width:660px; margin-inline:auto; }
.library-featured { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding-block:60px 5px; }
.library-featured>a { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--suite-line); border-radius:26px; color:var(--suite-ink); background:var(--suite-panel); text-decoration:none; transition:border-color .2s; }
.library-featured>a:hover { border-color:#888; }
.library-featured img { display:block; width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; }
.library-featured>a>div { padding:25px; flex:1; display:flex; flex-direction:column; }
.library-featured span { font-size:9px; letter-spacing:.08em; color:var(--suite-muted); line-height:1.6; }
:root[data-theme] body.studio-unified.studio-inner .library-featured h2 { font-size:27px!important; line-height:1.15; margin:15px 0 25px; letter-spacing:-.04em; }
.library-featured .library-read { margin-top:auto; font-size:12px; letter-spacing:0; color:var(--suite-ink); }
:root[data-theme] body.studio-unified.studio-inner .materials-topic-index { display:flex; flex-wrap:wrap; gap:10px; background:none!important; border:0!important; }
:root[data-theme] body.studio-unified.studio-inner .materials-topic-link { display:flex; gap:12px; align-items:center; padding:14px 18px!important; border-radius:999px!important; background:var(--suite-panel)!important; }
.studio-inner .materials-topic-link>span { display:none; }
.studio-inner .materials-topic-link strong { font-size:13px; font-weight:500; }
.studio-inner .materials-topic-link small { font-size:10px; color:var(--suite-muted); }
:root[data-theme] body.studio-unified.studio-inner .materials-filter { padding:24px!important; border-radius:24px!important; margin-block:30px 60px; }
.studio-inner .materials-filter button { min-height:44px; padding:11px 16px; font-weight:450; font-size:12px; }
.studio-inner .materials-cluster { margin-top:65px; }
.studio-inner .materials-cluster-head { border-top:1px solid var(--suite-line); padding-top:30px; margin-bottom:30px; }
:root[data-theme] body.studio-unified.studio-inner .materials-cluster-head h2 { font-size:clamp(30px,3.3vw,46px)!important; line-height:1.12; }
:root[data-theme] body.studio-unified.studio-inner .material-card { display:flex; flex-direction:column; gap:17px; padding:27px!important; min-height:285px; border-radius:25px!important; background:var(--suite-panel)!important; }
:root[data-theme] body.studio-unified.studio-inner .material-card:hover { border-color:#999!important; box-shadow:none!important; transform:none!important; }
:root[data-theme] body.studio-unified.studio-inner .material-card h3 { font-size:26px!important; line-height:1.13; margin:0; }
.studio-inner .material-card>p:first-child { font-size:9px!important; line-height:1.6; letter-spacing:.07em; }
.studio-inner .material-card>p { font-size:14px; line-height:1.75; }
.studio-inner .material-card>div:last-child { margin-top:auto; }
/* Long-form articles and legal pages keep a comfortable reading column. */
:root[data-theme] body.studio-unified.studio-inner .material-article-header { max-width:1050px; }
:root[data-theme] body.studio-unified.studio-inner .material-article-hero h1 { font-size:clamp(38px,4.5vw,64px)!important; max-width:1000px; }
:root[data-theme] body.studio-unified.studio-inner .material-article-hero .material-lead { max-width:800px; font-size:18px; line-height:1.75; }
.studio-inner .breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; font-size:11px; line-height:1.7; margin-bottom:35px; }
:root[data-theme] body.studio-unified.studio-inner .material-article-hero .breadcrumbs :is(a,span) { color:#aaa!important; }
:root[data-theme] body.studio-unified.studio-inner .material-meta { margin-top:28px; padding-top:20px; border-color:var(--suite-line)!important; color:var(--suite-muted)!important; font-size:12px; line-height:1.7; }
:root[data-theme] body.studio-unified.studio-inner .material-meta :is(a,span) { color:inherit!important; }
:root[data-theme] body.studio-unified.studio-inner .material-layout { display:grid; grid-template-columns:230px minmax(0,780px); justify-content:space-between; gap:60px; padding-block:65px 90px; }
:root[data-theme] body.studio-unified.studio-inner .material-toc { top:110px; padding:23px!important; border-radius:22px!important; gap:13px; }
.studio-inner .material-toc a { font-size:12px; line-height:1.65; }
:root[data-theme] body.studio-unified.studio-inner .material-content { color:var(--suite-ink)!important; font-size:17px; line-height:1.85; min-width:0; }
:root[data-theme] body.studio-unified.studio-inner .material-content h2 { font-size:32px!important; line-height:1.17; margin-top:55px; }
:root[data-theme] body.studio-unified.studio-inner .material-content h3 { font-size:24px!important; line-height:1.2; }
.studio-table-scroll,.studio-inner .legal-table-wrap,.studio-inner .material-table-wrap { overflow-x:auto; max-width:100%; border:1px solid var(--suite-line); border-radius:18px; margin-block:25px; }
.studio-inner .material-content table { margin:0; font-size:14px; line-height:1.7; }
:root[data-theme] body.studio-unified.studio-inner .material-content :is(th,td) { padding:18px; border-color:var(--suite-line)!important; background:var(--suite-panel)!important; color:var(--suite-ink)!important; }
.studio-inner.policy-page .narrow { width:min(880px,calc(100% - 40px)); max-width:880px; }
.studio-inner .policy { font-size:16px; line-height:1.85; }
.studio-inner .policy h2 { font-size:30px; margin:45px 0 20px; }
.studio-inner .policy p { margin-bottom:20px; }
:root[data-theme] body.studio-unified.studio-inner .legal-summary { padding:25px; border:1px solid var(--suite-line); border-radius:22px; background:var(--suite-panel)!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.direction-cta,.pricing-cta,.solution-cta) { margin:15px 12px 0; padding:65px 0!important; background:#181818!important; color:#f5f5f5!important; border-radius:32px!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.direction-cta,.pricing-cta,.solution-cta) :is(h2,p) { color:inherit!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.direction-cta,.pricing-cta,.solution-cta) .button { background:#f5f5f5!important; color:#181818!important; border-color:#f5f5f5!important; }
/* The standalone demonstration document uses the same type and surfaces. */
:root[data-theme] body.studio-unified.studio-inner.deliverable-page { --doc-black:var(--suite-ink); --doc-white:var(--suite-paper); --doc-alt:var(--suite-soft); --doc-muted:var(--suite-muted); --doc-line:var(--suite-line); }
:root[data-theme] body.studio-unified.studio-inner .deliverable-hero { padding:80px 0!important; background:#111!important; color:#f5f5f5!important; border-radius:0 0 32px 32px; }
:root[data-theme] body.studio-unified.studio-inner .deliverable-hero h1 { color:#f5f5f5!important; font-size:clamp(38px,4.8vw,68px)!important; line-height:1.08; text-transform:none; font-weight:450; letter-spacing:-.05em; }
.studio-inner .deliverable-hero p { color:#bbb; }
.studio-inner .deliverable-header .brand-mark,.studio-inner .deliverable-footer .brand-mark { border-radius:0!important; clip-path:none!important; }
@media(max-width:1100px) {
 :root[data-theme] body.studio-unified.studio-inner :is(.page-hero-grid,.solution-hero-grid) { gap:35px; }
 .studio-pricing-summary .pricing-map dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
 :root[data-theme] body.studio-unified.studio-inner .material-layout { gap:35px; grid-template-columns:200px minmax(0,1fr); }
}
@media(max-width:767px) {
 :root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero) { padding:135px 0 48px!important; border-radius:0 0 28px 28px!important; }
 :root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero) h1 { font-size:40px!important; line-height:1.065!important; }
 :root[data-theme] body.studio-unified.studio-inner :is(.page-hero-grid,.solution-hero-grid) { grid-template-columns:1fr; gap:35px; }
 :root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero) p { font-size:14px; }
 :root[data-theme] body.studio-unified.studio-inner .section { padding-block:55px; }
 :root[data-theme] body.studio-unified.studio-inner :is(.section-head,.pricing-section-head) { display:block; margin-bottom:30px; }
 :root[data-theme] body.studio-unified.studio-inner :is(.section-head,.pricing-section-head)>p:not(.kicker) { margin-top:22px!important; }
 :root[data-theme] body.studio-unified.studio-inner .pricing-level-guide { grid-template-columns:1fr; }
 .studio-pricing-summary { padding-top:35px; }
 .studio-pricing-summary .pricing-map dl { grid-template-columns:1fr; gap:12px; }
 :root[data-theme] body.studio-unified.studio-inner .studio-pricing-summary .pricing-map dl>div { min-height:125px; gap:15px; }
 .studio-pricing-summary .pricing-map dd { font-size:26px; }
 .studio-pricing-summary .pricing-map-head { align-items:flex-start; gap:20px; }
 .studio-pricing-summary .pricing-map-head strong { max-width:200px; }
 .library-featured { grid-template-columns:1fr; gap:20px; padding-top:35px; }
 :root[data-theme] body.studio-unified.studio-inner .materials-topic-index { gap:8px; }
 :root[data-theme] body.studio-unified.studio-inner .materials-topic-link { width:100%; justify-content:space-between; padding:13px 17px!important; }
 :root[data-theme] body.studio-unified.studio-inner .materials-filter { margin-bottom:35px; }
 :root[data-theme] body.studio-unified.studio-inner .material-layout { grid-template-columns:1fr; gap:30px; padding-block:35px 55px; }
 :root[data-theme] body.studio-unified.studio-inner .material-toc { position:static; display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }
 :root[data-theme] body.studio-unified.studio-inner .material-toc strong { grid-column:1/-1; }
 :root[data-theme] body.studio-unified.studio-inner .material-content { font-size:16px; line-height:1.85; }
 :root[data-theme] body.studio-unified.studio-inner .material-content h2 { font-size:28px!important; }
 :root[data-theme] body.studio-unified.studio-inner .material-article-hero .material-lead { font-size:16px; }
 :root[data-theme] body.studio-unified.studio-inner :is(.direction-cta,.pricing-cta,.solution-cta) { margin-inline:8px; padding-block:45px!important; border-radius:26px!important; }
 .studio-inner .policy h2 { font-size:26px; }
}
@media(prefers-reduced-motion:reduce) { .studio-inner .hero-field { transition:none; } }

/* Materials library: one compact navigation surface, original editorial covers. */
.library-search .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .page-hero { padding:155px 0 55px!important; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .page-hero .page-hero-grid { display:grid; grid-template-columns:1.45fr 1fr; align-items:end; gap:70px; max-width:1180px; text-align:left; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .page-hero .page-hero-grid h1 { margin:20px 0 0!important; font-size:clamp(40px,4.6vw,66px)!important; max-width:none!important; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .page-hero .library-intro p { margin:0!important; max-width:440px; font-size:15px; line-height:1.8; }
.materials-library .library-intro>span { display:block; margin-top:22px; font-size:11px; color:#aaa; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .library-catalogue { padding:35px 0 65px!important; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .materials-filter { display:block; margin:0 auto 35px!important; padding:22px 24px!important; border:1px solid var(--suite-line); border-radius:24px!important; box-shadow:none; backdrop-filter:none; background:var(--suite-panel); }
.materials-library .materials-filter[hidden] { display:none!important; }
.library-toolbar { display:flex; gap:24px; align-items:center; justify-content:space-between; margin-bottom:20px; }
.materials-library .materials-filter-copy { padding:0; gap:5px; }
.materials-library .materials-filter-copy>span { color:var(--suite-muted); font-size:9px; font-weight:500; }
.materials-library .materials-filter-copy>strong { font-size:21px; font-weight:450; letter-spacing:-.025em; }
.library-search { display:flex; align-items:center; gap:10px; width:min(365px,100%); border:1px solid var(--suite-line); border-radius:999px; background:var(--suite-paper); padding:0 16px; }
.library-search:focus-within { outline:2px solid var(--suite-ink); outline-offset:3px; }
.library-search .o-icon { width:17px; height:17px; flex-shrink:0; color:var(--suite-muted); }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .library-search input { appearance:none; min-width:0; width:100%; min-height:44px; padding:11px 0; border:0!important; background:none!important; box-shadow:none!important; color:var(--suite-ink)!important; font:inherit; font-size:12px; outline:0; }
.materials-library .library-search input::placeholder { color:var(--suite-muted); opacity:1; }
.materials-library .materials-filter-scroll { display:flex; flex-wrap:wrap; gap:8px; overflow:visible; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .materials-filter button { min-height:44px; padding:10px 16px; font-size:12px; font-weight:450; box-shadow:none!important; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .materials-filter button[aria-pressed="true"] { background:var(--suite-ink)!important; color:var(--suite-paper)!important; border-color:var(--suite-ink)!important; }
.materials-library .materials-filter button span { color:inherit; opacity:.65; font-size:10px; }
.materials-library .materials-filter-status { margin:14px 0 0; font-size:11px; color:var(--suite-muted); }
.materials-library .library-art-note { margin:8px 0 0; color:var(--suite-muted); font-size:10px; line-height:1.6; }
.materials-library .materials-cluster { margin-top:42px; scroll-margin-top:115px; }
.materials-library .materials-cluster:first-child { margin-top:0; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .materials-cluster-head { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.65fr); align-items:center; gap:32px; padding:0!important; margin:0 0 18px; border:0; }
.library-cover { margin:0; overflow:hidden; border-radius:20px; background:var(--suite-soft); }
.library-cover img { display:block; width:100%; height:auto; aspect-ratio:2.1; object-fit:cover; }
.materials-library .library-topic-copy { display:block; min-width:0; }
.materials-library .materials-cluster-head .kicker { margin:0 0 12px; font-size:9px; color:var(--suite-muted); letter-spacing:.1em; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .materials-cluster-head h2 { font-size:clamp(25px,2.5vw,34px)!important; letter-spacing:-.04em; line-height:1.13; margin:0 0 12px; }
.materials-library .library-topic-copy>p:last-child { margin:0; max-width:600px; font-size:13px; line-height:1.7; color:var(--suite-muted); }
.materials-library .materials-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card { min-height:215px; gap:12px; padding:22px!important; border-radius:20px!important; border-color:var(--suite-line)!important; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card[hidden],.materials-library .materials-cluster[hidden],.library-empty[hidden] { display:none!important; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card h3 { font-size:22px!important; line-height:1.16; font-weight:450; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card>p { margin:0; font-size:13px; line-height:1.65; color:var(--suite-muted)!important; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card>p:first-of-type { font-size:9px!important; letter-spacing:.06em; }
.materials-library .material-card>div { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:7px; }
.materials-library .material-card>div a { font-size:11px; line-height:1.5; }
.materials-library .material-card>div a:last-child { color:var(--suite-muted)!important; }
.materials-library .material-card h3 a { text-decoration:none; }
.materials-library .material-card h3 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.library-empty { text-align:center; padding:50px 20px; border:1px solid var(--suite-line); border-radius:24px; background:var(--suite-panel); }
.library-empty h2 { font-size:28px; }
.library-empty p { margin:16px 0 24px; font-size:14px; color:var(--suite-muted); }
.library-nojs-topics { display:flex; flex-wrap:wrap; gap:15px; margin-bottom:30px; }
.library-note { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:30px 0; border-top:1px solid var(--suite-line); }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .library-note h2 { margin:0 0 12px; font-size:28px!important; max-width:650px; line-height:1.15; }
.library-note p { margin:0; color:var(--suite-muted); font-size:13px; line-height:1.7; }
.library-note .button { flex-shrink:0; }
@media(max-width:1000px) {
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .page-hero .page-hero-grid { gap:35px; }
 .materials-library .materials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .page-hero { padding:125px 0 36px!important; }
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .page-hero .page-hero-grid { grid-template-columns:1fr; gap:22px; }
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .page-hero .page-hero-grid h1 { font-size:39px!important; }
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .page-hero .library-intro p { font-size:14px; }
 .materials-library .library-intro>span { margin-top:16px; }
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .library-catalogue { padding-top:22px!important; }
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .materials-filter { padding:18px!important; margin-bottom:25px!important; }
 .library-toolbar { align-items:stretch; flex-direction:column; gap:16px; margin-bottom:16px; }
 .library-search { width:100%; }
 .materials-library .materials-filter-scroll { gap:7px; }
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .materials-filter button { padding:10px 12px; font-size:11px; }
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .materials-cluster-head { grid-template-columns:1fr; gap:18px; }
 .library-cover img { aspect-ratio:2.5; }
 .materials-library .materials-cluster { margin-top:35px; }
 .materials-library .materials-grid { grid-template-columns:1fr; gap:10px; }
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card { min-height:0; padding:20px!important; gap:12px; }
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card h3 { font-size:23px!important; }
 .library-note { flex-direction:column; align-items:flex-start; gap:24px; }
}

/* Editorial library: readable rows, without diagram thumbnails or nested panels. */
.materials-library .materials-grid { display:block; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto; gap:12px 32px; min-height:0; padding:28px 0!important; border:0!important; border-top:1px solid var(--suite-line)!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; overflow:visible; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card:hover { border-color:var(--suite-line)!important; }
.materials-library .materials-grid .material-card { grid-template-rows:auto auto!important; }
.materials-library .material-card>p:first-of-type { grid-column:1/-1; }
.materials-library .material-card h3 { grid-column:1; }
.materials-library .material-card>p:not(:first-of-type) { grid-column:2; align-self:start; }
.materials-library .material-card>div:last-child { grid-column:3; margin:0; padding:0; align-self:start; flex-direction:row; align-items:flex-start; gap:20px; }
.materials-library .material-card h3 a::after { display:none; }
@media(max-width:800px) {
 :root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card { grid-template-columns:1fr; gap:14px; padding:24px 0!important; }
 .materials-library .material-card>:is(h3,p,div:last-child) { grid-column:1!important; }
 .materials-library .material-card>div:last-child { flex-direction:row; gap:24px; }
}
/* Article reading pages retain practical diagrams in their own context. */
.capability-card[id] { scroll-margin-top:120px; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .materials-cluster-head { grid-template-columns:1fr; gap:0; margin-bottom:20px; }
.materials-library .material-card-cover { display:block; width:calc(100% + 44px); margin:-22px -22px 5px; overflow:hidden; background:var(--suite-soft); }
.materials-library .material-card-cover img { display:block; width:100%; height:auto; aspect-ratio:1.9; object-fit:cover; transition:transform .35s; }
:root[data-theme] body.studio-unified.studio-inner.materials-page.materials-library .material-card { overflow:hidden; }
.materials-library .material-card:hover .material-card-cover img { transform:scale(1.025); }
:root[data-theme] body.studio-unified.studio-inner .material-article-header.has-article-cover { max-width:1180px; }
.article-hero-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:45px; }
.article-hero-copy { min-width:0; }
.article-hero-layout:not(:has(.article-hero-cover)) { display:block; }
:root[data-theme] body.studio-unified.studio-inner .has-article-cover h1 { font-size:clamp(34px,3.4vw,49px)!important; line-height:1.1!important; margin:20px 0!important; max-width:none; }
:root[data-theme] body.studio-unified.studio-inner .has-article-cover .material-lead { margin:0; font-size:15px; line-height:1.8; }
.article-hero-cover { margin:0; border:1px solid #ffffff25; border-radius:24px; overflow:hidden; background:#222; min-width:0; }
.article-hero-cover img { display:block; width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; }
.article-hero-cover figcaption { padding:12px 16px; border-top:1px solid #ffffff15; color:#aaa; font-size:9px; line-height:1.6; letter-spacing:.03em; background:#191919; }
@media(max-width:1000px) {
 .article-hero-layout { grid-template-columns:1fr; gap:25px; }
 .article-hero-cover { max-width:700px; }
}
@media(max-width:600px) {
 .materials-library .material-card-cover { width:calc(100% + 40px); margin:-20px -20px 4px; }
 .article-hero-layout { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .article-hero-copy { display:contents; }
 .article-hero-copy .kicker { order:0; }
 .article-hero-copy h1 { order:1; }
 .article-hero-cover { order:3; margin:18px 0 0; border-radius:20px; }
 .article-hero-copy .material-lead { order:2; }
 :root[data-theme] body.studio-unified.studio-inner .has-article-cover h1 { font-size:35px!important; }
 :root[data-theme] body.studio-unified.studio-inner .has-article-cover .material-lead { font-size:15px; }
 .article-hero-cover figcaption { font-size:9px; padding:10px 13px; }
}
@media(prefers-reduced-motion:reduce) { .materials-library .material-card-cover img { transition:none; transform:none!important; } }
.agency-page .agency-formats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.agency-page .agency-working-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
.agency-page .agency-working-grid h2,.agency-page .agency-contact h2 { font-size:clamp(34px,4.2vw,60px); line-height:1.08; letter-spacing:-.05em; font-weight:450; }
.agency-page .agency-working-grid p,.agency-page .agency-contact p { max-width:600px; font-size:17px; line-height:1.7; color:var(--suite-muted); }
.agency-page .agency-agreements { padding:30px; border:1px solid var(--suite-line); border-radius:28px; background:var(--suite-paper); }
.agency-page .agency-agreements h3 { font-size:25px; font-weight:450; margin:0 0 24px; }
.agency-page .agency-agreements ul { padding-left:20px; margin-bottom:28px; }
.agency-page .agency-agreements li { padding-block:8px; line-height:1.65; }
.agency-page .agency-section-link { margin-top:28px; }
.agency-page .agency-contact .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.agency-page .agency-hero-note { font-size:12px!important; margin-top:24px; }
:root[data-theme] body.studio-unified.studio-inner.agency-page .page-hero h1 { font-size:clamp(42px,5.1vw,82px)!important; line-height:1.04; letter-spacing:-.055em; }
/* Agency landing: one lead message, a compact role map and a readable product preview. */
:root[data-theme] body.studio-unified.studio-inner.agency-page .page-hero-grid { grid-template-columns:1.3fr 1fr; gap:clamp(32px,5vw,88px); }
.agency-page .agency-hero-copy>p:not(.kicker):not(.agency-hero-note) { max-width:590px; }
.agency-page .agency-hero-copy .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.agency-page .agency-hero-copy .ed-text-link { padding-block:14px; }
:root[data-theme] body.studio-unified.studio-inner.agency-page .agency-handoff h2 { font-size:clamp(26px,2.8vw,40px)!important; line-height:1.12; letter-spacing:-.04em; margin:18px 0 28px; }
.agency-page .direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.agency-page .direction-process { gap:16px; border:0; background:transparent; box-shadow:none; }
.agency-page .agency-contact .form-helper { max-width:880px; margin-top:24px; padding:20px 0 0; border:0; border-top:1px solid var(--suite-line); border-radius:0; background:transparent; font-size:13px; line-height:1.75; }
.agency-page .agency-product-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:8%; align-items:end; margin-bottom:36px; }
.agency-page .agency-product-heading h2 { margin-bottom:0; }
.agency-page .agency-product-heading>p { max-width:520px; margin:0; color:var(--suite-muted); line-height:1.75; }
.agency-page .agency-product-preview { margin:0; }
.agency-page .agency-product-preview>a { display:block; border-radius:24px; overflow:hidden; }
.agency-page .agency-product-preview>a:focus-visible { outline:3px solid var(--studio-red); outline-offset:5px; }
.agency-page .agency-product-preview figcaption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 24px; padding-block:18px; color:var(--suite-muted); font-size:12px; }
.agency-page .agency-product-preview figcaption a { font-size:14px; padding-block:8px; }
.agency-page .agency-product-proof { display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; padding-block:28px; margin-top:12px; border-block:1px solid var(--suite-line); }
.agency-page .agency-product-proof h3 { margin:0 0 10px; font-size:24px; font-weight:450; letter-spacing:-.025em; }
.agency-page .agency-product-proof p { margin:0; max-width:760px; font-size:14px; line-height:1.75; color:var(--suite-muted); }
.agency-page .agency-product-proof>a { padding-block:14px; }
.agency-page .agency-product-note { font-size:12px; color:var(--suite-muted); margin-top:18px; }
@media(max-width:999px) {
 :root[data-theme] body.studio-unified.studio-inner.agency-page .page-hero-grid { grid-template-columns:1fr; gap:36px; }
 .agency-page .agency-product-heading { grid-template-columns:1fr; gap:20px; }
 .agency-page .agency-product-heading>p { max-width:650px; }
 .agency-page .agency-product-proof { grid-template-columns:1fr; gap:10px; }
}
@media(max-width:600px) {
 .agency-page .direction-grid { grid-template-columns:1fr; }
 .agency-page .agency-hero-copy .hero-actions { gap:10px 20px; }
 .agency-page .agency-product-preview>a { border-radius:16px; }
}
@media(max-width:800px) {
 .agency-page .agency-formats,.agency-page .agency-working-grid { grid-template-columns:1fr; gap:24px; }
}
/* Vermilion interaction layer — shared, accessible and theme-independent. */
:root { --studio-red:#c43125; --studio-red-deep:#8f2018; --studio-scroll-track:#f7f7f7; --studio-scroll-thumb:#b8372d; background:#f7f7f7; }
:root[data-theme="dark"] { --studio-scroll-track:#191919; --studio-scroll-thumb:#cf5146; background:#191919; }
html { scrollbar-gutter:stable; }
@supports (-moz-appearance:none) { html { scrollbar-color:var(--studio-scroll-thumb) var(--studio-scroll-track); scrollbar-width:thin; } }
html::-webkit-scrollbar { width:8px; height:8px; }
html::-webkit-scrollbar-track,:root[data-theme="dark"]::-webkit-scrollbar-track { background:var(--studio-scroll-track); }
html::-webkit-scrollbar-thumb,:root[data-theme="dark"]::-webkit-scrollbar-thumb { background:var(--studio-scroll-thumb); border:2px solid var(--studio-scroll-track); border-radius:999px; }
html::-webkit-scrollbar-thumb:hover { background:var(--studio-red-deep); }
:root[data-theme] body.studio-unified :is(.wave-cta,.ed-button[data-dialog-open],.ed-button[data-assistant-open],.button[data-dialog-open],.button-submit,.osa-launcher,.osa-button) { position:relative; isolation:isolate; overflow:hidden; background:var(--studio-red)!important; border-color:var(--studio-red)!important; color:#fff!important; -webkit-text-fill-color:#fff!important; box-shadow:none!important; transition:transform .25s,border-color .25s!important; }
:root[data-theme] body.studio-unified :is(.wave-cta,.ed-button[data-dialog-open],.ed-button[data-assistant-open],.button[data-dialog-open],.button-submit,.osa-launcher,.osa-button)::after { content:""; position:absolute; z-index:-1; width:8px; height:8px; left:22px; top:50%; margin-top:-4px; border-radius:50%; background:var(--studio-red-deep); transform:scale(0); transition:transform .5s cubic-bezier(.7,0,.2,1); pointer-events:none; }
:root[data-theme] body.studio-unified :is(.wave-cta,.ed-button[data-dialog-open],.ed-button[data-assistant-open],.button[data-dialog-open],.button-submit,.osa-launcher,.osa-button):is(:hover,:focus-visible)::after { transform:scale(110); }
:root[data-theme] body.studio-unified :is(.wave-cta,.ed-button[data-dialog-open],.ed-button[data-assistant-open],.button[data-dialog-open],.button-submit,.osa-launcher,.osa-button):focus-visible { outline:3px solid var(--studio-red)!important; outline-offset:4px; }
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta { padding-left:37px!important; background:var(--studio-red)!important; border-color:var(--studio-red)!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta::before { content:""; position:absolute; width:7px; height:7px; left:19px; top:calc(50% - 3.5px); border-radius:50%; background:#fff; pointer-events:none; }
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta-label,
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta-label * { color:#fff!important; -webkit-text-fill-color:#fff!important; }
:root[data-theme] body.studio-unified :is(.wave-cta,.ed-button[data-dialog-open],.ed-button[data-assistant-open],.button[data-dialog-open],.button-submit,.osa-launcher,.osa-button) .telegram-brand-icon { filter:brightness(0) invert(1); }
:root[data-theme="dark"] body.studio-unified :is(.capability-card,.capability-sequence p,.direction-card,.price-card,.faq-list details) { background:var(--suite-panel)!important; border-color:var(--suite-line)!important; color:var(--suite-ink)!important; }
:root[data-theme="dark"] body.studio-unified :is(.capability-card,.capability-sequence) :is(h3,strong,small,p) { color:var(--suite-ink)!important; }
:root[data-theme] body.studio-unified .studio-footer { background:var(--suite-paper)!important; color:var(--suite-ink)!important; }
.capability-related { display:flex; flex-wrap:wrap; gap:12px; }
.capability-detail .page-hero h1 { font-size:clamp(40px,4.8vw,68px)!important; }
.capability-examples .scenario-visual { display:none; }
.capability-examples .scenario-stories { list-style:none; margin:0; padding:0; display:grid; gap:36px; }
.capability-examples .scenario-stories>li { border-top:1px solid var(--suite-line); padding:28px 0 42px; scroll-margin-top:135px; }
.capability-examples .scenario-stories>li:focus-visible { outline:2px solid var(--studio-red); outline-offset:8px; }
.capability-examples .scenario-stories h3 { font-size:clamp(28px,2.7vw,40px); font-weight:450; letter-spacing:-.04em; line-height:1.15; margin:18px 0; }
.capability-examples .scenario-stories p,.capability-examples dd { color:var(--suite-muted); line-height:1.7; font-size:16px; }
.capability-examples dl { margin:24px 0; }
.capability-examples dl>div { margin-bottom:18px; }
.capability-examples dt { font-size:11px; margin-bottom:6px; color:var(--suite-ink); }
.capability-examples dd { margin:0; }
.capability-examples .scenario-inline-image { display:block; width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; border-radius:24px; margin-bottom:28px; }
@media(min-width:1000px) and (prefers-reduced-motion:no-preference) {
 .scenario-ready .scenario-layout { display:grid; grid-template-columns:49% 43%; gap:8%; align-items:start; }
 .scenario-ready .scenario-visual { display:block; position:sticky; top:135px; }
 .scenario-image-stack { position:relative; height:auto; aspect-ratio:1.5; background:var(--suite-soft); border-radius:28px; overflow:hidden; }
 .scenario-image-stack img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
 .scenario-visual>p { font-size:9px; line-height:1.7; letter-spacing:.04em; color:var(--suite-muted); margin-top:14px; }
 .scenario-ready .scenario-inline-image { display:none; }
 .scenario-ready .scenario-stories>li { min-height:68svh; }
}
@media(prefers-reduced-motion:reduce) { :root[data-theme] body.studio-unified :is(.wave-cta,.ed-button[data-dialog-open],.ed-button[data-assistant-open],.button[data-dialog-open],.button-submit,.osa-launcher,.osa-button),:root[data-theme] body.studio-unified :is(.wave-cta,.ed-button[data-dialog-open],.ed-button[data-assistant-open],.button[data-dialog-open],.button-submit,.osa-launcher,.osa-button)::after { transition:none!important; transform:none; } :root[data-theme] body.studio-unified :is(.wave-cta,.ed-button[data-dialog-open],.ed-button[data-assistant-open],.button[data-dialog-open],.button-submit,.osa-launcher,.osa-button):is(:hover,:focus-visible)::after { transform:scale(110); } }
:root[data-theme] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero) .button[data-dialog-open] { background:var(--studio-red)!important; border-color:var(--studio-red)!important; color:#fff!important; -webkit-text-fill-color:#fff!important; }
:root[data-theme] body.studio-unified .osa-launcher { position:fixed!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta:is(:hover,:focus-visible) { background:var(--studio-red)!important; border-color:var(--studio-red)!important; }
.capability-examples .scenario-stories p.kicker { font-size:10px; letter-spacing:.1em; }
:root[data-theme] body.studio-unified .capability-examples [data-scenario-story]:focus-visible { outline:2px solid var(--studio-red); outline-offset:8px; }
body.studio-unified :is(.osa-body,.mobile-menu,.ui-dialog,.studio-table-scroll) { scrollbar-color:var(--studio-scroll-thumb) var(--studio-scroll-track); scrollbar-width:thin; }

/* Original Studio rail; reference navigation rhythm, no imported demo code. */
body.studio-rail-ready { --studio-gutter:clamp(24px,3vw,56px); padding-left:96px; }
body.studio-rail-ready :is(.container,.wide-container) { width:calc(100% - var(--studio-gutter)*2); max-width:1800px; }
body.studio-rail-ready .material-layout { max-width:1400px; }
body.studio-rail-ready .material-content { max-width:820px; }
:root[data-theme] body.studio-unified.studio-inner.studio-rail-ready.materials-page.materials-library .page-hero .page-hero-grid,
:root[data-theme] body.studio-unified.studio-inner.studio-rail-ready .material-article-header.has-article-cover { max-width:1800px; }
body.studio-rail-ready .site-header.studio-header { left:calc(96px + var(--studio-gutter)); right:var(--studio-gutter); top:20px; width:auto; max-width:none; margin:0; padding:0; border:0; border-radius:0; background:transparent!important; box-shadow:none!important; transform:none!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; pointer-events:none; }
body.studio-rail-ready .studio-header .header-inner { width:100%; max-width:none; min-height:56px; padding:0; margin:0; border:0; background:transparent!important; box-shadow:none!important; backdrop-filter:none!important; display:flex; justify-content:space-between; pointer-events:none; }
body.studio-rail-ready .header-inner :is(.brand,.wave-cta) { pointer-events:auto; }
body.studio-rail-ready .studio-header .brand { width:max-content; flex:none; padding:10px 16px; border-radius:999px; background:#151515d9; color:#fff; }
body.studio-rail-ready.home-page:not(.has-scrolled) .studio-header .brand { background:transparent; }
body.studio-rail-ready .studio-header .brand-mark { width:28px; height:28px; }
body.studio-rail-ready .studio-header .brand-text strong { font-size:12px; }
body.studio-rail-ready .studio-header .brand-text>span { font-size:8px; }
body.studio-rail-ready .studio-header .wave-cta { display:inline-flex; min-height:52px; }
body.studio-rail-ready .studio-rail { position:fixed; z-index:110; left:14px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; align-items:center; gap:9px; width:68px; padding:12px 8px; border:1px solid #ffffff20; border-radius:36px; background:#1c1c1ce8; color:#f3f3f3; box-shadow:0 12px 40px #0002; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); pointer-events:auto; }
body.studio-rail-ready .studio-rail :is(.rail-primary,.rail-settings) { display:contents; }
body.studio-rail-ready .studio-rail :is(.rail-action,.header-theme-toggle) { position:relative; display:grid; place-items:center; width:48px; height:48px; min-width:48px; min-height:48px; margin:0; padding:0; border:1px solid transparent; border-radius:50%; background:transparent; color:#f3f3f3; cursor:pointer; transition:background .25s,color .25s,transform .25s; }
body.studio-rail-ready .studio-rail .o-icon { width:20px; height:20px; }
body.studio-rail-ready .studio-rail .rail-home img { filter:brightness(0) invert(1); }
body.studio-rail-ready .studio-rail :is(.rail-action,.header-theme-toggle):is(:hover,:focus-visible), body.studio-rail-ready .studio-rail [aria-expanded="true"],body.studio-rail-ready .studio-rail [aria-current="page"] { background:#ffffff15; border-color:#ffffff1a; }
body.studio-rail-ready .studio-rail .rail-assistant { background:var(--studio-red); }
body.studio-rail-ready .studio-rail .rail-assistant:is(:hover,:focus-visible) { background:var(--studio-red-deep); }
body.studio-rail-ready .studio-rail [data-rail-label]::after { content:attr(data-rail-label); position:absolute; left:60px; top:50%; transform:translate(4px,-50%); padding:8px 12px; border-radius:10px; background:#242424; color:white; font-size:12px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .2s,transform .2s; }
body.studio-rail-ready .studio-rail [data-rail-label]:is(:hover,:focus-visible)::after { opacity:1; transform:translate(0,-50%); }
.rail-divider { width:24px; height:1px; margin:3px 0; background:#ffffff24; }
body.studio-rail-ready .studio-rail .rail-apps { display:grid!important; grid-template-columns:repeat(2,7px); gap:4px; width:auto; height:auto; background:none; transform:none; position:static; }
.rail-apps i { display:block; width:7px; height:7px; border:1.5px solid currentColor; border-radius:2px; }
body.studio-rail-ready .studio-rail .studio-theme-track { background:none; border:0; width:24px; height:24px; }
body.studio-rail-ready .studio-rail .studio-theme-thumb { background:none; box-shadow:none; position:static; transform:none; width:24px; height:24px; }
body.studio-rail-ready .studio-rail :is(.studio-theme-sun,.studio-theme-moon) { display:none; }
body.studio-rail-ready .studio-header.is-open .mobile-sheet { position:fixed; z-index:130; top:20px; bottom:20px; left:110px; right:auto; width:min(980px,calc(100vw - 134px)); max-height:none; min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; align-content:start; overflow:auto; padding:28px; border-radius:28px; background:var(--suite-panel,#fff); color:var(--suite-ink,#242424); border:1px solid var(--suite-line); transform:none; animation:studio-explorer-in .25s ease both; pointer-events:auto; box-shadow:0 24px 100px #0003; }
body.studio-rail-ready .studio-header.is-open .mobile-sheet-backdrop { display:block!important; position:fixed; inset:0; z-index:100; background:#0006; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); pointer-events:auto; }
body.studio-rail-ready .mobile-sheet-head { grid-column:1/-1; display:flex; justify-content:space-between; padding-bottom:16px; }
body.studio-rail-ready .mobile-sheet-head .icon-button { width:44px; height:44px; }
.studio-explorer-practices { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:14px; }
body.studio-rail-ready .mobile-sheet .studio-explorer-practices>a { display:flex; gap:14px; align-items:center; min-width:0; min-height:94px; padding:10px; border:1px solid var(--suite-line); border-radius:16px; background:transparent; transition:background .2s,border-color .2s; }
body.studio-rail-ready .studio-explorer-practices>a:is(:hover,:focus-visible,[aria-current]) { background:var(--suite-soft); border-color:var(--studio-red); }
.studio-explorer-practices img { width:76px; height:70px; object-fit:cover; border-radius:10px; }
.studio-explorer-practices a>span { display:grid; gap:4px; flex:1; }
.studio-explorer-practices strong { font-size:14px; line-height:1.3; }
.studio-explorer-practices small { font-size:11px; line-height:1.4; color:var(--suite-muted); }
.studio-explorer-practices small:first-child { font-size:9px; letter-spacing:.08em; }
.studio-explorer-practices .o-icon { flex:none; width:16px; height:16px; }
body.studio-rail-ready .studio-explorer-practices a>.menu-practice-symbol { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; background:var(--suite-soft); border:1px solid var(--suite-line); border-radius:14px; }
body.studio-rail-ready .studio-explorer-practices .menu-practice-symbol .o-icon { width:22px; height:22px; }
body.studio-rail-ready .studio-explorer-practices .explorer-all { padding:20px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.studio-explorer-practices .explorer-all span { flex:none; font-size:12px; color:var(--suite-muted); }
body.studio-rail-ready .mobile-sheet>a:not(.button) { min-height:44px; padding:12px; font-size:14px; border-radius:12px; }
body.studio-rail-ready .mobile-sheet>.button { grid-column:1/-1; margin-top:8px; }
body.studio-rail-ready .osa-launcher { display:none!important; }
body.studio-rail-ready.nav-open { overflow:hidden; }
body.studio-rail-ready.nav-open .cookie-consent { display:none; }
@keyframes studio-explorer-in { from { opacity:0; translate:-12px 0; } to { opacity:1; translate:0 0; } }
@media(min-width:1000px) {
 body.studio-rail-ready .scenario-layout { grid-template-columns:52% 42%; gap:6%; }
 body.studio-rail-ready .capability-examples .section-head h2 { max-width:760px; }
 body.studio-rail-ready .capability-examples .section-head p { max-width:560px; }
 body.studio-rail-ready .capability-examples:not(.scenario-ready) .scenario-stories>li { display:grid; grid-template-columns:52% minmax(0,42%); column-gap:6%; align-content:start; }
 body.studio-rail-ready .capability-examples:not(.scenario-ready) .scenario-stories>li>.scenario-inline-image { grid-column:1; grid-row:1/7; margin:0; }
 body.studio-rail-ready .capability-examples:not(.scenario-ready) .scenario-stories>li>:not(.scenario-inline-image) { grid-column:2; }
 body.studio-rail-ready .capability-examples:not(.scenario-ready) .scenario-stories>li>.button { justify-self:start; }
}
@media(max-width:767px) {
 body.studio-rail-ready { padding-left:0!important; padding-bottom:calc(92px + env(safe-area-inset-bottom))!important; --studio-gutter:20px; }
 body.studio-rail-ready .site-header.studio-header { left:16px; right:16px; top:14px; }
 body.studio-rail-ready .studio-header .brand { padding:8px 12px; }
 body.studio-rail-ready .studio-header .wave-cta { display:none; }
 body.studio-rail-ready .studio-rail { left:50%; top:auto; bottom:calc(12px + env(safe-area-inset-bottom)); transform:translateX(-50%); flex-direction:row; gap:4px; width:max-content; max-width:calc(100vw - 24px); padding:7px; }
 body.studio-rail-ready .studio-rail :is(.rail-materials,.rail-divider) { display:none; }
 body.studio-rail-ready .studio-rail :is(.rail-action,.header-theme-toggle) { width:44px; height:44px; min-width:44px; min-height:44px; }
 body.studio-rail-ready .studio-rail [data-rail-label]::after { display:none; }
 body.studio-rail-ready .studio-header.is-open .mobile-sheet { top:12px; left:10px; bottom:calc(88px + env(safe-area-inset-bottom)); width:calc(100vw - 20px); max-height:none; padding:18px; gap:4px 12px; border-radius:24px; }
 .studio-explorer-practices { grid-template-columns:1fr; gap:6px; }
 body.studio-rail-ready .mobile-sheet .studio-explorer-practices>a { min-height:82px; }
 .studio-explorer-practices img { width:68px; height:60px; }
 body.studio-rail-ready .mobile-sheet>a:not(.button) { padding:10px 4px; font-size:13px; }
 body.studio-rail-ready .cookie-consent { bottom:calc(90px + env(safe-area-inset-bottom)); max-height:calc(100dvh - 116px); overflow:auto; }
}
@media(min-width:1000px) and (prefers-reduced-motion:reduce) {
 body.studio-rail-ready .capability-examples .scenario-stories>li { display:grid; grid-template-columns:52% minmax(0,42%); column-gap:6%; align-content:start; }
 body.studio-rail-ready .capability-examples .scenario-stories>li>.scenario-inline-image { grid-column:1; grid-row:1/7; margin:0; }
 body.studio-rail-ready .capability-examples .scenario-stories>li>:not(.scenario-inline-image) { grid-column:2; }
 body.studio-rail-ready .capability-examples .scenario-stories>li>.button { justify-self:start; }
}
@media(prefers-reduced-motion:reduce) { body.studio-rail-ready .studio-header.is-open .mobile-sheet { animation:none; } body.studio-rail-ready .studio-rail * { transition:none!important; } }
/* Explicit precedence over the retained editorial header variants. */
:root[data-theme].js body.studio-unified.studio-rail-ready .site-header.studio-header { position:fixed!important; inset:20px var(--studio-gutter) auto calc(96px + var(--studio-gutter))!important; width:auto!important; background:transparent!important; border:0!important; box-shadow:none!important; backdrop-filter:none!important; }
:root[data-theme].js body.studio-unified.studio-rail-ready .site-header.studio-header .header-inner { width:100%!important; max-width:none!important; min-height:56px!important; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail .menu-toggle { display:grid!important; background:transparent!important; color:#fff!important; border-color:transparent!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail .menu-toggle .rail-apps { background:none!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail :is(.menu-toggle,.header-theme-toggle) { order:0!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail .menu-toggle .rail-apps { transform:none!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-header.is-open .mobile-sheet { background:var(--suite-panel)!important; color:var(--suite-ink)!important; }
:root[data-theme="dark"] body.studio-unified.studio-rail-ready .mobile-product-link img { filter:brightness(0) invert(1); }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail .menu-toggle .rail-apps::before,:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail .menu-toggle .rail-apps::after { content:none!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .brand-text { flex-direction:column; align-items:flex-start; gap:3px; }
@media(min-width:768px) { body.studio-unified.studio-rail-ready { padding-left:96px!important; } }
@media(min-width:768px) and (max-height:600px) {
 body.studio-rail-ready .studio-rail { gap:4px; padding-block:7px; }
 body.studio-rail-ready .studio-rail :is(.rail-action,.header-theme-toggle) { width:44px; height:44px; min-width:44px; min-height:44px; }
}
@media(max-width:767px) { :root[data-theme].js body.studio-unified.studio-rail-ready .site-header.studio-header { inset:14px 16px auto!important; } }
/* The rail floats on the page, rather than cutting a differently coloured stripe
   from the homepage hero. Header surfaces remain transparent while scrolling. */
:root[data-theme].js body.home-page.studio-unified.studio-rail-ready .site-header.studio-header { inset:20px 32px auto 24px!important; }
:root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand { background:transparent!important; border:0!important; padding-left:0; color:var(--suite-ink)!important; }
:root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand-text :is(strong,span) { color:var(--suite-ink)!important; }
:root[data-theme="light"] body.home-page.studio-unified.studio-rail-ready .studio-header .brand-mark { filter:none!important; }
:root[data-theme="dark"] body.home-page.studio-unified.studio-rail-ready .studio-header .brand-mark { filter:brightness(0) invert(1)!important; }
:root[data-theme] body.studio-unified.studio-rail-ready.has-scrolled .header-actions .wave-cta { opacity:0; visibility:hidden; pointer-events:none; }
body.studio-rail-ready .header-actions .wave-cta { transition:opacity .2s,visibility .2s; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail { background:color-mix(in srgb,var(--suite-panel) 92%,transparent); color:var(--suite-ink); border-color:var(--suite-line); }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail :is(.rail-action,.header-theme-toggle),
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail .menu-toggle { color:var(--suite-ink)!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail .rail-assistant { color:white!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail :is(.studio-theme-thumb,.studio-theme-thumb svg) { color:var(--suite-ink)!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail :is(.studio-theme-sun,.studio-theme-moon) { display:none!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail .studio-theme-thumb { position:absolute!important; inset:0!important; width:24px; height:24px; transform:none!important; translate:none!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail [data-rail-theme-icon] { display:block!important; position:static!important; width:20px!important; height:20px!important; color:var(--suite-ink)!important; opacity:1!important; }
:root[data-theme].js body.home-page.studio-unified.studio-cards.studio-rail-ready .site-header.studio-header .header-inner { background:transparent!important; border:0!important; box-shadow:none!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }
:root[data-theme="light"] body.studio-unified.studio-rail-ready .studio-rail .rail-home img { filter:none; }
:root[data-theme="light"] body.studio-unified.studio-rail-ready .studio-rail :is(.rail-action,.header-theme-toggle):is(:hover,:focus-visible),
:root[data-theme="light"] body.studio-unified.studio-rail-ready .studio-rail [aria-current="page"] { background:#e5e5e5; border-color:#d3d3d3; }
:root[data-theme="light"] body.studio-unified.studio-rail-ready .rail-divider { background:#d7d7d7; }
:root[data-theme="light"] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero) { background:#f0f0f0!important; color:var(--suite-ink)!important; }
:root[data-theme="light"] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero) :is(h1,h2) { color:var(--suite-ink)!important; }
:root[data-theme="light"] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero,.material-article-hero) :is(p,.kicker,.pricing-label,.breadcrumbs,.breadcrumbs a) { color:var(--suite-muted)!important; }
:root[data-theme="light"] body.studio-unified.studio-inner :is(.page-hero,.pricing-hero,.solution-hero) :is(.button-ghost-inverse,.button-ghost,.button-light:nth-child(n+2)) { color:var(--suite-ink)!important; border-color:#aaa!important; background:#ffffff50!important; }
:root[data-theme="light"] body.studio-inner .hero-field-fallback { background:radial-gradient(ellipse at 90% 90%,#c6c6c6,transparent 65%),#f5f5f5; }
@media(max-width:767px) { :root[data-theme].js body.home-page.studio-unified.studio-rail-ready .site-header.studio-header { inset:14px 20px auto!important; } }
@media(min-width:768px) {
 :root[data-theme].js body.home-page.studio-unified.studio-rail-ready .site-header.studio-header { left:16px!important; }
 :root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand { gap:6px; padding:0; min-width:0!important; width:max-content!important; flex:0 0 auto; }
 :root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand-mark { width:24px!important; height:24px!important; }
 :root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand-text strong { font-size:10px!important; letter-spacing:.06em!important; }
 :root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand-text>span { font-size:7px!important; }
}
.explorer-format-jumps { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:6px; padding:6px 0 18px; }
.explorer-format-jumps>span { width:100%; margin-bottom:7px; color:var(--suite-muted); font-size:9px; letter-spacing:.06em; }
body.studio-rail-ready .mobile-sheet .explorer-format-jumps>a { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; border:1px solid var(--suite-line); border-radius:999px; color:var(--suite-ink); font-size:11px; }
body.studio-rail-ready .mobile-sheet .explorer-format-jumps>a:is(:hover,:focus-visible) { border-color:var(--studio-red); }

:root[data-theme].js body.home-page.studio-unified.studio-rail-ready .site-header.studio-header { left:40px!important; }
@media(max-width:767px) { :root[data-theme].js body.home-page.studio-unified.studio-rail-ready .site-header.studio-header { left:24px!important; } }

/* Mirador-inspired interaction: the arrow disc expands into the button surface. */
:root[data-theme] body.studio-unified.studio-rail-ready .ed-button {
 --button-fill:var(--studio-red); --button-ink:var(--suite-ink);
 position:relative; isolation:isolate; overflow:hidden; display:inline-flex; align-items:center;
 min-height:56px; padding:6px 6px 6px 24px!important; gap:22px; border:1px solid var(--suite-line)!important;
 border-radius:999px; background:var(--suite-soft)!important; color:var(--button-ink)!important;
 -webkit-text-fill-color:currentColor!important; transform:none!important; font:500 13px/1.3 "Onest Local",sans-serif;
 transition:color .4s,border-color .4s!important; cursor:pointer;
}
:root[data-theme] body.studio-unified.studio-rail-ready .ed-button::after { display:none!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .ed-button::before {
 content:""; position:absolute; inset:0; z-index:-1; background:var(--button-fill);
 clip-path:circle(0 at calc(100% - 28px) 50%); transition:clip-path .65s cubic-bezier(.22,.8,.25,1); pointer-events:none;
}
:root[data-theme] body.studio-unified.studio-rail-ready .ed-button>span[aria-hidden] {
 display:grid!important; flex:none; place-items:center; width:44px!important; height:44px!important;
 padding:0; border-radius:50%; background:var(--studio-red)!important; color:#fff!important;
 -webkit-text-fill-color:#fff!important; font-size:18px; transition:background .4s,color .4s,rotate .45s;
}
:root[data-theme] body.studio-unified.studio-rail-ready .ed-button:is(:hover,:focus-visible) { color:#fff!important; border-color:var(--studio-red)!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .ed-button:is(:hover,:focus-visible)::before { clip-path:circle(150% at calc(100% - 28px) 50%); }
:root[data-theme] body.studio-unified.studio-rail-ready .ed-button:is(:hover,:focus-visible)>span[aria-hidden] { background:#fff!important; color:var(--studio-red)!important; -webkit-text-fill-color:var(--studio-red)!important; rotate:45deg; }
:root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand {
 gap:10px; transition:opacity .3s,translate .3s,visibility .3s; min-width:0!important;
}
:root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand-mark { width:40px!important; height:40px!important; }
:root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand-text strong { font-size:15px!important; letter-spacing:.09em!important; }
:root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand-text>span { font-size:8px!important; letter-spacing:.3em!important; }
:root[data-theme] body.home-page.studio-unified.studio-rail-ready.has-scrolled .studio-header .brand { opacity:0; visibility:hidden; translate:0 -12px; pointer-events:none; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail { background:color-mix(in srgb,var(--suite-panel) 30%,transparent); border-color:transparent; box-shadow:none; backdrop-filter:blur(18px); transition:background .35s,border-color .35s,box-shadow .35s; }
:root[data-theme] body.studio-unified.studio-rail-ready.has-scrolled .studio-rail { background:color-mix(in srgb,var(--suite-panel) 88%,transparent); border-color:var(--suite-line); box-shadow:0 12px 32px #00000012; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail :is(.rail-action,.header-theme-toggle,.menu-toggle) { display:grid; place-items:center; }
/* Override the legacy header switch's !important flex display and 54px flex basis. */
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail .header-theme-toggle { display:grid!important; place-items:center; justify-content:center; flex:0 0 auto; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail :is(.rail-home,.header-theme-toggle) { background:color-mix(in srgb,var(--suite-ink) 7%,transparent); border:1px solid var(--suite-line); }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail .o-icon { width:20px; height:20px; stroke-width:1.7; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-rail :is(.rail-action,.header-theme-toggle):focus-visible { outline:2px solid var(--studio-red); outline-offset:3px; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-header.is-open .mobile-sheet { background:color-mix(in srgb,var(--suite-panel) 90%,transparent); backdrop-filter:blur(32px); -webkit-backdrop-filter:blur(32px); gap:12px; padding:24px; }
body.studio-rail-ready .mobile-sheet .studio-explorer-practices>a { border-color:transparent; background:color-mix(in srgb,var(--suite-ink) 4%,transparent); padding:12px; }
.studio-explorer-practices { gap:10px; margin-bottom:0; }
body.studio-rail-ready .mobile-sheet .explorer-format-jumps { padding:8px 0; gap:6px; }
body.studio-rail-ready .mobile-sheet .explorer-format-jumps>a { border-color:transparent; border-radius:12px; font-size:12px; }

/* Audit iteration: clear choices, shared with the existing studio surfaces. */
body.studio-rail-ready .mobile-sheet .explorer-format-jumps {
 display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:16px 0;
}
body.studio-rail-ready .mobile-sheet .explorer-format-jumps>a {
 display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
 gap:7px; min-height:88px; padding:16px; border:1px solid var(--suite-line); border-radius:18px;
}
.explorer-format-jumps>a strong { font-size:15px; font-weight:500; }
.explorer-format-jumps>a span { color:var(--suite-muted); font-size:12px; line-height:1.5; }
.explorer-sections .mobile-product-link { margin-top:12px; }
body.studio-rail-ready .mobile-sheet { scrollbar-color:#999 transparent; scrollbar-gutter:stable; }
body.studio-rail-ready .mobile-sheet { scroll-padding-top:88px; }
body.studio-rail-ready .mobile-sheet-head { position:sticky; top:-24px; z-index:3; margin:-24px -24px 0; padding:12px 24px; min-height:72px; align-items:center; background:var(--suite-panel); border-bottom:1px solid var(--suite-line); }
.explorer-sections input[type="search"] { margin:16px 0 12px; }
body.studio-rail-ready .explorer-sections input[type="search"] { position:sticky; top:72px; z-index:2; background:var(--suite-panel); box-shadow:0 0 0 10px var(--suite-panel); }
.application-group-grid { margin-block:24px; }
@media(max-width:600px) {
 body.studio-rail-ready .mobile-sheet .explorer-format-jumps { grid-template-columns:1fr; }
 body.studio-rail-ready .mobile-sheet .explorer-format-jumps>a { min-height:76px; padding:14px; }
}
body.studio-rail-ready .mobile-sheet .mobile-product-link { grid-column:1/-1; margin:0; padding:14px; border-radius:16px; background:var(--suite-soft); }
body.studio-rail-ready .mobile-sheet .explorer-discuss { justify-self:start; width:auto; }
body.studio-rail-ready .mobile-sheet .explorer-telegram { align-self:center; justify-self:end; font-size:12px; }
:root[data-theme] body.studio-unified .studio-footer { display:flex; flex-direction:column; justify-content:space-between; gap:48px; min-height:100svh; margin:16px 12px 12px; padding:64px 0 28px; border-radius:32px!important; background:var(--suite-soft)!important; }
body.studio-unified .studio-footer .footer-grid { grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:32px; }
body.studio-unified .studio-footer .footer-grid>div:first-child>p { max-width:320px; font-size:13px; line-height:1.7; margin:20px 0; }
body.studio-unified .studio-footer .footer-grid h3 { font-size:11px; opacity:.6; margin-bottom:18px; }
body.studio-unified .studio-footer .footer-grid>div>a:not(.brand) { font-size:12px; line-height:1.6; margin-bottom:10px; }
body.studio-unified .studio-footer-signature { font-size:clamp(72px,17vw,280px); margin-top:48px; padding-bottom:16px; font-weight:450; letter-spacing:-.075em; }
body.studio-unified .studio-footer .footer-bottom { padding-top:20px; border-top:1px solid var(--suite-line); font-size:11px; }
body.studio-unified .studio-footer .wide-container { width:auto; max-width:none; margin-left:88px; margin-right:40px; }
body.studio-unified .studio-footer { container-type:inline-size; }
body.studio-unified .studio-footer .studio-footer-signature { display:flex; align-items:baseline; justify-content:flex-start; gap:.045em; font:500 clamp(34px,calc((100cqw - 128px) / 8.5),300px)/1 "Onest Local",Arial,sans-serif; letter-spacing:-.065em; margin-top:0; padding-bottom:0; transform:translateY(clamp(10px,1.2vw,24px)); }
body.studio-unified .studio-footer .studio-footer-signature>strong { font:inherit; font-size:1.16em; font-weight:500; white-space:nowrap; }
body.studio-unified .studio-footer .studio-footer-signature>span { display:block; font:inherit; font-size:.88em; font-weight:200; letter-spacing:-.055em; text-align:right; margin:0; white-space:nowrap; }
body.studio-unified .studio-footer .footer-grid>div { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
body.studio-unified .studio-footer .footer-grid>div>a:not(.brand) { margin:0; }
body.studio-unified .studio-footer .footer-legal-button { font:400 12px/1.5 "Onest Local",sans-serif; }
:root[data-theme] body.studio-unified.studio-rail-ready.studio-inner :is(.page-hero,.pricing-hero,.solution-hero) .button.ed-button[data-dialog-open] { background:var(--suite-soft)!important; color:var(--suite-ink)!important; -webkit-text-fill-color:currentColor!important; }
:root[data-theme] body.studio-unified.studio-rail-ready.studio-inner :is(.page-hero,.pricing-hero,.solution-hero) .button.ed-button[data-dialog-open]:is(:hover,:focus-visible) { color:#fff!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .ed-button>span[aria-hidden] .o-icon { width:18px; height:18px; }
@media(max-width:999px) { body.studio-unified .studio-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 :root[data-theme] body.studio-unified .studio-footer { margin:8px 12px 90px; padding-top:32px; border-radius:24px!important; }
 body.studio-unified .studio-footer .footer-grid { gap:28px 18px; }
 body.studio-unified .studio-footer .footer-grid>div:first-child { grid-column:1/-1; }
 body.studio-unified .studio-footer .wide-container { margin-left:20px; margin-right:20px; }
 body.studio-unified .studio-footer .studio-footer-signature { flex-direction:column; align-items:stretch; gap:2px; font-size:clamp(40px,calc((100cqw - 40px) / 5.45),120px); }
 body.studio-unified .studio-footer .footer-grid>div:last-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:6px 18px; }
 body.studio-unified .studio-footer .footer-grid>div:last-child h3 { grid-column:1/-1; }
 body.studio-unified .studio-footer .footer-grid :is(a:not(.brand),.footer-legal-button) { min-height:44px; display:flex; align-items:center; }
 body.studio-unified .studio-footer-signature { font-size:clamp(64px,19vw,140px); gap:8px; }
 body.studio-unified .studio-footer-signature>span { font-size:8px; }
 body.studio-rail-ready .mobile-sheet .explorer-discuss { grid-column:1/-1; }
 body.studio-rail-ready .mobile-sheet .explorer-telegram { justify-self:start; }
}
@media(prefers-reduced-motion:reduce) {
 :root[data-theme] body.studio-unified.studio-rail-ready .ed-button,
 :root[data-theme] body.studio-unified.studio-rail-ready .ed-button::before,
 :root[data-theme] body.studio-unified.studio-rail-ready .ed-button>span[aria-hidden],
 :root[data-theme] body.home-page.studio-unified.studio-rail-ready .studio-header .brand { transition:none!important; }
}

/* Industry knowledge, on the same type, surface and spacing system as the studio. */
:root[data-theme] body.studio-unified.applications-page .container { width:calc(100% - 176px); max-width:1600px; margin-left:auto; margin-right:40px; }
:root[data-theme] body.studio-unified.applications-page .application-hero { padding:130px 0 64px!important; }
.application-hero .breadcrumbs { margin-bottom:36px; font-size:12px; }
.application-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:64px; }
.application-hero-grid:not(:has(figure)) { grid-template-columns:1fr; max-width:1150px; }
:root[data-theme] body.studio-unified.applications-page .application-hero h1 { font-size:clamp(42px,4.5vw,78px)!important; line-height:1.04!important; letter-spacing:-.055em; margin:16px 0 24px; }
.application-hero-grid>div>p:not(.kicker) { max-width:700px; font-size:17px; line-height:1.7; }
.application-hero figure { margin:0; }
/* Reserve the sector picker before deferred enhancement; no-JS keeps the links. */
html.js .application-hero:has(.application-segment-picker) .application-links { display:none; }
html:not(.js) .application-segment-picker { display:none; }
.application-hero img,.application-feature>img { width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; border-radius:28px; }
.application-hero figcaption { font-size:11px; line-height:1.6; color:var(--suite-muted); margin-top:12px; }
.application-content { padding-bottom:80px; }
.application-content h2,.home-application-entry h2 { font-size:clamp(32px,3.1vw,54px); font-weight:450; line-height:1.12; letter-spacing:-.045em; margin:0 0 24px; }
.application-content h3 { font-size:21px; line-height:1.3; font-weight:500; letter-spacing:-.025em; margin:26px 0 12px; }
.application-content p,.application-content li { color:var(--suite-muted); font-size:15px; line-height:1.8; }
.application-content ul { padding-left:20px; }
.application-content li+li { margin-top:8px; }
.application-intro { max-width:800px; margin:44px 0; }
.application-grid,.application-group-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.application-group-grid { margin:48px 0 80px; }
.application-group-grid>a,.application-card,.application-grid>article { min-width:0; border:1px solid var(--suite-line); border-radius:24px; padding:26px; color:var(--suite-ink); background:var(--suite-paper); text-decoration:none; }
.application-group-grid strong { display:block; font-size:22px; font-weight:450; line-height:1.25; letter-spacing:-.03em; margin-bottom:14px; }
.application-group-grid span { color:var(--suite-muted); font-size:14px; line-height:1.7; }
.application-group-grid>a:is(:hover,:focus-visible),.application-card:focus-within { border-color:var(--studio-red); }
.application-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.application-card h3 { margin:12px 0 16px; }
.application-card a { color:var(--suite-ink); text-decoration:none; }
.application-card small { display:block; color:var(--suite-muted); line-height:1.7; }
.application-card[hidden] { display:none!important; }
.application-filters { display:flex; flex-wrap:wrap; align-items:end; gap:18px; margin:30px 0 20px; }
/* Service concepts are readable HTML, never generated pseudo-interfaces. */
.service-art { --art-accent:#284fc4; --art-soft:#e7edfc; min-width:0; overflow:hidden; text-align:left; }
.service-art-teal { --art-accent:#15716b; --art-soft:#e2f2ee; }
.service-art-violet { --art-accent:#6850a2; --art-soft:#ece8f8; }
.service-art-indigo { --art-accent:#404e99; --art-soft:#e7eafa; }
.service-art-lime { --art-accent:#284fc4; --art-soft:#d9f58c; }
.service-art-plum { --art-accent:#684d7d; --art-soft:#ece6f2; }
.service-art-coral { --art-accent:#984c42; --art-soft:#fae3df; }
.service-art-body { padding:clamp(20px,3vw,36px); border:1px solid var(--suite-line); border-radius:24px; background:var(--suite-panel); color:var(--suite-ink); }
:root[data-theme] body.studio-unified.studio-inner .page-hero .service-art p { color:var(--art-copy,var(--suite-muted))!important; font-size:13px; line-height:1.6; }
.service-art-note,.service-art-formats article { --art-copy:#243145; }
.service-art-poster,.service-art-formats article:first-child { --art-copy:#fff; }
.service-art .service-art-body :is(h2,h3) { margin:12px 0 20px; font-size:clamp(24px,2.5vw,38px); line-height:1.1; letter-spacing:-.04em; }
.service-art p { font-size:13px; line-height:1.6; }
.service-art-tag { font-size:9px; letter-spacing:.08em; line-height:1.6; }
.service-art-catalog { display:grid; gap:20px; }
.service-art .service-art-catalog>img { width:100%; aspect-ratio:2.1; object-fit:cover; border-radius:14px; }
.service-art dl { display:grid; gap:10px; margin:16px 0; font-size:12px; }
.service-art dl>div { display:flex; gap:12px; justify-content:space-between; padding-bottom:8px; border-bottom:1px solid var(--suite-line); }
.service-art dd { margin:0; font-weight:500; text-align:right; }
.service-art .service-art-note { padding:14px; margin:20px 0 0; background:var(--art-soft); color:#243145; border-radius:12px; }
.service-art-job,.service-art-answer { padding:20px; border:1px solid var(--suite-line); border-radius:16px; }
.service-art-job>span,.service-art-job>strong { display:block; margin-bottom:10px; }
.service-art-job>span { font-size:11px; color:var(--suite-muted); }
.service-art-steps { display:flex; gap:6px; list-style:none; padding:0; margin:18px 0 0; flex-wrap:wrap; }
.service-art-steps li { padding:8px 12px; border-radius:99px; background:var(--art-soft); color:#243145; font-size:11px; }
.service-art-flow,.service-art-journey { display:grid; gap:10px; list-style:none; padding:0; margin:0; }
.service-art-flow li,.service-art-journey li { display:grid; gap:6px; padding:16px; border:1px solid var(--suite-line); border-left:4px solid var(--art-accent); border-radius:12px; }
.service-art :is(.service-art-flow,.service-art-journey) span { font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--suite-muted); }
.service-art :is(.service-art-flow,.service-art-journey) small { font-size:12px; line-height:1.5; color:var(--suite-muted); }
.service-art-answer details { margin-top:18px; font-size:12px; }
.service-art-answer summary { min-height:44px; padding:10px 0; cursor:pointer; color:var(--suite-ink); }
.service-art-answer blockquote { margin:10px 0 0; padding:14px; border-left:3px solid var(--art-accent); background:var(--art-soft); color:#243145; line-height:1.6; }
.service-art-brand { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.service-art-poster { display:flex; flex-direction:column; justify-content:space-between; min-height:310px; padding:20px; background:#284fc4; color:white; border-radius:12px; }
.service-art-poster>span { font-size:8px; letter-spacing:.08em; }
.service-art-poster>strong { font-size:clamp(40px,5vw,76px); line-height:.9; letter-spacing:-.07em; color:#d9f58c; }
.service-art-card { display:grid; gap:20px; padding:16px; border-radius:10px; background:#d9f58c; color:#19315e; }
.service-art-card strong { font-size:20px; letter-spacing:-.05em; }
.service-art-card span { font-size:10px; }
.service-art-formats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.service-art-formats article { padding:16px; border-radius:12px; background:var(--art-soft); color:#243145; min-width:0; }
.service-art-formats article:first-child { background:#253c72; color:#fff; }
.service-art-formats span { font-size:8px; letter-spacing:.04em; }
.service-art-formats h4 { margin:32px 0 18px; font-size:18px; line-height:1.2; letter-spacing:-.03em; }
.service-art-formats p { font-size:11px; }
.service-art>figcaption { padding:12px 4px; font-size:11px; line-height:1.6; color:var(--suite-muted); }
.scenario-concept { padding:clamp(20px,2.5vw,32px); border:1px solid var(--suite-line); border-radius:24px; background:var(--suite-panel); color:var(--suite-ink); }
.service-editorial-section h2 { max-width:900px; margin:18px 0 32px; }
.service-editorial-section .application-grid { margin:24px 0; }
.service-editorial-section:is(#first-release,#handover) .application-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:767px) { .service-editorial-section:is(#first-release,#handover) .application-grid { grid-template-columns:1fr; } }
.service-editorial-section .application-grid article { padding:24px; border:1px solid var(--suite-line); border-radius:22px; background:var(--suite-panel); }
.service-editorial-section h3 { font-size:24px; letter-spacing:-.03em; margin:0 0 16px; }
.service-editorial-section :is(p,li) { color:var(--suite-muted); font-size:15px; line-height:1.7; }
.service-editorial-section li+li { margin-top:8px; }
.service-route-anchor { display:block; height:0; scroll-margin-top:120px; }
.article-audience { padding:22px; border:1px solid var(--suite-line); border-radius:20px; margin-bottom:32px; background:var(--suite-panel); }
:root[data-theme] body.studio-unified.studio-inner .material-toc { padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; }
.studio-inner .article-audience { padding:0 0 0 18px; border:0; border-left:2px solid var(--suite-line); border-radius:0; background:transparent; margin-bottom:28px; }
@media(max-width:767px) {
 :root[data-theme] body.studio-unified.studio-inner .material-toc { gap:6px 20px; padding:0!important; }
 :root[data-theme] body.studio-unified.studio-inner .material-toc>a { display:flex; align-items:center; min-height:44px!important; padding:6px 0!important; line-height:1.4; }
 .material-toc .article-reference-index { margin-top:0; padding-top:0; }
 .material-toc .article-reference-index>summary { min-height:44px; padding:8px 0; }
}
:root[data-theme] body.studio-unified.studio-inner .material-article-hero { padding:135px 0 44px!important; }
:root[data-theme] body.studio-unified.studio-inner .material-article-hero h1 { font-size:clamp(34px,3.5vw,52px)!important; }
@media(min-width:1024px){.article-hero-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:36px}.article-hero-cover{max-width:440px;justify-self:end}}
@media(max-width:767px){:root[data-theme] body.studio-unified.studio-inner .material-article-hero{padding:115px 0 32px!important}}
.article-audience p { margin:8px 0 14px; }
.article-practical { padding-block:30px; scroll-margin-top:120px; }
.article-practical table { min-width:620px; width:100%; border-collapse:collapse; font-size:14px; line-height:1.6; }
.article-practical table[data-columns="2"] { min-width:0; table-layout:fixed; }
.article-practical table[data-columns="2"] th:first-child { width:42%; }
.article-table-hint { display:none; }
@media(max-width:767px){.article-table-hint{display:block;font-size:12px!important;line-height:1.6}.article-practical table[data-columns="2"] :is(th,td){padding:12px;overflow-wrap:anywhere}}
.article-practical th,.article-practical td { padding:16px; border:1px solid var(--suite-line); text-align:left; vertical-align:top; }
.article-practical th { color:var(--suite-ink); background:var(--suite-soft); font-weight:500; }
.article-practical-note { padding:18px; border-left:3px solid var(--suite-muted); background:var(--suite-soft); border-radius:0 12px 12px 0; font-size:14px; line-height:1.7; }
:root[data-theme] body.studio-unified.studio-inner .article-practical-note { color:var(--suite-ink)!important; }
.article-reference { border-block:1px solid var(--suite-line); margin-block:34px; }
.article-reference>summary { padding:22px 8px; min-height:56px; color:var(--suite-ink); cursor:pointer; font-weight:500; }
.article-reference-content { padding-top:12px; }
.article-reference-index { margin-top:6px; border-top:1px solid var(--suite-line); padding-top:12px; }
.article-reference-index>summary { cursor:pointer; padding-block:10px; min-height:44px; font-size:12px; color:var(--suite-muted); }
.article-reference-index a { display:block; padding-block:7px; }
.article-reference:focus-within,.article-reference-index:focus-within { border-color:var(--suite-muted); }
.solution-editorial-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; counter-reset:solution-step; list-style:none; padding:0; margin:28px 0; }
.solution-editorial-flow li { padding:20px; border:1px solid var(--suite-line); border-radius:18px; background:var(--suite-panel); }
.solution-editorial-flow li::before { counter-increment:solution-step; content:counter(solution-step,decimal-leading-zero); display:block; margin-bottom:24px; font-size:11px; color:var(--suite-muted); }
.solution-spec-card { margin-top:20px; }
:root[data-theme] body.studio-unified.studio-inner .solution-hero-meta dd { color:var(--suite-ink)!important; font-size:14px; font-weight:500; }
:root[data-theme] body.studio-unified.studio-inner .solution-hero-meta dt,:root[data-theme] body.studio-unified.studio-inner .solution-response-note { color:var(--suite-muted)!important; }
:root[data-theme] body.studio-unified.studio-inner :is(.solution-hero-meta,.solution-hero-meta div) { border-color:var(--suite-line)!important; }
.solution-launch-artifacts { display:grid; gap:12px; margin:20px 0; }
.solution-launch-artifacts article { padding:18px; border:1px solid var(--suite-line); border-radius:14px; }
.solution-launch-artifacts article>span,.solution-launch-artifacts article>strong { display:block; }
.solution-launch-artifacts article>span { font-size:9px; letter-spacing:.06em; margin-bottom:12px; color:var(--suite-muted); }
.solution-launch-artifacts :is(p,li) { font-size:13px; line-height:1.6; }
:root[data-theme] body.studio-unified.studio-inner .solution-hero .service-art p { color:var(--art-copy,var(--suite-muted))!important; font-size:13px; line-height:1.6; }
.solution-economics-disclosure { margin-block:32px; padding:24px; border:1px solid var(--suite-line); border-radius:24px; }
.solution-economics-disclosure>summary { min-height:44px; padding:12px 0; cursor:pointer; }
.solution-economics-disclosure #calculator { padding:24px 0!important; }
@media(max-width:900px) { .solution-editorial-flow { grid-template-columns:1fr; } .solution-editorial-flow li { display:flex; align-items:start; gap:18px; } .solution-editorial-flow li::before { margin:0; flex:none; } }
.scenario-concept h4 { font-size:clamp(23px,2.3vw,34px); line-height:1.15; letter-spacing:-.04em; margin:18px 0 24px; }
.scenario-concept dl>div { display:grid; grid-template-columns:.7fr 1.3fr; gap:16px; font-size:13px; line-height:1.6; padding:12px 0; }
.scenario-concept dd { font-size:13px; line-height:1.6; text-align:left; color:var(--suite-ink); }
.scenario-concept dt,.scenario-concept>small { color:var(--suite-muted); }
.scenario-concept>small { display:block; font-size:9px; letter-spacing:.05em; margin-top:18px; }
body.studio-rail-ready .scenario-concept .service-art-note { color:#243145; font-size:13px; line-height:1.6; }
body.studio-rail-ready .scenario-concept.scenario-inline-image { height:auto; aspect-ratio:auto; }
@media(min-width:1000px) and (prefers-reduced-motion:no-preference) {
 .scenario-image-stack:has(.scenario-concept) { display:grid; aspect-ratio:auto; height:auto; background:var(--suite-panel); }
 .scenario-image-stack>.scenario-concept { position:relative; inset:auto; grid-area:1/1; min-height:460px; }
}
@media(max-width:767px) { .service-art-brand,.service-art-formats { grid-template-columns:1fr; } .service-art-poster { min-height:280px; } .service-art-poster>strong { font-size:78px; } .service-art-formats h4 { margin-top:18px; } }
.application-hero .application-filters { display:grid; grid-template-columns:2fr 1fr 1.2fr auto; gap:14px; max-width:1150px; }
.application-hero .application-filters .button { min-height:50px; }
body.studio-unified.applications-page .application-catalog-hero .breadcrumbs { margin-bottom:20px; }
body.studio-unified.applications-page .application-catalog-hero .application-filters { margin-bottom:0; }
@media(max-width:767px) {
 body.studio-unified.applications-page .application-catalog-hero .breadcrumbs { margin-bottom:20px; }
 body.studio-unified.applications-page .application-catalog-hero .application-hero-grid>div>p:not(.kicker) { font-size:15px; line-height:1.6; }
 body.studio-unified.applications-page .application-catalog-hero .application-filters { margin-top:22px; }
}
[data-application-more] { margin-top:24px; }
[data-application-more][hidden] { display:none!important; }
[data-application-count][hidden],.application-filters>button[hidden] { display:none!important; }
@media(max-width:767px) {
 .application-hero .application-filters { grid-template-columns:1fr 1fr; gap:14px; }
 .application-hero .application-filters>label:first-child { grid-column:1/-1; }
 .application-hero .application-filters>.button { grid-column:1/-1; justify-self:start; }
}
.explorer-search-results { display:grid; gap:10px; }
.explorer-search-results a { display:grid; gap:6px; padding:18px; border:1px solid var(--suite-line); border-radius:18px; color:var(--suite-ink); text-decoration:none; }
.explorer-search-results a:hover { background:var(--suite-paper); }
.explorer-search-results :is(small,span),.explorer-search-count { font-size:13px; line-height:1.5; color:var(--suite-muted); }
.explorer-search-results[hidden],.explorer-search-count[hidden] { display:none!important; }
.application-filters label { display:grid; gap:10px; flex:1 1 200px; min-width:0; font-size:12px; color:var(--suite-muted); }
.application-filters input,.application-filters select { width:100%; min-height:50px; border:1px solid var(--suite-line); border-radius:16px; padding:12px; font:inherit; font-size:14px; color:var(--suite-ink); background:var(--suite-paper); }
.application-segment { padding:76px 0; border-top:1px solid var(--suite-line); scroll-margin-top:112px; }
.application-segment-head { max-width:950px; margin-bottom:38px; }
.application-segment-head>p:last-child { max-width:670px; font-size:12px; }
.application-segment-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.application-segment-grid>div { min-width:0; }
.application-process { margin:0; padding:28px; border:1px solid var(--suite-line); border-radius:28px; background:var(--suite-paper); }
.application-process figcaption h3 { margin:14px 0; font-size:28px; }
.application-process .application-scenario-art { width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; border-radius:16px; margin-bottom:24px; }
.application-process figcaption p { font-size:12px; }
.application-process ol { list-style:none; padding:0; margin:24px 0; display:grid; gap:10px; }
.application-process li { position:relative; display:flex; align-items:center; gap:14px; min-height:62px; padding:14px; border-radius:16px; background:var(--suite-soft); font-size:14px; color:var(--suite-ink); }
.application-process li>span { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:50%; border:1px solid var(--suite-line); color:var(--suite-muted); font-size:10px; }
.application-process li:last-child>span { background:var(--studio-red); color:#fff; border-color:transparent; }
.application-process li+li:before { content:''; width:1px; height:10px; position:absolute; top:-10px; left:29px; background:var(--suite-muted); }
.application-process .application-exception { border-top:1px solid var(--suite-line); padding-top:18px; margin-bottom:0; font-size:13px; }
.application-first { padding:10px 4px; }
.application-links { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.application-links>a { display:inline-flex; align-items:center; min-height:44px; padding:10px 15px; border:1px solid var(--suite-line); border-radius:999px; color:var(--suite-ink); text-decoration:none; font-size:12px; }
.application-links>a:is(:hover,:focus-visible) { background:var(--suite-soft); }
.application-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:28px; }
.application-segment-picker { display:grid; gap:10px; margin:24px 0 0; max-width:520px; color:var(--suite-muted); font-size:12px; }
.application-segment-picker select { width:100%; min-height:52px; border:1px solid var(--suite-line); border-radius:16px; padding:12px 40px 12px 16px; background:var(--suite-paper); color:var(--suite-ink); font:inherit; font-size:14px; }
.application-segment-picker select:focus-visible { outline:2px solid var(--suite-ink); outline-offset:4px; }
.application-segment[data-segment][hidden] { display:none!important; }
.application-links[hidden],.application-group-grid[hidden],.application-card-grid[hidden] { display:none!important; }
.application-group-grid>a>img { display:block; width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; border-radius:16px; margin:0 0 18px; }
.application-segment[data-segment] { scroll-margin-top:100px; }
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta.studio-header-cta { padding:6px 6px 6px 22px!important; height:56px!important; background:var(--suite-paper)!important; border:1px solid var(--suite-line)!important; border-radius:999px; }
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta.studio-header-cta::before,
:root[data-theme] body.studio-unified .site-header.studio-header .wave-cta.studio-header-cta::after,
.studio-header-cta .wave-cta-frame { display:none!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .studio-header-cta .wave-cta-label { position:relative; inset:auto; display:flex; align-items:center; gap:20px!important; }
:root[data-theme] body.studio-unified .site-header.studio-header .studio-header-cta .wave-cta-label>span:first-child { color:var(--suite-ink)!important; -webkit-text-fill-color:var(--suite-ink)!important; }
.studio-header-cta .studio-cta-arrow { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--studio-red); flex:none; }
.studio-header-cta .studio-cta-arrow svg { width:18px; height:18px; transition:transform .2s; }
.studio-header-cta:is(:hover,:focus-visible) .studio-cta-arrow svg { transform:rotate(45deg); }
@media(prefers-reduced-motion:reduce){.studio-header-cta .studio-cta-arrow svg { transition:none; transform:none; }}
:root[data-theme] body.studio-inner.has-scrolled .studio-header:not(.is-open) .brand { opacity:0; visibility:hidden; pointer-events:none; }
.application-actions>a:not(.button) { color:var(--suite-ink); font-size:13px; }
.application-boundary { border:1px solid var(--suite-line); padding:20px 24px; border-radius:20px; margin-top:30px; }
.application-boundary summary { min-height:44px; cursor:pointer; display:list-item; padding-block:10px; font-size:15px; }
.application-choice { margin:80px 0; padding:38px; border:1px solid var(--suite-line); border-radius:30px; background:var(--suite-soft); }
.application-recommendation { padding:26px 0 0; outline-offset:6px; }
.application-feature { display:grid; grid-template-columns:1fr 1.1fr; gap:60px; padding:70px 0; border-top:1px solid var(--suite-line); }
.application-feature>img { position:sticky; top:28px; }
.solution-demo { position:sticky; top:100px; align-self:start; min-width:0; border:1px solid var(--suite-line); border-radius:28px; overflow:hidden; background:var(--suite-paper); color:var(--suite-ink); }
.solution-demo>header { padding:26px; border-bottom:1px solid var(--suite-line); background:var(--suite-soft); }
.solution-demo>header h3 { font-size:28px; margin:12px 0; }
.solution-demo>header p:last-child,.solution-demo>footer { color:var(--suite-muted); font-size:12px; line-height:1.6; }
.demo-body { display:grid; gap:20px; padding:26px; }
.demo-body label:not(.demo-check) { display:grid; gap:9px; min-width:0; font-size:13px; }
.demo-body :is(select,input:not([type="checkbox"])) { width:100%; min-width:0; min-height:48px; padding:10px 12px; font:inherit; border:1px solid var(--suite-line); border-radius:12px; background:var(--suite-paper); color:var(--suite-ink); }
.demo-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.demo-check { display:flex; align-items:start; gap:12px; padding-block:10px; font-size:14px; line-height:1.5; cursor:pointer; }
.demo-check input { width:22px; height:22px; flex:none; accent-color:var(--studio-red); }
.demo-summary { margin:0; display:grid; gap:16px; }
.demo-summary>div { display:flex; justify-content:space-between; gap:20px; padding-bottom:12px; border-bottom:1px solid var(--suite-line); }
.demo-summary dt,.demo-work span { color:var(--suite-muted); font-size:12px; }
.demo-summary dd { margin:0; font-size:13px; text-align:right; }
.demo-body .demo-hint { font-size:12px; line-height:1.6; color:var(--suite-muted); margin:0; }
.demo-status { margin:0; padding:16px; border-radius:14px; background:var(--suite-soft); font-size:14px; line-height:1.6; }
.demo-status:empty { display:none; }
.demo-work { display:grid; gap:7px; padding:16px; background:var(--suite-soft); border-radius:14px; font-size:14px; }
.demo-work[hidden] { display:none; }
.demo-actions { display:flex; flex-wrap:wrap; gap:12px; }
.demo-progress,.demo-runs { margin:0; padding-left:20px; font-size:13px; line-height:1.8; }
.solution-demo>footer { padding:16px 26px; border-top:1px solid var(--suite-line); }
.solution-demo button:disabled { opacity:.45; cursor:not-allowed; }
@media(max-width:767px){.application-feature>.solution-demo { position:static; order:2; }.demo-fields { grid-template-columns:1fr; }.demo-body,.solution-demo>header { padding:20px; }}
.application-grid .application-card h2 { font-size:28px; }
:root:not(.js) :is([data-application-filters],[data-application-picker]) { display:none; }
@media(max-width:1100px) { .application-hero-grid,.application-feature { gap:30px; } .application-grid,.application-group-grid,.application-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .application-segment-grid { gap:30px; } }
@media(max-width:767px) {
 :root[data-theme] body.studio-unified.applications-page .container { width:calc(100% - 40px); margin-inline:20px; }
 :root[data-theme] body.studio-unified.applications-page .application-hero { padding:110px 0 34px!important; }
 .application-hero-grid,.application-grid,.application-group-grid,.application-card-grid,.application-segment-grid,.application-feature { grid-template-columns:1fr; gap:24px; }
 .application-group-grid { margin:32px 0 52px; }
 .application-segment { padding:48px 0; }
 .application-process,.application-choice { padding:22px; border-radius:24px; }
 .application-choice { margin:48px 0; }
 .application-feature { padding:44px 0; }
 .application-feature>img { position:static; }
 .application-actions { align-items:stretch; flex-direction:column; }
}
.explorer-sections { grid-column:1/-1; min-width:0; }
body.studio-rail-ready .mobile-sheet .explorer-discuss { align-self:start; min-height:56px; height:auto; }
.explorer-tabs { display:flex; gap:8px; margin:20px 0; }
.explorer-tabs button { min-height:44px; padding:10px 22px; border:1px solid var(--suite-line); background:var(--suite-soft); color:var(--suite-ink); border-radius:999px; cursor:pointer; font:inherit; }
.explorer-tabs button[aria-selected="true"] { background:var(--suite-ink); color:var(--suite-paper); }
/* Studio directory: compact top navigation and purpose-built contents. */
body.studio-rail-ready .studio-header.is-open .mobile-sheet-backdrop { background:var(--suite-paper)!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-header.is-open .mobile-sheet { inset:12px 12px 12px 100px; width:calc(100vw - 112px); height:calc(100dvh - 24px); max-height:none; padding:0 32px 20px; display:grid; grid-template-columns:1fr auto; grid-template-rows:68px minmax(0,1fr) auto; gap:18px 24px; overflow:hidden; border-radius:28px; background:var(--suite-panel)!important; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none; animation:studio-menu-expand .25s ease both; }
body.studio-rail-ready .mobile-sheet .mobile-sheet-head { position:static; margin:0; padding:0; min-height:0; height:68px; grid-column:1/-1; font-size:13px; }
.mobile-sheet .explorer-sections { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr); gap:20px; width:100%; max-width:1500px; margin-inline:auto; min-height:0; overflow:hidden; }
.mobile-sheet .explorer-intro { display:flex; align-items:center; justify-content:space-between; gap:36px; padding:2px 0; }
.explorer-intro h2 { margin:0; color:var(--suite-ink); font-size:clamp(30px,2.8vw,44px); font-weight:450; letter-spacing:-.05em; line-height:1.1; }
:root[data-theme] body.studio-unified.studio-rail-ready .mobile-sheet .explorer-intro h2 { font-size:clamp(30px,2.8vw,44px)!important; margin:0!important; line-height:1.1!important; }
.explorer-intro>span { max-width:420px; font-size:13px; line-height:1.65; color:var(--suite-muted); }
.mobile-sheet .explorer-tabs { display:flex; gap:6px; margin:0; padding:4px; border-radius:999px; background:var(--suite-soft); justify-self:start; }
.mobile-sheet .explorer-tabs button { min-height:44px; padding:10px 26px; border:0; border-radius:999px; background:transparent; font-size:14px; color:var(--suite-muted); transition:background .18s,color .18s; }
.mobile-sheet .explorer-tabs button::after { display:none; }
.mobile-sheet .explorer-tabs button[aria-selected="true"] { background:var(--suite-ink); color:var(--suite-panel); }
.mobile-sheet .explorer-sections>[role="tabpanel"] { overflow-y:auto; overscroll-behavior:contain; min-width:0; min-height:0; padding:0 10px 16px 0; scrollbar-color:var(--suite-line) transparent; scrollbar-width:thin; }
.explorer-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:22px 0; background:var(--suite-soft); border-radius:22px; margin-bottom:30px; }
.explorer-results>a { position:relative; display:grid; gap:10px; align-content:start; padding:0 26px; color:var(--suite-ink); text-decoration:none; }
.explorer-results>a+a { border-left:1px solid var(--suite-line); }
.explorer-results>a>.o-icon:first-child { width:24px; height:24px; margin-bottom:8px; }
.explorer-results strong { padding-right:20px; font-size:clamp(20px,1.6vw,27px); font-weight:450; letter-spacing:-.035em; line-height:1.15; }
.explorer-results span { max-width:290px; font-size:13px; line-height:1.6; color:var(--suite-muted); }
.explorer-results>a>.o-icon:last-child { position:absolute; right:22px; top:0; width:17px; height:17px; }
.explorer-results a:hover strong { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
body.studio-rail-ready .mobile-sheet .explorer-format-jumps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:0; margin:0; }
.explorer-format-jumps>section { min-width:0; }
.mobile-sheet .explorer-format-jumps h3 { margin:0 0 14px; font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:.09em; color:var(--suite-muted); }
body.studio-rail-ready .mobile-sheet .explorer-format-jumps section>a { display:flex; flex-direction:column; gap:4px; padding:10px 0; min-height:52px; color:var(--suite-ink); text-decoration:none; border:0; background:transparent; border-radius:0; }
.mobile-sheet .explorer-format-jumps strong { font-size:15px; font-weight:450; line-height:1.3; }
.mobile-sheet .explorer-format-jumps span { font-size:11px; line-height:1.5; color:var(--suite-muted); }
.mobile-sheet .explorer-format-jumps a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.mobile-sheet .explorer-sections .mobile-product-link { display:flex; width:auto; max-width:360px; margin-top:22px; padding:12px 16px; border-radius:16px; }
body.studio-rail-ready .mobile-sheet .studio-explorer-practices { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px 26px; align-content:start; }
body.studio-rail-ready .mobile-sheet .studio-explorer-practices>a { position:relative; display:grid; grid-template-columns:44px minmax(0,1fr) 18px; align-items:start; gap:14px; padding:22px 0; border:0; border-bottom:1px solid var(--suite-line); border-radius:0; background:transparent; min-height:130px; }
body.studio-rail-ready .mobile-sheet .studio-explorer-practices .menu-practice-symbol { width:44px; height:44px; flex-basis:44px; border-radius:50%; background:var(--suite-soft); border:0; }
.mobile-sheet .studio-explorer-practices strong { font-size:22px; font-weight:450; letter-spacing:-.035em; line-height:1.15; }
.mobile-sheet .studio-explorer-practices small { font-size:13px; line-height:1.6; margin-top:8px; }
body.studio-rail-ready .mobile-sheet .studio-explorer-practices>a { grid-column:span 2; }
body.studio-rail-ready .mobile-sheet .studio-explorer-practices>a:nth-child(n+4) { grid-column:span 3; }
body.studio-rail-ready .mobile-sheet .studio-explorer-practices>a.explorer-all { grid-column:1/-1; display:flex; flex-direction:row; justify-content:flex-start; align-items:center; gap:20px; min-height:60px; padding:16px 20px; margin-top:10px; border:0; border-radius:16px; background:var(--suite-soft); }
.mobile-sheet .studio-explorer-practices .explorer-all strong { font-size:16px; }
.mobile-sheet .studio-explorer-practices .explorer-all>span { font-size:12px; }
.mobile-sheet .studio-explorer-practices .explorer-all>.o-icon { margin-left:auto; }
.explorer-sphere-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:22px; }
body.studio-rail-ready .mobile-sheet .explorer-sphere-toolbar input[type="search"] { position:static; flex:1; max-width:700px; min-width:0; margin:0; padding:14px 18px; min-height:50px; background:var(--suite-soft); border:1px solid transparent; border-radius:999px; box-shadow:none; }
.explorer-sphere-toolbar>a { display:flex; align-items:center; gap:10px; color:var(--suite-ink); font-size:12px; white-space:nowrap; text-decoration:none; min-height:44px; }
.explorer-sphere-toolbar .o-icon { width:16px; height:16px; }
.explorer-sector-browser { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr); gap:32px; align-items:start; }
.explorer-sector-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.mobile-sheet button.explorer-sector { display:grid; grid-template-columns:56px minmax(0,1fr) 14px; align-items:center; gap:12px; width:100%; min-height:66px; padding:7px; border:1px solid transparent; border-radius:14px; text-align:left; color:var(--suite-ink); background:transparent; font:inherit; cursor:pointer; }
.mobile-sheet button.explorer-sector[aria-pressed="true"] { background:var(--suite-soft); border-color:var(--suite-line); }
.mobile-sheet button.explorer-sector:hover { background:var(--suite-soft); }
.explorer-sector>img { width:56px; height:48px; object-fit:cover; border-radius:9px; }
.explorer-sector>span { font-size:13px; line-height:1.45; }
.explorer-sector>.o-icon { width:14px; height:14px; opacity:0; }
.explorer-sector[aria-pressed="true"]>.o-icon,.explorer-sector:hover>.o-icon { opacity:1; }
.explorer-sector-preview { padding-left:28px; border-left:1px solid var(--suite-line); }
.explorer-sector-preview>img { display:block; width:100%; height:145px; object-fit:cover; border-radius:18px; }
.explorer-sector-preview h3 { font-size:23px; font-weight:450; line-height:1.15; letter-spacing:-.03em; margin:18px 0 10px; }
:root[data-theme] body.studio-unified.studio-rail-ready .mobile-sheet .explorer-sector-preview h3 { font-size:23px!important; margin:18px 0 10px!important; line-height:1.15; }
.explorer-sector-preview>p { font-size:12px; line-height:1.6; color:var(--suite-muted); margin:0 0 12px; }
.explorer-sector-preview nav>a,.explorer-direction-link { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; padding:10px 0; border-bottom:1px solid var(--suite-line); color:var(--suite-ink); text-decoration:none; font-size:12px; line-height:1.5; }
.explorer-sector-preview nav .o-icon,.explorer-direction-link .o-icon { flex:none; width:14px; height:14px; }
.explorer-direction-link { margin-top:8px; border:0; color:var(--suite-muted); }
.explorer-sector-preview a:hover { text-decoration:underline; text-underline-offset:4px; }
.mobile-sheet .explorer-search-results { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.mobile-sheet .explorer-search-results a { border:0; border-bottom:1px solid var(--suite-line); border-radius:0; padding:18px 0; }
body.studio-rail-ready .mobile-sheet .explorer-discuss { grid-column:1; margin:0; justify-self:start; }
body.studio-rail-ready .mobile-sheet .explorer-telegram { grid-column:2; justify-self:end; align-self:center; }
@keyframes studio-menu-expand { from { opacity:0; translate:0 12px; } to { opacity:1; translate:0 0; } }
@media(max-width:1150px) {
 body.studio-rail-ready .mobile-sheet .studio-explorer-practices { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.studio-rail-ready .mobile-sheet .studio-explorer-practices>a:nth-child(n) { grid-column:auto; }
 body.studio-rail-ready .mobile-sheet .studio-explorer-practices>a.explorer-all { grid-column:1/-1; }
 .explorer-sector-browser { grid-template-columns:1fr; gap:22px; }
 .explorer-sector-index { display:flex; overflow-x:auto; gap:8px; padding-bottom:8px; scroll-snap-type:x proximity; }
 .mobile-sheet button.explorer-sector { flex:0 0 240px; scroll-snap-align:start; }
 .explorer-sector-preview { padding:0; border:0; }
 .explorer-sector-preview>img { float:right; width:35%; height:140px; margin:0 0 16px 24px; }
 .explorer-sector-preview nav { clear:both; }
}
@media(max-width:767px) {
 :root[data-theme] body.studio-unified.studio-rail-ready .studio-header.is-open .mobile-sheet { inset:8px 8px calc(88px + env(safe-area-inset-bottom)); width:calc(100vw - 16px); height:calc(100dvh - 96px - env(safe-area-inset-bottom)); padding:0 18px 14px; grid-template-rows:60px minmax(0,1fr) auto; gap:12px; border-radius:24px; }
 body.studio-rail-ready .mobile-sheet .mobile-sheet-head { height:60px; }
 .mobile-sheet .explorer-sections { gap:14px; }
 .mobile-sheet .explorer-intro { display:block; }
 :root[data-theme] body.studio-unified.studio-rail-ready .mobile-sheet .explorer-intro h2 { font-size:28px!important; }
 .explorer-intro>span { display:none; }
 .mobile-sheet .explorer-tabs { justify-self:stretch; }
 .mobile-sheet .explorer-tabs button { flex:1; padding:8px 10px; min-height:42px; font-size:13px; }
 .explorer-results { grid-template-columns:1fr; padding:6px 18px; margin-bottom:24px; border-radius:18px; }
 .explorer-results>a { padding:16px 28px 16px 36px; gap:6px; }
 .explorer-results>a+a { border-left:0; border-top:1px solid var(--suite-line); }
 .explorer-results>a>.o-icon:first-child { position:absolute; left:0; top:18px; width:22px; height:22px; }
 .explorer-results>a>.o-icon:last-child { right:0; top:18px; }
 .explorer-results strong { font-size:20px; }
 .explorer-results span { font-size:12px; }
 body.studio-rail-ready .mobile-sheet .explorer-format-jumps { grid-template-columns:1fr; gap:24px; }
 .mobile-sheet .explorer-format-jumps h3 { margin-bottom:8px; }
 body.studio-rail-ready .mobile-sheet .explorer-format-jumps section>a { min-height:54px; }
 .mobile-sheet .explorer-sections>[role="tabpanel"] { padding-right:4px; }
 body.studio-rail-ready .mobile-sheet .studio-explorer-practices { grid-template-columns:1fr; gap:0; }
 body.studio-rail-ready .mobile-sheet .studio-explorer-practices>a { min-height:100px; padding:18px 0; grid-template-columns:40px minmax(0,1fr) 14px; gap:12px; }
 .mobile-sheet .studio-explorer-practices strong { font-size:20px; }
 .mobile-sheet .studio-explorer-practices small { font-size:12px; }
 .mobile-sheet .studio-explorer-practices .explorer-all>span { display:none; }
 .explorer-sphere-toolbar { display:block; padding-bottom:12px; }
 .explorer-sphere-toolbar>a { justify-content:space-between; margin-top:4px; font-size:11px; }
 body.studio-rail-ready .mobile-sheet .explorer-sphere-toolbar input[type="search"] { width:100%; font-size:13px; padding:12px 14px; }
 .mobile-sheet button.explorer-sector { flex-basis:230px; min-height:72px; }
 .explorer-sector-preview>img { height:104px; width:36%; margin-left:16px; }
 .explorer-sector-preview h3 { font-size:21px; margin-top:6px; }
 .mobile-sheet .explorer-search-results { grid-template-columns:1fr; }
 body.studio-rail-ready .mobile-sheet .explorer-telegram { display:none; }
 body.studio-rail-ready .mobile-sheet .explorer-discuss { grid-column:1/-1; min-height:48px; }
}
@media(prefers-reduced-motion:reduce) { :root[data-theme] body.studio-unified.studio-rail-ready .studio-header.is-open .mobile-sheet { animation:none; } .mobile-sheet .explorer-tabs button { transition:none; } }
.explorer-sections [hidden] { display:none!important; }
.explorer-sections input { width:100%; margin:20px 0; padding:15px; font:inherit; border:1px solid var(--suite-line); border-radius:18px; background:var(--suite-panel); color:var(--suite-ink); }
.explorer-sector { border-bottom:1px solid var(--suite-line); padding:12px 0; }
.explorer-sector summary { min-height:44px; padding:12px 0; cursor:pointer; font-size:18px; }
.explorer-sector>a { display:block; padding:12px; min-height:44px; color:var(--suite-ink); text-decoration:none; border-radius:12px; }
.explorer-sector>a:hover { background:var(--suite-soft); }
.supporting-passport { display:grid;gap:0;max-width:900px; }
.supporting-passport>div { display:grid;grid-template-columns:180px 1fr;gap:24px;padding-block:20px;border-top:1px solid var(--suite-line); }
.supporting-passport dt { font-weight:500; }
.supporting-passport dd { margin:0;line-height:1.7;color:var(--suite-muted); }
.supporting-example li { margin-block:16px;line-height:1.7; }
.supporting-example-note { max-width:850px;line-height:1.8;color:var(--suite-muted); }
.agency-handoff { padding:clamp(24px,3vw,44px);border:1px solid var(--suite-line);border-radius:30px;background:var(--suite-panel);color:var(--suite-ink); }
.agency-handoff ol { list-style:none;counter-reset:agency-role;margin:0 0 18px;padding:0; }
.agency-handoff li { counter-increment:agency-role;display:grid;grid-template-columns:30px 1fr;gap:6px 14px;border-top:1px solid var(--suite-line);padding:18px 0; }
.agency-handoff li::before { content:"0" counter(agency-role);grid-row:span 2;font-size:11px;color:var(--suite-muted);padding-top:4px; }
.agency-handoff li strong { font-size:15px;font-weight:550; }
.agency-handoff li span { grid-column:2;font-size:13px;line-height:1.6;color:var(--suite-muted); }
.agency-handoff>.ed-text-link { display:inline-block;padding-block:10px;font-size:13px; }
@media(max-width:767px){.supporting-passport>div{grid-template-columns:1fr;gap:10px}}
.notfound-page .studio-footer { min-height:0!important;padding-block:36px!important; }
.notfound-page .studio-footer-signature { display:none!important; }
.notfound-page .footer-grid { padding-block:10px!important; }

/* Shared fixed chrome: one logo and one always-available project action. */
:root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .site-header.studio-header { position:fixed!important; inset:20px 28px auto 112px!important; width:auto!important; padding:0!important; background:transparent!important; border:0!important; pointer-events:none; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-header .brand { background:transparent!important; border:0!important; padding:0!important; border-radius:0!important; box-shadow:none!important; color:var(--suite-ink)!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-header .brand-text strong { color:var(--suite-ink)!important; -webkit-text-fill-color:var(--suite-ink)!important; font-size:15px!important; letter-spacing:.09em!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-header .brand-text>span { color:var(--suite-muted)!important; font-size:8px!important; letter-spacing:.3em!important; }
:root[data-theme="light"] body.studio-unified.studio-rail-ready .studio-header .brand-mark { filter:none!important; }
:root[data-theme="dark"] body.studio-unified.studio-rail-ready .studio-header .brand-mark { filter:brightness(0) invert(1)!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-header .header-actions { display:flex!important; opacity:1!important; visibility:visible!important; pointer-events:auto; }
:root[data-theme] body.studio-unified.studio-rail-ready .site-header.studio-header .wave-cta.studio-header-cta { display:inline-flex!important; }
:root[data-theme] body.studio-unified.studio-rail-ready.has-scrolled .header-actions .wave-cta { opacity:1!important; visibility:visible!important; pointer-events:auto!important; }
:root[data-theme] body.studio-unified.studio-rail-ready .studio-header.is-open .header-inner { visibility:hidden; }
html.lenis,html.lenis body { height:auto; }
html.lenis.lenis-smooth { scroll-behavior:auto!important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior:contain; }
@media(max-width:767px) {
 :root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .site-header.studio-header { inset:16px 20px auto!important; }
 :root[data-theme] body.studio-unified .site-header.studio-header .wave-cta.studio-header-cta { height:46px!important; padding:5px 5px 5px 14px!important; }
 .studio-header-cta .studio-cta-arrow { width:34px; height:34px; }
 :root[data-theme] body.studio-unified .site-header.studio-header .studio-header-cta .wave-cta-label { gap:10px!important; font-size:10px; }
 :root[data-theme] body.studio-unified.studio-rail-ready .studio-header .brand-mark { width:34px!important; height:34px!important; }
 :root[data-theme] body.studio-unified.studio-rail-ready .studio-header .brand-text strong { font-size:12px!important; }
}
.service-preview-hero { padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; border-radius:28px; overflow:hidden; margin:0; }
.service-preview-hero img { display:block; width:100%; height:auto; aspect-ratio:1.5; object-fit:contain; border-radius:28px; }
@media(max-width:360px) {
 :root[data-theme].js body.studio-unified.studio-rail-ready .site-header.studio-header { left:16px!important; right:16px!important; }
 :root[data-theme] body.studio-unified.studio-rail-ready .studio-header .brand { gap:8px!important; }
 :root[data-theme] body.studio-unified.studio-rail-ready .studio-header .brand-mark { width:28px!important; height:28px!important; }
 :root[data-theme] body.studio-unified.studio-rail-ready .studio-header .brand-text strong { font-size:10px!important; }
}
@media(max-width:767px) {
 :root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .site-header.studio-header .header-inner { min-height:48px!important; }
 :root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .studio-header .brand { gap:8px!important; }
 :root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .studio-header .brand-text strong { font-size:11px!important; }
 :root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .studio-header .brand-mark { width:30px!important; height:30px!important; }
 :root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .studio-header .header-actions { min-width:0!important; width:auto!important; gap:0!important; flex:0 0 auto!important; }
 :root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .site-header.studio-header .wave-cta.studio-header-cta { min-width:0!important; width:auto!important; max-width:none!important; flex:0 0 auto!important; height:44px!important; min-height:44px!important; padding:5px 5px 5px 12px!important; }
 :root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .studio-header-cta .wave-cta-label { font-size:10px!important; gap:8px!important; width:auto!important; }
 :root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .studio-header-cta .wave-cta-label::before,:root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .studio-header-cta .wave-cta-label::after { display:none!important; content:none!important; }
 :root[data-theme].js body:is(.home-page,.studio-inner).studio-unified.studio-rail-ready .studio-header-cta .studio-cta-arrow { width:30px!important; height:30px!important; }
}
/* Sector navigation: eight families, detailed choices on demand. */
.application-group-grid:has(.application-family) { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:0 36px; }
.application-family { padding:0; border-top:1px solid var(--suite-line); }
.application-family[open] { grid-column:1/-1; }
.application-family[open] nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.explorer-sector small { display:block; font-size:10px; line-height:1.5; margin-top:6px; color:var(--suite-muted); }
.application-family summary { display:grid; grid-template-columns:32px 1fr 20px; gap:8px 16px; align-items:center; min-height:122px; padding:24px 0; cursor:pointer; list-style:none; }
.application-family summary::-webkit-details-marker { display:none; }
.application-family summary>strong { font-size:21px; font-weight:500; letter-spacing:-.025em; }
.application-family summary>span { grid-column:2; font-size:13px; line-height:1.6; color:var(--suite-muted); }
.application-family summary>.o-icon:first-child { width:25px; height:25px; grid-column:1; grid-row:1/3; }
.application-family summary>.o-icon:last-child { width:18px; height:18px; grid-column:3; grid-row:1/3; transition:rotate .2s; }
.application-family[open] summary>.o-icon:last-child { rotate:180deg; }
.application-family nav { display:grid; padding:0 0 24px 48px; }
.application-family nav a,.explorer-sector-preview nav a { display:flex; gap:12px; align-items:center; min-height:48px; padding:12px 0; color:var(--suite-ink); border-top:1px solid var(--suite-line); }
.application-family nav a .o-icon,.explorer-sector-preview nav a .o-icon { flex:0 0 17px; width:17px; height:17px; color:var(--suite-muted); }
.application-family nav a span,.explorer-sector-preview nav a span { flex:1; }
.mobile-sheet button.explorer-sector { grid-template-columns:32px minmax(0,1fr) 14px; }
.explorer-sector-index .explorer-sector>.o-icon:first-child { width:25px; height:25px; flex:0 0 25px; color:var(--suite-muted); opacity:1; }
@media(max-width:767px){.application-group-grid:has(.application-family),.application-family[open] nav{grid-template-columns:1fr}.application-family summary>strong{font-size:18px}.application-family nav{padding-left:0}}
/* Sector explorer: fixed search, one local scrolling list, neutral scrollbar. */
.mobile-sheet .explorer-sections>#explorer-panel-1:not([hidden]) { display:flex; flex-direction:column; gap:14px; overflow:hidden; padding-right:0; }
.mobile-sheet #explorer-panel-1 [hidden] { display:none!important; }
.mobile-sheet .explorer-sphere-toolbar { flex:none; display:flex; gap:12px; align-items:center; margin:0; padding:0 8px 8px 0; }
.mobile-sheet .explorer-sphere-toolbar input { min-width:0; flex:1; }
.mobile-sheet .explorer-search-clear { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; min-height:40px; padding:8px; border:1px solid var(--suite-line); border-radius:50%; color:var(--suite-muted); background:var(--suite-panel); }
.explorer-search-clear .o-icon { width:16px; height:16px; }
.mobile-sheet .explorer-sector-browser { flex:1; min-height:0; }
.explorer-family-select { display:none; }
.mobile-sheet .explorer-search-results { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:12px; }
.mobile-sheet .explorer-search-count { flex:none; margin:0; }
.mobile-sheet :is([role="tabpanel"],.explorer-sector-preview,.explorer-search-results,.explorer-sector-browser) { scrollbar-width:thin; scrollbar-color:var(--suite-line) transparent; scrollbar-gutter:stable; }
.mobile-sheet ::-webkit-scrollbar { width:6px; height:6px; }
.mobile-sheet ::-webkit-scrollbar-thumb { background:var(--suite-line); border-radius:9px; }
.mobile-sheet ::-webkit-scrollbar-track { background:transparent; }
.mobile-sheet ::-webkit-scrollbar-button { display:none; width:0; height:0; }
@media(min-width:1000px) {
 .mobile-sheet .explorer-sector-browser { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; gap:28px; overflow:hidden; }
 .mobile-sheet .explorer-sector-index { display:grid; grid-template-columns:1fr 1fr; align-content:start; overflow-y:auto; min-height:0; }
 .mobile-sheet .explorer-sector-preview { min-height:0; overflow-y:auto; padding-right:14px; overscroll-behavior:contain; }
 .mobile-sheet .explorer-sector-preview h3 { margin-top:0!important; }
}
@media(max-width:999px) {
 .mobile-sheet .explorer-sector-browser { display:block; overflow-y:auto; overscroll-behavior:contain; padding-right:6px; }
 .mobile-sheet .explorer-sector-index { display:none; }
 .mobile-sheet .explorer-family-select { display:flex; align-items:center; gap:10px; flex:none; font-size:11px; color:var(--suite-muted); }
 .explorer-family-select select { min-width:0; flex:1; min-height:44px; padding:10px; border:1px solid var(--suite-line); border-radius:12px; background:var(--suite-panel); color:var(--suite-ink); font:inherit; }
 .mobile-sheet .explorer-sphere-toolbar { flex-wrap:wrap; }
 .mobile-sheet .explorer-sphere-toolbar input[type="search"] { width:auto!important; flex:1 1 calc(100% - 60px); }
 .mobile-sheet .explorer-sphere-toolbar>a { flex-basis:100%; font-size:11px; padding-bottom:0; min-height:30px; margin-top:0; }
}
/* Service entry: who it suits, first step and local navigation. */
.service-entry-facts { display:grid; gap:14px; margin:24px 0; padding-top:18px; border-top:1px solid var(--suite-line); }
.service-hero-modern .hero-actions [data-assistant-open] { border-color:var(--suite-line); }
.service-entry-facts>div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:14px; }
.service-entry-facts dt { font-size:11px; line-height:1.6; color:var(--suite-muted); }
.service-entry-facts dd { margin:0; font-size:13px; line-height:1.6; color:var(--suite-ink); }
.service-section-nav { position:sticky; top:16px; z-index:25; display:flex; gap:8px 24px; align-items:center; width:min(1200px,calc(100% - 480px)); margin:24px auto 10px; padding:12px 20px; overflow-x:auto; border:1px solid var(--suite-line); border-radius:18px; background:var(--suite-panel); scrollbar-width:thin; }
.service-section-nav a { flex-shrink:0; min-height:36px; display:flex; align-items:center; color:var(--suite-muted); font-size:12px; text-decoration:none; }
.service-section-nav a:is(:hover,:focus-visible) { color:var(--suite-ink); text-decoration:underline; text-underline-offset:5px; }
.service-nav-target { scroll-margin-top:110px; }
.agency-product-image { display:block; width:100%; height:auto; border-radius:24px; }
.agency-working-grid>figure { margin:0; min-width:0; }
.service-section-nav { transition:opacity .22s ease,translate .22s ease; }
.service-section-nav.is-away:not(:focus-within) { opacity:0; translate:0 -12px; pointer-events:none; }
.service-section-nav a[aria-current="location"] { color:var(--suite-ink); text-decoration:underline; text-underline-offset:5px; }
@media(max-width:1199px){.service-section-nav{top:84px;width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){.service-section-nav{transition:none}}
/* Shared editorial controls: one primary capsule and a quiet secondary action. */
:root[data-theme] body.studio-unified.studio-rail-ready :is(.page-hero,.pricing-hero,.solution-hero) .hero-actions .ed-button { border-color:var(--suite-line)!important; }
:root[data-theme] body.studio-unified.studio-rail-ready :is(.page-hero,.pricing-hero,.solution-hero) .hero-actions .ed-button:is(:hover,:focus-visible) { border-color:var(--studio-red)!important; }
.studio-inner .hero-actions>.button:not(.ed-button) { min-height:56px; display:inline-flex; align-items:center; justify-content:center; }
/* Quiet links keep a usable hit area and a consistent place beneath service actions. */
.studio-inner .service-hero-modern .hero-actions>.ed-text-link:not(.ed-button) { display:inline-flex; align-items:center; flex-basis:100%; min-height:44px; font-size:13px; line-height:1.5; color:var(--suite-muted); text-underline-offset:5px; }
.studio-inner .service-hero-modern .hero-actions>.ed-text-link:not(.ed-button):is(:hover,:focus-visible) { color:var(--suite-ink); text-decoration:underline; }
.studio-inner .service-hero-modern .hero-actions>.ed-text-link:not(.ed-button):focus-visible { outline:2px solid var(--studio-red); outline-offset:4px; border-radius:4px; }
@media(pointer:coarse),(max-width:767px) {
 .studio-inner .breadcrumbs { align-items:center; gap:4px 10px; }
 .studio-inner .breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; }
 .service-section-nav a { min-height:44px; }
}
/* Limits remain available without another large, repeated section heading. */
:root[data-theme] body.studio-unified.studio-inner .material-content .article-limit-note { margin-block:32px; padding:8px 0 8px 22px; border-left:2px solid var(--suite-line); }
:root[data-theme] body.studio-unified.studio-inner .material-content .article-limit-note h2 { font-size:18px!important; margin:0 0 10px!important; }
.article-limit-note p:last-child { margin-bottom:0; }
.studio-inner main :is(.faq-list,.material-faq) summary { position:relative; list-style:none; padding-right:60px!important; min-height:60px; display:flex; align-items:center; cursor:pointer; }
.studio-inner main :is(.faq-list,.material-faq) summary::-webkit-details-marker { display:none; }
.application-hero .sector-example-link{display:inline-flex;align-items:center;min-height:44px;margin-top:18px;font-size:13px;line-height:1.6}
.studio-inner main :is(.faq-list,.material-faq) summary::after { content:'+'; position:absolute; right:12px; top:50%; translate:0 -50%; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--suite-soft); color:var(--suite-ink); font-size:24px; font-weight:400; transition:rotate .2s; }
.studio-inner main :is(.faq-list,.material-faq) details[open]>summary::after { content:'+'; rotate:45deg; }
@media(prefers-reduced-motion:reduce){.studio-inner main :is(.faq-list,.material-faq) summary::after{transition:none}}
/* A shareable destination for the homepage project selector. */
.project-fit[hidden] { display:none!important; }
.project-fit { scroll-margin-top:105px; padding-block:44px; }
.project-fit header { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:40px; align-items:start; border-bottom:1px solid var(--suite-line); padding-bottom:32px; }
.project-fit h2 { font-size:clamp(32px,4vw,54px); line-height:1.1; letter-spacing:-.045em; font-weight:450; margin:16px 0; }
.project-fit h2[tabindex="-1"]:focus { outline:none; }
.project-fit h3 { font-size:22px; line-height:1.3; font-weight:500; letter-spacing:-.025em; margin:0 0 18px; }
.project-fit p { color:var(--suite-muted); font-size:14px; line-height:1.7; }
.project-fit-budget { display:grid; gap:12px; padding:24px; background:var(--suite-soft); border-radius:24px; }
.project-fit-budget span,.project-fit-budget small { color:var(--suite-muted); font-size:12px; line-height:1.6; }
.project-fit-budget strong { font-size:25px; font-weight:500; letter-spacing:-.03em; }
.project-fit-content { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:48px; margin:36px 0; }
.project-fit-content aside { border-left:1px solid var(--suite-line); padding-left:32px; }
.project-fit-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:28px 0; }
.project-fit-flow li { border-top:1px solid var(--suite-line); padding-top:16px; }
.project-fit-flow span { display:block; font-size:11px; color:var(--suite-muted); margin-bottom:14px; }
.project-fit-flow strong { display:block; font-size:14px; font-weight:500; line-height:1.5; }
.project-fit-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 28px; }
.project-fit-actions>a,.project-fit aside>a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:var(--suite-ink); }
.project-fit-prototype-note { font-size:12px!important; }
.has-project-fit .pricing-composition-price { display:none; }
/* Functional scenario previews: shared chrome, distinct working interfaces. */
.scenario-concept.service-demo-surface { padding:20px; background:var(--suite-panel); color:var(--suite-ink); }
.service-demo { display:grid; gap:16px; min-width:0; }
.service-demo-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; border-bottom:1px solid var(--suite-line); padding-bottom:14px; }
.service-demo-toolbar>span { display:flex; align-items:center; gap:8px; color:var(--suite-muted); font-size:10px; }
.service-demo .o-icon { width:18px; height:18px; flex:none; }
:root[data-theme] body.studio-unified .service-demo :is(h4,h5,strong,label,button,input,select,textarea) { color:var(--suite-ink)!important; -webkit-text-fill-color:currentColor!important; }
.service-demo h4 { margin:0!important; font-size:clamp(20px,2vw,28px)!important; letter-spacing:-.035em; line-height:1.2; }
.service-demo h5 { margin:0 0 12px; font-size:12px; font-weight:500; }
.service-demo p { margin:8px 0 0; font-size:12px!important; line-height:1.6!important; color:var(--suite-muted)!important; }
.service-demo .demo-muted { font-size:10px; color:var(--suite-muted); }
.service-demo label { display:grid; gap:8px; font-size:12px; line-height:1.5; min-width:0; }
.service-demo :is(input[type="text"],select,textarea) { width:100%; min-width:0; border:1px solid var(--suite-line); border-radius:12px; padding:11px 12px; min-height:44px; font:400 12px/1.5 "Onest Local",sans-serif; background:var(--suite-soft); }
.service-demo textarea { resize:vertical; }
.service-demo button { display:inline-flex; gap:12px; align-items:center; justify-content:space-between; min-height:44px; padding:12px 16px; border:1px solid var(--suite-line); border-radius:14px; font:500 12px/1.4 "Onest Local",sans-serif; background:var(--suite-soft); cursor:pointer; }
.service-demo button:not(:disabled):is(:hover,:focus-visible),.service-demo button[aria-pressed="true"] { border-color:var(--studio-red); box-shadow:inset 0 -2px var(--studio-red); }
.service-demo button:disabled { opacity:.45; cursor:default; }
.service-demo [hidden] { display:none!important; }
.demo-fields,.demo-role-pair { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.demo-product { display:grid; grid-template-columns:42% minmax(0,1fr); align-items:center; gap:18px; }
.demo-product img { position:static!important; width:100%!important; height:auto!important; aspect-ratio:1.2; object-fit:cover; border-radius:16px; }
.demo-file { display:flex; gap:12px; align-items:center; }
.demo-file>.o-icon { width:32px; height:32px; padding:6px; border-radius:9px; background:var(--suite-soft); }
.demo-file>div { flex:1; min-width:0; }
.demo-file h4 { font-size:21px!important; }
.demo-state { padding:6px 10px; border-radius:999px; background:var(--suite-soft); font-size:10px; }
.demo-pipeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; gap:10px; margin:6px 0; padding:0; }
.demo-pipeline li { display:grid; gap:10px; padding:14px 10px; border-block:1px solid var(--suite-line); font-size:11px; }
.demo-pipeline li>span { color:var(--suite-muted); font-size:10px; }
.demo-pipeline li[data-state="ready"] { border-bottom-color:var(--studio-red); }
.demo-result { padding:14px 16px; border-left:2px solid var(--suite-line); background:var(--suite-soft); font-size:12px; line-height:1.6; color:var(--suite-ink); }
.demo-result[data-state="attention"] { border-left-color:var(--studio-red); }
.demo-result[data-state="ready"] { border-left-color:var(--suite-ink); }
.demo-log { margin:0; padding-left:18px; font-size:11px; line-height:1.7; color:var(--suite-muted); max-height:100px; overflow:auto; }
.demo-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.demo-board>section { min-height:150px; border-top:1px solid var(--suite-line); padding-top:12px; }
.demo-job { padding:12px 10px; border-radius:12px; background:var(--suite-soft); }
.demo-job>span { font-size:9px; color:var(--suite-muted); }
.demo-job>strong { display:block; font-size:12px; margin-top:8px; }
.demo-job p { font-size:10px!important; }
.service-demo .demo-check { display:flex; align-items:center; gap:10px; }
.demo-check input { width:18px; height:18px; accent-color:var(--studio-red); }
.demo-chat { display:grid; gap:12px; }
.demo-chat p { padding:16px; margin:0; border-radius:18px; }
.demo-chat .demo-question { justify-self:end; max-width:90%; background:var(--suite-soft); color:var(--suite-ink)!important; border-radius:18px 18px 3px 18px; }
.demo-chat .demo-answer { background:var(--suite-soft); min-height:95px; border-radius:18px 18px 18px 3px; }
.demo-source summary { cursor:pointer; font-size:12px; min-height:44px; padding-block:12px; }
.demo-action-row { display:flex; flex-wrap:wrap; gap:10px; }
.demo-action-row>button { flex:1 1 140px; }
.demo-brand-preview { width:100%; margin-inline:auto; border:1px solid var(--suite-line); border-radius:18px; overflow:hidden; transition:max-width .3s; max-width:700px; }
.demo-brand-preview.is-narrow { max-width:230px; }
.demo-brand-preview img { position:static!important; width:100%!important; height:auto!important; aspect-ratio:2.2; object-fit:cover; }
.demo-brand-preview>div { padding:18px; }
.demo-brand-preview h4 { overflow-wrap:anywhere; margin-top:10px!important; }
.demo-journey { display:flex; gap:8px; }
.demo-journey>button { flex:1; padding:12px 8px; justify-content:center; }
.demo-role-pair>section { border-top:1px solid var(--suite-line); padding-top:16px; min-height:180px; }
.demo-role-pair>section>span { display:flex; align-items:center; gap:6px; font-size:10px; color:var(--suite-muted); margin-bottom:18px; }
.demo-role-pair h4 { font-size:21px!important; }
.demo-copy-preview { padding:26px; min-height:250px; border-radius:20px; background:var(--suite-soft); }
.demo-copy-preview>span:first-child { display:block; font-size:10px; color:var(--suite-muted); margin-bottom:22px; }
.demo-copy-action { display:inline-block; margin-top:20px; padding-bottom:5px; border-bottom:1px solid var(--suite-ink); font-size:12px; }
@media(max-width:767px){.scenario-concept.service-demo-surface{padding:16px}.demo-product{grid-template-columns:1fr}.demo-product img{max-height:180px}.demo-fields{grid-template-columns:1fr}.service-demo-toolbar>span:last-child{display:none}.demo-state{display:none}.demo-copy-preview{padding:20px}}
@media(prefers-reduced-motion:reduce){.demo-brand-preview{transition:none}}
@media(max-width:767px){.project-fit header,.project-fit-content{grid-template-columns:1fr;gap:24px}.project-fit-content aside{border-left:0;border-top:1px solid var(--suite-line);padding:24px 0 0}.project-fit-flow{grid-template-columns:1fr 1fr}.project-fit-budget{padding:20px}.project-fit{padding-block:28px}}
@media(max-width:767px){.service-entry-facts>div{grid-template-columns:1fr;gap:4px}.service-section-nav{top:84px;width:calc(100% - 40px);padding:8px 14px;gap:20px}}
