:root {
  --ds-primary: #0066cc;
  --ds-focus: #0071e3;
  --ds-primary-on-dark: #2997ff;
  --ds-white: #ffffff;
  --ds-parchment: #f5f5f7;
  --ds-pearl: #fafafc;
  --ds-tile: #272729;
  --ds-tile-alt: #2a2a2c;
  --ds-tile-deep: #252527;
  --ds-black: #000000;
  --ds-ink: #1d1d1f;
  --ds-secondary: #333333;
  --ds-muted-on-dark: #cccccc;
  --ds-disabled: #7a7a7a;
  --ds-chip: #d2d2d7;
  --ds-divider: #f0f0f0;
  --ds-hairline: #e0e0e0;
  --ds-radius-sm: 8px;
  --ds-radius-md: 11px;
  --ds-radius-card: 18px;
  --ds-radius-pill: 9999px;
  --ds-space-xs: 8px;
  --ds-space-sm: 12px;
  --ds-space-md: 17px;
  --ds-space-lg: 24px;
  --ds-space-xl: 32px;
  --ds-space-section: 80px;
  --ds-body: 17px;
  --ds-caption: 14px;
  --ds-body-leading: 1.47;
  --ds-display: clamp(34px, 4vw, 56px);
  --ds-tile-heading: clamp(28px, 3vw, 40px);
  --ds-product-shadow: 3px 5px 30px rgba(0, 0, 0, .22);
  --color-ink: var(--ds-ink);
  --color-paper: var(--ds-white);
  --color-line: var(--ds-hairline);
  --color-line-soft: var(--ds-divider);
  --color-brand: var(--ds-primary);
  --color-brand-hover: var(--ds-primary);
}

body { color: var(--ds-ink); background: var(--ds-white); font-size: var(--ds-body); }
html a:focus-visible, html button:focus-visible, html textarea:focus-visible {
  outline: 2px solid var(--ds-focus); outline-offset: 4px;
}
.ddd-header .header-pill::before { background: none; }
.ddd-header nav a::after { background: var(--ds-primary); }
.ddd-header[data-theme=dark] nav a::after { background: var(--ds-primary-on-dark); }
.hero-slide__title { font-size: var(--ds-display); line-height: 1.1; }
.hero-slide__title, .problem-heading, .solution-heading, .solxb-heading,
.medx-head, .gsent-sentence, .selw-heading, .cx-title, .ft-say {
  font-weight: 600; letter-spacing: -.01em;
}
.problem-heading { font-size: var(--ds-tile-heading); }
html .problem-heading, html .problem-tagline { color: var(--ds-ink) !important; }
.solution-heading, .solxb-heading, .gsent-sentence, .selw-heading { font-size: var(--ds-display); }
.cx-title { font-size: clamp(40px, 6vw, 96px); line-height: 1.1; }
.problem-desc, .solxb-intro-sub, .solxb-desc, .solp-desc, .medx-item-desc, .cx-sub {
  font-size: var(--ds-body); line-height: var(--ds-body-leading); letter-spacing: -.022em;
}
.problem-desc, .solxb-intro-sub, .solxb-desc, .solp-desc { color: var(--ds-secondary); }
.solp-name, .selw-title, .medx-item-title, .asm-hero-copy, .corec-title,
.surfmo-h, .surfmo-num, .surfmo-grade, .wchat-intro h2 { font-weight: 600; }
.asm-chip, .gsent-chip, .solp-tag, .solxb-eyebrow, .gsent-eyebrow,
.selw-eyebrow, .cx-label, .ft-en, .surfmo-cat > span { font-weight: 400; }

