:root {
  --valuation-gold: #c9a45f;
  --valuation-cream: #eee8dc;
  --valuation-ink: #0b0b0c;
  --valuation-card: #f8f6f1;
}

.valuation-page { background: var(--valuation-ink); }
.valuation-header { background: rgba(8,8,9,.9); }
.valuation-header-note { display:flex; flex-direction:column; margin-left:auto; line-height:1.2; }
.valuation-header-note span { color:#858589; font-size:9px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.valuation-header-note strong { color:#e9e9eb; font-size:12px; margin-top:4px; }

.valuation-hero { position:relative; min-height:calc(100vh - 72px); color:#fff; overflow:hidden; background:#09090a; }
.valuation-hero-image { position:absolute; inset:0 48% 0 0; background:url('/assets/hero-ferrari-refined.webp') 54% center / cover no-repeat; filter:saturate(.82) contrast(1.05); }
.valuation-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(7,7,8,.22) 0%, rgba(7,7,8,.72) 43%, #0b0b0c 57%, #0b0b0c 100%); }
.valuation-hero-shade:after { content:""; position:absolute; inset:0; opacity:.13; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"); }
.valuation-hero-rule { position:absolute; top:0; bottom:0; left:47%; width:1px; background:linear-gradient(transparent, rgba(201,164,95,.65) 18%, rgba(201,164,95,.22) 80%, transparent); transform:skewX(-7deg); transform-origin:top; }
.valuation-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.84fr) minmax(520px,1.16fr); gap:clamp(52px,6vw,92px); align-items:center; min-height:calc(100vh - 72px); padding-top:64px; padding-bottom:70px; }
.valuation-intro { max-width:560px; align-self:center; }
.valuation-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 19px; color:#e3ddd3; font-size:10px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.valuation-eyebrow span { width:32px; height:1px; background:var(--valuation-gold); }
.valuation-intro h1 { margin:0; max-width:670px; font-family:Georgia, "Times New Roman", serif; font-size:clamp(59px,6.3vw,98px); font-weight:400; letter-spacing:-.065em; line-height:.82; }
.valuation-intro h1 em { display:inline-block; color:var(--valuation-cream); font-weight:400; }
.valuation-lead { max-width:530px; margin:28px 0 0; color:#c8c8cc; font-size:16px; line-height:1.7; }
.valuation-promises { display:grid; gap:13px; margin-top:31px; }
.valuation-promises > div { display:grid; grid-template-columns:35px 1fr; gap:12px; align-items:center; }
.valuation-promises svg { width:33px; height:33px; padding:7px; color:var(--valuation-gold); border:1px solid rgba(201,164,95,.32); border-radius:50%; fill:none; stroke:currentColor; stroke-width:1.5; }
.valuation-promises span { display:flex; flex-direction:column; color:#838388; font-size:11px; line-height:1.35; }
.valuation-promises strong { color:#f2f2f3; font-size:12px; letter-spacing:.01em; }
.valuation-disclaimer { max-width:510px; margin:28px 0 0; padding-top:18px; color:#6f6f74; border-top:1px solid rgba(255,255,255,.1); font-size:10px; line-height:1.55; }

.valuation-card { position:relative; overflow:hidden; color:#171719; background:var(--valuation-card); border:1px solid rgba(255,255,255,.28); border-radius:3px 22px 3px 22px; box-shadow:0 35px 90px rgba(0,0,0,.55); }
.valuation-card:before { content:""; position:absolute; z-index:2; inset:0 0 auto; height:3px; background:linear-gradient(90deg, var(--red) 0 68%, var(--valuation-gold) 68% 100%); }
.valuation-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:26px 30px 21px; background:#fff; border-bottom:1px solid #dedbd4; }
.valuation-card-head h2 { margin:4px 0 0; font-family:Georgia, "Times New Roman", serif; font-size:26px; font-weight:400; letter-spacing:-.035em; }
.private-mark { display:flex; align-items:center; gap:6px; margin-top:4px; color:#4f4c45; font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.private-mark svg { width:22px; height:22px; padding:4px; color:#26704a; border-radius:50%; background:#e8f3ec; fill:none; stroke:currentColor; stroke-width:1.8; }
#ferrariValuationForm { padding:20px 30px 28px; }
.valuation-progress { margin-bottom:22px; }
.valuation-progress-copy { display:flex; justify-content:space-between; color:#77736b; font-size:9px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.valuation-progress-copy strong { color:#34312d; }
.valuation-progress-copy b { color:var(--red); }
.valuation-progress-track { overflow:hidden; height:3px; margin-top:9px; background:#dedbd4; }
.valuation-progress-track span { display:block; width:25%; height:100%; background:var(--red); transform-origin:left; transition:width .35s cubic-bezier(.22,.8,.26,1); }
.valuation-step { animation:valuationStepIn .32s ease both; }
@keyframes valuationStepIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.step-heading { margin-bottom:20px; }
.step-heading > span { color:var(--red); font-size:9px; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
.step-heading h3 { margin:6px 0 6px; font-family:Georgia, "Times New Roman", serif; font-size:30px; font-weight:400; letter-spacing:-.045em; line-height:1.02; }
.step-heading p { margin:0; color:#77736c; font-size:12px; line-height:1.5; }
.valuation-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.valuation-field-grid--three { grid-template-columns:.62fr 1.38fr; }
.valuation-field { display:flex; flex-direction:column; gap:7px; margin:0 0 14px; }
.valuation-field > span, .choice-group legend, .request-choice legend { color:#4e4a44; font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.valuation-field > span i { color:#9a968f; font-style:normal; font-weight:700; }
.valuation-field input, .valuation-field select, .valuation-field textarea { width:100%; min-height:52px; color:#171719; border:1px solid #cfcbc2; border-radius:5px; outline:none; background:#fff; padding:12px 13px; transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease; }
.valuation-field textarea { min-height:94px; resize:vertical; line-height:1.45; }
.valuation-field input:focus, .valuation-field select:focus, .valuation-field textarea:focus { border-color:#736b5e; box-shadow:0 0 0 3px rgba(201,164,95,.18); }
.valuation-field input::placeholder, .valuation-field textarea::placeholder { color:#aaa69f; }
.valuation-field > small, .group-error, .consent-error { display:none; color:#b70f19; font-size:10px; line-height:1.35; }
.valuation-field.has-error > small, .choice-group.has-error > .group-error, .request-choice.has-error > .group-error, .consent-check.has-error + .consent-error { display:block; }
.valuation-field.has-error input, .valuation-field.has-error select, .valuation-field.has-error textarea, .choice-group.has-error .choice-card, .request-choice.has-error .request-option { border-color:var(--red); }
.input-suffix { position:relative; }
.input-suffix input { padding-right:58px; }
.input-suffix b { position:absolute; right:13px; top:50%; color:#99958d; font-size:10px; letter-spacing:.05em; text-transform:uppercase; transform:translateY(-50%); }
.choice-group, .request-choice { min-width:0; padding:0; border:0; }
.choice-group legend, .request-choice legend { margin-bottom:9px; }
.condition-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.history-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.choice-card, .request-option { position:relative; display:block; cursor:pointer; }
.choice-card input, .request-option input { position:absolute; width:1px; height:1px; opacity:0; }
.choice-card > span { display:flex; min-height:72px; flex-direction:column; justify-content:center; padding:11px 12px; border:1px solid #d4d0c8; background:#fff; transition:border-color .16s ease, background-color .16s ease, transform .16s ease; }
.choice-card b, .request-option b { font-size:12px; }
.choice-card small, .request-option small { margin-top:4px; color:#817d76; font-size:9px; line-height:1.3; }
.choice-card:hover > span, .request-option:hover > span { border-color:#9f9789; transform:translateY(-1px); }
.choice-card input:focus-visible + span, .request-option input:focus-visible + span { outline:3px solid #ffcc35; outline-offset:2px; }
.choice-card input:checked + span, .request-option input:checked + span { border-color:var(--red); background:#fff7f7; box-shadow:inset 3px 0 0 var(--red); }
.choice-card input:checked + span:after { content:"✓"; position:absolute; top:8px; right:9px; display:grid; width:18px; height:18px; place-items:center; color:#fff; border-radius:50%; background:var(--red); font-size:10px; font-weight:900; }
.choice-card--compact > span { min-height:52px; align-items:center; padding:9px 5px; text-align:center; }
.choice-card--compact input:checked + span { box-shadow:inset 0 -3px 0 var(--red); }
.choice-card--compact input:checked + span:after { display:none; }
.profile-preview { position:relative; overflow:hidden; margin:2px 0 17px; padding:15px 17px; color:#fff; background:#151516; border-left:3px solid var(--valuation-gold); }
.profile-preview:after { content:"FD"; position:absolute; right:10px; top:-13px; color:rgba(255,255,255,.035); font-family:Georgia,serif; font-size:72px; }
.profile-preview > span { display:block; color:var(--valuation-gold); font-size:8px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.profile-preview strong { position:relative; z-index:1; display:block; margin-top:5px; font-family:Georgia,serif; font-size:18px; font-weight:400; }
.profile-preview small { position:relative; z-index:1; display:block; margin-top:4px; color:#8f8f94; font-size:9px; }
.request-choice { margin-bottom:15px; }
.request-option { margin-bottom:7px; }
.request-option > span { display:flex; min-height:58px; flex-direction:column; justify-content:center; padding:10px 110px 10px 45px; border:1px solid #d4d0c8; background:#fff; transition:border-color .16s ease, background-color .16s ease; }
.request-option > span:before { content:""; position:absolute; top:50%; left:15px; width:17px; height:17px; border:1px solid #aaa59c; border-radius:50%; transform:translateY(-50%); }
.request-option input:checked + span { border-color:var(--red); background:#fff7f7; box-shadow:inset 3px 0 0 var(--red); }
.request-option input:checked + span:before { border:5px solid var(--red); background:#fff; }
.request-option em { position:absolute; top:50%; right:13px; color:#936b21; border:1px solid #d6bd8b; background:#faf1df; border-radius:20px; padding:4px 7px; font-size:7px; font-style:normal; font-weight:950; letter-spacing:.08em; text-transform:uppercase; transform:translateY(-50%); }
.consent-check { display:grid; grid-template-columns:19px 1fr; gap:9px; align-items:start; margin:2px 0 4px; color:#6f6b64; cursor:pointer; font-size:10px; line-height:1.45; }
.consent-check input { width:18px; height:18px; margin:0; accent-color:var(--red); }
.consent-check.has-error input { outline:2px solid var(--red); outline-offset:1px; }
.valuation-actions { display:flex; justify-content:space-between; gap:10px; margin-top:18px; }
.valuation-actions--forward { justify-content:flex-end; }
.valuation-actions .btn { min-height:52px; }
.valuation-back { color:#4b4843; border:1px solid #d1cdc5; background:#eeebe5; box-shadow:none; }
.valuation-back:hover { background:#e5e1da; }
.valuation-next, .valuation-submit { min-width:210px; }
.valuation-privacy { margin:12px auto 0; max-width:470px; color:#88847d; text-align:center; font-size:9px; line-height:1.45; }
.submission-error { margin:12px 0 0; padding:10px 12px; color:#9f0f18; border:1px solid #e7afb3; background:#fff2f3; font-size:11px; }
.valuation-local-success { padding:70px 35px 76px; text-align:center; }
.valuation-local-success .success-seal { display:grid; width:58px; height:58px; place-items:center; margin:0 auto 20px; color:#fff; border-radius:50%; background:#207249; font-size:25px; font-weight:900; }
.valuation-local-success h2 { margin:8px auto 12px; max-width:390px; font-family:Georgia,serif; font-size:37px; font-weight:400; letter-spacing:-.05em; line-height:1; }
.valuation-local-success p { max-width:430px; margin:0 auto 22px; color:#6e6a63; font-size:13px; line-height:1.6; }

.valuation-process { color:#171719; background:#f3f0e9; padding:86px 0; }
.valuation-process-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:90px; align-items:start; }
.process-heading { position:sticky; top:110px; }
.process-heading h2 { margin:9px 0 0; font-family:Georgia,serif; font-size:clamp(43px,4.4vw,66px); font-weight:400; letter-spacing:-.06em; line-height:.92; }
.process-list { border-top:1px solid #cbc6bc; }
.process-list article { display:grid; grid-template-columns:58px 1fr; gap:18px; padding:25px 0; border-bottom:1px solid #cbc6bc; }
.process-list article > span { color:var(--red); font-size:10px; font-weight:950; letter-spacing:.1em; }
.process-list h3 { margin:0 0 6px; font-size:17px; letter-spacing:-.02em; }
.process-list p { margin:0; color:#706c64; font-size:13px; line-height:1.6; }
.valuation-trust { color:#fff; border-top:1px solid #232326; border-bottom:1px solid #232326; background:#101012; }
.valuation-trust-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; min-height:88px; }
.valuation-trust p { margin:0; color:var(--valuation-gold); font-family:Georgia,serif; font-size:19px; }
.valuation-trust-inner > div { display:flex; gap:30px; color:#b1b1b5; font-size:10px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.valuation-trust-inner span:before { content:""; display:inline-block; width:5px; height:5px; margin-right:9px; border-radius:50%; background:var(--red); vertical-align:1px; }
.valuation-footer { padding-bottom:25px; }

@media (max-width:1080px) {
  .valuation-header-note { display:none; }
  .valuation-hero-image { inset:0 40% 0 0; }
  .valuation-hero-shade { background:linear-gradient(90deg, rgba(7,7,8,.45), rgba(7,7,8,.82) 34%, #0b0b0c 51%); }
  .valuation-hero-grid { grid-template-columns:minmax(0,.78fr) minmax(500px,1.22fr); gap:38px; }
  .valuation-intro h1 { font-size:68px; }
}

@media (max-width:860px) {
  .valuation-header { position:relative; }
  .valuation-hero { min-height:auto; }
  .valuation-hero-image { inset:0 0 auto; height:510px; background-position:50% 46%; }
  .valuation-hero-shade { background:linear-gradient(180deg, rgba(7,7,8,.2) 0, rgba(7,7,8,.5) 300px, #0b0b0c 520px, #0b0b0c 100%); }
  .valuation-hero-rule { display:none; }
  .valuation-hero-grid { grid-template-columns:1fr; gap:40px; min-height:auto; padding-top:340px; }
  .valuation-intro { max-width:680px; }
  .valuation-intro h1 { font-size:clamp(62px,11vw,88px); }
  .valuation-lead { max-width:620px; }
  .valuation-promises { grid-template-columns:repeat(3,1fr); }
  .valuation-promises > div { grid-template-columns:1fr; }
  .valuation-card { width:100%; max-width:680px; margin:0 auto; }
  .valuation-process-grid { grid-template-columns:1fr; gap:40px; }
  .process-heading { position:static; }
  .valuation-trust-inner { align-items:flex-start; flex-direction:column; padding-top:25px; padding-bottom:25px; }
  .valuation-trust-inner > div { flex-wrap:wrap; gap:14px 24px; }
}

@media (max-width:620px) {
  .valuation-header .nav-wrap { min-height:62px; }
  .valuation-header .brand { width:167px; }
  .valuation-header-cta { min-height:38px; padding:0 11px; font-size:8px; }
  .valuation-hero-image { height:330px; background-position:48% center; }
  .valuation-hero-shade { background:linear-gradient(180deg, rgba(7,7,8,.12), rgba(7,7,8,.28) 170px, #0b0b0c 330px, #0b0b0c 100%); }
  .valuation-hero-grid { width:100%; padding:218px 0 0; gap:30px; }
  .valuation-intro { width:calc(100% - 28px); margin:0 auto; }
  .valuation-eyebrow { margin-bottom:14px; font-size:8px; }
  .valuation-intro h1 { font-size:54px; line-height:.84; }
  .valuation-lead { margin-top:21px; font-size:14px; line-height:1.6; }
  .valuation-promises { grid-template-columns:1fr; gap:10px; margin-top:23px; }
  .valuation-promises > div { grid-template-columns:32px 1fr; }
  .valuation-promises svg { width:30px; height:30px; }
  .valuation-disclaimer { margin-top:21px; }
  .valuation-card { border-width:1px 0 0; border-radius:18px 18px 0 0; box-shadow:none; }
  .valuation-card-head { position:sticky; top:0; z-index:5; padding:20px 18px 16px; }
  .valuation-card-head h2 { font-size:22px; }
  #ferrariValuationForm { padding:17px 16px 25px; }
  .step-heading h3 { font-size:28px; }
  .valuation-field-grid, .valuation-field-grid--three { grid-template-columns:1fr; gap:0; }
  .valuation-field input, .valuation-field select { min-height:56px; font-size:16px; }
  .valuation-field textarea { font-size:16px; }
  .condition-grid { grid-template-columns:1fr; gap:7px; }
  .choice-card > span { min-height:64px; }
  .history-grid { grid-template-columns:1fr 1fr; }
  .choice-card--compact > span { min-height:55px; }
  .request-option > span { padding-right:86px; }
  .request-option em { right:9px; font-size:6px; }
  .valuation-actions { position:sticky; z-index:4; bottom:0; margin:18px -16px -25px; padding:12px 16px max(12px, env(safe-area-inset-bottom)); border-top:1px solid #d7d2c9; background:rgba(248,246,241,.96); backdrop-filter:blur(10px); }
  .valuation-actions .btn { min-height:54px; }
  .valuation-actions .valuation-back { flex:0 0 84px; padding:0 10px; }
  .valuation-next, .valuation-submit { flex:1; min-width:0; padding:0 12px; font-size:10px; }
  .valuation-privacy { margin-top:37px; }
  .valuation-local-success { padding:60px 22px 70px; }
  .valuation-process { padding:65px 0; }
  .process-heading h2 { font-size:47px; }
  .process-list article { grid-template-columns:38px 1fr; gap:10px; }
  .valuation-trust-inner > div { display:grid; gap:13px; }
}

@media (prefers-reduced-motion:reduce) {
  .valuation-step, .valuation-progress-track span { animation:none; transition:none; }
}
