:root { --e3d-black:#050a0d; --e3d-ink:#101214; --e3d-cream:#f3eee8; --e3d-gold:#d9a246; --e3d-white:#f7f7f5; }
html { scroll-behavior:smooth; }
body.e3d-scan-standalone { margin:0; background:var(--e3d-black); color:var(--e3d-white); font-family:Montserrat,"Avenir Next","Segoe UI",Arial,sans-serif; }
.e3d-scan-page, .e3d-scan-page * { box-sizing:border-box; }
.e3d-scan-page a { color:inherit; }
.e3d-skip-link { position:fixed; left:1rem; top:-5rem; z-index:99999; padding:.75rem 1rem; background:#fff; color:#000!important; }
.e3d-skip-link:focus { top:1rem; }
.e3d-scan-topbar { position:absolute; z-index:20; top:0; left:0; width:100%; display:flex; align-items:center; justify-content:space-between; padding:1.4rem clamp(1.25rem,5vw,5rem); }
.e3d-scan-topbar img { display:block; width:min(300px,50vw); height:auto; }
.e3d-primary-button,.e3d-outline-button { display:inline-flex; align-items:center; justify-content:center; gap:1rem; min-height:50px; padding:.8rem 1.25rem; border:1px solid var(--e3d-gold); border-radius:999px; text-decoration:none; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:.25s ease; }
.e3d-primary-button { background:var(--e3d-gold); color:var(--e3d-black)!important; }
.e3d-primary-button:hover,.e3d-outline-button:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(217,162,70,.22); }
.e3d-outline-button { background:transparent; color:inherit; }
.e3d-hero { position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; padding:9rem clamp(1.25rem,8vw,9rem) 6rem; }
.e3d-hero-media,.e3d-hero-shade,.e3d-grid-overlay { position:absolute; inset:0; }
.e3d-hero-media { background:url('../images/showroom.jpg') center/cover no-repeat; transform:scale(1.03); }
.e3d-hero-shade { background:linear-gradient(90deg,rgba(5,10,13,.98) 0%,rgba(5,10,13,.88) 46%,rgba(5,10,13,.35) 100%); }
.e3d-grid-overlay { opacity:.13; background-image:linear-gradient(rgba(217,162,70,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(217,162,70,.24) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,transparent 20%,#000 100%); }
.e3d-hero-copy { position:relative; z-index:2; max-width:820px; }
.e3d-eyebrow,.e3d-kicker { margin:0 0 .7rem; color:var(--e3d-gold); font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.e3d-rule { display:block; width:38px; height:1px; margin:1rem 0 1.6rem; background:var(--e3d-gold); }
.e3d-hero h1,.e3d-section-heading h2,.e3d-final-cta h2 { margin:0; font-weight:200; line-height:.98; letter-spacing:-.025em; }
.e3d-hero h1 { font-size:clamp(3.1rem,7.3vw,8.2rem); }
.e3d-hero-copy>p:not(.e3d-eyebrow) { max-width:680px; margin:2rem 0; color:#d3d6d7; font-size:clamp(1rem,1.45vw,1.3rem); line-height:1.7; }
.e3d-actions-row { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.e3d-text-link { padding:.7rem 0; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.5); }
.e3d-scan-scroll-cue { position:absolute; z-index:3; left:50%; bottom:2rem; display:flex; flex-direction:column; align-items:center; gap:.65rem; transform:translateX(-50%); text-decoration:none; font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; }
.e3d-scan-scroll-cue span { width:1px; height:45px; background:linear-gradient(var(--e3d-gold),transparent); }
.e3d-section { padding:clamp(5rem,10vw,10rem) clamp(1.25rem,7vw,8rem); }
.e3d-light { background:var(--e3d-cream); color:var(--e3d-ink); }
.e3d-dark { background:var(--e3d-black); color:var(--e3d-white); }
.e3d-section-heading { max-width:980px; margin:0 0 clamp(3rem,6vw,6rem); }
.e3d-section-heading h2 { font-size:clamp(2.5rem,5.5vw,6.2rem); }
.e3d-section-heading>p:last-child { max-width:780px; color:#b8bec0; font-size:1.05rem; line-height:1.7; }
.e3d-film-section { padding-top:clamp(4.5rem,8vw,8rem); }
.e3d-film-section .e3d-section-heading { margin-bottom:clamp(2rem,4vw,3.5rem); }
.e3d-film-frame { position:relative; max-width:1500px; aspect-ratio:16/9; margin:0 auto; overflow:hidden; border:1px solid rgba(217,162,70,.45); background:#000; box-shadow:0 28px 80px rgba(0,0,0,.42); }
.e3d-film-frame::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(255,255,255,.04); }
.e3d-film-frame video { display:block; width:100%; height:100%; object-fit:cover; background:#000; }
.e3d-film-play { position:absolute; z-index:2; inset:0; width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; padding:2rem; border:0; color:#fff; background:linear-gradient(180deg,rgba(5,10,13,.08),rgba(5,10,13,.5)); cursor:pointer; font:inherit; text-align:center; transition:background .25s ease,opacity .25s ease; }
.e3d-film-play[hidden] { display:none!important; }
.e3d-film-play-symbol { position:relative; display:grid; place-items:center; width:clamp(72px,7vw,106px); aspect-ratio:1; border:2px solid var(--e3d-gold); border-radius:50%; background:rgba(5,10,13,.78); box-shadow:0 0 0 10px rgba(217,162,70,.12),0 18px 50px rgba(0,0,0,.42); transition:transform .25s ease,background .25s ease; }
.e3d-film-play-symbol::before { content:""; width:0; height:0; margin-left:7%; border-top:12px solid transparent; border-bottom:12px solid transparent; border-left:19px solid var(--e3d-gold); }
.e3d-film-play-copy { display:grid; gap:.2rem; padding:.7rem 1.1rem; border-radius:999px; background:rgba(5,10,13,.78); box-shadow:0 10px 35px rgba(0,0,0,.3); }
.e3d-film-play-copy strong { font-size:clamp(.82rem,1.2vw,1rem); letter-spacing:.12em; text-transform:uppercase; }
.e3d-film-play-copy small { color:#d7dadd; font-size:.75rem; letter-spacing:.04em; }
.e3d-film-play:hover,.e3d-film-play:focus-visible { background:linear-gradient(180deg,rgba(5,10,13,.02),rgba(5,10,13,.35)); outline:none; }
.e3d-film-play:hover .e3d-film-play-symbol,.e3d-film-play:focus-visible .e3d-film-play-symbol { transform:scale(1.08); background:rgba(5,10,13,.92); }
.e3d-film-play:focus-visible .e3d-film-play-symbol { outline:3px solid #fff; outline-offset:5px; }
.e3d-benefits,.e3d-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:1500px; margin:0 auto; border-top:1px solid rgba(16,18,20,.18); }
.e3d-benefits article,.e3d-process article { min-height:260px; padding:2rem 1.5rem; border-right:1px solid rgba(16,18,20,.14); }
.e3d-benefits article:last-child,.e3d-process article:last-child { border-right:0; }
.e3d-benefits article>span,.e3d-process article>span { color:var(--e3d-gold); font-size:.72rem; font-weight:700; letter-spacing:.14em; }
.e3d-benefits h3,.e3d-process h3 { margin:3rem 0 1rem; font-size:clamp(1.25rem,2vw,1.7rem); font-weight:400; }
.e3d-benefits p,.e3d-process p { margin:0; line-height:1.7; }
.e3d-process { border-color:rgba(217,162,70,.45); }
.e3d-process article { border-color:rgba(255,255,255,.14); }
.e3d-process p { color:#b8bec0; }
.e3d-demo-frame { max-width:1500px; aspect-ratio:16/9; margin:0 auto; overflow:hidden; background:var(--e3d-black); box-shadow:0 28px 80px rgba(5,10,13,.18); }
.e3d-demo-frame iframe { width:100%; height:100%; border:0; }
.e3d-demo-placeholder { position:relative; min-height:clamp(380px,55vw,720px); max-width:1500px; margin:0 auto; display:flex; align-items:flex-end; padding:clamp(2rem,7vw,7rem); overflow:hidden; color:#fff; background:linear-gradient(90deg,rgba(5,10,13,.96),rgba(5,10,13,.45)),url('../images/showroom.jpg') center/cover no-repeat; }
.e3d-demo-placeholder::after { content:""; position:absolute; inset:1.2rem; border:1px solid rgba(217,162,70,.5); }
.e3d-demo-placeholder>div { position:relative; z-index:1; max-width:760px; }
.e3d-status { display:inline-block; margin-bottom:1.25rem; padding:.55rem .8rem; border:1px solid var(--e3d-gold); color:var(--e3d-gold); font-size:.7rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.e3d-demo-placeholder h3 { margin:0 0 1rem; font-size:clamp(2rem,4.5vw,4.8rem); font-weight:250; line-height:1.05; }
.e3d-demo-placeholder p { margin:0 0 2rem; color:#d3d6d7; line-height:1.7; }
.e3d-package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; max-width:1500px; margin:0 auto; }
.e3d-scan-package-display { position:relative; display:flex; flex-direction:column; padding:clamp(1.5rem,3vw,2.7rem); border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.035); }
.e3d-scan-package-display.is-recommended { border-color:var(--e3d-gold); background:linear-gradient(180deg,rgba(217,162,70,.14),rgba(255,255,255,.035)); }
.e3d-scan-badge { position:absolute; top:0; right:1.4rem; padding:.45rem .75rem; background:var(--e3d-gold); color:var(--e3d-black); font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.e3d-scan-package-display h3 { margin:0; font-size:clamp(2rem,4vw,3.6rem); font-weight:250; }
.e3d-scan-package-display>p:not(.e3d-eyebrow) { min-height:3.5rem; color:#c6c9cb; line-height:1.55; }
.e3d-scan-package-display>strong { margin:1rem 0 1.5rem; color:var(--e3d-gold); }
.e3d-scan-package-display ul { flex:1; margin:0 0 2rem; padding:1.25rem 0 0; border-top:1px solid rgba(255,255,255,.14); list-style:none; }
.e3d-scan-package-display li { position:relative; margin:.65rem 0; padding-left:1.2rem; color:#d7d9da; line-height:1.45; }
.e3d-scan-package-display li::before { content:"✓"; position:absolute; left:0; color:var(--e3d-gold); }
.e3d-price-section { background:#e9e4de; color:var(--e3d-ink); }
.e3d-scan-calculator { max-width:1500px; margin:0 auto; color:var(--e3d-ink); }
.e3d-scan-calculator button,.e3d-scan-calculator input,.e3d-scan-calculator textarea { font:inherit; }
.e3d-scan-notice { margin-bottom:1rem; padding:1rem; border-left:4px solid var(--e3d-gold); background:#fff; }
.e3d-scan-notice.is-error { border-color:#b42318; }
.e3d-scan-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:.45rem; margin-bottom:1rem; }
.e3d-scan-progress button { padding:.8rem .5rem; border:0; background:rgba(16,18,20,.09); color:#666; cursor:pointer; }
.e3d-scan-progress button span { display:inline-grid; place-items:center; width:24px; height:24px; margin-right:.4rem; border-radius:50%; background:rgba(16,18,20,.12); }
.e3d-scan-progress button.is-active { background:var(--e3d-black); color:#fff; }
.e3d-scan-calc-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,340px); gap:1.5rem; align-items:start; }
.e3d-scan-steps,.e3d-summary { padding:clamp(1.25rem,3vw,2.5rem); background:#fff; border:1px solid rgba(16,18,20,.12); }
.e3d-scan-steps { color:var(--e3d-ink); }
.e3d-scan-steps h3 { margin:.2rem 0 1.5rem; font-size:clamp(1.6rem,3vw,2.7rem); font-weight:350; }
.e3d-size-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.e3d-choice,.e3d-package-choice { position:relative; display:block; cursor:pointer; }
.e3d-choice input,.e3d-package-choice input { position:absolute; opacity:0; }
.e3d-choice>span,.e3d-package-choice>span { display:block; padding:1rem; border:1px solid rgba(16,18,20,.18); color:var(--e3d-ink); transition:.2s ease; }
.e3d-choice input:checked+span,.e3d-package-choice input:checked+span { border-color:var(--e3d-gold); box-shadow:inset 0 0 0 1px var(--e3d-gold); background:rgba(217,162,70,.08); }
.e3d-choice small,.e3d-package-choice small,.e3d-package-choice b { display:block; margin-top:.4rem; }
.e3d-scan-package-options { display:grid; gap:.75rem; }
.e3d-package-choice>span>strong { font-size:1.35rem; }
.e3d-package-choice b { color:#956716; }
.e3d-package-choice ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.3rem 1rem; margin:1rem 0 0; padding:1rem 0 0; border-top:1px solid rgba(16,18,20,.1); list-style:none; }
.e3d-package-choice li::before { content:"✓ "; color:#956716; }
.e3d-field { display:grid; gap:.45rem; max-width:420px; }
.e3d-field input,.e3d-form-grid input,.e3d-form-grid textarea { width:100%; padding:.85rem; border:1px solid rgba(16,18,20,.25); background:#fff; color:var(--e3d-ink); }
.e3d-scan-distance-status { min-height:1.5rem; margin-top:1rem; color:#76500f; }
.e3d-actions { display:flex; justify-content:space-between; gap:.8rem; margin-top:1.5rem; }
.e3d-actions button { min-height:46px; padding:.7rem 1rem; border:1px solid rgba(16,18,20,.25); background:transparent; cursor:pointer; }
.e3d-actions .e3d-primary,.e3d-primary { border-color:var(--e3d-gold); background:var(--e3d-gold); color:var(--e3d-black); font-weight:700; }
.e3d-actions button:disabled { opacity:.45; cursor:not-allowed; }
.e3d-summary { position:sticky; top:1rem; background:var(--e3d-black); color:#fff; }
.e3d-summary dl { margin:1rem 0; }
.e3d-summary dl div { display:flex; justify-content:space-between; gap:1rem; padding:.65rem 0; border-bottom:1px solid rgba(255,255,255,.12); }
.e3d-summary dt { color:#aeb4b7; }
.e3d-summary dd { margin:0; text-align:right; }
.e3d-total { padding-top:1rem; }
.e3d-total span,.e3d-total small { display:block; color:#aeb4b7; }
.e3d-total strong { display:block; margin:.3rem 0; color:var(--e3d-gold); font-size:clamp(1.7rem,3vw,2.7rem); }
.e3d-result { padding:1.25rem; background:var(--e3d-black); color:#fff; }
.e3d-result dl { margin:0; }
.e3d-result dl div { display:flex; justify-content:space-between; padding:.5rem 0; border-bottom:1px solid rgba(255,255,255,.12); }
.e3d-result dd { margin:0; }
.e3d-scan-result-total { display:flex; justify-content:space-between; align-items:end; gap:1rem; padding-top:1.25rem; }
.e3d-scan-result-total strong { color:var(--e3d-gold); font-size:clamp(1.5rem,3vw,2.6rem); }
.e3d-tax { color:#5e6264; line-height:1.6; }
.e3d-scan-inquiry { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid rgba(16,18,20,.15); }
.e3d-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.e3d-form-grid label { display:grid; gap:.35rem; }
.e3d-form-grid .is-wide { grid-column:1/-1; }
.e3d-scan-privacy { display:flex; gap:.6rem; margin:1rem 0; align-items:flex-start; }
.e3d-scan-privacy input { margin-top:.25rem; }
.e3d-scan-honeypot { position:absolute!important; left:-9999px!important; }
.e3d-final-cta { padding:clamp(5rem,10vw,10rem) 1.25rem; text-align:center; background:var(--e3d-cream); color:var(--e3d-ink); }
.e3d-final-cta h2 { max-width:1100px; margin:0 auto 1rem; font-size:clamp(2.6rem,6vw,6.5rem); }
.e3d-final-cta>p:not(.e3d-eyebrow) { margin:0 auto 2rem; }
.e3d-scan-footer { display:flex; justify-content:space-between; gap:1rem; padding:2rem clamp(1.25rem,5vw,5rem); background:var(--e3d-black); color:#c5c9cb; font-size:.8rem; }
.e3d-scan-footer nav { display:flex; gap:1.25rem; }
.e3d-scan-footer a { text-decoration:none; }
[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
[data-reveal].is-visible { opacity:1; transform:none; }

@media (max-width:980px) {
  .e3d-benefits,.e3d-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .e3d-benefits article:nth-child(2),.e3d-process article:nth-child(2) { border-right:0; }
  .e3d-benefits article:nth-child(-n+2),.e3d-process article:nth-child(-n+2) { border-bottom:1px solid rgba(16,18,20,.14); }
  .e3d-process article:nth-child(-n+2) { border-color:rgba(255,255,255,.14); }
  .e3d-package-grid { grid-template-columns:1fr; }
  .e3d-scan-package-display>p:not(.e3d-eyebrow) { min-height:0; }
  .e3d-scan-calc-layout { grid-template-columns:1fr; }
  .e3d-summary { position:static; }
}
@media (max-width:640px) {
  .e3d-scan-topbar { padding:1rem; }
  .e3d-scan-topbar img { width:190px; }
  .e3d-scan-topbar>.e3d-outline-button { min-height:40px; padding:.55rem .8rem; font-size:.62rem; }
  .e3d-hero { min-height:780px; padding:8rem 1.25rem 5rem; align-items:flex-end; }
  .e3d-hero-shade { background:linear-gradient(180deg,rgba(5,10,13,.72),rgba(5,10,13,.97) 70%); }
  .e3d-hero h1 { max-width:100%; overflow-wrap:normal; word-break:normal; hyphens:auto; font-size:clamp(2.35rem,11vw,3.4rem); line-height:1.04; text-wrap:pretty; }
  .e3d-section-heading h2,.e3d-final-cta h2,.e3d-scan-steps h3 { max-width:100%; overflow-wrap:normal; word-break:normal; hyphens:auto; text-wrap:pretty; }
  .e3d-section-heading h2,.e3d-final-cta h2 { font-size:clamp(2rem,9vw,2.8rem); line-height:1.05; }
  .e3d-scan-scroll-cue { display:none; }
  .e3d-benefits,.e3d-process { grid-template-columns:1fr; }
  .e3d-benefits article,.e3d-process article,.e3d-benefits article:nth-child(2),.e3d-process article:nth-child(2) { min-height:0; padding:1.6rem 0; border-right:0; border-bottom:1px solid rgba(16,18,20,.14); }
  .e3d-process article { border-color:rgba(255,255,255,.14)!important; }
  .e3d-benefits h3,.e3d-process h3 { margin:1.25rem 0 .7rem; }
  .e3d-demo-placeholder { min-height:540px; padding:2rem; }
  .e3d-film-section { padding-top:4rem; padding-bottom:4rem; }
  .e3d-film-frame { width:calc(100% + 2.5rem); margin-left:-1.25rem; border-left:0; border-right:0; }
  .e3d-film-play { gap:.75rem; padding:1rem; }
  .e3d-film-play-symbol { width:64px; box-shadow:0 0 0 7px rgba(217,162,70,.12),0 12px 35px rgba(0,0,0,.42); }
  .e3d-film-play-symbol::before { border-top-width:9px; border-bottom-width:9px; border-left-width:15px; }
  .e3d-film-play-copy { padding:.55rem .9rem; }
  .e3d-demo-placeholder::after { inset:.7rem; }
  .e3d-scan-progress { grid-template-columns:repeat(4,1fr); }
  .e3d-scan-progress button { font-size:0; }
  .e3d-scan-progress button span { margin:0; font-size:.8rem; }
  .e3d-scan-calc-layout { gap:.75rem; }
  .e3d-summary { grid-row:1; padding:1rem; }
  .e3d-scan-steps { grid-row:2; padding:1rem; }
  .e3d-summary dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 .8rem; margin:.5rem 0; }
  .e3d-summary dl div { min-width:0; padding:.5rem 0; }
  .e3d-summary dt,.e3d-summary dd { font-size:.78rem; }
  .e3d-total { display:grid; grid-template-columns:1fr auto; align-items:end; gap:.2rem 1rem; }
  .e3d-total strong { margin:0; font-size:1.45rem; text-align:right; }
  .e3d-total small { grid-column:2; text-align:right; }
  .e3d-size-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .e3d-package-choice ul,.e3d-form-grid { grid-template-columns:1fr; }
  .e3d-choice>span { min-height:72px; padding:.8rem; }
  .e3d-package-choice>span { padding:.9rem; }
  .e3d-actions { align-items:stretch; flex-direction:column-reverse; }
  .e3d-actions button { width:100%; justify-content:center; }
  .e3d-form-grid .is-wide { grid-column:auto; }
  .e3d-scan-steps,.e3d-summary { padding:1.1rem; }
  .e3d-scan-footer { flex-direction:column; align-items:flex-start; }
}
@media (max-width:380px) {
  .e3d-scan-topbar { flex-wrap:wrap; gap:.65rem; }
  .e3d-scan-topbar img { width:170px; }
  .e3d-size-grid { grid-template-columns:1fr; }
  .e3d-summary dl { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.e3d-scan-page *{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none} }
