/* styles.css */
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-latin-ext-v17.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-latin-v17.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#171a1d;--paper:#f7f8f8;--muted:#667078;--accent:#c7ddcc;--radius:4px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #5e936d;outline-offset:5px}.header{height:96px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.wordmark{font-weight:700;letter-spacing:-.07em;font-size:22px;line-height:.92;position:relative;display:block;width:max-content}.wordmark span{display:block;letter-spacing:.16em;font-size:18px;margin-top:5px}.wordmark i{font-size:12px;font-style:normal;position:absolute;right:-16px;top:0}.header nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-cta{border:1px solid #c8cdd0;background:transparent;border-radius:var(--radius);padding:13px 18px}.nav-cta span{margin-left:24px}.hero{margin:0 18px;height:min(650px,74vh);min-height:490px;position:relative;overflow:hidden;border-radius:var(--radius);background:#273330;background-position:center;background-size:cover;color:white}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,19,18,.77),rgba(10,19,18,.1)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 35%)}.hero-content{position:relative;padding:65px 5%;max-width:820px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:600;line-height:1.6;margin:0 0 25px}h1{font-size:clamp(42px,5.3vw,78px);line-height:1.04;letter-spacing:-.06em;font-weight:450;margin:0 0 24px}.hero-copy{line-height:1.7;font-size:17px;color:#e5eae7;margin:0 0 30px}.light-button,.dark-button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;border:0;border-radius:var(--radius);padding:16px 23px;font-size:14px;background:#f7f8f8;color:#171a1d}.hero-foot{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.13em;color:#dbe2de}.packages{padding:70px 4.5% 40px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-heading .eyebrow{color:var(--muted);margin-bottom:12px}h2{font-size:clamp(30px,3.2vw,48px);font-weight:450;line-height:1.14;letter-spacing:-.045em;margin:0}.text-button{background:none;border:0;border-bottom:1px solid #9ea6a6;padding:10px 0;font-size:14px;white-space:nowrap}.text-button span{margin-left:22px}.package-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.package-card{height:435px;padding:24px 22px;display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--radius);position:relative;isolation:isolate;overflow:hidden;background-color:#51615e;background-size:cover;background-position:center;color:white}.package-card:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.23),transparent 25%,rgba(0,0,0,.78) 100%)}.refresh{background-color:#756b62}.complete{background-color:#566068}.obsidian{background-color:#1b2228}.card-heading{font-size:10px;letter-spacing:.12em;display:flex;align-items:center;justify-content:space-between;gap:10px}.number{font-size:14px;letter-spacing:0}.card-bottom h3{font-size:28px;letter-spacing:-.045em;font-weight:450;margin:0 0 10px}.card-bottom p{font-size:14px;line-height:1.6;color:#e0e3e3;min-height:46px;margin:0 0 22px}.card-bottom button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #ffffff60;border-radius:var(--radius);padding:13px 12px;color:white;background:#ffffff12;font-size:13px;transition:background .2s}.card-bottom button:hover{background:#ffffff30}.swipe-note{display:none}.approach{padding:70px 4.5% 90px}.approach>.eyebrow{color:var(--muted);margin-bottom:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.steps>div{border-top:1px solid #cdd2d1;padding-top:20px}.steps span{font-size:12px;letter-spacing:.09em;color:#606b6a}.steps p{font-size:16px;line-height:1.6;max-width:300px}footer{margin:0 4.5%;padding:30px 0;border-top:1px solid #cdd2d1;display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span{font-size:12px;color:var(--muted)}dialog{border:0;border-radius:8px;max-width:560px;width:calc(100% - 32px);padding:42px;max-height:90dvh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#10161699;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:30px;padding:8px}dialog p,dialog li{line-height:1.6;font-size:16px}dialog ul{padding-left:20px}dialog li{margin-bottom:9px}.preview-note{background:#f0f2f1;padding:16px;font-size:14px;line-height:1.6;margin:22px 0}.dark-button{background:var(--ink);color:white;justify-content:center;width:100%}form label{display:block;margin:18px 0;font-size:14px}input,select{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid #b8c0be;border-radius:4px;background:white;font-size:16px}#comparison-content section{padding:15px 0;border-bottom:1px solid #ddd}#comparison-content h3{margin:0}#comparison-content p{margin:8px 0}#form-message{font-size:14px}body:has(dialog[open]){overflow:hidden}@media(min-width:1600px){.hero{max-height:780px;height:70vh}.hero-content{padding-top:95px}.package-card{height:500px}}@media(max-width:1000px){.package-track{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-content{padding-top:60px}}@media(max-width:600px){.header{height:80px;padding:0 24px}.wordmark{font-size:19px}.wordmark span{font-size:15px}.header nav>a{display:none}.nav-cta{font-size:12px;padding:10px 12px}.nav-cta span{margin-left:10px}.hero{margin:0 10px;min-height:560px;height:72svh;max-height:690px;background-position:60% center}.hero-content{padding:45px 24px}.hero .eyebrow{font-size:10px;max-width:230px}h1{font-size:46px;max-width:350px}.hero-copy{font-size:16px}.hero-foot{left:24px;right:24px;font-size:9px;line-height:1.6;gap:30px}.hero-foot span:last-child{text-align:right;max-width:100px}.hero-shade{background:linear-gradient(90deg,#0c191ac9,#0c191a30),linear-gradient(0deg,#0007,transparent 45%)}.packages{padding:45px 0 15px}.section-heading{padding:0 24px;align-items:start;flex-direction:column;gap:15px}.section-heading .eyebrow{font-size:10px}.section-heading h2{font-size:33px}.text-button{font-size:14px}.package-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 24px 12px;gap:14px;scrollbar-width:thin}.package-card{flex:0 0 86%;height:440px;scroll-snap-align:center}.card-bottom h3{font-size:34px}.card-bottom p{font-size:16px}.card-bottom button{font-size:14px}.card-heading{font-size:11px}.swipe-note{display:flex;justify-content:space-between;margin:14px 24px 0;font-size:10px;letter-spacing:.14em;color:var(--muted)}.approach{padding:55px 24px}.approach h2{font-size:32px}.steps{grid-template-columns:1fr;gap:18px;margin-top:30px}.steps p{max-width:none}footer{margin:0 24px;padding:25px 0;flex-wrap:wrap}footer>span:last-child{width:100%;font-size:10px}dialog{padding:40px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero{background-image:url('https://images.unsplash.com/photo-1553260188-75a8d6205b6c?auto=format&fit=crop&w=1800&q=85')}
.maintenance,.complete{background-image:url('https://images.unsplash.com/photo-1652860315818-6262425e30f3?auto=format&fit=crop&w=900&q=85')}
.refresh,.obsidian{background-image:url('https://images.unsplash.com/photo-1553260188-75a8d6205b6c?auto=format&fit=crop&w=900&q=85')}
.maintenance{background-position:25% center}.complete{background-position:85% center}.refresh{background-position:20% center}.obsidian{background-position:75% center}

