:root {
  --orange: #f04801;
  --orange-light: #ff6a2b;
  --orange-dark: #c03800;
  --orange-tint: #fff0eb;
  --navy: #020035;
  --purple: #2100b2;
  --purple-tint: #eee8ff;
  --cream: #efecef;
  --white: #ffffff;
  --ink: #111028;
  --muted: #66657a;
  --line: #dedbe3;
  --success: #0f6e56;
  --display: "Plus Jakarta Sans", "Inter", sans-serif;
  --body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  --max: 1200px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --shadow-soft: 0 18px 50px rgba(2,0,53,.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--navy); background: var(--white); font-family: var(--body); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 10px 14px; background: var(--orange); color: white; border-radius:var(--radius-sm); }
.skip-link:focus { top: 16px; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.narrow { width: min(calc(100% - 40px), 800px); margin-inline: auto; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(2,0,53,.88); border-bottom: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(16px); transition:background .35s ease,box-shadow .35s ease,border-color .35s ease; }
.site-header.is-scrolled { background:rgba(2,0,53,.97); border-color:rgba(255,255,255,.14); box-shadow:0 14px 38px rgba(2,0,53,.22); }
.scroll-progress { position:absolute; left:0; bottom:-1px; width:0; height:2px; background:var(--orange); box-shadow:0 0 14px rgba(240,72,1,.75); }
.nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; transition:min-height .35s cubic-bezier(.2,.8,.2,1); }
.site-header.is-scrolled .nav { min-height:66px; }
.brand { display: inline-flex; align-items: center; width: 164px; flex: 0 0 auto; }
.brand img { width: 100%; height: auto; }
.nav-links { display: flex; align-items: center; gap: 22px; font-size: 14px; font-weight: 600; color: rgba(255,255,255,.76); }
.nav-links > a { position: relative; padding-block: 26px; transition:color .2s ease,transform .2s ease,padding .35s ease; }
.site-header.is-scrolled .nav-links > a { padding-block:21px; }
.nav-links > a:hover, .nav-links > a[aria-current="page"] { color: white; }
.nav-links > a:hover { transform:translateY(-2px); }
.nav-links > a::after { content:""; position:absolute; left:0; right:100%; bottom:17px; height:2px; background:var(--orange); transition:.2s ease; }
.nav-links > a:hover::after, .nav-links > a[aria-current="page"]::after { right:0; }
.nav-cta { padding: 11px 17px !important; color: white !important; background: var(--orange); border: 1px solid var(--orange); border-radius:999px; }
.nav-cta::after { display:none; }
.nav-cta:hover { background: var(--orange-light); }
.menu-button { display:none; width:44px; height:44px; border:1px solid rgba(255,255,255,.22); border-radius:var(--radius-sm); background:transparent; color:white; cursor:pointer; }
.menu-button span, .menu-button::before, .menu-button::after { content:""; display:block; width:20px; height:2px; margin:5px auto; background:currentColor; }

.hero { position:relative; overflow:hidden; min-height:calc(100svh - 76px); display:grid; align-items:center; padding: 72px 0 78px; color:white; background:radial-gradient(circle at 77% 42%,rgba(33,0,178,.42),transparent 34%),var(--navy); }
.hero::before { content:""; position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,black,transparent 82%); }
.hero::after { content:""; position:absolute; width:520px; height:520px; right:-260px; top:10%; border:86px solid var(--orange); border-radius:50%; opacity:.11; }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:54px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:22px; color:var(--orange-light); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow::before { content:""; width:26px; height:2px; background:currentColor; }
h1,h2,h3,h4 { margin:0; font-family:var(--display); letter-spacing:-.035em; line-height:1.08; }
h1 { max-width:800px; font-size:clamp(44px,5.8vw,74px); }
h2 { font-size:clamp(34px,4.3vw,54px); }
h3 { font-size:22px; letter-spacing:-.02em; }
.hero h1 span { display:block; }
.hero h1 em { color:var(--orange); font-style:normal; }
.hero-lead { max-width:650px; margin:24px 0 34px; color:rgba(255,255,255,.72); font-size:18px; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:10px; padding:12px 19px; border:1px solid var(--navy); border-radius:999px; background:var(--navy); color:white; font-weight:700; font-size:14px; cursor:pointer; transition:transform .28s cubic-bezier(.2,.8,.2,1),background .2s ease,border-color .2s ease,box-shadow .28s ease; }
.button:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(2,0,53,.18); }
.button.primary { border-color:var(--orange); background:var(--orange); }
.button.primary:hover { background:var(--orange-light); }
.button.light { border-color:white; background:white; color:var(--navy); }
.button.ghost { border-color:rgba(255,255,255,.28); background:transparent; }
.button.outline { border-color:var(--line); background:white; color:var(--navy); }
.button-arrow::after { content:"↗"; font-family:var(--mono); }

