/* YNOW composition system. The approved palette and artwork are unchanged. */
:root {
  --text-body: 1rem;
  --text-small: .875rem;
  --text-meta: .8125rem;
  --space-section: clamp(64px, 7.5vw, 108px);
  --radius-panel: 16px;
  --shadow-panel: 0 24px 60px oklch(28% .05 285 / .09);
  --care-ink: oklch(37% .055 159);
  --dark-secondary: oklch(83% .028 289);
}
::selection { background: var(--iris-light); color: var(--ink); }
html { scrollbar-color: oklch(66% .055 287) var(--paper); }
input, textarea { caret-color: var(--iris); }
a { text-underline-offset: .25em; }
h1, h2, h3, h4 { text-wrap: balance; letter-spacing: -.035em; }
.hero h1, .page-hero h1, .contact-intro h1 { letter-spacing: -.04em; }
.hero h1 { font-size: clamp(44px, 6.7vw, 96px); }
.hero-description { font-size: clamp(16px, 1.25vw, 18px); line-height: 1.75; }
.hero-caption, .hero-chip, .hero-eyebrow { font-size: var(--text-meta); }
.intro-grid>p, .section-heading>p, .center-heading>p,
.detail-copy>p:not(.section-label), .focus-section p:not(.section-label),
.principles article>p, .prepare-strip p, .setup-steps>li>p,
.feature-copy>p, .faq-layout>div>p { font-size: var(--text-body); line-height: 1.8; }
.intro, .detail-section, .platform-section, .setup { padding-block: var(--space-section); }
.plain-list li { font-size: 15px; line-height: 1.7; padding-block: 14px; }
.plain-list li:before { content: ''; width: 6px; height: 6px; top: 24px; border-radius: 50%; background: var(--iris); }
.button { font-size: 14px; min-height: 48px; }
.text-link, .platform-more .text-link, .detail-copy>.text-link { font-size: 14px; }
.nav-wrap>.button { font-size: 13px; }
#primary-nav { font-size: 14px; }
.section-heading { align-items: end; }
.audience-links small { font-size: 14px; }
.audience-bridge { padding-block: var(--space-section) 12px; }
.audience-bridge h2+p { margin-top: 24px; max-width: 56ch; color: var(--muted); font-size: 15px; line-height: 1.8; }
.consultation-close { border-radius: 20px; }
.consultation-close .closing-label { display: none; }
.consultation-close .closing-copy>p { font-size: 16px; }
.close-action p { font-size: 14px; }
.footer { padding-bottom: max(32px, env(safe-area-inset-bottom)); }
.footer-link-group>span, .footer-bottom { font-size: 13px; }
.footer-link-group>span, .footer-brand p, .footer-bottom { color: var(--dark-secondary); }
.footer-link-group a { font-size: 14px; }
.footer-brand p { font-size: 15px; }
.footer-bottom { gap: 20px; line-height: 1.7; }