.solution-section { background: var(--ds-tile); color: var(--ds-white); }
.solution-section .sol-line {
  --accent: var(--ds-white) !important;
  background-image: linear-gradient(45deg, var(--accent) calc(var(--fill) - 20%),
    color-mix(in srgb, var(--ds-white) 30%, var(--ds-tile)) calc(var(--fill) - 5%));
}
.solution-section .exp-kw, .solution-section .asm-status { color: var(--ds-muted-on-dark); }
.asm-stage { background-image: none; }
.solxb, .solxb-bg-light { background: var(--ds-parchment); }
.solxb-bg-ink, .solxb.is-flat .solxb-slot[data-index="2"] { background: var(--ds-tile); }
.solxb-bg-violet, .solxb.is-flat .solxb-slot[data-index="3"] { background: var(--ds-tile-alt); }
.gsent { background: var(--ds-white); }
.selw { background: var(--ds-parchment); }
.cx-scene { --cx-night: var(--ds-tile-deep); }
.ft, .ft-sheet { background: var(--ds-parchment); color: var(--ds-ink); }
.ft-sheet { border-radius: 0; }
.ft-col a, .ft-office p, .ft-legal, .ft-hd, .ft-say span, .selw-scope { color: var(--ds-secondary); }
.ft-col a { font-size: var(--ds-body); line-height: 2.1; }
.ft-col small, .ft-legal { font-size: 12px; }
.ft-legal, .ft-maps a { border-color: var(--ds-hairline); }

.exp-kw-rule, .asm-status-dot, .asm-status-dot.is-done, .asm-caret,
.asm-chip-dot, .asm-surf-fill, .asm-spark, .gsent-chip-dot, .gsent-live-dot,
.solp-core-spark i, .solp-core-spark-alt i { background: var(--ds-primary); }
.sol-ai-gradient, .gsent-w-accent.is-in, .asm-browser.is-ai .asm-hero-copy,
.asm-surf-score b, .asm-ai-chip span {
  background: none; color: var(--ds-primary); -webkit-text-fill-color: currentColor;
}
.asm-snippet-title, .asm-snippet-url, .solp-link, .gsent-code, .selw-all,
.ft-maps a, .ft-legal-r a { color: var(--ds-primary); }
.asm-feature-icon, .asm-bar-link.is-hot, .asm-thumb.is-tinted-0,
.asm-thumb.is-tinted-1, .asm-thumb.is-tinted-2 { background: var(--ds-chip); }
.solp-core-menu.is-active, .solp-pill-green { background: var(--ds-parchment); color: var(--ds-primary); }
.solxb-feat-ic { background: var(--ds-white); color: var(--ds-primary); }
.solxb.is-dark .solxb-feat-ic { background: var(--ds-tile-alt); color: var(--ds-primary-on-dark); }
.solxb.is-dark .solp-link, .solxb.is-dark .solxb-cta,
.solxb.is-flat .solxb-slot[data-index="3"] .solxb-cta, .surfmo-h2 b,
.surfmo-row span, .surfmo-grade, .cx-tel { color: var(--ds-primary-on-dark); }
.solxb-cta { color: var(--ds-primary); border: 1px solid currentColor; font-size: var(--ds-caption); font-weight: 400; padding: 11px 22px; }
.solxb.is-dark .solxb-cta, .solxb.is-flat .solxb-slot[data-index="3"] .solxb-cta { border-color: var(--ds-primary-on-dark); }
.cx-btn, .surfmo-go { background: var(--ds-primary); color: var(--ds-white); font-weight: 400; }
.cx-btn { height: 48px; padding: 11px 22px; font-size: var(--ds-body); }
.cx-acts { gap: var(--ds-space-lg); }
.ps-arrow { background: color-mix(in srgb, var(--ds-chip) 64%, transparent); color: var(--ds-ink); border-color: transparent; }
.ps-view { color: var(--ds-primary-on-dark); }
.medmo-hero { background: var(--ds-tile); color: var(--ds-white); }
.medmo-hero p, .medmo-hero-eyebrow { color: var(--ds-muted-on-dark); }
.medmo-hero-btn { background: var(--ds-primary); color: var(--ds-white); border-color: var(--ds-primary); }
.medmo-frame { filter: drop-shadow(var(--ds-product-shadow)); }
.medmo-card-a, .medmo-card-b, .medmo-card-c, .medmo-card-d { background: var(--ds-parchment); }
.corec-st-a, .corec-st-b, .corec-st-c, .corec-st-d { background: var(--ds-tile-alt); }
.corec-st-a, .corec-st-d { background: var(--ds-parchment); }
.corec-panel { background: var(--ds-white); }
.corec-panel-term { background: var(--ds-tile-deep); }
.corec-cap { font-weight: 400; }
.cph-tt, .cn-caption b, .cn-core { font-weight: 600; }
.cpr-st { color: var(--ds-primary); }
.cc-line, .cc-ok { color: var(--ds-primary-on-dark); }
.cc-caret { background: var(--ds-primary-on-dark); }
.cn-caption b { color: var(--ds-white); }
.cn-caption em, .corec-lbl { color: var(--ds-muted-on-dark); }
.solxb .corec .corec-stage { border-radius: var(--ds-radius-card); }
.surfmo-sea { background: var(--ds-tile-deep); }
.surfmo-track i, html .surfmo-cbar i { background: var(--ds-primary-on-dark) !important; }
.surfmo-list { background-image: none; }
#surfmoArc { stroke: var(--ds-primary-on-dark); }
.asm-stage svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]),
.asm-stage svg [fill]:not([fill="none"]):not([fill="currentColor"]),
.gsent svg [stroke]:not([stroke="none"]):not([stroke="currentColor"]) { stroke: var(--ds-primary); }
.asm-stage svg [fill]:not([fill="none"]):not([fill="currentColor"]) { fill: var(--ds-primary); }
.asm-toast svg, .gsent-toast svg { color: var(--ds-primary); }
.asm-siri::before, .asm-siri::after, .asm-halo, .asm-browser::after,
.asm-browser.is-building .asm-bar::after, .asm-hero::after,
.corec-stage::after, .surfmo-track i::after { background: none; }

