:root {
  --ink: #102a43;
  --ink-2: #173b59;
  --blue: #176fc1;
  --cyan: #72c9d5;
  --cyan-pale: #e2f6f8;
  --rose: #d98d98;
  --rose-pale: #f8eaed;
  --gray: #7b8794;
  --paper: #f4f7fa;
  --white: #fff;
  --line: #d9e3e9;
  --text: #30495f;
  --shadow: 0 24px 64px rgba(16, 42, 67, 0.12);
  --radius: 18px;
  --max: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Century Gothic", "Avenir Next", Arial, sans-serif; font-size: 1rem; line-height: 1.6; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
main * { min-width: 0; }
main h1, main h2, main h3, main p, main a, main summary, main label, main li, main span, main strong, main small { overflow-wrap: anywhere; hyphens: auto; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { display: block; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; padding: .7rem 1rem; color: var(--white); background: var(--ink); border-radius: 10px; transform: translateY(-160%); transition: transform 180ms ease; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; z-index: 100; inset: 0 0 auto; min-height: 5rem; padding: .25rem 1.5rem; background: rgba(244, 247, 250, .94); border-bottom: 1px solid rgba(16, 42, 67, .08); backdrop-filter: blur(18px); }
.site-header.scrolled { box-shadow: 0 10px 30px rgba(16, 42, 67, .08); }
.nav-shell { display: flex; align-items: center; justify-content: space-between; width: min(100%, var(--max)); min-height: 4.5rem; margin: 0 auto; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.header-primary-logo { display: block; width: auto; height: 4.25rem; object-fit: contain; }
.site-nav { display: flex; align-items: center; gap: 1.35rem; font-size: .84rem; font-weight: 700; }
.site-nav > a:not(.nav-cta) { color: var(--text); }
.site-nav > a:not(.nav-cta):hover, .site-nav > a:not(.nav-cta):focus-visible { color: var(--blue); }
.nav-solutions { position: relative; }
.nav-solutions > summary { color: var(--text); cursor: pointer; list-style: none; }
.nav-solutions > summary::-webkit-details-marker { display: none; }
.nav-solutions > summary::after { display: inline-block; margin-left: .35rem; color: var(--blue); content: "+"; font-size: .95rem; }
.nav-solutions[open] > summary::after { content: "−"; }
.nav-solutions > summary:hover, .nav-solutions > summary:focus-visible { color: var(--blue); }
.nav-solutions-panel { position: absolute; top: calc(100% + 1rem); left: 50%; display: grid; width: 18rem; padding: .55rem; background: var(--white); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); transform: translateX(-50%); }
.nav-solutions-panel::before { position: absolute; right: 0; bottom: 100%; left: 0; height: 1rem; content: ""; }
.nav-solutions-panel a { padding: .7rem .8rem; color: var(--text); border-radius: 9px; font-size: .78rem; }
.nav-solutions-panel a:hover, .nav-solutions-panel a:focus-visible { color: var(--ink); background: var(--cyan-pale); }
.nav-cta { padding: .72rem 1rem; color: var(--white); background: var(--ink); border-radius: 12px; white-space: nowrap; transition: background 180ms ease, transform 180ms ease; }
.nav-cta:hover, .nav-cta:focus-visible { background: var(--ink-2); transform: translateY(-1px); }
.nav-toggle { display: none; width: 2.75rem; height: 2.75rem; padding: .68rem; background: var(--white); border: 1px solid var(--line); border-radius: 50%; }
.nav-toggle span:not(.sr-only) { display: block; width: 100%; height: 1.5px; margin-block: 5px; background: var(--ink); transition: transform 180ms ease; }

.hero { position: relative; min-height: 46rem; padding: 8.25rem 1.5rem 4.5rem; overflow: hidden; background: linear-gradient(135deg, #fff 0%, var(--paper) 66%, #eaf5f7 100%); }
.hero::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(16,42,67,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(16,42,67,.035) 1px, transparent 1px); background-size: 64px 64px; content: ""; mask-image: linear-gradient(to bottom, #000 20%, transparent 92%); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(28rem, .94fr); align-items: center; gap: 5vw; width: min(100%, var(--max)); margin: 0 auto; }
.hero-grid > * { min-width: 0; }
.eyebrow { display: flex; align-items: center; gap: .65rem; margin: 0 0 1.2rem; color: #3c7380; font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow span { flex: 0 0 auto; width: .52rem; height: .52rem; background: var(--rose); border-radius: 50%; }
.hero h1, .section h2, .legal-notice h2 { margin: 0; font-weight: 500; letter-spacing: -.045em; line-height: 1.03; }
.hero h1 { max-width: 47rem; font-size: clamp(3.1rem, 5.15vw, 5rem); }
.hero h1, .hero-lede, .button { overflow-wrap: anywhere; hyphens: auto; }
.hero h1 em { color: var(--blue); font-style: normal; }
.hero-lede { max-width: 45rem; margin: 1.6rem 0 0; color: var(--text); font-size: clamp(1.05rem, 1.35vw, 1.22rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; padding: .8rem 1.25rem; border: 0; border-radius: 12px; font-weight: 700; cursor: pointer; transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease; }
.button svg { width: 1.1rem; height: 1.1rem; margin-left: .6rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.button-primary { color: var(--white); background: var(--ink); box-shadow: 0 14px 30px rgba(16,42,67,.15); }
.button-primary:hover, .button-primary:focus-visible { background: var(--ink-2); transform: translateY(-2px); }
.button-secondary { color: var(--ink); background: rgba(255,255,255,.76); border: 1px solid var(--line); }
.button-secondary:hover, .button-secondary:focus-visible { background: var(--white); transform: translateY(-2px); }
.checkup-inline { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .85rem; max-width: 45rem; margin-top: 1.55rem; padding-top: 1.25rem; border-top: 1px solid var(--line); color: var(--gray); font-size: .82rem; line-height: 1.5; }
.checkup-inline strong { color: var(--ink); white-space: nowrap; }

.hero-system { position: relative; min-height: 34rem; }
.hero-system::before, .hero-system::after { position: absolute; border: 1px solid rgba(114,201,213,.28); border-radius: 50%; content: ""; }
.hero-system::before { inset: .5rem -2rem; }
.hero-system::after { inset: 5rem 1rem; border-color: rgba(217,141,152,.25); }
.system-panel { position: absolute; z-index: 2; top: 50%; left: 50%; width: min(100%, 31rem); padding: 1.3rem; background: rgba(255,255,255,.95); border: 1px solid rgba(255,255,255,.9); border-radius: 16px; box-shadow: var(--shadow); backdrop-filter: blur(18px); transform: translate(-50%,-50%) rotate(1deg); }
.system-topline { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.system-topline > div { display: flex; flex-direction: column; }
.panel-kicker { margin-bottom: .2rem; color: var(--gray); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.status-pill { padding: .35rem .65rem; color: #8d3d50; background: var(--rose-pale); border-radius: 999px; font-size: .72rem; font-weight: 700; }
.intake-source { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .85rem; padding: .85rem; color: var(--white); background: var(--ink); border-radius: 12px; }
.source-badge { padding: .45rem .55rem; color: var(--cyan); background: rgba(255,255,255,.08); border-radius: 8px; font-size: .72rem; font-weight: 700; }
.intake-source div { display: flex; flex-direction: column; }
.intake-source div span { color: #aebbc5; font-size: .72rem; }
.intake-source strong { font-size: .82rem; }
.process-stack { margin: .65rem 0 0; padding: 0; list-style: none; }
.process-stack li { display: grid; grid-template-columns: 2rem 1fr auto; align-items: center; gap: .8rem; margin-top: .55rem; padding: .72rem; border: 1px solid var(--line); border-radius: 11px; }
.process-stack li > span { display: grid; width: 2rem; height: 2rem; place-items: center; color: var(--gray); background: var(--paper); border-radius: 8px; font-size: .7rem; font-weight: 700; }
.process-stack div { display: flex; flex-direction: column; }
.process-stack strong { font-size: .78rem; }
.process-stack small { color: var(--gray); font-size: .7rem; }
.process-stack i { display: grid; width: 1.3rem; height: 1.3rem; place-items: center; color: #277989; background: var(--cyan-pale); border-radius: 50%; font-size: .7rem; font-style: normal; font-weight: 700; }
.process-stack li.active { background: var(--rose-pale); border-color: #ebc3ca; }
.process-stack li.active i { width: .65rem; height: .65rem; margin-right: .3rem; background: var(--rose); box-shadow: 0 0 0 5px rgba(217,141,152,.16); }
.panel-result { display: flex; justify-content: space-between; gap: 1rem; margin-top: .75rem; padding: .7rem .2rem .05rem; font-size: .68rem; }
.panel-result span { color: var(--gray); text-transform: uppercase; letter-spacing: .08em; }
.panel-result strong { text-align: right; }

.trust-strip { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.2rem max(1.5rem, calc((100vw - var(--max))/2)); color: #bdd0da; background: var(--ink); }
.trust-strip p { margin: 0; color: var(--white); font-size: .88rem; font-weight: 700; }
.trust-items { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1rem 1.8rem; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.section { width: min(100%, calc(var(--max) + 3rem)); margin: 0 auto; padding: 7rem 1.5rem; }
.section-heading { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(18rem,.55fr); align-items: end; gap: 4.5rem; margin-bottom: 3.4rem; }
.section-heading > * { min-width: 0; }
.section-heading h2 { overflow-wrap: break-word; hyphens: auto; }
.section-heading.compact { margin-bottom: 2.5rem; }
.section-heading .eyebrow { margin-bottom: 1rem; }
.section h2 { max-width: 52rem; font-size: clamp(2.35rem, 4vw, 4.25rem); }
.section-heading > p { margin: 0; color: var(--text); font-size: 1rem; }

.compact-section { padding-block: 5.2rem; }
.compact-heading { display: grid; grid-template-columns: .45fr 1fr; align-items: end; gap: 2rem; margin-bottom: 1.5rem; }
.compact-heading .eyebrow { margin-bottom: .65rem; }
.compact-heading h2 { font-size: clamp(2rem,3.2vw,3.2rem); }
.fit-disclosure, .journey-disclosure, .calculator-disclosure { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.fit-disclosure > summary, .journey-disclosure > summary, .calculator-disclosure > summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 5.5rem; padding: 1.3rem 4rem 1.3rem 1.5rem; cursor: pointer; list-style: none; }
.fit-disclosure > summary::-webkit-details-marker, .journey-disclosure > summary::-webkit-details-marker, .calculator-disclosure > summary::-webkit-details-marker { display: none; }
.fit-disclosure > summary::after, .journey-disclosure > summary::after, .calculator-disclosure > summary::after { position: absolute; right: 1.5rem; color: var(--blue); content: "+"; font-size: 1.5rem; }
.fit-disclosure[open] > summary::after, .journey-disclosure[open] > summary::after, .calculator-disclosure[open] > summary::after { content: "−"; }
.fit-disclosure > summary span, .journey-disclosure > summary span { color: var(--gray); font-size: .85rem; }
.fit-criteria { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }
.fit-criteria p { margin: 0; padding: 1.25rem; color: var(--text); border-right: 1px solid var(--line); font-size: .88rem; }
.fit-criteria p:last-child { border-right: 0; }
.fit-criteria b { display: block; margin-bottom: .35rem; color: var(--ink); }

.topic-accordion { border-top: 1px solid var(--line); }
.topic-accordion details { border-bottom: 1px solid var(--line); }
.topic-accordion summary { position: relative; display: grid; grid-template-columns: 3.5rem 1fr; align-items: center; gap: 1rem; min-height: 6rem; padding: .8rem 4rem .8rem 0; cursor: pointer; list-style: none; }
.topic-accordion summary::-webkit-details-marker, .price-accordion summary::-webkit-details-marker { display: none; }
.topic-accordion summary::after, .price-accordion summary::after { position: absolute; right: 1rem; color: var(--blue); content: "+"; font-size: 1.4rem; }
.topic-accordion details[open] summary::after, .price-accordion details[open] summary::after { content: "−"; }
.topic-accordion summary > span:first-child { color: var(--rose); font-size: .75rem; font-weight: 700; }
.topic-accordion summary > span:last-child { display: flex; flex-direction: column; }
.topic-accordion summary strong { font-size: 1.2rem; }
.topic-accordion summary small { margin-top: .15rem; color: var(--gray); font-size: .82rem; }
.topic-body { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding: 0 4rem 1.6rem 4.5rem; }
.topic-body p { margin: 0; color: var(--text); }
.topic-body ul { margin: 0; padding-left: 1.2rem; color: var(--text); }
.topic-body li + li { margin-top: .35rem; }

.section-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding: 1rem 1.2rem; color: var(--white); background: var(--ink); border-radius: 12px; font-size: .9rem; font-weight: 700; }
.section-cta:hover, .section-cta:focus-visible { background: var(--ink-2); }
.section-cta span { color: var(--cyan); font-size: 1.2rem; }
.solution-entry-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 1.5rem; }
.solution-entry-grid a { position: relative; display: flex; min-height: 10rem; padding: 1.25rem; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: 14px; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.solution-entry-grid a:hover, .solution-entry-grid a:focus-visible { border-color: var(--cyan); box-shadow: 0 18px 38px rgba(16,42,67,.09); transform: translateY(-2px); }
.solution-entry-grid span { color: #3c7380; font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.solution-entry-grid strong { margin-top: auto; font-size: 1.03rem; }
.solution-entry-grid small { margin-top: .3rem; padding-right: 1.7rem; color: var(--gray); font-size: .78rem; line-height: 1.5; }
.solution-entry-grid i { position: absolute; right: 1.2rem; bottom: 1.15rem; color: var(--blue); font-size: 1.1rem; font-style: normal; }

.calculator-disclosure { overflow: hidden; }
.calculator-disclosure > summary { background: linear-gradient(100deg,var(--cyan-pale),var(--rose-pale)); }
.calculator-disclosure > summary > span { display: flex; flex-direction: column; }
.calculator-disclosure > summary strong { font-size: 1.05rem; }
.calculator-disclosure > summary small { margin-top: .2rem; color: var(--text); font-size: .82rem; }
.calculator-disclosure .calculator-shell { padding: 1rem; border-top: 1px solid var(--line); }
.calculator-disclosure .calculator-disclaimer { margin: 0 1rem 1rem; }

.journey-steps { display: grid; grid-template-columns: repeat(5,1fr); margin: 0 0 1rem; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; list-style: none; }
.journey-steps li { display: flex; min-height: 8rem; padding: 1.1rem; flex-direction: column; border-right: 1px solid var(--line); }
.journey-steps li:last-child { border-right: 0; }
.journey-steps span { color: var(--rose); font-size: .72rem; font-weight: 700; }
.journey-steps strong { margin-top: auto; font-size: 1rem; }
.journey-steps small { color: var(--gray); font-size: .72rem; }
.journey-detail-grid { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid var(--line); }
.journey-detail-grid p { margin: 0; padding: 1.1rem; color: var(--text); border-right: 1px solid var(--line); font-size: .82rem; }
.journey-detail-grid p:last-child { border-right: 0; }
.journey-detail-grid b { display: block; margin-bottom: .3rem; color: var(--ink); }

.compact-safety { align-items: start; padding: 3.5rem 4rem; }
.safety-accordion { border-top: 1px solid rgba(255,255,255,.16); }
.safety-accordion details { border-bottom: 1px solid rgba(255,255,255,.16); }
.safety-accordion summary { position: relative; min-height: 4.5rem; padding: 1.3rem 2.5rem 1rem 0; cursor: pointer; list-style: none; font-size: .92rem; font-weight: 700; }
.safety-accordion summary::-webkit-details-marker { display: none; }
.safety-accordion summary::after { position: absolute; right: .2rem; color: var(--cyan); content: "+"; font-size: 1.3rem; }
.safety-accordion details[open] summary::after { content: "−"; }
.safety-accordion p { margin: -.15rem 0 1.25rem; color: #b1c3cc; font-size: .86rem; }

.price-accordion { border-top: 1px solid var(--line); }
.price-accordion details { border-bottom: 1px solid var(--line); }
.price-accordion details.featured { margin-inline: -.8rem; padding-inline: .8rem; color: var(--white); background: var(--ink); border: 0; border-radius: 12px; }
.price-accordion summary { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; min-height: 6.7rem; padding: 1rem 4rem 1rem 0; cursor: pointer; list-style: none; }
.price-accordion summary > span:first-child, .price-summary { display: flex; flex-direction: column; }
.price-accordion summary strong { font-size: 1.2rem; }
.price-accordion summary small { color: var(--gray); font-size: .8rem; }
.price-accordion .featured summary small { color: #afc3cc; }
.price-summary { align-items: flex-end; }
.price-summary b { font-size: 1.15rem; }
.price-detail { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 0 4rem 1.3rem 0; }
.price-detail p { margin: 0; color: var(--text); font-size: .88rem; }
.featured .price-detail p { color: #b5c7cf; }
.price-detail a { flex: 0 0 auto; color: var(--blue); font-size: .82rem; font-weight: 700; }
.featured .price-detail a { color: var(--cyan); }
.pilot-note { display: flex; justify-content: space-between; gap: 1rem; margin: 1rem 0 0; padding: 1rem 1.2rem; color: var(--text); background: linear-gradient(100deg,var(--cyan-pale),var(--rose-pale)); border-radius: 12px; font-size: .85rem; }
.pilot-note span { color: var(--gray); }

.fit-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.fit-grid article { min-height: 15rem; padding: 1.35rem; background: rgba(255,255,255,.55); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fit-grid span, .case-template span { color: var(--rose); font-size: .72rem; font-weight: 700; }
.fit-grid h3 { margin: 3.5rem 0 .65rem; font-size: 1.08rem; }
.fit-grid p { margin: 0; color: var(--text); font-size: .9rem; }
.fit-note { margin: 1.2rem 0 0; padding: 1.05rem 1.2rem; color: var(--text); background: var(--white); border-left: 4px solid var(--cyan); font-size: .9rem; }

.services-section { width: 100%; max-width: none; padding-inline: max(1.5rem, calc((100vw - var(--max))/2)); background: var(--white); }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.service-card { display: flex; min-height: 30rem; padding: 1.5rem; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.service-card.featured { color: var(--white); background: linear-gradient(145deg,var(--ink),#163b57); border-color: transparent; }
.service-index { color: #3d7f8b; font-size: .7rem; font-weight: 700; letter-spacing: .08em; }
.featured .service-index { color: var(--cyan); }
.service-card h3 { margin: 4.8rem 0 .9rem; font-size: 1.45rem; line-height: 1.3; }
.service-card > p { margin: 0; color: var(--text); }
.service-card.featured > p { color: #b7c8d0; }
.service-card ul, .price-card ul { margin: auto 0 0; padding: 1.2rem 0 0; border-top: 1px solid var(--line); list-style: none; }
.service-card.featured ul { border-color: rgba(255,255,255,.14); }
.service-card li, .price-card li { position: relative; padding: .35rem 0 .35rem 1.1rem; color: var(--gray); font-size: .86rem; }
.service-card.featured li { color: #b7c8d0; }
.service-card li::before, .price-card li::before { position: absolute; top: .85rem; left: 0; width: .35rem; height: .35rem; background: var(--rose); border-radius: 50%; content: ""; }
.quality-line { margin: 1rem 0 0; padding: 1rem 1.2rem; color: var(--text); background: var(--cyan-pale); border-radius: 12px; font-size: .9rem; }

.usecases-section { width: 100%; max-width: none; padding-inline: max(1.5rem, calc((100vw - var(--max))/2)); background: #eaf1f4; }
.usecase-list { border-top: 1px solid #cbd9df; }
.usecase-list details { border-bottom: 1px solid #cbd9df; }
.usecase-list summary { display: grid; grid-template-columns: 4rem 1fr auto; align-items: center; gap: 1rem; min-height: 5.5rem; cursor: pointer; list-style: none; }
.usecase-list summary::-webkit-details-marker { display: none; }
.usecase-list summary span { color: var(--rose); font-size: .72rem; font-weight: 700; }
.usecase-list summary strong { font-size: 1.25rem; }
.usecase-list summary small { color: var(--gray); font-size: .8rem; }
.usecase-list summary::after { grid-column: 4; color: var(--blue); content: "+"; font-size: 1.4rem; }
.usecase-list details[open] summary::after { content: "−"; }
.usecase-detail { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem 2rem; padding: 0 0 2rem 5rem; }
.usecase-detail p { margin: 0; color: var(--text); font-size: .88rem; }
.usecase-detail b { display: block; margin-bottom: .25rem; color: var(--ink); font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.usecase-detail a { grid-column: 1/-1; justify-self: start; margin-top: .5rem; padding-bottom: .2rem; color: var(--blue); border-bottom: 1px solid var(--blue); font-size: .85rem; font-weight: 700; }

.calculator-section { width: 100%; max-width: none; padding-inline: max(1.5rem, calc((100vw - var(--max))/2)); background: linear-gradient(180deg,#fff 0%,var(--paper) 100%); }
.calculator-shell { display: grid; grid-template-columns: minmax(24rem,.82fr) minmax(0,1.18fr); gap: 1rem; }
.calculator-form, .calculator-results { padding: 1.6rem; border-radius: var(--radius); }
.calculator-form { background: var(--white); border: 1px solid var(--line); }
.calculator-intro { padding-bottom: 1.1rem; border-bottom: 1px solid var(--line); }
.calculator-intro span, .results-topline > span { color: #3b7c89; font-size: .7rem; font-weight: 700; letter-spacing: .1em; }
.calculator-intro p { margin: .3rem 0 0; color: var(--gray); font-size: .82rem; }
.scenario-fieldset { margin: 1.2rem 0 0; padding: 0; border: 0; }
.scenario-fieldset legend { margin-bottom: .55rem; font-size: .78rem; font-weight: 700; }
.scenario-buttons { display: grid; grid-template-columns: repeat(3,1fr); gap: .45rem; }
.scenario-buttons button { display: flex; min-height: 3.7rem; padding: .65rem; align-items: flex-start; justify-content: center; flex-direction: column; color: var(--text); background: var(--paper); border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.scenario-buttons button:hover, .scenario-buttons button:focus-visible { border-color: var(--cyan); }
.scenario-buttons button[aria-pressed="true"] { color: var(--white); background: var(--ink); border-color: var(--ink); }
.scenario-buttons strong { font-size: .75rem; }
.scenario-buttons span { color: var(--gray); font-size: .7rem; }
.scenario-buttons button[aria-pressed="true"] span { color: var(--cyan); }
.calculator-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; margin-top: 1rem; }
.calculator-form label > span:first-child, .share-control > span { display: flex; justify-content: space-between; gap: .8rem; margin-bottom: .3rem; font-size: .75rem; font-weight: 700; }
.calculator-form input[type="number"], .calculator-form select { width: 100%; min-height: 3rem; padding: .7rem .75rem; color: var(--ink); background: #f7f9fa; border: 1px solid var(--line); border-radius: 9px; outline: none; }
.calculator-form input[type="number"]:focus, .calculator-form select:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(114,201,213,.18); }
.input-with-unit { position: relative; display: block; }
.input-with-unit input { padding-right: 2.2rem !important; }
.input-with-unit i { position: absolute; top: 50%; right: .8rem; color: var(--gray); font-style: normal; transform: translateY(-50%); }
.share-control { display: block; margin-top: 1.2rem; }
.share-control output { color: var(--blue); font-weight: 700; }
.share-control input { width: 100%; accent-color: var(--blue); cursor: pointer; }
.calculator-privacy { margin: .8rem 0 0; color: var(--gray); font-size: .72rem; }
.calculator-results { display: flex; min-height: 35rem; padding: 2rem; flex-direction: column; color: var(--white); background: linear-gradient(145deg,var(--ink),#173f5d); }
.results-topline { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,.15); }
.results-topline > span { color: var(--cyan); }
.results-topline strong { max-width: 22rem; color: #b4c8d1; font-size: .72rem; text-align: right; }
.result-lead { padding: 2rem 0; }
.result-lead small { color: #b4c8d1; font-size: .75rem; }
.result-lead > output { display: block; margin-top: .25rem; color: var(--white); font-size: clamp(2.5rem,4vw,4rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.05; }
.result-lead p { margin: .5rem 0 0; color: #b4c8d1; font-size: .85rem; }
.result-lead strong { color: var(--cyan); }
.result-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(255,255,255,.15); border-left: 1px solid rgba(255,255,255,.15); }
.result-grid article { min-height: 7.5rem; padding: 1rem; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.result-grid small { display: block; color: #9fb7c2; font-size: .68rem; }
.result-grid output { display: block; margin-top: .55rem; color: var(--white); font-size: 1.15rem; font-weight: 700; }
.formula-note { margin: .9rem 0 0; color: #90a9b5; font-size: .68rem; }
.calculator-cta { width: 100%; margin-top: auto; color: var(--ink); background: var(--cyan); text-align: center; }
.calculator-cta:hover, .calculator-cta:focus-visible { background: #9ee1e9; transform: translateY(-2px); }
.calculator-disclaimer { margin: 1rem 0 0; padding: 1rem 1.2rem; color: var(--text); background: var(--rose-pale); border-left: 4px solid var(--rose); font-size: .82rem; }

.journey-list { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.journey-list li { display: grid; grid-template-columns: 3.5rem minmax(12rem,.8fr) repeat(3,1fr); gap: 1.4rem; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.journey-number { color: var(--rose); font-size: .72rem; font-weight: 700; }
.journey-title small { display: block; margin-bottom: .3rem; color: #3c7e8a; font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.journey-title h3 { margin: 0; font-size: 1.15rem; }
.journey-list p { margin: 0; color: var(--text); font-size: .84rem; }
.journey-list b { color: var(--ink); }

.safety-section { width: 100%; max-width: none; padding: 0 1.5rem; }
.safety-shell { display: grid; grid-template-columns: minmax(19rem,.7fr) minmax(0,1.3fr); gap: 5rem; width: min(100%,var(--max)); margin: 0 auto; padding: 5rem; color: var(--white); background: linear-gradient(135deg,var(--ink),#183f5d); border-radius: var(--radius); }
.eyebrow-light { color: var(--cyan); }
.safety-shell h2 { font-size: clamp(2.2rem,3.4vw,3.7rem); }
.safety-shell > div:first-child > p:last-child { margin: 1.4rem 0 0; color: #b1c3cc; }
.safety-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); }
.safety-grid article { min-height: 13rem; padding: 1.25rem; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.safety-grid span { color: var(--rose); font-size: .7rem; font-weight: 700; }
.safety-grid h3 { margin: 2rem 0 .55rem; font-size: .95rem; }
.safety-grid p { margin: 0; color: #a9bdc7; font-size: .82rem; }

.pricing-section { width: 100%; max-width: none; padding-inline: max(1.5rem, calc((100vw - var(--max))/2)); background: var(--white); }
.pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.price-card { position: relative; display: flex; min-height: 37rem; padding: 1.5rem; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.price-card.featured { color: var(--white); background: var(--ink); border-color: var(--ink); }
.recommendation { position: absolute; top: 1.2rem; right: 1.2rem; padding: .35rem .6rem; color: #124751; background: var(--cyan); border-radius: 999px; font-size: .68rem; font-weight: 700; }
.price-name { margin: 0; font-size: 1.25rem; font-weight: 700; }
.price-fit { min-height: 3rem; margin: .6rem 0 2rem; color: var(--gray); font-size: .85rem; }
.price-card.featured .price-fit { color: #aec1ca; }
.price-part { padding: 1rem 0; border-top: 1px solid var(--line); }
.price-card.featured .price-part, .price-card.featured ul { border-color: rgba(255,255,255,.15); }
.price-part small { display: block; margin-bottom: .25rem; color: var(--gray); font-size: .72rem; }
.price-part strong { display: block; font-size: clamp(1.35rem,2.1vw,1.8rem); line-height: 1.2; }
.price-part strong span { font-size: .75rem; font-weight: 500; }
.price-part.monthly strong { color: #337d8b; font-size: 1rem; }
.price-card.featured .price-part.monthly strong { color: var(--cyan); }
.price-card.featured li { color: #b1c3cc; }
.price-card > a { margin-top: 1.2rem; padding-top: 1rem; color: var(--blue); border-top: 1px solid var(--line); font-size: .82rem; font-weight: 700; }
.price-card.featured > a { color: var(--cyan); border-color: rgba(255,255,255,.15); }
.pilot-banner { display: grid; grid-template-columns: .85fr 1.5fr auto; align-items: center; gap: 1.5rem; margin-top: 1rem; padding: 1.25rem 1.4rem; background: linear-gradient(100deg,var(--cyan-pale),var(--rose-pale)); border-radius: 14px; }
.pilot-label { color: #447986; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pilot-banner h3 { margin: .15rem 0 0; font-size: 1rem; }
.pilot-banner p { margin: 0; color: var(--text); font-size: .82rem; }
.pilot-banner a { padding: .65rem .85rem; background: var(--white); border-radius: 999px; font-size: .76rem; font-weight: 700; }

.proof-section { padding-bottom: 3.5rem; }
.case-template { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.case-template article { min-height: 13rem; padding: 1.3rem; background: rgba(255,255,255,.5); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-template h3 { margin: 2.5rem 0 .6rem; font-size: 1.05rem; }
.case-template p { margin: 0; color: var(--text); font-size: .86rem; }

.faq-section { padding-top: 3.5rem; }
.faq-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 2rem; border-top: 1px solid var(--line); }
.faq-grid details { border-bottom: 1px solid var(--line); }
.faq-grid summary { position: relative; min-height: 4.6rem; padding: 1.4rem 2rem 1.1rem 0; cursor: pointer; list-style: none; font-size: .95rem; font-weight: 700; }
.faq-grid summary::-webkit-details-marker { display: none; }
.faq-grid summary::after { position: absolute; top: 1.25rem; right: .2rem; color: var(--blue); content: "+"; font-size: 1.3rem; }
.faq-grid details[open] summary::after { content: "−"; }
.faq-grid p { margin: -.2rem 0 1.4rem; color: var(--text); font-size: .88rem; }

.check-section { width: 100%; max-width: none; padding: 1.5rem; }
.check-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(26rem,.75fr); gap: 5rem; width: min(100%,var(--max)); margin: 0 auto; padding: 5rem; color: var(--white); background: linear-gradient(135deg,var(--ink),#183e5c); border-radius: var(--radius); }
.check-copy h2 { max-width: 42rem; font-size: clamp(2.5rem,3.8vw,4rem); }
.check-copy > p:not(.eyebrow) { max-width: 39rem; margin: 1.4rem 0 0; color: #b1c3cc; }
.check-prepare { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.15); }
.check-prepare strong { font-size: .9rem; }
.check-prepare ul { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1rem; margin: .75rem 0 0; padding: 0; color: #b7c9d1; font-size: .8rem; list-style: none; }
.check-prepare li::before { margin-right: .45rem; color: var(--rose); content: "•"; }
.direct-email { display: inline-block; margin-top: 1.6rem; color: var(--cyan); font-size: .82rem; text-decoration: underline; text-underline-offset: .25rem; }
.briefing-form { padding: 1.35rem; color: var(--ink); background: var(--white); border-radius: 16px; box-shadow: 0 22px 54px rgba(0,0,0,.22); }
.form-heading { margin-bottom: .8rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line); }
.form-heading span { color: #3b8290; font-size: .72rem; font-weight: 700; letter-spacing: .11em; }
.form-heading p { margin: .25rem 0 0; color: var(--gray); font-size: .75rem; }
.briefing-form label { display: block; margin-top: .8rem; }
.briefing-form label > span { display: block; margin-bottom: .3rem; font-size: .76rem; font-weight: 700; }
.briefing-form label small { color: var(--gray); font-size: .68rem; font-weight: 400; }
.briefing-form textarea, .briefing-form input, .briefing-form select { width: 100%; min-height: 2.8rem; padding: .68rem .75rem; color: var(--ink); background: #f7f9fa; border: 1px solid var(--line); border-radius: 9px; font-size: .84rem; outline: none; resize: vertical; }
.briefing-form textarea:focus, .briefing-form input:focus, .briefing-form select:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(114,201,213,.18); }
.briefing-form [aria-invalid="true"] { border-color: #b84e61; box-shadow: 0 0 0 3px rgba(217,141,152,.18); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.button-form { width: 100%; margin-top: 1.1rem; color: var(--white); background: var(--ink); }
.button-form:hover, .button-form:focus-visible { background: var(--ink-2); }
.form-note { margin: .7rem 0 0; color: var(--gray); font-size: .68rem; text-align: center; }
.form-note.success { color: #267c6b; font-weight: 700; }
.form-note.error { color: #a13b50; font-weight: 700; }

.contact-section { display: grid; grid-template-columns: .35fr 1fr; align-items: start; gap: 2rem; }
.contact-section h2 { max-width: 50rem; }
.contact-section div p { max-width: 48rem; margin: 1rem 0; color: var(--text); }
.contact-section div a { color: var(--blue); font-size: 1.05rem; font-weight: 700; text-decoration: underline; text-underline-offset: .25rem; }
.legal-notice { display: grid; grid-template-columns: minmax(18rem,.7fr) 1.3fr; gap: 4rem; width: min(100%,var(--max)); margin: 0 auto 5rem; padding: 2rem; background: var(--rose-pale); border: 1px solid #edccd2; border-radius: 14px; }
.legal-notice .eyebrow { margin-bottom: .8rem; }
.legal-notice h2 { font-size: 1.5rem; }
.legal-notice > p { margin: 0; color: var(--text); }

.site-footer { display: grid; grid-template-columns: 1fr auto; gap: 2rem; padding: 3rem max(1.5rem, calc((100vw - var(--max))/2)); color: #b0c2cb; background: var(--ink); }
.footer-logo-surface { display: inline-flex; padding: .4rem; background: var(--white); border-radius: 12px; }
.primary-logo { display: block; width: auto; height: 6.5rem; }
.footer-main > p { margin: .8rem 0 0; font-size: .78rem; }
.footer-email { display: inline-block; margin-top: .3rem; color: var(--cyan); font-size: .8rem; text-decoration: underline; text-underline-offset: .2rem; }
.footer-nav { display: grid; grid-template-columns: repeat(2,auto); align-content: start; gap: .7rem 1.5rem; color: #d5e0e4; font-size: .78rem; }
.footer-nav a:hover, .footer-nav a:focus-visible { color: var(--cyan); }
.copyright { grid-column: 1/-1; margin: 1rem 0 0; padding-top: 1.1rem; color: #78909d; border-top: 1px solid rgba(255,255,255,.1); font-size: .7rem; }

:focus-visible { outline: 3px solid rgba(217,141,152,.6); outline-offset: 4px; }
[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity 500ms ease, transform 500ms ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }

/* Vertiefende Branchen- und Lösungsseiten */
.landing-page { background: var(--paper); }
.landing-hero { position: relative; padding: 8.7rem 1.5rem 5rem; overflow: hidden; background: linear-gradient(135deg,#fff 0%,var(--paper) 64%,#e8f5f7 100%); }
.landing-hero::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(16,42,67,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,42,67,.035) 1px,transparent 1px); background-size: 64px 64px; content: ""; mask-image: linear-gradient(to bottom,#000 15%,transparent 95%); }
.landing-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(22rem,.58fr); align-items: end; gap: 4rem; width: min(100%,var(--max)); margin: 0 auto; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 1.25rem; color: var(--gray); font-size: .76rem; }
.breadcrumb a { color: var(--blue); text-decoration: underline; text-underline-offset: .2rem; }
.landing-hero h1 { max-width: 55rem; margin: 0; font-size: clamp(2.9rem,5.2vw,5.4rem); font-weight: 500; letter-spacing: -.05em; line-height: 1.02; }
.landing-hero h1 em { color: var(--blue); font-style: normal; }
.landing-lede { max-width: 48rem; margin: 1.5rem 0 0; color: var(--text); font-size: clamp(1.05rem,1.3vw,1.2rem); line-height: 1.7; }
.landing-hero-aside { padding: 1.5rem; color: var(--white); background: var(--ink); border-radius: var(--radius); box-shadow: var(--shadow); }
.landing-hero-aside > span { color: var(--cyan); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.landing-hero-aside strong { display: block; margin-top: .75rem; font-size: 1.15rem; }
.landing-hero-aside p { margin: .45rem 0 0; color: #b8cad3; font-size: .85rem; }
.landing-hero-aside ul { margin: 1.1rem 0 0; padding: 1rem 0 0 1.15rem; border-top: 1px solid rgba(255,255,255,.14); color: #dce7ec; font-size: .8rem; }
.landing-hero-aside li + li { margin-top: .35rem; }
.landing-section { width: min(100%,calc(var(--max) + 3rem)); margin: 0 auto; padding: 5.5rem 1.5rem; }
.landing-section + .landing-section { padding-top: 1rem; }
.landing-heading { display: grid; grid-template-columns: minmax(0,.85fr) minmax(18rem,.48fr); align-items: end; gap: 4rem; margin-bottom: 2.3rem; }
.landing-heading h2 { max-width: 48rem; margin: 0; font-size: clamp(2.1rem,3.8vw,3.8rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.05; }
.landing-heading > p { margin: 0; color: var(--text); }
.pain-grid, .process-example-grid, .metric-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.pain-grid article, .process-example-grid article, .metric-grid article { padding: 1.35rem; background: var(--white); border: 1px solid var(--line); border-radius: 14px; }
.pain-grid article { min-height: 13rem; }
.pain-grid span, .process-example-grid span { color: var(--rose); font-size: .7rem; font-weight: 700; letter-spacing: .1em; }
.pain-grid h3, .process-example-grid h3 { margin: 2.2rem 0 .55rem; font-size: 1.08rem; }
.pain-grid p, .process-example-grid p, .metric-grid p { margin: 0; color: var(--text); font-size: .88rem; }
.workflow-band { padding: 2rem; color: var(--white); background: var(--ink); border-radius: var(--radius); }
.workflow-band > span { color: var(--cyan); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.workflow-steps { display: grid; grid-template-columns: repeat(5,1fr); margin: 1.4rem 0 0; padding: 0; list-style: none; }
.workflow-steps li { position: relative; min-height: 8.5rem; padding: 1rem; border-left: 1px solid rgba(255,255,255,.18); }
.workflow-steps li::after { position: absolute; top: 1.15rem; right: -.45rem; z-index: 2; display: grid; width: 1rem; height: 1rem; place-items: center; color: var(--cyan); content: "→"; }
.workflow-steps li:last-child::after { display: none; }
.workflow-steps small { color: var(--rose); font-size: .68rem; font-weight: 700; }
.workflow-steps strong { display: block; margin-top: 2.4rem; font-size: .9rem; line-height: 1.35; }
.workflow-steps p { margin: .35rem 0 0; color: #aebfc8; font-size: .74rem; line-height: 1.45; }
.process-example-grid { grid-template-columns: repeat(2,1fr); }
.process-example-grid article { min-height: 13rem; }
.process-example-grid h3 { margin-top: 2.8rem; }
.metric-grid article { min-height: 9rem; }
.metric-grid strong { display: block; margin-bottom: 1.1rem; color: var(--blue); font-size: 1.05rem; }
.landing-note { margin-top: 1rem; padding: 1rem 1.2rem; color: var(--text); background: var(--rose-pale); border: 1px solid #edccd2; border-radius: 12px; font-size: .82rem; }
.landing-faq { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.landing-faq details { background: var(--white); border: 1px solid var(--line); border-radius: 12px; }
.landing-faq summary { position: relative; min-height: 4.7rem; padding: 1.2rem 3.1rem 1.2rem 1.2rem; cursor: pointer; list-style: none; font-size: .88rem; font-weight: 700; }
.landing-faq summary::-webkit-details-marker { display: none; }
.landing-faq summary::after { position: absolute; top: 1.1rem; right: 1.2rem; color: var(--blue); content: "+"; font-size: 1.2rem; }
.landing-faq details[open] summary::after { content: "−"; }
.landing-faq p { margin: -.2rem 1.2rem 1.2rem; color: var(--text); font-size: .84rem; }
.related-links { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; margin-top: 2rem; }
.related-links a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; background: var(--white); border: 1px solid var(--line); border-radius: 12px; font-size: .82rem; font-weight: 700; }
.related-links a:hover, .related-links a:focus-visible { border-color: var(--cyan); }
.related-links span { color: var(--blue); }
.landing-cta { width: min(calc(100% - 3rem),var(--max)); margin: 0 auto 5.5rem; padding: 3rem; color: var(--white); background: linear-gradient(125deg,var(--ink),#173f5c); border-radius: var(--radius); }
.landing-cta h2 { max-width: 48rem; margin: 0; font-size: clamp(2rem,3.5vw,3.5rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.08; }
.landing-cta p { max-width: 50rem; margin: 1rem 0 1.6rem; color: #bfd0d8; }
.landing-cta .button { color: var(--ink); background: var(--white); }
.landing-cta .button:hover, .landing-cta .button:focus-visible { background: var(--cyan-pale); transform: translateY(-2px); }

.legal-main { min-height: 72vh; padding: 8.7rem 1.5rem 6rem; background: linear-gradient(135deg,#fff 0%,var(--paper) 72%,#e8f5f7 100%); }
.legal-hero, .legal-content { width: min(100%, 58rem); margin: 0 auto; }
.legal-hero { padding-bottom: 2.5rem; border-bottom: 1px solid var(--line); }
.legal-hero .breadcrumb { margin-bottom: 2.4rem; }
.legal-hero .eyebrow { margin-bottom: 1rem; }
.legal-hero h1 { margin: 0; font-size: clamp(2.8rem,6vw,5.5rem); font-weight: 500; letter-spacing: -.05em; line-height: 1; }
.legal-hero > p:last-child { max-width: 48rem; margin: 1.2rem 0 0; color: var(--text); }
.legal-content { padding-top: 1rem; }
.legal-content section { padding: 2rem 0; border-bottom: 1px solid var(--line); }
.legal-content h2 { margin: 0 0 .8rem; font-size: 1.25rem; letter-spacing: -.02em; }
.legal-content p { margin: .65rem 0 0; color: var(--text); }
.legal-content p:first-of-type { margin-top: 0; }
.legal-content a { color: var(--blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.legal-content .legal-updated { margin-top: 2rem; color: var(--gray); font-size: .78rem; }

@media (max-width: 1120px) {
  .site-nav { gap: .9rem; font-size: .77rem; }
  .nav-cta { padding-inline: .8rem; }
  .hero-grid { grid-template-columns: 1fr .9fr; gap: 2rem; }
  .safety-shell, .check-shell { padding: 3.5rem; gap: 3rem; }
  .journey-list li { grid-template-columns: 3rem minmax(11rem,.8fr) repeat(3,1fr); gap: 1rem; }
}

@media (max-width: 900px) {
  .site-header { padding-inline: 1rem; }
  .nav-toggle { display: block; }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(3.25px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-3.25px) rotate(-45deg); }
  .site-nav { position: fixed; top: 5.3rem; right: 1rem; left: 1rem; display: none; align-items: stretch; max-height: calc(100svh - 6.3rem); padding: .75rem; overflow: auto; flex-direction: column; gap: 0; background: rgba(255,255,255,.99); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
  .site-nav.open { display: flex; }
  .site-nav > a { padding: .8rem; }
  .nav-solutions > summary { padding: .8rem; }
  .nav-solutions-panel { position: static; width: auto; margin: 0 .8rem .5rem; padding: .35rem; box-shadow: none; transform: none; }
  .nav-solutions-panel::before { display: none; }
  .nav-solutions-panel a { display: block; }
  .nav-cta { margin-top: .25rem; text-align: center; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 48rem; }
  .hero-system { min-height: 33rem; }
  .section-heading { grid-template-columns: 1fr; gap: 1.25rem; }
  .compact-heading { grid-template-columns: 1fr; gap: .75rem; }
  .fit-criteria { grid-template-columns: repeat(2,1fr); }
  .fit-criteria p:nth-child(2) { border-right: 0; }
  .fit-criteria p:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .topic-body { grid-template-columns: 1fr; gap: 1rem; }
  .journey-steps, .journey-detail-grid { grid-template-columns: repeat(3,1fr); }
  .journey-steps li, .journey-detail-grid p { border-bottom: 1px solid var(--line); }
  .journey-steps li:nth-child(3), .journey-detail-grid p:nth-child(3) { border-right: 0; }
  .journey-steps li:nth-last-child(-n+2), .journey-detail-grid p:nth-last-child(-n+2) { border-bottom: 0; }
  .fit-grid { grid-template-columns: repeat(2,1fr); }
  .service-grid, .pricing-grid { grid-template-columns: 1fr; }
  .calculator-shell { grid-template-columns: 1fr; }
  .service-card, .price-card { min-height: auto; }
  .service-card h3 { margin-top: 3rem; }
  .service-card ul { margin-top: 2rem; }
  .price-card ul { margin-top: 1.5rem; }
  .usecase-detail { grid-template-columns: repeat(2,1fr); }
  .journey-list li { grid-template-columns: 3rem 1fr 1fr; }
  .journey-title { grid-column: 2/-1; }
  .journey-list p:first-of-type { grid-column: 2; }
  .safety-shell, .check-shell { grid-template-columns: 1fr; }
  .case-template { grid-template-columns: 1fr; }
  .case-template article { min-height: 10rem; }
  .pilot-banner { grid-template-columns: 1fr; }
  .pilot-banner a { justify-self: start; }
  .solution-entry-grid { grid-template-columns: 1fr; }
  .landing-hero-inner, .landing-heading { grid-template-columns: 1fr; gap: 2rem; }
  .landing-hero-aside { max-width: 38rem; }
  .workflow-steps { grid-template-columns: repeat(3,1fr); }
  .workflow-steps li:nth-child(3) { border-right: 0; }
  .pain-grid, .metric-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 4.8rem; }
  .site-header { min-height: 4.55rem; }
  .nav-shell { min-height: 4rem; }
  .header-primary-logo { height: 3.75rem; }
  .site-nav { top: 4.75rem; max-height: calc(100svh - 5.5rem); }
  .hero { min-height: auto; padding: 6.8rem 1rem 3.7rem; }
  .hero h1 { font-size: clamp(2.6rem,12.5vw,3.7rem); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .checkup-inline { grid-template-columns: 1fr; gap: .35rem; }
  .checkup-inline strong { white-space: normal; }
  .hero-system { min-height: 31rem; }
  .hero-system::before { inset: 1rem -.5rem; }
  .system-panel { padding: .85rem; transform: translate(-50%,-50%); }
  .panel-result { flex-direction: column; gap: .2rem; }
  .panel-result strong { text-align: left; }
  .trust-strip { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .trust-items { justify-content: flex-start; gap: .55rem 1rem; }
  .section { padding: 5.2rem 1rem; }
  .compact-section { padding-block: 4.2rem; }
  .section h2 { font-size: clamp(2.15rem,10.5vw,3.2rem); }
  .compact-heading h2 { font-size: clamp(1.9rem,9vw,2.7rem); }
  .fit-disclosure > summary, .journey-disclosure > summary, .calculator-disclosure > summary { align-items: flex-start; padding: 1.15rem 3.2rem 1.15rem 1rem; flex-direction: column; gap: .2rem; }
  .fit-disclosure > summary::after, .journey-disclosure > summary::after, .calculator-disclosure > summary::after { top: 1rem; right: 1rem; }
  .fit-criteria { grid-template-columns: 1fr; }
  .fit-criteria p { border-right: 0; border-bottom: 1px solid var(--line); }
  .fit-criteria p:last-child { border-bottom: 0; }
  .topic-accordion summary { grid-template-columns: 2.5rem 1fr; min-height: 5.2rem; padding-right: 2.5rem; }
  .topic-accordion summary::after, .price-accordion summary::after { right: .35rem; }
  .topic-accordion summary strong { font-size: 1rem; }
  .topic-body { padding: 0 1rem 1.3rem 3.5rem; }
  .fit-grid { grid-template-columns: 1fr; }
  .fit-grid article { min-height: 11rem; }
  .fit-grid h3 { margin-top: 2rem; }
  .services-section, .usecases-section, .calculator-section, .pricing-section { padding-inline: 1rem; }
  .usecase-list summary { grid-template-columns: 2.5rem 1fr auto; min-height: 5rem; }
  .usecase-list summary strong { font-size: 1rem; }
  .usecase-list summary small { display: none; }
  .usecase-list summary::after { grid-column: 3; }
  .usecase-detail { grid-template-columns: 1fr; padding-left: 3.5rem; }
  .calculator-inputs, .result-grid { grid-template-columns: 1fr; }
  .scenario-buttons { grid-template-columns: 1fr; }
  .scenario-buttons button { min-height: 3.2rem; }
  .calculator-form, .calculator-results { padding: 1.1rem; }
  .calculator-disclosure .calculator-shell { padding: .65rem; }
  .calculator-disclosure .calculator-disclaimer { margin: 0 .65rem .65rem; }
  .calculator-results { min-height: auto; }
  .calculator-cta { margin-top: 1.2rem; }
  .journey-list li { grid-template-columns: 2.3rem 1fr; }
  .journey-title, .journey-list p, .journey-list p:first-of-type { grid-column: 2; }
  .journey-steps, .journey-detail-grid { grid-template-columns: 1fr; }
  .journey-steps li, .journey-detail-grid p { min-height: 5.3rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .journey-steps li:nth-child(3), .journey-detail-grid p:nth-child(3) { border-right: 0; }
  .journey-steps li:nth-last-child(-n+2), .journey-detail-grid p:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
  .journey-steps li:last-child, .journey-detail-grid p:last-child { border-bottom: 0; }
  .safety-section, .check-section { padding: .65rem; }
  .safety-shell, .check-shell { padding: 3rem 1.1rem; border-radius: 14px; }
  .safety-grid { grid-template-columns: 1fr; }
  .safety-grid article { min-height: 11rem; }
  .pilot-banner { padding: 1.1rem; }
  .price-accordion details.featured { margin-inline: -.35rem; padding-inline: .35rem; }
  .price-accordion summary { grid-template-columns: 1fr; gap: .45rem; padding-right: 2.5rem; }
  .price-summary { align-items: flex-start; }
  .price-detail { align-items: flex-start; padding: 0 2.5rem 1.25rem 0; flex-direction: column; gap: .75rem; }
  .pilot-note { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .faq-grid { grid-template-columns: 1fr; }
  .check-prepare ul { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .contact-section, .legal-notice { grid-template-columns: 1fr; gap: 1rem; }
  .legal-notice { width: auto; margin-inline: 1rem; padding: 1.25rem; }
  .site-footer { grid-template-columns: 1fr; padding: 3rem 1rem; }
  .footer-nav { grid-template-columns: 1fr 1fr; }
  .copyright { grid-column: auto; }
  .landing-hero { padding: 6.8rem 1rem 3.8rem; }
  .landing-hero h1 { font-size: clamp(2.55rem,12vw,3.65rem); }
  .landing-section { padding: 4.2rem 1rem; }
  .landing-section + .landing-section { padding-top: .5rem; }
  .pain-grid, .process-example-grid, .metric-grid, .landing-faq, .related-links { grid-template-columns: 1fr; }
  .pain-grid article, .process-example-grid article { min-height: auto; }
  .workflow-band { padding: 1.2rem; }
  .workflow-steps { grid-template-columns: 1fr; }
  .workflow-steps li { min-height: 6.6rem; border-top: 1px solid rgba(255,255,255,.14); border-left: 0; }
  .workflow-steps li:first-child { border-top: 0; }
  .workflow-steps li::after { top: auto; right: 1rem; bottom: -.55rem; transform: rotate(90deg); }
  .workflow-steps strong { margin-top: 1.25rem; }
  .landing-cta { width: calc(100% - 1.3rem); margin-bottom: .65rem; padding: 2.5rem 1.1rem; border-radius: 14px; }
  .legal-main { padding: 6.8rem 1rem 4.2rem; }
  .legal-hero .breadcrumb { margin-bottom: 1.8rem; }
  .legal-content section { padding: 1.5rem 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