.signal-panel { position:relative; padding:28px; border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-lg); background:rgba(255,255,255,.06); box-shadow:18px 18px 0 rgba(33,0,178,.38); }
.signal-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.14); }
.signal-title { font:600 12px var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--cream); }
.live { display:flex; align-items:center; gap:7px; color:#88e7c8; font:500 10px var(--mono); text-transform:uppercase; }
.live::before { content:""; width:7px; height:7px; border-radius:50%; background:#38d39f; box-shadow:0 0 0 5px rgba(56,211,159,.12); }
.signal-flow { padding:26px 0 10px; }
.signal-row { display:grid; grid-template-columns:88px 1fr 48px; align-items:center; gap:15px; min-height:58px; }
.signal-name { color:rgba(255,255,255,.68); font:500 11px var(--mono); text-transform:uppercase; }
.signal-line { position:relative; height:2px; background:rgba(255,255,255,.15); }
.signal-line::before { content:""; position:absolute; left:0; top:0; height:100%; width:var(--fill); background:var(--accent,var(--orange)); }
.signal-line::after { content:""; position:absolute; left:calc(var(--fill) - 4px); top:-3px; width:8px; height:8px; background:var(--accent,var(--orange)); }
.signal-status { text-align:right; color:white; font:600 10px var(--mono); }
.signal-foot { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.14); margin-top:12px; padding-top:20px; gap:14px; }
.signal-metric strong { display:block; color:var(--orange-light); font:600 20px var(--mono); }
.signal-metric span { color:rgba(255,255,255,.55); font-size:10px; text-transform:uppercase; }

.areas-bar { background:var(--cream); border-bottom:1px solid var(--line); }
.areas-list { min-height:86px; display:grid; grid-template-columns:repeat(5,1fr); align-items:center; }
.area-chip { position:relative; display:flex; align-items:center; justify-content:center; gap:9px; overflow:hidden; padding:20px 14px; border-right:1px solid var(--line); font:700 13px var(--display); transition:background .25s ease,color .25s ease,transform .25s ease; }
.area-chip::after { content:""; position:absolute; left:18px; right:18px; bottom:12px; height:2px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.2,.8,.2,1); }
.area-chip:hover { background:white; color:var(--orange); transform:translateY(-2px); }
.area-chip:hover::after { transform:scaleX(1); }
.area-chip:first-child { border-left:1px solid var(--line); }
.area-chip span { color:var(--orange); font:600 11px var(--mono); }