html :is(.asm-browser, .asm-snippet, .asm-surf, .asm-ai-chip, .asm-toast, .asm-chip, .asm-prompt,
.corec-panel, .cn-core, .cpr, .cn-chip,
.solp-card, .gsent-chip, .gsent-toast, .gsent-wire, .gsent-code, .gsent-live,
.gsent-label, .surfmo-form, .selw-card, .wchat-card, .wchat-welcome,
.wchat-msg, .wchat-hello, .wchat-mini, .wchat-panel, .wchat-fab) { box-shadow: none; }
.selw-item:hover .selw-card { box-shadow: none; }
html .corec:hover :is(.corec-panel, .cn-core, .cpr, .cn-chip) { box-shadow: none; }
.asm-browser, .asm-surf, .solp-card, .selw-card { border-color: var(--ds-hairline); border-radius: var(--ds-radius-card); }
.selw-thumb { border-radius: 0; }
.asm-chip, .gsent-chip, .gsent-toast, .gsent-code, .gsent-label { border-radius: var(--ds-radius-sm); border-color: var(--ds-hairline); }
.wchat-fab, .wchat-panel { --wc-brand: var(--ds-primary); --wc-brand-hover: var(--ds-primary); --wc-line: var(--ds-hairline); }
.wchat-fab { border-radius: var(--ds-radius-pill); }
.wchat-panel { background: var(--ds-parchment); color: var(--ds-ink); border-color: var(--ds-hairline); border-radius: var(--ds-radius-card); }
.wchat-home, .wchat-body, .wchat-foot { background: var(--ds-parchment); }
.wchat-welcome, .wchat-topics button { border-color: var(--ds-hairline); border-radius: var(--ds-radius-card); }
.wchat-start { border-radius: var(--ds-radius-pill); font-size: var(--ds-caption); font-weight: 400; }
.wchat-team-icon, .wchat-avatar { background: var(--ds-parchment); }
.wchat-eyebrow, .wchat-nav button[aria-current] { color: var(--ds-primary); }
.wchat-intro p, .wchat-status, .wchat-hours, .wchat-topics h3,
.wchat-topics button, .wchat-msg.admin, .wchat-nav button { color: var(--ds-secondary); }
.wchat-intro p { font-size: var(--ds-body); line-height: var(--ds-body-leading); }
.wchat-send:disabled { background: var(--ds-chip); color: var(--ds-disabled); }

:is(.header-cta, .cx-btn, .solxb-cta, .wchat-start, .wchat-send,
.wchat-topics button, .wchat-fab, #mobile-menu-toggle):active { transform: scale(.95); }
.ps-arrow:active { transform: translateY(-50%) scale(.95); }

@media (max-width: 767px) {
  .problem-desc, .solxb-intro-sub, .solxb-desc, .solp-desc, .medx-item-desc {
    font-size: var(--ds-body) !important; line-height: var(--ds-body-leading) !important;
  }
  .cx-acts { gap: var(--ds-space-md); }
  .cx-btn { height: 44px; font-size: var(--ds-caption); }
  .ft-col a { font-size: var(--ds-caption); }
}
@media (max-width: 419px) {
  .hero-slide__title { font-size: 28px; }
}