[hidden]{display:none!important}.estimate-page{padding:65px 7% 90px;display:grid;grid-template-columns:1fr 1fr;gap:10%;min-height:75vh}.estimate-intro h1{font-size:clamp(40px,4.5vw,66px)}.estimate-intro>p:not(.eyebrow){color:var(--muted);line-height:1.8;max-width:370px}.estimate-intro .text-button{display:inline-block;margin-top:15px}.estimate-panel{background:white;padding:35px;border:1px solid #e0e5e2;border-radius:8px;max-width:580px;width:100%}.estimate-panel h2{font-size:32px}.estimate-panel .eyebrow{color:var(--muted);margin-bottom:15px}.estimate-actions{display:flex;gap:20px;align-items:center;margin-top:28px}.estimate-actions .text-button{flex:0 0 auto}.field-note{font-size:14px;line-height:1.6;color:var(--muted)}.package-options{border:0;padding:0;margin:25px 0}.package-options legend{font-size:14px}.package-options label{display:flex;gap:14px;align-items:center;border:1px solid #d4dad6;border-radius:4px;padding:16px;margin:10px 0;cursor:pointer}.package-options label:has(input:checked){border-color:#42644d;background:#f2f6f2}.package-options input,.check-option input{width:18px;height:18px;margin:0;accent-color:#31513e}.package-options strong{font-size:18px;font-weight:500;display:block}.package-options small{display:block;line-height:1.5;font-size:14px;color:var(--muted);margin-top:4px}.check-option{display:flex;align-items:center;gap:12px}.estimate-result{background:#edf2ed;padding:22px;margin-top:25px}.estimate-result h3{font-size:26px;font-weight:500;letter-spacing:-.03em;margin:15px 0}.estimate-result p{font-size:14px;line-height:1.7}#estimate-summary{display:grid;grid-template-columns:1fr 1.5fr;gap:15px;font-size:14px;margin-top:25px}#estimate-summary dt{color:var(--muted)}#estimate-summary dd{margin:0;overflow-wrap:anywhere}#estimate-status:empty{display:none}
@media(max-width:600px){.header nav>a:first-child{display:block;font-size:12px}.header nav{gap:14px}.header nav>a.nav-cta{display:block;font-size:12px}.header nav>a.nav-cta span{display:none}.header{padding:0 18px}.estimate-page{display:block;padding:35px 20px 50px}.estimate-intro{margin-bottom:35px}.estimate-intro h1{font-size:40px}.estimate-intro>p:not(.eyebrow){font-size:16px}.estimate-panel{padding:25px 20px}.estimate-panel h2{font-size:28px}}

.package-price{display:block;font-size:16px;margin:0 0 12px;color:#fff}.package-options strong{display:flex;justify-content:space-between;gap:15px}.package-options strong>span{font-size:14px;font-weight:400;white-space:nowrap}.package-options label>span{flex:1}

.vehicle-options{border:0;padding:0;margin:25px 0}.vehicle-options legend{font-size:14px}.vehicle-options label{display:flex;align-items:center;gap:14px;border:1px solid #d4dad6;border-radius:4px;padding:15px;margin:10px 0;cursor:pointer}.vehicle-options label:has(input:checked){border-color:#42644d;background:#f2f6f2}.vehicle-options input{width:18px;height:18px;margin:0;accent-color:#31513e;flex-shrink:0}.vehicle-options strong{font-size:16px;display:block;font-weight:500}.vehicle-options small{display:block;font-size:14px;line-height:1.5;color:var(--muted);margin-top:3px}

.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.call-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 23px;min-height:48px;border:1px solid currentColor;border-radius:var(--radius);font-size:14px}.hero-actions .call-button{color:white;background:#ffffff0a}.hero-actions .call-button:hover{background:#ffffff20}.estimate-call{margin-top:32px}.estimate-call p{font-size:14px;color:var(--muted)}.estimate-call .call-button{color:var(--ink);border-color:#b8c0be}.estimate-call .call-button span{font-size:14px}.footer-phone{font-size:14px;padding:12px 0;text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.hero-actions{gap:12px}.hero-actions .light-button{gap:20px}.hero-actions .call-button{padding:15px 20px}.estimate-call .call-button{width:100%}}

.brand-hero{margin:0 18px;background:#111314;border-radius:4px;overflow:hidden;color:white}.brand-banner{display:block;width:100%;height:auto}.banner-action-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 5%;border-top:1px solid #ffffff20}.banner-action-bar h1{font-size:24px;letter-spacing:-.025em;margin:0 0 7px;font-weight:450}.banner-action-bar p{font-size:14px;color:#bfc5c4;margin:0}.banner-action-bar .hero-actions{flex-shrink:0}@media(max-width:600px){.brand-hero{margin:0 10px}.banner-action-bar{padding:24px;display:block}.banner-action-bar h1{font-size:24px}.banner-action-bar .hero-actions{margin-top:22px;display:flex;flex-wrap:nowrap;gap:10px}.banner-action-bar .light-button{flex:1;padding:15px 14px;gap:12px}.banner-action-bar .call-button{padding:15px 18px}}

.brand-banner{width:100%;height:clamp(240px,42vw,490px);object-fit:contain;background:#101112}.banner-action-bar{padding-top:20px;padding-bottom:20px}@media(max-width:600px){.brand-banner{height:auto}.banner-action-bar{padding:20px 24px}}

.photo-hero{display:grid;grid-template-columns:1fr 1fr;background:#141719;color:#f5f6f6;margin:0 18px;border-radius:4px;overflow:hidden;align-items:center}.photo-hero-copy{padding:45px 10%}.photo-hero-copy .eyebrow{color:#bbc2c5;font-size:11px;margin-bottom:24px}.photo-hero-copy h1{font-size:clamp(38px,4.5vw,68px);line-height:1.07;letter-spacing:-.05em;margin-bottom:24px}.photo-hero-description{font-size:17px;line-height:1.7;color:#c4cbce;max-width:380px}.hero-starting-price{font-size:16px;margin:24px 0}.hero-starting-price strong{font-size:23px;font-weight:500}.hero-package-link{display:inline-block;margin-top:22px;text-decoration:underline;text-underline-offset:4px;font-size:14px;color:#c4cbce}.photo-hero-image{margin:0;position:relative;background:#25292a}.photo-hero-image img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}.photo-hero-image figcaption{font-size:12px;padding:10px 16px;text-align:right;color:#c4cbce;background:#1d2123}@media(max-width:850px){.photo-hero-copy{padding:32px 7%}.photo-hero-copy h1{font-size:40px}}@media(max-width:600px){.photo-hero{grid-template-columns:1fr;margin:0 10px}.photo-hero-copy{padding:30px 24px}.photo-hero-copy .eyebrow{font-size:10px;margin-bottom:18px}.photo-hero-copy h1{font-size:40px;margin-bottom:16px}.photo-hero-description{font-size:16px;line-height:1.6;margin:0}.hero-starting-price{margin:18px 0}.photo-hero .hero-actions{flex-wrap:nowrap;gap:10px}.photo-hero .light-button{flex:1;padding:15px 14px;gap:12px}.photo-hero .call-button{padding:15px 18px}.hero-package-link{margin-top:18px}.photo-hero-image img{max-height:none}}

/* Restrained graphite-and-silver finish, shared across the site. */
:root{--paper:#f5f5f3;--ink:#191c1e;--muted:#686e70;--radius:2px}
.header{height:100px;padding-left:5%;padding-right:5%}
.wordmark{font-size:18px;font-weight:500;letter-spacing:.15em;line-height:1.1}
.wordmark span{font-size:13px;letter-spacing:.46em;margin-top:6px}
.header nav{gap:34px}.nav-cta{border-color:#aaaeb0;padding:13px 19px}
.photo-hero{margin:0 24px;border-radius:2px;background:#171a1c;grid-template-columns:1fr 1fr}
.photo-hero-copy{padding:52px 11%}
.photo-hero-copy .eyebrow{letter-spacing:.18em;font-weight:400;color:#aeb6bb}
.photo-hero-copy h1{font-size:clamp(38px,4.15vw,64px);font-weight:400;line-height:1.1;letter-spacing:-.045em}
.photo-hero-description{font-size:16px;line-height:1.85;color:#b8c0c5;max-width:350px}
.hero-starting-price{color:#c0c7cb;font-size:14px;margin:28px 0}
.hero-starting-price strong{color:#f1f3f4;font-size:24px;font-weight:400;margin-left:5px}
.light-button{background:#ecefee;border:1px solid #ecefee;padding:16px 22px;font-weight:500;min-height:50px}
.light-button:hover{background:#fff;border-color:#fff}
.photo-hero .call-button{border-color:#737d83;color:#ecf0f1;min-height:50px;background:transparent}
.photo-hero .call-button:hover{border-color:#d2d8da;background:#ffffff08}
.hero-package-link{font-size:13px;color:#aeb6bb;text-decoration-color:#5b656c;text-underline-offset:6px}
.photo-hero-image{background:#171a1c}.photo-hero-image img{max-height:650px}
.approach{padding:82px 7% 86px}.approach>.eyebrow{font-size:11px;letter-spacing:.18em}
.approach h2{font-weight:400;font-size:clamp(30px,3vw,44px)}
.steps{gap:48px;margin-top:42px}.steps>div{border-color:#d2d5d4;padding-top:22px}.steps span{font-size:11px;color:#73797b;letter-spacing:.12em}.steps p{font-size:15px;color:#464e51;line-height:1.8}
footer{margin:0 5%;padding:32px 0;border-color:#d2d5d4}.footer-phone{font-size:13px;text-decoration-color:#aeb4b5}
.package-card{border-radius:2px}.card-bottom h3{font-weight:400}.package-options label:has(input:checked),.vehicle-options label:has(input:checked){border-color:#49575e;background:#f1f3f3}.package-options input,.vehicle-options input,.check-option input{accent-color:#36434b}.estimate-result{background:#edf0f0}.estimate-panel{border-radius:3px;border-color:#d7dcdd}.dark-button{background:#1b2328}
@media(max-width:1000px) and (min-width:601px){.photo-hero-copy{padding:30px 7%}.photo-hero-copy h1{font-size:36px}.photo-hero .hero-actions{gap:10px}.photo-hero .light-button{gap:12px;padding:14px 15px}.photo-hero .call-button{padding:14px 16px}}
@media(max-width:600px){.header{height:84px;padding:0 20px}.wordmark{font-size:14px;letter-spacing:.11em}.wordmark span{font-size:10px;letter-spacing:.41em}.header nav{gap:13px}.header nav>a:first-child{font-size:11px}.header nav>a.nav-cta{font-size:11px;padding:11px 12px}.photo-hero{margin:0 10px;grid-template-columns:1fr}.photo-hero-copy{padding:32px 25px}.photo-hero-copy .eyebrow{font-size:10px;letter-spacing:.12em}.photo-hero-copy h1{font-size:39px;line-height:1.12}.photo-hero-description{font-size:15px;line-height:1.7}.hero-starting-price{margin:21px 0}.photo-hero .light-button{padding:15px 13px;gap:8px}.photo-hero .call-button{padding:15px 18px}.photo-hero-image img{max-height:none}.approach{padding:55px 26px}.approach h2{font-size:31px}.steps{gap:17px;margin-top:30px}.steps span{font-size:11px}.steps p{font-size:15px}footer{margin:0 25px}}

.care-description:empty{display:none}.care-description{padding:18px 20px;background:#f3f5f4;border-left:2px solid #8d9a9f;margin:20px 0}.care-description p,.care-description li{font-size:14px;line-height:1.7}.care-description>p:first-child{margin-top:0}.care-description ul{padding-left:18px}.care-description .field-note{margin-bottom:0}.package-price{font-size:14px;line-height:1.6}
textarea{display:block;width:100%;margin-top:8px;padding:13px;font:inherit;font-size:16px;border:1px solid #b8c0be;border-radius:3px;resize:vertical}.check-option{line-height:1.6;align-items:flex-start;flex-wrap:wrap}.check-option input{flex-shrink:0;margin-top:4px}.check-option a{text-decoration:underline}.price-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e1e5e4;font-size:14px}#duration-result{font-size:15px}#quote-review{padding-left:20px;font-size:14px;line-height:1.6;color:#785923}#estimate-status{color:#9b3528;font-size:14px;line-height:1.6}.receipt-mark{font-size:30px;color:#446450;margin-top:20px}#receipt{display:grid;grid-template-columns:1fr 2fr;gap:14px;font-size:14px}#receipt dd{margin:0}#receipt dt{color:var(--muted)}button:disabled{opacity:.55;cursor:wait}.info-page,.owner-page{max-width:1100px;padding:55px 35px 80px;margin:auto}.info-page{max-width:820px}.info-page h1,.owner-page h1{font-size:48px}.info-lead{font-size:18px;line-height:1.7;color:var(--muted)}.info-page section{padding:25px 0;border-top:1px solid #d9dedd}.info-page h2{font-size:25px}.info-page p,.owner-page>p{font-size:16px;line-height:1.8}.owner-heading,.request-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.owner-filters{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.owner-filters button{border:1px solid #cbd2cf;background:transparent;padding:10px 16px;border-radius:3px}.owner-filters button[aria-pressed=true]{background:#1a2427;color:white}.request-card{background:white;padding:28px;margin:22px 0;border:1px solid #d8dedc;border-radius:4px}.request-card h2{font-size:28px}.request-card p{font-size:14px;line-height:1.7}.request-badge{font-size:12px;text-transform:uppercase;letter-spacing:.1em;background:#e9efeb;padding:8px 12px}.request-card form{border-top:1px solid #e1e5e3;margin-top:22px;padding-top:10px}.request-card .dark-button{margin-top:16px}.review-flag{background:#f6f0e4;padding:12px}.owner-review{margin-top:45px;padding:30px;background:#eaf0ed}.owner-review h2{font-size:28px}.owner-review p{font-size:14px;line-height:1.7}.empty-state{padding:40px;text-align:center;border:1px dashed #c7d0cb}@media(max-width:600px){.info-page,.owner-page{padding:35px 22px}.info-page h1,.owner-page h1{font-size:38px}.request-card{padding:20px}.owner-heading{align-items:start}.owner-heading .text-button{white-space:normal}.owner-review{padding:22px}}

/* showroom.css */
/* Detailing Works — showroom collection. Shared visual layer; service logic stays in booking.js. */
:root{--paper:#121212;--ink:#f2f2f2;--muted:#afafaf;--accent:#c9c9c9;--radius:3px;color-scheme:dark;background:var(--paper);color:var(--ink)}
body{background:radial-gradient(ellipse at 90% 30%,#2a2a2a33,transparent 45%),#121212}button,input,select,textarea{font:inherit}::selection{background:#c9c9c9;color:#111}a,button{transition:background .2s,border-color .2s,color .2s,transform .2s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #dadada;outline-offset:5px}.header{height:100px;background:#121212;padding:0 5%;border-bottom:1px solid #ffffff0b}.wordmark{font-size:15px;letter-spacing:.16em;font-weight:600}.wordmark span{font-size:10px;letter-spacing:.55em;margin-top:8px}.header nav{gap:36px;color:#c8c8c8;font-size:12px}.nav-cta{border-color:#797979;padding:13px 20px;background:#ffffff04;color:#f2f2f2}.nav-cta:hover{background:#ffffff10;border-color:#d0d0d0}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.19em;color:#b6b6b6}h1,h2,h3{font-weight:400}h1{letter-spacing:-.055em}.light-button,.dark-button{background:#eaeaea;color:#1b1b1b;border:1px solid #eaeaea;min-height:52px;padding:16px 23px;border-radius:2px;font-size:13px}.light-button:hover,.dark-button:hover{background:#fff;border-color:#fff;transform:translateY(-2px)}.call-button{color:#f1f1f1;border-color:#ababab80;background:#15151533;font-size:13px;min-height:52px}.call-button:hover{background:#ffffff12}.text-button{color:#dcdcdc;border-color:#6b6b6b;font-size:13px}.text-button:hover{color:white;border-color:white}
.showroom-hero{position:relative;isolation:isolate;min-height:650px;height:calc(100svh - 120px);max-height:900px;margin:0 22px;overflow:hidden;border:1px solid #ffffff12;background:#1b1b1b}.showroom-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:65% 55%;z-index:-3}.showroom-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0d0d0def 0%,#131313b8 36%,#1e1e1e20 80%),linear-gradient(0deg,#0b0b0be8,transparent 45%,#13131322)}.showroom-content{position:relative;padding:8% 5.6%;max-width:850px}.showroom-content h1{font-size:clamp(52px,6.5vw,100px);line-height:1.02;margin:36px 0 26px;color:#f4f4f4}.showroom-content .eyebrow{font-size:10px;color:#d9d9d9;display:flex;align-items:center;gap:12px}.status-dot{width:5px;height:5px;border-radius:50%;background:#d4d4d4;box-shadow:0 0 14px #c9c9c970}.showroom-description{font-size:16px;line-height:1.8;color:#cccccc;margin:0 0 32px}.hero-actions{gap:12px}.showroom-content .light-button{gap:60px}.hero-side-note{position:absolute;right:35px;top:75px;display:flex;flex-direction:column;align-items:center;gap:25px;font-size:8px;letter-spacing:.22em;color:#e4e4e4;writing-mode:vertical-rl}.hero-side-note i{height:100px;width:1px;background:#dfdfdf55}.showroom-bottom{position:absolute;left:5.6%;right:5.6%;bottom:34px;display:grid;grid-template-columns:.85fr 1.2fr 1fr;align-items:end;gap:40px;padding-top:25px;border-top:1px solid #cdcdcd35}.showroom-bottom span{display:block;font-size:9px;letter-spacing:.17em;color:#c5c5c5;margin-bottom:10px}.showroom-bottom strong{font-weight:400;font-size:18px}.showroom-bottom small{font-size:11px;color:#bcbcbc}.showroom-package-link{padding:18px 23px;background:#24242490;border:1px solid #d4d4d433;backdrop-filter:blur(16px)}.showroom-package-link:hover{background:#3d3d3dc4}.showroom-package-link strong{display:flex;justify-content:space-between;gap:20px}.showroom-package-link b{font-weight:400}
.interior-story{max-width:1400px;margin:auto;padding:110px 7%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.story-copy h2{font-size:clamp(36px,4vw,58px);line-height:1.12}.story-copy>p:not(.eyebrow){color:#b5b5b5;line-height:1.85;max-width:375px;font-size:15px;margin:28px 0}.interior-story figure{margin:0;border:1px solid #ffffff1c;padding:8px;background:#212121}.interior-story img{display:block;width:100%;height:auto}.approach{padding:80px 7% 100px;border-top:1px solid #ffffff14;background:linear-gradient(125deg,#222222,#151515)}.approach h2{font-size:clamp(32px,3.7vw,52px)}.approach>.eyebrow{color:#b6b6b6}.steps>div{border-color:#8585853d}.steps span{color:#adadad}.steps p{color:#cccccc}.steps{gap:50px}footer{border-color:#ffffff18;padding:35px 0}.footer-phone{color:#bbbbbb;text-decoration:none;font-size:12px}
.packages{max-width:1550px;margin:auto;padding:65px 5% 70px}.section-heading{margin-bottom:38px}.section-heading h2{font-size:clamp(36px,4vw,60px)}.section-heading .eyebrow{color:#aaaaaa}.package-track{gap:20px}.package-card{height:575px;min-height:500px;padding:25px;background:radial-gradient(ellipse at 50% 25%,#5959594d,transparent 55%),linear-gradient(145deg,#313131,#191919);border:1px solid #6d6d6d5c;transition:transform .3s,border-color .3s}.package-card:before{background:linear-gradient(180deg,transparent,#0b0b0b88)}.package-card:hover{transform:translateY(-5px);border-color:#adadad}.card-heading{color:#c9c9c9;font-size:9px}.number{font-size:12px}.card-bottom h3{font-size:42px;margin-bottom:12px}.card-bottom p{font-size:13px;line-height:1.75;min-height:64px;color:#bdbdbd}.package-price{font-size:12px;line-height:1.7;color:#e6e6e6;margin-bottom:15px}.card-bottom button{background:#f1f1f1;color:#191919;border-color:#f1f1f1;padding:15px;font-size:12px}.card-bottom button:hover{background:white}.complete{background:radial-gradient(ellipse at 50% 25%,#5f5f5f44,transparent 55%),linear-gradient(145deg,#303030,#181818);border-color:#82828256}.obsidian{background:radial-gradient(ellipse at 50% 25%,#6e6e6e44,transparent 55%),linear-gradient(145deg,#262626,#0c0c0c);border-color:#9c9c9c50}.mineral{position:absolute;top:80px;left:50%;width:145px;height:140px;transform:translateX(-50%);filter:drop-shadow(0 22px 25px #0008)}.mineral span{display:block;width:100%;height:100%;clip-path:polygon(50% 0,92% 22%,100% 62%,64% 100%,22% 88%,0 40%);background:conic-gradient(from 35deg at 48% 42%,#e1e1e1,#929292 15%,#414141 16%,#c4c4c4 33%,#7f7f7f 34%,#3e3e3e 56%,#e3e3e3 57%,#797979 79%,#ededed)}.complete .mineral span{background:conic-gradient(from 60deg at 55% 35%,#b6b6b6,#323232 16%,#6c6c6c 17%,#232323 35%,#8d8d8d 36%,#3a3a3a 57%,#c4c4c4 58%,#434343 79%,#b1b1b1)}.obsidian .mineral span{background:conic-gradient(from 35deg at 48% 42%,#c1c1c1,#191919 15%,#686868 16%,#141414 33%,#808080 34%,#191919 56%,#bfbfbf 57%,#343434 79%,#a7a7a7)}
.estimate-page{padding:65px 6% 85px;grid-template-columns:.85fr 1.15fr;gap:8%;max-width:1500px;margin:auto;align-items:start}.estimate-intro{position:sticky;top:45px;padding:35px 0 150px;background:radial-gradient(ellipse at bottom left,#6c6c6c22,transparent 65%)}.estimate-intro:after{content:'DW / AUTO CARE';position:absolute;bottom:30px;left:0;border-top:1px solid #59595970;padding-top:23px;font-size:10px;letter-spacing:.3em;color:#8d8d8d;width:65%}.estimate-intro h1{font-size:clamp(40px,4.4vw,66px)}.estimate-intro>p:not(.eyebrow){color:#b6b6b6}.estimate-call .call-button{border-color:#727272;color:#d8d8d8}.estimate-panel{background:linear-gradient(135deg,#2d2d2dd9,#1e1e1ee6);border:1px solid #7d7d7d50;border-radius:7px;padding:38px;max-width:650px;box-shadow:0 30px 80px #0002;overflow:hidden}.estimate-panel h2{font-size:32px;margin:0 0 25px}.estimate-panel .eyebrow{color:#bbbbbb;font-size:10px;letter-spacing:.15em}.flow-progress{height:2px;background:#8c8c8c30;margin:-38px -38px 30px}.flow-progress span{display:block;height:100%;width:16.666%;background:#c9c9c9;transition:width .3s}.vehicle-options label,.package-options label{border:1px solid #7a7a7a55;background:#ffffff03;border-radius:3px;padding:17px;gap:15px;transition:background .2s,border-color .2s}.vehicle-options label:hover,.package-options label:hover{border-color:#9b9b9b;background:#ffffff08}.vehicle-options label:has(input:checked),.package-options label:has(input:checked){border-color:#bdbdbd;background:#9f9f9f1a;box-shadow:inset 3px 0 #d0d0d0}.vehicle-options small,.package-options small{color:#b2b2b2;font-size:12px}.vehicle-options strong{font-size:14px}.package-options strong{font-size:18px}.vehicle-options input,.package-options input,.check-option input{accent-color:#d3d3d3}.vehicle-options legend,.package-options legend{color:#b6b6b6;font-size:12px}.estimate-panel input:not([type=radio]):not([type=checkbox]),.estimate-panel select,.estimate-panel textarea,.owner-page input:not([type=checkbox]),.owner-page textarea,.owner-page select{background:#171717;color:#efefef;border:1px solid #6a6a6a4f;border-radius:2px;padding:14px}.estimate-panel input::placeholder,.estimate-panel textarea::placeholder{color:#909090}.estimate-panel select{color-scheme:dark}.estimate-panel label{color:#d8d8d8;font-size:13px}.check-option{display:grid;grid-template-columns:18px 1fr;align-items:start;gap:12px;line-height:1.7}.check-option:has(a){display:block;position:relative;padding-left:30px}.check-option:has(a) input{position:absolute;left:0;top:0}.field-note{color:#b3b3b3;font-size:12px}.care-description{background:#12121266;border-left:1px solid #878787;padding:16px}.care-description p,.care-description li{font-size:13px;color:#cacaca}.estimate-result{background:linear-gradient(135deg,#bfbfbf20,#17171733);border:1px solid #bababa3d;padding:25px}.estimate-result h3{font-size:54px;font-weight:400;color:#f0f0f0}.estimate-result p{color:#c6c6c6}.price-row{border-color:#75757540;color:#cecece}#estimate-summary dt,#receipt dt{color:#a5a5a5}#estimate-status{color:#c9c9c9}#quote-review{color:#c2c2c2}.receipt-mark{color:#d0d0d0}dialog{background:#232323;color:#eeeeee;border:1px solid #8d8d8d66;border-radius:6px;box-shadow:0 40px 100px #0008}dialog::backdrop{background:#070707c9;backdrop-filter:blur(12px)}dialog .close{color:#cccccc}dialog h2{font-size:40px}.preview-note{background:#151515;color:#c0c0c0}#comparison-content section{border-color:#6f6f6f50}#comparison-content p{color:#bfbfbf}
.info-page section{border-color:#79797940}.info-lead{color:#b9b9b9}.request-card{background:#212121;border-color:#5d5d5d55}.request-badge{background:#7f7f7f26;color:#d1d1d1}.owner-review{background:#212121}.request-card form{border-color:#62626255}.owner-filters button{color:#c9c9c9;border-color:#7676765c}.owner-filters button[aria-pressed=true]{background:#e0e0e0;color:#1b1b1b}.review-flag{background:#3d3d3d;color:#d2d2d2}.owner-page p{overflow-wrap:anywhere}.owner-page .check-option{display:flex}
@media(min-width:1600px){.showroom-content{padding-top:100px}.showroom-hero{max-width:1800px;margin:auto}}
@media(max-width:1000px){.showroom-content{padding-top:90px}.showroom-content h1{font-size:70px}.showroom-bottom{gap:20px}.showroom-bottom strong{font-size:15px}.hero-fact small{display:block;margin-top:7px}.package-card{height:590px;padding:22px 17px}.card-heading{font-size:8px}.estimate-page{gap:5%;padding:45px 4%}.estimate-panel{padding:28px}.flow-progress{margin:-28px -28px 25px}.estimate-intro h1{font-size:44px}.interior-story{gap:7%;padding:80px 6%}}
@media(max-width:700px){.header{height:80px;padding:0 22px}.wordmark{font-size:12px}.wordmark span{font-size:8px;letter-spacing:.55em}.header nav{gap:16px}.header nav>a:not(.nav-cta){display:none}.header nav>a.nav-cta{display:block;font-size:11px;padding:11px 13px}.nav-cta span{display:none}.showroom-hero{margin:0 10px;min-height:650px;height:calc(100svh - 100px);max-height:780px}.showroom-photo{object-position:62% center}.showroom-shade{background:linear-gradient(90deg,#0d0d0ddb,#1b1b1b77),linear-gradient(0deg,#090909f5 0%,transparent 70%)}.showroom-content{padding:52px 25px}.showroom-content .eyebrow{font-size:8px;letter-spacing:.1em;gap:8px}.showroom-content h1{font-size:clamp(46px,11.5vw,70px);margin:34px 0 22px}.showroom-description{font-size:14px;line-height:1.8;margin-bottom:26px}.showroom-content .light-button{gap:22px;padding:15px 17px}.hero-actions{flex-wrap:nowrap;gap:10px}.hero-actions .call-button{padding:15px 18px}.hero-side-note{display:none}.showroom-bottom{left:25px;right:25px;bottom:22px;grid-template-columns:1fr 1fr;gap:22px 15px;padding-top:20px}.showroom-bottom span{font-size:8px;letter-spacing:.12em}.showroom-bottom strong{font-size:14px}.hero-fact:first-child strong{font-size:23px}.hero-fact small{font-size:10px;display:inline}.showroom-package-link{grid-column:1/-1;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.showroom-package-link span{font-size:8px;max-width:85px;line-height:1.7;margin:0}.showroom-package-link strong{gap:20px;font-size:14px}.interior-story{padding:65px 26px;grid-template-columns:1fr;gap:35px}.story-copy h2{font-size:40px}.story-copy>p:not(.eyebrow){font-size:14px;margin:22px 0}.interior-story figure{max-width:500px}.approach{padding:60px 26px}.approach h2{font-size:34px}.steps{display:grid;grid-template-columns:1fr;gap:20px;margin-top:35px}.steps p{max-width:none;font-size:14px}.packages{padding:45px 24px}.section-heading{display:block}.section-heading h2{font-size:40px}.section-heading .text-button{margin-top:23px}.package-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:15px;padding:0 0 18px;margin-right:-24px;padding-right:24px;scrollbar-width:thin;scrollbar-color:#818181 transparent}.package-card{flex:0 0 88%;height:550px;min-height:550px;scroll-snap-align:start;padding:24px}.card-heading{font-size:9px}.card-bottom h3{font-size:42px}.card-bottom p{font-size:13px}.swipe-note{display:flex;color:#9f9f9f;font-size:9px;letter-spacing:.2em;margin-top:12px;justify-content:space-between}.estimate-page{display:block;padding:35px 22px 60px}.estimate-intro{position:relative;top:auto;padding:5px 0 0;margin:0 0 32px;background:none}.estimate-intro:after{display:none}.estimate-intro h1{font-size:38px;line-height:1.1;margin-bottom:15px}.estimate-intro>.eyebrow{font-size:9px;margin-bottom:17px}.estimate-intro>p:not(.eyebrow){font-size:13px;line-height:1.7}.estimate-intro .text-button{margin-top:0;font-size:12px}.estimate-call{margin-top:18px}.estimate-call p{display:none}.estimate-call .call-button{font-size:12px;min-height:40px;padding:10px;width:auto}.estimate-call .call-button span{font-size:12px}.estimate-panel{padding:24px 19px;max-width:none}.flow-progress{margin:-24px -19px 23px}.estimate-panel h2{font-size:28px}.vehicle-options label,.package-options label{padding:14px 12px;gap:11px}.vehicle-options small,.package-options small{font-size:11px}.estimate-panel label{font-size:12px}.estimate-actions{gap:14px}.estimate-actions .dark-button{font-size:12px;padding:15px 12px}.estimate-actions .text-button{font-size:12px}.estimate-result h3{font-size:48px}dialog{padding:35px 25px}dialog h2{font-size:35px}footer{margin:0 25px;flex-wrap:wrap;gap:15px}.footer-phone{font-size:11px}.info-page,.owner-page{padding:35px 22px}.owner-review{padding:20px}.request-card{padding:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Neutral studio refinement: one type scale, comfortable controls, layered surfaces. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--paper:#080808;--ink:#f5f5f7;--muted:#b0b0b5;--radius:16px;color-scheme:dark}
body{background:#080808;-webkit-font-smoothing:antialiased}
.header{height:84px;background:#080808e8;border-bottom:1px solid #ffffff12}
.wordmark{font-size:14px;letter-spacing:.12em}.header nav{font-size:14px}
.nav-cta{border-radius:30px;padding:12px 20px;background:#f5f5f7;color:#171719;border-color:transparent;font-weight:500}
.nav-cta:hover{background:#fff;color:#000}.nav-cta span{display:none}
h1,h2,h3{font-weight:500;letter-spacing:-.045em}p{line-height:1.65}
.eyebrow{color:#b9b9bf;font-size:11px;letter-spacing:.12em}
.light-button,.dark-button,.call-button{border-radius:28px;font-size:15px;line-height:1.35;font-weight:500;min-height:48px;padding:14px 24px;text-align:center;letter-spacing:0;white-space:normal}
.light-button,.dark-button{background:#f5f5f7;color:#171719;border-color:transparent}
.call-button{background:#ffffff0a;color:#f5f5f7;border-color:#ffffff50}.text-button{font-size:15px;line-height:1.5;color:#eee;border-color:#ffffff50;white-space:normal}
.showroom-hero{margin:0 20px;border-radius:26px;min-height:660px;border-color:#ffffff15}
.showroom-content{padding-top:80px}.showroom-content h1{font-weight:500;line-height:1.04;font-size:clamp(52px,6.2vw,92px);max-width:800px}
.showroom-shade{background:linear-gradient(90deg,#000e 0%,#0009 42%,#0001 100%),linear-gradient(0deg,#000f,transparent 65%)}
.showroom-description{font-size:18px;color:#e0e0e4;line-height:1.6}
.showroom-photo{filter:saturate(.45)}.showroom-package-link{background:#ffffff0b;border:1px solid #ffffff35;border-radius:18px;box-shadow:inset 0 1px #ffffff18;backdrop-filter:blur(24px)}
.showroom-package-link:hover{background:#ffffff20}.showroom-bottom{border-color:#ffffff30}.showroom-bottom span{color:#c7c7cd;font-size:10px}.hero-side-note{color:#c7c7cd}
.interior-story{padding-top:120px;padding-bottom:120px}.story-copy h2{font-weight:500}.story-copy>p:not(.eyebrow){font-size:17px;color:#bdbdc3}
.interior-story figure{border-radius:24px;overflow:hidden;padding:0;background:#171719;box-shadow:0 25px 65px #0005}
.approach{background:linear-gradient(130deg,#1b1b1e,#101012);border-radius:28px;margin:0 20px 35px;border:1px solid #ffffff10}.steps p{color:#d2d2d7}.steps span{color:#b5b5bc}
.packages{padding-top:70px;padding-bottom:80px}.section-heading h2{font-size:clamp(40px,4.5vw,64px)}
.package-track{gap:24px}.package-card,.complete,.obsidian{background:radial-gradient(ellipse at 50% 15%,#ffffff10,transparent 60%),linear-gradient(150deg,#222225,#101012);border:1px solid #ffffff1a;border-radius:26px;height:610px;padding:30px}
.package-card:before{background:linear-gradient(0deg,#0007,transparent 70%)}.package-card:hover{border-color:#ffffff55;transform:translateY(-4px);box-shadow:0 20px 55px #0005}
.card-heading{font-size:10px;color:#b6b6bd;letter-spacing:.08em}.card-bottom h3{font-weight:500;font-size:44px}.card-bottom p{font-size:15px;line-height:1.65;color:#bcbcc3;min-height:74px}
.package-price{font-size:14px;color:#e4e4e9}.card-bottom button{border-radius:30px;font-size:15px;padding:15px 20px;background:#f5f5f7;color:#171719;min-height:50px}
.mineral{width:165px;height:160px;top:85px;filter:drop-shadow(0 28px 24px #0009)}
.estimate-page{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7%;padding-top:65px}
.estimate-intro{background:none;padding-top:28px}.estimate-intro h1{font-weight:500;font-size:clamp(40px,4.2vw,62px);line-height:1.08;max-width:520px}.estimate-intro>p:not(.eyebrow){font-size:17px;color:#bdbdc5}.estimate-intro:after{display:none}
.selection-context{border:1px solid #ffffff25;background:linear-gradient(130deg,#ffffff0b,#ffffff03);border-radius:18px;padding:20px 22px;margin:30px 0 10px;max-width:370px}
.selection-context span{display:block;font-size:11px;color:#b7b7c0;letter-spacing:.1em;text-transform:uppercase}.selection-context strong{display:block;font-size:25px;letter-spacing:-.03em;font-weight:500;margin:8px 0}.selection-context small{font-size:13px;color:#c1c1c8;line-height:1.5}
.estimate-panel{background:linear-gradient(145deg,#242427,#171719);border:1px solid #ffffff25;border-radius:24px;box-shadow:0 30px 80px #0003,inset 0 1px #ffffff0b;padding:36px}
.flow-progress{margin:-36px -36px 30px;background:#ffffff15;height:3px}.flow-progress span{background:#e5e5ea}.estimate-panel h2{font-size:32px;font-weight:500;line-height:1.15}.estimate-panel .eyebrow{font-size:11px;color:#bdbdc5}
.vehicle-options label,.package-options label{border-radius:14px;padding:18px 16px;background:#ffffff03;border-color:#ffffff25;min-width:0}
.vehicle-options label:has(input:checked),.package-options label:has(input:checked){border-color:#e3e3e9;background:#ffffff0c;box-shadow:inset 0 0 0 1px #e3e3e9}
.vehicle-options label>span,.package-options label>span{min-width:0;flex:1}.package-options input{flex-shrink:0}
.vehicle-options strong{font-size:16px;line-height:1.45}.package-options strong{font-size:19px;line-height:1.4;flex-wrap:wrap;gap:4px 12px}.package-options strong>span{font-size:14px;color:#cacad1}
.vehicle-options small,.package-options small{font-size:13px;line-height:1.55;color:#bdbdc5}.vehicle-options legend,.package-options legend{font-size:14px;color:#d2d2d7}
.estimate-panel label{font-size:15px;color:#ececf1}.estimate-panel input:not([type=radio]):not([type=checkbox]),.estimate-panel select,.estimate-panel textarea{font-size:16px;background:#101012;border-color:#ffffff30;border-radius:12px;min-height:50px;color:#f5f5f7}
.field-note{font-size:13px;color:#b9b9c1}.care-description{border-radius:14px;border:1px solid #ffffff15;background:#0003;padding:20px}.care-description p,.care-description li{font-size:14px;color:#c9c9d0}
.estimate-result{border-radius:18px;background:linear-gradient(130deg,#ffffff0b,#ffffff03);border-color:#ffffff20}.estimate-result h3{font-weight:500;font-size:56px}.estimate-result p{color:#c7c7cf}.estimate-actions{align-items:center;gap:20px}.estimate-actions .dark-button{font-size:15px;min-width:0}.estimate-actions .text-button{font-size:15px}.estimate-call .call-button{font-size:14px;border-color:#ffffff40;color:#dedee5}
.check-option{font-size:14px!important;line-height:1.7}.check-option input{margin-top:3px}.preview-note{background:#ffffff06;color:#bebec5;border-radius:12px}
#details{padding:0;max-width:820px;width:calc(100% - 32px);border-radius:26px;background:#1c1c1e;max-height:90dvh;overflow:auto}
.dialog-body{padding:38px 38px 22px}.dialog-body>.eyebrow{margin-bottom:12px}.dialog-body h2{font-size:48px}.dialog-body>p{color:#c2c2ca;font-size:16px;max-width:650px}
.detail-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.detail-prices>div{padding:14px;background:#ffffff07;border:1px solid #ffffff18;border-radius:14px}.detail-prices span{font-size:12px;color:#bebec6;display:block}.detail-prices strong{font-weight:500;font-size:24px;display:block;margin-top:7px}.detail-prices:has(>div:only-child){grid-template-columns:1fr}
.detail-inclusions{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}.detail-inclusions h3{font-size:20px;margin:0 0 16px}.detail-inclusions ul{padding-left:18px;margin:0}.detail-inclusions li{font-size:14px;line-height:1.6;color:#c9c9d0;margin-bottom:12px}.detail-note{border-top:1px solid #ffffff20;padding-top:20px;margin-top:24px;font-size:13px!important}
.dialog-footer{position:sticky;bottom:0;background:#202022f5;backdrop-filter:blur(24px);border-top:1px solid #ffffff20;padding:18px 38px;display:flex;gap:25px;align-items:center;justify-content:space-between}.dialog-footer p{font-size:12px;color:#bdbdc6;line-height:1.5;margin:0;max-width:300px}.dialog-footer .dark-button{width:auto;min-width:190px;flex-shrink:0}
dialog{background:#1c1c1e;border-color:#ffffff30;border-radius:24px}dialog::backdrop{background:#000b;backdrop-filter:blur(18px)}dialog .close{position:sticky;top:14px;float:right;margin:14px 14px -50px 0;width:36px;height:36px;border-radius:50%;padding:0;font-size:26px;line-height:1;background:#3a3a3c;color:#eee;z-index:2}
@media(max-width:1000px){.package-card{padding:23px;height:630px}.card-bottom p{min-height:98px}.estimate-page{gap:4%;padding-left:4%;padding-right:4%}.estimate-panel{padding:27px}.flow-progress{margin:-27px -27px 25px}.showroom-content{padding-top:70px}}
@media(max-width:700px){
.header{height:76px;padding:0 20px}.header nav>a.nav-cta{font-size:12px;padding:11px 15px}.wordmark{font-size:12px}
.showroom-hero{margin:0 10px;border-radius:22px;min-height:690px;height:calc(100svh - 92px)}.showroom-content{padding:45px 24px}.showroom-content h1{font-size:clamp(40px,11.4vw,64px);margin-top:28px}.showroom-description{font-size:16px}.showroom-shade{background:linear-gradient(90deg,#000b,#0005),linear-gradient(0deg,#000 0%,#0002 85%)}
.showroom-content .light-button{font-size:14px;gap:16px;padding:14px 18px}.hero-actions .call-button{font-size:14px;padding:14px 19px}.showroom-bottom{left:24px;right:24px}.showroom-bottom span{font-size:9px}.showroom-package-link{border-radius:14px}.hero-side-note{display:none}
.interior-story{padding:65px 24px}.story-copy>p:not(.eyebrow){font-size:16px}.story-copy h2{font-size:38px}.approach{margin:0 10px 25px;padding:45px 24px;border-radius:22px}.steps p{font-size:16px}
.packages{padding:42px 20px 55px}.section-heading{padding:0;margin-bottom:30px}.section-heading h2{font-size:42px}.section-heading .text-button{margin-top:18px}.package-track{margin-right:-20px;padding-right:20px;gap:16px}.package-card{flex:0 0 90%;height:585px;padding:25px;border-radius:24px}.card-bottom p{min-height:75px;font-size:15px}.card-bottom h3{font-size:40px}.package-price{font-size:13px}.card-heading{font-size:9px}.mineral{top:75px;width:145px;height:140px}.swipe-note{margin-left:0;margin-right:0}
.estimate-page{padding:32px 18px 60px}.estimate-intro{margin-bottom:26px;padding:0 4px}.estimate-intro h1{font-size:37px;line-height:1.12;max-width:none}.estimate-intro>p:not(.eyebrow){font-size:15px;line-height:1.6}.estimate-intro .text-button{font-size:14px}.estimate-call{margin-top:16px}.estimate-call .call-button{font-size:13px;padding:10px 16px}.selection-context{padding:15px 18px;margin:20px 0 12px;max-width:none}.selection-context strong{font-size:23px;margin:5px 0}
.estimate-panel{padding:25px 18px;border-radius:22px}.flow-progress{margin:-25px -18px 25px}.estimate-panel h2{font-size:29px}.vehicle-options label,.package-options label{padding:16px 13px;gap:12px}.vehicle-options strong{font-size:15px}.vehicle-options small,.package-options small{font-size:13px}.package-options strong{font-size:18px}.package-options strong>span{font-size:13px}.estimate-panel label{font-size:14px}.estimate-actions .dark-button{font-size:14px;padding:14px 18px}.estimate-actions .text-button{font-size:14px}.estimate-actions{gap:16px}.estimate-result{padding:22px}.estimate-result h3{font-size:50px}
#details{max-height:92dvh;border-radius:22px}.dialog-body{padding:32px 22px 20px}.dialog-body h2{font-size:39px}.dialog-body>p{font-size:15px}.detail-prices{gap:8px}.detail-prices>div{padding:12px 9px}.detail-prices span{font-size:11px}.detail-prices strong{font-size:22px}.detail-inclusions{grid-template-columns:1fr;gap:22px;margin-top:24px}.dialog-footer{padding:15px 20px;display:block}.dialog-footer p{max-width:none;margin-bottom:12px}.dialog-footer .dark-button{width:100%;min-width:0}.detail-inclusions li{font-size:14px}
}
@media(max-width:360px){.hero-actions{flex-wrap:wrap}.showroom-hero{min-height:750px}.showroom-content h1{font-size:38px}.showroom-package-link strong{font-size:13px}.package-card{flex-basis:94%;padding:20px}.estimate-actions{gap:12px}.detail-prices{grid-template-columns:1fr}.detail-prices>div{display:flex;justify-content:space-between;align-items:center}.detail-prices strong{margin:0}}

/* Higher-resolution stock banner, preserving its original detail. */
.showroom-photo{object-position:58% 50%;filter:none}
@media(max-width:700px){.showroom-photo{object-position:60% center}}

.showroom-bottom .hero-price-amount{display:inline;font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;margin:0}

/* light.css */
/* Optional white preview. Dark remains the default; the switch lasts for this browser session. */
.theme-toggle{border:1px solid #ffffff35;border-radius:24px;background:transparent;color:#d8d8df;padding:11px 14px;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;min-height:40px}
.theme-toggle:hover{background:#ffffff12}
html[data-theme=light]{color-scheme:light;--paper:#fafafa;--ink:#1d1d1f;--muted:#65656b;--accent:#555; background:#fafafa;color:#1d1d1f}
html[data-theme=light] body{background:#fafafa}
html[data-theme=light] .header{background:#fafafaf2;border-color:#00000010}
html[data-theme=light] .header nav{color:#55555b}
html[data-theme=light] .theme-toggle{border-color:#00000025;color:#505057}
html[data-theme=light] .theme-toggle:hover{background:#00000006}
html[data-theme=light] .nav-cta,html[data-theme=light] .light-button,html[data-theme=light] .dark-button,html[data-theme=light] .card-bottom button{background:#1d1d1f;border-color:#1d1d1f;color:#fff}
html[data-theme=light] .nav-cta:hover,html[data-theme=light] .light-button:hover,html[data-theme=light] .dark-button:hover,html[data-theme=light] .card-bottom button:hover{background:#38383b}
html[data-theme=light] .eyebrow,html[data-theme=light] .section-heading .eyebrow,html[data-theme=light] .approach>.eyebrow{color:#66666d}
html[data-theme=light] .text-button{color:#343438;border-color:#00000035}
html[data-theme=light] .call-button,html[data-theme=light] .estimate-call .call-button{color:#29292e;background:#ffffff50;border-color:#00000030}
html[data-theme=light] .showroom-hero{background:#eee;border-color:#00000010}
html[data-theme=light] .showroom-shade{background:linear-gradient(90deg,#fffffff2 0%,#ffffffc9 35%,#ffffff18 95%),linear-gradient(0deg,#fffffff5,transparent 70%)}
html[data-theme=light] .showroom-content h1{color:#1d1d1f}
html[data-theme=light] .showroom-description{color:#44444b}
html[data-theme=light] .showroom-content .eyebrow{color:#55555d}
html[data-theme=light] .status-dot{background:#555;box-shadow:none}
html[data-theme=light] .hero-side-note{color:#555}
html[data-theme=light] .hero-side-note i{background:#00000030}
html[data-theme=light] .showroom-bottom{border-color:#00000020}
html[data-theme=light] .showroom-bottom span,html[data-theme=light] .showroom-bottom small{color:#606067}
html[data-theme=light] .showroom-package-link{background:#ffffff80;border-color:#ffffff;box-shadow:0 8px 30px #00000008,inset 0 1px #fff}
html[data-theme=light] .showroom-package-link:hover{background:#fff}
html[data-theme=light] .story-copy>p:not(.eyebrow){color:#68686f}
html[data-theme=light] .interior-story figure{background:#fff;border-color:#00000010;box-shadow:0 25px 65px #00000010}
html[data-theme=light] .approach{background:linear-gradient(130deg,#f1f1f3,#fff);border-color:#0000000c}
html[data-theme=light] .steps>div{border-color:#00000020}
html[data-theme=light] .steps p{color:#45454d}
html[data-theme=light] .steps span{color:#6b6b73}
html[data-theme=light] footer{border-color:#00000015}
html[data-theme=light] .footer-phone{color:#63636b}
html[data-theme=light] .package-card{color:#1d1d1f;background:radial-gradient(ellipse at 50% 15%,#fff,transparent 70%),linear-gradient(145deg,#f0f0f2,#fff);border-color:#0000000e;box-shadow:0 12px 35px #00000004}
html[data-theme=light] .package-card:before{background:transparent}
html[data-theme=light] .package-card:hover{border-color:#00000030;box-shadow:0 18px 40px #0000000c}
html[data-theme=light] .card-heading{color:#73737b}
html[data-theme=light] .card-bottom p{color:#66666e}
html[data-theme=light] .package-price{color:#44444b}
html[data-theme=light] .mineral{filter:drop-shadow(0 24px 20px #0003)}
html[data-theme=light] .swipe-note{color:#72727a}
html[data-theme=light] .estimate-intro>p:not(.eyebrow){color:#686870}
html[data-theme=light] .selection-context{background:linear-gradient(140deg,#fff,#f4f4f6);border-color:#00000012}
html[data-theme=light] .selection-context span,html[data-theme=light] .selection-context small{color:#66666f}
html[data-theme=light] .estimate-panel{background:#fff;border-color:#00000010;box-shadow:0 25px 80px #00000008}
html[data-theme=light] .flow-progress{background:#ededf0}
html[data-theme=light] .flow-progress span{background:#55555e}
html[data-theme=light] .estimate-panel .eyebrow{color:#73737b}
html[data-theme=light] .vehicle-options label,html[data-theme=light] .package-options label{background:#fcfcfd;border-color:#00000020}
html[data-theme=light] .vehicle-options label:hover,html[data-theme=light] .package-options label:hover{background:#f5f5f7;border-color:#777}
html[data-theme=light] .vehicle-options label:has(input:checked),html[data-theme=light] .package-options label:has(input:checked){background:#f5f5f7;border-color:#55555b;box-shadow:inset 0 0 0 1px #55555b}
html[data-theme=light] .vehicle-options small,html[data-theme=light] .package-options small,html[data-theme=light] .package-options strong>span{color:#676770}
html[data-theme=light] .vehicle-options legend,html[data-theme=light] .package-options legend,html[data-theme=light] .estimate-panel label{color:#34343a}
html[data-theme=light] input,html[data-theme=light] select{color-scheme:light;accent-color:#555}
html[data-theme=light] .estimate-panel input:not([type=radio]):not([type=checkbox]),html[data-theme=light] .estimate-panel select,html[data-theme=light] .estimate-panel textarea{background:#fafafa;color:#222;border-color:#00000025;color-scheme:light}
html[data-theme=light] .estimate-panel input::placeholder,html[data-theme=light] .estimate-panel textarea::placeholder{color:#83838a}
html[data-theme=light] .field-note,html[data-theme=light] .estimate-call p{color:#6a6a73}
html[data-theme=light] .care-description{background:#f8f8fa;border-color:#00000010}
html[data-theme=light] .care-description p,html[data-theme=light] .care-description li{color:#55555e}
html[data-theme=light] .estimate-result{background:linear-gradient(130deg,#f1f1f4,#fcfcfd);border-color:#00000010}
html[data-theme=light] .estimate-result h3{color:#1d1d1f}
html[data-theme=light] .estimate-result p{color:#66666e}
html[data-theme=light] .price-row{color:#45454d;border-color:#00000015}
html[data-theme=light] #estimate-summary dt,html[data-theme=light] #receipt dt{color:#686871}
html[data-theme=light] #estimate-status{color:#a93025}
html[data-theme=light] #quote-review{color:#805a16}
html[data-theme=light] .receipt-mark{color:#444}
html[data-theme=light] dialog,html[data-theme=light] #details{background:#fff;color:#1d1d1f;border-color:#00000010;box-shadow:0 35px 100px #0003}
html[data-theme=light] dialog::backdrop{background:#55555555}
html[data-theme=light] dialog .close{background:#eeeef1;color:#606068}
html[data-theme=light] .dialog-body>p,html[data-theme=light] .detail-inclusions li{color:#66666e}
html[data-theme=light] .detail-prices>div{background:#f6f6f8;border-color:#00000008}
html[data-theme=light] .detail-prices span{color:#73737b}
html[data-theme=light] .detail-note{border-color:#00000012}
html[data-theme=light] .dialog-footer{background:#fffffff5;border-color:#00000015}
html[data-theme=light] .dialog-footer p{color:#6c6c74}
html[data-theme=light] .preview-note{background:#f5f5f7;color:#64646d}
html[data-theme=light] #comparison-content section,html[data-theme=light] .info-page section{border-color:#00000015}
html[data-theme=light] #comparison-content p,html[data-theme=light] .info-lead{color:#64646d}
html[data-theme=light] .request-card,html[data-theme=light] .owner-review{background:#f3f3f5;color:#333;border-color:#ddd}
html[data-theme=light] .request-badge{background:#e6e6eb;color:#444}
html[data-theme=light] .owner-page input,html[data-theme=light] .owner-page textarea,html[data-theme=light] .owner-page select{background:#fff;color:#222;border-color:#ccc}
html[data-theme=light] .owner-filters button{color:#444;border-color:#bbb}
html[data-theme=light] .owner-filters button[aria-pressed=true]{background:#333;color:#fff}
html[data-theme=light] :focus-visible{outline-color:#555}
@media(max-width:700px){.header nav{gap:8px}.theme-toggle{font-size:11px;padding:9px 11px;min-height:36px}.header nav>a.nav-cta{padding:11px 12px}html[data-theme=light] .showroom-shade{background:linear-gradient(90deg,#ffffffdf,#ffffff75),linear-gradient(0deg,#fff 5%,transparent 90%)}}
@media(max-width:360px){.header{padding:0 12px}.wordmark{font-size:10px}.wordmark span{font-size:7px}.header nav>a.nav-cta{font-size:10px;padding:10px}.theme-toggle{font-size:10px;padding:9px}}

html[data-theme=light] .showroom-shade{background:linear-gradient(90deg,#fffffff5 0%,#ffffffd9 32%,#ffffff40 65%,#ffffff08 100%),linear-gradient(0deg,#fffffff5,transparent 40%)}
html[data-theme=light] .showroom-description{color:#333338}
@media(max-width:700px){html[data-theme=light] .showroom-shade{background:linear-gradient(90deg,#ffffffed,#ffffff8a 70%,#ffffff60),linear-gradient(0deg,#fff 0%,transparent 65%)}}

/* Keep a local fade for copy; let the cabin retain its contrast elsewhere. */
html[data-theme=light] .showroom-shade{background:linear-gradient(90deg,#ffffffed 0%,#ffffffc7 28%,#ffffff4d 52%,#ffffff00 78%)}
html[data-theme=light] .showroom-bottom{background:#fffffff2;border:1px solid #ffffff80;border-radius:20px;padding:20px 24px;align-items:center;backdrop-filter:blur(12px);box-shadow:0 8px 28px #0000000a}
html[data-theme=light] .showroom-package-link{background:#f3f3f5;border-color:#00000012;box-shadow:none}
html[data-theme=light] .hero-side-note{color:#fff;text-shadow:0 1px 6px #000}
@media(max-width:700px){
 html[data-theme=light] .showroom-shade{background:linear-gradient(90deg,#ffffffd9 0%,#ffffff94 45%,#ffffff0d 100%),linear-gradient(180deg,#ffffff44 0%,transparent 52%)}
 html[data-theme=light] .showroom-bottom{left:15px;right:15px;bottom:15px;padding:16px;gap:16px 12px;border-radius:16px}
}

/* care-theme.css */
/* Care identities: Quartz retains the existing neutral studio styling. */
.care-switcher{max-width:370px;margin:22px 0 0}.care-switcher>p{font-size:11px;letter-spacing:.13em;color:var(--muted);margin-bottom:10px}.care-switcher>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;background:#88888812;border:1px solid #88888835;border-radius:18px}.care-switcher button{border:1px solid transparent;background:transparent;color:inherit;border-radius:13px;min-height:46px;font-size:14px;padding:10px 5px;cursor:pointer}.care-switcher button[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:0 3px 12px #0002}.care-switcher button:disabled{cursor:default}.care-change-status{font-size:13px!important;min-height:20px;margin:8px 0 18px!important}.selection-context[hidden]{display:none}
/* The collection previews each identity before opening it. */
html[data-theme] .package-card.complete{background:radial-gradient(ellipse at 50% 10%,#dbebff,transparent 62%),linear-gradient(145deg,#d7e5f5,#f0f5fc);color:#172d48;border-color:#b6cbe5;box-shadow:0 18px 45px #386ca016}
html[data-theme] .complete .card-heading,html[data-theme] .complete .card-bottom p{color:#405b7a}html[data-theme] .complete .package-price{color:#304c6c}html[data-theme] .complete .card-bottom button{background:#224d80;border-color:#224d80;color:white}.complete .mineral span{background:conic-gradient(from 60deg at 55% 35%,#c4e2ff,#284465 16%,#8badcf 17%,#17304e 35%,#9ebedc 36%,#355574 57%,#e6f2ff 58%,#507497 79%,#b4d1ed)}
html[data-theme] .package-card.obsidian{background:radial-gradient(ellipse at 80% 0%,#b912273a,transparent 60%),linear-gradient(145deg,#29282d,#111115 70%);color:#f6f2e9;border-color:#b9475570;box-shadow:0 24px 55px #0003,inset 0 1px #ff657648}html[data-theme] .obsidian .card-heading{color:#ff8b98}html[data-theme] .obsidian .card-bottom p{color:#c6c4c9}html[data-theme] .obsidian .package-price{color:#edc5cb}html[data-theme] .obsidian .card-bottom button{background:linear-gradient(120deg,#d6263c,#a91024);border-color:#ed4358;color:#fff}.obsidian .mineral span{background:conic-gradient(from 35deg at 48% 42%,#ff8190,#1b1b23 15%,#8b8b98 16%,#121217 33%,#a03f50 34%,#23232d 56%,#ea334c 57%,#34343d 79%,#b86d7a)}
html[data-theme] .complete:before,html[data-theme] .obsidian:before{background:transparent}
/* Shared tokens cover both the detail sheet and every estimate step. */
html[data-theme][data-care=Onyx]{--paper:#edf3fb;--ink:#172c46;--muted:#4e627b;--care-bg:radial-gradient(ellipse at 12% 25%,#c5dcf6 0%,transparent 55%),#edf3fb;--care-surface:#ffffff8c;--care-soft:#eaf1fa;--care-border:#b5c9e1;--care-accent:#24588c;--care-button:#244f7e;--care-button-ink:#fff;--care-shadow:#284d7920;color-scheme:light}
html[data-theme=dark][data-care=Onyx]{--paper:#101b2b;--ink:#edf5ff;--muted:#afc2d9;--care-bg:radial-gradient(ellipse at 12% 25%,#29476b 0%,transparent 60%),#101b2b;--care-surface:#1a2a40b8;--care-soft:#142236;--care-border:#526d8c;--care-accent:#9ec9f4;--care-button:#bad8f6;--care-button-ink:#172c46;--care-shadow:#0004;color-scheme:dark}
html[data-theme][data-care=Obsidian]{--paper:#111115;--ink:#f5f1ea;--muted:#c4bfc4;--care-bg:radial-gradient(ellipse at 0% 18%,#ad102a35,transparent 52%),radial-gradient(ellipse at 100% 75%,#39394266,transparent 55%),#0d0d11;--care-surface:#202026bd;--care-soft:#14141bc4;--care-border:#ffffff2c;--care-accent:#ff526a;--care-button:linear-gradient(110deg,#d9223d,#aa102b);--care-button-ink:#fff;--care-shadow:#0006;color-scheme:dark}
html[data-theme][data-care]:not([data-care=Quartz]){background:var(--paper);color:var(--ink)}
html[data-theme][data-care]:not([data-care=Quartz]) body{background:var(--care-bg);color:var(--ink)}
html[data-theme][data-care]:not([data-care=Quartz]) :is(.header,.dialog-footer){background:var(--care-surface);border-color:var(--care-border)}
html[data-theme][data-care]:not([data-care=Quartz]) :is(.header nav,.footer-phone,.eyebrow,.estimate-panel .eyebrow,.estimate-intro>p,.selection-context small,.selection-context span,.field-note,.estimate-call p,.dialog-body>p,.dialog-footer p,.detail-inclusions li,.detail-prices span,.vehicle-options small,.package-options small,.package-options strong>span,.vehicle-options legend,.package-options legend,.care-description p,.care-description li,.estimate-result p,#estimate-summary dt,#receipt dt){color:var(--muted)}
html[data-theme][data-care]:not([data-care=Quartz]) :is(.estimate-panel,#details){background:var(--care-surface);color:var(--ink);border-color:var(--care-border);box-shadow:0 28px 85px var(--care-shadow),inset 0 1px #ffffff15}
html[data-theme][data-care]:not([data-care=Quartz]) :is(.selection-context,.care-description,.estimate-result,.detail-prices>div,.preview-note){background:var(--care-soft);color:var(--ink);border-color:var(--care-border)}
html[data-theme][data-care]:not([data-care=Quartz]) :is(.vehicle-options label,.package-options label){background:var(--care-soft);color:var(--ink);border-color:var(--care-border)}
html[data-theme][data-care]:not([data-care=Quartz]) :is(.vehicle-options label,.package-options label):has(input:checked){background:var(--care-soft);border-color:var(--care-accent);box-shadow:inset 0 0 0 1px var(--care-accent)}
html[data-theme][data-care]:not([data-care=Quartz]) :is(.estimate-panel label,.estimate-result h3,.price-row,#estimate-status,#quote-review,.receipt-mark){color:var(--ink)}
html[data-theme][data-care]:not([data-care=Quartz]) .estimate-panel :is(input:not([type=radio]):not([type=checkbox]),select,textarea){background:var(--care-soft);color:var(--ink);border-color:var(--care-border);color-scheme:inherit}
html[data-theme][data-care]:not([data-care=Quartz]) input{accent-color:var(--care-accent)}
html[data-theme][data-care]:not([data-care=Quartz]) :is(.nav-cta,.dark-button,.care-switcher button[aria-pressed=true]){background:var(--care-button);border-color:var(--care-accent);color:var(--care-button-ink)}
html[data-theme][data-care]:not([data-care=Quartz]) :is(.text-button,.call-button,.theme-toggle){color:var(--ink);border-color:var(--care-border);background:transparent}
html[data-theme][data-care]:not([data-care=Quartz]) .flow-progress{background:var(--care-soft)}html[data-theme][data-care]:not([data-care=Quartz]) .flow-progress span{background:var(--care-accent)}
html[data-theme][data-care]:not([data-care=Quartz]) :is(.detail-note,footer,.price-row){border-color:var(--care-border)}
html[data-theme][data-care]:not([data-care=Quartz]) dialog .close{background:var(--care-soft);color:var(--ink)}html[data-theme][data-care]:not([data-care=Quartz]) dialog::backdrop{background:#0b142699;backdrop-filter:blur(18px)}
html[data-theme][data-care]:not([data-care=Quartz]) :focus-visible{outline-color:var(--care-accent)}
html[data-care=Obsidian] .estimate-intro h1,html[data-care=Obsidian] #detail-title{letter-spacing:-.045em;text-shadow:0 3px 35px #e5254540}
html[data-care=Obsidian] #details{background-image:radial-gradient(ellipse at top right,#e525451a,transparent 65%)}
html[data-care-motion=up] .estimate-panel{animation:care-rise .65s cubic-bezier(.2,.7,.25,1)}html[data-care-motion=down] .estimate-panel{animation:care-settle .5s cubic-bezier(.2,.7,.25,1)}html[data-care-motion=up][data-care=Obsidian] .estimate-panel{animation:care-signature .85s cubic-bezier(.2,.7,.25,1)}
@keyframes care-rise{from{transform:translateY(10px);opacity:.65}to{transform:translateY(0);opacity:1}}@keyframes care-settle{from{transform:translateY(-6px);opacity:.75}to{transform:translateY(0);opacity:1}}@keyframes care-signature{0%{transform:translateY(14px) scale(.987);box-shadow:0 0 0 #e5254500;opacity:.7}55%{box-shadow:0 0 60px #e5254540}100%{transform:none;box-shadow:0 28px 85px #0006;opacity:1}}
body,.header,.estimate-panel,.selection-context,.care-description,.dialog-footer{transition:background-color .45s,color .35s,border-color .4s,box-shadow .5s}
@media(max-width:700px){.care-switcher{max-width:none}.care-switcher button{font-size:13px}.care-change-status{margin-bottom:12px!important}.estimate-intro{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){html[data-care-motion] .estimate-panel{animation:none}body,.header,.estimate-panel,.selection-context,.care-description,.dialog-footer,.care-switcher button{transition:none}}

/* Smoked glass and motorsport precision, without changing the booking controls. */
html[data-theme][data-care]:not([data-care=Quartz]) :is(.estimate-panel,#details,.selection-context){backdrop-filter:blur(28px) saturate(125%);-webkit-backdrop-filter:blur(28px) saturate(125%);box-shadow:0 28px 85px var(--care-shadow),inset 0 1px #ffffff42,inset 1px 0 #ffffff10}
html[data-theme][data-care=Onyx] .selection-context{background:linear-gradient(125deg,#ffffff33,#a4c7ec15)}
html[data-theme][data-care=Obsidian] .estimate-panel{border-radius:24px 24px 24px 5px;border-top:2px solid #ef3c56;background-image:linear-gradient(130deg,#ffffff09,transparent 50%)}
html[data-theme][data-care=Obsidian] .flow-progress{height:4px}.signature-identity{display:none}
html[data-care=Obsidian] .signature-identity{display:block;padding:24px;border:1px solid #ffffff24;border-radius:22px 22px 22px 4px;background:radial-gradient(ellipse at 100% 0,#d41b3738,transparent 65%),linear-gradient(125deg,#ffffff0e,#ffffff02);box-shadow:inset 0 1px #ffffff26,0 20px 55px #0002;margin:0 0 30px;backdrop-filter:blur(24px)}
.signature-kicker{display:flex;justify-content:space-between;gap:12px;color:#c1bcc5;font-size:9px;letter-spacing:.12em}.signature-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0}.signature-title strong{font-size:clamp(28px,3.4vw,45px);font-weight:500;letter-spacing:-.045em;line-height:1.15}.signature-title strong span{display:block;font-size:15px;letter-spacing:0;font-weight:400;color:#bdb9c2;margin-top:8px}.signature-title b{font-size:70px;font-weight:600;letter-spacing:-.09em;color:#ff526a;line-height:1}.signature-track{display:flex;gap:5px;transform:skewX(-25deg);max-width:145px;height:4px}.signature-track i{background:#f13d56;width:33%}.signature-track i:nth-child(2){opacity:.6}.signature-track i:nth-child(3){opacity:.25}.signature-identity>p{font-size:13px;color:#c6c1ca;margin:15px 0 0}
html[data-care=Obsidian] .estimate-intro>.eyebrow,html[data-care=Obsidian] .estimate-intro>h1{display:none}
html[data-care=Obsidian] .dialog-body>.signature-identity{margin-top:14px}html[data-care=Obsidian] .dialog-body>.eyebrow{color:#ff8f9e}
html[data-theme][data-care=Obsidian] .detail-prices>div{border-left:3px solid #ef3c56}
html[data-theme][data-care=Obsidian] .detail-inclusions h3{display:flex;align-items:center;gap:10px}html[data-care=Obsidian] .detail-inclusions h3:before{content:'';width:5px;height:18px;background:#ee3e56;transform:skewX(-16deg)}
html[data-theme][data-care]:not([data-care=Quartz]) :is(input,select,textarea){color-scheme:inherit}
@media(max-width:700px){html[data-care=Obsidian] .signature-identity{padding:20px;margin-bottom:20px}.signature-title{margin:18px 0}.signature-title strong{font-size:32px}.signature-title b{font-size:60px}.signature-kicker{font-size:8px}}
html[data-theme][data-care=Obsidian] .dialog-footer{background:#202026f5}html[data-theme=light][data-care=Onyx] .dialog-footer{background:#eef5fcf5}html[data-theme=dark][data-care=Onyx] .dialog-footer{background:#1a2a40f5}
html[data-care=Obsidian] .dialog-body>.eyebrow{display:none}html[data-care=Obsidian] #detail-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}

/* All care levels have an identity; Onyx is the recommended deeper-clean option. */
html[data-care] .signature-identity{display:block;padding:24px;border:1px solid #ffffff24;border-radius:22px;background:linear-gradient(125deg,#ffffff12,#ffffff02);box-shadow:inset 0 1px #ffffff30,0 15px 45px #0001;margin:0 0 30px;backdrop-filter:blur(24px)}
html[data-care] .estimate-intro>.eyebrow,html[data-care] .estimate-intro>h1,html[data-care] .dialog-body>.eyebrow{display:none}
html[data-care] #detail-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
.signature-title strong [data-care-name]{display:block;font-size:inherit;letter-spacing:inherit;font-weight:inherit;color:inherit;margin:0}.signature-title strong [data-care-subtitle]{font-size:15px}
.onyx-recommendation{display:none}
html[data-care=Quartz] .signature-identity{background:linear-gradient(125deg,#ffffff16,#ffffff02);border-color:#ffffff28}
html[data-care=Quartz] :is(.signature-kicker,.signature-title strong [data-care-subtitle],.signature-identity>p){color:#bdbdc5}
html[data-care=Quartz] .signature-title b{color:#c6c6ce;font-weight:300}html[data-care=Quartz] .signature-track{transform:none;height:2px;max-width:90px}html[data-care=Quartz] .signature-track i{background:#b9b9c4}
html[data-theme=light][data-care=Quartz] .signature-identity{background:linear-gradient(135deg,#ffffffd9,#f1f1f680);border-color:#d9d9e1;box-shadow:inset 0 1px #fff,0 16px 45px #1d1d1f08}
html[data-theme=light][data-care=Quartz] :is(.signature-kicker,.signature-title strong [data-care-subtitle],.signature-identity>p){color:#666670}html[data-theme=light][data-care=Quartz] .signature-title b{color:#747482}
html[data-theme=light][data-care=Onyx]{--paper:#edf0f5;--ink:#202e42;--muted:#4f5c70;--care-bg:radial-gradient(ellipse at 5% 15%,#bacbdd8c,transparent 55%),radial-gradient(ellipse at 90% 80%,#d5def080,transparent 65%),#edf0f5;--care-surface:#fbfcffad;--care-soft:#edf1f7bd;--care-border:#adbbce;--care-accent:#496b96;--care-button:linear-gradient(120deg,#334d71,#233651);--care-button-ink:#fff}
html[data-theme][data-care=Onyx] .signature-identity{position:relative;overflow:hidden;background:linear-gradient(125deg,#14263b,#304963 60%,#192d43);color:#f5f8fd;border-color:#839bb8;border-radius:24px;box-shadow:inset 0 1px #dae9ff88,0 20px 55px #1c365b22}
html[data-care=Onyx] .signature-identity:before{content:'';position:absolute;pointer-events:none;inset:0;background:linear-gradient(120deg,transparent 25%,#ffffff14 25.4%,#ffffff03 46%,transparent 46.4%)}
html[data-care=Onyx] .signature-identity>*{position:relative}html[data-care=Onyx] .signature-title b{color:#c8ddf7;text-shadow:0 1px 20px #99c4ff22;font-weight:400}html[data-care=Onyx] :is(.signature-kicker,.signature-title strong [data-care-subtitle],.signature-identity>p){color:#c7d5e7}
html[data-care=Onyx] .signature-track{max-width:none;transform:none;height:1px;gap:0}html[data-care=Onyx] .signature-track i{background:#adc6e9;width:33.333%}
html[data-care=Onyx] .onyx-recommendation{display:block;margin-top:23px;border-top:1px solid #cadbf533;padding-top:18px}.onyx-recommendation>span{font-size:9px;font-weight:600;letter-spacing:.12em;color:#e0ebfb}.onyx-recommendation>p{font-size:13px;line-height:1.6;color:#c7d5e7;margin:9px 0 0}
html[data-theme][data-care=Onyx] .estimate-panel{border-top:2px solid #8ba5c8;background-image:linear-gradient(130deg,#ffffff1a,transparent 65%)}
html[data-theme] .package-card.complete{background:radial-gradient(ellipse at 70% 0%,#8099b844,transparent 60%),linear-gradient(135deg,#253c55,#15283d);color:#f3f7fd;border-color:#8ba5c8;box-shadow:0 24px 60px #233c6026,inset 0 1px #d3e5ff55}
html[data-theme] .complete :is(.card-heading,.card-bottom p){color:#c8d6e8}html[data-theme] .complete .package-price{color:#e4edfa}html[data-theme] .complete .card-bottom button{background:linear-gradient(125deg,#eef5ff,#c6d8ef);color:#1f344f;border-color:#d5e4f8}
.recommended-badge{padding:7px 10px;border:1px solid #bbd5f866;border-radius:30px;background:#d6e6ff12;color:#e0edff;font-size:10px;letter-spacing:.04em}
html[data-theme] .package-options label:has(input[value=Onyx]){position:relative;border-color:#829bb9}
.package-options label:has(input[value=Onyx])>span:after{content:'Recommended for a deeper clean';display:block;color:inherit;font-size:11px;margin-top:9px;font-weight:500}
html[data-care=Obsidian] .signature-identity{border-radius:22px 22px 22px 4px;background:radial-gradient(ellipse at 100% 0,#d41b3738,transparent 65%),linear-gradient(125deg,#ffffff0e,#ffffff02)}
@media(max-width:700px){html[data-care] .signature-identity{padding:20px;margin-bottom:20px}.signature-kicker{font-size:8px}.onyx-recommendation>span{font-size:8px}}

/* Material study: original procedural grain, fluted glass and directional light. */
:root{--surface-grain:url("/assets/ui/surface-grain.svg");--material-glow:#d5d5e3;--dial-color:#bfc0cd}
html[data-theme=light]{--dial-color:#555764}
html[data-care=Onyx]{--material-glow:#9cdef5;--dial-color:#85d5ef}
html[data-theme=light][data-care=Onyx]{--dial-color:#286987;--care-bg:radial-gradient(ellipse at 8% 12%,#99ccdf80,transparent 52%),radial-gradient(ellipse at 95% 80%,#8ab7d640,transparent 58%),#e6eef3;--care-accent:#397b9a;--care-button:linear-gradient(125deg,#34748f,#24445e);--care-border:#99b7c8}
html[data-theme=dark][data-care=Onyx]{--care-bg:radial-gradient(ellipse at 8% 12%,#3c829e55,transparent 52%),radial-gradient(ellipse at 95% 80%,#457b9d40,transparent 58%),#111e2a;--care-accent:#9bdcf4}
html[data-care=Obsidian]{--material-glow:#ff4764;--dial-color:#ff526a}
body{position:relative;isolation:isolate}
body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:var(--surface-grain);background-size:160px;opacity:.17;mix-blend-mode:soft-light}
body:after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 8px,#9da8bf16 9px,#00000016 11px,transparent 13px 21px),repeating-linear-gradient(0deg,transparent 0 27px,#dfe9ff08 28px,transparent 30px 44px);mask-image:linear-gradient(120deg,transparent 30%,#0008 80%,#000);opacity:.65}
html[data-theme=light] body:before{mix-blend-mode:multiply;opacity:.075}
html[data-theme][data-care=Obsidian] body:before{mix-blend-mode:soft-light;opacity:.22}
.package-card,.signature-identity{isolation:isolate;overflow:hidden}
.package-card:after,.signature-identity:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background-image:var(--surface-grain);background-size:160px;opacity:.25;mix-blend-mode:soft-light;border-radius:inherit}
.signature-identity{position:relative}
.signature-identity>*,.package-card>.card-heading,.package-card>.card-bottom{z-index:1}.signature-identity>*{position:relative}.package-card>.card-heading{position:relative}
html[data-theme=light] .refresh:after,html[data-theme=light][data-care=Quartz] .signature-identity:after{mix-blend-mode:multiply;opacity:.09}
html[data-theme] .package-card.complete{background:radial-gradient(ellipse at 55% 0%,#a6e6ff7a,transparent 65%),linear-gradient(165deg,#397089,#1d3e54 57%,#142b3c);border-color:#abd7e8;box-shadow:inset 0 1px #effaffb3,inset 1px 0 #b5e5f14d,0 22px 46px #142f492e,0 2px 3px #fff3}
html[data-theme] .complete :is(.card-heading,.card-bottom p){color:#dcecf4}html[data-theme] .complete .package-price{color:#ecf7fc}
html[data-theme] .complete .card-bottom button{background:linear-gradient(130deg,#effcff,#b2d7e7);border-color:#e7faff;color:#183d53}
html[data-theme][data-care=Onyx] .signature-identity{background:radial-gradient(ellipse at 50% 0%,#bbf2ff5c,transparent 65%),linear-gradient(165deg,#376f88,#1d3e54 70%);border-color:#b4dfed;box-shadow:inset 0 1px #f3feffcc,inset 1px 0 #e6faff45,0 25px 42px #173c5733,0 3px 5px #15273822}
html[data-care=Onyx] .signature-identity:before{background:linear-gradient(118deg,transparent 28%,#ecfbff26 28.3%,#ffffff03 48%,transparent 48.4%)}
html[data-care=Onyx] :is(.signature-kicker,.signature-title strong [data-care-subtitle],.signature-identity>p,.onyx-recommendation>p){color:#d8eaf3}html[data-care=Onyx] .signature-title b{color:#d6f4ff;text-shadow:0 2px 20px #aff0ff4d}
html[data-theme][data-care=Quartz] .signature-identity{box-shadow:inset 0 1px #ffffffa6,inset 1px 0 #ffffff30,0 18px 35px #00000015;background-image:linear-gradient(135deg,#ffffff1a,transparent 62%)}
html[data-theme=light][data-care=Quartz] .signature-identity{background:radial-gradient(ellipse at 10% 0%,#fff,transparent 75%),linear-gradient(125deg,#f6f6fa,#dedfe77a);border-color:#fff;box-shadow:inset 0 1px #fff,0 16px 30px #35354516,0 1px 3px #35354516}
html[data-theme][data-care=Obsidian] .signature-identity{background:radial-gradient(ellipse at 100% 0%,#da204538,transparent 70%),linear-gradient(135deg,#3b38414d,#15151a99);border-color:#b7a3b045;box-shadow:inset 0 1px #ffe2ea5c,inset 1px 0 #ffffff15,0 22px 45px #0004,0 1px 2px #0008}
html[data-theme] .package-card.obsidian{background:radial-gradient(ellipse at 80% 0%,#cb1f3b38,transparent 60%),linear-gradient(145deg,#36333c,#121217 70%);box-shadow:inset 0 1px #ffe2ea6b,0 25px 55px #0004}
html[data-theme][data-care] .estimate-panel,html[data-theme][data-care] #details{box-shadow:inset 0 1px #ffffff80,inset 1px 0 #ffffff20,0 22px 55px #16213224,0 2px 4px #00000010}
html[data-theme][data-care=Obsidian] .estimate-panel,html[data-theme][data-care=Obsidian] #details{box-shadow:inset 0 1px #ffffff38,inset 1px 0 #ffffff10,0 24px 60px #0006}
html[data-theme][data-care] :is(.care-switcher>div,.selection-context){box-shadow:inset 0 1px #ffffff4d,0 9px 25px #0000000c}
html[data-theme] :is(.card-bottom button,.dark-button,.care-switcher button[aria-pressed=true]){box-shadow:inset 0 1px #ffffff59,inset 0 -1px #00000030,0 4px 12px #00000024;transition:transform .18s,box-shadow .18s,background .3s}
html[data-theme] :is(.card-bottom button,.dark-button,.care-switcher button):active{transform:translateY(1px) scale(.985);box-shadow:inset 0 2px 5px #00000030}
/* The dial represents the actual form step, not an invented metric. */
.flow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.flow-heading>div:first-child{min-width:0}.flow-heading .eyebrow{line-height:1.6}.progress-dial{flex:0 0 60px;width:60px;height:60px;position:relative;margin:0 0 20px;color:var(--ink)}
.progress-dial:before{content:'';position:absolute;inset:-4px;border-radius:50%;background:repeating-conic-gradient(from -90deg,var(--dial-color) 0deg 1.5deg,transparent 1.5deg 15deg);mask-image:radial-gradient(transparent 65%,#000 66% 70%,transparent 71%);opacity:.4}
.progress-dial svg{display:block;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.progress-dial circle{fill:none;stroke-width:2.8}.dial-track{stroke:#88888835}.dial-fill{stroke:var(--dial-color);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--dial-progress,16.667));transition:stroke-dashoffset .4s,stroke .4s;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--dial-color) 35%,transparent))}.progress-dial>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px}.progress-dial b{font-size:18px;font-weight:500}.progress-dial small{font-size:10px;color:var(--muted)}
@media(max-width:700px){.flow-heading{gap:12px}.progress-dial{flex-basis:48px;width:48px;height:48px;margin-top:2px}.progress-dial b{font-size:16px}.progress-dial small{font-size:9px}.flow-heading h2{font-size:27px}.package-card:after,.signature-identity:after{opacity:.2}body:after{opacity:.4}}
@media(prefers-reduced-motion:reduce){.dial-fill,html[data-theme] :is(.card-bottom button,.dark-button,.care-switcher button){transition:none}html[data-theme] :is(.card-bottom button,.dark-button,.care-switcher button):active{transform:none}}
/* Same-origin navigation lets the Obsidian card expand into its own banner. */
@view-transition{navigation:auto}


.obsidian-explore{display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;text-decoration:none;border:1px solid #c3beca45;border-radius:30px;padding:15px 20px;min-height:50px;background:linear-gradient(140deg,#e4e2e8,#bdbbc7);color:#24222b;font-size:15px}
html[data-theme] .package-card.obsidian{background:radial-gradient(ellipse at 80% 0%,#ffffff10,transparent 60%),linear-gradient(145deg,#302e36,#121217);border-color:#88818f70}
html[data-theme] .obsidian .card-heading{color:#c7c2cd}html[data-theme] .obsidian .package-price{color:#e3dfe9}
.obsidian .mineral span{background:conic-gradient(from 35deg at 48% 42%,#c8c4d1,#17171e 15%,#686774 16%,#131318 33%,#958e9c 34%,#22222b 56%,#b3a7b5 57%,#34343e 79%,#8d8998)}
::view-transition-group(obsidian-portal){animation-duration:.75s;animation-timing-function:cubic-bezier(.2,.75,.2,1)}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
/* Care choices sit with the questions; the left card carries the price. */
.estimate-panel>.care-switcher{max-width:none;margin:0 0 28px}
.estimate-panel>.care-switcher>p{margin-top:0}
.estimate-panel>.care-change-status:empty{display:none}
#selection-context #selection-name{font-size:38px;letter-spacing:-.045em;margin:9px 0}

/* The departing material changes once, then the browser carries its snapshot. */
html[data-theme][data-care] .signature-identity.obsidian-departure{background:radial-gradient(ellipse at 80% 15%,#65507866,transparent 60%),#17141e;color:#f0edf5}
.obsidian-departure>*{visibility:hidden}
/* The collection chooser belongs beside its identity, leaving questions uncluttered. */
.estimate-intro .identity-care{max-width:370px;margin:-8px 0 18px;color:var(--ink)}
.identity-care-label{font-size:12px;padding:12px 3px;color:var(--muted);margin:0}
.identity-care .care-switcher{margin:4px 0 0;max-width:none}
.estimate-intro>.care-change-status:empty{display:none}
.estimate-intro>.care-change-status{font-size:12px!important;min-height:0}
.vehicle-start{padding-top:8px}
.vehicle-start>label{margin-top:0}
.progressive-field{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .3s ease,opacity .25s ease,visibility .3s}
.progressive-field>div{min-height:0;overflow:hidden}
.progressive-field[data-revealed=true]{grid-template-rows:1fr;opacity:1;visibility:visible}
.progressive-field label{margin-top:22px}
.progressive-field .field-note{margin-bottom:0}
@media(max-width:700px){.estimate-intro .identity-care{max-width:none;margin:-7px 0 12px}.identity-care-label{padding:10px 1px}}
@media(prefers-reduced-motion:reduce){.progressive-field{transition:none}}

/* obsidian-contact.css */
/* Direct-contact edition. The five-step intake is preserved in the saved v1 checkpoint. */
html[data-theme][data-care=Obsidian]{
 --paper:#121115;--ink:#f1eff5;--muted:#bdb8c7;
 --care-bg:radial-gradient(ellipse at 7% 22%,#55446524,transparent 52%),#121115;
 --care-surface:#211e27bc;--care-soft:#201d258c;--care-border:#c9bed32c;
 --care-accent:#bdb0d0;--care-button:linear-gradient(140deg,#f0edf5,#c9c2d5);--care-button-ink:#25212d;
 --care-shadow:#05030840;--contact-rule:#d2c6e223;--contact-detail:#c5bece;
 --contact-panel:radial-gradient(ellipse at 0 0,#a89ab517,transparent 62%),linear-gradient(140deg,#302b354f,#17151ccd);
 --contact-grain-blend:soft-light;--contact-grain-opacity:.26;color-scheme:dark;
}
html[data-theme=light][data-care=Obsidian]{
 --paper:#f2f0f5;--ink:#29242f;--muted:#6c6375;
 --care-bg:radial-gradient(ellipse at 8% 10%,#fff9,transparent 58%),#f2f0f5;
 --care-surface:#f9f7fcbd;--care-soft:#ffffff5c;--care-border:#78698935;
 --care-accent:#78658e;--care-button:linear-gradient(140deg,#44384f,#29222f);--care-button-ink:#f9f6fc;
 --care-shadow:#34253f12;--contact-rule:#80708726;--contact-detail:#716778;
 --contact-panel:radial-gradient(ellipse at 0 0,#fff,transparent 68%),linear-gradient(145deg,#fff9,#ddd7e773);
 --contact-grain-blend:multiply;--contact-grain-opacity:.1;color-scheme:light;
}
html[data-theme][data-care=Obsidian] body:before{opacity:.07;mix-blend-mode:var(--contact-grain-blend)}
html[data-theme][data-care=Obsidian] body:after{display:none}
.obsidian-contact-layout{padding-top:64px;padding-bottom:64px}
.obsidian-contact-layout .estimate-intro{position:relative;top:0}
html[data-theme][data-care=Obsidian] .obsidian-material{
 padding:28px;border-radius:22px;min-height:222px;color:#f1edf7;
 background:radial-gradient(ellipse at 0% 0%,#b7a9cf36,transparent 68%),linear-gradient(140deg,#3b35444d,#151219e8),#201c26;
 border:1px solid #bbb0ca57;border-top-color:#e5d8f5a6;border-left-color:#d4c5e877;
 box-shadow:inset 0 1px #f1e7ff70,inset 1px 0 #f2e7ff1f,inset 0 -1px #140e1e,0 22px 48px #170e261f;
 backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);
}
html[data-theme][data-care=Obsidian] .obsidian-material:before{content:'';display:block;position:absolute;inset:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(115deg,transparent 0 2px,#e3d4f409 2px 3px,transparent 3px 5px);mask-image:linear-gradient(110deg,#0008,transparent 75%)}
html[data-theme][data-care=Obsidian] .obsidian-material:after{opacity:.44;background-size:130px;mix-blend-mode:soft-light}
html[data-theme][data-care=Obsidian] .obsidian-material .signature-kicker{color:#c7bccf;letter-spacing:.12em}
.obsidian-material .signature-title{margin:28px 0 25px}
.obsidian-material .signature-title strong{font-size:clamp(33px,3.4vw,44px);font-weight:450}
html[data-theme][data-care=Obsidian] .obsidian-material .signature-title b{color:#c7bccf;font-size:66px;font-weight:250;text-shadow:0 1px #ffffff42}
.obsidian-signature{display:flex;align-items:center;gap:16px;color:#cbbfd6;font-size:12px}
.signature-lines{display:flex;gap:4px;width:55px;align-items:center}
.signature-lines i{height:2px;flex:1;background:#d6c2e7}.signature-lines i:nth-child(2){opacity:.55}.signature-lines i:nth-child(3){opacity:.25}
.obsidian-contact-page .care-switcher a{display:flex;justify-content:center;align-items:center;min-height:46px;padding:10px 5px;font-size:14px;border:1px solid transparent;border-radius:13px;transition:background .2s,transform .2s}
.obsidian-contact-page .care-switcher a:hover{background:#90809819}
.obsidian-contact-page .care-switcher a[aria-current=page]{background:var(--care-button);color:var(--care-button-ink);box-shadow:inset 0 1px #fff4,0 3px 9px #0002}
html[data-theme][data-care=Obsidian] .obsidian-fee{border:1px solid var(--care-border);border-radius:18px;padding:22px;box-shadow:inset 0 1px #fff4,0 10px 26px var(--care-shadow);margin:26px 0 22px}
.obsidian-fee strong{display:block;font-size:38px;letter-spacing:-.045em;font-weight:450;margin:9px 0}
.obsidian-contact-page .obsidian-compare{font-size:13px}.obsidian-contact-page .obsidian-compare span{margin-left:5px}
html[data-theme][data-care=Obsidian] .obsidian-contact-panel{
 position:relative;isolation:isolate;overflow:hidden;background:var(--contact-panel);border:1px solid var(--care-border);border-top-color:#d8cce87a;border-radius:24px;padding:34px 38px 25px;
 box-shadow:inset 0 1px #f5ebff80,inset 1px 0 #eee3ff20,0 25px 65px var(--care-shadow);
 backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);
}
.obsidian-contact-panel:before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:-1;background:url("/assets/ui/surface-grain.svg");background-size:140px;mix-blend-mode:var(--contact-grain-blend);opacity:var(--contact-grain-opacity)}
.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 24px}
.contact-heading .eyebrow{font-size:9px;letter-spacing:.14em;margin:0;line-height:1.7}
.etched-mark{font-size:10px;letter-spacing:.15em;border:1px solid var(--contact-rule);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;color:var(--muted);box-shadow:inset 0 1px #fff2}
html[data-theme][data-care=Obsidian] .obsidian-contact-panel h2{font-size:clamp(34px,3.5vw,48px);letter-spacing:-.05em;font-weight:450;line-height:1.1;margin:0}
.contact-lead{font-size:15px;line-height:1.8;color:var(--muted);margin:20px 0 25px;max-width:440px}
.personal-care-details{border-top:1px solid var(--contact-rule);padding-top:15px;display:grid;gap:12px;margin-bottom:27px}
.personal-care-details>div{display:flex;gap:17px;align-items:baseline}
.personal-care-details span{font-size:9px;color:var(--contact-detail);letter-spacing:.08em;flex:0 0 18px}
.personal-care-details p{font-size:13px;color:var(--ink);margin:0;line-height:1.6}
.personal-contact-actions{padding-top:22px;border-top:1px solid var(--contact-rule)}
.contact-invitation{font-size:16px;letter-spacing:-.015em;margin:0 0 17px;font-weight:450}
.contact-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-action{display:flex;align-items:center;gap:11px;padding:17px 18px;min-height:56px;border-radius:16px;border:1px solid var(--care-border);font-size:14px;transition:transform .2s,box-shadow .2s}
.contact-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex:none}
.contact-action>span:last-child{margin-left:auto;font-size:17px}
.contact-call{background:var(--care-button);color:var(--care-button-ink);border-color:transparent;box-shadow:inset 0 1px #fff7,inset 0 -1px #0002,0 5px 16px #0002}
.contact-text{background:#9e8eb00b;box-shadow:inset 0 1px #fff3}
.contact-action:hover{transform:translateY(-2px);box-shadow:inset 0 1px #fff5,0 8px 20px var(--care-shadow)}
.contact-action:active{transform:translateY(1px)}
.contact-number{margin:17px 0 0;color:var(--muted);font-size:11px;display:flex;flex-wrap:wrap;column-gap:16px;row-gap:6px;line-height:1.7}
.contact-number a{font-variant-numeric:tabular-nums;color:var(--ink)}
.contact-footnote{font-size:10px;color:var(--muted);line-height:1.7;margin:27px 0 0}
.contact-footnote a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px;margin-left:4px}
/* The entry morph now lands on the matching sidebar material. */
html[data-obsidian-arrival] .obsidian-material{view-transition-name:obsidian-portal}
html[data-obsidian-arrival]::view-transition-old(obsidian-portal){animation:old-material-out .2s both;mix-blend-mode:normal}
html[data-obsidian-arrival]::view-transition-new(obsidian-portal){animation:new-material-in .35s both;mix-blend-mode:normal}
@keyframes old-material-out{to{opacity:0}}@keyframes new-material-in{from{opacity:0}to{opacity:1}}
@media(max-width:1000px){html[data-theme][data-care=Obsidian] .obsidian-contact-panel{padding:28px}.contact-action{padding:16px 12px;gap:8px;font-size:13px}.obsidian-material .signature-title{gap:12px}}
@media(max-width:700px){
 .obsidian-contact-layout{padding-top:32px;padding-bottom:45px}.obsidian-contact-layout .estimate-intro{margin-bottom:28px}
 html[data-theme][data-care=Obsidian] .obsidian-material{padding:22px;min-height:190px}
 .obsidian-material .signature-title{margin:23px 0}.obsidian-material .signature-title strong{font-size:36px}
 html[data-theme][data-care=Obsidian] .obsidian-material .signature-title b{font-size:54px}
 html[data-theme][data-care=Obsidian] .obsidian-fee{padding:16px 20px;margin:21px 0 12px}.obsidian-fee strong{font-size:34px;margin:6px 0}
 .obsidian-contact-page .care-switcher a{font-size:13px}.obsidian-contact-page .obsidian-compare{font-size:12px}
 html[data-theme][data-care=Obsidian] .obsidian-contact-panel{padding:25px 22px 22px;border-radius:23px}
 .contact-heading{margin-bottom:22px}.contact-heading .eyebrow{font-size:8px}.etched-mark{width:32px;height:32px;font-size:9px}
 html[data-theme][data-care=Obsidian] .obsidian-contact-panel h2{font-size:36px}.contact-lead{font-size:14px;line-height:1.75}
 .personal-care-details p{font-size:12px}.contact-invitation{font-size:15px}.contact-buttons{gap:9px}.contact-action{padding:15px 12px;font-size:13px;gap:8px}.contact-action>span:last-child{font-size:15px}
 .obsidian-contact-page footer>span{display:none}
}
@media(max-width:360px){.contact-buttons{grid-template-columns:1fr}.obsidian-material .signature-title strong{font-size:32px}html[data-theme][data-care=Obsidian] .obsidian-contact-panel h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.contact-action,.obsidian-contact-page .care-switcher a{transition:none}.contact-action:hover,.contact-action:active{transform:none}}

/* atelier.css */
/* The care studio — quiet surfaces, readable content, considered motion. */
:root {
  --atelier-bg: #111215;
  --atelier-panel: rgba(31, 32, 37, 0.64);
  --atelier-ink: #f3f3f5;
  --atelier-muted: #a5a6af;
  --atelier-line: rgba(255, 255, 255, 0.12);
  --atelier-soft: rgba(255, 255, 255, 0.045);
  --atelier-accent: #c7c9dc;
}
:root[data-theme="light"] {
  --atelier-bg: #f6f6f8;
  --atelier-panel: rgba(255, 255, 255, 0.8);
  --atelier-ink: #23242a;
  --atelier-muted: #61636d;
  --atelier-line: rgba(25, 28, 45, 0.13);
  --atelier-soft: rgba(40, 43, 65, 0.035);
  --atelier-accent: #55596e;
}
body {
  color: var(--atelier-ink);
}
.header nav {
  gap: 25px;
}
.header nav a {
  white-space: nowrap;
}
.atelier-footer {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  align-items: start;
  gap: 40px;
  padding: 60px max(5vw, 24px);
  border-top: 1px solid var(--atelier-line);
  background: var(--atelier-soft);
  font-size: 13px;
}
.atelier-footer p {
  color: var(--atelier-muted);
  font-size: 13px;
  line-height: 1.7;
  margin: 18px 0;
}
.footer-links {
  display: grid;
  gap: 16px;
}
.footer-links a,
.owner-entry {
  color: var(--atelier-muted);
}
.atelier-footer .wordmark {
  color: var(--atelier-ink);
}
.owner-entry {
  font-size: 12px;
}
.studio-page,
.contact-page,
.editorial-page {
  max-width: 1440px;
  margin: auto;
  padding: 78px 5vw 100px;
}
.studio-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 45px;
  margin-bottom: 52px;
}
.studio-heading h1,
.contact-intro h1,
.editorial-hero h1 {
  font-size: clamp(44px, 5.2vw, 76px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.055em;
  margin: 16px 0;
}
.studio-heading h1 span {
  color: var(--atelier-muted);
}
.studio-heading > p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--atelier-muted);
  max-width: 360px;
  margin-bottom: 6px;
}
.studio-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(360px, 1fr);
  gap: 28px;
  align-items: start;
}
.vehicle-studio {
  position: sticky;
  top: 100px;
  border: 1px solid var(--atelier-line);
  border-radius: 30px;
  overflow: hidden;
  background:
    radial-gradient(
      ellipse at 50% 35%,
      rgba(163, 167, 189, 0.17),
      transparent 65%
    ),
    var(--atelier-panel);
  box-shadow:
    inset 0 1px 0 #ffffff16,
    0 30px 80px #00000015;
}
.vehicle-studio:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.07;
  background: url("/assets/ui/surface-grain.svg");
  z-index: 2;
}
.studio-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 28px 28px 0;
  position: relative;
  z-index: 3;
}
.studio-edition {
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--atelier-muted);
}
.vehicle-canvas {
  height: 390px;
  position: relative;
  isolation: isolate;
}
.vehicle-canvas canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  touch-action: pan-y;
  cursor: grab;
}
.vehicle-canvas canvas:active {
  cursor: grabbing;
}
.map-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  text-align: center;
  color: var(--atelier-muted);
  font-size: 13px;
  padding: 20px;
  pointer-events: none;
}
.map-placeholder span {
  letter-spacing: 0.15em;
  font-size: 10px;
}
.map-placeholder button {pointer-events:auto;justify-self:center;color:var(--atelier-ink)}
.vehicle-canvas:has(canvas):not([data-unavailable]) .map-placeholder {
  display: none;
}
.vehicle-canvas[data-unavailable] canvas {
  display: none;
}
.map-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 26px 22px;
  position: relative;
  z-index: 3;
}
.segmented {
  display: flex;
  gap: 3px;
  border: 1px solid var(--atelier-line);
  padding: 4px;
  border-radius: 30px;
  background: var(--atelier-soft);
}
.segmented button,
.map-rotation button,
.area-choices button {
  background: transparent;
  color: var(--atelier-muted);
  border: 0;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
}
.segmented button {
  padding: 10px 17px;
  border-radius: 24px;
}
.segmented button[aria-pressed="true"] {
  color: var(--atelier-ink);
  background: var(--atelier-panel);
  box-shadow: 0 2px 6px #00000012;
}
.map-rotation {
  display: flex;
  gap: 6px;
}
.map-rotation button {
  width: 38px;
  height: 38px;
  border: 1px solid var(--atelier-line);
  border-radius: 50%;
  font-size: 20px;
}
.area-choices {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  padding: 0 26px;
  position: relative;
  z-index: 3;
}
.area-choices button {
  padding: 8px 12px;
  border: 1px solid var(--atelier-line);
  border-radius: 20px;
}
.area-choices button[aria-pressed="true"] {
  color: var(--atelier-ink);
  border-color: var(--atelier-accent);
  background: var(--atelier-soft);
}
.map-caption {
  font-size: 11px;
  line-height: 1.6;
  color: var(--atelier-muted);
  padding: 4px 28px 20px;
  max-width: 480px;
}
.configuration-panel {
  padding: 30px;
  border-radius: 30px;
  border: 1px solid var(--atelier-line);
  background: var(--atelier-panel);
  box-shadow: inset 0 1px 0 #ffffff12;
}
.configuration-panel h2 {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.035em;
  margin: 14px 0 26px;
}
.builder-start {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.builder-start label,
.inquiry-form label {
  display: grid;
  gap: 9px;
  font-size: 12px;
  color: var(--atelier-muted);
}
.builder-start select,
.inquiry-form input:not([type="checkbox"]):not([type="radio"]),
.inquiry-form textarea,
.inquiry-form select,
.crm-panel input,
.crm-panel select,
.crm-panel textarea {
  width: 100%;
  min-width: 0;
  padding: 13px 12px;
  border: 1px solid var(--atelier-line);
  border-radius: 12px;
  background: var(--atelier-bg);
  color: var(--atelier-ink);
  font: inherit;
  font-size: 14px;
}
.builder-start select {
  min-height: 46px;
}
.service-choices {
  margin: 28px 0 20px;
}
.service-group-title {
  font-size: 10px;
  color: var(--atelier-muted);
  letter-spacing: 0.15em;
  margin: 24px 0 12px;
  text-transform: uppercase;
}
.service-choice {
  padding: 14px 0;
  border-bottom: 1px solid var(--atelier-line);
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: start;
}
.service-choice input {
  accent-color: var(--atelier-ink);
  width: 16px;
  height: 16px;
  margin: 2px 0;
}
.service-choice label {
  font-size: 14px;
  cursor: pointer;
}
.service-choice p {
  font-size: 12px;
  line-height: 1.5;
  color: var(--atelier-muted);
  margin: 5px 0;
}
.service-choice .service-level {
  margin-top: 7px;
  width: 100%;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid var(--atelier-line);
  background: var(--atelier-bg);
  color: var(--atelier-ink);
  font: inherit;
  font-size: 12px;
}
.included-note {
  font-size: 10px;
  letter-spacing: 0.02em;
  color: var(--atelier-muted);
  display: block;
  margin-top: 5px;
}
.service-choice.is-focused {
  background: var(--atelier-soft);
  border-radius: 10px;
  padding-left: 8px;
  padding-right: 8px;
}
.studio-details {
  border-bottom: 1px solid var(--atelier-line);
  padding: 8px 0 22px;
}
.studio-details summary {
  cursor: pointer;
  font-size: 13px;
  color: var(--atelier-ink);
  padding: 10px 0;
}
.studio-details summary span {
  font-size: 11px;
  color: var(--atelier-muted);
  margin-left: 5px;
}
.studio-details[open] .builder-start {
  margin: 16px 0;
}
.studio-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--atelier-muted);
}
.studio-checkbox input {
  flex: 0 0 auto;
  margin-top: 4px;
  accent-color: var(--atelier-ink);
}
.configuration-total {
  padding: 26px 0 8px;
}
.configuration-total > span {
  font-size: 10px;
  letter-spacing: 0.16em;
  color: var(--atelier-muted);
}
.configuration-total h3 {
  font-size: 31px;
  letter-spacing: -0.04em;
  font-weight: 500;
  margin: 10px 0;
}
.configuration-total p,
.configuration-total li {
  font-size: 12px;
  color: var(--atelier-muted);
  line-height: 1.6;
}
.configuration-total ul {
  padding-left: 17px;
}
.alternative-card {
  border: 1px solid var(--atelier-line);
  background: var(--atelier-soft);
  padding: 17px;
  border-radius: 14px;
  margin-bottom: 12px;
  font-size: 13px;
}
.alternative-card p {
  font-size: 12px;
  line-height: 1.6;
  color: var(--atelier-muted);
  margin: 8px 0 14px;
}
.alternative-card button {
  background: var(--atelier-panel);
  border: 1px solid var(--atelier-line);
  border-radius: 8px;
  color: var(--atelier-ink);
  padding: 10px 14px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.studio-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 15px;
  text-align: center;
  margin-top: 22px;
}
.studio-actions .dark-button {
  justify-content: center;
}
.studio-micro {
  font-size: 11px;
  color: var(--atelier-muted);
  line-height: 1.7;
  margin-top: 20px;
}
.studio-status,
[role="status"] {
  line-height: 1.5;
}
.studio-page button:focus-visible,
.contact-page :focus-visible,
.crm-page :focus-visible {
  outline: 2px solid var(--atelier-accent);
  outline-offset: 4px;
}
.contact-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9%;
  max-width: 1230px;
}
.contact-intro {
  padding-top: 20px;
}
.contact-intro > p:not(.eyebrow) {
  font-size: 16px;
  line-height: 1.8;
  color: var(--atelier-muted);
  max-width: 370px;
}
.direct-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 34px 0;
}
.contact-selection {
  margin-top: 44px;
  border-top: 1px solid var(--atelier-line);
  padding-top: 20px;
}
.contact-selection h2 {
  font-size: 20px;
  font-weight: 500;
}
.contact-selection li,
.contact-selection p {
  font-size: 13px;
  color: var(--atelier-muted);
  line-height: 1.7;
}
.inquiry-form,
.inquiry-receipt {
  padding: 32px;
  border-radius: 26px;
  border: 1px solid var(--atelier-line);
  background: var(--atelier-panel);
}
.inquiry-form h2 {
  font-size: 27px;
  letter-spacing: -0.025em;
  font-weight: 500;
  margin: 0 0 28px;
}
.inquiry-form > label {
  margin: 18px 0;
}
.inquiry-form .studio-checkbox {
  display: flex;
  gap: 10px;
}
.inquiry-form fieldset {
  border: 0;
  padding: 10px 0;
  margin: 10px 0;
}
.inquiry-form legend {
  font-size: 12px;
  color: var(--atelier-muted);
  margin-bottom: 12px;
}
.inquiry-form fieldset label {
  display: inline-flex;
  align-items: center;
  margin-right: 22px;
  font-size: 13px;
  gap: 7px;
}
.inquiry-form button {
  width: 100%;
  justify-content: center;
  margin-top: 22px;
}
.honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden;
}
.inquiry-receipt h2 {
  font-size: 32px;
  font-weight: 500;
}
.inquiry-receipt p {
  color: var(--atelier-muted);
  line-height: 1.7;
}
.inquiry-receipt:focus {
  outline: none;
}
.contact-page [hidden],
.studio-page [hidden] {
  display: none !important;
}
.editorial-hero {
  max-width: 850px;
  padding: 25px 0 85px;
}
.editorial-hero > p:not(.eyebrow) {
  max-width: 590px;
  color: var(--atelier-muted);
  line-height: 1.8;
  font-size: 17px;
}
.editorial-hero .studio-actions {
  flex-direction: row;
  align-items: center;
  gap: 24px;
  text-align: left;
}
.editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.editorial-grid article {
  padding: 32px;
  border: 1px solid var(--atelier-line);
  border-radius: 22px;
  background: var(--atelier-panel);
}
.editorial-grid article > span {
  font-size: 11px;
  color: var(--atelier-muted);
}
.editorial-grid h2 {
  font-size: 23px;
  font-weight: 500;
  letter-spacing: -0.03em;
  margin: 35px 0 16px;
}
.editorial-grid p {
  font-size: 14px;
  line-height: 1.8;
  color: var(--atelier-muted);
}
.editorial-note {
  font-size: 12px;
  color: var(--atelier-muted);
  line-height: 1.8;
  max-width: 750px;
  margin: 32px 0;
}
.membership-layout {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 10%;
  align-items: center;
  margin-bottom: 75px;
}
.membership-layout .editorial-hero {
  padding-bottom: 0;
}
.membership-card {
  position: relative;
  aspect-ratio: 1.62;
  border-radius: 24px;
  border: 1px solid #ffffff54;
  background:
    radial-gradient(ellipse at 80% 15%, #bbb9cc45, transparent 70%),
    linear-gradient(120deg, #25252d, #17171f 58%, #35323f);
  box-shadow:
    inset 0 1px 2px #ffffff35,
    0 30px 50px #00000025;
  color: #f5f5f9;
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  transform: rotate(-4deg);
}
.membership-card:before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/assets/ui/surface-grain.svg");
  opacity: 0.13;
  pointer-events: none;
}
.membership-card > span {
  font-size: 11px;
  letter-spacing: 0.2em;
}
.membership-card strong {
  font-size: 26px;
  letter-spacing: -0.035em;
  font-weight: 500;
}
.membership-card small {
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #b9b9c6;
}
.membership-card:after {
  content: "DW";
  position: absolute;
  right: 25px;
  bottom: 18px;
  color: #ffffff08;
  font-size: 120px;
  letter-spacing: -0.08em;
}
.home-studio-link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8%;
  padding: 80px 7vw;
  border-top: 1px solid var(--atelier-line);
}
.home-studio-link h2 {
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 500;
  letter-spacing: -0.045em;
  margin: 14px 0 25px;
}
.home-studio-link p {
  max-width: 450px;
  color: var(--atelier-muted);
  line-height: 1.8;
}
.home-studio-link .studio-actions {
  align-items: flex-start;
}
.home-studio-art {
  border: 1px solid var(--atelier-line);
  border-radius: 28px;
  background:
    radial-gradient(ellipse at 65% 30%, #86849b33, transparent 70%),
    var(--atelier-panel);
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}
.home-studio-art span {
  display: flex;
  justify-content: space-between;
  padding: 18px 0;
  border-bottom: 1px solid var(--atelier-line);
  font-size: 16px;
}
.home-studio-art small {
  color: var(--atelier-muted);
  font-size: 12px;
}
@media (max-width: 1050px) {
  .header nav {
    gap: 17px;
  }
  .header nav a {
    font-size: 11px;
  }
  .studio-layout {
    grid-template-columns: minmax(0, 1fr) minmax(350px, 1fr);
    gap: 20px;
  }
  .configuration-panel {
    padding: 24px;
  }
  .vehicle-canvas {
    height: 320px;
  }
  .contact-page {
    gap: 5%;
  }
  .membership-layout {
    gap: 6%;
  }
}
@media (max-width: 760px) {
  .header {
    flex-wrap: wrap;
    gap: 17px;
    padding: 18px 22px !important;
    min-height: 0;
  }
  .header nav {
    flex: 1;
    justify-content: flex-end;
    gap: 14px;
  }
  .header nav > a:not(.nav-cta) {
    display: none;
  }
  .header nav .nav-cta {
    padding: 11px 16px;
  }
  .appearance-toggle {
    font-size: 11px !important;
  }
  .studio-page,
  .contact-page,
  .editorial-page {
    padding: 42px 22px 62px;
  }
  .studio-heading {
    display: block;
    margin-bottom: 30px;
  }
  .studio-heading > p {
    margin-top: 23px;
    font-size: 14px;
  }
  .studio-layout {
    display: flex;
    flex-direction: column;
  }
  .vehicle-studio {
    position: relative;
    top: auto;
    width: 100%;
    border-radius: 24px;
  }
  .vehicle-canvas {
    height: 290px;
  }
  .configuration-panel {
    width: 100%;
    border-radius: 24px;
    padding: 24px;
  }
  .studio-topline {
    padding: 23px 22px 0;
  }
  .studio-heading h1,
  .contact-intro h1,
  .editorial-hero h1 {
    font-size: 48px;
  }
  .contact-page {
    display: block;
  }
  .contact-intro {
    padding-top: 0;
    margin-bottom: 38px;
  }
  .inquiry-form,
  .inquiry-receipt {
    padding: 24px;
  }
  .atelier-footer {
    grid-template-columns: 1fr 1fr;
    padding: 44px 24px;
    gap: 36px 22px;
  }
  .atelier-footer > div:first-child {
    grid-column: 1/-1;
  }
  .atelier-footer .footer-phone {
    font-size: 14px;
  }
  .editorial-hero {
    padding: 5px 0 40px;
  }
  .editorial-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .editorial-grid article {
    padding: 27px;
  }
  .editorial-grid h2 {
    margin-top: 20px;
  }
  .membership-layout {
    display: flex;
    flex-direction: column;
    gap: 42px;
    margin-bottom: 45px;
  }
  .membership-card {
    width: min(100%, 400px);
    margin: 12px 0;
  }
  .home-studio-link {
    grid-template-columns: 1fr;
    padding: 50px 24px;
    gap: 32px;
  }
  .home-studio-art {
    padding: 24px;
  }
  .builder-start {
    gap: 10px;
  }
  .builder-start select {
    font-size: 13px;
  }
  .map-toolbar {
    margin-left: 22px;
    margin-right: 22px;
  }
  .area-choices {
    padding: 0 22px;
  }
  .header .wordmark {
    font-size: 12px;
  }
  .map-caption {
    padding-left: 22px;
  }
  .editorial-hero .studio-actions {
    flex-wrap: wrap;
  }
}
@media (prefers-reduced-motion: reduce) {
  .membership-card {
    transform: none;
  }
}
.contact-large-link {
  display: block;
  color: var(--atelier-ink);
  font-size: clamp(24px, 3vw, 34px);
  letter-spacing: -0.035em;
  margin: 36px 0 18px;
}
.contact-large-link span {
  font-size: 22px;
  color: var(--atelier-muted);
}
.contact-intro > .text-button {
  display: inline-block;
}
.form-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin: 18px 0;
}
.inquiry-form .studio-checkbox {
  margin-top: 22px;
}
.inquiry-form small {
  font-size: 10px;
  color: var(--atelier-muted);
}
.inquiry-form [hidden] {
  display: none;
}
.inquiry-form[hidden] {
  display: none;
}
.inquiry-panel {
  min-width: 0;
}
@media (max-width: 400px) {
  .form-pair {
    grid-template-columns: 1fr;
  }
}
.home-collection-explore {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--atelier-line);
  font-size: 13px;
  color: inherit;
}
.collection-next {
  padding: 5px 7vw 75px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 25px;
}
.collection-next p {
  color: var(--atelier-muted);
  font-size: 15px;
}
.collection-next a {
  font-size: 13px;
}
#packages .package-price {
  line-height: 1.6;
}
.header nav .theme-toggle {
  white-space: nowrap;
}
@media (max-width: 760px) {
  .header nav .theme-toggle {
    font-size: 10px;
    padding: 9px 12px;
  }
  .collection-next {
    padding: 0 24px 50px;
    display: grid;
    gap: 18px;
  }
}
.business-hero {
  position: relative;
  max-width: none;
  padding: 35px 0 80px;
  isolation: isolate;
}
.business-hero h1 {
  max-width: 820px;
}
.business-hero:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -40px -3vw -5px;
  background: radial-gradient(ellipse at 87% 35%, #9b9ba622, transparent 47%);
  border-radius: 30px;
}
.business-watermark {
  position: absolute;
  right: 0;
  bottom: 15%;
  font-size: clamp(120px, 22vw, 300px);
  letter-spacing: -0.09em;
  font-weight: 500;
  color: var(--atelier-ink);
  opacity: 0.035;
  z-index: -1;
}
.business-hero .text-button,
.membership-hero .text-button {
  display: inline-flex;
  margin: 24px;
}
.business-note {
  margin: 60px 0 15px;
}
.business-note h2 {
  font-size: 32px;
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: -0.03em;
  color: var(--atelier-ink);
}
.business-note p {
  font-size: 15px;
}
.membership-card > div:last-child {
  display: flex;
  justify-content: space-between;
  font-size: 9px;
  letter-spacing: 0.08em;
  gap: 12px;
  color: #b9b9c6;
}
.mobile-menu-button,
.mobile-navigation {
  display: none;
}
.header {
  position: relative;
}
.mobile-navigation[hidden] {
  display: none !important;
}
@media (max-width: 760px) {
  .mobile-menu-button {
    display: block;
    background: transparent;
    border: 1px solid var(--atelier-line);
    border-radius: 24px;
    padding: 10px 12px;
    color: var(--atelier-ink);
    font: inherit;
    font-size: 11px;
    cursor: pointer;
  }
  .header .mobile-navigation:not([hidden]) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: absolute;
    right: 22px;
    top: calc(100% - 5px);
    padding: 14px;
    width: 230px;
    z-index: 100;
    border: 1px solid var(--atelier-line);
    border-radius: 18px;
    background: var(--atelier-bg);
    box-shadow: 0 20px 60px #0006;
  }
  .header .mobile-navigation a {
    display: block !important;
    padding: 12px;
    font-size: 13px;
  }
  .header nav {
    gap: 8px;
  }
  .business-hero {
    padding: 15px 0 55px;
  }
  .membership-hero .text-button {
    margin: 22px 0 0;
    display: block;
  }
}
@media (max-width: 420px) {
  .header nav > .nav-cta {
    display: none;
  }
}
.vehicle-studio:has([data-unavailable]) .map-toolbar {
  display: none;
}
.vehicle-studio:has([data-unavailable]) .map-placeholder {
  padding: 28px;
  line-height: 1.7;
}
/* Let the header size to its controls; old fixed heights clipped the phone layout. */
.header{height:auto;min-height:84px}
@media(max-width:760px){.header{height:auto;min-height:76px}}
@media(max-width:420px){.header nav>a.nav-cta{display:none}}

/* Customer words stay static, readable and linked to their original source. */
.customer-voices {
  padding: 76px 7vw;
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr;
  gap: 24px;
  align-items: stretch;
  border-bottom: 1px solid var(--atelier-line);
}
.voices-intro { padding: 8px 18px 8px 0; }
.voices-intro h2 {
  font-size: clamp(32px, 3.6vw, 50px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.045em;
  margin: 14px 0 24px;
}
.voices-rating { display: grid; gap: 7px; margin: 0 0 22px; }
.voices-rating strong { font-size: 30px; font-weight: 500; letter-spacing: -.04em; }
.voices-rating strong span { font-size: 17px; color: var(--atelier-muted); }
.voices-rating > span { color: var(--atelier-muted); font-size: 13px; line-height: 1.5; }
.voices-intro .text-button { font-size: 13px; line-height: 1.7; }
.voices-date { color: var(--atelier-muted); font-size: 11px; line-height: 1.6; margin: 12px 0 0; }
.voice-card {
  margin: 0;
  padding: 30px;
  min-width: 0;
  border: 1px solid var(--atelier-line);
  border-radius: 24px;
  background: linear-gradient(140deg, var(--atelier-soft), transparent 65%), var(--atelier-panel);
  display: flex;
  flex-direction: column;
}
.voice-mark { font-family: Georgia, serif; font-size: 60px; line-height: 1; color: var(--atelier-muted); }
.voice-card blockquote { margin: 8px 0 32px; }
.voice-card blockquote p { margin: 0; font-size: clamp(21px, 2vw, 27px); line-height: 1.4; letter-spacing: -.025em; }
.voice-card figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.voice-initial { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 auto; border: 1px solid var(--atelier-line); border-radius: 50%; background: var(--atelier-soft); font-size: 14px; }
.voice-card figcaption strong { display: block; font-size: 13px; font-weight: 500; }
.voice-card figcaption small { display: block; font-size: 11px; line-height: 1.6; color: var(--atelier-muted); margin-top: 4px; }
.customer-voices a:focus-visible { outline: 2px solid var(--atelier-ink); outline-offset: 5px; }
@media (max-width: 1000px) {
  .customer-voices { grid-template-columns: 1fr 1fr; }
  .voices-intro { grid-column: 1 / -1; padding: 0 0 8px; }
  .voices-intro h2 br { display: none; }
}
@media (max-width: 600px) {
  .customer-voices { padding: 48px 24px; grid-template-columns: 1fr; gap: 16px; }
  .voices-intro { padding-bottom: 14px; }
  .voice-card { padding: 25px; }
  .voice-card blockquote { margin-bottom: 26px; }
}

/* seo.css */
/* Readable service information, using the site's existing material palette. */
.seo-local,.seo-package-inclusions{padding:72px max(5vw,24px);border-top:1px solid var(--atelier-line)}
.seo-local>p,.seo-package-inclusions>p{max-width:760px}
.seo-local h2,.seo-package-inclusions h2{font-size:clamp(28px,3.4vw,44px);font-weight:500;letter-spacing:-.04em;line-height:1.12;max-width:780px}
.seo-local p,.seo-package-inclusions p,.seo-service-page p,.seo-service-page li,.seo-package-inclusions li{color:var(--atelier-muted);font-size:16px;line-height:1.75}
.seo-service-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin:28px 0;font-size:14px}
.seo-service-links a,.seo-reading a,.seo-faq a{text-decoration:underline;text-underline-offset:4px}
.seo-faq{max-width:860px;margin-top:48px}
.seo-faq h3{font-size:24px;font-weight:500}
.seo-faq details{border-bottom:1px solid var(--atelier-line);padding:20px 0}
.seo-faq summary{cursor:pointer;font-size:17px;line-height:1.5}
.seo-faq p{margin-bottom:4px}
.seo-collection-title{font-size:clamp(32px,4vw,56px);letter-spacing:-.05em;font-weight:500;line-height:1.08;margin:14px 0}
.seo-package-detail{max-width:1120px;border-top:1px solid var(--atelier-line);padding:32px 0;margin-top:32px}
.seo-package-detail h3{font-size:28px;font-weight:500;margin:0 0 16px}
.seo-package-detail h4{font-weight:500;font-size:17px;margin:12px 0}
.seo-service-page{max-width:1240px;margin:auto;padding:32px max(5vw,24px) 80px}
.seo-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--atelier-muted);line-height:1.6}
.seo-service-hero{padding:56px 0 68px;max-width:820px}
.seo-service-hero h1{font-size:clamp(44px,6vw,80px);line-height:1.04;letter-spacing:-.06em;font-weight:500;margin:20px 0}
.seo-service-hero .seo-lead{font-size:22px;color:var(--atelier-ink)}
.seo-service-hero .studio-actions{display:flex;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:30px}
.seo-service-hero .studio-actions a{width:auto}
.seo-service-hero .studio-actions .text-button{border:0;padding:14px 0}
.seo-service-page h2{font-size:clamp(26px,3vw,36px);font-weight:500;letter-spacing:-.04em;line-height:1.2}
.seo-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:30px}
.seo-service-card{padding:32px;border:1px solid var(--atelier-line);border-radius:26px;background:var(--atelier-panel);box-shadow:inset 0 1px 0 #ffffff12}
.seo-service-card h3{font-size:25px;font-weight:500;letter-spacing:-.03em}
.seo-service-card .seo-price{font-size:32px;color:var(--atelier-ink);margin:18px 0}
.seo-service-card .seo-note{font-size:14px}
.seo-service-card ul,.seo-package-detail ul{padding-left:20px}
.seo-reading{max-width:800px;margin-top:64px}
.seo-reading h2{margin-top:44px}
@media(max-width:700px){.seo-service-grid{grid-template-columns:1fr;gap:20px}.seo-local,.seo-package-inclusions{padding:48px 24px}.seo-service-hero{padding:36px 0 44px}.seo-service-card{padding:24px}.seo-service-links{flex-direction:column;align-items:flex-start}.seo-service-page{padding:26px 24px 64px}.seo-local h2{max-width:100%}}
.seo-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}.seo-city-grid a{padding:26px;border:1px solid var(--atelier-line);border-radius:22px;background:var(--atelier-panel);transition:border-color .2s,transform .2s}.seo-city-grid a:hover{border-color:var(--atelier-muted);transform:translateY(-2px)}.seo-city-grid span{display:block;font-size:23px;letter-spacing:-.03em}.seo-city-grid small{display:block;margin-top:14px;line-height:1.6;color:var(--atelier-muted)}.seo-review-card{display:flex;gap:32px;align-items:center;padding:32px;border:1px solid var(--atelier-line);border-radius:26px;margin-bottom:60px}.seo-review-card img{background:white;border-radius:12px;flex:none}.seo-review-card p{max-width:480px}@media(max-width:700px){.seo-city-grid{grid-template-columns:1fr}.seo-review-card{flex-direction:column;align-items:flex-start;padding:24px}}

/* collection.css */
/* Service Collection: a paper-first editorial system, drawn from the DW service PDF.
   Loaded last so original application markup and behavior remain intact. */
:root,html[data-theme],html[data-care]{color-scheme:light;--paper:#fcfcfa;--ink:#171717;--muted:#62625f;--accent:#deded8;--radius:14px;--atelier-bg:#fcfcfa;--atelier-panel:#f1f1ee;--atelier-ink:#171717;--atelier-muted:#62625f;--atelier-line:#cbcbc5;--atelier-soft:#f1f1ee;--atelier-accent:#171717;--care-accent:#171717;--care-ink:#171717;--care-muted:#62625f;--care-border:#c6c6bf;--care-bg:#f1f1ee;font-family:'Courier New',Courier,monospace;background:#fcfcfa;color:#171717}
html body{background:#fcfcfa;color:#171717;font:15px/1.65 'Courier New',Courier,monospace;overflow-x:hidden}
body :is(h1,h2,h3,h4,p,span,a,button,input,select,textarea,strong,small,summary,label,legend){font-family:inherit}
body :is(h1,h2,h3){font-weight:400;letter-spacing:-.035em;color:#171717;text-wrap:balance}
body h1{font-size:clamp(34px,4.8vw,64px);line-height:1.13;max-width:none}body h2{font-size:clamp(28px,3.4vw,46px);line-height:1.2}body h3{font-size:27px;line-height:1.25}
body .eyebrow{font-size:11px;letter-spacing:.08em;font-weight:400;color:#55554f;margin-bottom:20px}
body :is(p,li){line-height:1.65}body a:hover{text-decoration:underline;text-underline-offset:5px}body img{max-width:100%}
body .header{position:relative;top:auto;height:126px;max-width:1400px;margin:auto;padding:25px 5%;background:#fcfcfa!important;color:#171717!important;border:0;box-shadow:none;backdrop-filter:none;z-index:30}
body .wordmark{display:block;flex:0 0 auto;background:none;color:#171717;font-size:16px;letter-spacing:0;text-decoration:none;width:180px;filter:none}
body .wordmark img{display:block;width:180px;height:auto;max-height:78px;object-fit:contain;mix-blend-mode:multiply}
body .header nav{gap:26px;font-size:12px;letter-spacing:0}body .header nav>a{color:#171717!important;opacity:1}
body :is(.nav-cta,.light-button,.dark-button,.call-button,.contact-action){background:#171717!important;color:#fcfcfa!important;border:1px solid #171717!important;border-radius:5px;box-shadow:none!important;text-shadow:none;font-size:12px;letter-spacing:0;min-height:46px;padding:13px 19px;font-weight:400}
body .dark-button{width:auto;gap:30px}body :is(.light-button,.call-button){background:transparent!important;color:#171717!important}
body :is(.text-button,.home-collection-explore,.obsidian-explore){font-size:12px;color:#171717!important;white-space:normal;background:transparent;box-shadow:none;border-color:#a9a9a1}
body :is(button,input,select,textarea):focus-visible,body a:focus-visible{outline:2px solid #171717;outline-offset:5px}
body .skip-link{position:fixed;left:20px;top:-100px;background:#171717;color:white;padding:12px 20px;z-index:100}body .skip-link:focus{top:12px}
body .mobile-menu-button{display:none;background:transparent;color:#171717;border:1px solid #aaa;padding:10px 14px;min-height:44px;font:inherit}
body .mobile-navigation{position:absolute;display:grid;right:5%;left:5%;top:100%;padding:24px;background:#fcfcfa;border:1px solid #bdbdb6;border-radius:8px;box-shadow:0 16px 24px #0001;gap:0;z-index:40}
body .mobile-navigation a{display:block;padding:13px 4px;color:#171717;border-bottom:1px solid #ddd}
body .collection-hero,body .packages,body .collection-upgrades,body .collection-studio,body .approach{max-width:1400px;margin:auto;padding:55px 5%}
body .collection-hero{padding-top:22px}.collection-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #bdbdb6;padding-top:16px;color:#55554f;font-size:10px;letter-spacing:.05em}
.collection-title{display:grid;grid-template-columns:1.45fr 1fr;gap:70px;align-items:end;padding:58px 0 42px}.collection-title h1{margin:0}.collection-title .eyebrow{margin-bottom:20px}.collection-intro{max-width:390px;justify-self:end}.collection-intro p{font-size:14px;margin:0 0 24px}
.collection-cover{margin:0;position:relative;border-radius:14px;overflow:hidden;background:#e9e9e6}.collection-cover img{display:block;width:100%;height:320px;object-fit:cover;object-position:center 53%;filter:grayscale(1)}.collection-cover figcaption{display:flex;justify-content:space-between;gap:15px;background:#f0f0ed;padding:15px 20px;font-size:10px;letter-spacing:.04em}
body .section-heading{margin-bottom:30px;align-items:end;gap:30px}.section-heading>p{font-size:13px;margin:0;color:#62625f}
body .package-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;overflow:visible}
body .package-card{height:auto;min-height:0;display:flex;gap:22px;justify-content:flex-start;background:#f0f0ed!important;border:0;border-radius:16px;padding:25px;isolation:auto;color:#171717!important;box-shadow:none;transform:none}
body .package-card:before,body .package-card:after{display:none}body .package-card .card-heading{font-size:11px;color:#62625f}.collection-card-image{display:block;width:100%;height:150px;object-fit:cover;border-radius:10px;filter:grayscale(1)}body .card-bottom{position:static;padding:0;background:none}body .card-bottom h3{font-size:29px;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 16px;padding-bottom:15px;border-bottom:1px solid #bcbcb5}body .card-bottom p{font-size:13px;color:#171717;margin:0 0 18px;min-height:0}.card-bottom a{display:inline-block}body .card-bottom .package-price{font-size:11px;line-height:1.7;color:#62625f;margin-top:18px}body .swipe-note{display:none}
.upgrade-links{display:grid;grid-template-columns:1fr 1fr;gap:14px}.upgrade-links a{display:flex;align-items:center;gap:20px;background:#f0f0ed;padding:24px;border-radius:12px;font-size:13px}.upgrade-links small{font-size:10px;color:#62625f}.upgrade-links a>span:last-child{margin-left:auto}
body .collection-studio{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:35px;border-top:1px solid #c9c9c2;border-bottom:1px solid #c9c9c2;padding-top:65px;padding-bottom:65px}.collection-studio>div>p:not(.eyebrow){font-size:14px;max-width:450px;margin:24px 0}.collection-index{align-self:center}.collection-index a{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid #c9c9c2;font-size:12px}.collection-index span{flex:1}
body .approach{padding-top:75px;padding-bottom:85px}body .steps{gap:38px;margin-top:35px}body .steps>div{border-color:#bcbcb5}body .steps span{font-size:11px;color:#62625f}body .steps p{font-size:14px}
body .atelier-footer{display:grid;grid-template-columns:1fr 1fr 1fr;max-width:1260px;margin:0 auto;padding:45px 0 55px;background:transparent;border-top:1px solid #bcbcb5;gap:50px;font-size:12px;color:#171717}body .atelier-footer p{font-size:11px;color:#62625f}.atelier-footer .footer-links{gap:12px}body .atelier-footer a{color:#171717}body .footer-phone{font-size:13px}.atelier-footer .wordmark img{width:150px}
/* Keep existing form controls and state hooks; make their surfaces match the collection. */
body :is(.studio-page,.contact-page,.editorial-page){max-width:1400px;padding:55px 5% 80px}body :is(.studio-heading,.contact-heading,.editorial-heading) h1{font-size:clamp(32px,4vw,54px)}
body :is(.studio-heading,.contact-heading) p{color:#62625f}.collection-scope-note{font-size:12px;background:#f0f0ed;padding:18px 22px;border-radius:8px;margin:0 0 30px}.collection-scope-note a{text-decoration:underline}
body .estimate-page{max-width:1400px;margin:auto;padding:50px 5% 80px;gap:6%;grid-template-columns:1fr 1.15fr}body .estimate-panel{max-width:none;padding:35px;background:#f1f1ee!important;border:1px solid #e1e1db;border-radius:15px;box-shadow:none!important;color:#171717}body .estimate-panel h2{font-size:30px;color:#171717}body .estimate-intro{color:#171717}body .estimate-intro h1{font-size:38px}body .estimate-intro p{color:#62625f}
body .signature-identity{border:0;border-radius:12px;background:#ededE8!important;color:#171717!important;box-shadow:none!important;padding:30px;min-height:0;overflow:hidden}body .signature-identity:before,body .signature-identity:after,body .signature-title:after{display:none}body .signature-identity *{color:#171717!important;text-shadow:none!important}body .signature-title strong{font-size:40px;font-weight:400;letter-spacing:-.025em}body .signature-title strong span:nth-child(2){font-size:17px;margin-top:12px}body .signature-title b{font-size:28px;font-weight:400;opacity:.5}body .signature-kicker{font-size:9px}.signature-track{display:none!important}body .signature-identity>p{font-size:12px;margin-bottom:0}
body :is(.care-switcher,.identity-care,.selection-context){color:#171717}body .care-switcher :is(a,button){color:#171717!important;background:#f4f4f0!important;border:1px solid #c9c9c2!important;box-shadow:none!important}body .care-switcher :is(a,button)[aria-pressed=true],body .care-switcher a[aria-current]{color:#fff!important;background:#171717!important}
body :is(input,select,textarea){background:#fcfcfa!important;color:#171717!important;border:1px solid #b7b7ae!important;box-shadow:none!important;border-radius:5px;font-size:16px;accent-color:#171717}body input[type=checkbox],body input[type=radio]{accent-color:#171717}
body :is(.package-options,.vehicle-options) label{background:#fcfcfa!important;color:#171717;border-color:#c9c9c2!important}body :is(.package-options,.vehicle-options) label:has(input:checked){background:#e6e6df!important;border-color:#171717!important}body .package-options small,body .vehicle-options small{color:#62625f!important}
body :is(.estimate-result,.preview-note,.care-description,.configuration-total){background:#e9e9e3!important;color:#171717!important;border-color:#c9c9c2!important;box-shadow:none}body :is(.flow-heading,.flow-progress,.progress-dial,.field-note,.studio-micro,.contact-footnote,.contact-lead){color:#62625f}body .flow-progress{background:#ddd!important}body #flow-progress-fill{background:#171717!important}body .dial-fill{stroke:#171717!important}body .dial-track{stroke:#d3d3ca!important}
body :is(.vehicle-studio,.configuration-panel,.contact-card,.contact-form,.editorial-card,.service-card,.maintenance-card,.business-card){background:#f1f1ee!important;color:#171717!important;border:1px solid #e1e1db!important;box-shadow:none!important;border-radius:14px}
body :is(.vehicle-canvas,.map-placeholder){background:#e9e9e4!important;color:#171717!important}body .map-placeholder span,body .map-placeholder p{color:#62625f}body :is(.area-choices,.map-toolbar,.service-choices,.builder-start,.studio-details){color:#171717}body :is(.area-choices,.map-toolbar,.service-choices) button{background:#fcfcfa!important;color:#171717!important;border-color:#b7b7ae!important;box-shadow:none!important}body :is(.area-choices,.service-choices) button[aria-pressed=true]{background:#171717!important;color:white!important}
body :is(.service-choice,.service-option,.configuration-alternative,.studio-details){background:#fcfcfa!important;border-color:#c9c9c2!important;color:#171717}body :is(.contact-action,.contact-number,.personal-care-details,.obsidian-fee,.contact-invitation){color:#171717}body .contact-action svg{stroke:currentColor}body :is(.contact-lead,.personal-care-details p,.contact-number span){color:#62625f!important}body .obsidian-contact-layout:before,body .obsidian-contact-layout:after{display:none}
body dialog{background:#fcfcfa!important;color:#171717!important;border:1px solid #c9c9c2;border-radius:14px;box-shadow:0 20px 80px #0002}body dialog .close{color:#171717!important}body dialog p,body dialog li{font-size:14px;color:#171717}body .detail-prices div{background:#f1f1ee;color:#171717}body .dialog-footer{background:#f1f1ee!important;color:#171717!important}
@media(max-width:1000px){body .header nav{gap:16px}.collection-title{gap:35px}.collection-title h1{font-size:46px}body .atelier-footer{margin:0 5%;gap:25px}body .package-card{padding:20px}body .collection-studio{gap:40px}body .studio-layout{grid-template-columns:1fr 1fr}}
@media(max-width:760px){body .header{height:104px;padding:20px 6%}body .wordmark,body .wordmark img{width:145px}body .header nav>a{display:none!important}body .header nav{gap:0}body .mobile-menu-button{display:block}body .collection-hero,body .packages,body .collection-upgrades,body .collection-studio,body .approach{padding:35px 6%}.collection-meta{font-size:9px;align-items:start;gap:25px}.collection-meta span:last-child{text-align:right;max-width:135px}.collection-title{display:block;padding:35px 0 30px}.collection-title h1{font-size:clamp(31px,8vw,46px)}.collection-title .eyebrow{font-size:10px}.collection-intro{margin-top:25px;max-width:none}.collection-intro p{max-width:440px;font-size:13px}.collection-cover img{height:220px}.collection-cover figcaption{font-size:8px;gap:12px;padding:13px}.collection-cover figcaption span:last-child{text-align:right}body .section-heading{padding:0;display:block;margin-bottom:25px}body .section-heading .text-button{display:inline-block;margin-top:16px}body .section-heading>p{margin-top:20px}body .package-track{display:grid;grid-template-columns:1fr;gap:18px}body .package-card{padding:25px;gap:20px}.collection-card-image{height:170px}body .card-bottom h3{font-size:28px}body .card-bottom p{font-size:14px}.upgrade-links{grid-template-columns:1fr;gap:12px}.upgrade-links a{padding:20px;font-size:12px;gap:17px}body .collection-studio{display:block;margin-top:10px;padding-top:45px;padding-bottom:45px}.collection-index{margin-top:30px}body .steps{grid-template-columns:1fr;gap:20px}body .steps p{max-width:none}body .atelier-footer{display:grid;grid-template-columns:1fr;margin:0 6%;padding:35px 0;gap:28px}.atelier-footer .footer-links{grid-template-columns:1fr 1fr;gap:14px;font-size:11px}body .studio-page,body .contact-page,body .editorial-page{padding:35px 6% 60px}body .studio-heading{display:block}body .studio-heading h1{font-size:34px}body .studio-layout{display:block}body .configuration-panel{margin-top:20px}body .estimate-page{display:block;padding:30px 6% 60px}body .estimate-intro{margin-bottom:30px}body .estimate-panel{padding:25px 20px}body .estimate-panel h2{font-size:25px}body .signature-title strong{font-size:34px}body .signature-identity{padding:25px}body .estimate-intro h1{font-size:32px}.collection-scope-note{font-size:11px}body .package-options strong{flex-wrap:wrap}body .contact-grid{grid-template-columns:1fr}body .obsidian-contact-layout{display:block}body .contact-heading{display:flex}body .obsidian-contact-panel h2{font-size:32px}body .obsidian-contact-panel{padding:25px 20px}body .builder-start{gap:12px}body .builder-start label{min-width:0}body .configuration-total h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
body :is(.seo-local,.seo-package-inclusions){max-width:1260px;margin:0 auto;padding:50px 0 65px;border-top:1px solid #c9c9c2;background:transparent;color:#171717}body :is(.seo-local,.seo-package-inclusions) p{font-size:13px;color:#62625f}body .seo-service-page{max-width:1400px;margin:auto;padding:40px 5% 70px}body .seo-package-detail,body .seo-service-card,body .seo-review-card,body .seo-city-grid a{background:#f0f0ed;color:#171717;border-color:#c9c9c2;border-radius:12px;box-shadow:none}body .seo-package-detail{padding:25px;margin:20px 0}body .seo-service-grid h4{font-weight:400}body .seo-service-grid li{font-size:13px}.seo-faq summary{font-weight:400;color:#171717}body .seo-note{color:#62625f}
@media(max-width:760px){body :is(.seo-local,.seo-package-inclusions){padding:35px 0 45px;margin:0 6%}body .seo-service-grid{grid-template-columns:1fr}body .seo-service-page{padding:35px 6% 60px}}
body .customer-voices{max-width:1260px;margin:0 auto;padding:50px 0 65px;background:transparent;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;border-top:1px solid #c9c9c2;color:#171717}body .voices-intro h2{font-size:34px}body .voices-rating{color:#171717}body .voices-rating strong{font-size:29px;font-weight:400}body .voices-rating span,body .voices-date{color:#62625f;font-size:11px}body .voice-card{background:#f0f0ed!important;padding:25px;border:0;border-radius:14px;color:#171717!important;box-shadow:none;margin:0}body .voice-card blockquote p{color:#171717;font-size:17px;font-weight:400;letter-spacing:0}body .voice-card figcaption,body .voice-card small{color:#62625f}body .voice-mark{color:#62625f}body .voice-initial{background:#e3e3dc;color:#171717}
@media(max-width:760px){body .customer-voices{display:block;margin:0 6%;padding:35px 0 45px}body .voice-card{margin-top:20px}}
html[data-theme][data-care]{--paper:#fcfcfa;--ink:#171717;--muted:#62625f;--care-bg:#fcfcfa;--care-surface:#f1f1ee;--care-soft:#ededE8;--care-border:#c6c6bf;--care-accent:#171717;--care-button:#171717;--care-button-ink:#fcfcfa;--dial-color:#171717;--contact-detail:#62625f;--contact-rule:#c6c6bf}
html body:before,html body:after{display:none!important}body .membership-card{background:#ededE8;color:#171717;border:1px solid #c9c9c2;box-shadow:none;transform:none}body .membership-card small,body .membership-card>div:last-child{color:#62625f}body .membership-card:after{color:#1717170a}body .membership-card:before{display:none}
body .header nav>a.nav-cta{color:#fcfcfa!important}
html[data-theme][data-care] body{background:#fcfcfa!important;color:#171717}

/* Proposal: a direct vehicle-to-estimate entry, preserving the white design. */
body .collection-title{padding-top:38px;padding-bottom:28px}
body .quick-estimate{padding:28px;background:#f0f0eb;border:1px solid #d1d1c7;border-radius:14px;margin:0 0 28px}
.quick-estimate-heading{display:flex;align-items:end;justify-content:space-between;gap:28px}.quick-estimate-heading h2{font-size:29px}.quick-estimate-heading .eyebrow{margin-bottom:10px}.quick-estimate-heading>p{font-size:11px;color:#62625f;margin:0}
.quick-estimate-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.quick-estimate-fields label{font-size:12px;margin:23px 0}.quick-estimate-fields select{min-width:0;max-width:100%;padding:12px 10px;font-size:14px}
.quick-estimate-result{display:flex;gap:30px;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid #cbcbc0}.quick-estimate-result .eyebrow{display:block;margin:0 0 8px;font-size:10px}.quick-estimate-result strong{display:block;font-size:29px;line-height:1.3;font-weight:400}.quick-estimate-result p{font-size:11px;max-width:440px;color:#62625f;margin:8px 0 0}.quick-estimate-result button{flex-shrink:0;max-width:100%;white-space:normal;text-align:left}
.quick-estimate-footnote{font-size:10px;color:#62625f;margin:20px 0 0}.quick-estimate-footnote a{display:block;color:#171717;text-decoration:underline;margin-top:8px}

@media(max-width:760px){body .collection-title{padding-top:27px;padding-bottom:24px}body .quick-estimate{padding:20px;margin-bottom:22px}.quick-estimate-heading{display:block}.quick-estimate-heading h2{font-size:26px}.quick-estimate-heading>p{margin-top:12px}.quick-estimate-fields{grid-template-columns:1fr;gap:0}.quick-estimate-fields label{margin:15px 0 0}.quick-estimate-fields select{font-size:16px}.quick-estimate-result{display:block;margin-top:20px;padding-top:17px}.quick-estimate-result button{display:flex;width:100%;margin-top:18px;justify-content:space-between;font-size:12px}.quick-estimate-result strong{font-size:28px}.quick-estimate-footnote{font-size:10px}}

/* Readability correction: white paper, opaque dark ink, stronger controls. */
html[data-theme],html[data-theme][data-care],:root{--ink:#111111;--muted:#343434;--atelier-ink:#111111;--atelier-muted:#343434;--care-ink:#111111;--care-muted:#343434;--contact-detail:#343434;--care-border:#777777;--atelier-line:#a0a09a}
html body{color:#111111;-webkit-font-smoothing:auto}
html body :is(h1,h2,h3,h4){color:#111111!important;font-weight:700}
html body :is(p,li,dt,dd,label,legend,summary){color:#222222!important}
html body :is(label,legend){font-weight:700}
html body :is(.eyebrow,.muted,.field-note,.scope-note,.coating-caveat,.collection-pricing-note,.collection-topline,.collection-meta,.collection-card-index,.protection-note,.tile-meta,.upgrade-number,.voices-date,.studio-micro,.contact-footnote,.quick-estimate-footnote,.map-caption,.included-note){color:#343434!important;opacity:1;font-size:13px}
html body :is(.eyebrow,.collection-card-index,.tile-meta){font-weight:700;letter-spacing:.045em}
html body :is(.selection-context,.detail-prices,.package-options,.vehicle-options) :is(span,small){color:#343434!important}
html body :is(.quick-estimate-heading,.quick-estimate-result) p{color:#343434!important;font-size:13px}
html body .quick-estimate-fields label{font-size:14px;font-weight:700}
html body .quick-estimate-result strong{color:#111111;font-weight:700}
html body :is(.card-bottom .package-price,.collection-price,.details-row .price){color:#111111!important;font-size:14px;font-weight:700}
html body :is(.upgrade-row small,.tile-bottom small,.mini-tile .mono,.atelier-footer p,.voices-rating>span,.voice-card small){color:#343434!important;font-size:12px}
html body :is(input,select,textarea){color:#111111!important;background:#ffffff!important;border:1px solid #666666!important;font-weight:500}
html body :is(input,textarea)::placeholder{color:#4a4a4a!important;opacity:1}
html body :is(.package-options,.vehicle-options) label{border:1px solid #777777!important}
html body :is(.package-options,.vehicle-options) label:has(input:checked){border-color:#111111!important;box-shadow:inset 0 0 0 1px #111111}
html body :is(.dark-button,.nav-cta,.contact-action,.button:not(.outline)){background:#111111!important;color:#ffffff!important;border-color:#111111!important;font-size:14px;font-weight:700;text-shadow:none}
html body :is(.dark-button,.nav-cta,.contact-action,.button:not(.outline)) :is(span,small){color:inherit!important}
html body .header nav>a.nav-cta{color:#ffffff!important}
html body :is(.text-button,.button.outline,.call-button,.light-button){color:#111111!important;font-weight:700;border-color:#777777}
html body .signature-title b{opacity:1}
html body .signature-kicker{font-size:12px}


html body .collection-cover figcaption{font-size:12px;color:#343434}
html body .quick-estimate{border-color:#92928b}
html body :is(a,button,input,select,textarea):focus-visible{outline:3px solid #111111!important;outline-offset:3px}
@media(max-width:760px){html body .quick-estimate-fields select{font-size:16px}html body .quick-estimate-result button{font-size:14px}}

/* Editorial refinement: white space, strong rules and an in-flow request action. */
html body .quick-estimate{
  background:transparent;border:0;border-top:3px solid #111111;
  border-bottom:1px solid #a0a09a;border-radius:0;padding:26px 0;
}
html body .quick-estimate-heading h2{font-size:clamp(27px,3vw,34px)}
html body .quick-estimate-result{border-color:#a0a09a}
html body .quick-estimate-result strong{font-size:clamp(28px,3vw,36px);letter-spacing:-.04em}
html body .package-track{margin:0;gap:28px;min-width:0}
html body .package-card{
  min-width:0;background:transparent!important;border:0;border-top:2px solid #111111;
  border-bottom:1px solid #a0a09a;border-radius:0;padding:20px 0 24px;gap:16px;
}
html body .package-card .card-heading{color:#343434;font-size:12px;font-weight:700;letter-spacing:.08em}
html body .collection-card-image{height:clamp(160px,15vw,210px);border-radius:2px}
html body .card-bottom h3{font-size:32px;margin-bottom:14px;padding-bottom:12px;border-color:#a0a09a}
html body .card-bottom p{margin-bottom:14px;line-height:1.6}
html body .card-bottom .package-price{margin:18px 0 14px;line-height:1.6}
html body .card-bottom .text-button{min-height:44px;display:inline-flex;align-items:center}
html body .collection-cover{border-radius:2px}
html body .collection-cover figcaption{background:transparent;border-bottom:1px solid #a0a09a;padding:14px 0}
html body .upgrade-links a{background:transparent;border:1px solid #a0a09a;border-radius:2px}

/* Keep the selected care and price together without a second oversized card. */
html[data-theme] body .estimate-page:not(.obsidian-contact-layout){
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,76px);min-height:0;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout)>.estimate-intro{
  padding:0;top:24px;min-width:0;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-identity{
  background:transparent!important;border:0;border-top:2px solid #111111;
  border-bottom:1px solid #a0a09a;border-radius:0;padding:20px 0;margin:0 0 18px;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-kicker{
  font-size:11px;font-weight:700;letter-spacing:.06em;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-title{margin:15px 0 10px;gap:12px}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-title strong{
  font-size:clamp(32px,3.5vw,42px);font-weight:700;letter-spacing:-.04em;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-title strong [data-care-subtitle]{
  font-size:14px;font-weight:400;margin-top:8px;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-title b{font-size:28px;font-weight:400}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-identity>[data-care-tagline]{margin:0;font-size:13px}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .onyx-recommendation{
  border:0;border-radius:0;padding:0;margin:12px 0 0;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .identity-care{max-width:none;margin:0 0 16px}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .identity-care-label{padding:0;margin:0 0 8px;font-size:12px}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .care-switcher{margin:0}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .care-switcher>div{
  border:0;padding:0;gap:6px;background:transparent;border-radius:0;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .care-switcher button{
  border-radius:2px;min-height:44px;font-weight:700;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) #selection-context{
  background:transparent;border:0;border-top:1px solid #a0a09a;border-radius:0;
  padding:16px 0;margin:0 0 8px;max-width:none;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
html body #selection-context #selection-name{
  display:block;font-size:34px;font-weight:700;line-height:1.15;letter-spacing:-.04em;margin:4px 0;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) #selection-context small{display:block;margin:0;font-size:13px;line-height:1.5}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .estimate-call{margin-top:16px}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .estimate-panel{
  min-width:0;padding:28px;background:#ffffff!important;border:1px solid #a0a09a;
  border-top:3px solid #111111;border-radius:3px;backdrop-filter:none;-webkit-backdrop-filter:none;
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .flow-progress{height:2px;margin:0 0 22px}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .flow-heading{margin-bottom:8px}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .flow-heading .eyebrow{margin:0 0 8px}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) :is(.care-description,.estimate-result,.preview-note){
  background:#fcfcfa!important;border-radius:2px;padding:18px;
}
/* Preserve the live announcement; the selected button already supplies its visible state. */
html body #care-change-status{
  position:absolute!important;width:1px;height:1px;min-height:0;padding:0!important;
  margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;
}

@media(max-width:760px){
  html body .header{height:88px;padding:14px 6%}
  html body .wordmark,html body .wordmark img{width:135px}
  html body .quick-estimate{padding:20px 0;margin-bottom:24px}
  html body .quick-estimate-heading>p{margin-top:10px}
  html body .quick-estimate-fields label{margin-top:14px}
  html body .quick-estimate-result{margin-top:18px}
  html body .package-track{gap:24px}
  html body .package-card{padding:16px 0 20px;gap:14px}
  html body .collection-card-image{height:180px}
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout){padding:18px 6% 48px}
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout)>.estimate-intro{
    position:relative;top:auto;padding:0;margin:0 0 24px;
  }
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout)>.estimate-intro{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:14px 16px;
    border-top:2px solid #111111;padding-top:16px;
  }
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) .signature-identity{
    grid-column:1;grid-row:1;border:0;padding:0;margin:0;min-width:0;
  }
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) .signature-title{margin:8px 0 0}
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) .signature-title strong{font-size:32px}
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) :is(.signature-kicker>span:first-child,.signature-title b,[data-care-subtitle],[data-care-tagline]){display:none}
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) .onyx-recommendation{margin-top:8px}
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) #selection-context{
    grid-column:2;grid-row:1;border:0;border-left:1px solid #a0a09a;padding:0 0 0 16px;margin:0;min-width:0;
  }
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) #selection-context>span{font-size:11px;letter-spacing:.04em}
  html body #selection-context #selection-name{font-size:32px;margin:6px 0}
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) #selection-context small{font-size:12px}
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) .identity-care{grid-column:1/-1;grid-row:2;margin:0}
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) .estimate-intro>.text-button{
    grid-column:1;grid-row:3;display:flex;align-items:center;min-height:44px;margin:0;font-size:12px;line-height:1.5;
  }
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) .estimate-call{grid-column:2;grid-row:3;margin:0}
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .estimate-call p{display:none}
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) .estimate-call .call-button{
    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;
    min-height:44px;padding:0 0 0 16px;border:0!important;border-radius:0;font-size:12px;
  }
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .estimate-panel{padding:20px 16px}
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .flow-progress{margin:0 0 16px}
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .flow-heading h2{font-size:26px}
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .flow-heading .eyebrow{font-size:12px}
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .progress-dial{flex-basis:44px;width:44px;height:44px}
}


/* refined.css */
/* Shared visual system. Application state and pricing stay in their existing modules. */
@font-face {
  font-family: 'DW Sans';
  src: url('/assets/fonts/dm-sans-latin-v17.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root, html[data-theme], html[data-theme][data-care] {
  --font-ui: 'DW Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono: var(--font-ui);
  --paper: #fafaf8;
  --ink: #191a1b;
  --muted: #565958;
  --line: #d9dcd8;
  --card: #f0f2ef;
  --shell: min(1184px, calc(100% - 96px));
  --atelier-line: #d9dcd8;
  --atelier-muted: #565958;
  --care-border: #d9dcd8;
  font-family: var(--font-ui);
}

html { scroll-padding-top: 24px; }
html body, html[data-theme][data-care] body {
  background: #fafaf8 !important;
  font-family: var(--font-ui);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
html body *, html body *::before, html body *::after { box-sizing: border-box; }
html body :is(h1,h2,h3,h4) {
  font-weight: 500 !important;
  letter-spacing: -.045em;
  line-height: 1.12;
  text-transform: none;
}
html body h1 { font-size: clamp(42px, 5.3vw, 72px); }
html body h2 { font-size: clamp(30px, 3.4vw, 46px); }
html body h3 { font-size: 27px; }
html body :is(p,li) { line-height: 1.65; }
html body :is(.eyebrow,.collection-topline,.collection-meta,.collection-card-index,.tile-meta) {
  color: #565958 !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.6;
}
html body .eyebrow { margin: 0 0 18px; }
html body :is(.field-note,.collection-pricing-note,.scope-note,.coating-caveat) {
  color: #565958 !important;
  font-size: 13px;
  font-weight: 400;
}
html body a { text-underline-offset: 4px; }
html body a:hover { text-decoration: none; }
html body :is(a,button,input,select,textarea):focus-visible {
  outline: 2px solid #191a1b !important;
  outline-offset: 4px;
}

/* Navigation and buttons */
html body .header {
  display: flex;
  position: relative;
  width: var(--shell);
  max-width: 1184px;
  height: 96px;
  margin: 0 auto;
  padding: 16px 0;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid #dedfdb;
  background: #fafaf8 !important;
}
html body .wordmark, html body .wordmark img { width: 134px; }
html body .wordmark img { max-height: 54px; }
html body .header nav { display: flex; gap: 30px; align-items: center; }
html body .header nav > a { font-size: 13px; font-weight: 500; text-decoration: none; }
html body .header nav > a:not(.nav-cta):hover { color: #666 !important; }
html body .header nav > a.nav-call {
  display: inline-flex !important;
  min-height: 44px;
  padding: 11px 18px;
  align-items: center;
  border: 1px solid #191a1b;
  border-radius: 8px;
  background: #fff;
  color: #191a1b !important;
  font-weight: 600;
  white-space: nowrap;
}
html body .header nav > a.nav-call:hover { background: #eceee9; color: #191a1b !important; }
@media (max-width: 760px) {
  html body .header nav > a.nav-call { min-height: 40px; padding: 8px 12px; font-size: 12px; }
}
html body :is(.dark-button,.nav-cta,.button:not(.outline),.contact-action) {
  display: inline-flex;
  min-height: 48px;
  padding: 13px 22px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border: 1px solid #191a1b !important;
  border-radius: 8px;
  background: #191a1b !important;
  color: #fff !important;
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  cursor: pointer;
  transition: background .18s, transform .18s;
}
html body :is(.dark-button,.nav-cta,.button:not(.outline),.contact-action):hover {
  background: #353738 !important;
  transform: translateY(-1px);
}
html body :is(.text-button,.call-button,.light-button,.button.outline) {
  min-height: 44px;
  align-items: center;
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
  text-transform: none;
}
html body .text-button { border-color: #b7bcb7; padding: 5px 0; }
html body .mobile-menu-button { border: 1px solid #d9dcd8; border-radius: 8px; font-size: 14px; }
html body .mobile-navigation {
  left: 0;
  right: 0;
  padding: 16px 24px;
  border: 1px solid #d9dcd8;
  border-radius: 12px;
  background: #fafaf8;
  box-shadow: 0 16px 32px #191a1b0d;
}
html body .header .mobile-navigation:not([hidden]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  justify-items: stretch;
  width: 100%;
  max-width: none;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  gap: 0;
  padding: 10px 20px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 16px 32px #191a1b12;
  backdrop-filter: none;
}
html body .header .mobile-navigation a { display: block; width: 100%; padding: 14px 0; border-color: #e4e6e2; font-size: 14px; text-align: left; }

/* Shared homepage and collection layout */
html body :is(.collection-hero,.packages,.collection-upgrades,.collection-studio,.approach) {
  width: var(--shell);
  max-width: 1184px;
  margin: 0 auto;
  padding: 72px 0;
}
html body .collection-hero { padding-top: 40px; padding-bottom: 36px; }
html body .collection-meta { border: 0; padding: 0; font-size: 10px; }
html body .collection-title {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(0,1fr);
  gap: 64px;
  align-items: center;
  padding: 28px 0 48px;
}
html body .collection-title h1 {
  margin: 0 0 26px;
  max-width: 660px;
  font-size: clamp(48px,5.7vw,78px);
  font-weight: 500 !important;
  letter-spacing: -.065em;
  line-height: 1.04;
  text-wrap: initial;
}
html body .collection-title h1 span { color: #747974; }
html body .collection-intro { max-width: 440px; margin: 0; justify-self: start; }
html body .collection-intro > p { margin: 0 0 28px; font-size: 17px; color: #565958 !important; }
.intro-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.intro-reassurance { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 28px; font-size: 12px; color: #565958; }
.intro-reassurance span::before { content: '✓'; margin-right: 7px; color: #191a1b; }
html body .collection-cover { position: relative; margin: 0; border-radius: 18px; min-width: 0; overflow: hidden; }
html body .collection-cover > img { display: block; width: 100%; height: 414px; object-fit: cover; object-position: 62% 50%; filter: none; }
html body .brand-banner { width: var(--shell); max-width: 1184px; margin: 0 auto; padding: 0 0 72px; }
html body .brand-banner a { display: block; }
html body .brand-banner img { display: block; width: 100%; height: auto; border-radius: 12px; }
html body .brand-banner-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
html body .brand-banner-row img { aspect-ratio: 1; object-fit: cover; }
@media (max-width: 760px) {
  html body .brand-banner { padding-bottom: 48px; }
  html body .brand-banner-row { gap: 10px; margin-top: 10px; }
}
html body .collection-cover::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,#101112ba); pointer-events: none; }
html body .collection-cover figcaption {
  display: flex;
  position: absolute;
  z-index: 1;
  inset: auto 28px 26px;
  padding: 0;
  border: 0;
  background: none;
  align-items: end;
  gap: 16px;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0;
}
html body .collection-cover figcaption strong { max-width: 220px; font-size: 27px; font-weight: 400; line-height: 1.2; letter-spacing: -.025em; }
html body .collection-cover figcaption span { color: #fff; font-size: 10px; letter-spacing: .1em; }
html body .quick-estimate {
  margin: 0;
  padding: 30px 32px;
  border: 1px solid #d9dcd8;
  border-radius: 16px;
  background: #fff;
  scroll-margin-top: 24px;
}
html body .quick-estimate-heading { align-items: center; gap: 24px; }
html body .quick-estimate-heading .eyebrow { margin-bottom: 7px; font-size: 10px; }
html body .quick-estimate-heading h2 { margin: 0; font-size: 29px; }
html body .quick-estimate-heading > p { font-size: 12px; line-height: 1.7; color: #565958 !important; }
html body .quick-estimate-fields { gap: 20px; }
html body .quick-estimate-fields label { margin: 24px 0; font-size: 12px; font-weight: 500; }
html body .quick-estimate-fields select { margin-top: 8px; }
html body .quick-estimate-result { padding-top: 22px; border-color: #e4e6e2; gap: 32px; }
html body .quick-estimate-result .eyebrow { font-size: 9px; margin-bottom: 5px; }
html body .quick-estimate-result strong { font-size: 28px; font-weight: 500; letter-spacing: -.045em; }
html body .quick-estimate-result p { max-width: 650px; margin: 8px 0 0; font-size: 12px; line-height: 1.6; color: #565958 !important; }
html body .quick-estimate-footnote { margin: 18px 0 0; font-size: 11px; color: #565958 !important; }
html body .quick-estimate-footnote a { display: inline; margin-left: 8px; }

/* Collections and supporting sections */
html body .section-heading { display: flex; align-items: end; justify-content: space-between; margin: 0 0 32px; padding: 0; border: 0; gap: 32px; }
html body .section-heading h2 { margin: 0; }
html body .section-heading .eyebrow { margin-bottom: 14px; }
html body .section-heading > p { max-width: 310px; font-size: 15px; }
html body .package-track { margin: 0; gap: 20px; }
html body .package-card {
  padding: 22px;
  gap: 20px;
  border: 1px solid #d9dcd8;
  border-radius: 14px;
  background: #fff !important;
  transition: border-color .18s, transform .18s;
}
html body .package-card:hover { transform: translateY(-3px); border-color: #9ca39c; }
html body .package-card.featured-care { background: #f0f2ef !important; border-color: #bdc4bc; }
html body .package-card .card-heading { display: flex; min-height: 24px; justify-content: space-between; align-items: center; gap: 12px; font-size: 10px; font-weight: 500; letter-spacing: .08em; }
.care-badge { display: inline-block; padding: 4px 9px; background: #fff; border-radius: 4px; font-size: 10px; letter-spacing: 0; }
html body .collection-card-image { height: 168px; border-radius: 8px; filter: none; }
html body .card-bottom { display: flex; flex-direction: column; flex: 1; }
html body .card-bottom h3 { margin: 0 0 10px; padding: 0; border: 0; font-size: 30px; text-transform: none; }
html body .card-bottom p { margin: 0 0 20px; font-size: 14px; color: #565958 !important; }
html body .card-bottom .package-price { margin: auto 0 20px; padding: 20px 0 0; border-top: 1px solid #d9dcd8; font-size: 12px; font-weight: 500; color: #191a1b !important; }
html body .card-bottom .text-button { align-self: start; margin: 0; font-size: 13px; }
html body .collection-pricing-note { margin: 20px 0 0; max-width: 960px; font-size: 12px; }
html body .collection-upgrades { padding-top: 32px; }
html body .upgrade-links { gap: 0 40px; }
html body .upgrade-links a { padding: 23px 0; border: 0; border-bottom: 1px solid #d9dcd8; border-radius: 0; background: transparent; font-size: 15px; }
html body .upgrade-links a:hover { color: #565958; }
html body .upgrade-links small { font-size: 11px; }
html body .collection-studio { padding: 44px; gap: 64px; border: 0; border-radius: 18px; background: #eef0ec; }
html body .collection-studio > div > p:not(.eyebrow) { font-size: 15px; }
html body .collection-index a { padding: 21px 0; border-color: #cbd1c9; font-size: 13px; }
html body .approach { padding-top: 88px; padding-bottom: 80px; }
html body .steps { margin: 36px 0 24px; gap: 38px; }
html body .steps > div { border-color: #d9dcd8; }
html body .steps span { font-size: 11px; letter-spacing: .06em; }
html body .steps p { font-size: 15px; color: #565958 !important; }
html body :is(.customer-voices,.seo-local,.seo-package-inclusions) { width: var(--shell); max-width: 1184px; margin: 0 auto; padding: 64px 0; border-color: #d9dcd8; }
html body .customer-voices { gap: 24px; grid-template-columns: 1.1fr 1fr 1fr; }
html body .voices-intro h2 { font-size: 35px; }
html body .voice-card { background: #f0f2ef !important; border-radius: 12px; padding: 28px; }
html body .voice-card blockquote p { font-size: 20px; line-height: 1.45; letter-spacing: -.02em; }
html body .voices-rating strong { font-weight: 500; font-size: 32px; }
html body .seo-local h2 { max-width: 660px; }
html body .seo-local p { max-width: 760px; font-size: 15px; }
html body .seo-faq summary { padding: 18px 0; font-size: 15px; font-weight: 500; }

/* Existing application controls: same actions, calmer visual hierarchy. */
html body :is(input,select,textarea) {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #8a918a !important;
  border-radius: 7px;
  font-family: var(--font-ui);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  transition: border-color .18s;
}
html body :is(input,textarea)::placeholder { color: #656a65 !important; }
html body :is(input[type=checkbox],input[type=radio]) { min-height: 0; flex-shrink: 0; padding: 0; }
html body :is(label,legend) { font-size: 14px; font-weight: 500; }
html body :is(.studio-page,.contact-page,.editorial-page,.seo-service-page) { width: var(--shell); max-width: 1184px; margin: 0 auto; padding: 64px 0 88px; }
html body :is(.studio-heading,.contact-heading,.editorial-heading) h1 { font-size: clamp(40px,4.4vw,60px); }
html body :is(.vehicle-studio,.configuration-panel,.contact-card,.inquiry-form,.editorial-card,.service-card,.maintenance-card,.business-card) { border: 1px solid #d9dcd8 !important; border-radius: 14px; background: #fff !important; }
html body .collection-scope-note { background: #eef0ec; border-radius: 8px; font-size: 13px; line-height: 1.7; }
html body :is(.area-choices,.map-toolbar,.service-choices) button { border-radius: 7px; font-size: 13px; }
html body .configuration-panel { padding: 28px; }
html body .contact-intro h1 { font-size: clamp(40px,4.4vw,58px); }
html body .contact-intro > p:not(.eyebrow) { max-width: 460px; font-size: 16px; }
html body .inquiry-form { padding: 32px; }
html body .inquiry-form h2 { font-size: 29px; }
html body .inquiry-form .form-pair { gap: 18px; }
html body .contact-large-link { font-size: clamp(25px,3vw,36px); letter-spacing: -.04em; }
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) {
  width: var(--shell);
  max-width: 1080px;
  margin: 0 auto;
  padding: 56px 0 88px;
  gap: 72px;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
}
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-identity { padding: 26px; border: 1px solid #d9dcd8; border-radius: 12px; background: #eef0ec !important; }
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-kicker { font-size: 10px; letter-spacing: .12em; }
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-title strong { font-weight: 500; font-size: 42px; }
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .signature-title b { font-size: 24px; opacity: .45; }
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .identity-care-label { font-size: 12px; color: #565958 !important; }
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .care-switcher button { min-height: 42px; border-radius: 6px; font-size: 13px; font-weight: 500; }
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .estimate-panel { padding: 32px; border: 1px solid #d9dcd8; border-radius: 14px; background: #fff !important; }
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .flow-progress { margin: 0 0 28px; border-radius: 2px; }
html body .flow-heading h2 { font-size: 30px; }
html body .flow-heading .eyebrow { font-size: 10px; }
html body .progress-dial { flex-basis: 44px; width: 44px; height: 44px; }
html body :is(.package-options,.vehicle-options) label { border-color: #c3c9c1 !important; border-radius: 8px; }
html body :is(.package-options,.vehicle-options) label:has(input:checked) { background: #eef0ec !important; border-color: #596257 !important; box-shadow: none; }
html[data-theme] body .estimate-page:not(.obsidian-contact-layout) :is(.care-description,.estimate-result,.preview-note) { border-radius: 8px; background: #f3f4f1 !important; }
html body .estimate-actions { margin-top: 28px; }
html body .estimate-actions .dark-button { min-width: 160px; }
html body dialog { border-color: #d9dcd8; border-radius: 16px; }
html body dialog .close { min-width: 40px; min-height: 40px; }

/* Direct contact uses the same compact care summary as the estimate. */
html body .obsidian-contact-layout { width: var(--shell); max-width: 1080px; padding: 56px 0 88px; gap: 72px; }
html[data-theme][data-care=Obsidian] body .obsidian-material { padding: 26px; border: 1px solid #d9dcd8; border-radius: 12px; background: #eef0ec !important; box-shadow: none !important; backdrop-filter: none; }
html body .obsidian-material .signature-title { margin: 20px 0; }
html body .obsidian-material .signature-title strong { font-size: 42px; }
html[data-theme][data-care=Obsidian] body .obsidian-material .signature-title b { font-size: 32px; opacity: .45; }
html body .signature-lines { display: none; }
html body.obsidian-contact-page .care-switcher { border-radius: 8px; }
html body .obsidian-contact-layout .care-switcher a { min-height: 42px; border-radius: 6px; font-size: 13px; }
html[data-theme][data-care=Obsidian] body .obsidian-fee { padding: 22px 0; margin: 24px 0 16px; background: transparent !important; border: 0; border-top: 1px solid #d9dcd8; border-radius: 0; box-shadow: none !important; backdrop-filter: none; }
html body .obsidian-fee strong { font-size: 38px; }
html body .obsidian-fee small { font-size: 13px; }
html[data-theme][data-care=Obsidian] body .obsidian-contact-panel { padding: 32px; border: 1px solid #d9dcd8; border-radius: 14px; background: #fff !important; box-shadow: none; }
html body .obsidian-contact-panel::before { display: none; }

/* Full service notes share the same typography and spacing. */
html body :is(.detail-title,.display,.catalog-intro h1,.collection-next h2,.closing-content h2) { text-transform: none; font-weight: 500; letter-spacing: -.05em; }
html body .catalog-intro { padding-top: 44px; }
html body .catalog-intro h1 { margin: 34px 0 24px; font-size: clamp(44px,5.3vw,68px); }
html body .collection-subline { margin-bottom: 32px; }
html body .collection-topline > span:first-child { flex-shrink: 0; white-space: nowrap; }
html body .collection-topline > span:last-child { max-width: 55%; }
html body .collection-subline p { font-size: 11px; letter-spacing: .08em; }
html body .collection-grid { gap: 20px; }
html body .collection-card { border: 1px solid #d9dcd8; background: #fff; border-radius: 14px; padding: 24px; }
html body .collection-card:hover { background: #f5f6f3; }
html body .collection-card h2 { padding-bottom: 18px; font-size: 32px; text-transform: none; }
html body .collection-card p { font-size: 14px; }
html body .collection-card .protection-note { font-size: 12px; color: #565958 !important; }
html body .collection-card .collection-price { font-size: 13px; font-weight: 500; }
html body .collection-card .coating-caveat { font-size: 12px; }
html body .card-actions :is(a,button) { font-size: 12px; min-height: 40px; display: inline-flex; align-items: center; }
html body .upgrade-row { background: transparent; border: 1px solid #d9dcd8; border-radius: 10px; }
html body .upgrade-row strong { font-size: 15px; font-weight: 500; text-transform: none; }
html body .detail-hero { padding: 44px 0 56px; }
html body .breadcrumb { font-size: 12px; margin-bottom: 40px; }
html body .detail-title { font-size: clamp(40px,4.6vw,64px); }
html body .detail-lede { font-size: 19px; }
html body .detail-sections h2 { font-size: 32px; text-transform: none; }
html body .detail-sections p, html body .procedure { font-size: 15px; }
html body .detail-inclusions h3 { font-size: 15px; }
html body .detail-prices strong { font-size: 30px; font-weight: 500; }
html body.collection-page dialog h2, html body #comparison-content h3 { text-transform: none; }

/* Footer */
html body .atelier-footer {
  width: var(--shell);
  max-width: 1184px;
  margin: 0 auto;
  padding: 48px 0;
  gap: 48px;
  border-color: #d9dcd8;
  grid-template-columns: 1.2fr 1fr 1fr;
  font-size: 13px;
}
html body .atelier-footer p { font-size: 12px; color: #565958 !important; }
html body .atelier-footer .wordmark img { width: 125px; }
html body .footer-links { gap: 12px; }
html body .footer-phone { font-size: 20px; letter-spacing: -.025em; }

@media (max-width: 1000px) {
  :root, html[data-theme], html[data-theme][data-care] { --shell: calc(100% - 64px); }
  html body .collection-title { gap: 32px; }
  html body .collection-title h1 { font-size: 59px; }
  html body .header nav { gap: 22px; }
  html body .collection-cover > img { height: 380px; }
  html body .package-card { padding: 18px; }
  html body .card-bottom h3 { font-size: 28px; }
  html body .card-bottom p { font-size: 13px; }
  html body .collection-studio { gap: 40px; padding: 36px; }
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) { gap: 36px; }
}

@media (max-width: 760px) {
  :root, html[data-theme], html[data-theme][data-care] { --shell: calc(100% - 40px); }
  html body .header { height: 80px; padding: 14px 0; gap: 16px; }
  html body .wordmark, html body .wordmark img { width: 114px; }
  html body .header nav { gap: 12px; }
  html body .mobile-menu-button { display: block; min-height: 40px; padding: 8px 12px; }
  html body .header nav > a.nav-cta { display: none !important; }
  html body :is(.collection-hero,.packages,.collection-upgrades,.approach) { padding: 48px 0; }
  html body .collection-hero { padding-top: 26px; padding-bottom: 14px; }
  html body .collection-meta { align-items: start; font-size: 9px; gap: 20px; }
  html body .collection-meta span:last-child { max-width: 150px; }
  html body .collection-title { grid-template-columns: 1fr; gap: 30px; padding: 28px 0; }
  html body .collection-title h1 { font-size: clamp(46px,11vw,68px); margin-bottom: 22px; }
  html body .collection-intro > p { font-size: 16px; margin-bottom: 23px; }
  .intro-actions { gap: 16px 22px; }
  .intro-reassurance { margin-top: 22px; font-size: 11px; gap: 8px 16px; }
  html body .collection-cover { border-radius: 12px; }
  html body .collection-cover > img { height: 218px; object-position: 50% 45%; }
  html body .collection-cover figcaption { inset: auto 22px 22px; }
  html body .collection-cover figcaption strong { font-size: 23px; max-width: 190px; }
  html body .quick-estimate { padding: 23px 20px; border-radius: 12px; }
  html body .quick-estimate-heading { display: block; }
  html body .quick-estimate-heading h2 { font-size: 27px; }
  html body .quick-estimate-heading > p { margin-top: 10px; font-size: 12px; }
  html body .quick-estimate-heading > p br { display: none; }
  html body .quick-estimate-fields { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 20px; }
  html body .quick-estimate-fields label { margin: 0 0 16px; }
  html body .quick-estimate-result { margin-top: 4px; padding-top: 20px; }
  html body .quick-estimate-result strong { font-size: 26px; }
  html body .quick-estimate-result button { width: 100%; margin-top: 20px; }
  html body .quick-estimate-footnote { font-size: 11px; }
  html body .quick-estimate-footnote a { display: block; margin: 10px 0 0; }
  html body .section-heading { display: block; margin-bottom: 26px; }
  html body .section-heading h2 { font-size: 34px; }
  html body .section-heading > p { margin-top: 20px; }
  html body .section-heading .text-button { margin-top: 18px; }
  html body .package-track { gap: 18px; grid-template-columns: 1fr; }
  html body .package-card { padding: 22px; gap: 20px; }
  html body .collection-card-image { height: 160px; }
  html body .card-bottom h3 { font-size: 30px; }
  html body .card-bottom p { font-size: 14px; }
  html body .card-bottom .package-price { font-size: 12px; padding-top: 18px; }
  html body .collection-upgrades { padding-top: 12px; }
  html body .upgrade-links { grid-template-columns: 1fr; gap: 0; }
  html body .upgrade-links a { padding: 22px 0; font-size: 14px; gap: 18px; }
  html body .collection-studio { display: block; padding: 30px 24px; margin: 8px auto 0; border-radius: 12px; }
  html body .collection-studio h2 { font-size: 34px; }
  html body .collection-index { margin-top: 28px; }
  html body .collection-index a { font-size: 12px; gap: 18px; }
  html body .approach { padding-top: 56px; }
  html body .steps { grid-template-columns: 1fr; gap: 20px; }
  html body :is(.customer-voices,.seo-local,.seo-package-inclusions) { margin: 0 auto; padding: 44px 0; }
  html body .customer-voices { display: block; }
  html body .voice-card { padding: 26px; margin: 22px 0 0; }
  html body .voice-card blockquote p { font-size: 21px; }
  html body .voices-intro h2 { font-size: 34px; }
  html body :is(.studio-page,.contact-page,.editorial-page,.seo-service-page) { padding: 36px 0 56px; }
  html body .studio-heading { margin-bottom: 28px; }
  html body .studio-heading h1, html body .contact-intro h1 { font-size: 39px; }
  html body .configuration-panel { padding: 22px; }
  html body .inquiry-form { padding: 24px 20px; }
  html body .inquiry-form h2 { font-size: 28px; }
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) { padding: 28px 0 56px; }
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) > .estimate-intro { border-top: 0; padding: 0; gap: 14px 18px; margin-bottom: 26px; }
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) .signature-identity { background: transparent !important; padding: 0; border: 0; border-radius: 0; }
  html[data-theme][data-care] body .estimate-page:not(.obsidian-contact-layout) .signature-title strong { font-size: 34px; }
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .estimate-panel { padding: 26px 20px; border-radius: 12px; }
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .flow-heading h2 { font-size: 28px; }
  html[data-theme] body .estimate-page:not(.obsidian-contact-layout) .flow-heading .eyebrow { font-size: 10px; }
  html body .estimate-actions .dark-button { min-width: 140px; }
  html body .obsidian-contact-layout { padding: 28px 0 56px; }
  html body .obsidian-contact-layout > .estimate-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 26px; }
  html[data-theme][data-care=Obsidian] body .obsidian-material { grid-column: 1; grid-row: 1; padding: 0; border: 0; background: transparent !important; }
  html body .obsidian-material .signature-kicker { font-size: 9px; }
  html body .obsidian-material .signature-title { margin: 12px 0; }
  html body .obsidian-material .signature-title strong { font-size: 32px; }
  html body .obsidian-material :is(.signature-kicker > span:first-child,.signature-title b) { display: none; }
  html body .obsidian-signature { font-size: 12px; }
  html[data-theme][data-care=Obsidian] body .obsidian-fee { grid-column: 2; grid-row: 1; margin: 0; padding: 0 0 0 18px; border: 0; border-left: 1px solid #d9dcd8; }
  html body .obsidian-fee > span { font-size: 10px; letter-spacing: .08em; }
  html body .obsidian-fee strong { font-size: 34px; margin: 4px 0; }
  html body .obsidian-fee small { font-size: 11px; line-height: 1.6; }
  html body .obsidian-contact-layout .identity-care { grid-column: 1 / -1; grid-row: 2; margin: 0; }
  html body .obsidian-contact-layout .obsidian-compare { grid-column: 1 / -1; margin: 0; justify-self: start; }
  html[data-theme][data-care=Obsidian] body .obsidian-contact-panel { padding: 26px 20px; }
  html body .catalog-intro { padding-top: 30px; }
  html body .collection-topline { font-size: 9px; gap: 20px; letter-spacing: .08em; }
  html body .catalog-intro h1 { font-size: 46px; margin: 26px 0 20px; }
  html body .collection-subline { margin-bottom: 26px; }
  html body .collection-card { padding: 22px; }
  html body .collection-card h2 { font-size: 32px; }
  html body .collection-card p { font-size: 14px; }
  html body .collection-card .collection-price { font-size: 13px; }
  html body .detail-title { font-size: 42px; overflow-wrap: normal; }
  html body .detail-sections h2 { font-size: 30px; }
  html body .atelier-footer { margin: 0 auto; padding: 36px 0; grid-template-columns: 1fr; gap: 28px; }
  html body .footer-links { grid-template-columns: 1fr 1fr; font-size: 13px; gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html body *, html body *::before, html body *::after { transition: none !important; animation: none !important; }
}

/* Homepage reading hierarchy: plain headings, readable body copy, aligned prices. */
html body.collection-home { background:#fff !important; color:#202426; }
html body.collection-home .header { background:#fff !important; }
html body.collection-home .header nav > a { font-size:15px; }
html body.collection-home .collection-meta { font-size:12px; color:#4b5357 !important; letter-spacing:.07em; }
html body.collection-home .collection-hero { padding:36px 0 48px; }
html body.collection-home .collection-title { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:56px; padding:32px 0 0; }
html body.collection-home .collection-title h1 { font-size:clamp(44px,4.65vw,65px); line-height:1.12; letter-spacing:-.045em; font-weight:600 !important; margin-bottom:25px; }
html body.collection-home .collection-title h1 span { color:#202426; }
html body.collection-home .collection-intro { max-width:470px; }
html body.collection-home .collection-intro > p { font-size:19px; line-height:1.7; color:#4b5357 !important; margin-bottom:28px; }
html body.collection-home .intro-actions { gap:16px 24px; }
html body.collection-home :is(.dark-button,.text-button) { font-size:16px; }
html body.collection-home .intro-reassurance { margin-top:25px; font-size:14px; gap:9px 22px; color:#4b5357; }
html body.collection-home .collection-cover > img { height:390px; }
html body.collection-home .collection-cover::after { display:none; }
html body.collection-home :is(.packages,.approach,.customer-voices,.collection-upgrades,.seo-local) { padding:64px 0; }
html body.collection-home :is(.packages,.approach,.customer-voices,.collection-upgrades) { border-top:1px solid #e1e4e4; }
html body.collection-home .section-heading { align-items:end; gap:32px; margin-bottom:30px; }
html body.collection-home .eyebrow { font-size:12px; font-weight:600; letter-spacing:.07em; color:#4b5357 !important; }
html body.collection-home :is(.section-heading,.approach,.voices-intro,.seo-local,.home-extras-heading) h2 { font-size:clamp(30px,3.1vw,42px); line-height:1.2; letter-spacing:-.035em; font-weight:600 !important; margin:0; }
html body.collection-home .home-section-intro { font-size:18px; color:#4b5357 !important; max-width:55ch; margin:16px 0 0; }
html body.collection-home .section-heading > .text-button { white-space:nowrap; }
html body.collection-home .package-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
html body.collection-home .package-card { padding:24px; border-radius:12px; background:#fff !important; gap:18px; transform:none; }
html body.collection-home .package-card.featured-care { background:#f4f6f5 !important; border-color:#929e98; }
html body.collection-home .home-care-type { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:30px; margin:0; font-size:16px; font-weight:500; line-height:1.4; color:#30383b !important; }
html body.collection-home .care-badge { font-size:12px; font-weight:500; padding:5px 8px; color:#30383b; background:#fff; }
html body.collection-home .collection-card-image { height:135px; width:100%; object-fit:cover; }
html body.collection-home .card-bottom h3 { font-size:30px; font-weight:600 !important; line-height:1.2; margin:0 0 13px; }
html body.collection-home .card-bottom h3 a { color:inherit; text-decoration:none; }
html body.collection-home .card-bottom > p { font-size:16px; line-height:1.65; color:#4b5357 !important; margin:0 0 22px; min-height:5em; }
html body.collection-home .home-price-list { margin:0 0 25px; padding:0; font-size:16px; }
html body.collection-home .home-price-list > div { display:flex; align-items:baseline; justify-content:space-between; gap:16px; border-top:1px solid #dce1de; padding:12px 0; }
html body.collection-home .home-price-list > div:last-child { border-bottom:1px solid #dce1de; font-weight:600; }
html body.collection-home .home-price-list dt { margin:0; color:#4b5357; }
html body.collection-home .home-price-list dd { margin:0; white-space:nowrap; color:#202426; font-weight:500; }
html body.collection-home .home-flat-price { min-height:156px; margin:0 0 25px; padding:12px 0; border-block:1px solid #dce1de; }
html body.collection-home .home-flat-price > span { display:block; font-size:16px; color:#4b5357; }
html body.collection-home .home-flat-price strong { display:block; font-size:36px; font-weight:600; line-height:1.25; margin-top:9px; }
html body.collection-home .home-flat-price strong small { font-size:16px; font-weight:400; }
html body.collection-home .home-flat-price p { margin:5px 0 0; font-size:14px; color:#4b5357 !important; }
html body.collection-home .home-package-action { display:flex; align-items:center; justify-content:space-between; min-height:48px; gap:16px; padding:12px 15px; margin-top:auto; border:1px solid #606b66; border-radius:5px; text-decoration:none; font-size:16px; line-height:1.4; color:#202426; }
html body.collection-home .featured-care .home-package-action { background:#202426; color:#fff; border-color:#202426; }
html body.collection-home .home-inclusions-link { align-self:start; margin-top:14px; font-size:14px; text-decoration:underline; text-underline-offset:4px; color:#4b5357; }
html body.collection-home .home-price-notes { display:grid; grid-template-columns:1fr 1fr; gap:16px 35px; max-width:1080px; margin-top:24px; }
html body.collection-home .home-price-notes p { font-size:14px; line-height:1.7; color:#4b5357 !important; margin:0; }
html body.collection-home .steps { gap:40px; margin:34px 0 24px; }
html body.collection-home .approach { background:none !important; box-shadow:none; border-radius:0; border-right:0; border-bottom:0; border-left:0; }
html body.collection-home .steps > div { padding-top:0; border:0; }
html body.collection-home .home-step-number { display:grid; place-items:center; width:36px; height:36px; margin-bottom:18px; background:#f0f3f1; border-radius:50%; color:#202426; font-size:16px; font-weight:500; letter-spacing:0; }
html body.collection-home .steps h3 { font-size:21px; font-weight:600 !important; line-height:1.3; margin:0 0 12px; }
html body.collection-home .steps p { font-size:17px; color:#4b5357 !important; margin:0; max-width:32ch; }
html body.collection-home .customer-voices { grid-template-columns:1fr 1fr 1fr; gap:24px; align-items:stretch; }
html body.collection-home .voices-intro > :is(p,a) { font-size:15px; }
html body.collection-home .voices-intro h2 { font-size:34px; }
html body.collection-home .voices-rating { margin:22px 0; }
html body.collection-home .voices-rating strong { font-size:32px; }
html body.collection-home .voices-rating > span { font-size:14px; line-height:1.6; color:#4b5357; }
html body.collection-home .voices-rating strong span { font-size:17px; }
html body.collection-home .voices-date { line-height:1.65; color:#4b5357 !important; }
html body.collection-home .voice-card { margin:0; padding:28px; background:#f4f6f5 !important; }
html body.collection-home .voice-card blockquote p { font-size:23px; line-height:1.5; color:#202426 !important; }
html body.collection-home .voice-card figcaption { font-size:15px; }
html body.collection-home .voice-card figcaption small { font-size:14px; color:#4b5357; }
html body.collection-home .home-extras-heading h2 { font-size:30px; }
html body.collection-home .home-extras-heading p { font-size:17px; color:#4b5357 !important; margin:12px 0 22px; }
html body.collection-home .home-extras > summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; padding:18px 0; list-style:none; border-block:1px solid #dce1de; font-size:17px; font-weight:500; }
html body.collection-home .home-extras > summary::-webkit-details-marker { display:none; }
html body.collection-home .home-extras > summary span { font-size:24px; font-weight:400; }
html body.collection-home .home-extras[open] > summary span { transform:rotate(45deg); }
html body.collection-home .upgrade-links { margin:12px 0; gap:0 40px; }
html body.collection-home .upgrade-links a { display:flex; justify-content:space-between; gap:18px; font-size:16px; padding:20px 0; }
html body.collection-home .home-extras .field-note { font-size:14px; color:#4b5357 !important; }
html body.collection-home .seo-local { display:grid; grid-template-columns:1fr 1.1fr; column-gap:75px; border-top:1px solid #e1e4e4; }
html body.collection-home .home-service-area h2 { font-size:34px; }
html body.collection-home .home-service-area > p { font-size:17px; line-height:1.7; color:#4b5357 !important; margin:20px 0; max-width:40ch; }
html body.collection-home .home-service-area .dark-button { margin-top:12px; }
html body.collection-home .seo-service-links { display:flex; flex-wrap:wrap; gap:12px 20px; margin:24px 0; font-size:15px; }
html body.collection-home .seo-faq h3 { font-size:24px; margin:0 0 12px; font-weight:600 !important; }
html body.collection-home .seo-faq summary { font-size:17px; line-height:1.5; padding:20px 0; color:#202426; }
html body.collection-home .seo-faq p { font-size:16px; line-height:1.75; margin:0 0 20px; color:#4b5357 !important; }
html body.collection-home .atelier-footer { font-size:16px; padding-block:48px; background:#fff; gap:70px; grid-template-columns:1.2fr 1fr 1fr; }
html body.collection-home .atelier-footer p { font-size:15px; margin-block:20px; }
html body.collection-home .atelier-footer .footer-phone { font-size:21px; }
html body.collection-home .atelier-footer .owner-entry { display:block; margin-top:20px; font-size:13px; }
html body.collection-home .footer-links { display:flex; flex-direction:column; align-items:start; gap:15px; }
html body .atelier-footer .footer-links h2 { grid-column:1/-1; margin:0 0 7px; font-size:17px; font-weight:600 !important; letter-spacing:0; line-height:1.5; }
html body.collection-home .footer-links a { font-size:15px; line-height:1.5; }
@media(max-width:1100px) {
  html body.collection-home .package-track { gap:16px; }
  html body.collection-home .package-card { padding:20px; }
  html body.collection-home .home-care-type { font-size:15px; }
  html body.collection-home .care-badge { font-size:12px; padding:5px 6px; }
  html body.collection-home .home-price-list { font-size:16px; }
  html body.collection-home .home-price-list > div { gap:8px; }
  html body.collection-home .section-heading { display:block; }
  html body.collection-home .section-heading > .text-button { margin-top:15px; }
  html body.collection-home .collection-title { gap:32px; }
  html body.collection-home .seo-local { gap:40px; }
}
@media(max-width:760px) {
  html body.collection-home .collection-hero { padding:26px 0 40px; }
  html body.collection-home .collection-meta { font-size:11px; }
  html body.collection-home .collection-meta span:last-child { display:none; }
  html body.collection-home .collection-title { grid-template-columns:1fr; padding-top:24px; gap:30px; }
  html body.collection-home .collection-title h1 { font-size:clamp(39px,10.6vw,56px); line-height:1.14; }
  html body.collection-home .collection-intro > p { font-size:18px; line-height:1.7; }
  html body.collection-home .intro-actions { align-items:stretch; gap:12px; flex-direction:column; }
  html body.collection-home .intro-actions .dark-button { justify-content:space-between; }
  html body.collection-home .intro-actions .text-button { align-self:start; }
  html body.collection-home .intro-reassurance { font-size:14px; gap:8px; flex-direction:column; margin-top:20px; }
  html body.collection-home .collection-cover > img { height:230px; }
  html body.collection-home :is(.packages,.approach,.customer-voices,.collection-upgrades,.seo-local) { padding:42px 0; }
  html body.collection-home .home-section-intro { font-size:17px; }
  html body.collection-home .package-track { grid-template-columns:1fr; gap:24px; }
  html body.collection-home .package-card { padding:24px; }
  html body.collection-home .home-care-type { font-size:17px; }
  html body.collection-home .care-badge { font-size:12px; padding:5px 8px; }
  html body.collection-home .collection-card-image { height:150px; }
  html body.collection-home .card-bottom > p { font-size:17px; min-height:0; }
  html body.collection-home .home-price-list { font-size:16px; }
  html body.collection-home .home-price-list > div { gap:15px; }
  html body.collection-home .home-flat-price { min-height:0; }
  html body.collection-home .home-price-notes { grid-template-columns:1fr; gap:14px; }
  html body.collection-home .steps { grid-template-columns:1fr; gap:30px; }
  html body.collection-home .steps p { max-width:none; }
  html body.collection-home .home-step-number { margin-bottom:12px; }
  html body.collection-home .customer-voices { display:grid; grid-template-columns:1fr; gap:20px; }
  html body.collection-home .voices-intro h2 { font-size:30px; }
  html body.collection-home .voice-card { padding:25px; margin:0; }
  html body.collection-home .voice-card blockquote p { font-size:22px; }
  html body.collection-home .seo-local { grid-template-columns:1fr; gap:40px; }
  html body.collection-home .home-service-area h2 { font-size:30px; }
  html body.collection-home .atelier-footer { grid-template-columns:1fr; gap:32px; padding-block:36px; }
  html body.collection-home .footer-links { gap:15px; }
}
@media(max-width:360px) {
  html body.collection-home .collection-title h1 { font-size:35px; }
  html body.collection-home .package-card { padding:20px; }
  html body.collection-home .home-care-type { font-size:16px; }
  html body.collection-home .home-price-list { font-size:15px; }
}

/* Phone homepage (899px and below). Desktop rules above stay in effect. */
.phone-kicker,
.phone-sub,
.phone-hero,
.phone-ticks,
.phone-care,
.phone-dock { display: none; }
html body .wordmark-logo-phone { display: none !important; }
html body .menu-glyph { display: block; width: 24px; height: 2px; background: #111; position: relative; }
html body .menu-glyph::before,
html body .menu-glyph::after { content: ""; position: absolute; left: 0; width: 24px; height: 2px; background: #111; }
html body .menu-glyph::before { top: -6px; }
html body .menu-glyph::after { top: 6px; }
html body .mobile-menu-close {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; width: 100%; margin: 0 0 8px; padding: 10px 14px;
  border: 1px solid #111; border-radius: 8px; background: #fff; color: #111;
  font: 600 15px/1.2 var(--font-ui), sans-serif; cursor: pointer;
}
html body .mobile-menu-close::before { content: "×"; font-size: 22px; font-weight: 400; line-height: 1; }

@media (max-width: 899px) {
  html body .header { height: auto; min-height: 0; max-width: 100%; }
  html body .header .mobile-navigation a { min-height: 44px; font-size: 16px; display: flex; align-items: center; }
  html body .footer-phone { color: #111 !important; }

  html body .contact-page .inquiry-form fieldset.contact-preference {
    display: flex; flex-direction: column; align-items: stretch;
    min-width: 0; width: 100%; max-width: 100%; margin: 10px 0;
  }
  html body .contact-page .inquiry-form fieldset.contact-preference label {
    display: flex; align-items: center; gap: 12px; width: 100%; max-width: 100%;
    min-width: 0; min-height: 44px; margin: 0; font-size: 16px;
  }
  html body .contact-page .inquiry-form fieldset.contact-preference label span,
  html body .contact-page .studio-checkbox span { min-width: 0; flex: 1 1 auto; }
  html body .contact-page .studio-checkbox {
    display: flex; align-items: center; gap: 12px; min-width: 0; max-width: 100%;
    min-height: 44px; font-size: 16px;
  }
  html body .contact-page .inquiry-form :is(input[type="radio"], input[type="checkbox"]) {
    width: 22px; height: 22px; min-width: 22px; flex: 0 0 22px; margin: 0;
  }
  html body.collection-page .atelier-footer {
    width: 100%; max-width: none; margin: 0; box-sizing: border-box;
    padding: 36px 20px 48px;
  }

  html body.collection-home { padding-bottom: calc(72px + env(safe-area-inset-bottom)); background: #fff !important; }
  html body.collection-home .header {
    position: sticky; top: 0; z-index: 50; width: 100%; max-width: none;
    height: 52px; min-height: 52px; margin: 0; padding: 0 8px 0 20px; gap: 12px;
    border: 0; background: #fff !important; flex-wrap: nowrap;
  }
  html body.collection-home .wordmark { width: auto; min-height: 44px; display: flex; align-items: center; }
  html body.collection-home .wordmark-logo { display: none !important; }
  html body.collection-home .wordmark-logo-phone { display: block !important; width: auto; height: 38px; max-height: 38px; }
  html body.collection-home .header nav { gap: 0; margin: 0; }
  html body.collection-home .header > nav[aria-label="Main navigation"] > a { display: none !important; }
  html body.collection-home .mobile-menu-button {
    display: flex !important; width: 48px; height: 48px; min-height: 48px; padding: 0;
    border: 0; border-radius: 0; background: transparent; align-items: center; justify-content: center;
  }
  html body.collection-home .header .mobile-navigation:not([hidden]) {
    display: grid !important; position: absolute; left: 0; right: 0; top: 100%; width: 100%; max-width: none; margin: 0;
    padding: 12px 20px 16px; background: #fff; border: 0; border-top: 1px solid #e4e4e1;
    border-radius: 0; box-shadow: 0 16px 28px rgba(0,0,0,.08); z-index: 60;
  }
  html body.collection-home .header .mobile-navigation a {
    display: flex !important; min-height: 44px; padding: 12px 0; font-size: 16px; color: #111 !important;
    border-bottom: 1px solid #e4e4e1; text-decoration: none;
  }

  html body.collection-home .collection-meta,
  html body.collection-home .home-lede,
  html body.collection-home .intro-actions,
  html body.collection-home .intro-reassurance,
  html body.collection-home .collection-cover { display: none !important; }
  html body.collection-home .phone-kicker {
    display: block; margin: 2px 0 6px; font-size: 12px; line-height: 1.3; letter-spacing: .14em;
    text-transform: uppercase; font-weight: 500; color: #333 !important;
  }
  html body.collection-home .collection-hero {
    width: 100%; max-width: none; margin: 0; padding: 2px 20px 0; border: 0; box-sizing: border-box;
  }
  html body.collection-home .packages {
    width: 100%; max-width: none; margin: 0; padding: 0 20px 36px; border: 0; box-sizing: border-box;
  }
  html body.collection-home .collection-title,
  html body.collection-home .hero-copy,
  html body.collection-home .collection-intro { display: block; min-width: 0; max-width: 100%; margin: 0 !important; padding: 0; gap: 0; }
  html body.collection-home .collection-title h1 {
    font-size: 28px; line-height: 1.07; letter-spacing: -.02em; font-weight: 700 !important;
    margin: 0 0 6px; color: #111 !important;
  }
  html body.collection-home .collection-title h1 span { color: #111; }
  html body.collection-home .collection-intro { max-width: none; margin: 0; }
  html body.collection-home .collection-intro > p.phone-sub {
    display: block; margin: 0 0 8px; max-width: 100%; font-size: 15px; line-height: 1.4;
    color: #333 !important; white-space: normal; overflow-wrap: anywhere;
  }
  html body.collection-home .phone-hero {
    display: block; margin: 0; border-radius: 14px; overflow: hidden; border: 1px solid #ececea;
  }
  html body.collection-home :is(.phone-hero img, .phone-card-photo img, .brand-banner img, .collection-card-image) {
    display: block; width: 100%; height: auto; max-width: 100%; object-fit: contain; aspect-ratio: auto;
  }
  html body.collection-home .phone-ticks {
    display: flex; gap: 12px 18px; list-style: none; padding: 0; margin: 6px 0 0; flex-wrap: wrap;
  }
  html body.collection-home .phone-ticks li {
    display: flex; align-items: center; gap: 10px; min-height: 28px; font-size: 15px; line-height: 1.3;
    color: #111 !important; white-space: normal;
  }
  html body.collection-home .phone-ticks li::before { content: "✓"; font-weight: 700; }
  html body.collection-home .phone-care { display: block; margin-top: 8px; }
  html body.collection-home .phone-care-title {
    font-size: 19px; line-height: 1.2; letter-spacing: -.02em; font-weight: 700 !important;
    margin: 0 0 8px; padding-top: 8px; border-top: 1px solid #e4e4e1; color: #111 !important;
  }
  html body.collection-home .phone-care-row {
    display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory;
    margin: 0 -20px; padding: 2px 20px 4px; scroll-padding-inline: 20px; scrollbar-width: none;
  }
  html body.collection-home .phone-care-row::-webkit-scrollbar { display: none; }
  html body.collection-home .phone-card {
    flex: 0 0 172px; scroll-snap-align: start; display: flex; flex-direction: column;
    background: #fff; border: 1px solid #e4e4e1; border-radius: 14px; overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.06); min-width: 0;
  }
  html body.collection-home .phone-card-photo { position: relative; }
  html body.collection-home .phone-badge {
    position: absolute; left: 8px; bottom: 8px; background: #fff; color: #111;
    font-size: 12px; font-weight: 500; line-height: 1.2; padding: 3px 9px; border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,.2);
  }
  html body.collection-home .phone-card-body { display: flex; flex-direction: column; flex: 1; padding: 8px 9px 10px; }
  html body.collection-home .phone-card-name { margin: 0; min-height: 41px; font-size: 15px; line-height: 1.35; color: #111 !important; }
  html body.collection-home .phone-card-price { margin: 2px 0 8px; font-size: 15px; line-height: 1.3; color: #111 !important; }
  html body.collection-home .phone-card-price b { font-size: 18px; }
  html body.collection-home .phone-book {
    display: flex; align-items: center; justify-content: center; min-height: 44px; margin-top: auto;
    border-radius: 8px; border: 1px solid #0071e3; background: #0071e3; color: #fff !important;
    font: 500 15px/1.2 var(--font-ui), sans-serif; text-decoration: none;
  }
  html body.collection-home .phone-dots { display: flex; justify-content: center; gap: 10px; padding: 6px 0 2px; }
  html body.collection-home .phone-dots i { width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid #111; background: transparent; }
  html body.collection-home .phone-dots i.on { background: #111; }
  html body.collection-home .phone-dock {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: flex; gap: 10px; width: 100%;
    padding: 8px 20px calc(8px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #e4e4e1; box-sizing: border-box;
  }
  html body.collection-home .phone-dock a {
    display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 8px;
    font: 500 15px/1.2 var(--font-ui), sans-serif; text-decoration: none; box-sizing: border-box;
  }
  html body.collection-home .phone-dock-call { flex: 1; border: 1px solid #111; background: #fff; color: #111 !important; }
  html body.collection-home .phone-dock-book { flex: 2; border: 1px solid #0071e3; background: #0071e3; color: #fff !important; }
  html body.collection-home :is(.packages > .section-heading, .package-track, .home-price-notes, .brand-banner, .approach, .customer-voices, .collection-upgrades, .seo-local) {
    display: none !important;
  }

  html body.collection-home :is(.approach, .customer-voices, .collection-upgrades, .seo-local, .brand-banner, .atelier-footer) {
    width: 100%; max-width: none; margin-left: 0; margin-right: 0; padding-left: 20px; padding-right: 20px; box-sizing: border-box;
  }
  html body.collection-home .brand-banner { height: auto !important; min-height: 0; overflow: visible; padding-top: 8px; padding-bottom: 28px; }
  html body.collection-home .brand-banner-row {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 10px; min-width: 0;
  }
  html body.collection-home .brand-banner a { display: block; min-width: 0; }
  html body.collection-home :is(.home-price-notes p, .steps p, .home-section-intro, .card-bottom > p, .home-extras-heading p, .home-extras .field-note, .seo-faq p, .home-service-area > p, .atelier-footer p, .footer-links a, .upgrade-links a, .voices-rating > span, .voice-card figcaption) {
    font-size: 15px; color: #222 !important;
  }
  html body.collection-home :is(.eyebrow, .care-badge, .voices-date) { font-size: 12px; color: #333 !important; }
  html body.collection-home .atelier-footer .owner-entry { font-size: 14px; color: #222 !important; min-height: 44px; display: inline-flex; align-items: center; }
  html body.collection-home .card-bottom h3 a { min-height: 44px; display: inline-flex; align-items: center; }
  html body.collection-home .footer-phone { color: #111 !important; font-size: 18px; min-height: 44px; display: inline-flex; align-items: center; }
  html body.collection-home :is(.home-inclusions-link, .home-care-type, .home-price-list dt, .home-flat-price > span, .home-flat-price p) { color: #222 !important; }
  html body.collection-home :is(.text-button, .home-package-action, .home-inclusions-link, .footer-links a, .upgrade-links a, .seo-faq summary, .home-extras > summary, .owner-entry, .dark-button) { min-height: 44px; }
  html body.collection-home :is(.footer-links a, .upgrade-links a, .home-extras > summary, .seo-faq summary) { display: flex; align-items: center; }
  html body.collection-home .atelier-footer {
    display: grid; grid-template-columns: 1fr; gap: 14px;
    padding: 22px 20px 12px !important;
  }
  html body.collection-home .footer-links { display: flex; flex-wrap: wrap; gap: 4px 16px; }
  html body.collection-home .footer-links h2 { flex-basis: 100%; margin: 8px 0 0; font-size: 12px; color: #333 !important; }
}

/* Phone header, type, and contact: the menu and phone controls stay in the header row. */
@media (max-width: 899px) {
  html body .header {
    height: auto !important;
    min-height: 56px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 6px 16px !important;
    gap: 8px;
    flex-wrap: nowrap !important;
    align-items: center;
    box-sizing: border-box;
    position: relative;
    z-index: 40;
    overflow: visible;
  }
  html body .wordmark { flex: 1 1 auto; min-width: 0; width: auto !important; display: flex; align-items: center; }
  html body .wordmark img { width: auto; max-width: 108px; height: auto; max-height: 40px; }
  html body .header > nav {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 0 0 auto;
    min-width: 0;
  }
  html body .header > nav > a:not(.nav-call) { display: none !important; }
  html body .header > nav > a.nav-call {
    display: inline-flex !important;
    position: static !important;
    min-height: 44px;
    height: 44px;
    padding: 0 10px;
    font-size: 15px;
    line-height: 1;
    flex: 0 0 auto;
    background: #fff !important;
    color: #111 !important;
    border: 1px solid #111 !important;
  }
  html body.collection-home .header {
    height: auto !important;
    min-height: 52px;
    padding: 4px 8px 4px 20px !important;
  }
  html body.collection-home .header > nav > a.nav-call { display: none !important; }
  html body.collection-home .wordmark-logo-phone { max-height: 38px; }
  html body .mobile-menu-button {
    display: inline-flex !important;
    position: static !important;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    border: 1px solid #111;
    border-radius: 8px;
    background: #fff;
    color: #111;
  }
  html body.collection-home .mobile-menu-button { border: 0; background: transparent; width: 48px; height: 48px; min-width: 48px; min-height: 48px; flex-basis: 48px; }
  html body .mobile-menu-close {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    color: #111 !important;
    background: #fff !important;
    border: 1px solid #111 !important;
  }
  html body .header .mobile-navigation:not([hidden]) {
    display: grid !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    z-index: 70;
    background: #fff;
    padding: 12px 16px 16px;
    border: 0;
    border-top: 1px solid #e4e4e1;
    border-radius: 0;
    box-shadow: 0 16px 28px rgba(0,0,0,.08);
  }
  html body .header .mobile-navigation a {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    padding: 10px 0;
    font-size: 16px;
    color: #111 !important;
  }
  html body :is(.contact-page, .inquiry-panel, .inquiry-form, .contact-intro, .collection-page, .collection-shell, .catalog-intro) {
    min-width: 0;
    max-width: 100%;
  }
  html body .contact-page {
    display: block;
    width: min(100%, 1184px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    overflow-x: clip;
  }
  html body :is(.form-pair, .diagnosis-form-pair, .request-field-pair) { grid-template-columns: minmax(0, 1fr); }
  html body .inquiry-form fieldset,
  html body .inquiry-form fieldset.contact-preference {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
  html body .inquiry-form fieldset label,
  html body .inquiry-form .studio-checkbox {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    white-space: normal;
    font-size: 15px;
    color: #222 !important;
  }
  html body .inquiry-form :is(input, textarea, select) { max-width: 100%; box-sizing: border-box; }
  html body .inquiry-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), textarea, select) {
    min-height: 44px;
    font-size: 16px;
  }
  html body :is(p, li, dd, figcaption, .field-note, .collection-pricing-note, .collection-card p, .studio-micro, .footer-links a, .card-actions a, .card-actions button, .upgrade-row, .upgrade-row small, .inquiry-form legend) {
    font-size: 15px !important;
    color: #222 !important;
  }
  html body :is(.eyebrow, .collection-topline, .collection-meta, .collection-card-index, .protection-note, .phone-kicker, .phone-badge, .coating-caveat, .upgrade-number) {
    font-size: 12px !important;
    color: #333 !important;
  }
  html body :is(a.nav-call, a.nav-cta, a.button, a.dark-button, a.text-button, a.package-book, a.phone-book, a.footer-phone, a.footer-links a, button, .upgrade-row, .card-actions a, .card-actions button, .mobile-menu-button, .mobile-menu-close, .mobile-navigation a, .close, .selector-dialog-close) {
    min-height: 44px;
  }
  html body :is(.collection-card figure, .detail-visual, .tile figure, .phone-hero, .phone-card-photo) {
    aspect-ratio: auto !important;
    height: auto !important;
    overflow: visible;
  }
  html body :is(.collection-card img, .collection-cover > img, .detail-visual img, .tile img, .phone-hero img, .phone-card-photo img) {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
  html body .collection-page .atelier-footer { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
  html body :is(.wordmark, .contact-large-link, .footer-phone, .owner-entry) {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  html body .footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
  html body .footer-links a {
    display: flex;
    align-items: center;
    min-height: 44px;
    font-size: 15px !important;
    color: #222 !important;
  }
  html body :is(a.footer-phone, .owner-entry, a.button, a.dark-button, a.text-button, a.nav-cta, a.package-book, button) {
    font-size: 15px !important;
  }
  html body .atelier-footer > div { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
  html body .contact-large-link { min-height: 44px; }
  html body .studio-micro a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 2px;
    font-size: 15px !important;
    color: #111 !important;
  }
}

/* Booking CTAs. Checkout (.selector-primary) is #272b31, so these use #0071e3. */
html body :is(
  a.nav-cta,
  a.phone-book,
  a.phone-dock-book,
  a.home-package-action,
  a.package-book,
  a.button[href*="estimate.html"],
  a.dark-button[href*="estimate.html"],
  a.button[href$="obsidian.html"],
  a.dark-button[href$="obsidian.html"]
) {
  background: #0071e3 !important;
  background-image: none !important;
  border-color: #0071e3 !important;
  color: #ffffff !important;
}
html body :is(
  a.nav-cta,
  a.phone-book,
  a.phone-dock-book,
  a.home-package-action,
  a.package-book,
  a.button[href*="estimate.html"],
  a.dark-button[href*="estimate.html"],
  a.button[href$="obsidian.html"],
  a.dark-button[href$="obsidian.html"]
) :is(span, small) { color: inherit !important; }
html body :is(
  a.nav-cta,
  a.phone-book,
  a.phone-dock-book,
  a.home-package-action,
  a.package-book,
  a.button[href*="estimate.html"],
  a.dark-button[href*="estimate.html"],
  a.button[href$="obsidian.html"],
  a.dark-button[href$="obsidian.html"]
):hover {
  background: #0066cc !important;
  border-color: #0066cc !important;
  color: #ffffff !important;
}
html body :is(
  a.nav-cta,
  a.phone-book,
  a.phone-dock-book,
  a.home-package-action,
  a.package-book,
  a.button[href*="estimate.html"],
  a.dark-button[href*="estimate.html"],
  a.button[href$="obsidian.html"],
  a.dark-button[href$="obsidian.html"]
):active {
  background: #005bb5 !important;
  border-color: #005bb5 !important;
  color: #ffffff !important;
}
html body.collection-home :is(a.phone-book, a.phone-dock-book) {
  background: #0071e3 !important;
  border-color: #0071e3 !important;
  color: #ffffff !important;
}
html body.collection-home :is(a.phone-book, a.phone-dock-book):hover {
  background: #0066cc !important;
  border-color: #0066cc !important;
}
html body.collection-home :is(a.phone-book, a.phone-dock-book):active {
  background: #005bb5 !important;
  border-color: #005bb5 !important;
}
html body :is(a.phone-dock-call, a.nav-call, a.call-button, a.button.outline) {
  background: #fff !important;
  background-image: none !important;
  color: #111 !important;
  border: 1px solid #111 !important;
}
html body :is(a.phone-dock-call, a.nav-call, a.call-button):hover {
  background: #f2f2f2 !important;
  color: #111 !important;
  border-color: #111 !important;
}
html body a.package-book {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin-top: 12px;
  padding: 10px 16px;
  border-radius: 8px;
  font: 600 15px/1.2 var(--font-ui), sans-serif;
  text-decoration: none;
  box-sizing: border-box;
}
