/* V10.13 — fit the offer opening below navigation, with the request after scroll. */
.offer-hero{--offer-space:calc(100svh - var(--dc-nav-height) - env(safe-area-inset-top));--offer-top:clamp(18px,3svh,34px);--offer-panel:calc(var(--offer-space) - var(--offer-top) - 61px);position:relative;min-block-size:var(--offer-space);padding:var(--offer-top) max(24px,5vw) 14px;display:grid;grid-template-rows:1fr auto;gap:14px;background:radial-gradient(ellipse at 75% 40%,#69212936,transparent 56%),linear-gradient(125deg,#161816,#080b09 68%);border-bottom:1px solid #8b514538}
.offer-hero-inner{width:100%;max-width:1560px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(28px,4.5vw,72px);align-items:center}
.offer-eyebrow{margin:0 0 16px;color:#c2a17f;font-size:12px;font-weight:700;letter-spacing:.15em;line-height:1.6}
.offer-hero h1{font-size:clamp(40px,min(5.6vw,10svh),86px);font-weight:700;line-height:1.02;letter-spacing:-.05em;margin:0}
.offer-hero h1 em{font-family:var(--dc-serif);font-weight:400;color:#cc757a;letter-spacing:-.035em}
.offer-hero-lead{max-width:42ch;margin:18px 0;color:#c5c5bd;font-size:clamp(16px,1.05vw,18px);line-height:1.6}
.offer-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.offer-hero-actions a{display:inline-flex;align-items:center;justify-content:space-between;min-height:50px;gap:28px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s}
.offer-start{padding:15px 24px;background:linear-gradient(125deg,#9d373e,#63232a);border:1px solid #cc787c;border-radius:999px;color:#fff}
.offer-start:hover{background:#a94049;border-color:#eea3a7}
.offer-3d{color:#d8d9d2;border-bottom:1px solid #776553;padding:12px 0}
.offer-3d:hover{color:#f7bcc0;border-color:#f7bcc0}
.offer-hero-note{margin:18px 0 0;font-size:13px;line-height:1.5;color:#a7aaa1}
.offer-hero-photo{position:relative;isolation:isolate;margin:0;padding:10px;height:min(64svh,var(--offer-panel),680px);min-height:0;border:1px solid #9a84724d;border-radius:32px;background:linear-gradient(135deg,#2d2523,#101411);box-shadow:0 30px 70px #0005}
.offer-hero-photo:after{position:absolute;inset:5px;border:1px dashed #b790723b;border-radius:27px;content:"";pointer-events:none}
.offer-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:65% 50%;border-radius:23px;display:block}
.offer-hero-photo figcaption{position:absolute;inset:auto 10px 10px;padding:70px 26px 26px;border-radius:0 0 23px 23px;background:linear-gradient(transparent,#070807ed);color:#fff}
.offer-hero-photo figcaption span{display:block;color:#e4c4b7;font-size:12px;letter-spacing:.12em;line-height:1.5;margin-bottom:8px}
.offer-hero-photo figcaption strong{font:400 23px/1.3 var(--dc-serif)}
.offer-scroll{display:flex;justify-content:center;align-items:center;gap:22px;min-height:32px;width:fit-content;margin:auto;color:#bfb5a7;font-size:12px;letter-spacing:.13em}
.offer-scroll span:last-child{font-size:20px;transition:transform .2s}.offer-scroll:hover span:last-child{transform:translateY(3px)}
.offer-hero a:focus-visible{outline:2px solid #e0a4a7;outline-offset:5px}
.quote-workspace{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,2fr);align-items:start;gap:clamp(28px,4vw,64px);padding:clamp(48px,6vw,100px) max(24px,5vw);max-width:1600px;margin:auto;background:#101312;scroll-margin-top:var(--dc-nav-height)}
.quote-context{padding-top:8px}
.quote-context h2{margin:0 0 24px;font-size:clamp(30px,3vw,46px);line-height:1.1;letter-spacing:-.035em}
.quote-context h2 em{font-family:var(--dc-serif);font-weight:400;color:#cf8385}
.quote-context>p:not(.offer-eyebrow){font-size:16px;line-height:1.7;color:#b7bcb2;max-width:32ch}
.quote-contact{margin-top:36px;padding-top:22px;border-top:1px solid #77655355;max-width:280px}
.quote-contact>span{display:block;font-size:14px;color:#b7bcb2;margin-bottom:12px}
.quote-contact a{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:18px;color:#ede7dc}
.quote-load-fallback{font-size:16px;line-height:1.6;color:#e5c4bd;border:1px solid #986e5c;padding:16px;border-radius:8px}.quote-load-fallback a{text-decoration:underline}
.quote-step-feedback{font-size:14px;line-height:1.5;color:#f3acb1;padding:12px 0 0;margin:0}
.quote-page .form-actions button:disabled{opacity:.5;cursor:wait;transform:none}
.quote-page .quote-builder{width:100%;max-width:1040px;margin-inline:auto}
.quote-intro{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:32px;padding:0 0 28px}
.quote-eyebrow{margin:0 0 12px;color:#c2a17f;font-size:12px;font-weight:700;letter-spacing:.14em}
.quote-intro h1{margin:0;font-size:clamp(30px,3.2vw,44px);line-height:1.1;letter-spacing:-.035em}
.quote-intro h1 em{font-family:var(--dc-serif);font-weight:400;color:#d07b7d;letter-spacing:-.025em}
.quote-intro-aside p{margin:0 0 10px;font-size:16px;line-height:1.55;color:#bdbfb9}
.quote-intro-aside a{display:inline-flex;align-items:center;gap:18px;min-height:44px;color:#f0ece5;font-size:14px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#88615b;transition:color .2s}
.quote-intro-aside a:hover{color:#efb2b4}
.quote-page .quote-builder{padding:0;background:transparent}
.quote-page .quote-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0 0 18px;max-width:none}
.quote-progress li{display:flex;align-items:center;gap:10px;padding:0 0 13px;border-bottom:2px solid #383b36;color:#a6aaa3;font-size:14px;line-height:1.4}
.quote-page .quote-progress li span{color:inherit;font-size:12px;letter-spacing:.04em}
.quote-progress li.on{border-color:#b76568;color:#f0ece5}
.quote-progress li[aria-current="step"]{font-weight:700}
.quote-page .quote-builder form{padding:28px 32px 20px;border:1px solid #77624c66;border-radius:18px;background:linear-gradient(130deg,#1d201dcc,#101312);max-width:none;box-shadow:0 16px 48px #00000018}
.quote-step-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 22px}
.quote-page .quote-step h2{margin:0;font:400 clamp(25px,2.6vw,32px)/1.18 var(--dc-serif);letter-spacing:-.02em}
.quote-step-heading p{margin:0;max-width:38ch;color:#b8bcb4;font-size:14px;line-height:1.5}
.quote-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
.quote-page .form-grid .full{grid-column:1/-1}
.quote-page .form-grid label{display:block;min-width:0;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none;color:#e0e0d9}
.label-optional{color:#aeb2aa;font-size:13px}
.quote-page .form-grid input,.quote-page .form-grid select,.quote-page .form-grid textarea{display:block;margin-top:7px;min-height:48px;padding:12px 14px;border-radius:8px;border-color:#50534b;background:#0e1110;font:400 16px/1.4 var(--dc-sans,Arial,sans-serif);color:#f3efe9;transition:border-color .2s,box-shadow .2s;scroll-margin-block:120px 24px}
.quote-page .form-grid input::placeholder,.quote-page .form-grid textarea::placeholder{color:#91988e;opacity:1}
.quote-page .form-grid textarea{min-height:112px}
.quote-page .form-grid input:focus,.quote-page .form-grid select:focus,.quote-page .form-grid textarea:focus{border-color:#d18a8b;box-shadow:0 0 0 3px #be686829}
.quote-page .form-grid [aria-invalid="true"]{border-color:#e48a91;box-shadow:0 0 0 1px #e48a91}
.quote-field-error{display:block;margin:7px 0 0;color:#f3acb1;font-size:14px;line-height:1.45;font-weight:400}
.quote-page .form-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px}
.quote-page .first-step-actions{justify-content:flex-end}
.quote-page .form-actions button,.quote-page .form-actions a{width:auto;min-height:48px;padding:13px 22px;font-size:14px;letter-spacing:.01em;text-transform:none;cursor:pointer;gap:28px}
.quote-page .form-actions .quote-primary{min-width:190px;background:linear-gradient(125deg,#96363b,#69252a);border-color:#bd666c;color:#fff}
.quote-page .form-actions .quote-primary:hover{background:linear-gradient(125deg,#a74349,#7c3035);border-color:#e28b91;transform:translateY(-1px)}
.quote-page .form-actions button:not(.quote-primary):hover{background:#ffffff09;border-color:#afa497}
.quote-page .form-privacy{margin:20px 0 0;padding-top:16px;border-top:1px solid #ffffff12;font-size:13px;line-height:1.6;color:#afb3ab}
.quote-page .form-privacy a{color:#e2d8cb;white-space:nowrap}
.quote-page .summary-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
.quote-page .summary-card>span{padding:14px 0;border:0;border-bottom:1px solid #ffffff17;border-radius:0;font-size:16px;line-height:1.5;white-space:pre-wrap}
.quote-page .summary-card small{color:#b7bcb2;font-size:12px;letter-spacing:.05em;margin-bottom:4px}
.quote-page .summary-card .wide{grid-column:1/-1}
.quote-page .photo-note{padding:16px 18px;border-left:2px solid #b87972;border-radius:0 8px 8px 0;background:#b8926f0d}
.quote-page .photo-note b{font-size:14px}
.quote-page .photo-note span{font-size:14px;line-height:1.55;color:#bfc2ba}
.quote-workspace :is(a,button):focus-visible{outline:2px solid #e0a4a7;outline-offset:4px}

@media(max-width:1099px){.offer-hero{padding-inline:28px}.offer-hero-inner{gap:28px}.offer-hero h1{font-size:clamp(38px,min(6vw,9svh),66px)}.quote-workspace{grid-template-columns:1fr;max-width:1080px}.quote-context{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.quote-context .offer-eyebrow{grid-column:1/-1;margin-bottom:14px}.quote-context h2{margin-bottom:0}.quote-context>p:not(.offer-eyebrow){margin:0;max-width:42ch}.quote-contact{display:none}}
@media(min-width:701px) and (max-height:620px){
 .offer-hero{--offer-top:14px}
 .offer-hero h1{font-size:clamp(32px,min(4.5vw,8.5svh),52px)}
 .offer-hero .offer-eyebrow{margin-bottom:10px}
 .offer-hero-lead{margin:12px 0;font-size:16px;line-height:1.5;max-width:48ch}
 .offer-hero-note{margin-top:12px}
 .offer-hero-photo figcaption{padding:42px 20px 20px}
}
@media(max-width:700px){
 .offer-hero{padding:20px 18px 12px;gap:12px}
 .offer-hero-inner{grid-template-columns:1fr;gap:20px;margin:auto}
 .offer-eyebrow{font-size:12px;margin-bottom:14px;letter-spacing:.11em}
 .offer-hero h1{font-size:clamp(34px,8.5vw,48px);line-height:1.04}
 .offer-hero h1 em br{display:none}
 .offer-hero-lead{font-size:16px;line-height:1.5;margin:16px 0;max-width:42ch}
 .offer-hero-actions{gap:16px}.offer-hero-actions a{min-height:44px;gap:16px;font-size:14px}.offer-start{padding:12px 18px}.offer-3d{padding:10px 0}
 .offer-hero-note{display:none}
 .offer-hero-photo{min-height:0;height:clamp(180px,30svh,320px);padding:7px;border-radius:20px}
 .offer-hero-photo img{border-radius:14px;object-position:55% 48%}
 .offer-hero-photo:after{inset:3px;border-radius:17px}
 .offer-hero-photo figcaption{inset:auto 7px 7px;padding:36px 16px 15px;border-radius:0 0 14px 14px}.offer-hero-photo figcaption span{font-size:12px;margin:0}.offer-hero-photo figcaption strong{display:none}
 .offer-scroll{font-size:11px;min-height:30px}
 .quote-workspace{padding:36px 18px 44px;gap:26px}
 .quote-context{display:block}.quote-context h2{font-size:32px;margin-bottom:14px}.quote-context h2 br{display:none}.quote-context>p:not(.offer-eyebrow){font-size:16px}
 .quote-page .quote-builder form{padding:22px 20px 18px;border-radius:14px}
 .quote-step-heading{display:block;margin-bottom:20px}.quote-step-heading p{margin-top:8px}
 .quote-page .form-grid{grid-template-columns:1fr;gap:16px}
 .quote-page .quote-progress{gap:12px;margin-bottom:14px}.quote-progress li{font-size:14px;gap:6px}
 .quote-page .form-actions{gap:10px}.quote-page .form-actions button,.quote-page .form-actions a{padding:13px 16px;gap:12px;min-width:0}
 .quote-page .first-step-actions .quote-primary{width:100%}
}
@media(max-width:380px){.offer-hero{padding-inline:14px}.offer-hero-actions{gap:12px}.offer-hero-actions a{font-size:13px}.quote-workspace{padding-inline:12px}.quote-page .quote-builder form{padding-inline:16px}.quote-page .form-actions{flex-direction:column-reverse;align-items:stretch}.quote-page .form-actions button,.quote-page .form-actions a{width:100%}.quote-progress li{gap:5px;font-size:13px}.quote-page .summary-card{grid-template-columns:1fr}}
@media(max-width:700px) and (max-height:680px){.offer-hero{padding-top:14px;gap:8px}.offer-hero-inner{gap:14px}.offer-eyebrow{margin-bottom:10px}.offer-hero h1{font-size:32px}.offer-hero-lead{margin:10px 0;line-height:1.45}.offer-hero-photo{height:150px}}
@media(prefers-reduced-motion:reduce){.offer-hero *,.quote-workspace *{transition:none!important;scroll-behavior:auto!important}.quote-page .form-actions .quote-primary:hover,.offer-scroll:hover span:last-child{transform:none}}
