:root {
        --bg: #f7f7f7;
        --surface: #ffffff;
        --surface-2: #f0f1f2;
        --surface-3: #e7e8ea;
        --line: #d2d4d7;
        --line-soft: rgba(19, 22, 26, .12);
        --text: #111214;
        --muted: #5f6368;
        --muted-2: #7d8187;
        --red: #eb0a1e;
        --red-soft: #ff5563;
        --cyan: #eb0a1e;
        --green: #167a55;
        --shadow: 0 18px 54px rgba(15,18,22,.12);
        font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        color: var(--text);
        background: var(--bg);
      }
      * { box-sizing: border-box; }
      html { scroll-behavior: smooth; background: var(--bg); }
      body { margin: 0; background: var(--bg); color: var(--text); }
      button, input, select, textarea { font: inherit; }
      button, a { -webkit-tap-highlight-color: transparent; }
      button { cursor: pointer; }
      a { color: inherit; }
      .shell { width: min(1180px, calc(100% - 42px)); margin: 0 auto; }
      .topbar { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.96); border-top: 4px solid var(--red); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
      .topbar-inner { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
      .brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--text); min-width: max-content; }
      .brand-mark { width: 38px; height: 38px; display: grid; place-items: center; color: var(--text); }
      .brand-logo { width: 38px; height: 38px; display:block; }
      .brand-word { font-size: 14px; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; }
      .top-nav { display: flex; align-items: center; gap: 4px; overflow-x: auto; }
      .nav-link { border: 0; background: transparent; text-decoration: none; color: var(--muted); padding: 9px 12px; font-size: 12px; font-weight: 700; white-space: nowrap; transition: color .18s ease, background .18s ease; }
      .nav-link:hover, .nav-link.active { color: var(--text); background: var(--surface-2); }
      .header-cta { border: 1px solid var(--red); color: var(--red); padding: 9px 13px; text-decoration: none; font-size: 12px; font-weight: 800; white-space: nowrap; }
      .route-note { color: var(--muted-2); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
      .view { display: none; min-height: calc(100vh - 70px); padding: 48px 0 74px; }
      .view.active { display: block; }
      .view-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
      .view-head h1 { margin: 12px 0 0; max-width: 690px; font-size: clamp(50px, 7vw, 86px); line-height: .92; letter-spacing: -.08em; font-weight: 650; }
      .view-head > p { max-width: 330px; margin: 0 0 6px; color: var(--muted); line-height: 1.55; font-size: 14px; }
      .eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
      .eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--red); }
      .hero-copy { max-width: 620px; color: var(--muted); font-size: 18px; line-height: 1.55; margin: 22px 0 0; }
      .hero-card { background: #111214; color: white; border-top: 5px solid var(--red); padding: 26px; min-height: 190px; position: relative; overflow: hidden; box-shadow: var(--shadow); }
      .hero-card::after { content: "SORA"; position: absolute; right: -9px; bottom: -25px; color: rgba(235,10,30,.14); font-size: 104px; font-weight: 900; letter-spacing: -.1em; }
      .hero-card > * { position: relative; z-index: 1; }
      .hero-card h2 { margin: 0 0 9px; font-size: 21px; letter-spacing: -.04em; }
      .hero-card p { color: #c9cbd0; font-size: 14px; line-height: 1.55; max-width: 300px; margin: 0; }
      .hero { padding: 14px 0 42px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 28px; align-items: end; }
      .trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 0 0 44px; }
      .trust-item { padding: 18px 20px; border-right: 1px solid var(--line); }
      .trust-item:last-child { border-right: 0; }
      .trust-kicker { display: block; font-size: 10px; font-weight: 800; color: var(--cyan); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 6px; }
      .trust-item strong { font-size: 15px; letter-spacing: -.02em; }
      .section { padding: 22px 0 44px; scroll-margin-top: 88px; }
      .section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
      .section-head h2 { margin: 11px 0 0; font-size: clamp(30px, 4vw, 46px); letter-spacing: -.07em; font-weight: 650; }
      .section-head p { max-width: 390px; margin: 0; color: var(--muted); line-height: 1.5; font-size: 14px; }
      .substeps { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); margin: 0 0 34px; }
      .substep { min-height: 48px; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
      .substep:last-child { border-right: 0; }
      .substep.active, .substep:hover { background: var(--surface-3); color: var(--text); }
      .substep span { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--line); color: var(--text); font-size: 10px; margin-right: 7px; }
      .substep.active span { background: var(--cyan); color: #08202a; }
      .model-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
      .model-card { text-align: left; border: 1px solid var(--line); background: var(--surface); padding: 0; overflow: hidden; color: var(--text); transition: transform .18s ease, border .18s ease, box-shadow .18s ease; }
      .model-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.18); }
      .model-card.active { border: 2px solid var(--red); box-shadow: 0 10px 24px rgba(235,10,30,.13); }
      .default-photo { height: 132px; display: flex; flex-direction: column; justify-content: end; padding: 12px; background: #eceef0; color: white; position: relative; overflow: hidden; }
      .default-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
      .model-card:hover .default-photo img { transform:scale(1.035); }
      .default-photo small { position: relative; z-index: 1; color: white; background:rgba(0,0,0,.64); width:max-content; padding:5px 7px; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
      .model-card-body { padding: 14px; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
      .model-name { font-size: 16px; font-weight: 800; letter-spacing: -.03em; }
      .stock-count { color: var(--muted); font-size: 12px; white-space: nowrap; }
      .stock-count b { color: var(--green); font-size: 15px; }
      .builder { display: grid; grid-template-columns: .82fr 1.18fr; gap: 18px; align-items: start; }
      .panel { background: var(--surface); border: 1px solid var(--line); padding: 24px; box-shadow: 0 8px 24px rgba(0,0,0,.1); }
      .panel h3 { margin: 0 0 7px; font-size: 20px; letter-spacing: -.04em; }
      .panel-note { margin: 0 0 18px; color: var(--muted); font-size: 14px; line-height: 1.5; }
      .selected-preview { min-height: 420px; overflow: hidden; background: #111214; color: white; display: flex; flex-direction: column; justify-content: space-between; position: relative; }
      .interior-reference { position:absolute; inset:0; z-index:2; display:flex; align-items:center; gap:18px; padding:28px; background:linear-gradient(135deg,rgba(10,12,14,.94),rgba(10,12,14,.68)); }
      .interior-reference[hidden] { display:none; }
      .interior-reference-swatch { width:96px; height:96px; flex:0 0 96px; border-radius:50%; background:var(--interior-color,#777); background-size:cover; background-position:center; border:3px solid rgba(255,255,255,.9); box-shadow:0 0 0 8px rgba(255,255,255,.12); }
      .interior-reference-kicker { display:block; margin-bottom:6px; color:#cbd0d5; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
      .interior-reference strong { display:block; color:#fff; font-size:24px; letter-spacing:-.04em; }
      .interior-reference span:not(.interior-reference-swatch):not(.interior-reference-kicker), .interior-reference small { display:block; color:#d7dbe0; margin-top:4px; }
      .selected-preview::before { display:none; }
      .preview-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
      .preview-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.02) 42%,rgba(0,0,0,.82)); }
      .preview-top { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:16px; }
      .media-tabs { display:flex; gap:1px; background:rgba(255,255,255,.22); }
      .media-tab { border:0; padding:9px 12px; background:rgba(0,0,0,.65); color:white; font-size:12px; font-weight:800; }
      .media-tab.active { background:var(--red); }
      .preview-copy { padding:22px; }
      .selected-preview > * { position: relative; z-index: 1; }
      .selected-preview > .preview-image { position:absolute; z-index:0; }
      .selected-preview > .preview-shade { position:absolute; z-index:1; }
      .selected-preview > .preview-top, .selected-preview > .preview-copy { position:relative; z-index:2; }
      .photo-label { color: white; background:rgba(0,0,0,.68); padding:7px 9px; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; }
      .selected-preview h3 { color: white; font-size: 34px; margin: 0; }
      .selected-preview p { color: #d0e2e8; margin: 5px 0 0; font-size: 14px; }
      .step-label { color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; }
      .color-swatches { display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; }
      .swatch { border:0; background:transparent; color:var(--muted); min-width:64px; padding:0; font-size:11px; text-align:center; }
      .swatch i { display:block; width:38px; height:38px; border:3px solid var(--surface); outline:1px solid var(--line); border-radius:50%; margin:0 auto 6px; box-shadow:0 0 0 0 var(--red); }
      .swatch.active { color:var(--text); font-weight:800; }
      .swatch.active i { box-shadow:0 0 0 2px var(--red); }
      .choice-group { display: flex; flex-wrap: wrap; gap: 8px; }
      .choice { border: 1px solid var(--line); background: transparent; padding: 10px 14px; color: var(--text); font-size: 13px; }
      .choice.active { background: var(--text); border-color: var(--text); color: var(--bg); }
      .spacer { height: 23px; }
      .button { border: 0; padding: 12px 17px; font-weight: 800; font-size: 13px; color: white; background: var(--red); transition: background .16s ease, transform .16s ease; text-decoration: none; display: inline-block; }
      .button:hover { background: #ff2034; transform: translateY(-1px); }
      .button.secondary { background: var(--surface-3); color: var(--text); }
      .button.secondary:hover { background: var(--line); }
      .button-row { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 22px; }
      .payment-layout { display: grid; grid-template-columns: .84fr 1.16fr; gap: 18px; }
      .payment-modes { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 2px 0 20px; background: var(--line); }
      .mode { border: 0; background: var(--surface-2); color: var(--text); padding: 12px 8px; font-weight: 800; font-size: 13px; }
      .mode.active { background: var(--text); color: var(--bg); }
      .estimate-box { min-height: 168px; background: var(--surface-3); color: var(--text); padding: 20px; display: flex; flex-direction: column; justify-content: center; }
      .estimate-box small { color: var(--muted); font-size: 12px; }
      .estimate-box strong { margin: 7px 0 4px; font-size: 31px; letter-spacing: -.05em; }
      .estimate-box p { color: var(--muted); line-height: 1.45; font-size: 13px; margin: 0; }
      .fee-list { display: grid; gap: 10px; }
      .fee { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
      .fee:last-child { border-bottom: 0; padding-bottom: 0; }
      .fee strong { font-size: 15px; }
      .fee p { margin: 4px 0 0; font-size: 12px; color: var(--muted); line-height: 1.45; }
      .fee-amount { font-weight: 900; white-space: nowrap; color: var(--cyan); }
      .programs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 18px; }
      .program { border: 1px solid var(--line); padding: 16px; background: var(--surface-2); }
      .program h4 { margin: 0 0 6px; font-size: 15px; letter-spacing: -.02em; }
      .program strong { color: var(--red-soft); font-size: 20px; }
      .program p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
      .program details { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.45; }
      .program summary { cursor: pointer; color: var(--text); font-weight: 800; }
      .program-pick { display: flex; align-items: start; gap: 8px; margin-top: 11px; color: var(--text); font-size: 12px; font-weight: 800; }
      .program-pick input { width: 16px; height: 16px; margin-top: 1px; accent-color: var(--red); }
      .apr-card { margin-top: 18px; padding: 18px; background: var(--surface-3); border-left: 2px solid var(--cyan); }
      .apr-card h4 { margin: 0 0 5px; font-size: 15px; }
      .apr-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
      .apr-card a { color: var(--cyan); font-weight: 800; }
      .program-total { margin-top: 12px; color: var(--green); font-size: 13px; font-weight: 800; min-height: 18px; }
      .info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
      .info-card { background: var(--surface-2); border: 1px solid var(--line); color: var(--text); padding: 26px; }
      .info-card.safety { background: #111214; color:white; }
      .info-card.safety p { color:#c9cbd0; }
      .info-card.safety li { color:white; }
      .video-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:28px; }
      .video-card { background:var(--surface); border:1px solid var(--line); padding:14px; }
      .video-frame { aspect-ratio:16/9; width:100%; border:0; display:block; background:#111; }
      .video-card h3 { margin:14px 0 6px; font-size:19px; }
      .video-card p { margin:0; color:var(--muted); line-height:1.5; font-size:14px; }
      .history-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:28px; }
      .history-item { background:var(--surface); padding:22px; }
      .history-item strong { display:block; color:var(--red); font-size:24px; margin-bottom:8px; }
      .history-item p { margin:0; color:var(--muted); line-height:1.5; font-size:14px; }
      .info-card h3 { margin: 0 0 14px; font-size: 30px; letter-spacing: -.06em; }
      .info-card p { color: var(--muted); font-size: 14px; line-height: 1.55; margin: 0 0 13px; }
      .info-card ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
      .info-card li { color: var(--text); padding-left: 20px; position: relative; font-size: 14px; line-height: 1.45; }
      .info-card li::before { content: ""; position: absolute; left: 0; top: .56em; width: 8px; height: 8px; background: var(--red); border-radius: 50%; }
      .about-grid, .faq-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 18px; }
      .about-callout { background: var(--red); padding: 28px; color: white; min-height: 100%; }
      .about-callout h2 { margin: 0 0 13px; font-size: 42px; line-height: .98; letter-spacing: -.07em; }
      .about-callout p { color: #ffe7ea; line-height: 1.55; font-size: 14px; margin: 0; }
      .about-list { display: grid; gap: 1px; background: var(--line); }
      .about-item { background: var(--surface); padding: 22px; }
      .about-item h3 { margin: 0 0 7px; font-size: 18px; }
      .about-item p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
      .faq-list { display: grid; gap: 1px; background: var(--line); }
      .faq-list details { background: var(--surface); padding: 20px 22px; }
      .faq-list summary { cursor: pointer; font-weight: 800; }
      .faq-list p { color: var(--muted); line-height: 1.55; font-size: 14px; margin: 12px 0 0; }
      .form-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 18px; }
      .form-intro { background: var(--surface-2); border: 1px solid var(--line); padding: 28px; min-height: 100%; }
      .form-intro h2 { margin: 12px 0; font-size: 42px; line-height: .98; letter-spacing: -.07em; }
      .form-intro p { margin: 0; color: var(--muted); line-height: 1.5; font-size: 14px; }
      .selection-summary { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 18px; }
      .selection-summary strong { display: block; font-size: 23px; margin-bottom: 5px; }
      .selection-summary span { color: var(--muted); font-size: 13px; }
      .selection-details { margin-top:18px; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); }
      .selection-detail { display:flex; justify-content:space-between; gap:18px; padding:10px 12px; border-top:1px solid var(--line-soft); font-size:12px; }
      .selection-detail:first-child { border-top:0; }
      .selection-detail span { color:var(--muted); }
      .selection-detail strong { text-align:right; }
      form { display: grid; gap: 13px; }
      .field { display: grid; gap: 6px; }
      label { font-size: 12px; font-weight: 800; }
      input, select, textarea { width: 100%; border: 1px solid var(--line); background: var(--surface-2); padding: 12px 13px; color: var(--text); outline: none; border-radius: 0; }
      textarea { min-height: 88px; resize: vertical; }
      input::placeholder, textarea::placeholder { color: var(--muted-2); }
      input:focus, select:focus, textarea:focus, button:focus-visible { outline: 2px solid rgba(137,216,232,.45); outline-offset: 2px; border-color: var(--cyan); }
      .check { display: flex; align-items: start; gap: 9px; color: var(--muted); font-size: 12px; line-height: 1.45; }
      .check input { width: 16px; height: 16px; margin-top: 1px; accent-color: var(--red); }
      .form-status { color: var(--green); font-size: 13px; min-height: 18px; }
      footer { padding: 0 0 45px; color: var(--muted-2); font-size: 12px; line-height: 1.6; }
      .footer-line { border-top: 1px solid var(--line); padding-top: 18px; display: flex; justify-content: space-between; gap: 20px; }
      @media (max-width: 900px) { .topbar-inner { align-items: flex-start; padding: 14px 0; flex-wrap: wrap; } .top-nav { order: 3; width: 100%; } .hero, .builder, .payment-layout, .form-layout, .about-grid, .faq-grid { grid-template-columns: 1fr; } .model-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .view-head { display: block; } .view-head > p { margin-top: 16px; } .video-grid,.history-grid{grid-template-columns:1fr;} }
      @media (max-width: 650px) { .shell { width: min(100% - 24px, 560px); } .topbar-inner { min-height: 0; } .brand-word { font-size: 12px; } .header-cta { margin-left:auto; } .view { padding-top: 34px; } .view-head h1 { font-size: 54px; } .hero { padding-top: 0; } .hero-copy { font-size: 16px; } .trust-strip { grid-template-columns: 1fr; margin-bottom: 28px; } .trust-item { border-right: 0; border-bottom: 1px solid var(--line); padding: 14px 0; } .trust-item:last-child { border-bottom: 0; } .model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; } .default-photo { height: 110px; } .model-card-body { padding: 12px; display: block; } .stock-count { margin-top: 4px; display: block; } .section { padding-bottom: 30px; } .section-head { display: block; } .section-head p { margin-top: 9px; } .panel { padding: 18px; } .selected-preview { min-height: 310px; } .info-grid, .programs { grid-template-columns: 1fr; } .substeps { overflow-x: auto; grid-template-columns: repeat(4, minmax(120px, 1fr)); } .footer-line { display: block; } }
      :root[data-theme="dark"] { --bg:#08141b; --surface:#10222b; --surface-2:#142a35; --surface-3:#1b3542; --line:#38515d; --line-soft:rgba(235,255,255,.14); --text:#f4f7f8; --muted:#b4c2c8; --muted-2:#8ea4ad; --red:#eb0a1e; --red-soft:#ff7985; --cyan:#9bd5e2; --green:#67d29d; --shadow:0 18px 54px rgba(0,0,0,.28); }
      :root[data-theme="dark"] .topbar { background:rgba(8,20,27,.95); }
      :root[data-theme="dark"] .default-photo { background:#1b3542; }
      :root[data-theme="dark"] .choice.active, :root[data-theme="dark"] .mode.active { background:#f4f7f8; color:#08141b; border-color:#f4f7f8; }
      :root[data-theme="dark"] .button.secondary { background:var(--surface-3); color:var(--text); }
      .header-actions { display:flex; align-items:center; gap:8px; }
      .theme-toggle, .menu-toggle { border:1px solid var(--line); background:var(--surface); color:var(--text); width:38px; height:38px; display:grid; place-items:center; font-size:16px; }
      .theme-toggle:hover, .menu-toggle:hover { border-color:var(--red); color:var(--red); }
      .menu-toggle { display:none; }
      .menu-panel { display:none; position:absolute; top:calc(100% + 8px); right:0; width:min(280px, calc(100vw - 24px)); padding:8px; background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow); }
      .menu-panel.open { display:grid; }
      .menu-panel .nav-link { text-align:left; padding:13px 12px; font-size:13px; }
      .topbar-inner { position:relative; }
      .header-cta { margin-left:auto; }
      .difference-trigger { border:0; background:transparent; color:var(--red); padding:0; font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
      .difference-trigger:hover { color:var(--text); }
      .preview-controls { position:absolute; left:16px; right:16px; bottom:16px; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:10px; }
      .preview-arrow { border:1px solid rgba(255,255,255,.55); background:rgba(0,0,0,.58); color:white; width:34px; height:34px; border-radius:50%; font-size:18px; line-height:1; }
      .preview-arrow:hover { background:var(--red); border-color:var(--red); }
      .media-count { color:white; background:rgba(0,0,0,.58); padding:8px 10px; font-size:11px; letter-spacing:.08em; }
      .media-dots { display:flex; gap:5px; justify-content:center; margin-top:10px; }
      .media-dot { border:0; background:var(--line); width:6px; height:6px; padding:0; border-radius:50%; }
      .media-dot.active { background:var(--red); transform:scale(1.35); }
      .modal-backdrop { position:fixed; inset:0; z-index:60; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(5,10,14,.68); }
      .modal-backdrop.open { display:flex; }
      .difference-modal { width:min(680px, 100%); max-height:min(720px, 90vh); overflow:auto; background:var(--surface); color:var(--text); border:1px solid var(--line); box-shadow:var(--shadow); }
      .difference-modal-head { display:flex; align-items:start; justify-content:space-between; gap:18px; padding:22px 24px; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--surface); z-index:1; }
      .difference-modal-head h2 { margin:0; font-size:28px; letter-spacing:-.06em; }
      .difference-modal-head p { margin:6px 0 0; color:var(--muted); font-size:13px; }
      .modal-close { border:1px solid var(--line); background:transparent; color:var(--text); width:34px; height:34px; font-size:22px; line-height:1; }
      .modal-close:hover { color:var(--red); border-color:var(--red); }
      .difference-list { display:grid; gap:1px; background:var(--line); margin:0 24px 24px; }
      .difference-row { background:var(--surface); padding:16px; display:grid; grid-template-columns:150px 1fr; gap:16px; }
      .difference-row strong { color:var(--red); font-size:13px; }
      .difference-row span { color:var(--muted); font-size:13px; line-height:1.5; }
      @media (max-width: 900px) { .top-nav { display:none; } .menu-toggle { display:grid; } .header-actions { margin-left:auto; } .header-cta { margin-left:0; } }
      @media (max-width: 650px) { .header-cta { display:none; } .topbar-inner { align-items:center; } .brand { gap:8px; } .theme-toggle,.menu-toggle { width:36px; height:36px; } .difference-row { grid-template-columns:1fr; gap:6px; } .difference-modal-head { padding:18px; } .difference-list { margin:0 18px 18px; } }
      .builder { grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); align-items:start; }
      .builder > .panel { grid-column:1; grid-row:1 / span 3; }
      .builder > .selected-preview { grid-column:2; grid-row:1; min-height:360px; }
      .builder > .media-dots { grid-column:2; grid-row:2; }
      .builder > .build-summary { grid-column:2; grid-row:3; }
      .selected-preview { background:#e9ecef; }
      .preview-image { object-fit:contain; background:#eef0f1; }
      .preview-shade { background:linear-gradient(180deg,rgba(0,0,0,.02) 52%,rgba(0,0,0,.78)); }
      .config-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }
      .option-head { display:flex; align-items:end; justify-content:space-between; gap:14px; margin-bottom:10px; }
      .option-head .step-label { margin:0; }
      .option-value { color:var(--muted); font-size:13px; }
      .availability-box { border:1px solid var(--line); padding:12px 14px; margin:16px 0 22px; display:flex; align-items:center; gap:9px; font-size:12px; color:var(--muted); }
      .availability-box b { color:var(--green); }
      .availability-dot { width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(22,122,85,.15); }
      .choice { min-width:110px; min-height:44px; text-align:left; position:relative; }
      .choice.active::after { content:'✓'; float:right; margin-left:10px; }
      .choice small { display:block; color:var(--muted); margin-top:4px; font-size:10px; }
      .color-swatches { gap:18px 14px; }
      .swatch { width:78px; min-width:78px; line-height:1.15; color:var(--text); }
      .swatch i { width:42px; height:42px; border-width:3px; }
      .swatch small { display:block; color:var(--muted); margin-top:4px; font-size:9px; line-height:1.25; }
      .swatch .inventory-count { color:var(--green); font-weight:800; font-size:10px; }
      .swatch.unavailable { opacity:.58; }
      .swatch.unavailable small:first-of-type { color:var(--red); font-weight:800; }
      .swatch[disabled] { opacity:.35; cursor:not-allowed; }
      .swatch[disabled] i { filter:grayscale(1); }
      .build-summary { background:var(--surface); border:1px solid var(--line); padding:20px; }
      .build-summary h3 { margin:4px 0 18px; font-size:24px; }
      .summary-line { display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding:11px 0; font-size:12px; color:var(--muted); }
      .summary-line strong { color:var(--text); text-align:right; }
      .summary-price { background:var(--surface-3); margin:-20px -20px 18px; padding:18px 20px; display:flex; justify-content:space-between; align-items:end; gap:16px; }
      .summary-price span { font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
      .summary-price strong { font-size:20px; }
      .difference-row { grid-template-columns:170px 1fr; }
      .difference-features { margin:0; padding-left:18px; color:var(--muted); font-size:13px; line-height:1.55; }
      .difference-features li + li { margin-top:5px; }
      .calculator-panel { display:grid; gap:18px; }
      .calc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
      .calc-field { display:grid; gap:7px; }
      .calc-field.full { grid-column:1 / -1; }
      .calc-field label { display:flex; justify-content:space-between; gap:12px; }
      .range-line { display:flex; align-items:center; gap:12px; }
      .range-line input[type="range"] { padding:0; border:0; background:transparent; accent-color:var(--red); }
      .range-value { min-width:76px; text-align:right; font-weight:800; }
      .payment-result { background:#0b2d3a; color:white; padding:24px; border-top:4px solid var(--red); }
      .payment-result .result-label { color:#b9cdd4; font-size:12px; }
      .payment-result .result-main { font-size:46px; letter-spacing:-.06em; margin:6px 0 2px; font-weight:700; }
      .payment-result .result-main small { font-size:14px; letter-spacing:0; }
      .payment-result .result-sub { color:#c7d7dd; font-size:13px; margin-bottom:20px; }
      .result-breakdown { display:grid; gap:0; }
      .result-row { display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-top:1px solid rgba(255,255,255,.18); font-size:12px; color:#c7d7dd; }
      .result-row strong { color:white; text-align:right; }
      .availability-preference { display:none; margin:18px 0 0; padding:16px; border:1px solid var(--red); border-radius:14px; background:color-mix(in srgb,var(--red) 5%,var(--surface)); }
      .availability-preference.open { display:block; }
      .availability-preference p { margin:0 0 12px; font-size:13px; line-height:1.5; }
      .availability-preference .check { margin-top:8px; color:var(--text); }
      .warranty-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
      .warranty-grid article { padding:26px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
      .warranty-grid strong { display:block; color:var(--red); font-size:18px; margin-bottom:8px; }
      .warranty-grid p { margin:0; color:var(--muted); line-height:1.6; font-size:14px; }
      .source-note { margin:14px 0 0; color:#a8bec6; font-size:10px; line-height:1.5; }
      .payment-layout { grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); }
      @media (max-width:900px) { .builder,.payment-layout { grid-template-columns:1fr; } .builder > .panel,.builder > .selected-preview,.builder > .media-dots,.builder > .build-summary { grid-column:1; grid-row:auto; } .builder > .panel { order:1; } .builder > .selected-preview { order:2; } .builder > .media-dots { order:3; } .builder > .build-summary { order:4; } }
      @media (max-width:650px) { .calc-grid { grid-template-columns:1fr; } .calc-field.full { grid-column:auto; } .choice { min-width:calc(50% - 4px); } .selected-preview { min-height:300px; } .payment-result .result-main { font-size:40px; } .difference-row { grid-template-columns:1fr; } }
      /* Refined editorial and theme system */
      :root { --radius:20px; --radius-sm:12px; --glass:rgba(255,255,255,.78); --hero-glow:rgba(235,10,30,.1); }
      body { background:radial-gradient(circle at 85% -8%,var(--hero-glow),transparent 31rem),var(--bg); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
      .topbar { background:var(--glass); }
      .panel,.model-card,.build-summary,.payment-result,.info-card,.video-card,.program,.apr-card,.difference-modal,.menu-panel { border-radius:var(--radius-sm); }
      .model-card { box-shadow:0 1px 0 rgba(0,0,0,.02),0 10px 35px rgba(20,24,30,.04); }
      .default-photo { height:150px; padding:0; background:#e9ebee; }
      .default-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 56%,rgba(0,0,0,.18)); pointer-events:none; }
      .default-photo img { object-position:center; }
      .selected-preview { border-radius:var(--radius); box-shadow:0 18px 48px rgba(16,19,23,.13); }
      .preview-image { opacity:0; transition:opacity .22s ease; }
      .preview-image.loaded { opacity:1; }
      .preview-loader { position:absolute; inset:0; display:grid; place-items:center; z-index:1; color:var(--muted); font-size:12px; letter-spacing:.1em; text-transform:uppercase; background:var(--surface-2); }
      .preview-loader[hidden] { display:none; }
      .preview-loader::before { content:""; width:26px; height:26px; border:2px solid var(--line); border-top-color:var(--red); border-radius:50%; animation:spin .8s linear infinite; margin-right:10px; }
      .preview-loader.media-unavailable { padding:42px; text-align:center; line-height:1.6; letter-spacing:.06em; text-transform:none; }
      .preview-loader.media-unavailable::before { display:none; }
      @keyframes spin { to { transform:rotate(360deg); } }
      .editorial-view { padding-top:0; }
      .reliability-hero,.about-hero { min-height:610px; display:grid; grid-template-columns:1.02fr .98fr; gap:70px; align-items:center; padding:70px 0 84px; }
      .reliability-hero h1,.about-hero h1 { margin:20px 0 24px; font-size:clamp(62px,8vw,112px); line-height:.88; letter-spacing:-.075em; font-weight:600; }
      .reliability-hero p,.about-hero-copy > p { max-width:650px; color:var(--muted); font-size:19px; line-height:1.65; }
      .reliability-monogram { min-height:440px; display:grid; grid-template-columns:repeat(3,1fr); align-content:center; position:relative; overflow:hidden; border-radius:32px; background:linear-gradient(145deg,#121317,#2b2d33); color:white; box-shadow:0 30px 80px rgba(0,0,0,.2); }
      .reliability-monogram::after { content:""; position:absolute; width:240px; height:240px; border-radius:50%; background:var(--red); filter:blur(80px); opacity:.42; right:-80px; top:-60px; }
      .reliability-monogram span { font-size:clamp(76px,9vw,132px); line-height:1; font-weight:700; text-align:center; letter-spacing:-.08em; position:relative; z-index:1; }
      .reliability-monogram small { grid-column:1/-1; text-align:center; letter-spacing:.18em; text-transform:uppercase; color:#b9bbc1; font-size:10px; margin-top:34px; position:relative; z-index:1; }
      .metric-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-bottom:100px; }
      .metric-strip article { padding:28px; background:var(--surface); }
      .metric-strip strong { display:block; color:var(--red); font-size:21px; letter-spacing:-.035em; margin-bottom:9px; }
      .metric-strip span { color:var(--muted); font-size:13px; line-height:1.5; }
      .editorial-section,.video-section,.about-story,.about-principles,.inspiration-section { padding:92px 0; border-top:1px solid var(--line); }
      .editorial-heading { max-width:760px; margin-bottom:46px; }
      .editorial-heading h2,.inspiration-section h2,.about-cta h2 { margin:17px 0 16px; font-size:clamp(44px,6vw,76px); line-height:.98; letter-spacing:-.065em; font-weight:600; }
      .editorial-heading > p,.inspiration-section > p,.about-cta p { color:var(--muted); font-size:17px; line-height:1.65; }
      .reliability-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:16px; }
      .feature-card { padding:32px; min-height:255px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
      .feature-card-large { grid-row:span 2; min-height:526px; background:linear-gradient(145deg,#111216,#26282e); color:white; border:0; padding:44px; }
      .feature-number { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--red); color:white; font-size:11px; font-weight:800; }
      .feature-card h3 { margin:52px 0 14px; font-size:30px; letter-spacing:-.05em; }
      .feature-card-large h3 { margin-top:120px; font-size:48px; }
      .feature-card p,.feature-card li { color:var(--muted); font-size:14px; line-height:1.65; }
      .feature-card-large p,.feature-card-large li { color:#c9cbd1; }
      .feature-card ul { padding-left:18px; }
      .safety-section { margin-inline:calc((100vw - min(1180px, calc(100vw - 42px))) / -2); padding-inline:max(21px,calc((100vw - 1180px)/2)); background:#111216; color:white; }
      .safety-section .eyebrow { color:#ff6877; }
      .safety-section .editorial-heading > p { color:#aeb0b7; }
      .safety-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:#34363c; border:1px solid #34363c; border-radius:var(--radius); overflow:hidden; }
      .safety-grid article { background:#191a1f; padding:34px; min-height:240px; }
      .safety-grid b { color:var(--red); font-size:12px; letter-spacing:.1em; }
      .safety-grid h3 { margin:54px 0 12px; font-size:27px; letter-spacing:-.045em; }
      .safety-grid p { color:#aeb0b7; font-size:14px; line-height:1.6; }
      .reliability-timeline { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
      .reliability-timeline article { background:var(--surface); padding:26px; min-height:270px; }
      .reliability-timeline time { color:var(--red); font-size:26px; font-weight:700; letter-spacing:-.04em; }
      .reliability-timeline h3 { margin:62px 0 10px; font-size:18px; letter-spacing:-.03em; }
      .reliability-timeline p { color:var(--muted); font-size:13px; line-height:1.55; }
      .video-card { padding:12px 12px 24px; overflow:hidden; }
      .video-frame { border-radius:12px; }
      .editorial-disclaimer { margin:40px 0 80px; max-width:900px; color:var(--muted-2); font-size:11px; line-height:1.6; }
      .about-hero { grid-template-columns:1fr; min-height:0; }
      .about-portrait { margin:0; position:relative; overflow:hidden; border-radius:28px; aspect-ratio:4/5; box-shadow:0 28px 70px rgba(0,0,0,.16); background:var(--surface-2); }
      .about-portrait img { width:100%; height:100%; object-fit:cover; display:block; }
      .about-portrait::after { content:""; position:absolute; inset:auto 0 0; height:34%; background:linear-gradient(transparent,rgba(0,0,0,.74)); }
      .about-portrait figcaption { position:absolute; left:28px; right:28px; bottom:25px; z-index:1; color:white; display:flex; justify-content:space-between; align-items:end; gap:20px; }
      .about-portrait strong { font-size:12px; letter-spacing:.16em; }
      .about-portrait span { color:#d9d9dd; font-size:12px; }
      .text-link { display:flex; justify-content:space-between; max-width:135px; padding:15px 0 8px; margin-top:34px; border-bottom:1px solid var(--line); text-decoration:none; font-size:13px; font-weight:800; }
      .about-story { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
      .story-copy { padding-top:7px; }
      .story-copy p { margin:0 0 24px; color:var(--muted); font-size:17px; line-height:1.75; }
      .story-copy blockquote { margin:50px 0; padding:0 0 0 26px; border-left:4px solid var(--red); font-size:clamp(30px,4vw,48px); line-height:1.1; letter-spacing:-.05em; }
      .about-principles { padding-top:105px; }
      .principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border-radius:var(--radius); overflow:hidden; }
      .principle-grid article { background:var(--surface); padding:34px; min-height:300px; }
      .principle-grid span { color:var(--red); font-size:13px; font-weight:800; }
      .principle-grid h3 { margin:90px 0 12px; font-size:24px; letter-spacing:-.04em; }
      .principle-grid p { color:var(--muted); font-size:14px; line-height:1.6; }
      .inspiration-section { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:end; }
      .inspiration-section > p { margin:0 0 12px; }
      .about-cta { margin:80px 0; padding:62px; border-radius:28px; background:linear-gradient(135deg,#141519,#292b31); color:white; display:flex; justify-content:space-between; align-items:end; gap:40px; }
      .about-cta p { color:#c3c5ca; max-width:650px; }
      :root[data-theme="dark"] { --bg:#09090b; --surface:#151517; --surface-2:#1d1d20; --surface-3:#252529; --line:#343438; --line-soft:rgba(255,255,255,.11); --text:#f5f5f7; --muted:#a1a1a8; --muted-2:#73737b; --red:#ff3045; --red-soft:#ff7a88; --cyan:#ff3045; --green:#50d890; --shadow:0 22px 70px rgba(0,0,0,.48); --glass:rgba(9,9,11,.76); --hero-glow:rgba(235,10,30,.16); }
      :root[data-theme="dark"] .topbar { background:var(--glass); }
      :root[data-theme="dark"] .default-photo,:root[data-theme="dark"] .preview-image,:root[data-theme="dark"] .selected-preview { background:#111113; }
      :root[data-theme="dark"] .model-card { box-shadow:0 12px 38px rgba(0,0,0,.24); }
      :root[data-theme="dark"] .choice.active,:root[data-theme="dark"] .mode.active { background:#f5f5f7; color:#0a0a0c; border-color:#f5f5f7; }
      :root[data-theme="dark"] .payment-result { background:#151517; }
      @media (max-width:900px) { .reliability-hero,.about-hero,.about-story,.inspiration-section { grid-template-columns:1fr; gap:42px; } .reliability-hero,.about-hero { padding-top:48px; } .metric-strip,.reliability-timeline { grid-template-columns:1fr 1fr; } .reliability-grid { grid-template-columns:1fr; } .feature-card-large { grid-row:auto; min-height:420px; } .safety-grid,.principle-grid { grid-template-columns:1fr; } .about-portrait { max-width:620px; width:100%; } }
      @media (max-width:650px) { .reliability-hero h1,.about-hero h1 { font-size:58px; } .reliability-monogram { min-height:310px; } .reliability-monogram span { font-size:68px; } .metric-strip,.reliability-timeline,.warranty-grid { grid-template-columns:1fr; } .metric-strip article,.feature-card,.safety-grid article,.principle-grid article { padding:24px; } .feature-card-large h3 { margin-top:76px; font-size:39px; } .editorial-section,.video-section,.about-story,.about-principles,.inspiration-section { padding:68px 0; } .safety-section { padding-inline:12px; } .about-portrait figcaption { left:18px; right:18px; bottom:18px; } .about-portrait span { display:none; } .about-cta { padding:34px 26px; display:block; } .about-cta .button { margin-top:20px; } }
      .honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
      .form-status { font-size:14px; line-height:1.5; }
      @media (max-width:650px) {
        .shell { width:calc(100% - 32px); }
        .topbar-inner { padding-block:12px; }
        .theme-toggle,.menu-toggle { width:44px; height:44px; }
        .menu-panel { width:min(320px,calc(100vw - 24px)); }
        .menu-panel .nav-link { min-height:48px; display:flex; align-items:center; font-size:14px; }
        .substeps { grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; margin-bottom:20px; }
        .substep { min-width:0; min-height:54px; font-size:10px; letter-spacing:0; }
        .substep span { display:block; margin:0 auto 2px; }
        .section { scroll-margin-top:82px; }
        .section-head h2 { font-size:clamp(30px,9vw,40px); line-height:1.06; }
        .section-head p,.panel-note { font-size:14px; }
        .panel,.build-summary,.payment-result { padding:18px; }
        .builder { gap:12px; }
        .choice { min-height:48px; }
        .choice small { font-size:12px; line-height:1.35; }
        .color-swatches { gap:18px 9px; }
        .swatch { width:calc((100% - 18px)/3); min-width:0; font-size:13px; overflow-wrap:anywhere; }
        .swatch i { width:46px; height:46px; }
        .swatch small,.swatch .inventory-count { font-size:12px; line-height:1.32; }
        .selected-preview { min-height:270px; }
        .media-tab { min-height:44px; padding-inline:10px; }
        .preview-arrow { min-width:44px; min-height:44px; }
        .photo-label { max-width:52%; font-size:10px; line-height:1.35; }
        .selected-preview .preview-copy { padding-bottom:14px; }
        .selected-preview h3 { font-size:29px; }
        .selected-preview .media-count { top:calc(50% + 75px); }
        .calc-field label,.selection-detail,.result-row { font-size:14px; }
        .field label,.check { font-size:14px; }
        input,select,textarea { min-height:46px; font-size:16px; border-radius:8px; }
        input[type="range"] { min-height:34px; }
        .check input { width:22px; height:22px; flex:0 0 22px; }
        .contact-section .button[type="submit"] { width:100%; min-height:52px; }
        .reliability-hero h1,.about-hero h1,.view-head h1 { font-size:clamp(38px,11vw,54px); overflow-wrap:break-word; }
        .difference-modal { max-height:calc(100dvh - 24px); }
        .modal-close { width:44px; height:44px; flex:0 0 44px; }
      }
      @media (max-width:370px) { .brand-word { font-size:11px; letter-spacing:.12em; } .swatch { font-size:12px; } .photo-label { max-width:44%; } }
.footer-line .owner-entry{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:650;white-space:nowrap}
@media(max-width:650px){.footer-line .owner-entry{display:inline-block;margin:12px 0}}

/* Inquiry-flow refinements retain the existing typography, palette and cards. */
[hidden]{display:none!important;}
.substeps{position:sticky;top:var(--header-height,74px);z-index:18;background:var(--surface);box-shadow:0 5px 16px rgba(0,0,0,.06);}
[data-substep]{scroll-margin-top:calc(var(--header-height,74px) + 72px);}
.inquiry-notes{margin:12px 0 20px;}.inquiry-notes summary{cursor:pointer;font-weight:600;padding:10px 0;}.inquiry-notes summary span{font-weight:400;color:var(--muted);}.inquiry-notes .field{margin-top:10px;}
.form-status[data-state="error"]{color:var(--red);}.form-status:focus{outline:2px solid var(--red);outline-offset:4px;}.check .panel-note{display:block;margin-top:5px;}
.availability-empty{color:var(--muted)!important;}.availability-empty b{color:var(--text)!important;}.availability-empty .availability-dot{background:var(--muted);box-shadow:none;}.choice.active small{color:inherit;opacity:.9;}
.estimate-assumptions{margin:16px 0;}.button:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:3px;}
@media(max-width:650px){.substeps .substep{min-height:44px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{scroll-behavior:auto!important;}}

/* Availability is conveyed in words as well as selection styling. */
.inventory-status-panel{margin:20px 0}.status-choices{display:flex;flex-wrap:wrap;gap:8px}.inventory-status{flex:1;min-width:130px;padding:12px 14px!important}.inventory-status:disabled{opacity:.48;cursor:default}.inventory-status-panel .panel-note{margin-top:12px}.stock-count{white-space:normal;line-height:1.5}

#leadForm button[type="submit"]:disabled { opacity:.5; cursor:not-allowed; }

.media-dots { flex-wrap:wrap; gap:2px; }
.media-dot { min-width:24px; min-height:24px; background:transparent; position:relative; }
.media-dot::after { content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:var(--line); top:9px; left:9px; }
.media-dot.active { background:transparent; transform:none; }
.media-dot.active::after { background:var(--red); }
