:root{--gold:#c9ad5a;--text:#eeece3;--dim:#b9b9af;--line:#393a32;--black:#11120e}*{box-sizing:border-box}body{margin:0;background:var(--black);color:var(--text);font-family:'DM Sans',sans-serif}[hidden]{display:none!important}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wizard{max-width:720px;margin:25px auto 65px;padding:0 28px}.back-link{border:0;background:none;color:var(--dim);padding:8px 0;text-align:left;font-size:.9rem}.eyebrow{font-size:.7rem;letter-spacing:.19em;color:var(--gold);margin:30px 0 14px}.wizard h1{font:500 clamp(2.5rem,5vw,3.8rem)/1.02 'Cormorant Garamond',serif;letter-spacing:-.03em;margin:0 0 18px}.wizard-intro{color:var(--dim);line-height:1.7;max-width:550px}.progress{display:flex;list-style:none;padding:0;gap:14px;margin:32px 0 35px;counter-reset:steps}.progress li{flex:1;padding:11px 0;border-top:3px solid var(--line);font-size:.8rem;color:var(--dim)}.progress li[aria-current=step],.progress li.complete{border-color:var(--gold);color:var(--gold)}.progress span{margin-left:5px}.wizard h2{font:500 2rem/1.15 'Cormorant Garamond',serif;margin:0 0 25px}.wizard label:not(.choices label):not(.consent){display:block;font-size:.85rem;margin:20px 0 10px}.wizard input:not([type=radio]):not([type=checkbox]):not([type=hidden]){display:block;width:100%;min-height:58px;border:1px solid #55574a;border-radius:5px;padding:15px 16px;background:#1a1c16;color:var(--text)}input::placeholder{color:#92958a}.hint{font-size:.82rem;color:var(--dim);line-height:1.65;margin:10px 0 20px}.wizard fieldset{border:0;padding:0;margin:25px 0}.wizard legend{font-size:.9rem;margin-bottom:13px}.bedroom-control{display:flex;align-items:center;justify-content:space-between;min-height:58px;border:1px solid #55574a;border-radius:5px}.bedroom-control button{background:none;border:0;color:var(--gold);width:64px;min-height:58px;font-size:1.6rem}.bedroom-control button:disabled{opacity:.3;cursor:default}.bedroom-control output{font-weight:500}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choices.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choices label{position:relative;display:flex;min-width:0}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices span{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.35;padding:16px 12px;min-height:65px;border:1px solid #55574a;border-radius:5px;flex:1;font-size:.88rem}.choices input:checked+span{background:var(--gold);border-color:var(--gold);color:#12130e;font-weight:600}.choices input:focus-visible+span{outline:3px solid var(--text);outline-offset:3px}.primary{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:58px;margin-top:28px;padding:17px 20px;border:1px solid var(--gold);border-radius:3px;background:var(--gold);color:#13140e;text-decoration:none;font-weight:600;text-align:left}.primary span{font-size:1.2rem}.step-back{margin-top:15px}.consent{display:flex;align-items:flex-start;gap:12px;font-size:.82rem;line-height:1.7;margin:25px 0;color:var(--dim)}.consent input{flex-shrink:0;width:22px;height:22px;accent-color:var(--gold);margin-top:2px}.review{border:1px solid var(--line);padding:20px;border-radius:5px;margin:25px 0;color:var(--dim);font-size:.9rem;line-height:1.7}.review strong{color:var(--text)}.review p{margin:8px 0 0}.error{color:#ffb4a5;font-size:.9rem;line-height:1.5}.assurance{text-align:center}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.wizard-footer{display:flex;justify-content:center;gap:25px;font-size:.8rem;color:var(--dim);padding:25px}.secondary{display:block;border:1px solid var(--gold);padding:17px 20px;color:var(--gold);text-decoration:none;margin-top:13px;border-radius:3px}#success-detail{line-height:1.8;color:var(--dim)}@media(max-width:540px){.wizard{margin-top:5px;padding:0 22px}.wizard h1{font-size:2.65rem}.choices.three{grid-template-columns:1fr}.choices.three span{min-height:53px}.progress{gap:10px}.progress li{font-size:.76rem}.wizard .lp-header{padding:0}.wizard-footer{flex-wrap:wrap}.lp-header-link{font-size:.74rem}}
.estimate-hero{border:1px solid var(--gold);background:linear-gradient(135deg,#22241a,#171910);border-radius:6px;padding:28px 22px;text-align:center;margin:25px 0}.estimate-hero p{font-size:.8rem;color:var(--dim);margin:0 0 12px}.estimate-hero strong{display:block;font:600 clamp(3rem,9vw,4.8rem)/1 'Cormorant Garamond',serif;color:var(--gold)}.estimate-hero span{display:block;color:var(--dim);font-size:.75rem;line-height:1.7;margin:14px auto 0;max-width:290px}.estimate-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.estimate-totals div{border:1px solid var(--line);border-radius:5px;padding:18px 14px}.estimate-totals span{display:block;font-size:.75rem;color:var(--dim);line-height:1.5}.estimate-totals strong{display:block;color:var(--gold);font-size:1.25rem;margin-top:10px}.breakdown-title{font:500 1.7rem 'Cormorant Garamond',serif;margin-top:35px}.monthly-breakdown{display:grid;gap:11px}.projection-month{display:grid;grid-template-columns:34px 1fr 74px;gap:12px;align-items:center;font-size:.82rem}.projection-track{height:15px;background:#2b2e23;border-radius:3px;overflow:hidden}.projection-bar{height:100%;background:#70775c;border-radius:3px}.projection-bar.summer{background:var(--gold)}.projection-bar.winter{background:#5b90c4}.projection-month strong{text-align:right}.estimate-method{font-size:.8rem;line-height:1.7;color:var(--dim);margin:27px 0}.estimate-method summary{cursor:pointer;color:var(--gold);padding:10px 0}.pdf-button{width:100%;background:none;cursor:pointer;font:500 .9rem 'DM Sans',sans-serif;text-align:center}.result-actions .primary{margin-top:16px}@media(max-width:540px){.estimate-totals{grid-template-columns:1fr}.estimate-totals div{display:flex;align-items:center;justify-content:space-between;gap:18px}.estimate-totals strong{margin:0;white-space:nowrap}.estimate-totals span{max-width:140px}.projection-month{grid-template-columns:28px 1fr 70px;gap:9px}}
