:root {
  color-scheme: light;
  --navy-950: #03112d;
  --navy-900: #041a43;
  --navy-800: #05275f;
  --blue-700: #053188;
  --blue-600: #154ba8;
  --blue-300: #9bb7e5;
  --blue-150: #d6e2f5;
  --blue-75: #edf3fc;
  --orange: #fa5c08;
  --orange-dark: #b83a00;
  --orange-soft: #fff0e7;
  --paper: #f4f2eb;
  --white: #fff;
  --ink: #101827;
  --ink-70: #485164;
  --line: rgba(5, 49, 136, .16);
  --success: #087859;
  --danger: #b42318;
  --display: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --body: "Segoe UI", Inter, Arial, sans-serif;
  --mono: "Cascadia Mono", "IBM Plex Mono", Consolas, monospace;
  --shell: min(1220px, calc(100% - 40px));
  --radius-sm: 8px;
  --radius: 16px;
  --radius-lg: 28px;
  --shadow: 0 24px 64px rgba(3, 17, 45, .12);
  --shadow-deep: 0 34px 90px rgba(3, 17, 45, .22);
  --fast: 160ms cubic-bezier(.2, .7, .2, 1);
  --smooth: 520ms cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body { margin: 0; min-width: 320px; background: var(--white); color: var(--ink); font-family: var(--body); font-size: 1rem; line-height: 1.65; overflow-x: clip; }
body.menu-open { overflow: hidden; }
img, picture { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
p, h1, h2, h3, h4, blockquote, dl, dd { margin: 0; }
ul, ol { margin: 0; padding: 0; }
button { color: inherit; }
::selection { color: var(--navy-950); background: #ffb185; }

:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.section--orange :focus-visible { outline-color: var(--navy-950); }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; padding: 12px 18px; border-radius: var(--radius-sm); background: var(--white); color: var(--navy-900); font-weight: 800; transition: top var(--fast); }
.skip-link:focus { top: 16px; }
.shell { width: var(--shell); margin-inline: auto; }
.narrow { max-width: 860px; }

h1, h2, h3 { color: var(--navy-900); font-family: var(--display); font-stretch: condensed; font-weight: 800; letter-spacing: -.035em; line-height: 1.02; text-wrap: balance; }
h1 { font-size: clamp(3.2rem, 6.6vw, 6.4rem); }
h2 { font-size: clamp(2.25rem, 4vw, 4rem); }
h3 { font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.06; }
p { text-wrap: pretty; }
.kicker { display: flex; gap: 11px; align-items: center; margin-bottom: 18px; color: var(--orange-dark); font-family: var(--mono); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.kicker::before { width: 28px; height: 2px; content: ""; background: currentColor; }
.kicker--light { color: #ff8a4c; }
.section { padding: clamp(72px, 7vw, 112px) 0; position: relative; }
.section--paper { background-color: var(--paper); background-image: linear-gradient(rgba(5,49,136,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(5,49,136,.045) 1px, transparent 1px); background-size: 32px 32px; }
.section--night { overflow: hidden; background: var(--navy-900); color: var(--white); }
.section--night::after { position: absolute; inset: auto -10% -40% auto; width: 640px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.02); content: ""; }
.section--night h2, .section--night h3 { color: var(--white); }
.section--orange { background: var(--orange); color: var(--navy-950); }
.section--orange .kicker { color: var(--navy-950); }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 34px; align-items: end; margin-bottom: 48px; }
.section-heading h2 { max-width: 17ch; }
.section-lead { max-width: 62ch; margin-top: 24px; color: var(--ink-70); font-size: clamp(1.05rem, 1.5vw, 1.25rem); }

.utility-bar { position: relative; z-index: 60; background: var(--navy-950); color: #c2d0e8; font-family: var(--mono); font-size: .72rem; letter-spacing: .03em; }
.utility-bar__inner { min-height: 38px; display: flex; gap: 20px; justify-content: space-between; align-items: center; }
.utility-bar__inner p, .utility-bar__inner div { display: flex; gap: 10px; align-items: center; }
.utility-bar a { color: var(--white); font-weight: 700; text-decoration: none; }
.utility-bar a:hover { color: #ff9560; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(250,92,8,.14); }

.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(5,49,136,.1); background: rgba(255,255,255,.94); backdrop-filter: blur(18px); transition: box-shadow var(--fast), background var(--fast); }
.site-header.is-scrolled { box-shadow: 0 12px 36px rgba(3,17,45,.1); background: rgba(255,255,255,.985); }
.site-header__inner { min-height: 84px; display: flex; align-items: center; gap: 34px; }
.wordmark { min-height: 44px; display: inline-flex; flex-direction: column; flex: none; justify-content: center; color: var(--navy-900); text-decoration: none; }
.wordmark__name { font-family: var(--display); font-size: 1.56rem; font-weight: 900; letter-spacing: -.055em; line-height: 1; }
.wordmark__name span { color: var(--orange); }
.wordmark__line { margin-top: 5px; font-family: var(--mono); font-size: .56rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.site-nav { margin-left: auto; display: flex; gap: clamp(16px, 2vw, 28px); align-items: center; }
.site-nav > a:not(.button) { position: relative; min-height: 48px; display: inline-flex; align-items: center; color: var(--navy-900); font-family: var(--display); font-size: .95rem; font-weight: 800; text-decoration: none; }
.site-nav > a:not(.button)::after { position: absolute; right: 0; bottom: 5px; left: 0; height: 2px; content: ""; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform var(--fast); }
.site-nav > a:hover::after, .site-nav > a[aria-current="page"]::after { transform: scaleX(1); }
.menu-toggle { width: 54px; min-height: 50px; margin-left: auto; display: none; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); cursor: pointer; }
.menu-toggle span { width: 19px; height: 2px; display: block; margin: 4px auto; background: var(--navy-900); transition: transform var(--fast), opacity var(--fast); }
.menu-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.button-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.button { min-height: 52px; padding: 13px 20px; display: inline-flex; gap: 11px; justify-content: center; align-items: center; border: 1px solid transparent; border-radius: var(--radius-sm); font-family: var(--display); font-size: .98rem; font-weight: 900; line-height: 1.1; text-align: center; text-decoration: none; cursor: pointer; transition: transform var(--fast), box-shadow var(--fast), color var(--fast), background var(--fast), border-color var(--fast); }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 48px; padding: 11px 16px; }
.button--signal { background: var(--orange); color: var(--navy-950); box-shadow: 0 12px 30px rgba(250,92,8,.23); }
.button--signal:hover { background: #ff7130; box-shadow: 0 16px 34px rgba(250,92,8,.3); }
.button--ink { background: var(--navy-900); color: var(--white); }
.button--ink:hover { background: var(--blue-700); }
.button--glass { border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.06); color: var(--white); }
.button--glass:hover { border-color: var(--white); background: rgba(255,255,255,.12); }
.button--outline { border-color: var(--blue-700); background: transparent; color: var(--blue-700); }
.button--outline:hover { background: var(--blue-700); color: var(--white); }
[data-prepare][aria-disabled="true"], [data-coverage-prepare][aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.text-link { min-height: 48px; display: inline-flex; gap: 9px; align-items: center; color: var(--blue-700); font-family: var(--display); font-weight: 900; text-decoration: none; }
.text-link i { color: var(--orange); font-style: normal; transition: transform var(--fast); }
.text-link:hover i { transform: translateX(3px); }

.hero-home { position: relative; overflow: hidden; padding: clamp(68px, 6vw, 92px) 0 0; background-color: var(--navy-900); background-image: linear-gradient(rgba(147,182,232,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(147,182,232,.07) 1px, transparent 1px); background-size: 42px 42px; color: var(--white); }
.hero-home::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 75% 42%, rgba(21,75,168,.48), transparent 32%), linear-gradient(100deg, rgba(3,17,45,.6), transparent 72%); }
.hero-home__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(370px, .75fr); gap: clamp(44px, 6vw, 96px); align-items: center; }
.hero-copy h1 { max-width: 14ch; color: var(--white); }
.hero-copy h1 em { color: #ff8a4c; font-style: normal; }
.hero-lead { max-width: 57ch; margin: 30px 0 28px; color: #c6d5ed; font-size: clamp(1.1rem, 1.7vw, 1.34rem); }
.hero-note { margin-top: 20px; color: #9fb4d5; font-family: var(--mono); font-size: .72rem; letter-spacing: .025em; }
.hero-ruler { position: relative; z-index: 1; width: var(--shell); min-height: 64px; margin: 58px auto 0; display: grid; grid-template-columns: auto 1fr auto 1fr auto; gap: 16px; align-items: center; color: #91a7c7; font-family: var(--mono); font-size: .65rem; letter-spacing: .1em; }
.hero-ruler i { height: 1px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.3) 0 2px, transparent 2px 8px); }

.signal-panel { position: relative; min-height: 450px; padding: 22px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-lg); background: rgba(3,17,45,.58); box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 36px 80px rgba(0,0,0,.25); backdrop-filter: blur(10px); }
.signal-panel::before { position: absolute; inset: 0; content: ""; background: linear-gradient(110deg, transparent 45%, rgba(255,255,255,.05) 50%, transparent 55%); transform: translateX(120%); animation: panel-scan 1.45s ease-out 1; }
.signal-panel__top { position: relative; z-index: 2; display: flex; justify-content: space-between; color: #8aa2c7; font-family: var(--mono); font-size: .66rem; letter-spacing: .08em; }
.signal-live { display: flex; gap: 7px; align-items: center; color: #d5e2f5; }
.signal-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(250,92,8,.13); }
.signal-field { position: relative; width: min(275px, 86%); aspect-ratio: 1; margin: 30px auto 22px; }
.ring { position: absolute; inset: 50%; border: 1px solid rgba(147,182,232,.25); border-radius: 50%; transform: translate(-50%,-50%); }
.ring--one { width: 100%; height: 100%; border-style: dashed; }
.ring--two { width: 72%; height: 72%; border-color: rgba(250,92,8,.48); box-shadow: 0 0 32px rgba(250,92,8,.08); }
.ring--three { width: 45%; height: 45%; border-style: dashed; }
.signal-core { position: absolute; inset: 50%; width: 92px; height: 92px; display: grid; place-items: center; border: 2px solid var(--orange); border-radius: 50%; background: var(--navy-900); color: var(--white); font-family: var(--display); font-size: 2rem; font-weight: 900; transform: translate(-50%,-50%); box-shadow: 0 0 0 12px rgba(250,92,8,.06), 0 0 42px rgba(250,92,8,.18); }
.trace { position: absolute; height: 2px; background: linear-gradient(90deg, transparent, var(--orange)); transform-origin: right; }
.trace::before { position: absolute; left: 0; top: -4px; width: 10px; height: 10px; border: 2px solid var(--orange); border-radius: 50%; content: ""; background: var(--navy-900); }
.trace--a { width: 34%; top: 30%; left: 3%; transform: rotate(16deg); }
.trace--b { width: 28%; top: 64%; left: 4%; transform: rotate(-12deg); }
.trace--c { width: 30%; top: 25%; right: 2%; transform: rotate(150deg); }
.signal-metrics { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.signal-metrics div { padding: 14px 10px; border-right: 1px solid rgba(255,255,255,.12); }
.signal-metrics div:last-child { border: 0; }
.signal-metrics dt { color: var(--orange); font-family: var(--mono); font-size: .72rem; }
.signal-metrics dd { color: #d2def0; font-size: .76rem; }
.signal-panel > p { position: relative; z-index: 2; margin-top: 18px; color: #92a8c8; font-size: .84rem; text-align: center; }

.trust-strip { border-bottom: 1px solid var(--line); background: var(--white); }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-grid article { min-height: 150px; padding: 28px 24px; display: flex; gap: 16px; align-items: flex-start; border-right: 1px solid var(--line); }
.trust-grid article:first-child { border-left: 1px solid var(--line); }
.trust-grid article > span { color: var(--orange-dark); font-family: var(--mono); font-size: .68rem; }
.trust-grid h2 { margin-bottom: 6px; font-size: 1.15rem; letter-spacing: -.01em; }
.trust-grid p { color: var(--ink-70); font-size: .86rem; line-height: 1.5; }

.availability-strip { border-bottom: 1px solid rgba(147,182,232,.18); background: var(--navy-950); color: var(--white); }
.availability-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.availability-grid article { position: relative; min-height: 132px; padding: 24px 28px; border-right: 1px solid rgba(147,182,232,.16); }
.availability-grid article:first-child { border-left: 1px solid rgba(147,182,232,.16); }
.availability-grid article::before { position: absolute; top: 30px; right: 26px; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(250,92,8,.14); content: ""; }
.availability-grid span { color: #ff8a4c; font-family: var(--mono); font-size: .66rem; font-weight: 700; letter-spacing: .08em; }
.availability-grid h2 { margin-top: 7px; color: var(--white); font-size: 1.2rem; letter-spacing: -.01em; }
.availability-grid p { margin-top: 7px; color: #aebed7; font-size: .8rem; line-height: 1.45; }

.finder-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(330px, .7fr); gap: clamp(42px, 8vw, 120px); align-items: start; }
.finder-grid h2 { max-width: 13ch; }
.finder-options { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 9px; }
.finder-options button { position: relative; min-height: 48px; padding: 10px 15px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--navy-900); font-weight: 700; cursor: pointer; box-shadow: 0 0 0 rgba(3,17,45,0); transition: color var(--fast), background var(--fast), border-color var(--fast), transform var(--fast), box-shadow var(--fast); }
.finder-options button:hover, .finder-options button[aria-pressed="true"] { border-color: var(--navy-900); background: var(--navy-900); color: var(--white); transform: translateY(-2px); box-shadow: 0 10px 26px rgba(3,17,45,.13); }
.finder-options button[aria-pressed="true"]::after { position: absolute; right: 11px; top: 50%; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(250,92,8,.16); content: ""; transform: translateY(-50%); }
.finder-result { position: sticky; top: 122px; min-height: 390px; padding: clamp(28px, 4vw, 48px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius-lg); background: radial-gradient(circle at 22% 15%, rgba(21,75,168,.5), transparent 35%), linear-gradient(145deg, var(--navy-800), var(--navy-950)); color: var(--white); box-shadow: var(--shadow-deep); }
.finder-result::before { position: absolute; left: 40px; top: 40px; width: 120px; height: 120px; border: 1px dashed rgba(255,255,255,.18); border-radius: 50%; content: ""; box-shadow: 0 0 0 28px rgba(255,255,255,.025), 0 0 0 56px rgba(255,255,255,.02); }
.finder-result > * { position: relative; z-index: 1; }
.finder-result > span { margin-bottom: auto; color: #93a9ca; font-family: var(--mono); font-size: .65rem; letter-spacing: .12em; }
.finder-result h3 { color: var(--white); font-size: clamp(2rem, 3vw, 3.1rem); }
.finder-result > p { margin-top: 14px; color: #bdcce3; }
.finder-result dl { margin: 26px 0 10px; padding-top: 18px; display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.14); }
.finder-result dt { color: #879ebf; font-family: var(--mono); font-size: .68rem; text-transform: uppercase; }
.finder-result dd { color: #ff8b50; font-family: var(--mono); font-weight: 700; }
.finder-result .text-link { color: var(--white); }
.finder-result--pulse { animation: result-pulse 360ms ease-out; }

.service-bento { display: grid; grid-template-columns: repeat(12,1fr); gap: 16px; }
.service-card { position: relative; min-height: 300px; padding: 28px; display: flex; flex-direction: column; overflow: hidden; isolation: isolate; border: 1px solid rgba(5,49,136,.18); border-radius: var(--radius); background: linear-gradient(150deg, rgba(255,255,255,.98), rgba(237,243,252,.66)); color: var(--ink); text-decoration: none; box-shadow: 0 1px 0 rgba(255,255,255,.9) inset; transition: border-color var(--fast), transform var(--smooth), box-shadow var(--smooth), background var(--smooth); }
.service-card::before { position: absolute; z-index: -1; right: 28px; bottom: 0; left: 28px; height: 3px; background: linear-gradient(90deg, var(--orange) 0 20%, var(--blue-700) 20% 68%, transparent 68%); content: ""; transform: scaleX(.32); transform-origin: left; opacity: .7; transition: transform var(--smooth), opacity var(--fast); }
.service-card::after { position: absolute; right: -46px; top: -46px; width: 128px; height: 128px; border: 1px solid var(--line); border-radius: 50%; content: ""; box-shadow: 0 0 0 24px rgba(5,49,136,.025); transition: border-color var(--fast), transform var(--fast); }
.service-card:hover { z-index: 2; border-color: rgba(250,92,8,.72); transform: translateY(-6px); box-shadow: 0 26px 66px rgba(3,17,45,.16); }
.service-card:hover::before, .service-card:focus-visible::before { transform: scaleX(1); opacity: 1; }
.service-card:hover::after { border-color: var(--orange); transform: scale(1.08); }
.service-card--1, .service-card--4 { grid-column: span 7; }
.service-card--2, .service-card--3 { grid-column: span 5; }
.service-card:nth-child(5), .service-card:nth-child(6), .service-card:nth-child(7) { grid-column: span 4; }
.service-card:nth-child(1) { min-height: 360px; background: var(--navy-900); color: var(--white); }
.service-card:nth-child(1) h3 { color: var(--white); }
.service-card:nth-child(1) p { color: #b7c7df; }
.service-card:nth-child(1) b { color: #ff8b50; }
.service-card:nth-child(1) .service-card__signal, .service-card:nth-child(1) > div > span { color: #ff8a4c; }
.service-card__signal { color: var(--orange-dark); font-family: var(--mono); font-size: .66rem; letter-spacing: .08em; }
.service-card h3 { max-width: 14ch; margin-top: auto; }
.service-card p { max-width: 50ch; margin-top: 13px; color: var(--ink-70); font-size: .92rem; }
.service-card > div { margin-top: 26px; padding-top: 15px; display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(5,49,136,.13); }
.service-card b, .service-card > div > span { font-family: var(--mono); font-size: .72rem; }
.service-card b { color: var(--blue-700); }
.service-card > div > span { color: var(--orange-dark); font-weight: 700; }

.method-track { position: relative; display: grid; grid-template-columns: repeat(5,1fr); list-style: none; }
.method-track::before { position: absolute; left: 5%; right: 5%; top: 31px; height: 2px; content: ""; background: linear-gradient(90deg, var(--orange), var(--blue-700)); }
.method-track li { position: relative; padding: 0 20px; }
.method-track li:first-child { padding-left: 0; }
.method-track li:last-child { padding-right: 0; }
.method-track span { width: 64px; height: 64px; display: grid; place-items: center; border: 2px solid var(--orange); border-radius: 50%; background: var(--white); color: var(--orange-dark); font-family: var(--mono); font-weight: 700; }
.method-track h3 { margin-top: 28px; font-size: 1.35rem; }
.method-track p { margin-top: 10px; color: var(--ink-70); font-size: .9rem; }

.coverage-teaser__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.8fr) minmax(480px,1.2fr); gap: clamp(54px,9vw,130px); align-items: center; }
.coverage-teaser h2 { max-width: 12ch; }
.coverage-teaser > .shell > div:first-child > p:not(.kicker) { max-width: 54ch; margin: 24px 0 30px; color: #b8c7df; }
.corridor { position: relative; padding: 54px 22px 30px; border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-lg); background: rgba(255,255,255,.04); }
.corridor-line { position: absolute; left: 9%; right: 9%; top: 82px; height: 2px; background: linear-gradient(90deg, rgba(250,92,8,.4), var(--orange), rgba(250,92,8,.35)); }
.corridor ol { position: relative; display: grid; grid-template-columns: repeat(5,1fr); list-style: none; }
.corridor li { display: flex; flex-direction: column; align-items: center; text-align: center; }
.corridor li::before { width: 15px; height: 15px; margin-bottom: 20px; border: 3px solid var(--orange); border-radius: 50%; background: var(--navy-900); content: ""; box-shadow: 0 0 0 7px rgba(250,92,8,.1); }
.corridor li.is-base::before { width: 24px; height: 24px; margin-top: -5px; margin-bottom: 16px; background: var(--orange); box-shadow: 0 0 0 8px rgba(250,92,8,.16); }
.corridor b { color: var(--white); font-family: var(--mono); font-size: .72rem; }
.corridor li span { margin-top: 4px; color: #a9bbd6; font-size: .78rem; }
.corridor > p { margin-top: 36px; color: #8298b9; font-size: .78rem; text-align: center; }

.prices-teaser__grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(500px,1.3fr); gap: clamp(50px,9vw,130px); align-items: start; }
.prices-teaser h2 { max-width: 11ch; }
.prices-teaser .button { margin-top: 30px; }
.price-ledger { border-top: 2px solid var(--navy-900); list-style: none; }
.price-ledger li { min-height: 74px; padding: 14px 0; display: flex; justify-content: space-between; gap: 24px; align-items: center; border-bottom: 1px solid var(--line); }
.price-ledger li span { display: flex; gap: 18px; align-items: center; font-family: var(--display); font-weight: 800; }
.price-ledger i { color: var(--orange-dark); font-family: var(--mono); font-size: .67rem; font-style: normal; }
.price-ledger b { color: var(--blue-700); font-family: var(--mono); white-space: nowrap; }

.partner-teaser__grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 50px; align-items: center; }
.big-code { display: block; color: rgba(3,17,45,.16); font-family: var(--display); font-size: clamp(8rem,22vw,20rem); font-weight: 900; letter-spacing: -.1em; line-height: .7; }
.partner-teaser h2 { max-width: 14ch; }
.partner-teaser p:not(.kicker) { max-width: 56ch; margin: 24px 0 28px; }

.founder-grid { display: grid; grid-template-columns: minmax(360px,.85fr) minmax(0,1.15fr); gap: clamp(48px,9vw,130px); align-items: center; }
.founder-visual { position: relative; min-height: 430px; padding: 32px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; border: 1px solid rgba(5,49,136,.14); border-radius: var(--radius-lg); background-color: var(--blue-75); background-image: linear-gradient(rgba(5,49,136,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(5,49,136,.08) 1px, transparent 1px); background-size: 28px 28px; }
.founder-visual::before { position: absolute; left: 32px; right: 32px; top: 78px; height: 3px; background: linear-gradient(90deg, var(--orange) 0 22%, transparent 22% 25%, var(--blue-700) 25% 100%); content: ""; }
.founder-visual::after { position: absolute; right: -12px; bottom: -48px; color: rgba(5,49,136,.07); content: "PED"; font-family: var(--display); font-size: 12rem; font-weight: 900; letter-spacing: -.09em; line-height: 1; }
.founder-visual .poster-code { position: relative; z-index: 1; color: var(--orange-dark); font-family: var(--mono); font-size: .72rem; font-weight: 700; letter-spacing: .1em; }
.founder-visual > strong { position: relative; z-index: 1; max-width: 8ch; margin: 70px 0 40px; color: var(--navy-900); font-family: var(--display); font-size: clamp(3rem,6vw,5.6rem); letter-spacing: -.055em; line-height: .82; }
.founder-visual ul { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,1fr); list-style: none; border-top: 1px solid rgba(5,49,136,.18); }
.founder-visual li { padding: 13px 8px 0; border-right: 1px solid rgba(5,49,136,.18); color: var(--blue-700); font-family: var(--mono); font-size: .66rem; text-align: center; }
.founder-visual li:last-child { border: 0; }
.founder-visual--large { min-height: 520px; }
.founder-grid h2 { max-width: 13ch; }
.founder-grid blockquote { max-width: 46ch; margin: 28px 0; padding-left: 24px; border-left: 4px solid var(--orange); color: var(--navy-900); font-family: var(--display); font-size: clamp(1.35rem,2vw,1.85rem); font-weight: 800; line-height: 1.25; }
.founder-grid article > p, .founder-grid > div:last-child > p { max-width: 60ch; margin-top: 18px; color: var(--ink-70); }
.founder-grid .text-link { margin-top: 20px; }

.faq-section h2 { max-width: 14ch; }
.faq-list { margin-top: 42px; border-top: 2px solid var(--navy-900); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 72px; padding: 18px 0; display: grid; grid-template-columns: 1fr 48px; gap: 20px; align-items: center; color: var(--navy-900); font-family: var(--display); font-size: 1.15rem; font-weight: 900; list-style: none; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--orange-dark); font-family: var(--mono); font-size: 1.3rem; transition: transform var(--fast), background var(--fast); }
.faq-list details[open] summary span { background: var(--navy-900); color: var(--white); transform: rotate(45deg); }
.faq-list details > p { max-width: 68ch; padding: 0 68px 24px 0; color: var(--ink-70); }

.page-hero, .service-hero { position: relative; overflow: hidden; background-color: var(--navy-900); background-image: linear-gradient(rgba(147,182,232,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(147,182,232,.07) 1px, transparent 1px); background-size: 42px 42px; color: var(--white); }
.page-hero { padding: clamp(76px,8vw,122px) 0; }
.page-hero::after, .service-hero::after { position: absolute; right: -8%; top: -38%; width: 580px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; box-shadow: 0 0 0 75px rgba(255,255,255,.025), 0 0 0 150px rgba(255,255,255,.018); }
.page-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(240px,.6fr); gap: 50px; align-items: end; }
.page-hero h1 { max-width: 14ch; color: var(--white); font-size: clamp(3.25rem,6vw,5.6rem); }
.service-hero h1 { max-width: 16ch; color: var(--white); font-size: clamp(3rem,4.4vw,4.65rem); }
.page-hero__grid > div:first-child > p:last-child, .service-hero__grid > div:first-child > p:last-of-type { max-width: 60ch; margin-top: 28px; color: #c4d2e8; font-size: clamp(1.08rem,1.6vw,1.3rem); }
.page-hero__index { padding: 24px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); background: rgba(255,255,255,.04); }
.page-hero__index span { color: #91a7c7; font-family: var(--mono); font-size: .66rem; letter-spacing: .1em; }
.page-hero__index b { display: block; color: var(--orange); font-family: var(--display); font-size: clamp(4rem,8vw,7rem); letter-spacing: -.07em; line-height: 1; }
.page-hero__index p { color: #c4d2e8; font-size: .83rem; }
.page-hero .signal-panel { min-height: 430px; }
.page-hero--legal h1 { font-size: clamp(3rem,6vw,5.5rem); }

.service-directory { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.service-directory article { min-height: 330px; padding: 28px; display: grid; grid-template-columns: 50px 1fr; gap: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(237,243,252,.48)); box-shadow: 0 1px 0 rgba(255,255,255,.9) inset; transition: transform var(--smooth), border-color var(--fast), box-shadow var(--smooth); }
.service-directory article:hover { border-color: rgba(250,92,8,.55); transform: translateY(-4px); box-shadow: 0 22px 52px rgba(3,17,45,.11); }
.service-directory article > span { color: var(--orange-dark); font-family: var(--mono); font-size: .7rem; }
.service-directory article > div { display: flex; flex-direction: column; }
.service-directory article > div > p:first-child { color: var(--orange-dark); font-family: var(--mono); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.service-directory article h2 { margin-top: auto; font-size: clamp(2rem,3.5vw,3.6rem); }
.service-directory article h2 + p { margin-top: 14px; color: var(--ink-70); }
.service-directory dl { margin: 20px 0; padding-top: 14px; display: flex; justify-content: space-between; border-top: 1px solid var(--line); font-family: var(--mono); font-size: .72rem; }
.service-directory dt { color: var(--ink-70); text-transform: uppercase; }
.service-directory dd { color: var(--blue-700); font-weight: 700; }
.service-directory .button { align-self: flex-start; }
.notice-grid { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(40px,9vw,130px); align-items: start; }
.notice-grid h2 { max-width: 13ch; }
.notice-grid > div:last-child { color: var(--ink-70); font-size: 1.08rem; }
.section--night .notice-grid > div:last-child { color: #c4d2e8; }

.page-breadcrumbs { border-bottom: 1px solid rgba(255,255,255,.08); background: var(--navy-900); color: #a9bbd6; font-family: var(--mono); font-size: .7rem; }
.page-breadcrumbs > div { min-height: 50px; display: flex; gap: 10px; align-items: center; }
.page-breadcrumbs a { min-height: 44px; display: inline-flex; align-items: center; color: var(--white); text-underline-offset: 4px; }
.page-breadcrumbs i { color: var(--orange); font-style: normal; }

.service-hero { padding: clamp(70px,8vw,112px) 0; }
.service-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: clamp(46px,8vw,110px); align-items: end; }
.breadcrumbs { min-height: 48px; margin-bottom: 22px; display: flex; flex-wrap: wrap; gap: 9px; align-items: center; color: #a9bbd6; font-family: var(--mono); font-size: .7rem; }
.breadcrumbs a { min-height: 44px; display: inline-flex; align-items: center; color: var(--white); text-underline-offset: 4px; }
.breadcrumbs i { color: var(--orange); font-style: normal; }
.breadcrumbs span { overflow-wrap: anywhere; }
.service-hero .button-row { margin-top: 32px; }
.service-hero .button-row > a:not(.button) { min-height: 52px; padding: 13px 18px; display: inline-flex; align-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: var(--radius-sm); color: var(--white); font-family: var(--display); font-weight: 900; text-decoration: none; }
.service-safety { max-width: 62ch; margin-top: 24px; padding: 14px 16px; border-left: 3px solid var(--orange); background: rgba(250,92,8,.1); color: #dce6f5 !important; font-size: .82rem; }
.service-safety b { color: var(--white); }
.service-hero aside { padding: 30px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 60px rgba(0,0,0,.18); backdrop-filter: blur(10px); }
.service-hero aside span { color: #91a7c7; font-family: var(--mono); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.service-hero aside strong { margin: 16px 0; display: block; color: var(--orange); font-family: var(--display); font-size: clamp(3rem,6vw,5.2rem); letter-spacing: -.06em; line-height: .95; }
.service-hero aside p { color: #c5d2e6; font-size: .9rem; }
.service-price-lines { margin: 4px 0 20px; list-style: none; border-top: 1px solid rgba(255,255,255,.14); }
.service-price-lines li { min-height: 46px; padding: 8px 0; display: flex; justify-content: space-between; gap: 14px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.12); color: #c5d2e6; font-size: .75rem; }
.service-price-lines b { color: #ff8a4c; font-family: var(--mono); font-size: .72rem; text-align: right; }
.service-hero aside .availability-note { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.12); color: #aebed7; font-size: .78rem; }
.service-hero aside .availability-note b { display: block; margin-bottom: 3px; color: #ff8a4c; font-family: var(--mono); font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }
.detail-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); gap: clamp(54px,8vw,110px); align-items: start; }
.detail-grid article > h2 { max-width: 13ch; }
.check-list { margin-top: 40px; display: grid; gap: 0; list-style: none; border-top: 2px solid var(--navy-900); }
.check-list li { min-height: 68px; padding: 14px 0 14px 38px; display: flex; align-items: center; border-bottom: 1px solid var(--line); position: relative; }
.check-list li::before { position: absolute; left: 0; width: 17px; height: 9px; border-left: 2px solid var(--orange-dark); border-bottom: 2px solid var(--orange-dark); content: ""; transform: rotate(-45deg); }
.detail-note { margin-top: 38px; padding: 26px; border-left: 4px solid var(--orange); background: var(--orange-soft); }
.detail-note > span, .needs-card > span { color: var(--orange-dark); font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; }
.detail-note h3 { margin-top: 8px; }
.detail-note ul { margin-top: 16px; padding-left: 20px; color: var(--ink-70); }
.needs-card { position: sticky; top: 122px; padding: 32px; border-radius: var(--radius-lg); background: var(--navy-900); color: var(--white); box-shadow: var(--shadow); }
.needs-card h2 { margin-top: 10px; color: var(--white); font-size: clamp(2rem,3.5vw,3.2rem); }
.needs-card ol { margin-top: 30px; display: grid; list-style: none; }
.needs-card li { min-height: 58px; display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: center; border-top: 1px solid rgba(255,255,255,.12); color: #d0dced; font-size: .9rem; }
.needs-card li b { color: var(--orange); font-family: var(--mono); font-size: .66rem; }
.needs-card > p { margin-top: 22px; color: #95a9c7; font-size: .78rem; }
.service-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 40px; list-style: none; }
.service-steps li { min-height: 260px; padding: 24px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.9); }
.service-steps span { color: var(--orange-dark); font-family: var(--mono); font-size: .7rem; }
.service-steps h3 { margin-top: auto; }
.service-steps p { margin-top: 10px; color: var(--ink-70); font-size: .88rem; }
.related-grid { margin-top: 28px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.related-grid .service-card { min-height: 280px; grid-column: auto; background: linear-gradient(145deg, var(--white), var(--blue-75)); color: var(--ink); }
.related-grid .service-card h3 { color: var(--navy-900); }
.related-service-list { margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(24px,4vw,52px); border-top: 1px solid var(--line); list-style: none; }
.related-service-list > * { min-width: 0; border-bottom: 1px solid var(--line); }
.related-service-link { min-height: 64px; padding: 14px 7px 14px 4px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: center; border-radius: 6px; color: var(--navy-900); font-family: var(--display); font-size: 1.03rem; font-weight: 900; letter-spacing: -.015em; line-height: 1.25; text-decoration: none; transition: padding var(--fast), color var(--fast), background var(--fast); }
.related-service-link > span { display: none; }
.related-service-link > strong { min-width: 0; font: inherit; overflow-wrap: anywhere; }
.related-service-link > i { color: var(--orange-dark); font-family: var(--mono); font-size: 1.05rem; font-style: normal; font-weight: 700; line-height: 1; transition: color var(--fast), transform var(--fast); }
.related-service-link:hover { padding-left: 10px; background: var(--blue-75); color: var(--blue-700); }
.related-service-link:hover > i, .related-service-link:focus-visible > i { color: var(--orange); transform: translateX(4px); }
.related-service-link:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; background: var(--blue-75); color: var(--blue-700); }
.section--night .related-service-list, .section--night .related-service-list > * { border-color: rgba(255,255,255,.15); }
.section--night .related-service-link { color: var(--white); }
.section--night .related-service-link:hover, .section--night .related-service-link:focus-visible { background: rgba(255,255,255,.07); color: var(--white); }

.price-ledger--full { border-top: 3px solid var(--navy-900); }
.price-row { min-height: 116px; padding: 20px 0; display: grid; grid-template-columns: 54px minmax(0,1fr) auto; gap: 26px; align-items: center; border-bottom: 1px solid var(--line); }
.price-row > span { color: var(--orange-dark); font-family: var(--mono); font-size: .7rem; }
.price-row h2 { font-size: clamp(1.45rem,2.5vw,2.25rem); letter-spacing: -.02em; }
.price-row p { margin-top: 7px; color: var(--ink-70); font-size: .88rem; }
.price-row strong { color: var(--blue-700); font-family: var(--mono); font-size: clamp(1.1rem,2vw,1.45rem); white-space: nowrap; }
.price-formula { margin-top: 32px; padding: 26px; display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: center; border-radius: var(--radius); background: var(--navy-900); color: var(--white); }
.price-formula span { color: var(--orange); font-family: var(--mono); font-size: .7rem; }
.price-formula p { font-family: var(--mono); font-size: .85rem; }
.legal-note { margin-top: 18px; color: var(--ink-70); font-size: .8rem; }
.split-content { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: clamp(44px,8vw,110px); }
.split-content h2 { max-width: 12ch; }
.definition-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.definition-grid article { min-height: 190px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.86); }
.definition-grid b { color: var(--orange-dark); font-family: var(--mono); font-size: .68rem; letter-spacing: .08em; }
.definition-grid p { margin-top: 46px; color: var(--ink-70); font-size: .9rem; }

.method-long { display: grid; list-style: none; border-top: 3px solid var(--navy-900); }
.method-long li { min-height: 210px; padding: 28px 0; display: grid; grid-template-columns: minmax(100px,.35fr) minmax(0,1.65fr); align-items: center; border-bottom: 1px solid var(--line); }
.method-long li > span { color: var(--orange); font-family: var(--display); font-size: clamp(4rem,8vw,7rem); font-weight: 900; letter-spacing: -.07em; }
.method-long h2 { max-width: 15ch; font-size: clamp(2rem,4vw,4rem); }
.method-long p { max-width: 64ch; margin-top: 14px; color: var(--ink-70); }

.coverage-page-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: clamp(40px,7vw,90px); align-items: start; }
.corridor--light { border-color: var(--line); background: var(--paper); }
.corridor--light li::before { background: var(--paper); }
.corridor--light b { color: var(--navy-900); }
.corridor--light li span, .corridor--light > p { color: var(--ink-70); }
.coverage-check { padding: clamp(26px,4vw,42px); border-radius: var(--radius-lg); background: var(--blue-75); }
.coverage-check h2 { max-width: 12ch; font-size: clamp(2rem,3.3vw,3.25rem); }
.coverage-check label { margin: 28px 0 7px; display: block; color: var(--navy-900); font-family: var(--display); font-weight: 900; }
.coverage-form-grid { margin-top: 28px; }
.coverage-check .coverage-form-grid label { margin: 0 0 7px; }
.coverage-check > .button { margin-top: 22px; }
.input-action { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.input-action input { min-width: 0; }
.field-hint { display: block; margin-top: 6px; color: var(--ink-70); font-size: .77rem; }
.coverage-result { min-height: 0; margin-top: 22px; }
.coverage-result.is-visible { min-height: 126px; padding: 18px; border-left: 4px solid var(--success); background: var(--white); }
.coverage-result.is-consult { border-left-color: var(--orange); }
.coverage-result strong { display: block; color: var(--navy-900); font-family: var(--display); font-size: 1.25rem; }
.coverage-result p { margin-top: 6px; color: var(--ink-70); font-size: .88rem; }
.place-list { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; }
.place-list li { min-height: 48px; padding: 10px 16px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--blue-700); font-family: var(--mono); font-size: .75rem; }

.value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.value-grid article { min-height: 330px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); }
.value-grid span { color: var(--orange-dark); font-family: var(--mono); font-size: .7rem; }
.value-grid h2 { margin-top: auto; font-size: clamp(1.75rem,3vw,3rem); }
.value-grid p { margin-top: 14px; color: var(--ink-70); }
.form-layout { display: grid; grid-template-columns: minmax(300px,.65fr) minmax(0,1.35fr); gap: clamp(46px,8vw,110px); align-items: start; }
.form-layout > div:first-child { position: sticky; top: 122px; }
.form-layout > div:first-child h2 { max-width: 12ch; }
.form-layout > div:first-child > p:last-child { max-width: 46ch; margin-top: 20px; color: var(--ink-70); }
.contact-grid { display: grid; grid-template-columns: minmax(320px,.65fr) minmax(0,1.35fr); gap: clamp(48px,8vw,100px); align-items: start; }
.contact-cards { display: grid; gap: 12px; }
.contact-cards article { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.contact-cards article > span { color: var(--orange-dark); font-family: var(--mono); font-size: .68rem; letter-spacing: .08em; }
.contact-cards h2 { margin-top: 10px; font-size: 2rem; }
.contact-cards p { margin: 10px 0 18px; color: var(--ink-70); }
.contact-cards article > a:not(.button) { min-height: 48px; display: inline-flex; align-items: center; color: var(--blue-700); font-weight: 800; }

.lead-form { padding: clamp(24px,4vw,46px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: 0 20px 60px rgba(3,17,45,.08); }
.form-error-summary { margin-bottom: 22px; padding: 15px 18px; border-left: 4px solid var(--danger); background: #fff0ef; color: #7a271a; font-weight: 800; }
.form-error-summary[hidden] { display: none; }
.form-error-summary ul { margin-top: 10px; padding-left: 20px; font-weight: 600; }
.form-error-summary a { min-height: 40px; display: inline-flex; align-items: center; color: #621d14; text-underline-offset: 3px; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 16px; }
.field { min-width: 0; }
.field--full { grid-column: 1 / -1; }
.field label, .field legend { margin-bottom: 7px; display: block; color: var(--navy-900); font-family: var(--display); font-weight: 900; }
.field label span { color: var(--ink-70); font-family: var(--body); font-size: .8rem; font-weight: 400; }
.field input, .field select, .field textarea, .coverage-check input { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid rgba(5,49,136,.28); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); transition: border-color var(--fast), box-shadow var(--fast); }
.field textarea { min-height: 126px; resize: vertical; }
.field input:hover, .field select:hover, .field textarea:hover, .coverage-check input:hover { border-color: var(--blue-700); }
.field input:focus, .field select:focus, .field textarea:focus, .coverage-check input:focus { border-color: var(--blue-700); outline: 0; box-shadow: 0 0 0 4px rgba(5,49,136,.12); }
.field[aria-invalid="true"] input, .field[aria-invalid="true"] select, .field[aria-invalid="true"] textarea, .field input[aria-invalid="true"], .field select[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: var(--danger); box-shadow: 0 0 0 3px rgba(180,35,24,.08); }
.field-error { display: none; margin-top: 6px; color: var(--danger); font-size: .78rem; font-weight: 700; }
.field.is-invalid > .field-error, .field.is-invalid .field-error { display: block; }
.field fieldset, fieldset.field { border: 0; padding: 0; margin: 0; }
.choice-row { display: flex; gap: 8px; }
.choice-row label { min-height: 52px; flex: 1; margin: 0; position: relative; }
.choice-row input { position: absolute; opacity: 0; }
.choice-row span { width: 100%; height: 100%; padding: 12px 16px; display: grid; place-items: center; border: 1px solid rgba(5,49,136,.28); border-radius: var(--radius-sm); color: var(--navy-900); font-family: var(--body); font-size: 1rem; font-weight: 700; cursor: pointer; }
.choice-row input:checked + span { border-color: var(--orange); background: var(--orange-soft); box-shadow: inset 0 0 0 1px var(--orange); }
.choice-row input:focus-visible + span { outline: 3px solid var(--orange); outline-offset: 3px; }
.privacy-first { margin: 24px 0; padding: 16px; border-left: 3px solid var(--blue-700); background: var(--blue-75); color: var(--ink-70); font-size: .82rem; }
.privacy-first a { color: var(--blue-700); font-weight: 800; }
.safety-note { margin: -10px 0 24px; padding: 14px 16px; border-left: 3px solid var(--orange); background: var(--orange-soft); color: var(--ink-70); font-size: .8rem; }
.safety-note b { color: var(--navy-900); }
.no-script-note { margin-bottom: 22px; padding: 16px; border: 2px solid var(--orange); background: var(--orange-soft); color: var(--navy-900); font-weight: 800; }
.form-result { margin-top: 34px; padding: 26px; border: 1px solid rgba(8,120,89,.25); border-radius: var(--radius); background: #ecf9f5; }
.form-result[hidden] { display: none; }
.result-code { color: var(--success); font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; }
.form-result h2 { margin-top: 7px; font-size: 2rem; }
.form-result > p { margin-top: 10px; color: var(--ink-70); }
.form-result textarea { width: 100%; min-height: 180px; margin: 18px 0; padding: 14px; border: 1px solid rgba(8,120,89,.25); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); font-family: var(--mono); font-size: .78rem; resize: vertical; }
.form-result .button-row > a:not(.button) { min-height: 52px; padding: 13px 20px; display: inline-flex; align-items: center; border-radius: var(--radius-sm); background: #0c8061; color: var(--white); font-family: var(--display); font-weight: 900; text-decoration: none; }
.copy-status { min-height: 24px; color: var(--success) !important; font-size: .78rem; font-weight: 700; }
.plain-steps { margin-top: 34px; display: grid; list-style: none; border-top: 2px solid var(--navy-900); }
.plain-steps li { min-height: 70px; display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); }
.plain-steps span { color: var(--orange-dark); font-family: var(--mono); font-size: .7rem; }
.plain-steps p { color: var(--ink-70); }

.legal-document { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: clamp(40px,8vw,100px); align-items: start; }
.legal-document > aside { position: sticky; top: 122px; padding: 20px; border-left: 3px solid var(--orange); background: var(--paper); color: var(--ink-70); font-size: .8rem; }
.legal-document > aside p + p { margin-top: 18px; }
.legal-document > aside b { color: var(--navy-900); }
.legal-document article { max-width: 780px; }
.legal-warning { margin-bottom: 50px; padding: 24px; border: 1px solid #efb29a; background: var(--orange-soft); }
.legal-warning strong { color: var(--orange-dark); font-family: var(--mono); font-size: .72rem; letter-spacing: .08em; }
.legal-warning p { margin-top: 8px; }
.legal-document article > section { padding: 34px 0; border-top: 1px solid var(--line); }
.legal-document article h2 { font-size: 2rem; }
.legal-document article h2 + p { margin-top: 16px; color: var(--ink-70); }

/* Editorial diagnostic system · v2 */
.hero-home--v2 { min-height: 760px; padding-top: clamp(76px,7vw,108px); }
.hero-home--v2::before { background: radial-gradient(circle at 79% 32%, rgba(21,75,168,.58), transparent 28%), radial-gradient(circle at 9% 88%, rgba(250,92,8,.08), transparent 25%), linear-gradient(104deg, rgba(3,17,45,.92) 0 45%, rgba(4,26,67,.7) 74%, rgba(3,17,45,.88)); }
.hero-home--v2::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(116deg, transparent 0 67%, rgba(255,255,255,.055) 67% 67.1%, transparent 67.1%), linear-gradient(90deg, transparent 0 14%, rgba(250,92,8,.18) 14% 14.12%, transparent 14.12%); }
.hero-home--v2 .hero-home__grid { grid-template-columns: minmax(0,1.02fr) minmax(430px,.98fr); gap: clamp(46px,6vw,92px); }
.hero-home--v2 .hero-copy h1 { max-width: 15.5ch; font-size: clamp(3.65rem,5.2vw,5.55rem); }
.hero-home--v2 .hero-lead { max-width: 54ch; }

.vehicle-console { position: relative; min-height: 510px; padding: 20px; overflow: hidden; isolation: isolate; border: 1px solid rgba(180,205,243,.22); border-radius: 30px; background: linear-gradient(150deg, rgba(13,45,99,.74), rgba(3,17,45,.88)); box-shadow: inset 0 1px 0 rgba(255,255,255,.11), inset 0 -30px 70px rgba(0,0,0,.12), 0 42px 100px rgba(0,0,0,.3); backdrop-filter: blur(14px); }
.vehicle-console::before { position: absolute; z-index: -1; inset: 0; content: ""; background-image: linear-gradient(rgba(155,183,229,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(155,183,229,.07) 1px, transparent 1px), radial-gradient(circle at 50% 43%, rgba(21,75,168,.28), transparent 48%); background-size: 24px 24px, 24px 24px, auto; }
.vehicle-console::after { position: absolute; z-index: 3; right: 0; left: 0; top: 18%; height: 1px; content: ""; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(250,92,8,.58), transparent); opacity: 0; animation: console-scan 2.2s 500ms cubic-bezier(.16,1,.3,1) 1 both; }
.vehicle-console__head { position: relative; z-index: 4; min-height: 38px; padding-bottom: 12px; display: flex; justify-content: space-between; gap: 16px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.12); color: #a8bddb; font-family: var(--mono); font-size: .65rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.vehicle-console__head strong, .vehicle-console__head b { color: #eef5ff; font-family: inherit; }
.vehicle-console__head span:last-child { display: inline-flex; gap: 8px; align-items: center; }
.vehicle-console__head span:last-child::before { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(250,92,8,.14); content: ""; }
.vehicle-map { position: relative; min-height: 345px; margin: 12px 0 8px; display: grid; place-items: center; }
.vehicle-map__core { position: relative; z-index: 3; width: 112px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.44); border-radius: 50%; background: radial-gradient(circle at 38% 30%, rgba(255,255,255,.12), transparent 30%), var(--navy-900); color: var(--white); font-family: var(--display); font-size: 1.8rem; font-weight: 900; letter-spacing: -.04em; text-align: center; box-shadow: 0 0 0 11px rgba(250,92,8,.08), 0 0 46px rgba(250,92,8,.2); }
.vehicle-map__core::after { position: absolute; right: 5px; top: 8px; width: 8px; height: 8px; border: 2px solid var(--navy-900); border-radius: 50%; background: var(--orange); content: ""; }
.vehicle-map__orbit { position: absolute; z-index: 1; inset: 50%; width: min(330px,82%); aspect-ratio: 1; border: 1px dashed rgba(155,183,229,.3); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 44px rgba(155,183,229,.055), 0 0 0 88px rgba(155,183,229,.03); animation: console-orbit 32s linear infinite; }
.vehicle-map__orbit::before, .vehicle-map__orbit::after { position: absolute; width: 10px; height: 10px; border: 2px solid var(--orange); border-radius: 50%; background: var(--navy-900); content: ""; }
.vehicle-map__orbit::before { left: 12%; top: 12%; }
.vehicle-map__orbit::after { right: 8%; bottom: 19%; }
.system-node { position: absolute; z-index: 4; min-height: 38px; padding: 8px 11px 8px 25px; display: inline-flex; gap: 5px; align-items: center; border: 1px solid rgba(155,183,229,.24); border-radius: 999px; background: rgba(3,17,45,.82); color: #d9e5f5; font-family: var(--mono); font-size: .62rem; font-weight: 700; letter-spacing: .055em; line-height: 1.15; text-transform: uppercase; box-shadow: 0 12px 24px rgba(0,0,0,.18); transition: border-color var(--fast), background var(--fast), color var(--fast), transform var(--smooth); }
.system-node::before { position: absolute; left: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--blue-300); content: ""; box-shadow: 0 0 0 4px rgba(155,183,229,.1); }
a.system-node { text-decoration: none; }
.system-node:hover, .system-node:focus-visible { border-color: rgba(250,92,8,.68); background: var(--navy-950); color: var(--white); transform: translateY(-3px); }
.system-node:hover::before, .system-node:focus-visible::before { background: var(--orange); box-shadow: 0 0 0 5px rgba(250,92,8,.14); }
.system-node--lost { left: 50%; top: 1%; white-space: nowrap; transform: translateX(-50%); }
.system-node--lost b::after { content: " /"; }
.system-node--keys { left: 2%; top: 20%; }
.system-node--access { right: 2%; top: 20%; }
.system-node--diag { left: 2%; bottom: 18%; }
.system-node--ecu { right: 2%; bottom: 18%; }
.system-node--mercedes { left: 50%; bottom: 1%; transform: translateX(-50%); }
.system-node--lost:hover, .system-node--lost:focus-visible, .system-node--mercedes:hover, .system-node--mercedes:focus-visible { transform: translate(-50%,-3px); }
.vehicle-console__status { position: relative; z-index: 4; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.08); }
.vehicle-console__status > * { min-width: 0; padding: 13px 12px; border-right: 1px solid rgba(255,255,255,.1); color: #91a9ca; font-family: var(--mono); font-size: .61rem; line-height: 1.35; }
.vehicle-console__status > *:last-child { border-right: 0; }
.vehicle-console__status strong, .vehicle-console__status b, .vehicle-console__status span { display: block; margin-bottom: 3px; overflow-wrap: anywhere; color: #f3f7fd; font-family: inherit; font-size: .67rem; }

.audience-bar { position: relative; z-index: 3; border-bottom: 1px solid var(--line); background: var(--white); box-shadow: 0 18px 50px rgba(3,17,45,.06); }
.audience-bar__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.audience-bar__grid > * { position: relative; min-height: 116px; padding: 24px 28px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: background var(--fast), transform var(--smooth); }
.audience-bar__grid > *:first-child { border-left: 1px solid var(--line); }
.audience-bar__grid > *::before { position: absolute; left: 28px; top: 19px; width: 20px; height: 2px; background: var(--orange); content: ""; transition: width var(--smooth); }
.audience-bar__grid > *:hover, .audience-bar__grid > *:focus-within { z-index: 1; background: var(--blue-75); transform: translateY(-3px); }
.audience-bar__grid > *:hover::before, .audience-bar__grid > *:focus-within::before { width: 52px; }
.audience-bar__grid span { color: var(--orange-dark); font-family: var(--mono); font-size: .63rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.audience-bar__grid strong, .audience-bar__grid h2, .audience-bar__grid h3 { margin-top: 7px; color: var(--navy-900); font-family: var(--display); font-size: 1.2rem; font-weight: 900; letter-spacing: -.02em; }
.audience-bar__grid p { margin-top: 5px; color: var(--ink-70); font-size: .8rem; line-height: 1.45; }

.service-families { display: grid; gap: clamp(28px,4vw,46px); }
.service-family { position: relative; padding: clamp(24px,4vw,46px); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(237,243,252,.7)); box-shadow: 0 20px 64px rgba(3,17,45,.07); }
.service-family::after { position: absolute; right: -120px; top: -150px; width: 320px; aspect-ratio: 1; border: 1px solid rgba(5,49,136,.08); border-radius: 50%; content: ""; box-shadow: 0 0 0 48px rgba(5,49,136,.022), 0 0 0 96px rgba(5,49,136,.015); pointer-events: none; }
.service-family:nth-child(even) { background: linear-gradient(145deg, rgba(244,242,235,.96), rgba(255,255,255,.98)); }
.service-family__head { position: relative; z-index: 1; margin-bottom: 26px; padding-bottom: 22px; display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.55fr); gap: 32px; align-items: end; border-bottom: 1px solid var(--line); }
.service-family__head h2, .service-family__head h3 { max-width: 13ch; font-size: clamp(2rem,3.5vw,3.55rem); }
.service-family__head > p { max-width: 52ch; color: var(--ink-70); font-size: .92rem; }
.service-family__head > span { color: var(--orange-dark); font-family: var(--mono); font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.service-bento--wide { position: relative; z-index: 1; grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr)); }
.service-bento--wide .service-card, .service-bento--wide .service-card:nth-child(1), .service-bento--wide .service-card--1, .service-bento--wide .service-card--2, .service-bento--wide .service-card--3, .service-bento--wide .service-card--4, .service-bento--wide .service-card:nth-child(5), .service-bento--wide .service-card:nth-child(6), .service-bento--wide .service-card:nth-child(7) { min-height: 290px; grid-column: auto; }

.expertise-stage { position: relative; padding: clamp(76px,8vw,124px) 0; overflow: hidden; background-color: var(--navy-950); background-image: linear-gradient(rgba(155,183,229,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(155,183,229,.055) 1px, transparent 1px), radial-gradient(circle at 78% 16%, rgba(21,75,168,.42), transparent 32%); background-size: 34px 34px, 34px 34px, auto; color: var(--white); }
.expertise-stage::after { position: absolute; left: -180px; bottom: -280px; width: 620px; aspect-ratio: 1; border: 1px solid rgba(250,92,8,.13); border-radius: 50%; content: ""; box-shadow: 0 0 0 70px rgba(250,92,8,.025), 0 0 0 140px rgba(250,92,8,.018); }
.expertise-stage h2, .expertise-stage h3 { color: var(--white); }
.expertise-stage .section-lead { color: #b9c9df; }
.expertise-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.expertise-grid > .section-heading, .expertise-grid > header { grid-column: 1 / -1; }
.expertise-card { position: relative; min-height: 400px; padding: clamp(28px,4vw,42px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(155,183,229,.2); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); transition: border-color var(--fast), transform var(--smooth), background var(--smooth), box-shadow var(--smooth); }
.expertise-card::after { position: absolute; right: -20px; bottom: -45px; color: rgba(255,255,255,.055); font-family: var(--display); font-size: clamp(8rem,17vw,14rem); font-weight: 900; letter-spacing: -.1em; line-height: .8; pointer-events: none; }
.expertise-card--ecu::after { content: "ECU"; }
.expertise-card--mercedes::after { content: "MB"; }
.expertise-card--ecu { background: linear-gradient(145deg, rgba(21,75,168,.24), rgba(255,255,255,.025)); }
.expertise-card--mercedes { background: linear-gradient(145deg, rgba(250,92,8,.08), rgba(255,255,255,.025)); }
.expertise-card:hover { border-color: rgba(250,92,8,.55); transform: translateY(-6px); background-color: rgba(255,255,255,.035); box-shadow: 0 30px 80px rgba(0,0,0,.22); }
.expertise-card > span { position: relative; z-index: 1; color: #ff9560; font-family: var(--mono); font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.expertise-card h2, .expertise-card h3 { position: relative; z-index: 1; max-width: 12ch; margin-top: auto; font-size: clamp(2.35rem,4vw,4rem); }
.expertise-card p { position: relative; z-index: 1; max-width: 55ch; margin-top: 18px; color: #bdcce1; }
.expertise-card .text-link, .expertise-card .button { position: relative; z-index: 1; align-self: flex-start; margin-top: 22px; color: var(--white); }

.service-hero::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 78% 42%, rgba(21,75,168,.38), transparent 30%), linear-gradient(110deg, rgba(3,17,45,.15), rgba(3,17,45,.62)); pointer-events: none; }
.service-hero .button-row > a:not(.button) { transition: border-color var(--fast), background var(--fast), transform var(--fast); }
.service-hero .button-row > a:not(.button):hover { border-color: rgba(255,255,255,.72); background: rgba(255,255,255,.08); transform: translateY(-2px); }
.service-hero__visual { position: relative; min-height: 420px; padding: 22px; overflow: hidden; border: 1px solid rgba(155,183,229,.22); border-radius: var(--radius-lg); background: linear-gradient(150deg, rgba(21,75,168,.22), rgba(3,17,45,.68)); box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 34px 80px rgba(0,0,0,.22); }
.service-hero__visual::before { position: absolute; inset: 0; content: ""; background-image: linear-gradient(rgba(155,183,229,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(155,183,229,.065) 1px, transparent 1px); background-size: 26px 26px; }
.service-hero__visual-code { position: relative; z-index: 2; color: #9eb4d4; font-family: var(--mono); font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.service-hero__visual-orbit { position: absolute; z-index: 1; inset: 50%; width: min(255px,68%); aspect-ratio: 1; border: 1px dashed rgba(155,183,229,.34); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 42px rgba(155,183,229,.045), 0 0 0 84px rgba(155,183,229,.025); animation: console-orbit 28s linear infinite reverse; }
.service-hero__visual-orbit::before { position: absolute; inset: 27%; display: grid; place-items: center; border: 1px solid rgba(250,92,8,.58); border-radius: 50%; background: var(--navy-900); color: var(--white); content: "MG"; font-family: var(--display); font-size: 1.75rem; font-weight: 900; box-shadow: 0 0 32px rgba(250,92,8,.16); }
.service-hero__visual-orbit::after { position: absolute; right: 10%; top: 14%; width: 11px; height: 11px; border: 2px solid var(--orange); border-radius: 50%; background: var(--navy-900); content: ""; }
.service-hero__visual-status { position: absolute; z-index: 2; right: 22px; bottom: 22px; left: 22px; min-height: 64px; padding: 13px 15px; display: flex; justify-content: space-between; gap: 16px; align-items: center; border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.08); color: #a6bad7; font-family: var(--mono); font-size: .64rem; letter-spacing: .045em; }
.service-hero__visual-status strong, .service-hero__visual-status b { color: #f0f5fc; font-family: inherit; }

.symptom-section { position: relative; overflow: hidden; background-color: var(--blue-75); background-image: linear-gradient(rgba(5,49,136,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(5,49,136,.045) 1px, transparent 1px); background-size: 30px 30px; }
.symptom-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.symptom-card { position: relative; min-height: 205px; padding: 25px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(5,49,136,.16); border-radius: var(--radius); background: rgba(255,255,255,.88); box-shadow: inset 0 1px 0 var(--white); transition: border-color var(--fast), transform var(--smooth), box-shadow var(--smooth); }
.symptom-card::before { width: 34px; height: 3px; margin-bottom: 34px; background: linear-gradient(90deg, var(--orange) 0 38%, var(--blue-700) 38%); content: ""; transition: width var(--smooth); }
.symptom-card:hover { border-color: rgba(250,92,8,.55); transform: translateY(-4px); box-shadow: 0 20px 48px rgba(3,17,45,.1); }
.symptom-card:hover::before { width: 64px; }
.symptom-card > span { color: var(--orange-dark); font-family: var(--mono); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.symptom-card h2, .symptom-card h3, .symptom-card strong { margin-top: auto; color: var(--navy-900); font-family: var(--display); font-size: 1.5rem; font-weight: 900; letter-spacing: -.025em; line-height: 1.05; }
.symptom-card p { margin-top: 10px; color: var(--ink-70); font-size: .86rem; line-height: 1.5; }

.service-mode { position: relative; }
.service-mode__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.service-mode__grid > * { min-height: 210px; padding: 25px; display: flex; flex-direction: column; border: 1px solid var(--line); border-top: 3px solid var(--blue-700); border-radius: 0 0 var(--radius) var(--radius); background: var(--white); transition: border-color var(--fast), transform var(--smooth), box-shadow var(--smooth); }
.service-mode__grid > *:hover { border-top-color: var(--orange); transform: translateY(-4px); box-shadow: 0 18px 46px rgba(3,17,45,.1); }
.service-mode__grid span { color: var(--orange-dark); font-family: var(--mono); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.service-mode__grid h2, .service-mode__grid h3, .service-mode__grid strong { margin-top: auto; color: var(--navy-900); font-family: var(--display); font-size: 1.55rem; font-weight: 900; line-height: 1.05; }
.service-mode__grid p { margin-top: 10px; color: var(--ink-70); font-size: .86rem; }
.service-outcome { position: relative; margin-top: clamp(28px,4vw,48px); padding: clamp(28px,5vw,54px); overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(circle at 88% 20%, rgba(21,75,168,.46), transparent 30%), var(--navy-900); color: var(--white); box-shadow: var(--shadow); }
.service-outcome::after { position: absolute; right: -70px; bottom: -90px; width: 250px; aspect-ratio: 1; border: 1px dashed rgba(255,255,255,.15); border-radius: 50%; content: ""; box-shadow: 0 0 0 38px rgba(255,255,255,.025), 0 0 0 76px rgba(255,255,255,.018); }
.service-outcome > * { position: relative; z-index: 1; }
.service-outcome h2, .service-outcome h3 { max-width: 14ch; color: var(--white); }
.service-outcome p { max-width: 62ch; margin-top: 18px; color: #bdcce1; }
.service-outcome ul { margin-top: 22px; padding-left: 20px; color: #d6e1f0; }
.service-facts { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 9px; }
.fact-chip { min-height: 44px; padding: 9px 13px; display: inline-flex; gap: 8px; align-items: center; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink-70); font-size: .78rem; line-height: 1.25; }
.fact-chip::before { width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(250,92,8,.1); content: ""; }
.fact-chip strong, .fact-chip b { color: var(--navy-900); font-family: var(--mono); font-size: .68rem; }
.section--night .fact-chip, .service-outcome .fact-chip { border-color: rgba(255,255,255,.15); background: rgba(255,255,255,.055); color: #c4d2e6; }
.section--night .fact-chip strong, .section--night .fact-chip b, .service-outcome .fact-chip strong, .service-outcome .fact-chip b { color: var(--white); }

.service-directory--grouped { display: grid; grid-template-columns: 1fr; gap: 30px; }
.service-directory__group { padding: clamp(22px,4vw,38px); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255,255,255,.68); }
.service-directory__group > header, .service-directory__group > .service-family__head, .service-directory__group > h2, .service-directory__group > h3, .service-directory__group > p, .service-directory__group > .service-directory { grid-column: 1 / -1; }
.service-directory__group > header { margin-bottom: 6px; padding-bottom: 20px; display: flex; justify-content: space-between; gap: 28px; align-items: end; border-bottom: 1px solid var(--line); }
.service-directory__group > header h2, .service-directory__group > h2 { max-width: 14ch; font-size: clamp(2rem,3.5vw,3.5rem); }
.service-directory__group > header p { max-width: 50ch; color: var(--ink-70); font-size: .9rem; }
.service-directory__group > article { min-width: 0; }

.contact-socials { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 9px; }
.contact-socials a { min-height: 46px; padding: 10px 14px; display: inline-flex; gap: 9px; align-items: center; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--blue-700); font-family: var(--mono); font-size: .7rem; font-weight: 700; text-decoration: none; transition: border-color var(--fast), background var(--fast), color var(--fast), transform var(--fast); }
.contact-socials a::before { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); content: ""; box-shadow: 0 0 0 4px rgba(250,92,8,.1); }
.contact-socials a:hover, .contact-socials a:focus-visible { border-color: var(--navy-900); background: var(--navy-900); color: var(--white); transform: translateY(-2px); }

.professional-capabilities { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.professional-capabilities li { border-bottom: 1px solid var(--line); }
.professional-capabilities a { padding: 17px 4px; display: grid; grid-template-columns: minmax(150px,.8fr) 1.2fr; gap: 20px; color: var(--ink); text-decoration: none; transition: color var(--fast), padding var(--fast); }
.professional-capabilities b { color: var(--blue-700); }
.professional-capabilities span { color: var(--muted); }
.professional-capabilities a:hover, .professional-capabilities a:focus-visible { padding-left: 12px; color: var(--orange-700); }

.redirect-page { min-height: 100vh; display: grid; place-items: center; padding: 48px 0; background: radial-gradient(circle at 80% 10%,rgba(19,82,153,.3),transparent 38%),var(--navy-950); color: var(--white); }
.redirect-page .shell { max-width: 780px; }
.redirect-page h1 { max-width: 720px; margin: 12px 0 18px; color: var(--white); font-size: clamp(2.7rem,7vw,5.8rem); }
.redirect-page p:not(.kicker) { max-width: 620px; margin-bottom: 28px; color: #c9d6e9; font-size: 1.08rem; }

.faq-list summary:hover span { border-color: rgba(250,92,8,.55); background: var(--orange-soft); }
.faq-list details[open] summary:hover span { background: var(--navy-900); }

.final-cta { padding: clamp(66px,8vw,110px) 0; background: var(--navy-800); color: var(--white); }
.final-cta__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(44px,8vw,110px); align-items: center; }
.final-cta h2 { max-width: 14ch; color: var(--white); }
.final-cta__grid > div:last-child > p { max-width: 54ch; margin-bottom: 24px; color: #bdcce3; }
.final-cta .button-row > a:not(.button) { min-height: 52px; padding: 13px 20px; display: inline-flex; align-items: center; border: 1px solid rgba(255,255,255,.34); border-radius: var(--radius-sm); color: var(--white); font-family: var(--display); font-weight: 900; text-decoration: none; }
.site-footer { padding: 70px 0 32px; background: var(--navy-950); color: #9fb1cd; }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: 48px; }
.footer-grid h2 { margin-bottom: 18px; color: var(--white); font-size: .85rem; font-family: var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; }
.footer-grid a { min-height: 40px; display: inline-flex; align-items: center; color: #b5c4dc; font-size: .88rem; text-decoration: none; }
.footer-grid a:hover { color: var(--white); }
.footer-brand .wordmark__name { color: var(--white); font-size: 2rem; }
.footer-brand > p:last-child { max-width: 34ch; margin-top: 18px; font-size: .88rem; }
.footer-grid > div:last-child p { margin-top: 8px; font-size: .8rem; }
.footer-legal { margin-top: 54px; padding-top: 24px; display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: .72rem; }
.footer-legal div { display: flex; flex-wrap: wrap; gap: 20px; }
.footer-legal a { color: #aebdd4; }
.mobile-dock { display: none; }

.not-found { min-height: 72vh; padding: 110px 0; display: grid; align-items: center; background: var(--navy-900); color: var(--white); }
.not-found span { color: var(--orange); font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; }
.not-found h1 { max-width: 12ch; margin-top: 18px; color: var(--white); }
.not-found p { max-width: 50ch; margin: 26px 0; color: #bac9df; }

[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity 560ms ease, transform 560ms ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }

@keyframes panel-scan { 0%,45% { transform: translateX(-120%); } 70%,100% { transform: translateX(120%); } }
@keyframes ring-rotate { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes result-pulse { 0% { box-shadow: 0 0 0 0 rgba(250,92,8,.35), var(--shadow); } 100% { box-shadow: 0 0 0 18px rgba(250,92,8,0), var(--shadow); } }
@keyframes console-scan { 0% { top: 16%; opacity: 0; } 18% { opacity: .75; } 82% { opacity: .45; } 100% { top: 83%; opacity: 0; } }
@keyframes console-orbit { to { transform: translate(-50%,-50%) rotate(360deg); } }

@media (max-width: 1100px) {
  :root { --shell: min(100% - 32px, 1040px); }
  .js .menu-toggle { display: block; }
  .site-nav { position: absolute; inset: 100% 0 auto; max-height: calc(100dvh - 84px); padding: 26px max(20px, calc((100% - var(--shell))/2)); display: grid; gap: 4px; overflow-y: auto; border-top: 1px solid var(--line); background: var(--white); box-shadow: 0 28px 50px rgba(3,17,45,.16); opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity var(--fast), transform var(--fast), visibility var(--fast); }
  .site-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  html:not(.js) .site-header__inner { flex-wrap: wrap; padding-bottom: 14px; }
  html:not(.js) .site-nav { position: static; inset: auto; width: 100%; max-height: none; margin: 0; padding: 10px 0 0; overflow: visible; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .site-nav > a:not(.button) { min-height: 52px; border-bottom: 1px solid var(--line); font-size: 1.1rem; }
  .site-nav > a:not(.button)::after { display: none; }
  .site-nav .button { margin-top: 10px; }
  .hero-home__grid { grid-template-columns: 1.05fr .95fr; gap: 38px; }
  .hero-home--v2 .hero-home__grid { grid-template-columns: minmax(0,1fr) minmax(390px,.9fr); gap: 34px; }
  .hero-home--v2 .hero-copy h1 { max-width: 14.5ch; font-size: clamp(3.55rem,5.8vw,5.1rem); }
  .vehicle-console { min-height: 485px; }
  .audience-bar__grid > * { padding-inline: 22px; }
  .audience-bar__grid > *::before { left: 22px; }
  .trust-grid { grid-template-columns: repeat(2,1fr); }
  .trust-grid article:nth-child(3) { border-left: 1px solid var(--line); }
  .trust-grid article { border-bottom: 1px solid var(--line); }
  .service-card--1, .service-card--2, .service-card--3, .service-card--4 { grid-column: span 6; }
  .service-card:nth-child(5), .service-card:nth-child(6), .service-card:nth-child(7) { grid-column: span 4; }
  .service-bento--wide .service-card, .service-bento--wide .service-card:nth-child(1), .service-bento--wide .service-card--1, .service-bento--wide .service-card--2, .service-bento--wide .service-card--3, .service-bento--wide .service-card--4, .service-bento--wide .service-card:nth-child(5), .service-bento--wide .service-card:nth-child(6), .service-bento--wide .service-card:nth-child(7) { grid-column: auto; }
  .expertise-card { min-height: 370px; }
  .service-hero__visual { min-height: 390px; }
  .coverage-teaser__grid, .prices-teaser__grid { grid-template-columns: 1fr; }
  .coverage-teaser h2, .prices-teaser h2 { max-width: 15ch; }
  .prices-teaser__grid > div:first-child { display: grid; grid-template-columns: 1fr 1fr; gap: 0 34px; }
  .prices-teaser__grid > div:first-child .kicker, .prices-teaser__grid > div:first-child h2 { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1.5fr repeat(2,1fr); }
  .footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 860px) {
  :root { --shell: min(100% - 28px, 760px); }
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .utility-bar__inner > p { max-width: 32ch; }
  .utility-bar__inner div span { display: none; }
  .site-header__inner { min-height: 76px; }
  .site-nav { max-height: calc(100dvh - 76px); }
  .hero-home { padding-top: 70px; }
  .hero-home__grid, .finder-grid, .page-hero__grid, .service-hero__grid, .detail-grid, .coverage-page-grid, .form-layout, .contact-grid, .founder-grid, .final-cta__grid, .notice-grid, .split-content { grid-template-columns: 1fr; }
  .hero-home--v2 { min-height: 0; padding-top: 72px; }
  .hero-home--v2 .hero-home__grid { grid-template-columns: 1fr; }
  .hero-home--v2 .hero-copy h1 { max-width: 13.5ch; font-size: clamp(3.5rem,9vw,5rem); }
  .hero-copy h1 { font-size: clamp(3.4rem,12vw,5.3rem); }
  .signal-panel { min-height: 400px; }
  .vehicle-console { width: min(100%,620px); min-height: 500px; margin-inline: auto; }
  .vehicle-map { min-height: 340px; }
  .hero-ruler { margin-top: 48px; }
  .finder-result, .needs-card, .form-layout > div:first-child, .legal-document > aside { position: static; }
  .section-heading { grid-template-columns: 1fr; align-items: start; }
  .section-heading .text-link { justify-self: start; }
  .method-track { grid-template-columns: 1fr; gap: 0; }
  .method-track::before { left: 31px; right: auto; top: 32px; bottom: 32px; width: 2px; height: auto; background: linear-gradient(var(--orange), var(--blue-700)); }
  .method-track li, .method-track li:first-child, .method-track li:last-child { min-height: 132px; padding: 0 0 30px 90px; }
  .method-track span { position: absolute; left: 0; top: 0; }
  .method-track h3 { margin-top: 0; padding-top: 8px; }
  .partner-teaser__grid { grid-template-columns: 1fr; }
  .big-code { font-size: 9rem; }
  .audience-bar__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .audience-bar__grid > *:nth-child(3) { grid-column: 1 / -1; border-left: 1px solid var(--line); }
  .service-family__head { grid-template-columns: 1fr; gap: 12px; align-items: start; }
  .service-bento--wide { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .expertise-grid { grid-template-columns: 1fr; }
  .expertise-card { min-height: 340px; }
  .service-hero__visual { width: min(100%,560px); min-height: 420px; }
  .symptom-grid, .service-mode__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-directory__group { grid-template-columns: 1fr; }
  .service-directory__group > header, .service-directory__group > .service-family__head, .service-directory__group > h2, .service-directory__group > h3, .service-directory__group > p, .service-directory__group > .service-directory { grid-column: 1; }
  .service-directory, .service-steps, .value-grid { grid-template-columns: 1fr; }
  .service-directory article, .service-steps li, .value-grid article { min-height: 260px; }
  .page-hero__index { max-width: 330px; }
  .service-hero aside { max-width: 440px; }
  .founder-grid { align-items: start; }
  .founder-visual { min-height: 420px; }
  .legal-document { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .mobile-dock { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; min-height: calc(64px + env(safe-area-inset-bottom)); padding: 7px 10px calc(7px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; border-top: 1px solid var(--line); background: rgba(255,255,255,.96); box-shadow: 0 -14px 36px rgba(3,17,45,.13); backdrop-filter: blur(16px); }
  .mobile-dock a { min-height: 50px; display: flex; flex-direction: column; justify-content: center; align-items: center; border-radius: var(--radius-sm); background: var(--navy-900); color: var(--white); font-size: .7rem; line-height: 1.25; text-decoration: none; }
  .mobile-dock a:last-child { background: var(--orange); color: var(--navy-950); }
  .mobile-dock b { font-family: var(--display); font-size: .9rem; }
  body.form-focused .mobile-dock { display: none; }
}

@media (max-width: 640px) {
  .professional-capabilities a { grid-template-columns: 1fr; gap: 6px; }
  :root { --shell: min(100% - 24px, 560px); }
  h1 { font-size: clamp(3rem,14vw,4.15rem); }
  h2 { font-size: clamp(2.1rem,10vw,3.2rem); }
  .utility-bar { display: none; }
  .site-header__inner { min-height: 72px; }
  .site-nav { max-height: calc(100dvh - 72px); }
  .wordmark__line { display: none; }
  .hero-home { padding-top: 58px; }
  .hero-home--v2 { padding-top: 58px; }
  .hero-copy h1 { font-size: clamp(3.15rem,15vw,4.2rem); }
  .hero-home--v2 .hero-copy h1 { font-size: clamp(3.05rem,14.7vw,4.25rem); }
  .hero-lead { margin-top: 22px; }
  .button-row .button, .button-row > a:not(.button), .button-row > button { width: 100%; }
  .hero-ruler { grid-template-columns: auto 1fr auto; }
  .hero-ruler span:last-child, .hero-ruler i:nth-of-type(2) { display: none; }
  .signal-panel { min-height: 320px; padding: 17px; }
  .vehicle-console { min-height: 445px; padding: 16px; border-radius: 22px; }
  .vehicle-console__head { align-items: flex-start; font-size: .58rem; }
  .vehicle-map { min-height: 300px; margin-top: 6px; }
  .vehicle-map__core { width: 94px; font-size: 1.45rem; }
  .vehicle-map__orbit { width: min(245px,76%); box-shadow: 0 0 0 34px rgba(155,183,229,.045), 0 0 0 68px rgba(155,183,229,.025); }
  .system-node { min-height: 34px; padding: 7px 9px 7px 22px; font-size: .55rem; }
  .system-node::before { left: 8px; width: 6px; height: 6px; }
  .system-node--lost { top: 0; }
  .system-node--keys, .system-node--access { top: 18%; }
  .system-node--keys, .system-node--diag { left: 0; }
  .system-node--access, .system-node--ecu { right: 0; }
  .system-node--diag, .system-node--ecu { bottom: 20%; }
  .system-node--mercedes { bottom: 0; }
  .vehicle-console__status > * { padding: 10px 8px; font-size: .55rem; }
  .vehicle-console__status strong, .vehicle-console__status b, .vehicle-console__status span { font-size: .6rem; }
  .signal-field { width: 190px; margin: 22px auto 16px; }
  .signal-panel > p { display: none; }
  .trust-grid { grid-template-columns: repeat(2,1fr); }
  .trust-grid article, .trust-grid article:first-child, .trust-grid article:nth-child(3) { min-height: 112px; border-left: 1px solid var(--line); }
  .availability-grid { grid-template-columns: 1fr; }
  .availability-grid article, .availability-grid article:first-child { min-height: 104px; border-right: 1px solid rgba(147,182,232,.16); border-bottom: 1px solid rgba(147,182,232,.16); border-left: 1px solid rgba(147,182,232,.16); }
  .audience-bar__grid { grid-template-columns: 1fr; }
  .audience-bar__grid > *, .audience-bar__grid > *:first-child, .audience-bar__grid > *:nth-child(3) { min-height: 102px; grid-column: 1; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
  .section { padding: 60px 0; }
  .finder-options { display: grid; grid-template-columns: 1fr; }
  .finder-options button { border-radius: var(--radius-sm); text-align: left; }
  .finder-result { min-height: 350px; }
  .service-bento { grid-template-columns: 1fr; }
  .service-card, .service-card:nth-child(1), .service-card--1, .service-card--2, .service-card--3, .service-card--4, .service-card:nth-child(5), .service-card:nth-child(6), .service-card:nth-child(7) { min-height: 230px; grid-column: 1; }
  .service-family { padding: 20px; border-radius: 20px; }
  .service-bento--wide { grid-template-columns: 1fr; }
  .service-bento--wide .service-card, .service-bento--wide .service-card:nth-child(1), .service-bento--wide .service-card--1, .service-bento--wide .service-card--2, .service-bento--wide .service-card--3, .service-bento--wide .service-card--4, .service-bento--wide .service-card:nth-child(5), .service-bento--wide .service-card:nth-child(6), .service-bento--wide .service-card:nth-child(7) { min-height: 230px; grid-column: 1; }
  .expertise-stage { padding: 66px 0; }
  .expertise-card { min-height: 310px; padding: 24px; }
  .expertise-card::after { font-size: 8rem; }
  .service-hero__visual { min-height: 360px; padding: 18px; }
  .service-hero__visual-orbit { width: min(215px,66%); box-shadow: 0 0 0 32px rgba(155,183,229,.04), 0 0 0 64px rgba(155,183,229,.022); }
  .service-hero__visual-status { right: 18px; bottom: 18px; left: 18px; padding-inline: 10px; font-size: .57rem; }
  .symptom-grid, .service-mode__grid { grid-template-columns: 1fr; }
  .symptom-card, .service-mode__grid > * { min-height: 180px; }
  .service-outcome { border-radius: 20px; }
  .service-facts { display: grid; grid-template-columns: 1fr; }
  .fact-chip { width: 100%; border-radius: var(--radius-sm); }
  .service-directory__group { padding: 18px; }
  .service-directory__group > header { flex-direction: column; align-items: flex-start; }
  .contact-socials { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-socials a { justify-content: center; border-radius: var(--radius-sm); }
  .corridor { padding: 28px 24px; }
  .corridor-line { left: 36px; right: auto; top: 10%; bottom: 14%; width: 2px; height: auto; }
  .corridor ol { grid-template-columns: 1fr; gap: 18px; }
  .corridor li { min-height: 58px; display: grid; grid-template-columns: 24px 54px 1fr; gap: 12px; align-items: center; text-align: left; }
  .corridor li::before, .corridor li.is-base::before { width: 15px; height: 15px; margin: 0; }
  .corridor li.is-base::before { background: var(--orange); }
  .corridor li span { margin: 0; }
  .corridor > p { margin-top: 22px; text-align: left; }
  .prices-teaser__grid > div:first-child { display: block; }
  .price-ledger li { align-items: flex-start; }
  .price-ledger li span { align-items: flex-start; }
  .price-ledger i { margin-top: 4px; }
  .partner-teaser__grid { gap: 28px; }
  .big-code { font-size: 7.5rem; }
  .founder-visual { min-height: 340px; }
  .faq-list summary { font-size: 1.05rem; }
  .faq-list details > p { padding-right: 0; }
  .page-hero, .service-hero { padding: 68px 0; }
  .page-hero h1, .service-hero h1 { font-size: clamp(3rem,14vw,4.1rem); }
  .service-directory article { grid-template-columns: 34px 1fr; gap: 12px; padding: 22px; }
  .service-hero aside { padding: 24px; }
  .check-list li { align-items: flex-start; }
  .needs-card { padding: 26px; }
  .related-grid, .related-service-list, .definition-grid, .form-grid { grid-template-columns: 1fr; }
  .related-service-list { column-gap: 0; }
  .related-service-link { min-height: 58px; }
  .field--full { grid-column: auto; }
  .price-row { grid-template-columns: 34px 1fr; gap: 12px; }
  .price-row strong { grid-column: 2; }
  .price-formula { grid-template-columns: 1fr; gap: 10px; }
  .method-long li { grid-template-columns: 70px 1fr; }
  .method-long li > span { font-size: 3.2rem; }
  .input-action { grid-template-columns: 1fr; }
  .input-action .button { width: 100%; }
  .choice-row { display: grid; grid-template-columns: repeat(2,1fr); }
  .lead-form { padding: 22px 16px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand, .footer-grid > div:last-child { grid-column: auto; }
  .footer-legal { flex-direction: column; }
  .final-cta { text-align: left; }
}

@media (max-width: 390px) {
  .signal-panel__top { flex-direction: column; gap: 6px; }
  .signal-field { width: 175px; }
  .signal-metrics dd { font-size: .66rem; }
  .service-card, .service-directory article { min-width: 0; }
  .vehicle-console { min-height: 420px; }
  .vehicle-console__head { flex-direction: column; gap: 5px; }
  .vehicle-map { min-height: 282px; }
  .vehicle-map__orbit { width: 210px; }
  .system-node { max-width: 106px; white-space: normal; }
  .system-node--lost { max-width: none; white-space: nowrap; }
  .system-node--mercedes { bottom: 0; }
  .service-hero__visual { min-height: 335px; }
  .contact-socials { grid-template-columns: 1fr; }
}

@media (max-width: 350px) {
  .trust-grid { grid-template-columns: 1fr; }
}

@media (max-height: 560px) and (max-width: 860px) {
  body { padding-bottom: 0; }
  .mobile-dock { display: none; }
}

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

@media print {
  .utility-bar, .site-header, .mobile-dock, .final-cta, .site-footer, .button-row { display: none !important; }
  body { padding: 0; color: #000; }
  .page-hero, .service-hero { padding: 28px 0; background: none; color: #000; }
  .page-hero h1, .service-hero h1 { color: #000; }
  .section { padding: 28px 0; }
}

/* V2 · 2026-08-08 · arquitectura comercial, SEO local y B2B */
.technical-proof { overflow: hidden; background: var(--white); }
.technical-proof__grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(520px,1.15fr); gap: clamp(42px,7vw,96px); align-items: start; }
.technical-proof__grid > div:first-child { position: sticky; top: 128px; }
.capability-matrix { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.capability-matrix article { min-height: 220px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(145deg,#fff,#f9fbff); }
.capability-matrix span, .equipment-grid span, .case-template-grid span { color: var(--orange-dark); font-family: var(--mono); font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.capability-matrix h3, .equipment-grid h3 { margin-top: 16px; font-size: 1.6rem; }
.capability-matrix p, .equipment-grid p { margin-top: 12px; color: var(--ink-70); }

.specialization-grid { margin-top: 34px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.specialization-grid a { min-height: 112px; padding: 22px 24px; display: grid; grid-template-columns: 1fr auto; gap: 7px 20px; align-content: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.7); text-decoration: none; transition: background var(--fast), transform var(--fast); }
.specialization-grid a:hover { background: var(--white); transform: translateY(-2px); }
.specialization-grid span { grid-column: 1 / -1; color: var(--orange-dark); font-family: var(--mono); font-size: .66rem; letter-spacing: .08em; }
.specialization-grid strong { color: var(--navy-900); font-family: var(--display); font-size: 1.3rem; }
.specialization-grid i { color: var(--orange); font-style: normal; font-weight: 900; }

.service-hero--landing .service-hero__grid { align-items: stretch; }
.landing-console { min-height: 420px; }
.service-steps--compact { margin-top: 26px; display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--line); }
.service-steps--compact li { min-height: 92px; padding: 20px 0; display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: start; border-bottom: 1px solid var(--line); }
.service-steps--compact li > span { color: var(--orange-dark); font-family: var(--mono); font-size: .72rem; }
.service-steps--compact p { color: var(--ink-70); }

.equipment-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.equipment-grid article { min-height: 260px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.76); }

.area-points { list-style: none; display: grid; gap: 0; border-top: 1px solid var(--line); }
.area-points li { position: relative; min-height: 78px; padding: 22px 18px 22px 48px; border-bottom: 1px solid var(--line); color: var(--navy-900); font-weight: 750; }
.area-points li::before { position: absolute; left: 15px; top: 27px; width: 12px; height: 12px; border: 2px solid var(--orange); border-radius: 50%; content: ""; }
.corridor a { color: inherit; text-decoration: underline; text-decoration-color: rgba(250,92,8,.45); text-underline-offset: 3px; }

.professional-flow { grid-template-columns: repeat(3,minmax(0,1fr)); }
.professional-flow li { min-height: 240px; }

.case-template-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.case-template-grid article { min-height: 220px; padding: 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-template-grid h2 { margin-top: 18px; font-size: 2rem; }
.case-template-grid p { margin-top: 12px; color: var(--ink-70); }
.case-warning { margin-top: 34px; }

.form-result [data-send-whatsapp] { background: var(--orange); color: var(--navy-950); }
.form-result [data-send-whatsapp]:hover { background: #ff7130; }

@media (max-width: 1100px) {
  .technical-proof__grid { grid-template-columns: 1fr; }
  .technical-proof__grid > div:first-child { position: static; }
  .equipment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .professional-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .capability-matrix, .specialization-grid, .equipment-grid, .case-template-grid, .professional-flow { grid-template-columns: 1fr; }
  .capability-matrix article, .equipment-grid article, .case-template-grid article { min-height: auto; }
  .specialization-grid a { min-height: 96px; }
  .professional-flow li { min-height: 190px; }
  .service-steps--compact li { grid-template-columns: 42px 1fr; }
}


/* ===== V3 · identidad real, fotografía y casos técnicos ===== */
.wordmark--official{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit;min-width:220px}
.wordmark--official img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:12px;padding:3px;box-shadow:0 0 0 1px rgba(4,26,67,.08)}
.wordmark--official span{display:flex;flex-direction:column;line-height:1}
.wordmark--official strong{font-size:1.04rem;letter-spacing:.01em;color:var(--ink,#041a43)}
.wordmark--official small{font-size:.66rem;margin-top:.35rem;color:var(--muted,#5d6572);letter-spacing:.015em}
.footer-logo{display:block;width:148px;height:auto;background:#fff;border-radius:16px;padding:8px;margin-bottom:1rem}
.footer-cookie-link{font:inherit;color:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

.visual-proof__grid,.brand-proof__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.brand-proof__grid{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr)}
.brand-proof__grid>img{max-height:560px;width:auto;max-width:100%;margin-inline:auto;object-fit:contain;background:#fff;border-radius:28px;padding:22px;box-shadow:0 18px 60px rgba(4,26,67,.12)}
.photo-slot{margin:0}
.photo-slot__frame{min-height:340px;border:1px dashed rgba(4,26,67,.35);border-radius:24px;background:linear-gradient(145deg,#f7f9fc,#eef3f8);display:grid;place-items:center;position:relative;overflow:hidden}
.photo-slot--vertical .photo-slot__frame{min-height:500px;aspect-ratio:4/5}
.photo-slot__frame:before,.photo-slot__frame:after{content:"";position:absolute;background:rgba(250,92,8,.16)}
.photo-slot__frame:before{width:160%;height:1px;transform:rotate(24deg)}
.photo-slot__frame:after{height:160%;width:1px;transform:rotate(24deg)}
.photo-slot__frame img{width:110px;height:110px;object-fit:contain;opacity:.22;filter:grayscale(.4)}
.photo-slot__frame span{position:absolute;left:18px;bottom:16px;font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#041a43;background:#fff;padding:.55rem .7rem;border-radius:999px;box-shadow:0 4px 16px rgba(4,26,67,.08)}
.photo-slot figcaption{padding:.9rem .2rem 0}
.photo-slot figcaption strong{display:block;color:#041a43}
.photo-slot figcaption p{margin:.3rem 0 0;color:#636b78;font-size:.9rem}
.service-photo-section{padding-top:0}
.credential-list{display:grid;gap:.55rem;margin:1.2rem 0;padding:0;list-style:none}
.credential-list li{position:relative;padding-left:1.6rem}
.credential-list li:before{content:"✓";position:absolute;left:0;color:#fa5c08;font-weight:900}

.case-teaser__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.case-teaser__grid article{border:1px solid rgba(4,26,67,.12);border-radius:20px;padding:1.4rem;background:#fff}
.case-teaser__grid span,.reference-case header span{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#fa5c08}
.case-teaser__grid h3{font-size:1.12rem;margin:.55rem 0}
.case-teaser__grid p{font-size:.92rem;color:#636b78}
.case-teaser__grid a{font-weight:800;color:#041a43;text-decoration:none}
.reference-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.reference-case{background:#fff;border:1px solid rgba(4,26,67,.12);border-radius:24px;padding:clamp(1.3rem,3vw,2rem);box-shadow:0 12px 32px rgba(4,26,67,.05)}
.reference-case header{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(4,26,67,.08);padding-bottom:.8rem}
.reference-case header p{margin:0;font-size:.8rem;text-align:right;color:#646b76}
.reference-case h2{font-size:1.35rem;margin:1.2rem 0}
.reference-case dl{display:grid;gap:1rem}
.reference-case dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#041a43}
.reference-case dd{margin:.25rem 0 0;color:#5f6772}
.reference-source{font-size:.78rem;color:#69717d;border-top:1px solid rgba(4,26,67,.08);padding-top:1rem;margin-top:1.2rem}
.reference-source a{color:#041a43}
.integration-note{border-left:3px solid #fa5c08;padding-left:1rem;font-size:.9rem;color:#dce5f2}

.cookie-consent{position:fixed;z-index:9999;left:16px;right:16px;bottom:16px;max-width:720px;margin:auto;background:#fff;color:#041a43;border-radius:20px;box-shadow:0 20px 80px rgba(4,26,67,.28);border:1px solid rgba(4,26,67,.12);padding:1.2rem}
.cookie-consent[hidden]{display:none}
.cookie-consent h2{font-size:1.05rem;margin:0 0 .45rem}
.cookie-consent p{font-size:.88rem;margin:.2rem 0 .9rem;color:#58616d}
.cookie-consent__actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.cookie-consent__actions button{min-height:46px;border-radius:999px;font:inherit;font-weight:800;cursor:pointer;padding:.7rem 1rem}
.cookie-consent__accept,.cookie-consent__reject{border:2px solid #041a43}
.cookie-consent__accept{background:#041a43;color:#fff}
.cookie-consent__reject{background:#fff;color:#041a43}
.cookie-consent__more{display:inline-block;margin-top:.75rem;font-size:.82rem;color:#041a43}

@media (max-width:850px){
  .wordmark--official small{display:none}
  .wordmark--official{min-width:0}
  .visual-proof__grid,.brand-proof__grid{grid-template-columns:1fr}
  .case-teaser__grid,.reference-case-grid{grid-template-columns:1fr}
  .photo-slot__frame{min-height:260px}
}
@media (max-width:520px){
  .wordmark--official img{width:44px;height:44px}
  .wordmark--official strong{font-size:.92rem}
  .cookie-consent{left:10px;right:10px;bottom:10px}
  .cookie-consent__actions{grid-template-columns:1fr}
  .reference-case header{display:block}
  .reference-case header p{text-align:left;margin-top:.35rem}
}

/* Anti-spam honeypot: fuera del flujo visual y del teclado. */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* V4 · Tienda MG */
.store-teaser{background:#f5f7f9}.store-teaser__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;align-items:stretch}.store-teaser__product{background:#071c3d;color:#fff;padding:2rem;border-radius:18px;display:flex;flex-direction:column;gap:.8rem;box-shadow:0 18px 45px rgba(4,26,67,.12)}.store-teaser__product>span,.store-launch__visual>span,.store-product-card__top span,.store-category>span{font:700 .74rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#f47c20}.store-teaser__product strong{font-size:1.45rem}.store-teaser__product p{color:#c9d6e8}.store-teaser__product div{margin-top:auto;display:flex;align-items:end;gap:.7rem}.store-teaser__product b{font-size:2rem;color:#fff}.store-teaser__product small{color:#aebbd0;max-width:12rem}.store-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.store-category{border:1px solid #d9e0e7;border-radius:16px;padding:1.4rem;background:#fff}.store-category h2{font-size:1.15rem;margin:.55rem 0}.store-category p{margin:0;color:#526173}.store-launch__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:2.4rem;align-items:start}.store-launch__visual{min-height:430px;border-radius:22px;background:linear-gradient(145deg,#061a3b,#0c356e);color:#fff;padding:2rem;display:flex;flex-direction:column;position:relative;overflow:hidden}.store-launch__visual:after{content:'';position:absolute;width:260px;height:260px;border:1px solid rgba(244,124,32,.55);border-radius:50%;right:-60px;top:50px}.store-launch__visual strong{font:800 clamp(4rem,10vw,7rem)/.8 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.08em;margin:auto 0;color:#fff}.store-launch__visual p{position:relative;z-index:1;color:#c9d6e8;max-width:28rem}.store-launch__price{display:flex;align-items:flex-end;gap:1rem;margin:1.5rem 0}.store-launch__price span{display:flex;align-items:baseline;gap:.7rem}.store-launch__price del{color:#7d8794}.store-launch__price b{font-size:2rem;color:#071c3d}.store-launch__price small{color:#5a6675;max-width:30rem}.store-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.store-product-card{background:#fff;border:1px solid #dbe2e9;border-radius:17px;padding:1.4rem;display:flex;flex-direction:column;gap:.8rem}.store-product-card.is-launch{border-color:#f47c20;box-shadow:inset 0 4px 0 #f47c20}.store-product-card__top{display:flex;justify-content:space-between;gap:1rem}.store-product-card__top b{font-size:.82rem;background:#eef3f8;border-radius:999px;padding:.3rem .55rem}.store-product-card h3{margin:0;font-size:1.15rem}.store-product-card>p{margin:0;color:#526173}.store-product-card dl{margin:.3rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.store-product-card dl div{border-top:1px solid #e7ebef;padding-top:.55rem}.store-product-card dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#748090}.store-product-card dd{margin:.15rem 0 0;font-weight:650}.store-product-card__status{align-self:flex-start;margin-top:auto;background:#071c3d;color:#fff;border-radius:999px;padding:.35rem .65rem;font-size:.75rem}.woocommerce .woocommerce-breadcrumb{margin:1.2rem auto;max-width:1200px;padding:0 20px}.woocommerce .products{max-width:1200px;margin-inline:auto;padding:2rem 20px;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:#fff;border:1px solid #dce2e8;border-radius:16px;padding:1rem}.woocommerce ul.products li.product .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button{background:#071c3d!important;color:#fff!important;border-radius:999px!important}.woocommerce div.product{max-width:1200px;margin:2rem auto;padding:0 20px}.woocommerce-message,.woocommerce-info{border-top-color:#f47c20!important}.woocommerce-message::before,.woocommerce-info::before{color:#f47c20!important}
@media(max-width:900px){.store-teaser__grid,.store-launch__grid{grid-template-columns:1fr}.store-category-grid{grid-template-columns:repeat(2,1fr)}.woocommerce .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.store-category-grid,.store-product-grid,.woocommerce .products{grid-template-columns:1fr}.store-launch__visual{min-height:320px}.store-launch__price{align-items:flex-start;flex-direction:column}.store-product-card dl{grid-template-columns:1fr}}