/* Platform: put real operating context in the opening viewport. */
.platform-opening { display: grid; grid-template-columns: 1.22fr 1fr; gap: clamp(40px, 6vw, 90px); align-items: center; padding-block: 72px 76px; }
.opening-copy h1, .solutions-opening h1, .about-opening h1 { font-size: clamp(44px, 5.3vw, 76px); line-height: 1.12; letter-spacing: -.04em; }
.opening-copy h1>span, .solutions-opening h1>span, .about-opening h1>span { color: var(--iris); }
.opening-copy>p { font-size: 18px; line-height: 1.8; max-width: 38ch; margin-top: 26px; }
.opening-actions { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; margin-top: 32px; }
.opening-record { position: relative; padding: 32px; border-radius: var(--radius-panel); background: radial-gradient(ellipse at 90% 0%, var(--iris-light), transparent 60%), linear-gradient(145deg, oklch(97% .012 285), oklch(94% .024 315)); box-shadow: var(--shadow-panel); }
.record-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 14px; }
.record-top>span { display: flex; align-items: center; gap: 9px; font-weight: 650; }
.record-top svg { width: 20px; height: 20px; color: var(--iris); }
.record-top small { font-size: 12px; color: var(--muted); }
.opening-record h2 { font-size: 35px; line-height: 1.2; margin: 32px 0 26px; }
.opening-record dl { margin: 0; }
.opening-record dl>div { display: flex; gap: 14px; align-items: center; justify-content: space-between; padding: 16px 0; border-top: 1px solid oklch(85% .033 285); }
.opening-record dt { font-size: 13px; color: var(--muted); }
.opening-record dd { margin: 0; font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 9px; }
.record-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; background: var(--iris); }
.record-dot.captured { background: var(--care-ink); }
.record-dot.waiting { background: transparent; border: 1px solid var(--muted); }
.opening-record>p { font-size: 13px; line-height: 1.8; margin-top: 18px; padding-top: 18px; border-top: 1px solid oklch(85% .033 285); }
.platform-featured { padding-top: 28px; }
.capability-index a { font-size: 13px; }
.capability-index a>span { font-size: 15px; }
.scene-heading { font-size: 14px; }
.scene-heading small { font-size: 12px; }
.analytics-art-foot { font-size: 13px; }
.operation-records .feature { padding: 36px; border-radius: 18px; display: flex; flex-direction: column; }
.operation-records .feature-copy { padding: 0; }
.operation-records .feature-copy h3 { font-size: 34px; line-height: 1.2; }
.operation-records .feature-copy p { max-width: 43ch; }
.recurring-record { background: oklch(99% .005 290); border-radius: 12px; padding: 24px; margin-top: 36px; }
.recurring-record dl { margin: 20px 0; }
.recurring-record dl>div { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); padding: 14px 0; font-size: 14px; }
.recurring-record dt { color: var(--muted); }
.recurring-record dd { margin: 0; font-weight: 600; text-align: right; }
.recurring-record>p { font-size: 13px; line-height: 1.7; }
.care-record { padding-top: 38px; margin-top: auto; }
.care-record-row { display: flex; gap: 18px; align-items: center; }
.care-record-row>span { width: 52px; height: 52px; display: grid; place-items: center; flex-shrink: 0; background: oklch(99% .006 160); border-radius: 12px; color: var(--care-ink); }
.care-record-row h4 { font-size: 18px; margin-bottom: 5px; }
.care-record-row p { font-size: 14px; color: var(--care-ink); line-height: 1.7; }
.care-record-link { display: flex; align-items: center; gap: 42px; margin-left: 26px; height: 72px; }
.care-record-link>i { height: 100%; width: 1px; background: oklch(68% .05 160); }
.care-record-link>span { font-size: 12px; color: var(--care-ink); }

/* Solutions: two different starting points, useful before the first scroll. */
.solutions-opening { padding-block: 68px 40px; }
.solutions-opening-title { display: grid; grid-template-columns: 1.2fr 1fr; gap: 70px; align-items: end; }
.solutions-opening-title>p { font-size: 18px; line-height: 1.8; max-width: 39ch; padding-bottom: 8px; }
.solution-paths { display: grid; grid-template-columns: 1fr 1fr; margin-top: 44px; gap: 20px; }
.solution-path { position: relative; display: block; padding: 34px; border-radius: 16px; transition:transform .35s var(--ease); }
.path-new { background: linear-gradient(130deg, oklch(95% .03 157), oklch(96% .016 230)); }
.path-existing { background: linear-gradient(130deg, oklch(95% .029 285), oklch(94% .035 310)); }
.path-icon { position: absolute; right: 34px; top: 37px; color: var(--iris); }
.path-new .path-icon { color: var(--care-ink); }
.solution-path h2 { font-size: 32px; line-height: 1.2; padding-right: 40px; }
.solution-path p { font-size: 15px; line-height: 1.8; margin-top: 20px; max-width: 41ch; }
.path-action { display: flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 600; border-top: 1px solid oklch(84% .028 285); margin-top: 24px; padding-top: 20px; gap: 16px; }
.path-action svg { transition:transform .3s var(--ease); }
@media(hover:hover) { .solution-path:hover { transform: translateY(-3px); }.solution-path:hover .path-action svg { transform: translateX(5px); } }
.solution-detail h2 { max-width: 14ch; }
.foundation-grid>span { font-size: 14px; }
.operator-sources>span, .operator-output { font-size: 13px; }
.brand-blueprint>p { font-size: 14px; }

