@font-face {
  font-family: "SW Dragz";
  src: url("assets/fonts/62DRAGZ.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

:root {
  --black: #05070a;
  --black-2: #0a0d12;
  --panel: #10141b;
  --white: #f7f9fb;
  --paper: #eef1f4;
  --text: #11151a;
  --muted: #7c8692;
  --line-dark: rgba(255,255,255,.12);
  --line-light: rgba(10,18,26,.13);
  --blue: #0a84ff;
  --blue-2: #29b6f6;
  --orange: #ff6b35;
  --ease: cubic-bezier(.2,.8,.2,1);
  --max: min(1280px, calc(100vw - 56px));
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", Helvetica, Arial, sans-serif;
  --display: var(--font);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; overflow-x: clip; color: var(--white); background: var(--black); font-family: var(--font); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
svg, canvas { display: block; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 999; top: 8px; left: 8px; padding: 10px 14px; color: white; background: var(--blue); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 max(28px, calc((100vw - 1280px) / 2)); border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(5,7,10,.68); backdrop-filter: saturate(150%) blur(24px); }
.brand { display: inline-flex; align-items: center; gap: 12px; line-height: .82; text-transform: uppercase; }
.brand-logo { display: block; width: 68px; height: auto; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 10px 18px rgba(0, 36, 84, .36)); }
.brand-copy { display: block; }
.brand-copy strong { display:block; color:rgba(255,255,255,.94); font-family:"SW Dragz",var(--display); font-size:19px; font-weight:400; letter-spacing:.12em; white-space:nowrap; }
.site-nav { display: flex; align-items: center; gap: 20px; color: rgba(255,255,255,.68); font-size: 11px; font-weight: 600; }
.site-nav a { transition: color .2s; }
.site-nav a:hover { color: white; }
.nav-contact { padding: 10px 15px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: white; background: rgba(255,255,255,.07); }
.nav-contact:hover { background: rgba(255,255,255,.14); }
.menu-toggle { display: none; width: 42px; height: 42px; border: 0; background: transparent; padding: 10px 6px; }
.menu-toggle > span:not(.sr-only) { display: block; width: 28px; height: 1px; margin: 6px 0; background: white; transition: transform .25s, opacity .2s; }

.hero { position: relative; min-height: 780px; height: 100svh; display: grid; grid-template-columns: minmax(0,.9fr) minmax(500px,1.1fr); align-items: center; padding: 110px max(28px, calc((100vw - 1280px) / 2)) 90px; overflow: hidden; isolation: isolate; }
.hero-glow { position: absolute; z-index: -2; top: -22%; right: -15%; width: 72vw; height: 72vw; max-width: 1050px; max-height: 1050px; border-radius: 50%; background: radial-gradient(circle, rgba(10,132,255,.19), rgba(41,182,246,.055) 42%, transparent 69%); filter: blur(14px); }
.hero-grid { position: absolute; z-index: -1; inset: 0; opacity: .19; mask-image: linear-gradient(90deg, transparent 2%, black 70%, transparent); background-image: linear-gradient(rgba(255,255,255,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.11) 1px, transparent 1px); background-size: 72px 72px; transform: perspective(700px) rotateX(64deg) scale(1.55) translateY(24%); transform-origin: bottom; }
.hero-copy { position: relative; z-index: 3; max-width: 690px; }
.eyebrow, .section-label { display: flex; align-items: center; gap: 10px; margin: 0 0 25px; color: var(--blue-2); font-size: 10px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow span { width: 22px; height: 1px; background: currentColor; }
.hero h1 { margin: 0; font-family: var(--display); font-size: clamp(68px, 7.2vw, 112px); font-weight: 400; line-height: .88; letter-spacing: -.055em; }
.hero h1 em { display:block; margin-top:.12em; color: transparent; font-family: inherit; font-size: clamp(30px,3.9vw,54px); font-style: normal; font-weight: 400; line-height:1; letter-spacing: -.035em; white-space:nowrap; background: linear-gradient(100deg, #f6fbff 0%, #49b8ff 45%, #087cff 100%); background-clip: text; -webkit-background-clip: text; }
.hero-lede { max-width: 570px; margin: 35px 0 36px; color: rgba(255,255,255,.58); font-size: 19px; line-height: 1.55; }
.hero-actions { display: flex; align-items: center; gap: 12px; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 0 21px; border-radius: 999px; font-size: 12px; font-weight: 650; transition: transform .25s var(--ease), background .25s, color .25s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: var(--blue); }
.button-primary:hover { background: #2797ff; }
.button-quiet { color: rgba(255,255,255,.72); background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); }
.button-quiet:hover { color: white; background: rgba(255,255,255,.12); }
.hero-visual { position: relative; width: min(720px, 53vw); aspect-ratio: 1; justify-self: end; display: grid; place-items: center; }
.hero-model-canvas { position: absolute; z-index: 3; inset: 3%; width: 94%; height: 94%; outline: 0; background: url("assets/reference/audi-wheel-reference.webp") center/82% auto no-repeat; transition: background .35s; }
.hero-visual.model-loaded .hero-model-canvas { background: none; }
.orbital { position: absolute; inset: 8%; border: 1px solid rgba(93,194,255,.22); border-radius: 50%; transform: rotateX(67deg) rotateZ(15deg); }
.orbital::before, .orbital::after { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--blue-2); box-shadow: 0 0 20px var(--blue-2); }
.orbital::before { top: 17%; left: 10%; }.orbital::after { right: 4%; bottom: 28%; }
.orbital-two { inset: 18%; opacity: .55; transform: rotateX(69deg) rotateZ(-25deg); }
.scan-line { position: absolute; z-index: 5; left: 13%; right: 13%; top: 50%; height: 1px; background: linear-gradient(90deg, transparent, var(--blue-2), transparent); box-shadow: 0 0 19px var(--blue); animation: scan 4s var(--ease) infinite; }
@keyframes scan { 0%,100% { transform: translateY(-150px); opacity: 0; } 20%,80% { opacity: 1; } 50% { transform: translateY(150px); } }

.wheel-model { position: relative; display: grid; place-items: center; perspective: 1200px; }
.hero-wheel { width: 72%; aspect-ratio: 1; }
.wheel-object { position: absolute; inset: 0; transform-style: preserve-3d; }
.hero-wheel .wheel-object { transform: rotateX(62deg) rotateY(-7deg) rotateZ(var(--hero-spin, -12deg)); transition: transform .1s linear; }
.tire-shell { position: absolute; inset: 3%; border: clamp(32px,4vw,60px) solid #0a0c0f; border-radius: 50%; background: radial-gradient(circle, transparent 0 45%, #222832 46% 49%, #080a0d 50% 100%); box-shadow: inset 0 0 0 2px #2f3540, inset 0 0 35px #000, 0 25px 55px rgba(0,0,0,.55), 0 0 0 1px #313743; }
.tire-shell::before { content: ""; position: absolute; inset: calc(clamp(32px,4vw,60px) * -1 + 6px); border: 2px dashed #323943; border-radius: 50%; opacity: .8; }
.tire-shell::after { content: ""; position: absolute; inset: 5%; border-radius: 50%; box-shadow: inset 0 0 32px rgba(0,0,0,.85), 0 0 0 2px #555e68; }
.rim-face { position: absolute; inset: 7%; border: 5px solid #69737e; border-radius: 50%; background: radial-gradient(circle, #0c0f13 0 13%, transparent 14%), radial-gradient(circle at 40% 35%, #4d5661 0, #1e242c 48%, #080a0c 100%); box-shadow: inset 0 0 28px #000, inset 0 0 0 2px #c4ced7; }
.spokes { position: absolute; inset: 0; }
.spokes i { --angle: calc(var(--i) * 36deg); position: absolute; top: 50%; left: 50%; width: 5.4%; height: 39%; border-radius: 12px 12px 3px 3px; background: linear-gradient(90deg, #161b21 0%, #818c97 45%, #252c34 63%, #0b0e12 100%); box-shadow: inset 1px 0 0 rgba(255,255,255,.33), 3px 0 5px rgba(0,0,0,.55); transform-origin: 50% 0; transform: rotate(var(--angle)) translate(-50%, 0) skewX(-7deg); }
.hub { position: absolute; z-index: 5; top: 50%; left: 50%; width: 18%; aspect-ratio: 1; display: grid; place-items: center; border: 4px solid #707b85; border-radius: 50%; color: var(--blue-2); background: radial-gradient(circle at 40% 35%, #2c333c, #080a0d 72%); font-size: 11px; font-weight: 800; transform: translate(-50%,-50%); box-shadow: 0 0 0 5px #11161c, 0 5px 15px #000; }
.lug-ring { position: absolute; z-index: 6; inset: 38%; }
.lug-ring b { position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: #a6afb8; box-shadow: inset 0 0 2px #000; transform: rotate(calc(var(--n) * 72deg)) translateY(-26px); }
.lug-ring b:nth-child(1){--n:0}.lug-ring b:nth-child(2){--n:1}.lug-ring b:nth-child(3){--n:2}.lug-ring b:nth-child(4){--n:3}.lug-ring b:nth-child(5){--n:4}
.data-chip { position: absolute; z-index: 8; min-width: 148px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(12,16,22,.62); backdrop-filter: blur(18px); box-shadow: 0 12px 35px rgba(0,0,0,.28); }
.data-chip small, .data-chip span { display: block; color: rgba(255,255,255,.39); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.data-chip strong { display: block; margin: 7px 0 4px; font-size: 22px; font-weight: 550; letter-spacing: -.04em; }
.chip-top { top: 17%; right: 0; }.chip-bottom { left: 2%; bottom: 17%; }
.hero-status { position: absolute; right: max(28px, calc((100vw - 1280px) / 2)); bottom: 35px; display: flex; gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.04); backdrop-filter: blur(12px); }
.hero-status div { min-width: 105px; padding: 11px 14px; }
.hero-status div + div { border-left: 1px solid rgba(255,255,255,.1); }
.hero-status span { color: var(--blue-2); font-size: 9px; }.hero-status p { margin: 2px 0 0; color: rgba(255,255,255,.54); font-size: 11px; }
.scroll-cue { position: absolute; left: max(28px, calc((100vw - 1280px) / 2)); bottom: 37px; display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.36); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.scroll-cue span { width: 34px; height: 1px; background: rgba(255,255,255,.28); }

.manifesto { position: relative; z-index: 2; padding: 160px max(28px, calc((100vw - 1280px) / 2)); color: var(--text); background: var(--white); }
.manifesto-inner { max-width: 1040px; margin: 0 auto 110px; text-align: center; }
.section-label { justify-content: center; color: #167dca; }
.manifesto h2, .feature-heading h2, .analyzer-heading h2, .confidence h2, .contact h2 { margin: 0; font-family: var(--display); font-size: clamp(54px, 6.4vw, 94px); font-weight: 400; line-height: .97; letter-spacing: -.045em; }
.manifesto h2 span, .feature-heading h2 span, .analyzer-heading h2 span, .confidence h2 span { color: #9aa3ac; }
.manifesto-inner > p:last-child { max-width: 690px; margin: 34px auto 0; color: #66717d; font-size: 20px; }
.story-anchor { height: 0; scroll-margin-top: 72px; }
.story { position: relative; height: 360vh; min-height: 2500px; background: var(--black); }
.story-sticky { position: sticky; top: 0; height: 100svh; min-height: 720px; overflow: hidden; }
.story-ambient { position: absolute; inset: 0; background: radial-gradient(circle at 65% 50%, rgba(10,132,255,.16), transparent 42%), linear-gradient(110deg, transparent 0 62%, rgba(255,255,255,.025) 62% 62.2%, transparent 62.2%); }
.story-progress { position: absolute; z-index: 8; top: 50%; right: 30px; width: 2px; height: 140px; background: rgba(255,255,255,.12); transform: translateY(-50%); }
.story-progress span { position: absolute; left: 0; top: 0; width: 100%; height: var(--story-progress,0%); background: var(--blue-2); box-shadow: 0 0 12px var(--blue); }
.story-wheel-wrap { position: absolute; left: 47%; top: 50%; width: min(670px, 50vw); aspect-ratio: 1; transform: translateY(-50%); }
.story-canvas { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; }
.precision-ring { position: absolute; z-index: 1; inset: 5%; border: 1px solid rgba(83,184,255,.18); border-radius: 50%; transform: rotateX(68deg) rotateZ(12deg); }
.precision-ring::before, .precision-ring::after { content: ""; position: absolute; inset: 12%; border: 1px dashed rgba(255,255,255,.12); border-radius: 50%; }.precision-ring::after { inset: 28%; }
.precision-ring span { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--blue-2); box-shadow: 0 0 12px var(--blue-2); }.precision-ring span:nth-child(1){top:5%;left:48%}.precision-ring span:nth-child(2){right:4%;top:48%}.precision-ring span:nth-child(3){bottom:5%;left:48%}.precision-ring span:nth-child(4){left:4%;top:48%}
.measure-line { position: absolute; z-index: 2; opacity: .28; }.line-x { left: 5%; right: 5%; top: 50%; height: 1px; background: linear-gradient(90deg,transparent,var(--blue-2),transparent); transform: rotate(-34deg); }.line-x::before,.line-x::after { content:""; position:absolute; top:50%; width:7px; height:7px; border:1px solid var(--blue-2); transform:translateY(-50%) rotate(45deg); }.line-x::before{left:8%}.line-x::after{right:8%}.line-y { display:none; }
.cad-label { position: absolute; z-index: 6; left: var(--anchor-x,50%); top: var(--anchor-y,50%); min-width: 105px; padding: 7px 9px; border: 1px solid rgba(93,194,255,.22); border-radius: 4px; color: rgba(255,255,255,.62); background: rgba(7,11,16,.78); box-shadow: 0 7px 24px rgba(0,0,0,.2); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 8px; letter-spacing: .09em; white-space: nowrap; text-transform: uppercase; opacity: var(--cad-label-opacity,0); transition: opacity .3s; }
.cad-label i { position: absolute; top: 50%; width: 58px; height: 1px; background: rgba(93,194,255,.42); }
.cad-label i::after { content:""; position:absolute; top:50%; width:5px; height:5px; border:1px solid var(--blue-2); border-radius:50%; background:#07101a; transform:translateY(-50%); box-shadow:0 0 9px rgba(41,182,246,.55); }
.label-tire,.label-brake { transform: translate(58px,-50%); }
.label-tire i,.label-brake i { right:100%; }
.label-tire i::after,.label-brake i::after { left:-3px; }
.label-rim { transform: translate(calc(-100% - 58px),-50%); }
.label-rim i { left:100%; }
.label-rim i::after { right:-3px; }
.story-steps { position: absolute; z-index: 7; left: max(28px, calc((100vw - 1280px) / 2)); top: 50%; width: min(530px, 41vw); transform: translateY(-50%); }
.story-step { position: absolute; left: 0; top: 50%; width: 100%; opacity: 0; pointer-events: none; transform: translateY(calc(-50% + 45px)); transition: opacity .55s var(--ease), transform .65s var(--ease); }
.story-step.active { opacity: 1; transform: translateY(-50%); }
.step-number { margin: 0 0 22px; color: var(--blue-2); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.story-step h2 { margin: 0; font-size: clamp(52px, 5.4vw, 82px); font-weight: 590; line-height: .95; letter-spacing: -.06em; }
.story-step > p:not(.step-number) { max-width: 510px; margin: 28px 0; color: rgba(255,255,255,.52); font-size: 17px; }
.story-step ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }.story-step li { padding: 8px 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.57); font-size: 10px; }
.story-readout { position: absolute; z-index: 7; right: max(42px, calc((100vw - 1280px) / 2)); bottom: 34px; display: grid; grid-template-columns: auto auto; gap: 1px 22px; text-align: right; }.story-readout span { grid-column: 1 / -1; color: rgba(255,255,255,.3); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }.story-readout strong { font-size: 16px; font-weight: 500; }.story-readout small { align-self: center; color: var(--blue-2); font-size: 10px; }

.feature-heading { max-width: 1050px; margin: 0 auto 80px; text-align: center; }.feature-heading .section-label, .analyzer-heading .section-label { justify-content: center; }
.feature-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.feature-card { position: relative; min-height: 560px; overflow: hidden; border-radius: 28px; background: white; box-shadow: 0 25px 65px rgba(32,42,52,.07); }
.feature-card-large { grid-column: 1 / -1; min-height: 610px; background: linear-gradient(135deg,#fff 0%,#edf5fb 100%); }
.feature-card-copy { position: relative; z-index: 3; max-width: 560px; padding: 48px; }.feature-card-copy > span { color: var(--blue); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }.feature-card h3 { margin: 18px 0 14px; font-family:var(--display); font-size: clamp(38px,4vw,60px); font-weight:400; line-height: 1; letter-spacing: -.035em; }.feature-card p { margin: 0; color: #6f7a85; font-size: 16px; }
.geometry-3d { position: absolute; right: -1%; top: 0; bottom: 0; width: 65%; overflow: hidden; background: radial-gradient(circle at 55% 50%,rgba(116,190,241,.2),rgba(210,229,242,.08) 40%,transparent 68%),url("assets/reference/mercedes-amg-wheel-reference.webp") center/68% auto no-repeat; transition: background .35s; }
.geometry-3d::before { content:""; position:absolute; z-index:0; left:10%; right:2%; bottom:9%; height:18%; border-radius:50%; background:radial-gradient(ellipse,rgba(15,28,40,.22),transparent 67%); filter:blur(12px); transform:scaleY(.34); }
.geometry-3d.loaded { background: radial-gradient(circle at 55% 50%,rgba(116,190,241,.2),rgba(210,229,242,.08) 40%,transparent 68%); }
.geometry-3d canvas { position:absolute; z-index:1; inset:0; width:100%; height:100%; outline:0; }
.geometry-3d-caption { position:absolute; z-index:2; right:42px; bottom:35px; display:grid; gap:2px; padding-left:12px; border-left:1px solid rgba(10,132,255,.36); text-align:left; text-transform:uppercase; }
.geometry-3d-caption span { color:#71808d; font-family:ui-monospace,monospace; font-size:8px; letter-spacing:.14em; }
.geometry-3d-caption b { color:#147cc9; font-size:10px; letter-spacing:.1em; }
.feature-card-dark { color: white; background: #0b1016; }.feature-card-dark p { color: rgba(255,255,255,.5); }.crack-viz { position: absolute; left: 0; right: 0; bottom: 0; height: 48%; background: radial-gradient(circle at 50% 110%,rgba(10,132,255,.22),transparent 60%); }.crack-viz::before { content:""; position:absolute; left:50%; bottom:-15%; width:240px; height:240px; border:42px solid #29313a; border-radius:50%; transform:translateX(-50%); }.crack-viz i { position:absolute; z-index:2; left:50%; top:12%; width:3px; height:130px; background:linear-gradient(var(--orange),transparent); transform:rotate(18deg); box-shadow:0 0 15px var(--orange); }.crack-viz b { position:absolute; left:50%; top:21%; width:8px; height:8px; border-radius:50%; background:var(--orange); box-shadow:0 0 25px var(--orange); }.crack-viz span { position:absolute; right:28px; bottom:24px; color:rgba(255,255,255,.35); font-family:ui-monospace,monospace; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.feature-card-photo { color: white; background: #0b1016; }.feature-photo { position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,7,10,.95),rgba(3,7,10,.05) 70%),url("assets/wheel-repair-hero.webp") center/cover; transform:scale(1.02); }.feature-card-photo .feature-card-copy { position:absolute; left:0; bottom:0; }.feature-card-photo p { color:rgba(255,255,255,.59); }

.analyzer { padding: 150px max(28px, calc((100vw - 1440px) / 2)); background: #06090d; }
.analyzer-heading { max-width: 980px; margin: 0 auto 80px; text-align: center; }.analyzer-heading h2 { color:white; }.analyzer-heading > p:last-child { max-width:680px; margin:28px auto 0; color:rgba(255,255,255,.47); font-size:17px; }
.analyzer-shell { max-width: 1440px; min-height: 700px; margin: 0 auto; display: grid; grid-template-columns: 230px minmax(480px,1fr) 350px; border: 1px solid rgba(255,255,255,.11); border-radius: 24px; overflow: hidden; background: #0a0e14; box-shadow: 0 40px 100px rgba(0,0,0,.35); }
.damage-selector { padding: 12px; border-right: 1px solid var(--line-dark); }.damage-option { width:100%; display:grid; grid-template-columns:27px 1fr; gap:2px 8px; padding:17px 14px; border:0; border-radius:13px; text-align:left; background:transparent; cursor:pointer; transition:background .22s; }.damage-option + .damage-option { margin-top:4px; }.damage-option:hover { background:rgba(255,255,255,.05); }.damage-option.active { background:rgba(10,132,255,.15); box-shadow:inset 0 0 0 1px rgba(64,170,255,.22); }.damage-option > span { grid-row:1 / span 2; color:rgba(255,255,255,.3); font-family:ui-monospace,monospace; font-size:9px; }.damage-option.active > span { color:var(--blue-2); }.damage-option b { font-size:13px; font-weight:600; }.damage-option small { color:rgba(255,255,255,.36); font-size:10px; }
.analysis-stage { position:relative; min-height:700px; overflow:hidden; background:radial-gradient(circle at 50% 46%,rgba(20,112,183,.14),transparent 44%),#090d12; }.stage-grid { position:absolute; inset:0; opacity:.15; background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size:50px 50px; mask-image:radial-gradient(circle,black,transparent 75%); }.stage-meta { position:absolute; z-index:5; top:24px; left:25px; right:25px; display:flex; justify-content:space-between; color:rgba(255,255,255,.38); font-family:ui-monospace,monospace; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }.stage-meta strong { color:var(--blue-2); font-weight:500; }.axis { position:absolute; z-index:1; opacity:.18; }.axis-horizontal { left:7%; right:7%; top:50%; border-top:1px dashed var(--blue-2); }.axis-vertical { top:9%; bottom:9%; left:50%; border-left:1px dashed var(--blue-2); }
.wheel-viewer { position:absolute; z-index:3; inset:55px 0 65px; }.wheel-viewer canvas { width:100%; height:100%; outline:0; touch-action:none; cursor:grab; }.wheel-viewer canvas:active { cursor:grabbing; }.viewer-loading { position:absolute; left:50%; top:50%; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.45); font-size:10px; transform:translate(-50%,-50%); transition:opacity .3s; }.viewer-loading.hidden { opacity:0; pointer-events:none; }.viewer-loading span { width:14px; height:14px; border:1px solid rgba(255,255,255,.18); border-top-color:var(--blue-2); border-radius:50%; animation:spin 1s linear infinite; } @keyframes spin{to{transform:rotate(360deg)}}
.wheel-viewer { background:url("assets/reference/audi-wheel-reference.webp") center/74% auto no-repeat; transition:background .35s; }
.wheel-viewer.loaded { background:none; }
.viewer-hint { position:absolute; z-index:6; left:50%; bottom:2px; padding:7px 11px; border:1px solid rgba(255,255,255,.09); border-radius:999px; color:rgba(255,255,255,.32); background:rgba(5,8,12,.55); font-size:9px; transform:translateX(-50%); white-space:nowrap; }.viewer-toolbar { position:absolute; z-index:8; left:24px; bottom:25px; display:flex; gap:7px; }.viewer-toolbar button { padding:9px 12px; border:1px solid rgba(255,255,255,.12); border-radius:8px; color:rgba(255,255,255,.56); background:rgba(8,12,17,.72); font-size:9px; cursor:pointer; }.viewer-toolbar button:hover,.viewer-toolbar button[aria-pressed="true"] { color:white; border-color:rgba(41,182,246,.4); background:rgba(10,132,255,.18); }.viewer-toolbar button span { display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:var(--blue-2); box-shadow:0 0 8px var(--blue); }
.rotation-note { position:absolute; z-index:5; right:25px; bottom:29px; margin:0; color:rgba(255,255,255,.28); font-size:9px; }
.analysis-panel { position:relative; z-index:3; padding:36px 30px; border-left:1px solid var(--line-dark); background:rgba(13,18,25,.96); }.analysis-status { display:flex; align-items:center; gap:9px; color:var(--blue-2); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }.pulse { width:7px; height:7px; border-radius:50%; background:var(--blue-2); box-shadow:0 0 0 0 rgba(41,182,246,.5); animation:pulse 2s infinite; } @keyframes pulse{50%{box-shadow:0 0 0 7px rgba(41,182,246,0)}}
.analysis-kicker { margin:70px 0 8px; color:rgba(255,255,255,.35); font-family:ui-monospace,monospace; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }.analysis-panel h3 { margin:0 0 20px; font-family:var(--display); font-size:42px; font-weight:400; line-height:1; letter-spacing:-.035em; }.analysis-panel > p:not(.analysis-kicker) { margin:0; color:rgba(255,255,255,.5); font-size:14px; }.repair-path { margin-top:42px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); }.repair-path > span { color:rgba(255,255,255,.34); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }.repair-path ol { margin:17px 0 0; padding:0; list-style:none; counter-reset:steps; }.repair-path li { position:relative; padding:13px 0 13px 32px; border-bottom:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.72); font-size:12px; counter-increment:steps; }.repair-path li::before { content:"0" counter(steps); position:absolute; left:0; color:var(--blue-2); font-family:ui-monospace,monospace; font-size:9px; }.analysis-disclaimer { position:absolute; left:30px; right:30px; bottom:28px; color:rgba(255,255,255,.25); font-size:9px; }

.confidence { position:relative; min-height:680px; display:grid; place-items:center; padding:130px 28px; overflow:hidden; text-align:center; background:radial-gradient(circle at 50% 35%,rgba(10,132,255,.18),transparent 42%),linear-gradient(180deg,#070a0f,#05070a); }.confidence::before { content:""; position:absolute; inset:0; opacity:.14; background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px); background-size:72px 72px; mask-image:radial-gradient(circle,black,transparent 72%); }.confidence-inner { position:relative; z-index:1; max-width:1120px; }.confidence .section-label { color:var(--blue-2); }.confidence h2 { color:white; }.confidence h2 span { color:rgba(255,255,255,.38); }.confidence-inner > p:last-child { max-width:700px; margin:34px auto 0; color:rgba(255,255,255,.5); font-size:18px; }
.contact { position:relative; min-height:780px; display:grid; place-items:center; padding:130px 28px; overflow:hidden; color:var(--text); background:#f7f9fb; text-align:center; }.contact-glow { position:absolute; top:50%; left:50%; width:900px; height:900px; border-radius:50%; background:radial-gradient(circle,rgba(10,132,255,.16),rgba(41,182,246,.04) 45%,transparent 70%); transform:translate(-50%,-50%); }.contact-inner { position:relative; z-index:2; max-width:980px; }.contact h2 { color:#11161c; }.contact-inner > p:not(.section-label) { max-width:660px; margin:30px auto 45px; color:#6e7883; font-size:18px; }.contact-link { max-width:760px; margin:0 auto; display:grid; grid-template-columns:1fr auto 44px; align-items:center; gap:20px; padding:13px 14px 13px 22px; border:1px solid rgba(11,22,32,.11); border-radius:999px; text-align:left; background:rgba(255,255,255,.72); box-shadow:0 18px 55px rgba(24,60,90,.09); backdrop-filter:blur(12px); transition:transform .25s var(--ease),box-shadow .25s; }.contact-link:hover { transform:translateY(-3px); box-shadow:0 24px 60px rgba(24,60,90,.14); }.contact-link span { color:#18212a; font-size:13px; font-weight:650; }.contact-link b { color:#78838e; font-size:12px; font-weight:500; }.contact-link i { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--blue); font-style:normal; }
.site-footer { min-height:260px; display:grid; grid-template-columns:1fr 1fr; gap:35px; align-items:start; padding:65px max(28px,calc((100vw - 1280px)/2)) 35px; border-top:1px solid rgba(255,255,255,.1); background:var(--black); }.brand-footer { align-self:start; }.brand-footer .brand-logo { width:min(230px,52vw); filter:drop-shadow(0 18px 34px rgba(0,66,150,.28)); }.brand-footer .brand-copy { display:none; }.footer-statement { display:grid; gap:7px; text-align:right; }.footer-statement strong { color:rgba(255,255,255,.82); font-family:var(--display); font-size:22px; font-weight:400; }.footer-statement span { color:rgba(255,255,255,.34); font-size:11px; }.footer-meta { grid-column:1 / -1; align-self:end; display:flex; justify-content:space-between; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.28); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }.footer-meta a:hover{color:white}

html.motion-ready .reveal { opacity:0; transform:translateY(38px); transition:opacity .8s var(--ease),transform .9s var(--ease); }.reveal.in-view { opacity:1!important; transform:none!important; }

@media (max-width: 1120px) {
  .hero { grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr); }.hero h1{font-size:clamp(64px,7.5vw,94px)}.data-chip{display:none}
  .story-wheel-wrap{left:44%;width:54vw}.story-steps{width:43vw}
  .label-tire{transform:translate(calc(-100% - 48px),-50%)}.label-tire i{left:100%;right:auto;width:48px}.label-tire i::after{left:auto;right:-3px}
  .label-rim{transform:translate(48px,-50%)}.label-rim i{left:auto;right:100%;width:48px}.label-rim i::after{left:-3px;right:auto}
  .analyzer-shell{grid-template-columns:190px minmax(410px,1fr) 300px}.analysis-panel{padding:30px 23px}.analysis-panel h3{font-size:36px}.analysis-disclaimer{left:23px;right:23px}
}

@media (max-width: 880px) {
  :root { --max:min(100% - 32px,680px); }
  .site-header{height:64px;padding:0 16px}.menu-toggle{display:block;z-index:4}.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .site-nav{position:fixed;z-index:3;inset:auto;top:0;left:0;width:100vw;height:100svh;min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px;padding:80px 28px;background:#070b10;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s}.menu-open .site-nav{opacity:1;visibility:visible;pointer-events:auto}.site-nav a{width:100%;padding:8px 0;font-size:28px;font-weight:550;letter-spacing:-.03em}.site-nav .nav-contact{width:auto;margin-top:15px;padding:11px 16px;font-size:13px}
  .hero{height:auto;min-height:920px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:130px 20px 95px}.hero-copy{max-width:680px}.hero h1{font-size:clamp(62px,14vw,90px)}.hero-lede{max-width:600px}.hero-visual{width:min(600px,100vw);margin:-20px auto -20px;align-self:center}.hero-status{left:16px;right:16px;bottom:25px}.hero-status div{flex:1;min-width:0}.scroll-cue{display:none}
  .manifesto{padding:110px 20px}.manifesto-inner{margin-bottom:70px}
  .story{height:330vh;min-height:2300px}.story-sticky{min-height:760px}.story-wheel-wrap{left:50%;top:28%;width:min(480px,90vw);transform:translate(-50%,-50%)}.story-steps{left:20px;right:20px;top:auto;bottom:70px;width:auto;transform:none}.story-step{top:auto;bottom:0;transform:translateY(35px)}.story-step.active{transform:none}.story-step h2{font-size:clamp(42px,10vw,62px)}.story-step>p:not(.step-number){max-width:650px;margin:18px 0;font-size:14px}.story-readout{right:20px;bottom:24px;display:none}.story-progress{right:12px}.cad-label{display:none}
  .analyzer{padding:110px 20px}.feature-grid{grid-template-columns:1fr}.feature-card-large{grid-column:auto}.feature-card{min-height:520px}.geometry-3d{top:auto;width:90%;height:65%;right:-15%}.feature-card-copy{padding:34px}.confidence{min-height:600px;padding:100px 20px}
  .analyzer-shell{grid-template-columns:1fr;min-height:0}.damage-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;border-right:0;border-bottom:1px solid var(--line-dark)}.damage-option{grid-template-columns:1fr;padding:12px;text-align:center}.damage-option>span{grid-row:auto}.damage-option small{display:none}.damage-option+.damage-option{margin-top:0}.analysis-stage{min-height:610px}.analysis-panel{min-height:540px;border-left:0;border-top:1px solid var(--line-dark)}.analysis-disclaimer{position:static;margin-top:35px}.rotation-note{display:none}
  .contact{min-height:700px;padding:100px 20px}.site-footer{padding-inline:20px}
}

@media (max-width: 560px) {
  .hero h1 em{font-size:clamp(29px,8vw,44px)}
  .site-header .brand-logo{width:50px}.brand-copy strong{font-size:13px;letter-spacing:.09em}.hero{min-height:850px;padding-top:110px}.hero h1{font-size:clamp(55px,15vw,74px)}.hero-lede{margin:25px 0;font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{width:118vw;margin:-25px -9vw -5px}.hero-status div{padding:10px 8px}.hero-status p{font-size:9px}
  .manifesto h2,.feature-heading h2,.analyzer-heading h2,.confidence h2,.contact h2{font-size:clamp(43px,12vw,61px)}.manifesto-inner>p:last-child{font-size:17px}
  .story-wheel-wrap{top:26%;width:105vw}.story-steps{bottom:54px}.story-step h2{font-size:43px}.story-step ul{gap:5px}.story-step li{padding:6px 8px;font-size:8px}.story-step>p:not(.step-number){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .feature-card{min-height:490px;border-radius:20px}.feature-card-copy{padding:28px}.feature-card h3{font-size:39px}.geometry-3d{width:125%;height:59%;right:-35%}.geometry-3d-caption{right:24px;bottom:20px}
  .damage-selector{grid-template-columns:1fr 1fr}.damage-option{grid-template-columns:22px 1fr;text-align:left}.damage-option>span{grid-row:auto}.analysis-stage{min-height:480px}.stage-meta{left:15px;right:15px}.viewer-toolbar{left:14px;bottom:14px}.viewer-toolbar button{padding:8px}.viewer-hint{display:none}.analysis-panel{min-height:500px;padding:28px 22px}.analysis-kicker{margin-top:35px}.analysis-panel h3{font-size:38px}
  .contact-link{grid-template-columns:1fr 40px;border-radius:20px;text-align:left}.contact-link span{font-size:14px}.contact-link b{grid-column:1 / -1;grid-row:2;font-size:11px}.contact-link i{grid-column:2;grid-row:1 / span 2;width:40px;height:40px}.site-footer{grid-template-columns:1fr}.footer-statement{text-align:left}.footer-meta{flex-direction:column;gap:10px}
}

@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}.scan-line,.viewer-loading span,.pulse{animation:none}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Cinematic experience pass */
.hero-film { position: absolute; z-index: -4; inset: 0; overflow: hidden; background: #05070a; }
.hero-film video { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .58; filter: saturate(.58) contrast(1.1) brightness(.82); transform: scale(1.28) translateX(10.5%); }
.hero-film-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,5,8,.92) 0%, rgba(3,5,8,.76) 43%, rgba(3,5,8,.38) 76%, rgba(3,5,8,.45) 100%), linear-gradient(0deg, rgba(3,5,8,.72), transparent 46%, rgba(3,5,8,.34)); }
.hero-proof { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 27px; }
.hero-proof span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.54); background: rgba(3,7,12,.32); backdrop-filter: blur(12px); font-size: 9px; letter-spacing: .055em; text-transform: uppercase; }
.hero-proof b { color: var(--blue-2); font-size: 10px; font-weight: 750; }

.expertise-film { position: relative; min-height: 900px; display: grid; align-items: end; padding: 150px max(28px, calc((100vw - 1280px) / 2)); overflow: hidden; isolation: isolate; background: #05070a; }
.expertise-media { position: absolute; z-index: -3; inset: 0; background: #07090c url("assets/video/lamborghini-wheel-story.jpg") center / cover no-repeat; }
.expertise-media video { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.62) contrast(1.15) brightness(.72); transform: scale(1.02); }
.expertise-shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(3,5,8,.93) 0%, rgba(3,5,8,.72) 49%, rgba(3,5,8,.45) 72%, rgba(3,5,8,.72) 100%), linear-gradient(0deg, rgba(3,5,8,.95) 0%, rgba(3,5,8,.18) 62%, rgba(3,5,8,.56) 100%); }
.expertise-layout { width: 100%; max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,1fr) minmax(340px,430px); gap: clamp(60px,8vw,130px); align-items: end; }
.expertise-copy { max-width: 760px; }
.expertise-copy h2 { margin: 0; font-family: var(--display); font-size: clamp(55px,6.4vw,92px); font-weight: 400; line-height: .94; letter-spacing: -.048em; }
.expertise-copy h2 span { color: rgba(255,255,255,.53); }
.expertise-copy > p:last-child { max-width: 670px; margin: 32px 0 0; color: rgba(255,255,255,.65); font-size: 18px; line-height: 1.65; }
.expertise-spec { overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: rgba(8,12,17,.54); box-shadow: 0 30px 100px rgba(0,0,0,.34); backdrop-filter: blur(22px) saturate(120%); }
.expertise-spec div { display: grid; gap: 5px; padding: 24px 25px; }
.expertise-spec div + div { border-top: 1px solid rgba(255,255,255,.11); }
.expertise-spec small { color: var(--blue-2); font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.expertise-spec strong { color: rgba(255,255,255,.94); font-family: var(--display); font-size: 25px; font-weight: 450; letter-spacing: -.025em; }
.expertise-spec span { color: rgba(255,255,255,.42); font-size: 11px; }

.contact { color: var(--white); background: #05070a; isolation: isolate; }
.contact-media { position: absolute; z-index: 0; inset: 0; background: #05070a url("assets/video/bmw-contact.jpg") center / cover no-repeat; }
.contact-media video { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.78) contrast(1.08) brightness(.82); transform: scale(1.02); }
.contact-shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(3,5,8,.58), rgba(3,5,8,.26), rgba(3,5,8,.58)), linear-gradient(0deg, rgba(3,5,8,.66), rgba(3,5,8,.08) 52%, rgba(3,5,8,.48)); }
.contact .contact-glow { z-index: 1; background: radial-gradient(circle,rgba(10,132,255,.19),rgba(41,182,246,.04) 45%,transparent 70%); mix-blend-mode: screen; }
.contact .contact-inner { z-index: 2; }
.contact .section-label { justify-content: center; }
.contact h2 { color: var(--white); text-wrap: balance; }
.contact .contact-inner > p:not(.section-label) { color: rgba(255,255,255,.64); }
.contact .contact-link { border-color: rgba(255,255,255,.2); color: white; background: rgba(6,11,17,.58); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.contact .contact-link:hover { box-shadow: 0 28px 75px rgba(0,0,0,.38); }
.contact .contact-link span { color: rgba(255,255,255,.96); }
.contact .contact-link b { color: rgba(255,255,255,.48); }

.hero { grid-template-columns: minmax(0,1fr); }
.hero-copy { width: 100%; max-width: 980px; }
.hero h1 { max-width: 940px; font-size: clamp(76px,9.2vw,138px); }
.hero-lede { max-width: 760px; font-size: 20px; }
.capability-system { padding-top: 120px; padding-bottom: 125px; }
.capability-system .manifesto-inner { margin-bottom: 65px; }
.manufacturing-callout { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 55px; align-items: start; padding: 42px 46px; border-radius: 24px; color: white; background: linear-gradient(135deg,#0a0f15,#121a23); box-shadow: 0 25px 70px rgba(18,32,45,.14); }
.manufacturing-callout > span { padding-top: 8px; color: var(--blue-2); font-size: 10px; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.manufacturing-callout h3 { margin: 0; font-family: var(--display); font-size: clamp(30px,3.4vw,50px); font-weight: 400; line-height: 1.08; letter-spacing: -.035em; }
.capability-system .feature-grid { margin-top: 22px; padding-top: 0; border-top: 0; }
.capability-system .feature-card-large { min-height: 520px; }
.capability-system .feature-card:not(.feature-card-large) { min-height: 480px; }

@media (max-width: 900px) {
  .hero h1 { font-size: clamp(64px,14vw,100px); }
  .hero-film video { object-position: center; opacity: .46; transform: scale(1.22) translateX(5%); }
  .hero-film-shade { background: linear-gradient(180deg,rgba(3,5,8,.83) 0%,rgba(3,5,8,.58) 52%,rgba(3,5,8,.8) 100%); }
  .manufacturing-callout { grid-template-columns: 1fr; gap: 18px; padding: 34px; }
  .capability-system .feature-grid { margin-top: 18px; padding-top: 0; }
  .expertise-film { min-height: 980px; padding: 110px 20px 90px; }
  .expertise-layout { grid-template-columns: 1fr; gap: 45px; }
  .expertise-spec { max-width: 650px; }
}

@media (max-width: 560px) {
  .hero { min-height: 790px; }
  .hero h1 { font-size: clamp(56px,15vw,78px); }
  .hero-lede { font-size: 16px; }
  .hero-proof { max-width: 330px; margin-top: 20px; }
  .hero-proof span { font-size: 8px; }
  .expertise-film { min-height: 900px; }
  .expertise-copy h2 { font-size: clamp(45px,12vw,61px); }
  .expertise-copy > p:last-child { margin-top: 24px; font-size: 16px; }
  .expertise-spec div { padding: 19px 20px; }
  .contact-media video { object-position: 58% center; }
}

@media (prefers-reduced-motion: reduce) {
  [data-ambient-video] { display: none; }
}

/* Mobile production pass */
@media (max-width: 760px) {
  body { font-size: 15px; }
  .site-header { height: 62px; }
  .brand { gap: 9px; }
  .site-header .brand-logo { width: 58px; }
  .brand-copy strong { max-width: calc(100vw - 145px); overflow: hidden; text-overflow: ellipsis; letter-spacing: .13em; }

  .hero {
    min-height: 760px;
    padding: 102px 18px 82px;
  }
  .hero-film video {
    opacity: .42;
    transform: scale(1.18) translateX(4%);
  }
  .hero-copy { max-width: 560px; }
  .hero h1 {
    font-size: clamp(54px, 15vw, 82px);
    letter-spacing: -.047em;
  }
  .hero h1 em {
    white-space: normal;
  }
  .hero-lede {
    max-width: 33rem;
    margin: 24px 0 25px;
    font-size: 16px;
    line-height: 1.55;
  }
  .hero-actions {
    width: min(100%, 340px);
  }
  .hero-actions .button {
    width: 100%;
    justify-content: space-between;
  }
  .hero-proof {
    max-width: 360px;
    gap: 6px;
  }
  .hero-proof span {
    padding: 6px 9px;
    font-size: 8px;
  }
  .hero-status {
    bottom: 18px;
  }

  .analyzer {
    padding: 86px 14px;
  }
  .analyzer-heading {
    max-width: 560px;
    margin-bottom: 36px;
    text-align: left;
  }
  .analyzer-heading .section-label {
    justify-content: flex-start;
  }
  .analyzer-heading > p:last-child {
    margin: 20px 0 0;
    font-size: 15px;
    line-height: 1.6;
  }
  .analyzer-shell {
    border-radius: 20px;
  }
  .damage-selector {
    position: sticky;
    z-index: 6;
    top: 62px;
    background: rgba(9,13,19,.96);
    backdrop-filter: blur(16px);
  }
  .damage-option {
    min-height: 62px;
    border-radius: 14px;
  }
  .analysis-stage {
    min-height: min(540px, 78svh);
  }
  .wheel-viewer {
    inset: 44px -16px 54px;
    background-size: 82% auto;
  }
  .viewer-toolbar {
    left: 14px;
    bottom: 14px;
  }
  .analysis-panel {
    min-height: 0;
    padding: 28px 22px 34px;
  }
  .analysis-kicker {
    margin-top: 32px;
  }
  .repair-path {
    margin-top: 32px;
  }

  .manifesto,
  .capability-system {
    padding: 86px 16px;
  }
  .manifesto-inner {
    margin-bottom: 42px;
    text-align: left;
  }
  .manifesto-inner .section-label {
    justify-content: flex-start;
  }
  .manifesto h2,
  .feature-heading h2,
  .analyzer-heading h2,
  .confidence h2,
  .contact h2 {
    font-size: clamp(42px, 12vw, 61px);
    letter-spacing: -.038em;
  }
  .manifesto-inner > p:last-child {
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.65;
  }
  .manufacturing-callout {
    padding: 26px 22px;
    border-radius: 20px;
  }
  .manufacturing-callout h3 {
    font-size: clamp(28px, 8vw, 39px);
  }
  .feature-grid {
    gap: 14px;
  }
  .feature-card {
    min-height: 455px;
    border-radius: 20px;
  }
  .capability-system .feature-card-large {
    min-height: 580px;
  }
  .feature-card-copy {
    padding: 26px 22px;
  }
  .feature-card h3 {
    font-size: clamp(34px, 10vw, 45px);
  }
  .geometry-3d {
    right: -20%;
    width: 114%;
    height: 58%;
    background-size: 62% auto;
  }

  .expertise-film {
    min-height: 820px;
    padding: 88px 18px 76px;
  }
  .expertise-copy h2 {
    font-size: clamp(42px, 12vw, 60px);
  }
  .expertise-copy > p:last-child {
    margin-top: 22px;
    font-size: 15px;
  }
  .expertise-spec {
    border-radius: 18px;
  }

  .story {
    height: 300vh;
    min-height: 1880px;
  }
  .story-sticky {
    min-height: 680px;
  }
  .story-wheel-wrap {
    top: 29%;
    width: min(390px, 96vw);
  }
  .story-steps {
    left: 18px;
    right: 18px;
    bottom: 52px;
  }
  .story-step h2 {
    font-size: clamp(37px, 10.5vw, 48px);
  }
  .story-step > p:not(.step-number) {
    max-width: 34rem;
    -webkit-line-clamp: unset;
  }
  .story-step li {
    font-size: 8px;
  }

  .confidence {
    min-height: 540px;
    padding: 84px 18px;
  }
  .confidence-inner > p:last-child {
    font-size: 16px;
  }

  .contact {
    min-height: 620px;
    padding: 86px 18px;
  }
  .contact .contact-inner > p:not(.section-label) {
    margin: 24px auto 30px;
    font-size: 16px;
  }
  .contact-link {
    width: 100%;
  }
  .contact-link b {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 560px) {
  .site-header .brand-logo {
    width: 50px;
  }
  .brand-footer .brand-logo {
    width: min(210px, 68vw);
  }
}

@media (max-width: 400px) {
  .brand-copy strong {
    font-size: 12px;
    letter-spacing: .1em;
  }
  .hero-status span {
    font-size: 8px;
  }
  .hero-status p {
    font-size: 8px;
  }
  .damage-option b {
    font-size: 11px;
  }
  .damage-option > span {
    font-size: 8px;
  }
  .story-wheel-wrap {
    width: 100vw;
  }
}
