/* One presentation layer over the real public pages. No admin/portal selectors. */
.public-preview {
    --preview-primary:var(--preview-selected-primary,var(--brand)); --preview-on-primary:var(--preview-selected-on-primary,#fff); --preview-accent-text:var(--preview-selected-accent-text,var(--brand-dark));
    --preview-ink:var(--preview-selected-ink,var(--ink)); --preview-muted:#575b61; --preview-white:#fff;
    --preview-gray-50:#f8f8f9; --preview-gray-100:#f0f1f2; --preview-gray-200:#e4e5e7;
    --preview-gray-300:#d2d4d8; --preview-gray-500:#7c8189; --preview-gray-800:#33363b;
    --preview-tint-sage:#e0eae3; --preview-tint-blue:#e0e9ef; --preview-tint-sand:#eee7db; --preview-tint-lilac:#e7e4ed;
    --surface:var(--preview-gray-100); --surface-warm:var(--preview-gray-100); --line:var(--preview-gray-200); --ink-soft:var(--preview-muted); --muted:var(--preview-muted);
    --shadow-sm:0 8px 32px #20242b08; --shadow:0 24px 64px #20242b0c;
    color:var(--preview-ink); background:var(--preview-gray-50); font-size:1rem;
}
/* Decorative transforms must never widen the viewport. Vertical scrolling stays native. */
html:has(>body.public-preview) { overflow-x:clip; }
.public-preview [hidden] { display:none!important; }
.public-preview form[data-contract-interest="true"] :is([data-quick-price-summary],[data-wizard-price]),
.public-preview form:has([data-live-contract-interest]:checked) :is([data-quick-price-summary],[data-wizard-price]) { display:none!important; }
.public-preview :is(a,button,input,select,summary):focus-visible { outline:3px solid var(--preview-accent-text); outline-offset:4px; }
.public-preview :is(button,a,input,select,summary) { -webkit-tap-highlight-color:transparent; }
.public-preview :is(button,summary) { touch-action:manipulation; }
.public-preview .container { max-width:1240px; padding-inline:clamp(1.1rem,3.2vw,2.5rem); }
.public-preview .container--narrow { max-width:860px; }
.public-preview h1 { font-size:clamp(2.15rem,4.8vw,4.3rem); font-weight:650; letter-spacing:-.055em; line-height:1.08; }
.public-preview h2 { font-size:clamp(1.85rem,3.2vw,3rem); font-weight:650; letter-spacing:-.045em; line-height:1.15; }
.public-preview h3 { font-size:1.25rem; letter-spacing:-.025em; }
.public-preview .lead { color:var(--preview-muted); font-size:clamp(1.05rem,1.25vw,1.17rem); line-height:1.7; }
.public-preview .eyebrow { color:var(--preview-accent-text); font-size:.72rem; font-weight:800; letter-spacing:.13em; }
.public-preview .section { padding-block:clamp(3.5rem,7.5vw,6.5rem); }
.public-preview .section--compact { padding-block:2.5rem; }
.public-preview :is(.section--light,.section--warm) { background:var(--preview-gray-100); }
.public-preview .section--dark { color:var(--preview-ink); background:var(--preview-gray-200); }
.public-preview .section--dark :is(h2,h3) { color:var(--preview-ink); }
.public-preview .section--dark .eyebrow::before { background:var(--preview-primary); }
.public-preview .section-heading { align-items:end; gap:2rem 5rem; }
.public-preview .section-heading p { max-width:43ch; color:var(--preview-muted); }
.public-preview :is(.btn,.contract-button) { border-radius:.8rem; padding:.8rem 1.2rem; min-height:3rem; font-size:.88rem; box-shadow:none; transition:transform 180ms ease,box-shadow 180ms ease,background-color 180ms ease; }
.public-preview :is(.btn-primary,.contract-button,.home-maintenance-check__offer) { background:var(--preview-primary); border-color:var(--preview-primary); color:var(--preview-on-primary); }
.public-preview :is(.btn-primary,.contract-button):hover { background:var(--preview-primary); border-color:var(--preview-primary); color:var(--preview-on-primary); box-shadow:0 8px 20px #20242b19; transform:translateY(-2px); }
.public-preview :is(.btn-outline-dark,.btn-outline-light) { color:var(--preview-ink); border:1px solid var(--preview-gray-300); background:transparent; }
.public-preview :is(.btn-outline-dark,.btn-outline-light):hover { background:var(--preview-white); border-color:var(--preview-gray-500); }
.public-preview .text-link { color:var(--preview-accent-text); }
.public-preview .btn span[aria-hidden] { margin-left:1.1rem; }
.preview-bar { position:relative; z-index:120; background:var(--preview-gray-100); border-bottom:1px solid var(--preview-gray-200); }
.preview-bar__inner { display:flex; min-height:2.8rem; align-items:center; gap:1.5rem; font-size:.68rem; }
.preview-bar__home { display:flex; align-items:center; gap:.5rem; color:var(--preview-ink); font-weight:800; letter-spacing:.1em; text-decoration:none; }
.preview-status-dot { width:.4rem; height:.4rem; border-radius:50%; background:var(--preview-primary); box-shadow:0 0 0 .2rem var(--preview-gray-200); }
.preview-bar__note { color:var(--preview-muted); }
.preview-bar__settings { display:flex; align-items:center; gap:1rem; min-height:2.8rem; margin-left:auto; padding:.25rem 0; border:0; color:var(--preview-ink); background:transparent; font-weight:700; }
.preview-scroll-progress { position:fixed; z-index:150; inset:0 0 auto; height:2px; pointer-events:none; }
.preview-scroll-progress span { display:block; height:100%; width:100%; background:var(--preview-primary); transform:scaleX(0); transform-origin:left; }
.public-preview .top-strip { background:var(--preview-white); color:var(--preview-muted); border-bottom:1px solid var(--preview-gray-100); }
.public-preview .top-strip__inner { min-height:2.15rem; font-size:.65rem; }
.public-preview .top-strip :is(a,strong) { color:var(--preview-muted); }
.public-preview .top-strip .business-status { color:var(--preview-muted); }
.public-preview .top-strip .business-status__dot { background:var(--preview-gray-500); }
.public-preview .business-status__label { margin-inline:.4rem; }
.public-preview .business-status__dot { margin-inline-end:.65rem; }
.public-preview .site-header { background:var(--preview-white); border-bottom:1px solid var(--preview-gray-200); box-shadow:none; }
.public-preview .nav-shell__inner { min-height:5.1rem; }
.public-preview .site-nav>ul { gap:1.25rem; }
.public-preview .site-nav a { font-size:.8rem; }
.public-preview .site-nav>ul>li>a { white-space:nowrap; }
.public-preview .site-nav a.is-active { color:var(--preview-accent-text); }
.public-preview .nav-cta { background:var(--preview-primary); color:var(--preview-on-primary); }
.public-preview .subnav { background:var(--preview-white); border:1px solid var(--preview-gray-200); border-radius:1rem; box-shadow:var(--shadow); }
.public-preview .subnav a:hover { background:var(--preview-gray-100); }
.public-preview .nav-toggle { color:var(--preview-ink); }

/* Existing photography, a lighter editorial composition, and a direct service choice. */
.public-preview .home-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); position:relative; gap:3rem; max-width:1240px; min-height:0; margin:0 auto; padding:clamp(2.5rem,5vw,4.5rem) clamp(1.1rem,3.2vw,2.5rem) 3.5rem; overflow:visible; color:var(--preview-ink); background:transparent; }
.public-preview .home-hero::before,.public-preview .home-hero::after { display:none; }
.public-preview .home-hero__inner { display:block; grid-column:1; grid-row:1; width:auto; padding:0; margin:0; }
.public-preview .home-hero__copy { max-width:none; }
.public-preview .home-hero h1 { max-width:15ch; margin:.95rem 0 1.3rem; color:var(--preview-ink); text-shadow:none; font-size:clamp(2.3rem,4.6vw,4rem); font-weight:650; letter-spacing:-.055em; line-height:1.1; }
.public-preview .home-hero .lead { color:var(--preview-muted); max-width:40ch; margin-bottom:1.6rem; }
.public-preview .home-hero__picture { position:relative; grid-column:2; grid-row:1; display:block; align-self:stretch; inset:auto; width:auto; height:auto; min-width:0; overflow:hidden; border:8px solid var(--preview-white); border-radius:10rem 1.4rem 1.4rem 1.4rem; background:var(--preview-gray-200); box-shadow:0 24px 64px #20242b0f; }
.public-preview .home-hero__picture img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:52% 50%; }
.public-preview .home-hero__picture::after { content:""; position:absolute; inset:auto 1.1rem 1.1rem auto; width:2.9rem; height:2.9rem; border:8px solid var(--preview-white); border-radius:50%; background:var(--preview-primary); }
.public-preview .home-maintenance-check { margin:0; padding:1.2rem; border:1px solid var(--preview-gray-200); border-radius:1.15rem; box-shadow:0 12px 30px #20242b06; }
.public-preview .home-maintenance-check__heading { gap:.4rem; }
.public-preview .home-maintenance-check__heading>span { color:var(--preview-muted); font-size:.7rem; }
.public-preview .home-maintenance-check__heading strong { color:var(--preview-ink); font-size:.98rem; }
.public-preview .home-maintenance-check__options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; margin-top:1rem; }
.public-preview .home-maintenance-check__options a { position:relative; display:flex; min-height:5.5rem; flex-direction:column; gap:.25rem; justify-content:center; padding:.75rem; border:1px solid var(--preview-gray-200); border-radius:.7rem; color:var(--preview-ink); background:var(--preview-gray-50); transition:transform 180ms,border-color 180ms,background-color 180ms; }
.public-preview .home-maintenance-check__options a:hover { border-color:var(--preview-primary); background:var(--preview-white); transform:translateY(-3px); }
.public-preview .home-maintenance-check__options a:nth-child(1) { background:var(--preview-tint-sand); }
.public-preview .home-maintenance-check__options a:nth-child(2) { background:var(--preview-tint-blue); }
.public-preview .home-maintenance-check__options a:nth-child(3) { background:var(--preview-tint-sage); }
.public-preview .home-maintenance-check__options span { font-size:.85rem; }
.public-preview .home-maintenance-check__options small { color:var(--preview-muted); font-size:.7rem; }
.public-preview .home-maintenance-check__links { margin-top:.8rem; }
.public-preview .home-maintenance-check__links a { color:var(--preview-accent-text); font-size:.71rem; }
.public-preview .home-maintenance-check>p { margin:.8rem 0 0; font-size:.67rem; line-height:1.55; }
.public-preview .home-maintenance-check__offer { margin:.9rem -1.2rem -1.2rem; padding:.8rem 1.1rem; border-radius:0 0 1.1rem 1.1rem; }
.public-preview .trust-bar { border-block:1px solid var(--preview-gray-200); background:var(--preview-white); }
.public-preview .trust-item { border-color:var(--preview-gray-200); }
.public-preview .trust-item strong { color:var(--preview-ink); font-size:.95rem; }
.public-preview .trust-item span { color:var(--preview-muted); font-size:.77rem; }
.public-preview .google-rating-strip { background:var(--preview-gray-100); }
.public-preview .google-rating-strip h2 { color:var(--preview-ink); }