/* Pricing: a composed discussion agenda rather than fictitious pricing tiers. */
.pricing-opening { margin: 0 22px; border-radius: 20px; background: radial-gradient(ellipse at 0% 100%, oklch(93% .055 20), transparent 60%), linear-gradient(120deg, oklch(98% .013 40), oklch(94% .028 295)); }
.pricing-opening-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 70px; padding-block: 64px; align-items: center; }
.pricing-opening h1 { font-size: clamp(44px, 4.7vw, 67px); }
.pricing-opening .opening-copy>.button { margin-top: 30px; }
.pricing-agenda { color: var(--paper); background: linear-gradient(135deg, oklch(29% .05 287), oklch(24% .04 307)); border-radius: 16px; padding: 34px; }
.pricing-agenda h2 { font-size: 31px; line-height: 1.25; }
.pricing-agenda ol { list-style: none; margin: 28px 0 0; padding: 0; }
.pricing-agenda li { display: flex; gap: 20px; padding: 21px 0; border-top: 1px solid oklch(46% .04 289); }
.pricing-agenda li>span { color: oklch(80% .07 290); font-size: 13px; padding-top: 4px; font-variant-numeric: tabular-nums; }
.pricing-agenda h3 { font-size: 17px; letter-spacing: -.02em; }
.pricing-agenda p { color: var(--dark-secondary); font-size: 14px; line-height: 1.7; margin-top: 7px; }
.agenda-foot { font-size: 13px; color: var(--dark-secondary); display: flex; justify-content: space-between; align-items: center; border-top: 1px solid oklch(46% .04 289); padding-top: 21px; }
.pricing-clarity article { border-top: 1px solid var(--line); padding-block: 24px; }
.pricing-clarity h3 { font-size: 23px; }
.pricing-clarity p { font-size: 16px; line-height: 1.8; margin-top: 12px; }
.prepare-strip span { font-size: 14px; }
.prepare-strip p+p { margin-top: 14px; }
.process-art { height: 190px; border-radius: 14px; }
.process-art>span, .process-art>strong { font-size: 14px; }
.setup-steps>li>h3 { font-size: 24px; }

/* About: approved purpose and artwork, with a human editorial cadence. */
.about-opening { display: grid; grid-template-columns: 1.35fr 1fr; align-items: center; gap: 50px; padding-block: 70px; }
.about-opening h1 { font-size: clamp(52px, 6.2vw, 88px); }
.about-opening>div>p { font-size: 19px; line-height: 1.8; max-width: 30ch; margin-top: 30px; }
.about-signature { min-height: 370px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 32px; background: radial-gradient(ellipse at 60% 40%, oklch(92% .06 290), transparent 64%), radial-gradient(ellipse at 25% 65%, oklch(95% .045 20), transparent 64%); }
.about-signature .brand-mark { width: 182px; height: 182px; }
.about-signature>span { font-size: 14px; color: var(--muted); }
.about-story { display: grid; grid-template-columns: 1fr 1.15fr; gap: 90px; padding-block: 68px 100px; border-top: 1px solid var(--line); }
.about-story h2 { font-size: 40px; line-height: 1.25; }
.about-story p { font-size: 17px; line-height: 1.85; margin-bottom: 22px; }
.about-story p.story-lead { font-size: 24px; line-height: 1.6; color: var(--ink); letter-spacing: -.015em; }
.about-story .text-link { margin-top: 8px; }
.principles article { grid-template-columns: 1fr 1.15fr; column-gap: 90px; }
.principles article>span { display: none; }
.principles .section-heading { margin-bottom: 34px; }
.mission-field h2 { font-size: clamp(36px, 4.5vw, 64px); }
.mission-field p:last-child { font-size: 15px; }