.clients-section { position:relative; overflow:hidden; padding:82px 0 88px; background:linear-gradient(180deg,var(--cream),#fff); border-bottom:1px solid var(--line); }
.clients-section::before { content:""; position:absolute; inset:0; opacity:.32; pointer-events:none; background-image:radial-gradient(rgba(2,0,53,.16) .8px,transparent .8px); background-size:22px 22px; mask-image:linear-gradient(to bottom,black,transparent 72%); }
.clients-head { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:34px; }
.clients-head h2 { max-width:720px; font-size:clamp(32px,4vw,48px); }
.clients-head p { flex:0 0 auto; margin:0 0 5px; color:var(--muted); font-size:14px; }
.client-marquee { position:relative; z-index:1; width:100%; overflow:hidden; padding:14px 0 18px; }
.client-marquee::before,.client-marquee::after { content:""; position:absolute; z-index:3; top:0; bottom:0; width:max(28px,calc((100vw - var(--max))/2 + 28px)); pointer-events:none; }
.client-marquee::before { left:0; background:linear-gradient(90deg,#faf9fa 25%,rgba(250,249,250,0)); }
.client-marquee::after { right:0; background:linear-gradient(-90deg,#faf9fa 25%,rgba(250,249,250,0)); }
.client-marquee-track { display:flex; width:max-content; animation:clientMarquee 42s linear infinite; will-change:transform; }
.client-marquee:hover .client-marquee-track,.client-marquee:focus-within .client-marquee-track { animation-play-state:paused; }
.client-marquee-group { display:flex; gap:18px; padding-right:18px; }
.client-card { position:relative; width:226px; height:148px; display:grid; grid-template-rows:1fr auto; align-items:center; padding:24px 22px 18px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:rgba(255,255,255,.9); box-shadow:0 10px 28px rgba(2,0,53,.05); transition:transform .34s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease,background .3s ease; }
.client-card::before { content:""; position:absolute; inset:auto -20% -70% auto; width:120px; height:120px; border-radius:50%; background:var(--orange-tint); transition:transform .4s cubic-bezier(.2,.8,.2,1); }
.client-card:hover,.client-card:focus-visible { z-index:2; transform:translateY(-8px) rotate(-.5deg); border-color:rgba(240,72,1,.5); background:white; box-shadow:0 22px 48px rgba(2,0,53,.13); outline:none; }
.client-card:hover::before,.client-card:focus-visible::before { transform:scale(2.4); }
.client-logo { position:relative; z-index:1; width:100%; height:64px; display:grid; place-items:center; }
.client-logo img { width:auto; height:auto; max-width:166px; max-height:60px; object-fit:contain; filter:grayscale(1); opacity:.66; transition:filter .3s ease,opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1); }
.client-card:hover .client-logo img,.client-card:focus-visible .client-logo img { filter:grayscale(0); opacity:1; transform:scale(1.04); }
.client-card[href*="cinvet"] .client-logo img { max-height:66px; border-radius:50%; }
.client-name { position:relative; z-index:1; min-width:0; overflow:hidden; color:var(--navy); font:600 11px var(--mono); text-overflow:ellipsis; white-space:nowrap; }
.client-arrow { position:absolute; z-index:2; right:16px; bottom:14px; color:var(--orange); font:600 15px var(--mono); opacity:0; transform:translate(-5px,5px); transition:opacity .25s ease,transform .25s ease; }
.client-card:hover .client-arrow,.client-card:focus-visible .client-arrow { opacity:1; transform:none; }
@keyframes clientMarquee { to { transform:translateX(-50%); } }

.section { padding:96px 0; }
.section.cream { background:var(--cream); }
.section.navy { background:var(--navy); color:white; }
.section-head { display:grid; grid-template-columns:.8fr 1.2fr; align-items:end; gap:48px; margin-bottom:48px; }
.section-head p { max-width:620px; margin:0 0 3px; color:var(--muted); font-size:17px; }
.section.navy .section-head p { color:rgba(255,255,255,.64); }
.section-title .eyebrow { margin-bottom:16px; }

.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.portfolio-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.portfolio-grid > .card { grid-column:span 2; }
.portfolio-grid > .card:nth-last-child(2), .portfolio-grid > .card:last-child { grid-column:span 3; }
.card { position:relative; padding:28px; border:1px solid var(--line); border-radius:var(--radius-md); background:white; transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease; }
.card::before { content:""; position:absolute; left:20px; top:-1px; width:40px; height:3px; border-radius:0 0 3px 3px; background:var(--orange); transition:width .3s ease; }
.card:hover { transform:translateY(-7px); border-color:rgba(240,72,1,.35); box-shadow:var(--shadow-soft); }
.card:hover::before { width:72px; }
.card p { margin:13px 0 0; color:var(--muted); font-size:14px; }
.card-link { display:inline-flex; margin-top:23px; gap:8px; color:var(--purple); font-size:13px; font-weight:700; transition:color .2s ease,gap .2s ease; }
.card-link::after { content:"→"; }
.card-link:hover { color:var(--orange); gap:13px; }
.card-number { margin-bottom:26px; color:var(--orange); font:600 12px var(--mono); }
.solution-card { min-height:320px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.solution-card::after { content:attr(data-mark); position:absolute; right:-8px; bottom:-40px; color:var(--cream); font:700 110px var(--display); letter-spacing:-.08em; z-index:0; transition:transform .4s cubic-bezier(.2,.8,.2,1),color .3s ease; }
.solution-card:hover::after { transform:translate(-8px,-8px) scale(1.05); color:var(--orange-tint); }
.solution-card > * { position:relative; z-index:1; }
.solution-card .tag { align-self:flex-start; }
.tag { display:inline-flex; padding:6px 9px; border:1px solid var(--line); border-radius:999px; background:var(--cream); color:var(--navy); font:600 10px var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.tag.orange { border-color:transparent; background:var(--orange-tint); color:var(--orange-dark); }
.tag.purple { border-color:transparent; background:var(--purple-tint); color:var(--purple); }
.icon-box { width:46px; height:46px; display:grid; place-items:center; margin-bottom:25px; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--orange); font:600 15px var(--mono); }

.problem-grid .card { min-height:250px; }
.quote-panel { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid rgba(255,255,255,.17); border-radius:var(--radius-xl); }
.quote-copy { padding:54px; }
.quote-copy blockquote { margin:0 0 24px; font:700 clamp(30px,4vw,52px)/1.12 var(--display); letter-spacing:-.04em; }
.quote-copy blockquote em { color:var(--orange); font-style:normal; }
.quote-copy p { color:rgba(255,255,255,.66); }
.axis-map { min-height:450px; position:relative; display:grid; place-items:center; overflow:hidden; background:var(--cream); color:var(--navy); }
.map-core { position:relative; z-index:2; width:174px; height:174px; display:grid; place-items:center; border-radius:var(--radius-lg); background:var(--orange); color:white; font:700 23px var(--display); transform:rotate(45deg); animation:corePulse 4s ease-in-out infinite; }
.map-core span { transform:rotate(-45deg); text-align:center; line-height:1.1; }
.map-orbit { position:absolute; width:360px; height:360px; border:1px solid #c9c4cf; border-radius:50%; }
.map-label { position:absolute; z-index:3; padding:8px 11px; border:1px solid var(--line); border-radius:999px; background:white; font:600 11px var(--mono); text-transform:uppercase; box-shadow:0 8px 24px rgba(2,0,53,.08); }
.map-label.l1 { top:44px; left:50%; transform:translateX(-50%); }
.map-label.l2 { right:36px; top:50%; transform:translateY(-50%); }
.map-label.l3 { bottom:44px; left:50%; transform:translateX(-50%); }
.map-label.l4 { left:36px; top:50%; transform:translateY(-50%); }

.steps { counter-reset:axis-step; border-top:1px solid var(--line); }
.step { counter-increment:axis-step; display:grid; grid-template-columns:80px .75fr 1.25fr; gap:24px; padding:30px 0; border-bottom:1px solid var(--line); align-items:start; }
.step::before { content:"0" counter(axis-step); color:var(--orange); font:600 12px var(--mono); }
.step p { margin:0; color:var(--muted); }

.process-section { --process-progress:0; position:relative; background:linear-gradient(180deg,#fff 0%,#f7f5f7 100%); }
.process-layout { display:grid; grid-template-columns:.78fr 1.22fr; align-items:start; gap:92px; }
.process-sticky { position:sticky; top:132px; align-self:start; padding:22px 0 40px; }
.process-sticky h2 { max-width:480px; }
.process-sticky p { max-width:500px; margin:24px 0 0; color:var(--muted); font-size:17px; }
.process-counter { display:flex; align-items:baseline; gap:8px; margin-top:42px; color:var(--line); font-family:var(--mono); }
.process-counter strong { color:var(--orange); font-size:38px; line-height:1; letter-spacing:-.06em; }
.process-counter span { font-size:13px; }
.process-flow { position:relative; padding-left:82px; }
.process-flow::before,.process-flow::after { content:""; position:absolute; left:23px; top:92px; bottom:92px; width:2px; border-radius:999px; }
.process-flow::before { background:var(--line); }
.process-flow::after { background:linear-gradient(var(--orange),var(--purple)); transform:scaleY(var(--process-progress)); transform-origin:top; transition:transform .18s linear; }
.process-node { position:relative; min-height:310px; display:flex; align-items:center; opacity:.34; transform:translateY(24px) scale(.97); transition:opacity .55s ease,transform .65s cubic-bezier(.2,.8,.2,1); }
.process-marker { position:absolute; left:-82px; z-index:2; width:48px; height:48px; display:grid; place-items:center; border:2px solid var(--line); border-radius:50%; background:white; color:var(--muted); font:600 11px var(--mono); transition:color .4s ease,background .4s ease,border-color .4s ease,box-shadow .4s ease,transform .4s ease; }
.process-card { width:100%; padding:34px 36px; border:1px solid var(--line); border-radius:var(--radius-lg); background:rgba(255,255,255,.76); box-shadow:0 12px 38px rgba(2,0,53,.04); transition:border-color .4s ease,background .4s ease,box-shadow .4s ease,transform .4s cubic-bezier(.2,.8,.2,1); }
.process-card > span { display:block; margin-bottom:24px; color:var(--orange); font:600 11px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.process-card h3 { font-size:clamp(25px,3vw,36px); }
.process-card p { max-width:520px; margin:16px 0 0; color:var(--muted); font-size:16px; }
.process-node.is-complete { opacity:.66; transform:none; }
.process-node.is-active { opacity:1; transform:none; }
.process-node.is-complete .process-marker { border-color:var(--orange); background:var(--orange); color:white; }
.process-node.is-active .process-marker { border-color:var(--orange); background:var(--navy); color:white; box-shadow:0 0 0 9px rgba(240,72,1,.13); transform:scale(1.08); }
.process-node.is-active .process-card { border-color:rgba(240,72,1,.35); background:white; box-shadow:0 24px 70px rgba(2,0,53,.12); transform:translateX(8px); }

.insight-section { overflow:hidden; background:linear-gradient(180deg,#fff 0%,var(--cream) 100%); }
.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.insight-card { position:relative; min-height:280px; display:flex; flex-direction:column; align-items:flex-start; padding:30px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:white; transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease; }
.insight-card::after { content:""; position:absolute; right:-74px; top:-74px; width:160px; height:160px; border:32px solid var(--orange-tint); border-radius:50%; transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .3s ease; }
.insight-card:hover { transform:translateY(-7px); border-color:rgba(240,72,1,.4); box-shadow:var(--shadow-soft); }
.insight-card:hover::after { transform:scale(1.25) rotate(15deg); border-color:var(--purple-tint); }
.insight-card > span { position:relative; z-index:1; color:var(--orange); font:600 10px var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.insight-card h3 { position:relative; z-index:1; max-width:320px; margin-top:42px; font-size:24px; }
.insight-card .card-link { margin-top:auto; }
.insight-all { display:flex; justify-content:center; margin-top:30px; }

.cta-band { padding:76px 0; background:var(--orange); color:white; }
.cta-inner { display:grid; grid-template-columns:1.4fr .6fr; align-items:center; gap:40px; }
.cta-inner h2 { max-width:780px; }
.cta-inner p { margin:17px 0 0; color:rgba(255,255,255,.8); }
.cta-inner .actions { justify-content:flex-end; }

.page-hero { padding:88px 0 76px; background:var(--navy); color:white; }
.page-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:60px; }
.page-hero p { max-width:620px; margin:23px 0 0; color:rgba(255,255,255,.68); font-size:18px; }
.page-index { padding:26px; border:1px solid rgba(255,255,255,.13); border-left:3px solid var(--orange); border-radius:var(--radius-md); background:rgba(255,255,255,.06); }
.page-index span { display:block; color:var(--orange-light); font:600 11px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.page-index strong { display:block; margin-top:9px; font:600 18px var(--display); }
.feature-list { margin:22px 0 0; padding:0; list-style:none; }
.feature-list li { position:relative; padding:12px 0 12px 25px; border-bottom:1px solid var(--line); }
.feature-list li::before { content:""; position:absolute; left:0; top:22px; width:8px; height:8px; background:var(--orange); }
.feature-list li:last-child { border-bottom:0; }
.outcome { padding:36px; border-radius:var(--radius-md); background:var(--navy); color:white; }
.outcome .eyebrow { margin-bottom:14px; }
.outcome p { margin:14px 0 0; color:rgba(255,255,255,.68); }
.tier-grid { display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); }
.tier { min-height:230px; padding:25px; border-right:1px solid var(--line); background:white; transition:background .25s ease,transform .25s ease; }
.tier:hover { background:var(--orange-tint); }
.tier strong { display:block; font:700 18px var(--display); }
.tier span { display:block; margin:9px 0 18px; color:var(--orange); font:600 11px var(--mono); text-transform:uppercase; }
.tier p { margin:0; color:var(--muted); font-size:14px; }
.method-grid { display:grid; grid-template-columns:repeat(5,1fr); overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-lg); }
.method-step { min-height:285px; padding:26px 22px; border-right:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.025); transition:background .25s ease,transform .25s ease; }
.method-step:hover { background:rgba(240,72,1,.11); transform:translateY(-4px); }
.method-step span { display:block; margin-bottom:46px; color:var(--orange-light); font:600 12px var(--mono); }
.method-step h3 { color:white; }
.method-step p { margin:14px 0 0; color:rgba(255,255,255,.64); font-size:14px; }
.subnav { position:sticky; top:66px; z-index:40; padding:14px 0; border-bottom:1px solid var(--line); background:rgba(255,255,255,.94); backdrop-filter:blur(14px); }
.subnav-list { display:flex; gap:10px; overflow-x:auto; scrollbar-width:none; }
.subnav a { white-space:nowrap; padding:8px 11px; border:1px solid var(--line); border-radius:999px; font-size:12px; font-weight:700; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.subnav a:hover, .subnav a[aria-current="page"] { border-color:var(--orange); color:var(--orange); }

.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; }
.contact-copy p { color:var(--muted); }
.contact-points { margin-top:30px; }
.contact-point { padding:18px 0; border-top:1px solid var(--line); }
.contact-point strong { display:block; font:700 15px var(--display); }
.contact-point span { color:var(--muted); font-size:13px; }
.form { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:32px; background:var(--cream); border:1px solid var(--line); border-radius:var(--radius-lg); }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { font-size:12px; font-weight:700; }
.field input, .field textarea, .field select { width:100%; border:1px solid #cbc7d0; background:white; color:var(--navy); padding:12px 13px; border-radius:var(--radius-sm); outline:none; transition:border-color .2s ease,box-shadow .2s ease; }
.field input:focus, .field textarea:focus, .field select:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(240,72,1,.12); }
.field textarea { min-height:126px; resize:vertical; }
.form-note { grid-column:1/-1; margin:0; color:var(--muted); font-size:12px; }

.diagnostic-section { padding:88px 0 104px; background:linear-gradient(145deg,var(--cream),#fff 58%); }
.diagnostic-layout { display:grid; grid-template-columns:.7fr 1.3fr; align-items:start; gap:64px; }
.diagnostic-aside { position:sticky; top:116px; padding:28px 0; }
.diagnostic-aside h2 { max-width:430px; }
.diagnostic-aside > p { color:var(--muted); }
.diagnostic-benefits { display:grid; gap:0; margin-top:34px; border-top:1px solid var(--line); }
.diagnostic-benefits div { display:grid; grid-template-columns:40px 1fr; align-items:center; gap:10px; padding:17px 0; border-bottom:1px solid var(--line); }
.diagnostic-benefits span { color:var(--orange); font:600 11px var(--mono); }
.diagnostic-benefits strong { font:600 14px var(--display); }
.privacy-note { margin-top:24px; font-size:12px; }
.diagnostic-panel { min-height:640px; padding:34px; border:1px solid var(--line); border-radius:var(--radius-xl); background:white; box-shadow:0 28px 80px rgba(2,0,53,.1); }
.diagnostic-progress { margin-bottom:38px; }
.diagnostic-progress > div:first-child { display:flex; justify-content:space-between; gap:20px; margin-bottom:10px; color:var(--muted); font:600 10px var(--mono); text-transform:uppercase; letter-spacing:.07em; }
.diagnostic-progress strong { color:var(--navy); }
.diagnostic-progress-track { height:5px; overflow:hidden; border-radius:999px; background:var(--cream); }
.diagnostic-progress-track span { display:block; width:14.285%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--orange),var(--purple)); transition:width .45s cubic-bezier(.2,.8,.2,1); }
.diagnostic-form fieldset { margin:0; padding:0; border:0; }
.diagnostic-form legend { max-width:660px; padding:0; color:var(--navy); font:700 clamp(28px,3.5vw,40px)/1.12 var(--display); letter-spacing:-.035em; }
.question-help { margin:14px 0 28px; color:var(--muted); }
.diagnostic-step { min-height:390px; animation:diagnosticIn .42s cubic-bezier(.2,.8,.2,1); }
.option-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.option-grid.compact { grid-template-columns:repeat(2,1fr); }
.option-card { position:relative; cursor:pointer; }
.option-card input { position:absolute; opacity:0; pointer-events:none; }
.option-card > span { min-height:92px; display:flex; flex-direction:column; justify-content:center; gap:5px; padding:17px 18px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--cream); transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .25s ease; }
.option-card strong { font:600 14px var(--display); }
.option-card small { color:var(--muted); font-size:11px; line-height:1.45; }
.option-card:hover > span { transform:translateY(-2px); border-color:rgba(240,72,1,.45); background:white; }
.option-card input:focus-visible + span { outline:3px solid rgba(240,72,1,.17); outline-offset:2px; }
.option-card input:checked + span { border-color:var(--orange); background:var(--orange-tint); box-shadow:inset 0 0 0 1px var(--orange); }
.option-card input:checked + span::after { content:"✓"; position:absolute; right:16px; top:15px; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--orange); color:white; font:700 11px var(--mono); }
.diagnostic-pair,.diagnostic-contact { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.diagnostic-pair { margin-top:30px; }
.diagnostic-contact { margin-top:30px; }
.consent-field { grid-column:1/-1; display:flex; align-items:flex-start; gap:11px; padding:16px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--cream); color:var(--muted); font-size:12px; cursor:pointer; }
.consent-field input { flex:0 0 auto; margin-top:3px; accent-color:var(--orange); }
.consent-field a { color:var(--purple); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.diagnostic-error { min-height:24px; margin:8px 0 0; color:#b42318; font-size:13px; }
.diagnostic-actions { display:flex; justify-content:space-between; gap:12px; padding-top:18px; border-top:1px solid var(--line); }
.diagnostic-actions [data-diagnostic-next],.diagnostic-actions [data-diagnostic-submit] { margin-left:auto; }
.diagnostic-status { min-height:20px; margin:12px 0 0; color:var(--muted); font-size:12px; text-align:right; }
.diagnostic-result { min-height:540px; padding:20px 8px 6px; outline:none; }
.diagnostic-result h2 { max-width:660px; margin-top:25px; font-size:clamp(34px,4.5vw,54px); }
.diagnostic-result > p { max-width:640px; color:var(--muted); font-size:17px; }
.result-recommendation { margin:30px 0 24px; padding:23px; border-radius:var(--radius-md); background:var(--navy); color:white; }
.result-recommendation span { display:block; margin-bottom:7px; color:var(--orange-light); font:600 10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.result-recommendation strong { font:700 24px var(--display); }
.diagnostic-result ul { display:grid; gap:10px; margin:0 0 30px; padding:0; list-style:none; }
.diagnostic-result li { position:relative; padding-left:24px; color:var(--muted); }
.diagnostic-result li::before { content:""; position:absolute; left:0; top:.65em; width:8px; height:8px; border-radius:50%; background:var(--orange); }
.result-fallback { margin-top:20px; padding:13px 15px; border-radius:var(--radius-sm); background:#fff4e8; font-size:12px!important; }
.result-fallback a { color:var(--orange-dark); font-weight:700; text-decoration:underline; }
@keyframes diagnosticIn { from { opacity:0; transform:translateX(18px) } to { opacity:1; transform:none } }

.site-footer { padding:64px 0 24px; background:var(--navy); color:white; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,.7fr); gap:50px; padding-bottom:52px; }
.footer-brand { display:inline-flex; align-items:center; width:164px; margin-bottom:20px; }
.footer-brand img { width:100%; height:auto; }
.footer-copy { max-width:350px; margin:0; color:rgba(255,255,255,.58); font-size:14px; }
.footer-col h4 { margin-bottom:15px; color:var(--orange-light); font:700 11px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.footer-col a { display:block; padding:5px 0; color:rgba(255,255,255,.67); font-size:13px; }
.footer-col a:hover { color:white; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.45); font-size:11px; }
.footer-entity { display:block; max-width:360px; line-height:1.6; }
.footer-entity small { display:block; margin-top:3px; color:rgba(255,255,255,.38); font-size:10px; }
.footer-legal { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 18px; }
.footer-legal a { color:rgba(255,255,255,.58); transition:color .2s ease; }
.footer-legal a:hover,.footer-legal a:focus-visible { color:white; }

.legal-hero { padding:82px 0 68px; background:radial-gradient(circle at 82% 25%,rgba(33,0,178,.48),transparent 30%),var(--navy); color:white; }
.legal-hero .eyebrow { color:var(--orange-light); }
.legal-hero h1 { max-width:900px; font-size:clamp(42px,6vw,72px); }
.legal-hero p { max-width:720px; margin:22px 0 0; color:rgba(255,255,255,.7); font-size:18px; }
.legal-meta { display:flex; flex-wrap:wrap; gap:9px 22px; margin-top:28px; color:rgba(255,255,255,.52); font:600 11px var(--mono); text-transform:uppercase; letter-spacing:.05em; }
.legal-layout { display:grid; grid-template-columns:260px minmax(0,760px); justify-content:center; align-items:start; gap:72px; padding:78px 0 100px; }
.legal-toc { position:sticky; top:112px; padding:22px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--cream); }
.legal-toc strong { display:block; margin-bottom:13px; font:700 12px var(--mono); text-transform:uppercase; letter-spacing:.07em; }
.legal-toc a { display:block; padding:7px 0; color:var(--muted); font-size:13px; line-height:1.4; }
.legal-toc a:hover,.legal-toc a:focus-visible { color:var(--orange); }
.legal-content { color:#29263f; font-size:17px; line-height:1.78; }
.legal-content section { scroll-margin-top:110px; padding:0 0 38px; margin:0 0 38px; border-bottom:1px solid var(--line); }
.legal-content section:last-child { margin-bottom:0; border-bottom:0; }
.legal-content h2 { margin:0 0 18px; font-size:clamp(27px,3vw,36px); }
.legal-content h3 { margin:26px 0 10px; font-size:20px; }
.legal-content p,.legal-content ul,.legal-content ol { margin:0 0 16px; }
.legal-content ul,.legal-content ol { padding-left:22px; }
.legal-content li { margin-bottom:8px; }
.legal-content a { color:var(--purple); text-decoration:underline; text-decoration-color:rgba(33,0,178,.3); text-underline-offset:3px; }
.legal-callout { padding:22px 24px; border:1px solid rgba(240,72,1,.24); border-left:4px solid var(--orange); border-radius:var(--radius-md); background:var(--orange-tint); }
.legal-callout p:last-child { margin-bottom:0; }
.legal-table-wrap { overflow-x:auto; margin:22px 0; border:1px solid var(--line); border-radius:var(--radius-md); }
.legal-table { width:100%; min-width:660px; border-collapse:collapse; background:white; font-size:14px; line-height:1.55; }
.legal-table th,.legal-table td { padding:15px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.legal-table th { background:var(--cream); font:700 11px var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.legal-table tr:last-child td { border-bottom:0; }
.legal-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }

.cookie-banner { position:fixed; z-index:1000; right:22px; bottom:22px; width:min(calc(100% - 44px),520px); padding:22px; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-lg); background:rgba(2,0,53,.97); color:white; box-shadow:0 28px 80px rgba(2,0,53,.35); backdrop-filter:blur(16px); }
.cookie-banner[hidden],.cookie-modal[hidden] { display:none!important; }
.cookie-banner h2 { margin:0 0 9px; font-size:22px; }
.cookie-banner p { margin:0; color:rgba(255,255,255,.68); font-size:13px; line-height:1.6; }
.cookie-banner p a { color:var(--orange-light); text-decoration:underline; }
.cookie-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.cookie-button { min-height:42px; padding:10px 15px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:transparent; color:white; font:700 12px var(--body); cursor:pointer; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.cookie-button:hover { transform:translateY(-2px); border-color:white; }
.cookie-button.primary { border-color:var(--orange); background:var(--orange); }
.cookie-button.light { border-color:white; background:white; color:var(--navy); }
.cookie-modal { position:fixed; z-index:1100; inset:0; display:grid; place-items:center; padding:20px; background:rgba(2,0,35,.72); }
.cookie-dialog { width:min(100%,620px); max-height:min(84vh,760px); overflow:auto; padding:28px; border-radius:var(--radius-xl); background:white; box-shadow:0 30px 100px rgba(0,0,0,.35); }
.cookie-dialog-head { display:flex; align-items:start; justify-content:space-between; gap:24px; }
.cookie-dialog h2 { font-size:30px; }
.cookie-dialog p { color:var(--muted); }
.cookie-close { width:40px; height:40px; flex:0 0 auto; border:1px solid var(--line); border-radius:50%; background:white; color:var(--navy); font-size:22px; cursor:pointer; }
.cookie-options { display:grid; gap:12px; margin:24px 0; }
.cookie-option { display:grid; grid-template-columns:1fr auto; gap:16px; padding:17px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--cream); }
.cookie-option strong { display:block; font:700 15px var(--display); }
.cookie-option span { display:block; margin-top:4px; color:var(--muted); font-size:12px; line-height:1.5; }
.cookie-option input { width:20px; height:20px; margin-top:3px; accent-color:var(--orange); }
.cookie-option .always-on { color:var(--orange-dark); font:700 10px var(--mono); text-transform:uppercase; }
.cookie-dialog-foot { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }

.hero-visual { --tilt-x:0deg; --tilt-y:0deg; position:relative; width:min(100%,520px); aspect-ratio:1/1; margin:0; justify-self:end; overflow:visible; transform:perspective(1100px) translate3d(0,var(--parallax,0),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transform-style:preserve-3d; transition:transform .3s cubic-bezier(.2,.8,.2,1); }
.hero-visual::before { content:""; position:absolute; inset:18px -18px -18px 18px; z-index:-1; border-radius:var(--radius-xl); background:linear-gradient(145deg,var(--orange),var(--purple)); opacity:.9; }
.hero-visual img { display:block; width:100%; height:100%; aspect-ratio:1/1; object-fit:contain; object-position:center; border-radius:var(--radius-xl); border:1px solid rgba(255,255,255,.2); background:#08062f; box-shadow:0 32px 84px rgba(0,0,0,.4); transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease; }
.hero-visual:hover img { transform:scale(1.022); filter:saturate(1.06) contrast(1.02); }
.visual-badge { position:absolute; display:flex; flex-direction:column; gap:2px; min-width:160px; padding:12px 15px; border:1px solid rgba(255,255,255,.22); border-radius:var(--radius-md); background:rgba(2,0,53,.76); box-shadow:0 18px 40px rgba(0,0,0,.25); backdrop-filter:blur(12px); }
.visual-badge span { color:var(--orange-light); font:600 10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.visual-badge strong { color:white; font:600 13px var(--display); }
.badge-top { top:28px; left:-34px; animation:badgeFloat 4.6s ease-in-out infinite; }
.badge-bottom { right:-28px; bottom:28px; animation:badgeFloat 4.6s .8s ease-in-out infinite; }
.visual-story { overflow:hidden; background:white; }
.story-split { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:64px; }
.story-image { position:relative; width:min(100%,620px); aspect-ratio:3/2; margin:0; }
.story-image::before { content:""; position:absolute; inset:22px -22px -22px 22px; border-radius:var(--radius-xl); background:var(--orange); z-index:0; }
.story-image img { position:relative; z-index:1; display:block; width:100%; height:100%; aspect-ratio:3/2; object-fit:contain; object-position:center; border-radius:var(--radius-xl); background:var(--cream); box-shadow:var(--shadow-soft); transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .75s ease; }
.story-image:hover img { transform:translateY(-4px); filter:saturate(1.04); }
.story-copy p { color:var(--muted); font-size:17px; }
.mini-flow { display:grid; margin-top:30px; border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; }
.mini-flow > div { display:grid; grid-template-columns:34px 90px 1fr; align-items:center; gap:10px; padding:15px 17px; border-bottom:1px solid var(--line); transition:background .2s ease; }
.mini-flow > div:last-child { border-bottom:0; }
.mini-flow > div:hover { background:var(--orange-tint); }
.mini-flow span { color:var(--orange); font:600 11px var(--mono); }
.mini-flow strong { font:700 14px var(--display); }
.mini-flow small { color:var(--muted); font-size:12px; }
.method-visual { width:min(100%,960px); aspect-ratio:3/2; margin:0 auto 28px; border-radius:var(--radius-xl); background:var(--cream); }
.method-visual img { display:block; width:100%; height:100%; aspect-ratio:3/2; object-fit:contain; object-position:center; border-radius:inherit; transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease; }
.method-visual:hover img { transform:translateY(-4px); filter:saturate(1.03); }
.reveal { opacity:0; transform:translateY(24px) scale(.985); transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); transition-delay:var(--delay,0ms); }
.reveal.visible { opacity:1; transform:none; }
.hero-visual.reveal.visible { transform:perspective(1100px) translate3d(0,var(--parallax,0),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }
.story-image.reveal { transform:translateX(-34px); }
.story-copy.reveal { transform:translateX(34px); }
.story-image.reveal.visible,.story-copy.reveal.visible { transform:none; }
.card.reveal.visible:hover { transform:translateY(-7px); }
.method-step.reveal.visible:hover { transform:translateY(-4px); }

@keyframes badgeFloat { 0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)} }
@keyframes corePulse { 0%,100%{box-shadow:0 0 0 0 rgba(240,72,1,.18)}50%{box-shadow:0 0 0 18px rgba(240,72,1,0)} }

@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal,.process-node{opacity:1;transform:none;transition:none}.button,.method-visual img,.hero-visual img,.story-image img,.process-card,.process-marker{transition:none}.badge-top,.badge-bottom,.map-core,.client-marquee-track,.diagnostic-step{animation:none}.hero-visual{transform:none!important;transition:none}.process-flow::after{transition:none}.client-marquee{overflow-x:auto;scrollbar-width:thin}.client-marquee-group[aria-hidden="true"]{display:none} }
@media (max-width: 980px) {
  .menu-button { display:block; }
  .nav-links { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:16px 20px 24px; background:var(--navy); border-top:1px solid rgba(255,255,255,.12); box-shadow:0 22px 44px rgba(2,0,53,.28); }
  .nav-links.open { display:flex; }
  .nav-links > a,.site-header.is-scrolled .nav-links > a { padding:13px 4px; }
  .nav-links > a::after { display:none; }
  .nav-cta { margin-top:9px; text-align:center; }
  .hero-grid, .page-hero-grid, .quote-panel, .contact-layout, .story-split { grid-template-columns:1fr; }
  .diagnostic-layout { grid-template-columns:1fr; gap:28px; }
  .diagnostic-aside { position:relative; top:auto; padding-top:0; }
  .process-layout { grid-template-columns:.85fr 1.15fr; gap:48px; }
  .process-sticky { top:110px; }
  .hero-grid { gap:58px; }
  .section-head { grid-template-columns:1fr; align-items:start; gap:18px; }
  .grid-4, .tier-grid, .portfolio-grid, .method-grid { grid-template-columns:repeat(2,1fr); }
  .portfolio-grid > .card, .portfolio-grid > .card:nth-last-child(2), .portfolio-grid > .card:last-child { grid-column:auto; }
  .grid-3 { grid-template-columns:repeat(2,1fr); }
  .insight-grid { grid-template-columns:1fr 1fr; }
  .insight-card:last-child { grid-column:1/-1; }
  .cta-inner { grid-template-columns:1fr; }
  .cta-inner .actions { justify-content:flex-start; }
  .footer-grid { grid-template-columns:1.3fr 1fr 1fr; }
  .footer-grid > :last-child { grid-column:2; }
  .hero-visual { max-width:620px; justify-self:center; }
}
@media (max-width: 680px) {
  .container,.narrow { width:min(calc(100% - 32px), var(--max)); }
  .hero { min-height:auto; padding:78px 0 68px; }
  .hero::after { width:260px;height:260px;right:-180px;border-width:48px; }
  h1 { font-size:42px; }
  .signal-panel { padding:21px; box-shadow:10px 10px 0 rgba(33,0,178,.38); }
  .hero-visual img,.story-image img { border-radius:var(--radius-lg); }
  .badge-top { left:12px; top:12px; }
  .badge-bottom { right:12px; bottom:12px; }
  .story-image::before { inset:12px -12px -12px 12px; border-radius:var(--radius-lg); }
  .mini-flow > div { grid-template-columns:30px 1fr; }
  .mini-flow small { grid-column:2; }
  .signal-row { grid-template-columns:70px 1fr 38px; gap:10px; }
  .signal-foot { grid-template-columns:1fr; }
  .areas-list { grid-template-columns:1fr 1fr; }
  .area-chip { justify-content:flex-start; border-bottom:1px solid var(--line); }
  .area-chip:last-child { grid-column:1/-1; }
  .clients-section { padding:66px 0 68px; }
  .clients-head { display:block; margin-bottom:24px; }
  .clients-head p { margin-top:14px; }
  .client-card { width:190px; height:132px; padding:20px 18px 16px; border-radius:var(--radius-md); }
  .client-logo { height:56px; }
  .client-logo img { max-width:142px; max-height:52px; }
  .client-marquee-group { gap:13px; padding-right:13px; }
  .client-name { padding-right:14px; font-size:10px; }
  .insight-grid { grid-template-columns:1fr; }
  .insight-card,.insight-card:last-child { min-height:245px; grid-column:auto; }
  .diagnostic-section { padding:66px 0 76px; }
  .diagnostic-panel { min-height:0; padding:24px 18px; border-radius:var(--radius-lg); }
  .diagnostic-step { min-height:430px; }
  .option-grid,.option-grid.compact,.diagnostic-pair,.diagnostic-contact { grid-template-columns:1fr; }
  .option-card > span { min-height:76px; }
  .consent-field { grid-column:auto; }
  .diagnostic-actions { position:sticky; bottom:0; z-index:5; margin:0 -18px -24px; padding:16px 18px 20px; background:rgba(255,255,255,.94); backdrop-filter:blur(12px); }
  .diagnostic-actions .button { min-width:118px; }
  .diagnostic-status { margin-bottom:16px; }
  .section { padding:72px 0; }
  .process-layout { grid-template-columns:1fr; gap:36px; }
  .process-sticky { position:relative; top:auto; padding:0; }
  .process-counter { margin-top:24px; }
  .process-flow { padding-left:62px; }
  .process-flow::before,.process-flow::after { left:19px; top:72px; bottom:72px; }
  .process-node { min-height:240px; }
  .process-marker { left:-62px; width:40px; height:40px; }
  .process-card { padding:27px 24px; }
  .process-node.is-active .process-card { transform:none; }
  .grid-2,.grid-3,.grid-4,.tier-grid,.portfolio-grid,.method-grid { grid-template-columns:1fr; }
  .step { grid-template-columns:45px 1fr; }
  .step p { grid-column:2; }
  .quote-copy { padding:36px 28px; }
  .axis-map { min-height:390px; }
  .map-orbit { width:285px;height:285px; }
  .map-label.l2 { right:8px; }.map-label.l4{left:8px;}
  .page-hero { padding:70px 0 58px; }
  .form { grid-template-columns:1fr; padding:22px; }
  .field.full,.form-note { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-grid > :first-child { grid-column:1/-1; }
  .footer-grid > :last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
  .footer-legal { justify-content:flex-start; }
  .legal-layout { grid-template-columns:1fr; gap:30px; padding:58px 0 72px; }
  .legal-toc { position:relative; top:auto; }
  .cookie-banner { right:14px; bottom:14px; width:calc(100% - 28px); padding:19px; }
  .cookie-actions .cookie-button { flex:1 1 145px; }
  .cookie-dialog { padding:22px 18px; border-radius:var(--radius-lg); }
  .cookie-dialog-foot .cookie-button { flex:1 1 150px; }
}
