/* Short, human paths from curiosity to a conversation. */
.hero-call{white-space:nowrap}.project-opening{padding-bottom:2rem}
.lead-section{display:grid;grid-template-columns:minmax(280px,.83fr) minmax(0,1.17fr);gap:clamp(3rem,8vw,9rem);padding-block:clamp(4rem,7vw,8rem) clamp(7rem,12vw,12rem);border-top:1px solid #4a3e40}
.lead-aside{align-self:start;position:sticky;top:9rem}.lead-aside>.micro,.booking-side>.micro{color:#c5b0b0}.lead-aside h2,.booking-form-shell h2,.booking-side h2{font-size:clamp(3.2rem,5.2vw,6rem);line-height:.92;letter-spacing:-.065em;margin:1.8rem 0}
.lead-aside>p{font-size:clamp(1.05rem,1.3vw,1.22rem);max-width:28rem;line-height:1.55}
.lead-aside-note,.booking-alternative{margin-top:clamp(3rem,5vw,5rem);border-top:1px solid #5a474c;padding-top:1.3rem;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}
.lead-aside-note>span,.booking-alternative>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:#b5a2a5;margin-bottom:.35rem}
.lead-aside-note .underlink,.booking-alternative .underlink{display:inline-flex;align-items:center;gap:1rem}.lead-aside-note svg,.booking-alternative svg{width:.95rem}
.lead-panel{background:linear-gradient(150deg,#1d1316,#101012 62%);border:1px solid #614950;padding:clamp(1.45rem,3vw,3.2rem);min-width:0}
.lead-panel h3{font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.06em;line-height:1.02;margin:.7rem 0}.lead-panel>form>p:not(.form-error){margin-bottom:2.3rem}
.lead-panel .form-row{gap:1rem}.lead-panel .field label,.booking-form-shell .field label{color:#e9ded9}.lead-panel .field label>span,.booking-form-shell .field label>span{color:#af9fa1}
.lead-panel .field label .required,.booking-form-shell .field label .required{color:#e6c9ca}
.lead-panel .field input,.lead-panel .field textarea,.booking-form-shell .field input,.booking-form-shell .field textarea{background:#121012;border:1px solid #655358;color:#f3efe9;padding:1rem;min-height:54px;border-radius:0;outline:0;transition:border-color .25s,box-shadow .25s}
.lead-panel .field textarea,.booking-form-shell .field textarea{min-height:125px}
.lead-panel .field input:focus,.lead-panel .field textarea:focus,.booking-form-shell .field input:focus,.booking-form-shell .field textarea:focus{border-color:#dfbabf;box-shadow:0 0 0 1px #d7aeb5}
.lead-panel .field input::placeholder,.lead-panel .field textarea::placeholder,.booking-form-shell .field input::placeholder,.booking-form-shell .field textarea::placeholder{color:#9b8f91}
.lead-panel .field-hint{color:#b4a4a6}.lead-choice{border:0;padding:0;margin:1.8rem 0 2rem;min-width:0}.lead-choice legend{font-size:.95rem;margin-bottom:.8rem;padding:0}
.lead-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.lead-options label{display:block;min-width:0;cursor:pointer;position:relative}.lead-options input{position:absolute;width:1px;height:1px;opacity:0}
.lead-options label>span{display:flex;align-items:center;min-height:56px;padding:.85rem 1rem;border:1px solid #655358;background:#141114;font-size:.93rem;transition:border-color .25s,background .25s,transform .25s var(--ease)}
.lead-options label:hover>span{border-color:#b39ca0;transform:translateY(-2px)}.lead-options input:checked+span{background:#310A0F;border-color:#cfabad}.lead-options input:focus-visible+span{outline:2px solid #e7c4c7;outline-offset:3px}
.contact-preference{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-preference label>span{justify-content:center;text-align:center}
.lead-panel #lead-send{width:100%;margin-top:1.1rem}.lead-panel .form-footnote{font-size:.78rem;line-height:1.55;margin:1rem 0 0;color:#bfb3b3}
.lead-success{padding:clamp(2rem,3vw,4rem) 0;outline:0}.lead-success h3,.lead-success h2{font-size:clamp(3.6rem,6vw,7rem);line-height:.88;letter-spacing:-.07em;margin:1.5rem 0}.lead-success p{font-size:1.16rem;max-width:30rem;line-height:1.5;margin-bottom:2rem}
.estimate-context{background:#310A0F;padding:1.3rem 1.5rem;margin-bottom:2.5rem;border:1px solid #916e72}.estimate-context h3{font-size:1.8rem;margin:.5rem 0 1rem}.estimate-context dl{margin:0}.estimate-context dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid #74454c;font-size:.88rem}.estimate-context dt{color:#c9b7b9}.estimate-context dd{margin:0;text-align:right}.estimate-context p{font-size:.79rem;margin-top:1rem;color:#d4c5c5}

/* Preferred time requests are distinct from confirmed calendar bookings. */
.booking-intro{padding-block:clamp(4rem,7vw,8rem) clamp(3rem,5vw,6rem);background:radial-gradient(ellipse at 78% 42%,#310A0F75,transparent 45%)}
.booking-intro h1{font-size:clamp(5rem,9vw,11rem);line-height:.86;letter-spacing:-.075em;margin:2rem 0}.booking-intro p{font-size:clamp(1.06rem,1.45vw,1.35rem);max-width:40rem;color:#d2c5c4}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.75fr);gap:clamp(3rem,7vw,8rem);align-items:start;padding-block:4rem clamp(8rem,10vw,12rem);border-top:1px solid #51434a}
.booking-form-shell{background:#171214;border:1px solid #675259;padding:clamp(1.4rem,3.5vw,3.5rem)}.booking-form-shell>div>p{max-width:35rem;margin:0 0 2.4rem}.booking-form-shell .form-row{gap:1rem}
.booking-form-shell .lead-choice{margin:2rem 0}.booking-time{border-top:1px solid #54454a;padding-top:1.5rem;margin-top:2rem}.booking-time .field{max-width:370px}.booking-time input[type=date]{color-scheme:dark}.booking-time .time-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.booking-disclaimer{font-size:.82rem;line-height:1.6;border-left:1px solid #b2979d;padding-left:1rem;max-width:32rem;margin:1.5rem 0!important}.booking-form-shell #booking-send{width:100%;margin-top:1.4rem}
.booking-side{padding-top:1.2rem;position:sticky;top:9rem}.booking-side h2{font-size:clamp(2.8rem,4vw,5rem)}.booking-side ol{list-style:none;margin:3rem 0;padding:0}.booking-side li{display:grid;grid-template-columns:2.3rem 1fr;gap:1rem;padding:1.2rem 0;border-top:1px solid #5c4b4e}.booking-side li>span{font-size:.7rem;color:#d0aeb1;padding-top:.2rem}.booking-side li strong{font-size:1.08rem;font-weight:400}.booking-side li p{font-size:.85rem;margin-top:.4rem;line-height:1.5}

/* One large question at a time, with prices sourced only from pricing-config.js. */
.estimate-shell{padding-block:clamp(4rem,7vw,7rem) clamp(7rem,10vw,11rem)}.estimate-head h1{font-size:clamp(4.7rem,9vw,10rem);line-height:.89;letter-spacing:-.075em;margin:1.8rem 0}.estimate-head p{font-size:clamp(1.05rem,1.4vw,1.3rem);max-width:42rem}
.estimate-stage{margin-top:clamp(3.5rem,7vw,7rem);background:linear-gradient(135deg,#28161a,#111013 58%);border:1px solid #76545c;min-height:590px;display:flex;flex-direction:column;padding:clamp(1.6rem,4vw,4rem);overflow:hidden}
.estimate-stage-top,.estimate-stage-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem}.estimate-stage-top{border-bottom:1px solid #665158;padding-bottom:1rem}.estimate-stage-bottom{border-top:1px solid #665158;padding-top:1rem;margin-top:auto;color:#b7a5a9;font-size:.8rem}
.estimate-stage-bottom .underlink{font-size:.8rem}.estimate-stage #estimate-step{padding:clamp(3rem,6vw,7rem) 0 4rem}.estimate-stage h2{font-size:clamp(3rem,6vw,6.5rem);line-height:.94;letter-spacing:-.065em;margin:0 0 clamp(2.2rem,4vw,4rem)}
.estimate-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;max-width:950px}.estimate-option{min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#171216;border:1px solid #746066;text-align:left;padding:1.2rem 1.45rem;font-size:clamp(1.05rem,1.5vw,1.35rem);transition:background .28s,border-color .28s,transform .28s var(--ease)}
.estimate-option:hover{background:#310A0F;border-color:#e0bdbf;transform:translateX(4px)}.estimate-option .icon{width:1.2rem;height:1.2rem}
#estimate-result{padding:clamp(2.5rem,5vw,6rem) 0 4rem}.estimate-stage #estimate-result h2{margin:1rem 0 2.5rem}.estimate-stage #estimate-range{display:block;font-size:clamp(2.4rem,5vw,5.6rem);font-weight:400;letter-spacing:-.05em;line-height:1.05;color:#f1dddb}
#estimate-range-note{margin-top:1rem;max-width:39rem;font-size:.95rem}.estimate-stage dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 2rem;max-width:780px;margin:2.5rem 0}.estimate-stage dl>div{border-top:1px solid #76545c;padding-top:.75rem}.estimate-stage dt{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:#b8a4a7}.estimate-stage dd{margin:.4rem 0 0;font-size:1.1rem}.estimate-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.2rem}.estimate-actions .button{min-width:220px}
@media(max-width:950px){.lead-section,.booking-layout{grid-template-columns:1fr;gap:2.8rem}.lead-aside,.booking-side{position:static}.booking-side{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.booking-side ol{grid-column:1/-1;margin:0}.booking-alternative{grid-column:1/-1;margin-top:0}}
@media(max-width:760px){.hero-actions .hero-call{white-space:normal}.lead-section{padding-top:3rem}.lead-panel,.booking-form-shell{margin-inline:calc(-1 * var(--pad));padding:1.4rem var(--pad);border-left:0;border-right:0}.lead-aside h2,.booking-form-shell h2{font-size:clamp(3.1rem,10vw,5rem)}.lead-panel .form-row,.booking-form-shell .form-row{display:block}.booking-intro{padding-block:4rem 3rem}.booking-intro h1,.estimate-head h1{font-size:clamp(4.2rem,12vw,7rem)}.booking-layout{padding-top:2rem}.booking-side{display:block}.booking-side ol{margin-top:2rem}.booking-time .time-options{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-stage{min-height:calc(100svh - 150px);margin-inline:calc(-1 * var(--pad));padding:1.4rem var(--pad);border-left:0;border-right:0}.estimate-options{grid-template-columns:1fr}.estimate-option{min-height:68px}.estimate-stage #estimate-step{padding:3rem 0}.estimate-stage h2{font-size:clamp(3rem,10vw,5rem)}.estimate-stage dl{grid-template-columns:1fr 1fr}.estimate-stage-bottom{align-items:flex-start;flex-direction:column}.estimate-actions{flex-direction:column}.estimate-actions .button{width:100%}}
@media(max-width:420px){.contact-preference{grid-template-columns:1fr 1fr}.lead-options{grid-template-columns:1fr 1fr}.lead-options label>span{font-size:.84rem;padding:.7rem}.booking-time .time-options label>span{min-height:56px}.estimate-stage dl{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.lead-options label>span,.estimate-option,.lead-panel .field input,.booking-form-shell .field input{transition:none!important}}
