:root {
  --bg: #07090d;
  --surface: #0d121a;
  --surface-2: #121925;
  --ink: #f7f8fc;
  --muted: #aeb4c1;
  --dim: #737b8b;
  --line: rgba(255,255,255,.12);
  --accent: #7f72ff;
  --accent-rgb: 127,114,255;
  --c1: #64edff;
  --c2: #6476ff;
  --c3: #dd4bff;
  --c4: #ffbd63;
  --pad: clamp(20px, 5vw, 76px);
  --max: 1480px;
  --display: "Arial Black", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif;
  --sans: Inter, "Avenir Next", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

html[data-mode="sales"] {
  --accent: #ff405e;
  --accent-rgb: 255,64,94;
  --c1: #ffb05c;
  --c2: #ff3e32;
  --c3: #d91478;
  --c4: #8e41ff;
}

html[data-mode="service"] {
  --accent: #36d8c9;
  --accent-rgb: 54,216,201;
  --c1: #c3ab63;
  --c2: #31d7b5;
  --c3: #376de8;
  --c4: #a359c7;
}

* { box-sizing: border-box; }
html { width: 100%; scroll-behavior: smooth; scroll-padding-top: 92px; background: var(--bg); }
body {
  margin: 0;
  width: 100%;
  min-width: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 80% 0%, rgba(var(--accent-rgb),.1), transparent 34rem),
    var(--bg);
  font-family: var(--sans);
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 90;
  pointer-events: none;
  opacity: .042;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
  mix-blend-mode: screen;
}
a { color: inherit; text-decoration: none; }
button, input { color: inherit; font: inherit; }
button { appearance: none; }
img { display: block; max-width: 100%; height: auto; }
::selection { color: #05070a; background: var(--c1); }
.skip-link { position: fixed; z-index: 100; left: 12px; top: 12px; padding: 12px 16px; color: #080a0e; background: #fff; border-radius: 10px; font-weight: 900; transform: translateY(-150%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }
:where(a,button,summary):focus-visible { outline: 3px solid var(--c1); outline-offset: 4px; }
button, a { -webkit-tap-highlight-color: transparent; }

.site-nav {
  position: fixed;
  z-index: 70;
  inset: max(10px, env(safe-area-inset-top)) 14px auto;
  min-height: 62px;
  padding: 8px 10px 8px 14px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 17px;
  background: rgba(6,8,12,.78);
  box-shadow: 0 24px 80px rgba(0,0,0,.34);
  backdrop-filter: blur(18px) saturate(135%);
}
.brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.brand img { width: 34px; height: 34px; object-fit: contain; border-radius: 8px; }
.brand-copy { display: grid; gap: 2px; min-width: 0; }
.brand-copy strong { font-size: 11px; letter-spacing: .14em; white-space: nowrap; }
.brand-copy span { color: var(--dim); font: 8px var(--mono); letter-spacing: .12em; white-space: nowrap; }
.nav-links { display: flex; align-items: center; gap: 4px; }
.nav-links a { padding: 10px 12px; border-radius: 999px; color: #bec4d0; font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: #fff; background: rgba(var(--accent-rgb),.13); }
.nav-cta { justify-self: end; min-height: 42px; padding: 0 17px; display: inline-flex; align-items: center; gap: 9px; border-radius: 999px; color: #090b10; background: linear-gradient(108deg,var(--c1),var(--c2) 40%,var(--c3) 76%,var(--c4)); font-size: 11px; font-weight: 900; }

.hero {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  padding: clamp(126px,15vh,178px) var(--pad) clamp(58px,8vh,90px);
  display: grid;
  align-items: end;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.hero canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(7,9,13,.98), rgba(7,9,13,.82) 42%, rgba(7,9,13,.28) 74%, rgba(7,9,13,.6)),
    linear-gradient(180deg, transparent 45%, var(--bg) 110%);
}
.hero-inner { width: min(100%,var(--max)); margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(360px,.72fr); gap: clamp(34px,7vw,120px); align-items: end; }
.eyebrow { display: flex; align-items: center; gap: 13px; color: var(--muted); font: 10px var(--mono); letter-spacing: .18em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 38px; height: 1px; background: var(--accent); box-shadow: 0 0 15px var(--accent); }
.hero h1 { margin: 22px 0 24px; max-width: 940px; font-family: var(--display); font-size: clamp(56px,5.1vw,92px); font-weight: 900; line-height: .92; letter-spacing: -.07em; text-wrap: balance; }
.hero h1 span { display: block; white-space: nowrap; }
.mobile-break { display: none; }
.prism {
  color: transparent;
  background: linear-gradient(105deg,#fff 2%,var(--c1) 26%,var(--c2) 48%,var(--c3) 72%,var(--c4) 98%);
  background-size: 180% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  animation: shimmer 8s ease-in-out infinite alternate;
}
@keyframes shimmer { to { background-position: 100% 0; } }
.hero-lead { max-width: 720px; margin: 0; color: #c7ccd6; font-size: clamp(16px,1.45vw,21px); line-height: 1.9; }
.hero-note { margin: 18px 0 0; color: var(--dim); font-size: 12px; line-height: 1.7; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.button { min-height: 52px; padding: 0 21px; display: inline-flex; align-items: center; justify-content: center; gap: 13px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.035); font-size: 12px; font-weight: 800; letter-spacing: .05em; transition: .25s ease; }
.button:hover { transform: translateY(-2px); border-color: rgba(var(--accent-rgb),.65); background: rgba(var(--accent-rgb),.1); }
.button.primary { color: #080a0e; border: 0; background: linear-gradient(110deg,var(--c1),var(--c2) 42%,var(--c3) 74%,var(--c4)); box-shadow: 0 16px 52px rgba(var(--accent-rgb),.22); }

.signal-console { min-height: 450px; padding: 18px; border: 1px solid rgba(255,255,255,.13); border-radius: 21px; background: linear-gradient(155deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 42%),rgba(9,12,18,.76); box-shadow: 0 42px 120px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.08); backdrop-filter: blur(16px); transform: perspective(900px) rotateY(-4deg) rotateX(1.5deg); transform-origin: right center; }
.console-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 22px; }
.console-label { display: flex; align-items: center; gap: 8px; color: var(--muted); font: 10px var(--mono); letter-spacing: .13em; }
.live { width: 6px; height: 6px; border-radius: 50%; background: var(--c1); box-shadow: 0 0 14px var(--c1); animation: pulse 2s infinite; }
@keyframes pulse { 50% { opacity:.22; } }
.console-time { color: var(--dim); font: 9px var(--mono); }
.waveform { height: 90px; display: flex; align-items: center; gap: 3px; overflow: hidden; padding: 0 4px 16px; border-bottom: 1px solid var(--line); }
.waveform i { width: 3px; min-width: 3px; height: calc(7px + var(--h) * 1px); max-height: 67px; border-radius: 5px; background: linear-gradient(180deg,var(--c1),var(--c2) 55%,var(--c3)); opacity: calc(.34 + var(--o)); animation: wave 2.6s ease-in-out infinite alternate; animation-delay: calc(var(--d) * -1ms); }
@keyframes wave { to { transform: scaleY(.48); filter: hue-rotate(20deg); } }
.transcript { display: grid; gap: 12px; padding: 20px 4px; border-bottom: 1px solid var(--line); }
.utterance { display: grid; grid-template-columns: 68px 1fr; gap: 12px; font-size: 12.5px; line-height: 1.72; }
.speaker { padding-top: 2px; color: var(--dim); font: 10px var(--mono); }
.utterance strong { color: #dadee7; font-weight: 500; }
mark { color: var(--ink); background: linear-gradient(180deg,transparent 58%,rgba(var(--accent-rgb),.4) 58%); }
.insight-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-top: 17px; }
.insight { min-height: 79px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); }
.insight span { display: block; margin-bottom: 8px; color: var(--dim); font: 9px var(--mono); letter-spacing: .13em; }
.insight b { font-size: 13px; line-height: 1.58; }

.section { padding: clamp(88px,11vw,170px) var(--pad); }
.section-inner { width: min(100%,var(--max)); margin: 0 auto; }
.section-label { display: block; color: var(--accent); font: 12px var(--mono); letter-spacing: .16em; }
.section h2 { margin: 17px 0 22px; max-width: 1120px; font-family: var(--display); font-size: clamp(42px,6vw,92px); line-height: 1; letter-spacing: -.055em; text-wrap: balance; }
.section-intro { max-width: 900px; margin: 0; color: var(--muted); font-size: clamp(18px,1.45vw,21px); line-height: 1.9; }

.direct { background: #f1f0ec; color: #090c12; }
.direct .section-label { color: #5143a8; font-weight: 700; }
.direct .section-intro { color: #626875; }
.answer-grid { margin-top: 56px; display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid #d8d8d5; }
.answer { min-height: 220px; padding: 25px; border-right: 1px solid #d8d8d5; background: rgba(255,255,255,.35); }
.answer:last-child { border-right: 0; }
.answer small { color: #555c69; font: 700 10px var(--mono); letter-spacing: .15em; }
.answer h3 { margin: 30px 0 13px; font-size: clamp(21px,1.55vw,25px); line-height: 1.35; }
.answer p { margin: 0; color: #555c69; font-size: 15px; line-height: 1.82; }

.fde-banner { padding: 28px var(--pad) clamp(82px,9vw,126px); background: #f1f0ec; color: #090c12; }
.fde-banner-inner { position: relative; width: min(100%,var(--max)); margin: 0 auto; padding: clamp(30px,4.4vw,66px); display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.52fr); gap: 44px 70px; overflow: hidden; border: 1px solid rgba(11,15,22,.14); border-radius: 30px; background: linear-gradient(132deg,#0a0f17 0%,#0c1520 54%,#11121d 100%); color: #fff; box-shadow: 0 45px 110px rgba(16,18,24,.16); isolation: isolate; }
.fde-banner-inner::before { content: ""; position: absolute; z-index: -1; width: 70%; height: 190%; right: -20%; top: -48%; background: conic-gradient(from 210deg,transparent 6%,var(--c1),var(--c2),var(--c3),var(--c4),transparent 62%); opacity: .22; filter: blur(62px); transform: rotate(-8deg); }
.fde-banner-copy { max-width: 860px; }
.fde-banner .section-label { color: var(--c1); }
.fde-banner h2 { margin: 18px 0 22px; font-family: var(--display); font-size: clamp(38px,4.7vw,76px); line-height: 1.02; letter-spacing: -.055em; }
.fde-banner-copy > p { max-width: 760px; margin: 0; color: #c5cbd6; font-size: clamp(16px,1.3vw,19px); line-height: 1.9; }
.fde-banner-copy > a { margin-top: 28px; display: inline-flex; align-items: center; gap: 13px; color: #fff; font-size: 14px; font-weight: 900; }
.fde-banner-copy > a span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; }
.fde-orbit { position: relative; align-self: center; width: min(100%,390px); aspect-ratio: 1; justify-self: end; display: grid; place-items: center; }
.fde-orbit::before,.fde-orbit::after { content: ""; position: absolute; inset: 7%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.fde-orbit::after { inset: 24%; border-style: dashed; border-color: rgba(var(--accent-rgb),.65); animation: orbit 18s linear infinite reverse; }
.fde-orbit i { width: 34%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: #080b10; background: linear-gradient(125deg,var(--c1),var(--c2),var(--c3),var(--c4)); box-shadow: 0 0 54px rgba(var(--accent-rgb),.4); font: 900 clamp(22px,3vw,42px) var(--mono); font-style: normal; }
.fde-orbit span { position: absolute; color: #8f98a8; font: 9px var(--mono); letter-spacing: .14em; }
.fde-orbit span:nth-child(1) { top: 1%; left: 50%; transform: translateX(-50%); }
.fde-orbit span:nth-child(2) { right: 0; bottom: 20%; }
.fde-orbit span:nth-child(3) { left: -1%; bottom: 20%; }
.fde-steps { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.12); }
.fde-steps article { min-height: 118px; padding: 26px 22px 0; display: grid; grid-template-columns: 42px 1fr; gap: 15px; border-right: 1px solid rgba(255,255,255,.1); }
.fde-steps article:last-child { border-right: 0; }
.fde-steps b { color: var(--accent); font: 11px var(--mono); }
.fde-steps h3 { margin: 0 0 7px; font-size: 19px; }
.fde-steps p { margin: 0; color: #969eac; font-size: 14px; line-height: 1.7; }

.route-section { overflow: hidden; background: radial-gradient(circle at 50% 26%,rgba(113,69,188,.09),transparent 35%),#070a10; }
.route-heading { max-width: 970px; margin-inline: auto; text-align: center; }
.route-question { width: fit-content; margin: 22px auto 26px; padding: 10px 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: #d8dce5; background: rgba(255,255,255,.045); font-size: 14px; font-weight: 800; letter-spacing: .04em; }
.route-heading h2 { margin-inline: auto; }
.route-heading h2 em { color: #fff; font-style: normal; text-shadow: 0 0 30px rgba(255,255,255,.15); }
.route-heading .section-intro { margin-inline: auto; }
.route-decision { position: relative; margin-top: 62px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.route-card { --r1:#ff3c2f; --r2:#d91879; position: relative; min-height: 680px; padding: clamp(27px,3.2vw,48px); display: flex; flex-direction: column; overflow: hidden; isolation: isolate; border: 1px solid rgba(255,255,255,.15); border-radius: 28px; color: #f7f8fb; background: linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.012) 47%),#0a0e16; box-shadow: 0 38px 100px rgba(0,0,0,.32); transition: transform .45s cubic-bezier(.2,.75,.2,1),border-color .35s ease,box-shadow .35s ease; }
.route-card::before { content: ""; position: absolute; z-index: -2; inset: -40% -25% 22%; opacity: .54; background: conic-gradient(from 205deg,transparent,var(--r1),var(--r2),transparent 48%); filter: blur(76px); transition: transform .7s ease,opacity .5s ease; }
.route-card::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; opacity: .56; background-image: linear-gradient(130deg,rgba(255,255,255,.12),transparent 22% 62%,rgba(255,255,255,.04)),var(--route-visual),repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.025) 80px); background-repeat: no-repeat,no-repeat,repeat; background-size: 100% 100%,cover,80px 100%; background-position: center,center top,center; filter: saturate(1.08) contrast(1.05); -webkit-mask-image: linear-gradient(#000 0 35%,rgba(0,0,0,.7) 54%,transparent 78%); mask-image: linear-gradient(#000 0 35%,rgba(0,0,0,.7) 54%,transparent 78%); transition: opacity .55s ease,filter .55s ease,transform .7s cubic-bezier(.2,.75,.2,1); }
.route-card:hover { transform: translateY(-8px); border-color: color-mix(in srgb,var(--r1) 58%,white 10%); box-shadow: 0 50px 130px rgba(0,0,0,.45),0 0 0 1px color-mix(in srgb,var(--r1) 32%,transparent); }
.route-card:hover::before { transform: rotate(14deg) scale(1.12); opacity: .76; }
.route-card:hover::after { opacity: .72; filter: saturate(1.2) contrast(1.08) brightness(1.05); transform: scale(1.015); }
.route-card.sales { --r1:#ff382c; --r2:#e31c78; --route-visual:url('route-sales-cinematic-v2.webp'); }
.route-card.service { --r1:#25d8b7; --r2:#4d55e8; --route-visual:url('route-service-cinematic-v2.webp'); }
.route-card > * { position: relative; z-index: 1; }
.route-card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.route-card-top b { color: #aeb5c3; font: 10px var(--mono); letter-spacing: .18em; }
.route-card-top i { padding: 8px 12px; border: 1px solid color-mix(in srgb,var(--r1) 56%,white 6%); border-radius: 999px; color: #fff; background: color-mix(in srgb,var(--r1) 15%,transparent); font-size: 12px; font-style: normal; font-weight: 900; }
.route-type { margin: 54px 0 16px; display: block; color: #fff; font-family: var(--display); font-size: clamp(78px,8.2vw,126px); font-weight: 900; line-height: .8; letter-spacing: -.1em; text-shadow: 0 0 34px color-mix(in srgb,var(--r1) 54%,transparent); }
.route-card-copy { margin-top: auto; }
.route-card-copy > small { color: color-mix(in srgb,var(--r1) 72%,white); font: 10px var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.route-card h3 { margin: 15px 0 18px; max-width: 540px; font-family: var(--display); font-size: clamp(39px,4vw,62px); line-height: 1.02; letter-spacing: -.055em; }
.route-card p { max-width: 580px; margin: 0; color: #cbd0d9; font-size: 16px; line-height: 1.86; }
.route-match { margin-top: 25px; padding: 20px; border: 1px solid rgba(255,255,255,.11); border-radius: 16px; background: rgba(3,6,11,.42); backdrop-filter: blur(12px); }
.route-match strong { display: block; margin-bottom: 11px; color: #fff; font-size: 13px; }
.route-match ul { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.route-match li { position: relative; padding-left: 22px; color: #d7dbe4; font-size: 14px; line-height: 1.55; }
.route-match li::before { content: ""; position: absolute; left: 0; top: .65em; width: 12px; height: 2px; background: linear-gradient(90deg,var(--r1),var(--r2)); box-shadow: 0 0 12px var(--r1); }
.route-link { min-height: 58px; margin-top: 24px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid color-mix(in srgb,var(--r1) 46%,white 5%); border-radius: 12px; color: #fff; background: linear-gradient(90deg,color-mix(in srgb,var(--r1) 22%,transparent),color-mix(in srgb,var(--r2) 13%,transparent)); font-size: 15px; font-weight: 900; letter-spacing: .03em; transition: background .3s ease,border-color .3s ease; }
.route-card:hover .route-link { border-color: color-mix(in srgb,var(--r1) 70%,white 8%); background: linear-gradient(90deg,color-mix(in srgb,var(--r1) 36%,transparent),color-mix(in srgb,var(--r2) 24%,transparent)); }
.route-link b { font: 20px var(--mono); }
.route-or { position: absolute; z-index: 5; left: 50%; top: 86px; width: 72px; height: 72px; transform: translateX(-50%); display: grid; place-content: center; gap: 1px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: #fff; background: #090d14; box-shadow: 0 0 0 10px rgba(7,10,16,.78),0 18px 48px rgba(0,0,0,.5); text-align: center; }
.route-or b { font: 800 17px var(--mono); letter-spacing: .08em; }
.route-or small { color: #949caa; font-size: 9px; }

.process { position: relative; padding-top: 18px; }
.process::before { content: ""; position: absolute; inset: 8% 0 auto; height: 620px; pointer-events: none; background: radial-gradient(circle at 50% 45%,rgba(var(--accent-rgb),.12),transparent 58%); filter: blur(40px); }
.process-grid { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 58px; padding: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 28px; background: rgba(255,255,255,.1); box-shadow: 0 50px 130px rgba(0,0,0,.34); }
.process-card { position: relative; min-height: 510px; padding: 28px 30px 34px; display: grid; grid-template-rows: 235px 1fr; background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012) 50%),#0a0e15; overflow: hidden; isolation: isolate; transition: transform .35s ease,background .35s ease; }
.process-card::before { content: ""; position: absolute; z-index: -1; width: 270px; height: 270px; right: -120px; top: -125px; border-radius: 50%; background: conic-gradient(from 50deg,transparent,var(--c2),var(--c3),transparent 64%); opacity: .1; filter: blur(32px); transition: opacity .35s ease,transform .55s ease; }
.process-card:hover { z-index: 2; background: linear-gradient(145deg,rgba(var(--accent-rgb),.1),rgba(255,255,255,.018) 55%),#0a0e15; }
.process-card:hover::before { opacity: .28; transform: rotate(30deg) scale(1.1); }
.process-copy { align-self: end; position: relative; z-index: 2; }
.process-card small { color: var(--accent); font: 10px var(--mono); letter-spacing: .16em; }
.process-card h3 { margin: 19px 0 14px; font-size: clamp(28px,2.05vw,34px); line-height: 1.28; letter-spacing: -.025em; }
.process-card p { max-width: 43ch; margin: 0; color: #c1c6d0; font-size: 16px; line-height: 1.88; }
.process-art { position: relative; width: 100%; height: 218px; padding: 13px 4px 18px; display: grid; place-items: center; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.08); }
.process-art::before { content: ""; position: absolute; inset: 18px 8% 18px; border-radius: 50%; background: radial-gradient(circle,rgba(var(--accent-rgb),.1),transparent 64%); filter: blur(12px); }
.process-art svg { position: relative; z-index: 1; width: min(100%,340px); height: 178px; overflow: visible; }
.process-art svg * { vector-effect: non-scaling-stroke; }
.process-art svg .ghost { fill: none; stroke: rgba(255,255,255,.18); stroke-width: 1.25; }
.process-art svg .ghost.dash { stroke-dasharray: 4 7; animation: orbit 18s linear infinite; transform-origin: 78px 84px; }
.process-art svg .soft { fill: none; stroke: rgba(255,255,255,.36); stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.process-art svg .accent { fill: none; stroke: url(#pgrad1); stroke-width: 2.35; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 8px rgba(var(--accent-rgb),.35)); }
.process-art-2 svg .accent { stroke: url(#pgrad2); }
.process-art-3 svg .accent { stroke: url(#pgrad3); }
.process-art-4 svg .accent { stroke: url(#pgrad4); }
.process-art-5 svg .accent { stroke: url(#pgrad5); }
.process-art-6 svg .accent { stroke: url(#pgrad6); }
.process-art svg .fill { fill: var(--accent); stroke: none; filter: drop-shadow(0 0 10px rgba(var(--accent-rgb),.55)); }
.process-art svg .fill-soft { fill: rgba(var(--accent-rgb),.055); }
.process-art svg text { fill: #969eac; font: 8px var(--mono); letter-spacing: .12em; }
.process-art svg text.strong { fill: #f4f6fa; font-weight: 800; }
.process-art svg text.timecode { fill: #f4f6fa; font: 700 20px var(--mono); letter-spacing: -.03em; }
.process-art .art-index { position: absolute; z-index: 2; right: 4px; top: 3px; color: rgba(255,255,255,.08); font: 800 64px var(--mono); letter-spacing: -.07em; }
@keyframes orbit { to { transform: rotate(360deg); } }

.industry-section { padding-block: clamp(92px,8vw,122px); background: #f1f0ec; color: #090c12; }
.industry-head { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(320px,.62fr); gap: 46px; align-items: end; }
.industry-head .section-label { color: var(--accent); }
.industry-head h2 { max-width: 820px; margin-bottom: 0; font-size: clamp(42px,4.65vw,72px); }
.industry-head > p { margin: 0; color: #5e6571; font-size: 17px; line-height: 1.9; }
.industry-notice { margin-top: 42px; padding: 18px 22px; display: flex; justify-content: space-between; gap: 24px; border: 1px solid #d9d9d5; border-radius: 14px; color: #676e79; background: rgba(255,255,255,.55); font-size: 14px; line-height: 1.6; }
.industry-notice strong { color: #0e131b; }
.industry-filters { margin: 24px 0 30px; display: flex; flex-wrap: wrap; gap: 8px; }
.industry-filter { cursor: pointer; min-height: 44px; padding: 0 17px; border: 1px solid #d3d4d2; border-radius: 999px; background: #fff; color: #5e6470; font-size: 13px; font-weight: 800; }
.industry-filter:hover { border-color: rgba(var(--accent-rgb),.55); }
.industry-filter.active { color: #fff; border-color: #111722; background: #111722; box-shadow: inset 3px 0 var(--accent); }
.industry-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.industry-grid:not(.show-all):not(.filtered) .industry-card:nth-child(n+10) { display: none; }
.industry-card { min-width: 0; overflow: hidden; border: 1px solid rgba(20,25,34,.15); border-radius: 24px; background: rgba(255,255,255,.9); box-shadow: 0 24px 70px rgba(10,14,22,.08),0 1px 0 rgba(255,255,255,.9) inset; transition: transform .42s cubic-bezier(.2,.75,.2,1),border-color .35s ease,box-shadow .42s ease; }
.industry-card:hover { transform: translateY(-7px); border-color: rgba(var(--accent-rgb),.48); box-shadow: 0 38px 100px rgba(10,14,22,.16),0 0 0 1px rgba(var(--accent-rgb),.12); }
.industry-card[hidden] { display: none !important; }
.industry-art { position: relative; aspect-ratio: 5 / 4; overflow: hidden; isolation: isolate; background-color: #04070c; transform: translateZ(0); transition: filter .42s ease,transform .55s cubic-bezier(.2,.75,.2,1); }
.industry-card:hover .industry-art { filter: saturate(1.13) contrast(1.04) brightness(1.04); transform: scale(1.018); }
.industry-art--pictogram { background-image: var(--industry-atlas); background-repeat: no-repeat; background-size: 600% 500%; background-position: var(--sprite-x) var(--sprite-y); }
.industry-art--pictogram::before { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; border: 1px solid rgba(255,255,255,.11); background: radial-gradient(circle at 74% 14%,rgba(255,255,255,.15),transparent 22%),linear-gradient(180deg,rgba(2,5,9,.04) 42%,rgba(2,5,9,.8) 100%),linear-gradient(125deg,rgba(255,255,255,.09),transparent 22% 70%,rgba(var(--accent-rgb),.14)); box-shadow: inset 0 0 60px rgba(0,0,0,.18),inset 0 -54px 76px rgba(1,3,7,.48); }
.industry-art--pictogram::after { content: ""; position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 19px; height: 2px; opacity: .88; background: linear-gradient(90deg,var(--c1),var(--c2),var(--c3),transparent); box-shadow: 0 0 18px rgba(var(--accent-rgb),.55); transform-origin: left; transition: transform .5s ease; }
.industry-card:hover .industry-art--pictogram::after { transform: scaleX(.68); }
.industry-art-code { position: absolute; z-index: 3; left: 17px; top: 15px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.82); background: rgba(3,6,11,.58); box-shadow: 0 8px 28px rgba(0,0,0,.28); backdrop-filter: blur(10px); font: 8px var(--mono); letter-spacing: .14em; }
.industry-art-index { position: absolute; z-index: 3; right: 17px; bottom: 25px; color: rgba(255,255,255,.82); font: 800 25px var(--mono); letter-spacing: -.06em; text-shadow: 0 3px 18px #000,0 0 16px rgba(var(--accent-rgb),.34); }
.industry-card-copy { padding: 25px 25px 28px; }
.industry-card-copy > small { color: var(--accent); font: 10px var(--mono); letter-spacing: .12em; }
.industry-card-copy h3 { min-height: 64px; margin: 15px 0 20px; font-size: clamp(23px,1.8vw,29px); line-height: 1.25; letter-spacing: -.025em; }
.industry-card-copy dl { margin: 0; display: grid; gap: 13px; }
.industry-card-copy dl div { display: grid; grid-template-columns: 98px 1fr; gap: 12px; padding-top: 13px; border-top: 1px solid #e3e3df; }
.industry-card-copy dt { color: #747b87; font-size: 12px; font-weight: 800; }
.industry-card-copy dd { margin: 0; color: #3f4652; font-size: 14px; line-height: 1.72; }
.industry-card-copy > p { margin: 20px 0 0; padding: 15px 16px; border-left: 2px solid var(--accent); background: #f3f3f0; color: #5b626e; font-size: 13px; line-height: 1.75; }
.industry-toggle { cursor: pointer; width: min(100%,520px); min-height: 58px; margin: 34px auto 0; padding: 0 22px; display: flex; align-items: center; justify-content: center; gap: 18px; border: 1px solid #cfd1d2; border-radius: 999px; background: #fff; color: #111722; font-weight: 900; }
.industry-toggle i { font: 20px var(--mono); font-style: normal; transition: transform .25s ease; }
.industry-toggle[aria-expanded="true"] i { transform: rotate(45deg); }

.faq-section { background: #0a0e15; }
.faq-grid { margin-top: 52px; border-top: 1px solid var(--line); }
.faq-grid details { border-bottom: 1px solid var(--line); }
.faq-grid summary { cursor: pointer; list-style: none; min-height: 86px; padding: 25px 68px 25px 0; position: relative; display: flex; align-items: center; font-size: clamp(18px,1.7vw,25px); font-weight: 850; line-height: 1.5; }
.faq-grid summary::-webkit-details-marker { display: none; }
.faq-grid summary::after { content: "+"; position: absolute; right: 4px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--accent); font: 20px var(--mono); }
.faq-grid details[open] summary::after { content: "−"; }
.faq-grid details p { max-width: 980px; margin: 0; padding: 0 66px 28px 0; color: #b8beca; font-size: 16px; line-height: 1.9; }

.evidence { background: #f1f0ec; color: #090c12; }
.evidence .section-label { color: var(--accent); }
.evidence .section-intro { color: #636975; }
.evidence-layout { margin-top: 56px; display: grid; grid-template-columns: .9fr 1.1fr; min-height: 650px; border: 1px solid #d9d9d5; background: #fff; }
.evidence-visual { position: relative; min-height: 650px; overflow: hidden; background: #121722; }
.evidence-visual img { width: 100%; height: 100%; object-fit: cover; }
.evidence-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,rgba(5,7,10,.92)); }
.visual-caption { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 28px; color: #fff; }
.visual-caption small { color: var(--c1); font: 9px var(--mono); letter-spacing: .15em; }
.visual-caption h3 { margin: 13px 0 0; max-width: 480px; font-size: clamp(27px,3vw,46px); line-height: 1.15; }
.dashboard { padding: clamp(28px,4vw,54px); }
.dashboard-head { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid #ddd; color: #858b96; font: 9px var(--mono); letter-spacing: .14em; }
.dashboard h3 { margin: 30px 0 10px; font-size: clamp(28px,3vw,46px); line-height: 1.2; }
.dashboard > p { margin: 0 0 24px; color: #5f6673; font-size: 15px; line-height: 1.85; }
.dashboard-list { display: grid; }
.dashboard-item { display: grid; grid-template-columns: 50px 1fr auto; gap: 16px; align-items: start; padding: 20px 0; border-top: 1px solid #e4e4e1; }
.dashboard-item:first-child { border-top: 0; }
.dashboard-item b { color: var(--accent); font: 700 10px var(--mono); }
.dashboard-item h4 { margin: 0 0 7px; font-size: 18px; line-height: 1.45; }
.dashboard-item p { margin: 0; color: #686f7b; font-size: 14px; line-height: 1.75; }
.dashboard-item span { padding: 6px 8px; border-radius: 999px; background: #f0f1f1; color: #777d87; font: 8px var(--mono); letter-spacing: .08em; }

.library-head { display: grid; grid-template-columns: 1fr .68fr; gap: 36px; align-items: end; margin-bottom: 52px; }
.library-head p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.9; }
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.filter { cursor: pointer; min-height: 42px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); font-size: 12px; font-weight: 700; }
.filter.active { color: #090b10; border-color: transparent; background: linear-gradient(100deg,var(--c1),var(--c2),var(--c3)); }
.feedback-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.feedback-group { border: 1px solid var(--line); background: rgba(255,255,255,.018); }
.feedback-group-head { padding: 25px 26px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.feedback-group-head h3 { margin: 0; font-size: clamp(22px,2.2vw,34px); }
.feedback-group-head span { color: var(--dim); font: 9px var(--mono); letter-spacing: .13em; }
.feedback-item { border-bottom: 1px solid var(--line); }
.feedback-item:last-child { border-bottom: 0; }
.feedback-item[hidden] { display: none; }
.feedback-item summary { cursor: pointer; list-style: none; min-height: 92px; padding: 22px 52px 22px 25px; position: relative; display: grid; grid-template-columns: 58px 1fr; gap: 16px; align-items: start; }
.feedback-item summary::-webkit-details-marker { display: none; }
.feedback-item summary::after { content: "+"; position: absolute; top: 25px; right: 24px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--accent); font: 17px var(--mono); transition: .2s; }
.feedback-item[open] summary::after { content: "−"; transform: rotate(180deg); }
.feedback-item summary:hover { background: rgba(var(--accent-rgb),.055); }
.time { color: var(--accent); font: 10px var(--mono); letter-spacing: .08em; }
.summary-title { font-size: 17px; font-weight: 800; line-height: 1.55; }
.feedback-body { padding: 0 25px 26px 99px; color: var(--muted); }
.feedback-body dl { margin: 0; display: grid; gap: 12px; }
.feedback-body div { display: grid; grid-template-columns: 92px 1fr; gap: 12px; }
.feedback-body dt { color: var(--dim); font: 9px var(--mono); letter-spacing: .1em; }
.feedback-body dd { margin: 0; font-size: 15px; line-height: 1.85; }
.feedback-body blockquote { margin: 20px 0 0; padding: 17px 19px; border-left: 2px solid var(--accent); background: rgba(var(--accent-rgb),.075); color: #e9ebf1; font-size: 15px; line-height: 1.85; }

.personas { margin-top: 46px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.persona { min-height: 145px; padding: 22px; border: 1px solid var(--line); background: rgba(255,255,255,.02); }
.persona small { color: var(--accent); font: 9px var(--mono); letter-spacing: .14em; }
.persona h3 { margin: 22px 0 8px; font-size: 20px; }
.persona p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }

.timeline { background: #f1f0ec; color: #090c12; }
.timeline .section-label { color: #5143a8; font-weight: 700; }
html[data-mode="sales"] .timeline .section-label,
html[data-mode="sales"] .timeline-card:not(.accent) .timeline-code { color: #a31332; }
html[data-mode="service"] .timeline .section-label,
html[data-mode="service"] .timeline-card:not(.accent) .timeline-code { color: #08766d; }
.timeline .section-intro { color: #626875; }
.timeline-grid { margin-top: 56px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #d9d9d5; }
.timeline-card { min-height: 460px; padding: clamp(30px,4vw,58px); background: #fff; }
.timeline-card + .timeline-card { border-left: 1px solid #d9d9d5; }
.timeline-card.accent { color: #fff; background: #0d1118; }
.timeline-code { color: var(--accent); font: 10px var(--mono); letter-spacing: .14em; }
.timeline-card:not(.accent) .timeline-code { color: #5143a8; font-weight: 700; }
.timeline-card h3 { margin: 28px 0 20px; font-family: var(--display); font-size: clamp(39px,5vw,72px); line-height: .98; letter-spacing: -.05em; }
.timeline-card > p { color: #676d78; line-height: 1.8; }
.timeline-card.accent > p { color: #bdc2cd; }
.timeline-card ol { margin: 30px 0 0; padding: 0; list-style: none; counter-reset: item; display: grid; gap: 13px; }
.timeline-card li { counter-increment: item; display: grid; grid-template-columns: 30px 1fr; gap: 12px; color: #414650; line-height: 1.65; }
.timeline-card.accent li { color: #d1d5de; }
.timeline-card li::before { content: counter(item,decimal-leading-zero); color: var(--accent); font: 10px var(--mono); padding-top: 4px; }

.cta { text-align: center; position: relative; overflow: hidden; }
.cta::before { content: ""; position: absolute; inset: 10% 15%; background: conic-gradient(from 120deg,var(--c1),var(--c2),var(--c3),var(--c4),var(--c1)); filter: blur(120px); opacity: .15; }
.cta .section-inner { position: relative; }
.cta h2 { margin-inline: auto; max-width: 1050px; }
.cta .section-intro { margin-inline: auto; }
.cta .actions { justify-content: center; }
.fineprint { margin-top: 18px; color: var(--dim); font-size: 11px; line-height: 1.7; }

.footer { padding: 34px var(--pad) calc(34px + env(safe-area-inset-bottom)); display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); color: var(--dim); font: 9px var(--mono); letter-spacing: .11em; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .75s ease,transform .75s ease; }
.reveal.on { opacity: 1; transform: none; }

@media (max-width: 1080px) {
  .site-nav { grid-template-columns: 1fr auto; }
  .nav-links { display: none; }
  .hero-inner { grid-template-columns: 1fr; }
  .hero-copy { max-width: 900px; }
  .signal-console { width: min(100%,760px); transform: none; }
  .answer-grid { grid-template-columns: repeat(2,1fr); }
  .answer { border-bottom: 1px solid #d8d8d5; }
  .answer:nth-child(2n) { border-right: 0; }
  .answer:last-child { grid-column: 1/-1; border-bottom: 0; }
  .fde-banner-inner { grid-template-columns: 1fr minmax(260px,.48fr); }
  .fde-steps { grid-template-columns: 1fr; }
  .fde-steps article { min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .fde-steps article:last-child { border-bottom: 0; }
  .process-grid { grid-template-columns: repeat(2,1fr); }
  .route-card { min-height: 650px; }
  .route-type { font-size: clamp(74px,10vw,110px); }
  .industry-head { grid-template-columns: 1fr; align-items: start; }
  .industry-grid { grid-template-columns: repeat(2,1fr); }
  .evidence-layout { grid-template-columns: 1fr; }
  .evidence-visual { min-height: 520px; }
  .feedback-columns { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  :root { --pad: 20px; }
  html { scroll-padding-top: 88px; }
  body::after { display: none; }
  .site-nav { inset: max(8px,env(safe-area-inset-top)) 8px auto; min-height: 56px; padding: 7px 8px 7px 10px; border-radius: 14px; }
  .brand img { width: 30px; height: 30px; }
  .brand-copy strong { font-size: 11px; }
  .brand-copy span { display: none; }
  .nav-cta { min-height: 44px; padding: 0 15px; font-size: 12px; }
  .nav-links { display: none; }
  .hero { min-height: auto; padding-top: 112px; padding-bottom: 62px; }
  .hero::before { background: linear-gradient(180deg,rgba(7,9,13,.76),rgba(7,9,13,.96) 68%,var(--bg)); }
  .hero-inner { gap: 42px; }
  .eyebrow { font-size: 9px; line-height: 1.6; letter-spacing: .14em; }
  .hero h1 { margin: 18px 0 22px; font-size: clamp(38px,10.5vw,48px); line-height: 1.02; letter-spacing: -.052em; text-wrap: pretty; }
  .hero h1 span, .hero h1 .prism { white-space: normal; }
  .mobile-break { display: block; }
  .hero-lead { font-size: 17px; line-height: 1.9; }
  .hero-note { margin-top: 16px; font-size: 14px; line-height: 1.8; }
  .actions { display: grid; grid-template-columns: 1fr; }
  .button { width: 100%; min-height: 56px; font-size: 14px; }
  .signal-console { min-height: 0; padding: 15px; border-radius: 18px; transform: none; }
  .console-time { display: none; }
  .waveform { height: 70px; gap: 2px; }
  .waveform i { width: 2px; min-width: 2px; animation: none; }
  .waveform i:nth-child(n+49) { display: none; }
  .utterance { grid-template-columns: 1fr; gap: 5px; font-size: 14px; }
  .speaker { font-size: 9px; }
  .insight-row { grid-template-columns: 1fr; }
  .insight { min-height: 0; padding: 15px; }
  .insight b { font-size: 14px; }
  .section { padding-block: 72px; }
  .section h2 { font-size: clamp(36px,9.8vw,46px); line-height: 1.05; }
  .section-intro { font-size: 17px; line-height: 1.85; }
  .answer-grid, .route-decision, .process-grid, .timeline-grid { grid-template-columns: 1fr; }
  .answer-grid { margin-top: 36px; overflow: hidden; border-radius: 18px; }
  .answer { min-height: 0; padding: 28px 23px; border-right: 0; }
  .answer h3 { margin-top: 22px; font-size: 23px; }
  .answer p { font-size: 16px; }
  .answer:last-child { grid-column: auto; }
  .fde-banner { padding: 14px var(--pad) 76px; }
  .fde-banner-inner { padding: 28px 20px; grid-template-columns: 1fr; gap: 28px; border-radius: 21px; }
  .fde-banner h2 { font-size: clamp(34px,9.4vw,45px); }
  .fde-banner-copy > p { font-size: 16px; }
  .fde-orbit { display: none; }
  .fde-steps { margin-top: 4px; }
  .fde-steps article { grid-template-columns: 36px 1fr; }
  .route-heading { text-align: left; }
  .route-question { margin-inline: 0; font-size: 12px; }
  .route-heading .section-intro { margin-inline: 0; }
  .route-decision { margin-top: 38px; display: flex; flex-direction: column; gap: 14px; }
  .route-card { min-height: 0; padding: 25px 21px 22px; border-radius: 20px; }
  .route-card-top { align-items: flex-start; }
  .route-card-top b { max-width: 145px; line-height: 1.6; }
  .route-card-top i { flex: 0 0 auto; }
  .route-type { margin: 36px 0 20px; font-size: clamp(72px,23vw,94px); }
  .route-card h3 { font-size: clamp(39px,11vw,50px); }
  .route-card p { font-size: 16px; }
  .route-match { padding: 17px 16px; }
  .route-match li { font-size: 14px; }
  .route-link { min-height: 54px; padding-inline: 16px; font-size: 14px; }
  .route-or { position: relative; left: auto; top: auto; width: 54px; height: 54px; margin: 0 auto; transform: none; box-shadow: 0 0 0 7px rgba(7,10,16,.92),0 14px 36px rgba(0,0,0,.5); }
  .process-grid { margin-top: 40px; border-radius: 19px; }
  .process-card { min-height: 0; padding: 18px 20px 29px; grid-template-rows: 166px 1fr; }
  .process-card h3 { margin: 18px 0 12px; font-size: 27px; }
  .process-card p { font-size: 16px; line-height: 1.9; }
  .process-art { height: 158px; padding-inline: 0; }
  .process-art svg { width: 100%; height: 142px; }
  .process-art .art-index { font-size: 52px; }
  .industry-head { gap: 25px; }
  .industry-head > p { font-size: 16px; }
  .industry-notice { margin-top: 30px; display: grid; gap: 5px; font-size: 13px; }
  .industry-filters { overflow: visible; flex-wrap: wrap; gap: 7px; padding-bottom: 0; }
  .industry-filter { flex: 0 0 auto; min-height: 46px; padding-inline: 15px; }
  .industry-grid { grid-template-columns: 1fr; }
  .industry-art { aspect-ratio: 16 / 10; }
  .industry-art-code { left: 13px; top: 13px; font-size: 7px; }
  .industry-art-index { right: 14px; bottom: 19px; font-size: 22px; }
  .industry-card-copy { padding: 23px 20px 25px; }
  .industry-card-copy h3 { min-height: 0; font-size: 26px; }
  .industry-card-copy dl div { grid-template-columns: 1fr; gap: 6px; }
  .industry-card-copy dt { font-size: 12px; }
  .industry-card-copy dd { font-size: 16px; }
  .industry-card-copy > p { font-size: 15px; }
  .faq-grid { margin-top: 34px; }
  .faq-grid summary { min-height: 74px; padding: 20px 52px 20px 0; font-size: 18px; }
  .faq-grid summary::after { right: 0; width: 34px; height: 34px; }
  .faq-grid details p { padding: 0 0 24px; font-size: 16px; }
  .evidence-layout { margin-top: 38px; }
  .evidence-visual { min-height: 0; aspect-ratio: 4 / 3; }
  .visual-caption { left: 20px; right: 20px; bottom: 20px; }
  .visual-caption h3 { font-size: 28px; }
  .dashboard { padding: 25px 20px; }
  .dashboard-item { grid-template-columns: 38px 1fr; }
  .dashboard > p { font-size: 16px; }
  .dashboard-item h4 { font-size: 18px; }
  .dashboard-item p { font-size: 15px; }
  .dashboard-item span { display: none; }
  .library-head { grid-template-columns: 1fr; margin-bottom: 34px; }
  .filters { overflow: visible; flex-wrap: wrap; gap: 7px; padding-bottom: 0; }
  .filter { flex: 0 0 auto; min-height: 44px; }
  .feedback-group { overflow: hidden; border-radius: 16px; }
  .feedback-group-head { align-items: flex-start; padding: 24px 19px; }
  .feedback-group-head span { text-align: right; }
  .feedback-item summary { min-height: 0; padding: 21px 48px 21px 18px; grid-template-columns: 48px 1fr; gap: 11px; }
  .feedback-item summary::after { top: 18px; right: 16px; }
  .feedback-body { padding: 0 18px 25px; }
  .feedback-body div { grid-template-columns: 1fr; gap: 4px; }
  .feedback-body dd, .feedback-body blockquote { font-size: 16px; }
  .personas { grid-template-columns: 1fr; }
  .timeline-card { min-height: 0; }
  .timeline-card + .timeline-card { border-left: 0; border-top: 1px solid #d9d9d5; }
  .cta { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .footer { flex-direction: column; font-size: 11px; line-height: 1.7; }
  .reveal { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 380px) {
  :root { --pad: 16px; }
  .site-nav { left: 6px; right: 6px; }
  .brand-copy strong { font-size: 10px; letter-spacing: .1em; }
  .nav-cta { min-width: 92px; padding-inline: 12px; }
  .hero { padding-top: 104px; }
  .hero h1 { font-size: clamp(35px,10.4vw,41px); }
  .route-card, .fde-banner-inner { padding-left: 17px; padding-right: 17px; }
  .route-card-top { display: grid; justify-items: start; }
  .route-card-top b { max-width: none; }
  .industry-filter, .filter { font-size: 12px; }
  .feedback-item summary { grid-template-columns: 1fr; }
  .feedback-body { padding-inline: 16px; }
}

@media (hover: none) {
  .route-card:hover, .industry-card:hover, .button:hover { transform: none; }
  .route-card:hover::before, .route-card:hover::after, .industry-card:hover .industry-art { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}