.public-preview .preview-care { margin:0 1rem; padding-block:clamp(3rem,5vw,5rem); border-radius:2rem; background:var(--preview-gray-100); overflow:hidden; overflow:clip; }
.preview-care__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:4rem; align-items:center; }
.preview-care__grid>div { min-width:0; }
.preview-care__copy .btn { max-width:100%; white-space:normal; }
.preview-care__copy h2 { margin:1rem 0 1.25rem; }
.preview-care__copy h2 span { color:var(--preview-accent-text); }
.preview-care__copy .fine-print { font-size:.76rem; color:var(--preview-muted); max-width:40ch; }
.preview-care__visual { position:relative; display:grid; min-width:0; min-height:24rem; place-items:center; isolation:isolate; }
.preview-care__orbit { position:absolute; inset:8% 3%; border:1px solid var(--preview-gray-300); border-radius:50%; transform:rotate(-20deg); z-index:-1; }
.preview-care__orbit::after { content:""; position:absolute; inset:17% -7%; border:1px dashed var(--preview-gray-300); border-radius:50%; transform:rotate(40deg); }
.preview-care__card { display:flex; flex-direction:column; width:17rem; max-width:calc(100% - 1.5rem); min-height:22rem; border:1px solid var(--preview-gray-300); border-radius:1.3rem; padding:1.7rem; background:linear-gradient(145deg,#fff,var(--preview-gray-200)); box-shadow:10px 14px 0 -4px var(--preview-gray-300),0 24px 40px #20242b12; transform:rotate(-7deg); }
.preview-care__brand { display:flex; gap:.4rem; align-items:baseline; font-size:.85rem; font-weight:800; letter-spacing:.1em; }
.preview-care__brand small { font-size:.38rem; letter-spacing:.06em; }
.preview-care__symbol { display:block; width:3.4rem; height:3.4rem; flex-shrink:0; margin:1.4rem 0 .5rem auto; fill:var(--preview-primary); }
.preview-care__card>strong { font-size:1.9rem; line-height:1.13; letter-spacing:-.05em; }
.preview-care__card-foot { display:flex; justify-content:space-between; margin-top:auto; padding-top:1.5rem; font-size:.65rem; font-weight:700; }
.preview-care__note { position:absolute; display:flex; align-items:center; gap:.7rem; max-width:88%; border:1px solid var(--preview-gray-200); border-radius:.85rem; padding:.85rem 1rem; background:var(--preview-white); box-shadow:0 12px 25px #20242b0c; font-size:.6rem; color:var(--preview-muted); }
.preview-care__note>span { display:grid; width:2.2rem; height:2.2rem; place-items:center; border-radius:.6rem; color:var(--preview-accent-text); background:var(--preview-gray-100); font-size:1.25rem; }
.preview-care__note strong { display:block; color:var(--preview-ink); font-size:.75rem; margin-top:.1rem; }
.preview-care__note--one { top:1.2rem; right:-.5rem; transform:rotate(4deg); background:var(--preview-tint-sage); }
.preview-care__note--two { left:-.5rem; bottom:1.5rem; transform:rotate(-3deg); background:var(--preview-tint-blue); }
.public-preview[data-preview-motion="playful"] .preview-care__note--one { animation:preview-float 6s ease-in-out infinite alternate; }
.public-preview[data-preview-motion="playful"] .preview-care__note--two { animation:preview-float 7s ease-in-out 1s infinite alternate-reverse; }
.public-preview[data-preview-motion="playful"] .preview-care__symbol { animation:preview-turn 20s linear infinite; }
.public-preview[data-preview-background="true"] .preview-care__visual *,.public-preview .preview-care__visual:not(.is-in-view) * { animation-play-state:paused!important; }
@keyframes preview-float { to { translate:0 -8px; } }
@keyframes preview-turn { to { rotate:360deg; } }

/* Shared service, pricing, company, area, and contact pages. */
.public-preview .page-hero { color:var(--preview-ink); background:var(--preview-gray-100); padding-block:clamp(2.5rem,5vw,4.5rem); }
.public-preview .page-hero::before,.public-preview .page-hero::after { opacity:0; }
.public-preview .page-hero :is(h1,p,.lead) { color:var(--preview-ink); text-shadow:none; }
.public-preview .page-hero .lead { color:var(--preview-muted); }
.public-preview .page-hero--visual { overflow:hidden; }
.public-preview .page-hero__visual,.public-preview .page-hero__media { overflow:hidden; border:8px solid var(--preview-white); border-radius:5rem 1.2rem 1.2rem 1.2rem; box-shadow:var(--shadow); }
.public-preview .page-hero__visual::after,.public-preview .page-hero__media::after { opacity:0; }
.public-preview .breadcrumbs,.public-preview .breadcrumbs a { color:var(--preview-muted); }
.public-preview :is(.hero-pill,.brand-chip,.price-pill,.hero-fact,.about-fact-strip,.about-promise,.about-do-dont,.service-note,.service-deliverable) { border-color:var(--preview-gray-200); color:var(--preview-ink); background:var(--preview-gray-100); }
.public-preview .about-fact-strip__grid>div { border-color:var(--preview-gray-300); }
.public-preview .about-fact-strip span,.public-preview .about-promise li { color:var(--preview-muted); }
.public-preview .about-promise li::before { color:var(--preview-accent-text); }
.public-preview :is(.feature-card,.service-card,.price-card,.price-service-card,.contact-card) { overflow:hidden; border:1px solid var(--preview-gray-200); border-radius:1.15rem; background:var(--preview-white); box-shadow:var(--shadow-sm); }
.public-preview .service-card__body { padding:1.45rem; }
.public-preview .service-card__image { overflow:hidden; background:var(--preview-gray-200); }
.public-preview .service-card__image img { transition:transform 500ms cubic-bezier(.2,.75,.25,1); }
@media (hover:hover) and (pointer:fine) { .public-preview .service-card:hover .service-card__image img { transform:scale(1.035); } }
.public-preview .feature-card { padding:1.75rem; }
.public-preview .feature-card__number { color:var(--preview-accent-text); background:var(--preview-gray-100); border-radius:.8rem; }
.public-preview .price-card { padding:1.7rem; }
.public-preview .price-card--featured { border:1.5px solid var(--preview-primary); background:var(--preview-white); }
.public-preview .price-card__amount,.public-preview .price-card__current { color:var(--preview-ink); font-size:2.5rem; letter-spacing:-.05em; }
.public-preview .price-card__amount small { color:var(--preview-muted); font-size:.72rem; line-height:1.6; letter-spacing:normal; }
.public-preview .check-list li::before { color:var(--preview-accent-text); }
.public-preview .check-list li { border-color:var(--preview-gray-200); }
.public-preview :is(.offer-badge,.service-card__ribbon) { background:var(--preview-primary); color:var(--preview-on-primary); }
.public-preview .price-service-card__price { color:var(--preview-accent-text); }
.public-preview .inline-cta { gap:1.5rem; border:1px solid var(--preview-gray-200); border-radius:1.1rem; padding:1.5rem; background:var(--preview-gray-100); }
.public-preview .inline-cta h2 { color:var(--preview-ink); font-size:1.25rem; }
.public-preview .inline-cta p { color:var(--preview-muted); font-size:.88rem; }
.public-preview .content-grid__media img { border-radius:1.2rem; }
.public-preview .faq-list details { border:1px solid var(--preview-gray-200); border-radius:.9rem; padding:0 1.25rem; margin-bottom:.65rem; background:var(--preview-white); }
.public-preview .faq-list summary { min-height:4rem; padding:1.1rem 2rem 1.1rem 0; font-size:.98rem; }
.public-preview .faq-list summary::after { color:var(--preview-accent-text); }
.public-preview .faq-list details>div { color:var(--preview-muted); font-size:.92rem; }
.public-preview .footer-cta { margin:1rem 1rem 0; padding-block:3rem; border:1px solid var(--preview-gray-200); border-radius:1.4rem 1.4rem 0 0; color:var(--preview-ink); background:var(--preview-gray-200); }
.public-preview .footer-cta h2 { font-size:clamp(1.8rem,3vw,2.8rem); color:var(--preview-ink); }
.public-preview .footer-cta :is(.eyebrow,p) { color:var(--preview-muted); }
.public-preview .footer-cta .btn-light { background:var(--preview-primary); color:var(--preview-on-primary); border-color:var(--preview-primary); }
.public-preview .site-footer { background:var(--preview-ink); color:var(--preview-gray-300); border-top:1px solid #ffffff24; }
.public-preview .site-footer :is(a,h2,strong) { color:var(--preview-gray-50); }
.public-preview .site-footer h2 { font-size:.92rem; }
.public-preview .site-footer p { font-size:.81rem; }
.public-preview .site-footer__bottom { border-color:#ffffff24; font-size:.75rem; }
.public-preview .site-footer__brand img { max-width:170px; padding:0; border-radius:0; background:transparent; }
.public-preview .site-footer :is(a,button):focus-visible { outline-color:var(--preview-gray-50); }
.public-preview :is(.mobile-actionbar,.service-mobile-cta,.special-offer-mobile-cta) { background:var(--preview-white); border-color:var(--preview-gray-200); box-shadow:0 -8px 25px #20242b09; }
.public-preview .mobile-actionbar a { color:var(--preview-ink); background:var(--preview-gray-100); }
.public-preview .mobile-actionbar a:last-child { background:var(--preview-primary); color:var(--preview-on-primary); }

@media (max-width:820px) {
    /* Keep the fixed edge still while Safari expands or collapses its own toolbar. */
    .public-preview :is(.mobile-actionbar,.service-mobile-cta,.special-offer-mobile-cta) { transform:none; transition:opacity var(--motion-ui) ease, visibility 0s linear; }
    .public-preview :is(.mobile-actionbar,.service-mobile-cta,.special-offer-mobile-cta).is-scroll-hidden,
    .public-preview.is-nav-open :is(.mobile-actionbar,.service-mobile-cta,.special-offer-mobile-cta) { transform:none; visibility:hidden; transition:opacity var(--motion-ui) ease, visibility 0s linear var(--motion-ui); }
    /* Match the two button surfaces beneath the safe-area padding and during repainting. */
    .public-preview .mobile-actionbar { background:linear-gradient(90deg,var(--preview-gray-100) 40%,var(--preview-primary) 40%); }
}

/* Native dialogs and controls: touch targets and keyboard focus are first-class. */
.public-preview .preview-dialog { width:min(32rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); inset:0; margin:auto; padding:1.75rem; border:1px solid var(--preview-gray-200); border-radius:1.5rem; color:var(--preview-ink); background:var(--preview-white); box-shadow:0 30px 100px #20242b40; }
.preview-dialog::backdrop { background:#20242b80; }
.public-preview .preview-dialog h2 { font-size:2rem; margin:1rem 0; }
.preview-dialog p { color:var(--preview-muted); font-size:.88rem; line-height:1.6; }
.preview-dialog__heading { display:flex; align-items:center; justify-content:space-between; }
.preview-close { display:grid; place-items:center; width:2.75rem; height:2.75rem; border:1px solid var(--preview-gray-200); border-radius:50%; background:var(--preview-gray-50); color:var(--preview-ink); font-size:1.6rem; }
.preview-palette { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; padding:1rem; border:1px solid var(--preview-gray-200); border-radius:1rem; }
.preview-palette label { display:flex; flex-direction:column; gap:.6rem; font-size:.77rem; font-weight:700; }
.preview-palette input[type=color] { width:100%; height:3rem; padding:.2rem; border:1px solid var(--preview-gray-200); border-radius:.5rem; background:var(--preview-white); cursor:pointer; }
.preview-gray-ramp { display:flex; grid-column:1/-1; gap:.3rem; margin-top:.25rem; }
.preview-gray-ramp i { flex:1; height:.85rem; background:var(--preview-gray-50); border:1px solid #20242b15; border-radius:3px; }
.preview-gray-ramp i:nth-child(2) { background:var(--preview-gray-100); }.preview-gray-ramp i:nth-child(3) { background:var(--preview-gray-200); }.preview-gray-ramp i:nth-child(4) { background:var(--preview-gray-300); }.preview-gray-ramp i:nth-child(5) { background:var(--preview-gray-800); }
.preview-motion-options { display:flex; flex-wrap:wrap; gap:.6rem; margin:1.4rem 0 .7rem; }
.preview-motion-options legend { float:none; width:auto; margin:0 0 .6rem; font-size:.9rem; font-weight:700; }
.preview-motion-options label { display:flex; min-height:2.8rem; align-items:center; gap:.5rem; padding:.5rem .8rem; border:1px solid var(--preview-gray-200); border-radius:.6rem; font-size:.77rem; }
.preview-motion-options input { accent-color:var(--preview-primary); }

/* The same inquiry wizard, with a more focused and tactile presentation. */
.public-preview.page-wizard .page-hero { padding-block:2.5rem 1.5rem; text-align:center; background:var(--preview-gray-50); }
.public-preview.page-wizard .page-hero h1 { max-width:22ch; margin:.7rem auto 1rem; font-size:clamp(2rem,3.1vw,2.8rem); }
.public-preview.page-wizard .page-hero .lead { max-width:62ch; margin-inline:auto; font-size:.96rem; }
.public-preview.page-wizard .page-hero .breadcrumbs { justify-content:center; }
.public-preview.page-wizard .section--compact { padding-top:.8rem; }
.public-preview .wizard { max-width:880px; margin:0 auto; padding:clamp(1.3rem,3.2vw,2.5rem); border:1px solid var(--preview-gray-200); border-radius:1.5rem; box-shadow:0 25px 70px #20242b09; background:var(--preview-white); scroll-margin-top:8.5rem; }
.public-preview .wizard__header { gap:1rem; padding-bottom:1.6rem; margin-bottom:1.7rem; border-bottom:1px solid var(--preview-gray-200); }
.public-preview .wizard__header>strong { font-size:.74rem; color:var(--preview-muted); font-weight:650; }
.public-preview .wizard__progress { gap:.35rem; }
.public-preview .wizard__progress span { height:4px; background:var(--preview-gray-200); border-radius:1rem; }
.public-preview .wizard__progress span.is-current,.public-preview .wizard__progress span.is-complete { background:var(--preview-primary); }
.public-preview .wizard__step h2 { font-size:clamp(1.65rem,2.8vw,2.25rem); margin:.65rem 0 1rem; }
.public-preview .wizard__step .lead { font-size:.94rem; }
.public-preview .wizard__choices { gap:.8rem; margin:1.5rem 0; }
.public-preview .choice-card { overflow:hidden; border:1px solid var(--preview-gray-200); border-radius:1rem; background:var(--preview-gray-50); transition:transform 180ms,border-color 180ms,box-shadow 180ms; }
.public-preview .choice-card--text { min-height:7.4rem; }
.public-preview .choice-card:hover { transform:translateY(-2px); border-color:var(--preview-gray-500); }
.public-preview .choice-card:has(input:checked) { border-color:var(--preview-primary); outline:1px solid var(--preview-primary); box-shadow:0 8px 24px #20242b0a; background:var(--preview-white); }
.public-preview .choice-card input { accent-color:var(--preview-primary); }
.public-preview .choice-card__body { padding:1.15rem; }
.public-preview .choice-card__body strong { color:var(--preview-ink); font-size:1rem; }
.public-preview .choice-card__body small { margin-top:.35rem; color:var(--preview-muted); font-size:.78rem; line-height:1.55; }
.public-preview .choice-card img { aspect-ratio:2 / 1; object-fit:cover; }
.public-preview :is(.form-control,.form-select) { min-height:3.25rem; border:1px solid var(--preview-gray-300); border-radius:.65rem; padding:.85rem; background-color:var(--preview-white); color:var(--preview-ink); font-size:1rem; box-shadow:none; }
.public-preview .form-control:focus,.public-preview .form-select:focus { border-color:var(--preview-primary); box-shadow:0 0 0 3px var(--preview-gray-100); }
.public-preview .form-field>label { color:var(--preview-ink); font-size:.8rem; margin-bottom:.55rem; }
.public-preview .wizard-optional { border:1px solid var(--preview-gray-200); border-radius:.8rem; background:var(--preview-gray-50); box-shadow:none; }
.public-preview .wizard-optional>summary { padding:1rem; font-size:.85rem; }
.public-preview .wizard-optional>summary small { color:var(--preview-muted); font-size:.72rem; }
.public-preview .wizard-optional__body { padding:1.15rem; }
.public-preview .wizard__actions { gap:.85rem; padding-top:1.4rem; }
.public-preview .wizard__summary { border:1px solid var(--preview-gray-200); border-radius:1rem; padding:1.1rem; background:var(--preview-gray-100); }
.public-preview .wizard__summary dt { color:var(--preview-muted); font-size:.7rem; }
.public-preview .wizard__summary dd { color:var(--preview-ink); font-size:.88rem; }
.public-preview :is(.notice--info,.quick-wizard-price,.wizard__price,.service-note,.surcharge-result[data-state=neutral]) { background:var(--preview-gray-100); border-color:var(--preview-gray-300); color:var(--preview-ink); }
.public-preview .quick-wizard-price { font-size:.8rem; }
.public-preview .quick-wizard-price strong { color:var(--preview-ink); }
.preview-contract-option { margin:1.4rem 0; padding:1.2rem; border:1px solid var(--preview-gray-300); border-radius:.95rem; background:var(--preview-gray-100); }
.preview-contract-option:has(input:checked) { border-color:var(--preview-primary); }
.preview-contract-option label { display:flex; gap:.85rem; align-items:center; cursor:pointer; }
.preview-contract-option input { width:1.35rem; height:1.35rem; flex:0 0 auto; accent-color:var(--preview-primary); }
.preview-contract-option strong { display:block; font-size:.95rem; }
.preview-contract-option small { display:block; margin-top:.3rem; color:var(--preview-muted); font-size:.75rem; }
.preview-contract-option>a { display:inline-flex; align-items:center; min-height:2.75rem; margin:.45rem 0 -.6rem 2.2rem; color:var(--preview-accent-text); font-size:.75rem; }
.preview-contract-benefits { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0; }
.preview-contract-benefits span { padding:.45rem .7rem; border-radius:.5rem; color:var(--preview-muted); background:var(--preview-gray-100); font-size:.7rem; }
.preview-test-note { display:flex; flex-direction:column; gap:.35rem; padding:.9rem 1rem; border-left:3px solid var(--preview-primary); border-radius:0 .7rem .7rem 0; background:var(--preview-gray-100); }
.preview-test-note strong { color:var(--preview-accent-text); font-size:.64rem; letter-spacing:.06em; }
.preview-test-note span { font-size:.75rem; color:var(--preview-muted); }
.preview-contract-group { min-width:0; padding:1.7rem 0; border-top:1px solid var(--preview-gray-200); }
.public-preview .preview-contract-group legend { float:none; width:auto; margin:0 0 .7rem; padding:0; font-size:1.18rem; font-weight:750; letter-spacing:-.025em; }
.preview-contract-group>p { font-size:.84rem; color:var(--preview-muted); }
.preview-contract-position { margin-bottom:.85rem; padding:1.15rem; border:1px solid var(--preview-gray-200); border-radius:.85rem; background:var(--preview-gray-50); }
.preview-position-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; margin-bottom:.7rem; }
.preview-position-heading strong { font-size:.87rem; }
.preview-position-heading strong>span { display:block; color:var(--preview-muted); font-weight:500; margin-top:.25rem; }
.preview-position-heading button { min-height:2.75rem; border:0; background:transparent; color:var(--preview-accent-text); font-size:.74rem; text-decoration:underline; text-underline-offset:.2rem; }
.preview-position-tag { padding:.3rem .55rem; border-radius:.4rem; color:var(--preview-muted); background:var(--preview-gray-200); font-size:.65rem; }
.preview-add-position { display:flex; align-items:center; min-height:3rem; border:1px dashed var(--preview-gray-300); border-radius:.65rem; padding:.75rem 1rem; color:var(--preview-accent-text); background:var(--preview-white); font-size:.81rem; font-weight:700; }
.preview-material-choices { display:grid; gap:.6rem; margin:1.25rem 0; }
.preview-material-choices label { display:flex; gap:.8rem; align-items:center; padding:1rem; border:1px solid var(--preview-gray-200); border-radius:.8rem; background:var(--preview-gray-50); cursor:pointer; }
.preview-material-choices label:has(input:checked) { border-color:var(--preview-primary); background:var(--preview-white); box-shadow:inset 3px 0 var(--preview-primary); }
.preview-material-choices input,.preview-material-confirm input { flex:0 0 auto; width:1.2rem; height:1.2rem; accent-color:var(--preview-primary); }
.preview-material-choices strong { display:block; font-size:.86rem; }
.preview-material-choices small { display:block; margin-top:.2rem; color:var(--preview-muted); font-size:.76rem; }
.preview-material-amount { padding:1.1rem; border:1px solid var(--preview-gray-200); border-radius:.85rem; background:var(--preview-gray-100); }
.preview-material-amount input[type=text] { max-width:22rem; }
.preview-material-amount p { margin:.8rem 0 1.1rem; }
.preview-material-confirm { display:flex; gap:.75rem; align-items:center; font-size:.83rem; }
.preview-material-summary { margin:1rem 0 0; font-size:.82rem; color:var(--preview-ink); }
.preview-review { margin:0 auto; max-width:880px; padding:clamp(1.3rem,3.2vw,2.5rem); border:1px solid var(--preview-gray-200); border-radius:1.5rem; background:var(--preview-white); scroll-margin-top:8.5rem; }
.preview-review h2 { font-size:2rem; }
.preview-review dl { margin:1.5rem 0; }
.preview-review dl>div { display:grid; grid-template-columns:1fr 1.7fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--preview-gray-200); }
.preview-review dt { color:var(--preview-muted); font-size:.8rem; font-weight:500; }
.preview-review dd { margin:0; color:var(--preview-ink); font-size:.87rem; white-space:pre-line; overflow-wrap:anywhere; }

.public-preview.contract-preview { --contract-ink:var(--preview-ink); --contract-muted:var(--preview-muted); --contract-line:var(--preview-gray-200); --contract-accent:var(--preview-primary); --contract-paper:var(--preview-gray-50); }
.public-preview.contract-preview :is(.contract-hero,.contract-digital,.contract-final,.contract-finale) { background:var(--preview-gray-100); }
.public-preview.contract-preview :is(.contract-hero h1 span,.contract-digital h2 span,.contract-finale h2 span,.contract-text-link,.contract-benefit__number) { color:var(--preview-accent-text); }
.public-preview.contract-preview .contract-preview__notice { display:none; }
.public-preview.contract-preview .contract-wallet__card { background:linear-gradient(140deg,#fff,var(--preview-gray-200)); color:var(--preview-ink); border-color:var(--preview-gray-300); }
.public-preview.contract-preview .contract-flower { fill:var(--preview-primary); }
.public-preview.contract-preview .contract-benefit { --benefit-bg:var(--preview-tint-blue); }
.public-preview.contract-preview .contract-benefit--sand { --benefit-bg:var(--preview-tint-sand); }
.public-preview.contract-preview .contract-benefit--sage { --benefit-bg:var(--preview-tint-sage); }
.public-preview.contract-preview .contract-benefit--lilac { --benefit-bg:var(--preview-tint-lilac); }
.public-preview.contract-preview .contract-benefit--peach { --benefit-bg:var(--preview-tint-sand); }
.public-preview.contract-preview :is(.contract-system-controls,.contract-book__tabs) { gap:.35rem; background:transparent; }
.public-preview.contract-preview :is(.contract-system-controls,.contract-book__tabs) button { border-radius:.55rem; background:var(--preview-tint-blue); }
.public-preview.contract-preview :is(.contract-system-controls,.contract-book__tabs) button:nth-child(1) { background:var(--preview-tint-sand); }
.public-preview.contract-preview :is(.contract-system-controls,.contract-book__tabs) button:nth-child(3) { background:var(--preview-tint-sage); }
.public-preview.contract-preview :is(.contract-system-controls,.contract-book__tabs) button[aria-pressed="true"] { color:var(--preview-accent-text); border-color:var(--preview-primary); box-shadow:inset 0 -2px var(--preview-primary); }
.public-preview.contract-preview .contract-hero h1 { font-size:clamp(2.5rem,4.7vw,4.25rem); }
.public-preview .motion-reveal { transform:none; transition:none; }
.public-preview[data-preview-motion=off] *, .public-preview[data-preview-motion=off] *::before, .public-preview[data-preview-motion=off] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
@media (min-width:1051px) and (max-width:1200px) { .public-preview .site-nav>ul { gap:.75rem; }.public-preview .site-nav a { font-size:.72rem; } }
@media (max-width:1050px) {
    .public-preview .site-nav { background:var(--preview-white); }
    .public-preview .site-nav a { font-size:.95rem; }
    .public-preview .nav-shell__inner { min-height:4.6rem; }
    .public-preview .home-hero { gap:1.75rem; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
    .preview-care__grid { gap:2rem; }
}
@media (max-width:760px) {
    .preview-bar__inner { gap:.65rem; font-size:.61rem; }
    .preview-bar__note { display:none; }
    .public-preview .top-strip { display:none; }
    .public-preview .brand img { width:147px; height:auto; }
    .public-preview .home-hero { display:block; padding-top:clamp(2.75rem,11vw,4rem); padding-bottom:2.5rem; overflow:hidden; overflow:clip; background:var(--preview-gray-50); }
    .public-preview .home-hero__picture { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:0; box-shadow:none; }
    .public-preview .home-hero__picture img { object-position:57% 40%; }
    .public-preview .home-hero__picture::after { display:none; }
    .public-preview .home-hero::before { display:block; background:linear-gradient(180deg,#161b21b8 0%,#161b21b3 38%,#161b2170 70%,#161b2133 100%); }
    .public-preview .home-hero .eyebrow { color:#fff; }
    .public-preview .home-hero .eyebrow::before { background:#fff; }
    .public-preview .home-hero h1 { max-width:17ch; color:#fff; font-size:clamp(2.1rem,7.8vw,3rem); text-shadow:0 2px 16px #0003; }
    .public-preview .home-hero .lead { color:#f7f8fa; font-size:1rem; text-shadow:0 1px 10px #0003; }
    .public-preview .home-maintenance-check { padding:1rem; margin-top:2rem; background:#fff; }
    .public-preview .home-maintenance-check__options { gap:.4rem; }
    .public-preview .home-maintenance-check__options a { padding:.65rem .55rem; min-height:5rem; }
    .public-preview .home-maintenance-check__options span { font-size:.75rem; }
    .public-preview .home-maintenance-check__options small { font-size:.64rem; }
    .public-preview .home-maintenance-check__offer { margin-inline:-1rem; margin-bottom:-1rem; }
    .public-preview .preview-care { margin-inline:.6rem; border-radius:1.4rem; }
    .preview-care__grid { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
    .preview-care__visual { min-height:23rem; margin:0 .5rem; }
    .preview-care__note--one { right:0; }.preview-care__note--two { left:0; }
    .public-preview .trust-bar__grid { grid-template-columns:1fr 1fr; gap:1.5rem; }
    .public-preview .trust-item strong { font-size:.85rem; }.public-preview .trust-item span { font-size:.7rem; }
    .public-preview .page-hero { padding-block:2rem; }
    .public-preview .page-hero--visual .page-hero__copy h1 { font-size:clamp(2rem,7vw,2.8rem); }
    .public-preview .page-hero__visual,.public-preview .page-hero__media { border-radius:3rem 1rem 1rem 1rem; }
    .public-preview :is(.inline-cta,.footer-cta__inner) { align-items:start; flex-direction:column; }
    .public-preview .footer-cta { margin-inline:.6rem; padding-block:2.5rem; }
    .public-preview .site-footer__grid { gap:2rem; }
    .public-preview .wizard { border-radius:1rem; padding:1.25rem; scroll-margin-top:6rem; }
    .public-preview.page-wizard .page-hero { padding-top:1.75rem; text-align:left; }
    .public-preview.page-wizard .page-hero h1 { margin-inline:0; font-size:1.9rem; }
    .public-preview.page-wizard .page-hero .breadcrumbs { justify-content:start; }
    .public-preview .wizard__choices { grid-template-columns:1fr 1fr; gap:.65rem; }
    .public-preview .choice-card--text { min-height:9rem; }
    .public-preview .choice-card__body { padding:.85rem; }
    .public-preview .choice-card__body strong { font-size:.86rem; }.public-preview .choice-card__body small { font-size:.71rem; }
    .public-preview .wizard__header { padding-bottom:1.2rem; margin-bottom:1.35rem; }
    .public-preview .wizard__actions .btn { padding:.8rem .95rem; font-size:.8rem; }
    .public-preview .wizard__step .lead { font-size:.9rem; }
    .preview-contract-position { padding:1rem; }.preview-contract-group { padding:1.4rem 0; }
    .preview-review dl>div { grid-template-columns:1fr; gap:.4rem; }
    .public-preview .preview-dialog { padding:1.3rem; }
    .public-preview .preview-dialog h2 { font-size:1.8rem; }
}
@media (max-width:375px) {
    .public-preview .home-maintenance-check__options { grid-template-columns:1fr; }
    .public-preview .home-maintenance-check__options a { flex-direction:row; justify-content:space-between; align-items:center; min-height:3.25rem; }
    .public-preview .home-maintenance-check__options span { font-size:.83rem; }
    .public-preview .wizard__choices { grid-template-columns:1fr; }
    .public-preview .choice-card--text { min-height:0; }
    .public-preview .wizard__actions { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
    .public-preview *,.public-preview *::before,.public-preview *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

.public-preview .page-hero__frame { width:min(1240px,100%); margin:auto; padding-inline:clamp(1.1rem,3.2vw,2.5rem); border:0; border-radius:0; background:transparent; box-shadow:none; }
.public-preview .page-hero--editorial .page-hero__copy { padding:0; color:var(--preview-ink); background:transparent; }
.public-preview .page-hero--editorial .page-hero__copy .lead { color:var(--preview-muted); }
.public-preview .page-hero--editorial .page-hero__grid { gap:3rem; }
.public-preview .page-hero__price { color:var(--preview-ink); background:var(--preview-white); border:1px solid var(--preview-gray-200); border-radius:.8rem; box-shadow:var(--shadow-sm); }
.public-preview .page-hero__price :is(span,small) { color:var(--preview-muted); }
.public-preview .wizard__header { flex-wrap:wrap; }
.public-preview .preview-example { display:block; width:100%; margin-top:1rem; flex-basis:100%; text-align:left; min-height:2.75rem; padding:.55rem .8rem; border:1px dashed var(--preview-gray-300); border-radius:.65rem; color:var(--preview-muted); background:var(--preview-gray-50); font-size:.73rem; }
.public-preview .contract-system-entry { color:var(--preview-accent-text); }
@media(max-width:760px) { .public-preview .page-hero--editorial .page-hero__grid { gap:1.75rem; }.public-preview .page-hero__frame { padding:0 1.1rem; } }

.public-preview .page-hero--editorial .page-hero__grid { min-height:32rem; }
.public-preview .page-hero--editorial .page-hero__media { min-height:30rem; }
.public-preview .page-hero__price { backdrop-filter:none; }
@media(max-width:760px) { .public-preview .page-hero--editorial .page-hero__grid { min-height:0; }.public-preview .page-hero--editorial .page-hero__media { min-height:0; } }

.public-preview .wizard-shell { padding-block:1rem 4rem; background:var(--preview-gray-50); }
.public-preview .wizard__step { padding:0; min-height:0; }
.public-preview .wizard__header { padding:0 0 1.5rem; }
.public-preview .choice-card:has(input:checked)::after { color:var(--preview-on-primary); background:var(--preview-primary); }

/* The seasonal offer uses the same light composition as the service pages. */
.public-preview .special-offer-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:3rem; max-width:1240px; min-height:0; margin:auto; padding:clamp(2.5rem,5vw,4.5rem) clamp(1.1rem,3.2vw,2.5rem); color:var(--preview-ink); background:var(--preview-gray-50); }
.public-preview .special-offer-hero__image { position:relative; inset:auto; grid-column:2; grid-row:1; height:100%; min-height:0; border:8px solid var(--preview-white); border-radius:5rem 1.2rem 1.2rem 1.2rem; object-position:62% center; }
.public-preview .special-offer-hero__shade { display:none; }
.public-preview .special-offer-hero__content { grid-column:1; grid-row:1; width:auto; max-width:none; padding:0; }
.public-preview .special-offer-hero h1 { color:var(--preview-ink); font-size:clamp(2.5rem,4.5vw,4rem); line-height:1.08; }
.public-preview .special-offer-hero :is(.lead,.breadcrumbs ol,.breadcrumbs a,.special-offer-hero__terms,.special-offer-hero__proof),.public-preview .special-offer-hero__price>span:not(.offer-badge) { color:var(--preview-muted); }
.public-preview .special-offer-hero__price>strong { color:var(--preview-ink); font-size:clamp(3rem,5vw,4.5rem); }
.public-preview .special-offer-hero__price>em { color:var(--preview-accent-text); }
.public-preview .special-offer-price::before { background:var(--preview-gray-200); }
.public-preview .special-offer-price__deadline { background:var(--preview-gray-100); }
@media(max-width:820px) {
    .public-preview .special-offer-hero { grid-template-columns:minmax(0,1fr); gap:1.75rem; }
    .public-preview .special-offer-hero__image { grid-column:1; grid-row:2; height:18rem; }
}

/* Canonical vector logo, with motion controlled by the existing preview settings. */
/* The server identifies the first step; the existing wizard owns later visibility. */
.js .public-preview [data-preview-initial-step="address"]>[data-wizard-step]:not([data-step-key="address"]):not([aria-hidden]),
.js .public-preview [data-preview-initial-step="service"]>[data-wizard-step]:not([data-step-key="service"]):not([aria-hidden]) { display:none; }

.public-preview .brand .preview-brand { display:block; width:180px; max-width:100%; height:auto; }
.public-preview .preview-brand [fill="#232323"] { fill:var(--preview-ink); }
.public-preview .preview-brand [fill="#AE173F"] { fill:var(--preview-primary); }
.preview-brand [data-preview-logo-wordmark] { transform-box:fill-box; transform-origin:center; }
.public-preview .preview-logo-replay { margin:.25rem 0 1rem; }
.public-preview .preview-logo-replay:disabled { opacity:.55; cursor:default; }
.public-preview .preview-service-request { display:flex; align-items:center; min-height:3.2rem; margin:0 1.5rem 1.25rem; padding:.6rem 0 0; border-top:1px solid var(--preview-gray-200); color:var(--preview-accent-text); font-size:.88rem; font-weight:750; text-decoration:none; }
.public-preview .home-maintenance-check__options a { padding-inline-start:1.4rem; }
.public-preview .home-maintenance-check__options a::before { left:.5rem; width:.2rem; }
.public-preview a.brand-chip { color:var(--preview-ink); text-decoration:none; }
.public-preview a.brand-chip:hover { border-color:var(--preview-primary); color:var(--preview-accent-text); }

/* A readable process whose connecting line follows native scrolling. */
.preview-journey { --journey-progress:1; background:var(--preview-white); }
#preview-journey-title,#preview-device-title { scroll-margin-top:8rem; }
.preview-journey__steps { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:2.6rem; }
.preview-journey__rail { position:absolute; top:1.5rem; left:2.65rem; right:calc(25% - 2.15rem); height:2px; background:var(--preview-gray-200); }
.preview-journey__rail>span { display:block; width:100%; height:100%; background:var(--preview-primary); transform:scaleX(var(--journey-progress)); transform-origin:left; }
.preview-journey__steps article { position:relative; min-width:0; padding:4.7rem 1.15rem 1.25rem; }
.preview-journey__number { position:absolute; top:0; left:1.15rem; z-index:1; display:grid; place-items:center; width:3rem; height:3rem; border:1px solid var(--preview-gray-300); border-radius:50%; background:var(--preview-white); color:var(--preview-muted); font-size:.8rem; font-weight:750; transition:background-color 180ms,border-color 180ms,color 180ms; }
.preview-journey__steps article.is-reached .preview-journey__number { border-color:var(--preview-primary); color:var(--preview-on-primary); background:var(--preview-primary); }
.preview-journey__steps svg { display:block; width:2rem; height:2rem; margin-bottom:1rem; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; color:var(--preview-muted); transition:color 180ms; }
.preview-journey__steps article.is-reached svg { color:var(--preview-accent-text); }
.public-preview .preview-journey__steps h3 { font-size:1.04rem; line-height:1.35; margin:0 0 .65rem; }
.preview-journey__steps p { margin:0; color:var(--preview-muted); font-size:.87rem; line-height:1.65; }
.preview-journey__foot { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-top:1.5rem; margin-top:1rem; border-top:1px solid var(--preview-gray-200); }
.preview-journey__foot p { max-width:55ch; margin:0; font-size:.85rem; color:var(--preview-muted); }
.preview-journey__foot a { flex-shrink:0; max-width:100%; min-height:2.75rem; display:inline-flex; align-items:center; gap:.6rem; font-size:.86rem; }

/* An explanatory cutaway, drawn natively rather than shipped as a 3D scene. */
.preview-device { overflow:hidden; overflow:clip; background:var(--preview-gray-100); }
.preview-device__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:clamp(1.5rem,4vw,4rem); }
.preview-device__scene { position:relative; min-width:0; aspect-ratio:600/670; border:1px solid var(--preview-gray-200); border-radius:1.6rem; background:radial-gradient(ellipse at 50% 45%,#fff 0%,#f4f6f6 70%); }
.preview-device__badge { position:absolute; z-index:1; top:1rem; left:1rem; max-width:calc(100% - 2rem); padding:.4rem .6rem; border:1px solid var(--preview-gray-200); border-radius:.45rem; color:var(--preview-muted); background:var(--preview-white); font-size:.64rem; }
.preview-device__drawing { display:block; width:100%; height:100%; color:var(--preview-accent-text); }
.preview-device [data-device-component] { transform-box:fill-box; transform-origin:center; transition:transform 420ms cubic-bezier(.2,.8,.2,1),filter 240ms; }
.preview-device[data-device-active="electrodes"] [data-device-component="electrodes"] { transform:translate(-45px,-12px) scale(1.1); filter:drop-shadow(5px 8px 4px #23232326); }
.preview-device[data-device-active="exchanger"] [data-device-component="exchanger"] { transform:translate(43px,0) scale(1.04); filter:drop-shadow(-5px 8px 4px #23232326); }
.preview-device[data-device-active="siphon"] [data-device-component="siphon"] { transform:translate(-45px,12px) scale(1.06); filter:drop-shadow(5px 8px 4px #23232326); }
.preview-device[data-device-active="flue"] [data-device-component="flue"] { transform:translate(18px,-8px); filter:drop-shadow(5px 8px 4px #23232326); }
.preview-device[data-device-active="pump"] [data-device-component="pump"] { transform:translate(42px,4px) scale(1.05); filter:drop-shadow(-5px 8px 4px #23232326); }
.preview-device[data-device-active="gas-valve"] [data-device-component="gas-valve"] { transform:translate(-42px,-4px) scale(1.08); filter:drop-shadow(5px 8px 4px #23232326); }
.preview-device[data-device-active="control"] [data-device-component="control"] { transform:translate(0,16px) scale(1.03); filter:drop-shadow(0 6px 4px #23232326); }
.preview-device__callout { opacity:0; transition:opacity 160ms; color:var(--preview-accent-text); }
.preview-device__callout path { fill:none; stroke:currentColor; stroke-width:2; stroke-dasharray:4 4; }
.preview-device__callout circle { fill:currentColor; }
.preview-device__callout text { font-size:19px; font-weight:700; fill:currentColor; }
.preview-device[data-device-active="electrodes"] [data-device-callout="electrodes"],.preview-device[data-device-active="exchanger"] [data-device-callout="exchanger"],.preview-device[data-device-active="siphon"] [data-device-callout="siphon"],.preview-device[data-device-active="flue"] [data-device-callout="flue"],.preview-device[data-device-active="pump"] [data-device-callout="pump"],.preview-device[data-device-active="gas-valve"] [data-device-callout="gas-valve"],.preview-device[data-device-active="control"] [data-device-callout="control"] { opacity:1; }
.preview-device__hotspots { position:absolute; inset:0; pointer-events:none; }
.preview-device__hotspot { position:absolute; display:grid; place-items:center; min-width:2.75rem; min-height:2.75rem; padding:.3rem; border:2px solid var(--preview-primary); border-radius:50%; color:var(--preview-accent-text); background:var(--preview-white); font-size:.85rem; font-weight:800; pointer-events:auto; transform:translate(-50%,-50%); box-shadow:0 4px 12px #23232312; }
.preview-device__hotspot--electrodes { left:38%; top:29%; }.preview-device__hotspot--exchanger { left:52%; top:41%; }.preview-device__hotspot--siphon { left:41%; top:71%; }.preview-device__hotspot--flue { left:65.5%; top:14%; }
.preview-device__hotspot--pump { left:70%; top:71%; }.preview-device__hotspot--gas-valve { left:25%; top:51%; }.preview-device__hotspot--control { left:51%; top:86%; }
.preview-device__hotspot[aria-pressed="true"] { background:var(--preview-primary); color:var(--preview-on-primary); }
.preview-device__information { min-width:0; }
.preview-device__controls { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.6rem; }
.preview-device__controls button { min-height:2.8rem; padding:.65rem .85rem; border:1px solid var(--preview-gray-300); border-radius:.65rem; color:var(--preview-muted); background:var(--preview-tint-blue); font-size:.79rem; font-weight:700; }
.preview-device__controls button:nth-child(3n+2) { background:var(--preview-tint-sand); }.preview-device__controls button:nth-child(3n+1) { background:var(--preview-tint-sage); }
.preview-device__controls button[aria-pressed="true"] { color:var(--preview-accent-text); border-color:var(--preview-primary); box-shadow:inset 0 -2px var(--preview-primary); }
.preview-device__panels article { margin-bottom:1.4rem; }
.preview-device[data-device-ready] .preview-device__panels { min-height:21rem; }
.public-preview .preview-device__panels h3 { margin:.8rem 0 1.1rem; font-size:clamp(1.5rem,2.5vw,2.2rem); line-height:1.2; letter-spacing:-.04em; }
.preview-device__panels p { color:var(--preview-muted); font-size:.92rem; line-height:1.7; }
.preview-device__checks { margin:1.1rem 0; }
.preview-device__checks>div { padding:.8rem 0 .8rem .9rem; border-left:2px solid var(--preview-gray-300); }
.preview-device__checks>div+div { margin-top:.5rem; }
.preview-device__checks dt { color:var(--preview-ink); font-size:.87rem; font-weight:700; }
.preview-device__checks dd { margin:.35rem 0 0; color:var(--preview-muted); font-size:.84rem; line-height:1.65; }
.preview-device__measurements { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin:1.2rem 0; }
.preview-device__measurements span { min-width:0; padding:.8rem .6rem; border:1px solid var(--preview-gray-200); border-radius:.7rem; color:var(--preview-muted); background:var(--preview-white); font-size:.65rem; }
.preview-device__measurements strong { display:block; margin-bottom:.4rem; color:var(--preview-ink); font-size:1rem; }
.preview-device__status { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.preview-device__note { max-width:90ch; margin:1.5rem 0 0; }
.preview-device [data-device-system]+[data-device-system] { margin-top:2rem; }
.preview-device [data-device-system][role="tabpanel"] { margin-top:0; }
.preview-device-tabs { display:flex; flex-wrap:wrap; gap:.65rem; margin:0 0 2rem; }
.preview-device-tabs button { flex:1 1 9rem; min-height:3.2rem; padding:.8rem 1.1rem; border:1px solid var(--preview-gray-300); border-radius:.8rem; background:var(--preview-tint-sage); color:var(--preview-ink); font-size:.9rem; font-weight:750; }
.preview-device-tabs button:nth-child(2) { background:var(--preview-tint-sand); }
.preview-device-tabs button:nth-child(3) { background:var(--preview-tint-blue); }
.preview-device-tabs [aria-selected="true"] { border-color:var(--preview-primary); box-shadow:inset 0 -3px var(--preview-primary); color:var(--preview-accent-text); }
.preview-device__controls button:active,.preview-device-tabs button:active { transform:scale(.97); }
.preview-device__hotspot:active { transform:translate(-50%,-50%) scale(.93); }
.preview-device__callout.is-selected { opacity:1; }
.preview-device :is([data-device-system="oil"],[data-device-system="heat_pump"]) [data-device-component].is-selected { filter:drop-shadow(0 6px 4px #23232333); }
.preview-device__oil-burner { transition:transform 350ms cubic-bezier(.2,.8,.2,1); }
.preview-device:is([data-device-active="nozzle"],[data-device-active="ignition"],[data-device-active="flame-sensor"],[data-device-active="oil-pump"]) .preview-device__oil-burner { transform:translateY(12px); }
.preview-device [data-device-component="nozzle"].is-selected { transform:translateX(-24px); }
.preview-device [data-device-component="ignition"].is-selected { transform:translateY(-15px); }
.preview-device [data-device-component="flame-sensor"].is-selected { transform:translateX(20px); }
.preview-device [data-device-component="fins"].is-selected { transform:translateX(16px); }
.preview-device__fan-blades { transform-box:fill-box; transform-origin:50% 50%; }
.preview-device [data-device-component="fan"].is-selected .preview-device__fan-blades { animation:preview-fan-turn 2s ease-out; }
.preview-device__airflow { opacity:0; }
.preview-device[data-device-active="fan"] .preview-device__airflow { opacity:.65; animation:preview-airflow 1.4s ease-in-out 2; }
@keyframes preview-fan-turn { from { transform:rotate(-120deg); } to { transform:rotate(0); } }
@keyframes preview-airflow { 0% { transform:translateX(-12px); opacity:.15; } 60% { opacity:.65; } 100% { transform:translateX(0); opacity:.65; } }
.preview-device-teaser { display:grid; grid-template-columns:7rem minmax(0,1fr); align-items:center; gap:1.5rem; margin-top:2rem; padding:1.5rem; border:1px solid var(--preview-gray-200); border-radius:1.1rem; background:var(--preview-tint-blue); }
.preview-device-teaser>svg { width:100%; fill:var(--preview-white); stroke:var(--preview-accent-text); stroke-width:2; stroke-linejoin:round; }
.preview-device-teaser__part { fill:var(--preview-tint-sage); }
.preview-device-teaser.is-in-view .preview-device-teaser__part { animation:preview-teaser-part 1.2s ease-out; }
@keyframes preview-teaser-part { 0%,100% { transform:translateX(0); } 50% { transform:translateX(10px); } }
.public-preview .preview-device-teaser h3 { margin:0 0 .5rem; font-size:1.3rem; }
.preview-device-teaser p { margin:0; color:var(--preview-muted); font-size:.9rem; }
.preview-device-teaser nav { display:flex; flex-wrap:wrap; gap:.3rem 1.25rem; margin-top:.65rem; }
.preview-device-teaser a { display:inline-flex; align-items:center; gap:.5rem; min-height:2.75rem; color:var(--preview-accent-text); font-size:.85rem; font-weight:750; }
.public-preview:is([data-preview-motion="off"],[data-preview-motion="gentle"]) :is(.preview-device__oil-burner,.preview-device__fan-blades,.preview-device__airflow,.preview-device-teaser__part) { animation:none!important; transform:none!important; }
.public-preview[data-preview-background="true"] :is(.preview-device__fan-blades,.preview-device__airflow,.preview-device-teaser__part) { animation-play-state:paused!important; }
.public-preview[data-preview-motion="off"] [data-device-component] { transform:none!important; }
.public-preview[data-preview-motion="gentle"] [data-device-component] { transform:none; }

.preview-related-links { display:flex; flex-wrap:wrap; gap:.65rem; margin:1.5rem 0 2rem; }
.preview-related-links a { display:inline-flex; align-items:center; justify-content:space-between; gap:1rem; min-height:2.9rem; max-width:100%; padding:.7rem 1rem; border:1px solid var(--preview-gray-200); border-radius:.65rem; color:var(--preview-accent-text); background:var(--preview-white); font-size:.84rem; font-weight:700; text-decoration:none; }
.preview-related-links a:hover { border-color:var(--preview-primary); }
.preview-service-guide__choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.preview-service-guide__choices article { min-width:0; padding:1.5rem; border:1px solid var(--preview-gray-200); border-radius:1rem; background:var(--preview-white); }
.public-preview .preview-service-guide__choices h3 { font-size:1.06rem; }
.preview-service-guide__choices p { color:var(--preview-muted); font-size:.88rem; }
.preview-service-guide__choices .text-link { display:inline-flex; align-items:center; min-height:2.75rem; font-size:.86rem; }

/* Keep the first input close to the entry point, including on a narrow iPhone. */
.public-preview.page-wizard .page-hero { padding:1.2rem 0 .5rem; text-align:left; }
.public-preview.page-wizard .page-hero>.container { max-width:960px; }
.public-preview.page-wizard .page-hero .breadcrumbs { display:none; }
.public-preview.page-wizard .page-hero .eyebrow { font-size:.65rem; }
.public-preview.page-wizard .page-hero h1 { max-width:none; margin:.4rem 0 .6rem; font-size:clamp(1.45rem,2.4vw,2rem); line-height:1.22; }
.public-preview.page-wizard .page-hero .lead { max-width:80ch; margin:0; font-size:.86rem; line-height:1.65; }
.public-preview.page-wizard .wizard-shell { padding-top:.75rem; }
.public-preview .wizard { padding:clamp(1.15rem,2.8vw,2rem); }
.public-preview .wizard__header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.65rem 1rem; padding-bottom:1rem; margin-bottom:1.1rem; }
.public-preview .wizard__header>strong { grid-column:1; grid-row:1; }
.public-preview .wizard__progress { grid-column:1/-1; grid-row:2; width:100%; }
.public-preview .preview-example { grid-column:2; grid-row:1; width:auto; max-width:27ch; min-height:2.75rem; margin:0; padding:.4rem .65rem; font-size:.68rem; line-height:1.4; }
.preview-wizard-selection { display:flex; flex-wrap:wrap; gap:.4rem; grid-column:1/-1; grid-row:3; min-width:0; }
.preview-wizard-selection span { padding:.32rem .55rem; border-radius:.4rem; background:var(--preview-gray-100); color:var(--preview-muted); font-size:.7rem; line-height:1.45; overflow-wrap:anywhere; }
.preview-wizard-selection[data-contract="true"] span:last-child { background:var(--preview-tint-sage); color:var(--preview-ink); }
.public-preview .wizard__step>.eyebrow { font-size:.65rem; }
.public-preview .wizard__step h2 { margin:.4rem 0 .65rem; font-size:clamp(1.4rem,2.4vw,1.9rem); }
.public-preview .wizard__step>.lead { font-size:.86rem; line-height:1.6; margin-bottom:1rem; }
.public-preview [data-quick-price-summary] { margin-block:.65rem 1rem; }
.public-preview.page-wizard .footer-cta { display:none; }
.public-preview .preview-contract-option { margin-block:1.3rem; padding:1.1rem; background:var(--preview-tint-sage); border:1px solid var(--preview-gray-300); border-radius:.9rem; transition:border-color 160ms,box-shadow 160ms; }
.public-preview .preview-contract-option:has(input:checked) { border-color:var(--preview-primary); box-shadow:inset 3px 0 var(--preview-primary); }
.public-preview .preview-contract-option label { align-items:flex-start; min-width:0; }
.public-preview .preview-contract-option input { flex-shrink:0; margin-top:.35rem; }
.public-preview .preview-contract-option__eyebrow { display:block; margin-bottom:.3rem; font-size:.65rem; color:var(--preview-muted); }
.public-preview .preview-contract-option strong { font-size:1rem; }
.public-preview .preview-contract-option small { margin-top:.4rem; font-size:.79rem; line-height:1.5; }
.preview-contract-option__benefits { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.8rem; }
.preview-contract-option__benefits>span { padding:.3rem .5rem; border:1px solid #899d9033; border-radius:.35rem; color:var(--preview-muted); background:#ffffffa6; font-size:.65rem; }
.public-preview .preview-contract-option>a { min-height:2.75rem; display:inline-flex; align-items:center; margin-top:.65rem; font-size:.78rem; }

@media(max-width:900px) {
    .preview-device__grid { gap:1.5rem; }
    .preview-device[data-device-ready] .preview-device__panels { min-height:25rem; }
    .preview-journey__steps { gap:.4rem; }.preview-journey__steps article { padding-inline:.6rem; }
    .preview-journey__foot { flex-direction:column; align-items:flex-start; gap:.6rem; }
}
@media(max-width:760px) {
    .preview-device-teaser { grid-template-columns:minmax(0,1fr); gap:.8rem; }
    .preview-device-teaser>svg { width:6rem; }
    .public-preview .brand .preview-brand { width:156px; }
    #preview-journey-title,#preview-device-title { scroll-margin-top:6rem; }
    .preview-journey__steps { grid-template-columns:minmax(0,1fr); gap:1.4rem; margin-top:1.6rem; }
    .preview-journey__steps article { padding:0 2.4rem 0 4.1rem; min-height:7.3rem; }
    .preview-journey__number { left:0; width:2.75rem; height:2.75rem; }
    .preview-journey__steps svg { position:absolute; right:0; top:.3rem; width:1.5rem; height:1.5rem; }
    .preview-journey__steps h3 { padding-top:.3rem; }
    .preview-journey__rail { top:1.375rem; bottom:6rem; left:1.375rem; right:auto; width:2px; height:auto; }
    .preview-journey__rail>span { transform:scaleY(var(--journey-progress)); transform-origin:top; }
    .preview-device__grid { grid-template-columns:minmax(0,1fr); gap:1.2rem; }
    .preview-device__scene { width:min(100%,28rem); justify-self:center; border-radius:1rem; }
    .preview-device__badge { top:.6rem; left:.6rem; padding:.3rem .4rem; font-size:.58rem; }
    .preview-device__controls { gap:.45rem; margin-bottom:1.3rem; }
    .preview-device__controls button { flex:1 1 auto; padding:.6rem .65rem; font-size:.76rem; }
    .preview-device[data-device-ready] .preview-device__panels { min-height:20rem; }
    .public-preview .preview-device__panels h3 { font-size:1.65rem; }
    .preview-device__panels p { font-size:.88rem; }
    .preview-service-guide__choices { grid-template-columns:minmax(0,1fr); }
    .preview-service-guide__choices article { padding:1.2rem; }
    .public-preview.page-wizard .page-hero { padding:.9rem 0 .25rem; }
    .public-preview.page-wizard .page-hero h1 { font-size:1.45rem; margin:.35rem 0 .5rem; }
    .public-preview.page-wizard .page-hero .lead { font-size:.8rem; line-height:1.55; }
    .public-preview .wizard { padding:1rem; scroll-margin-top:6rem; }
    .public-preview .wizard__header { gap:.55rem; padding-bottom:.8rem; margin-bottom:.85rem; }
    .public-preview .preview-example { max-width:21ch; font-size:.63rem; }
    .public-preview .wizard__step h2 { font-size:1.4rem; }
    .public-preview .wizard__step>.lead { font-size:.8rem; }
    .public-preview .preview-contract-option { padding:.9rem; }
}
@media(prefers-reduced-motion:reduce) { .public-preview :is([data-device-component],.preview-device__oil-burner,.preview-device__fan-blades,.preview-device__airflow,.preview-device-teaser__part) { transform:none!important; animation:none!important; } }
.public-preview .preview-device-tour { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1rem; padding:.85rem; border:1px solid var(--preview-gray-200); border-radius:.8rem; background:var(--preview-sage, #e9efeb); }
.public-preview .preview-device-tour button { min-height:2.75rem; padding:.45rem .75rem; border:1px solid var(--preview-gray-300); border-radius:.5rem; background:var(--preview-white); color:var(--preview-ink); font:inherit; font-size:.8rem; font-weight:650; }
.public-preview .preview-device-tour button:is([data-tour-start],[aria-pressed=true]) { background:var(--preview-primary); color:var(--preview-on-primary); border-color:var(--preview-primary); }
.public-preview .preview-device-tour button:disabled { opacity:.5; }
.public-preview .preview-device-tour p { flex-basis:100%; min-height:2.8em; margin:0; font-size:.8rem; line-height:1.4; }
.public-preview .preview-guide-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.public-preview .preview-guide-cards article { padding:1.25rem; border:1px solid var(--preview-gray-200); border-radius:1rem; background:var(--preview-gray-100); }
.public-preview .preview-guide-cards article:nth-child(2) { background:#eaf0ed; }
.public-preview .preview-guide-cards article:nth-child(3) { background:#eaf0f4; }
.public-preview .preview-guide-cards h3 { font-size:1.05rem; }
.public-preview .preview-guide-cards p { font-size:.88rem; line-height:1.65; }
.public-preview .preview-photo-help summary { padding:1rem 0; font-weight:700; cursor:pointer; }
.public-preview .preview-photo-help svg { display:block; max-width:100%; margin:0 auto 1rem; fill:var(--preview-white); stroke:var(--preview-ink); stroke-width:2; }
.public-preview .preview-photo-help .preview-plate-mark { fill:var(--preview-primary); stroke:var(--preview-primary); }
.public-preview .wizard .preview-photo-help { padding-block:.5rem; }
.public-preview .wizard .preview-photo-help>.container { width:100%; padding:0; }
.public-preview .wizard .preview-guide-cards { grid-template-columns:minmax(0,1fr); }
.public-preview .wizard .preview-guide-cards article { display:grid; grid-template-columns:110px minmax(0,1fr); gap:0 .8rem; }
.public-preview .wizard .preview-guide-cards svg { grid-row:1/3; align-self:center; width:110px; height:auto; margin:0; }
@media(max-width:760px) { .public-preview .preview-guide-cards { grid-template-columns:minmax(0,1fr); } }