/* Reading tools: less ceremony, more useful structure. */
.theme-quiet { background: none; border-radius: 0; margin: 0; padding-block: 58px 40px; }
.theme-quiet h1 { font-size: clamp(42px, 4.7vw, 64px); letter-spacing: -.035em; }
.theme-quiet .page-lead { font-size: 17px; line-height: 1.8; margin-top: 20px; }
.faq-directory { padding-top: 30px; gap: 64px; grid-template-columns: 240px minmax(0,1fr); }
.faq-category-nav a { font-size: 14px; gap: 12px; min-height: 48px; }
.faq-category-nav a>span { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.faq-category-nav a[aria-current=true] { background: var(--iris-light); color: var(--ink); font-weight: 650; }
.faq-search { padding: 0 0 32px; border: 0; background: none; }
.faq-search label { font-size: 16px; }
.faq-search-field input { min-height: 56px; font-size: 16px; border-radius: 10px; }
.faq-search #faq-result-count { font-size: 13px; }
.faq-topic-picker { display: none; }
.faq-list summary { font-size: 17px; line-height: 1.55; min-height: 60px; }
.faq-group .faq-list details>p, .faq-list details>p { font-size: 16px; line-height: 1.85; }
.faq-list p .text-link { font-size: 14px; }
.faq-group h2 { font-size: 28px; }
.faq-group[hidden] { display: none; }
.legal-layout { padding-top: 25px; grid-template-columns: 240px minmax(0,1fr); gap: 76px; }
.legal-document { max-width: 720px; }
.legal-document>.legal-introduction { margin-top: 0; font-size: 20px; }
.legal-section p, .legal-section li { font-size: 16px; line-height: 1.9; }
.legal-page-links { font-size: 14px; }
.legal-contents a { font-size: 13px; }
.legal-contact h2 { font-size: 24px; margin-bottom: 18px; }
.legal-contact { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.legal-contact h2 { width: 100%; }

/* Availability is visible before a visitor gives us their time or data. */
#contact-unavailable { padding: 30px 34px 32px; }
.unavailable-symbol { display: grid; place-items: center; width: 50px; height: 50px; color: var(--iris); background: var(--iris-light); border-radius: 12px; margin-bottom: 22px; }
#contact-unavailable h3 { font-size: 25px; line-height: 1.35; max-width: 21ch; }
#contact-unavailable>p { font-size: 16px; line-height: 1.8; margin-top: 16px; }
#contact-unavailable>div:not(.unavailable-symbol) { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 22px; }
#contact-unavailable p.unavailable-note { font-size: 13px; border-top: 1px solid var(--line); padding-top: 22px; margin-top: 22px; }
.contact-panel-heading p { font-size: 15px; }
.contact-expectations p { font-size: 15px; }
.contact-intro .page-lead { font-size: 17px; }
.contact-brand-line { font-size: 14px; }
.field label, .stage-options legend { font-size: 14px; }
.field-help, .contact-privacy { font-size: 13px; }
.contact-bottom a { font-size: 14px; }

@media (max-width: 1000px) {
  .platform-opening, .pricing-opening-grid { gap: 36px; }
  .opening-record, .pricing-agenda { padding: 26px; }
  .opening-copy h1 { font-size: 52px; }
  .opening-copy>p { font-size: 16px; }
  .opening-record dl>div { align-items: start; flex-direction: column; gap: 8px; }
  .about-story, .principles article { gap: 44px; }
  .faq-directory, .legal-layout { gap: 38px; grid-template-columns: 195px minmax(0,1fr); }
  .operation-records .feature { padding: 26px; }
  .recurring-record { padding: 19px; }
  .recurring-record dl>div { flex-direction: column; gap: 7px; }
  .recurring-record dd { text-align: left; }
}
@media (max-width: 760px) {
  .platform-opening, .pricing-opening-grid { grid-template-columns: 1fr; gap: 32px; padding-block: 42px; }
  .opening-copy h1 { font-size: clamp(40px, 7.5vw, 59px); }
  .opening-copy>p { max-width: 48ch; font-size: 17px; }
  .opening-record dl>div { flex-direction: row; align-items: center; }
  .opening-record { max-width: 540px; width: 100%; }
  .opening-record h2 { font-size: 29px; margin-block: 26px 22px; }
  .platform-featured { padding-top: 24px; }
  .solutions-opening-title { grid-template-columns: 1fr; gap: 24px; }
  .solutions-opening-title>p { max-width: 48ch; font-size: 17px; }
  .solution-paths { margin-top: 30px; }
  .solution-path { padding: 25px; }
  .solution-path h2 { font-size: 27px; }
  .path-icon { right: 23px; top: 29px; }
  .path-action { font-size: 13px; }
  .pricing-opening { margin-inline: 10px; }
  .pricing-agenda h2 { font-size: 29px; }
  .about-opening { gap: 20px; }
  .about-opening h1 { font-size: 51px; }
  .about-signature .brand-mark { width: 140px; height: 140px; }
  .about-signature { min-height: 290px; }
  .about-opening>div>p { font-size: 17px; }
  .faq-directory, .legal-layout { grid-template-columns: 1fr; gap: 24px; }
  .faq-category-nav { display: none; }
  .faq-topic-picker { display: block; margin-bottom: 30px; }
  .faq-topic-picker label { display: block; font-size: 14px; margin-bottom: 9px; }
  .faq-topic-picker select { width: 100%; font: inherit; font-size: 16px; padding: 12px; min-height: 50px; border: 1px solid var(--line); background: var(--paper); border-radius: 8px; }
  .legal-sidebar { position: static; max-height: none; padding: 0; }
  .legal-contents { padding-top: 12px; }
  .contact-expectations p { font-size: 14px; }
}
@media (max-width: 639px) {
  :root { --space-section: 60px; }
  .audience-bridge h2+p { margin-top: 16px; font-size: 14px; }
  .prepare-strip p+p { margin-top: 12px; }
  h2 { font-size: 34px; }
  .hero h1 { font-size: clamp(42px, 10.5vw, 62px); }
  .hero-caption { font-size: 12px; }
  .hero-actions .button { font-size: 13px; }
  .nav-wrap>.button { font-size: 11px; }
  .intro-grid h2 { font-size: 34px; }
  .essentials>span { font-size: 13px; }
  .hero-description { font-size: 16px; }
  .opening-actions { gap: 12px 20px; margin-top: 26px; }
  .opening-actions .button, .opening-actions .text-link { font-size: 13px; }
  .opening-record { padding: 24px; }
  .opening-record dt { font-size: 12px; }
  .opening-record dd { font-size: 13px; }
  .opening-record dl>div { gap: 8px; }
  .solutions-opening { padding-top: 42px; }
  .solutions-opening h1 { font-size: 52px; }
  .solution-paths { grid-template-columns: 1fr; gap: 14px; }
  .solution-path { padding: 27px; }
  .solution-path h2 { font-size: 31px; }
  .path-action { font-size: 14px; }
  .detail-copy h2 { font-size: 35px; }
  .operation-records .feature-copy h3 { font-size: 30px; }
  .recurring-record dl>div { flex-direction: row; }
  .recurring-record dd { text-align: right; }
  .operation-records .feature { padding: 28px 23px; }
  .care-record-link { gap: 42px; }
  .care-record-row p { font-size: 14px; }
  .about-opening { grid-template-columns: 1fr; padding-block: 42px 25px; gap: 14px; }
  .about-opening h1 { font-size: clamp(46px, 12vw, 64px); }
  .about-opening>div>p { margin-top: 22px; }
  .about-signature { min-height: 235px; flex-direction: row; gap: 30px; }
  .about-signature .brand-mark { width: 114px; height: 114px; }
  .about-signature>span { max-width: 12ch; font-size: 15px; }
  .about-story { grid-template-columns: 1fr; padding-block: 40px 60px; gap: 25px; }
  .about-story h2 { font-size: 33px; }
  .about-story p.story-lead { font-size: 21px; }
  .about-story p { font-size: 16px; }
  .principles article { grid-template-columns: 1fr; gap: 16px; }
  .principles article>p { grid-column: auto; }
  .principles h3 { font-size: 26px; }
  .principles h3 br { display: none; }
  .theme-quiet { padding-block: 38px 25px; }
  .theme-quiet h1 { font-size: 43px; }
  .theme-quiet .page-lead { font-size: 16px; }
  .faq-directory { padding-top: 18px; }
  .faq-list summary { font-size: 16px; padding-block: 21px; }
  .faq-group h2 { font-size: 25px; }
  .legal-section h2 { font-size: 23px; }
  .legal-section p, .legal-section li { font-size: 16px; }
  .legal-document>.legal-introduction { font-size: 18px; }
  .legal-section h2>span { font-size: 12px; padding-top: 7px; }
  .consultation-close h2 { font-size: 34px; }
  .consultation-close .closing-copy>p { font-size: 16px; }
  .close-action p { font-size: 13px; }
  .footer-link-group a { font-size: 13px; }
  .footer-link-group>span { font-size: 12px; }
  .footer-bottom { font-size: 12px; }
  .contact-panel-heading p { font-size: 15px; }
  .contact-expectations h2 { font-size: 20px; }
  .contact-expectations p { font-size: 14px; }
  .contact-intro .page-lead { font-size: 16px; }
  .contact-intro h1 { font-size: 44px; }
  #contact-unavailable { padding: 26px 22px; }
  #contact-unavailable h3 { font-size: 25px; }
  .contact-bottom h2 { font-size: 26px; }
}
@media(max-width: 359px) {
  .nav-wrap>.button { font-size: 10px; }
  .opening-record dl>div { flex-direction: column; align-items: flex-start; }
  .recurring-record dl>div { flex-direction: column; }
  .recurring-record dd { text-align: left; }
  .record-top { flex-wrap: wrap; }
  .about-opening h1 { font-size: 44px; }
  .contact-panel-heading h2 { font-size: 30px; }
}
@media(prefers-reduced-motion:reduce) {
  .solution-path, .path-action svg { transition:none!important; transform: none; }
}
.reduce-motion .solution-path, .reduce-motion .path-action svg { transition:none!important; transform: none; }
@media print {
  .site-header, .footer, .legal-sidebar, .consultation-close, .skip-link { display: none; }
  .legal-layout { display: block; padding: 0; }
  .legal-document { max-width: none; }
  .legal-section { break-inside: avoid; }
  .theme-quiet { padding: 20px 0; }
}

/* Concrete commerce structure replaces a repeated three-status illustration. */
.commerce-record { padding: 32px; border-radius: 16px; background: linear-gradient(135deg, var(--iris-light), oklch(97% .02 317)); }
.commerce-record h3 { font-size: 35px; line-height: 1.2; margin: 32px 0; }
.commerce-record>div:not(.record-top) { display: flex; gap: 17px; align-items: center; padding-block: 20px; border-top: 1px solid oklch(85% .03 287); }
.commerce-record>div>span:has(svg) { color: var(--iris); }
.commerce-record strong { display: block; font-size: 16px; font-weight: 650; color: var(--ink); }
.commerce-record small { font-size: 14px; line-height: 1.7; display: block; margin-top: 5px; }
.commerce-record .record-top small { font-size: 12px; margin: 0; }
@media(max-width:639px) { .commerce-record { padding: 26px; }.commerce-record h3 { font-size: 31px; } }

/* September 26 shared system: reading, wayfinding and a deliberate finish. */
:root {
  --text-small: .8rem;
  --text-body: 1rem;
  --text-lead: 1.25rem;
  --text-title: 1.5625rem;
  --text-subhead: 1.953125rem;
  --text-section: clamp(1.953125rem, 4.1vw, 3.051758rem);
  --text-display: clamp(2.441406rem, 6vw, 4.768372rem);
  --space-section: clamp(64px, 8vw, 120px);
  --space-breath: clamp(80px, 10vw, 144px);
  --surface-quiet: oklch(96.5% .012 285);
  --surface-care: oklch(96% .018 157);
  --interaction-ink: oklch(43% .14 286);
}
body { min-height: 100dvh; display: flex; flex-direction: column; }
main { flex: 1; }
p { max-width: 70ch; }
h1 { font-size: var(--text-display); }
h2 { font-size: var(--text-section); }
h3 { font-size: var(--text-title); }
.site-header { background: var(--paper); backdrop-filter: none; }
.nav-wrap { width: min(1280px, calc(100% - 64px)); gap: 32px; }
#primary-nav { gap: 32px; font-size: 14px; }
#primary-nav a[aria-current=page]::after { transform: scaleX(1); }
#primary-nav a::after { transition:transform 180ms var(--ease); }
.nav-wrap>.button { font-size: 14px; min-height: 48px; }
.button { border-radius: 10px; min-height: 48px; }
.button:hover { box-shadow: none; }
.text-link { min-height: 44px; }
.button-glass { background: var(--paper); border-color: var(--line); backdrop-filter: none; }
.intro { padding-block: var(--space-section) 40px; }
.intro-grid { grid-template-columns: 1fr 1.15fr; gap: 88px; align-items: start; }
.intro h2 { font-size: var(--text-subhead); line-height: 1.28; letter-spacing: -.03em; }
.intro-grid>p { max-width: 70ch; }
.essentials { padding-block: 36px 28px; font-size: 14px; gap: 24px; color: var(--muted); }
[data-page=home] .order-story-section { padding-block: 48px var(--space-section); }
[data-page=home] .platform-section { background: var(--surface-quiet); padding-block: var(--space-section); }
[data-page=home] .center-heading { text-align: left; display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; align-items: end; }
[data-page=home] .center-heading h2 { font-size: var(--text-section); }
[data-page=home] .center-heading>p:last-child { margin: 0; justify-self: end; font-size: 16px; }
.workspace { box-shadow: none; border-radius: 16px; border-color: var(--line); }
.workspace-navigation { background: var(--paper); }
.workspace-support { opacity: 1; }
.workspace-support p { color: var(--muted); }
[data-page=home] .prepare-strip { padding-block: 64px; margin-bottom: 0; gap: 88px; grid-template-columns: 1fr 1.15fr; }
[data-page=home] .prepare-strip h2 { font-size: var(--text-subhead); }
.audience-bridge { padding-block: 48px var(--space-section); align-items: start; gap: 88px; }
.audience-bridge h2 { font-size: var(--text-section); }
.audience-bridge h2+p { font-size: 16px; }
.audience-links a:first-child { padding-top: 0; }
.audience-links strong { font-size: 25px; }
.consultation-sequence { padding-top: 0; }
.section-heading h2,.faq-layout h2 { font-size: var(--text-section); }
.faq-section { background: var(--surface-care); padding-block: 72px; }
.consultation-close { background: var(--paper); padding: 0; margin-block: var(--space-section); border-radius: 0; gap: 64px; grid-template-columns: 1.4fr 1fr; overflow: visible; }
.consultation-close h2 { font-size: var(--text-section); margin: 0 0 24px; }
.consultation-close .closing-copy>p,.close-action p { color: var(--muted); }
.close-action { justify-self: stretch; border-top: 1px solid var(--line); padding-top: 28px; }
.close-action .button { background: var(--iris); color: var(--paper); min-height: 56px; padding-inline: 24px; font-size: 16px; }
.close-action .button:hover { background: var(--interaction-ink); }
.close-action p { margin-top: 20px; font-size: 14px; }
.footer { background: var(--ink); padding-top: 64px; }
.footer-main { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 48px; }
.footer-brand p { margin-top: 24px; font-size: 16px; }
.footer-link-group { gap: 0; }
.footer-link-group>span { font-size: 13px; margin-bottom: 16px; color: var(--dark-secondary); }
.footer-link-group a { font-size: 16px; min-height: 44px; width: fit-content; }
.footer-bottom { border-color: oklch(42% .03 283); font-size: 13px; padding-top: 24px; }
.legal-document { max-width: 70ch; }
.legal-section a { display: inline-flex; align-items: center; min-height: 44px; }
[data-page=not-found] main { display: grid; align-items: center; min-height: 55vh; padding-block: 40px; }
[data-page=not-found] .section-label { display: none; }
@media(max-width:1000px) and (min-width:760px) {
 .nav-wrap { width: calc(100% - 40px); gap: 20px; }
 #primary-nav { gap: 18px; font-size: 13px; }
 .nav-wrap>.button { font-size: 13px; padding-inline: 14px; gap: 10px; }
 .intro-grid,.audience-bridge { gap: 48px; }
}
@media(max-width:759px) {
 :root { --header: 80px; }
 .nav-wrap { width: calc(100% - 40px); min-height: 80px; height: auto; gap: 14px; }
 .nav-wrap>.button { margin-left: auto; font-size: 13px; min-height: 44px; }
 .menu-toggle { display: block; width: 44px; min-width: 44px; height: 44px; margin: 0; }
 .js #primary-nav { display: none; }
 .js #primary-nav.menu-open { display: flex; position: absolute; left: 20px; right: 20px; top: calc(100% - 1px); flex-direction: column; align-items: stretch; gap: 0; padding: 16px 24px; border: 1px solid var(--line); border-radius: 0 0 12px 12px; background: var(--paper); box-shadow: none; backdrop-filter: none; font-size: 16px; }
 #primary-nav a { min-height: 48px; }
 html:not(.js) .nav-wrap { flex-wrap: wrap; padding-block: 12px; }
 html:not(.js) #primary-nav { display: flex; order: 3; width: 100%; justify-content: space-between; gap: 12px; }
 html:not(.js) .menu-toggle { display: none; }
 .intro-grid,.audience-bridge { grid-template-columns: 1fr; gap: 28px; }
 [data-page=home] .center-heading { grid-template-columns: 1fr; gap: 24px; }
 [data-page=home] .center-heading>p:last-child { justify-self: start; }
 [data-page=home] .prepare-strip { grid-template-columns: 1fr; gap: 24px; padding-block: 48px; }
 .consultation-close { grid-template-columns: 1fr; gap: 32px; }
 .close-action { width: 100%; }
 .footer-main { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 20px; }
 .footer-brand { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
 .footer-brand p { margin: 0; }
}
@media(max-width:539px) {
 .intro { padding-block: 56px 24px; }
 .essentials { display: grid; grid-template-columns: 1fr 1fr; padding-top: 28px; gap: 16px; }
 .essentials>span { font-size: 13px; }
 [data-page=home] .order-story-section { padding-top: 32px; }
 .audience-bridge { padding-block: 32px 64px; }
 .audience-bridge h2+p { font-size: 16px; }
 .audience-links strong { font-size: 20px; }
 .audience-links a { padding-block: 24px; }
 .consultation-close { margin-block: 64px; }
 .close-action .button { width: 100%; justify-content: space-between; }
 .footer { padding-top: 40px; }
 .footer-brand { align-items: start; flex-direction: column; gap: 20px; }
 .footer-brand p { max-width: 70ch; }
 .footer-main { gap: 32px 16px; }
 .footer-link-group a { font-size: 14px; }
 .footer-link-group>span { font-size: 12px; }
 .footer-bottom { flex-wrap: wrap; gap: 12px; font-size: 12px; }
 .footer-bottom>a { margin-left: auto; }
}

/* Supporting product captions retain body contrast on tinted surfaces. */
.platform-caption p,.platform-caption strong { color: var(--muted); font-size: 12px; }

/* Keep the consultation action in the header row on ordinary phone widths. */
@media(min-width:360px) and (max-width:759px) {
 :root { --header: 72px; }
 .nav-wrap { width: calc(100% - 24px); min-height: 72px; gap: 8px; }
 .nav-wrap>.button { font-size: 12px; padding-inline: 10px; min-height: 44px; border-radius: 100px; }
 .nav-wrap>.button svg { display: none; }
 .brand-wordmark { width: 144px; }
 .js #primary-nav.menu-open { left: 12px; right: 12px; }
}
@media(max-width:359px) {
 :root { --header: 116px; }
 html { scroll-padding-top: 136px; }
 .nav-wrap { display: grid; grid-template-columns: 1fr 44px; grid-template-rows: 52px 44px; padding-block: 8px; gap: 0 12px; width: calc(100% - 40px); }
 .site-header .logo { grid-column: 1; grid-row: 1; padding: 0; min-height: 44px; justify-self: start; }
 .menu-toggle { grid-column: 2; grid-row: 1; }
 .nav-wrap>.button { grid-column: 1/-1; grid-row: 2; margin: 0; min-height: 44px; font-size: 14px; justify-content: space-between; padding-inline: 16px; }
 .nav-wrap>.button svg { display: block; width: 18px; height: 18px; }
 html:not(.js) .nav-wrap { display: flex; }
 html:not(.js) .nav-wrap>.button { flex: 1; }

}
/* Selected product scenes arrive once; content remains present before enhancement. */
.scene-enter { animation: scene-arrive 520ms var(--ease) both; }
@keyframes scene-arrive { from { opacity: .86; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media(hover:hover) and (pointer:fine) {
 .button:hover { transform: translateY(-2px); }
 .button:active { transform: translateY(0) scale(.98); }
}
@media(prefers-reduced-motion:reduce) { .scene-enter { animation: none; }.button:hover,.button:active { transform: none; } }
.reduce-motion .scene-enter { animation: none; }
.reduce-motion .button:hover,.reduce-motion .button:active { transform: none; }
