/* The original red / graphite visual identity, adapted for readable multilingual sales copy. */
[hidden] { display:none !important; }
.hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; min-height:820px; padding-top:160px; }
.hero-title { font-size:clamp(48px,5.1vw,76px); line-height:1.02; letter-spacing:-.015em; }
.hero-title strong { width:auto; max-width:100%; margin-top:.15em; overflow-wrap:normal; }
.hero-title strong::after { display:none; }
.hero-lead { font-size:17px; }
.hero-actions { gap:24px; flex-wrap:wrap; }
.hero-stats { gap:0; margin-top:35px; }
.hero-stats > div { min-width:0; padding:0 18px; flex:1; }
.hero-stats dt { font-size:21px; letter-spacing:.02em; overflow-wrap:anywhere; }
.hero-stats dd { text-transform:none; font-size:12px; letter-spacing:0; }
.hero-visual { min-height:570px; }
.hero-frame { aspect-ratio:1.08; top:0; }
.hero-frame img { filter:none; object-position:64% center; }
.hero-card--gear { width:220px; height:160px; bottom:0; left:-15px; }
.hero-card--status { bottom:-22px; right:0; width:220px; }
.hero-card--status strong { font-size:13px; line-height:1.3; letter-spacing:.04em; }
.hero-card--status small { line-height:1.5; }
.quote-note { font-size:12px; line-height:1.6; color:var(--muted); max-width:640px; }
.hero-copy > .quote-note { margin:20px 0 0; }
.muted { color:var(--muted); }
h1,h2,h3 { overflow-wrap:break-word; }
h2 { line-height:1.15; letter-spacing:0; }
.section-heading h2 { font-size:clamp(34px,4vw,56px); }
.button { font-family:var(--font-body); font-size:11px; letter-spacing:.045em; line-height:1.35; text-align:center; padding-block:14px; white-space:normal; }
.text-link { font-family:var(--font-body); line-height:1.5; letter-spacing:.03em; }
.desktop-nav { gap:17px; }
.desktop-nav a { font-family:var(--font-body); letter-spacing:0; text-transform:none; font-size:12px; }
.header-actions { gap:18px; }
.language-picker { position:relative; font-size:13px; }
.language-picker summary { cursor:pointer; padding:12px 6px; list-style:none; }
.language-picker summary::-webkit-details-marker { display:none; }
.language-picker summary span { color:var(--red); margin-left:4px; }
.language-picker nav { position:absolute; right:0; top:100%; display:grid; min-width:180px; max-height:65vh; overflow:auto; padding:10px; background:#101419; border:1px solid var(--line-red); box-shadow:0 20px 50px #0009; }
.language-picker nav a { padding:8px 12px; }
.language-picker nav a:hover,.language-picker nav a[aria-current] { background:#f2333522; color:var(--red-hot); }
.footer-languages { display:flex; flex-wrap:wrap; gap:10px 24px; border-top:1px solid var(--line); padding-block:24px; font-size:12px; color:var(--muted); }
.footer-languages a:hover { color:var(--white); }
.audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.audience-card { padding:32px; display:flex; flex-direction:column; align-items:flex-start; }
.audience-card h3 { font-size:25px; line-height:1.2; margin:22px 0 12px; letter-spacing:0; }
.audience-card p { margin:0 0 26px; color:var(--muted); font-size:14px; }
.audience-card .text-link { margin-top:auto; font-size:11px; }
.section--locations { background:linear-gradient(135deg,#12171d,#080b0d); border-block:1px solid var(--line); }
.location-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.location-photo { position:relative; display:block; overflow:hidden; border:1px solid var(--line); }
.location-photo img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transition:transform .5s; }
.location-photo:hover img { transform:scale(1.04); }
.location-photo span { position:absolute; bottom:12px; left:12px; background:#080b0ddb; padding:5px 12px; font:600 12px var(--font-display); letter-spacing:.1em; }
.location-card h3 { font-size:28px; line-height:1.2; margin:24px 0 12px; }
.location-card p { color:var(--muted); font-size:14px; }
.location-card .text-link { margin-top:12px; }
.equipment-editorial { position:relative; }
.equipment-editorial img { width:100%; aspect-ratio:5/4; object-fit:cover; border:1px solid var(--line); }
.equipment-editorial > p { color:var(--muted); font-size:12px; margin:18px 0; }
.equipment-editorial .micro-label { position:absolute; top:16px; left:16px; padding:8px 12px; background:#080b0ddc; }
.kit-layout h2 { font-size:clamp(32px,3vw,48px); }
.step-card h3 { font-size:23px; letter-spacing:0; line-height:1.2; }
.step-card { padding:28px 24px; }
.step-card p { font-size:14px; }
.quote-factors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.quote-factors article { padding:30px; }
.quote-factors h3 { font-size:30px; line-height:1.2; margin:24px 0 12px; }
.quote-factors p { color:var(--muted); font-size:15px; margin-bottom:0; }
.quote-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; margin-top:35px; }
.editorial-callout { padding:clamp(28px,5vw,70px); max-width:1080px; }
.editorial-callout h2 { max-width:900px; font-size:clamp(34px,4vw,54px); }
.editorial-callout > p:not(.eyebrow) { max-width:850px; font-size:18px; color:var(--muted); }
.editorial-callout .button { margin-top:22px; }
.segment-links { display:flex; flex-wrap:wrap; gap:32px; margin-top:30px; }
.subhero { grid-template-columns:1fr; min-height:0; padding-bottom:30px; }
.subhero-copy { max-width:1000px; }
.subhero h1 { font-size:clamp(40px,5.5vw,76px); letter-spacing:0; line-height:1.1; }
.subhero-copy .button { margin-top:20px; }
.page:not(.page--home) .section { padding-block:70px; }
.order-layout { position:relative; align-items:start; padding-top:30px !important; }
.order-form fieldset { min-width:0; }
.field input,.field select,.field textarea { min-width:0; width:100%; font-size:16px; color-scheme:dark; }
.field select { padding-right:32px; }
.field select option { background:#101419; color:var(--white); }
.order-summary .text-link { overflow-wrap:anywhere; text-transform:none; }
.quote-success { grid-column:1/-1; padding:60px; text-align:center; width:100%; }
.quote-success .success-icon { margin-inline:auto; }
.quote-success h2 { font-size:clamp(30px,4vw,48px); }
.quote-success p { color:var(--muted); }
.quote-success strong { color:var(--white); display:inline-block; }
.mobile-quote { display:none; }
.legal-layout { padding-top:30px !important; }
.legal-layout > aside { gap:24px; }
@media(min-width:1181px) and (max-width:1380px) { .header-cta { display:none; } }
@media(max-width:1000px) {
 .hero { grid-template-columns:1fr; padding-top:130px; gap:42px; }
 .hero-copy { max-width:850px; }
 .hero-title { font-size:clamp(50px,8vw,76px); }
 .hero-visual { min-height:600px; max-width:700px; width:100%; margin-inline:auto; }
 .hero-frame { width:100%; aspect-ratio:1.4; }
 .audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .location-grid { gap:18px; }
 .location-card h3 { font-size:24px; }
 .kit-layout { grid-template-columns:1fr; gap:40px; }
 .equipment-editorial img { max-height:520px; }
}
@media(max-width:640px) {
 .hero { padding-top:110px; min-height:0; gap:28px; }
 .hero-title { font-size:clamp(38px,10vw,58px); line-height:1.1; }
 .hero-lead { font-size:16px; }
 .hero-actions { width:100%; }
 .hero-stats { flex-wrap:wrap; gap:20px 0; }
 .hero-stats dt { font-size:clamp(12px,3.5vw,15px); text-transform:none; letter-spacing:-.025em; overflow-wrap:normal; }
 .hero-stats dd { font-size:11px; line-height:1.4; }
 .hero-stats > div { padding-inline:10px; }
 .hero-visual { min-height:350px; }
 .hero-frame { aspect-ratio:1.15; }
 .hero-card--gear { display:none; }
 .hero-card--status { width:205px; bottom:-10px; right:10px; }
 .audience-grid,.location-grid,.quote-factors { grid-template-columns:1fr; }
 .audience-card { padding:28px; }
 .location-grid { gap:40px; }
 .location-card h3 { font-size:30px; }
 .location-photo img { aspect-ratio:3/2; }
 .quote-actions { align-items:stretch; flex-direction:column; gap:10px; }
 .quote-actions .button { width:100%; }
 .section-heading h2 { font-size:34px; }
 .editorial-callout > p:not(.eyebrow) { font-size:16px; }
 .editorial-callout .button { width:100%; }
 .quote-success { padding:34px 22px; }
 .mobile-quote { display:flex; position:fixed; bottom:calc(12px + env(safe-area-inset-bottom)); left:14px; right:14px; z-index:45; box-shadow:0 8px 30px #000a; }
 .site-footer { padding-bottom:90px; }
 .page--order .site-footer { padding-bottom:0; }
 .subhero h1 { font-size:clamp(34px,9vw,46px); }
 .page:not(.page--home) .section { padding-block:48px; }
 .hero-title,.subhero h1 { hyphens:auto; }
}
@media(prefers-reduced-motion:reduce) { .location-photo img { transition:none; } }
