:root{--bg:#f5f1ea;--paper:#fffdf8;--ink:#332e2a;--muted:#706b65;--line:#ded5c9;--accent:#9d5139;--warm:#eee2d2;--soft:#e6d3bc;--taupe:#8c8075;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 "Trebuchet MS",Verdana,sans-serif}.page{max-width:1180px;margin:auto;padding:0 30px max(35px,env(safe-area-inset-bottom,0px),var(--tg-content-safe-area-inset-bottom,0px))}button,input,select,textarea{font:inherit;color:inherit}button,input,select,summary{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #bd8462;outline-offset:4px}.skip{position:absolute;left:10px;top:-70px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}header{display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);padding:calc(24px + max(env(safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px))) 0 24px}.brand{font:47px/.9 Georgia,serif;letter-spacing:-2px;text-decoration:none;color:var(--ink)}.brand span{display:block;font:8px/1.5 "Trebuchet MS",sans-serif;letter-spacing:1.4px;margin-top:8px}.header-tag{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-left:18px}.region{margin-left:auto;font-size:11px;color:var(--muted);border:1px solid var(--line);padding:7px 12px;border-radius:30px}.intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:44px 0 40px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--accent)}h1{font:normal clamp(38px,5.5vw,64px)/1.1 Georgia,serif;letter-spacing:-1.4px;margin:18px 0}h1 em{font-weight:400;color:var(--accent)}.lead{color:var(--muted);font-size:14px;line-height:1.7;margin:18px 0 0}.plan-art{position:relative;background:var(--warm);padding:25px;border-radius:120px 120px 14px 14px;width:250px;min-height:230px;color:#9e755d;text-align:center;transform:rotate(5deg);margin-right:50px}.plan-art>span{font-size:7px;letter-spacing:1px;display:block;transform:rotate(-5deg);margin-bottom:10px}.plan-art svg{width:210px;max-width:100%;transform:rotate(-5deg)}.swatches{display:flex;gap:7px;position:absolute;bottom:-10px;right:-28px;transform:rotate(-10deg)}.swatches i{width:39px;height:48px;border:3px solid #fffdf8;background:#b99572;box-shadow:0 3px 7px #30251b12}.swatches i:nth-child(2){background:#a25742}.swatches i:nth-child(3){background:#d6c9b3}.section-label{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px;color:var(--muted);font-size:10px}.badge{background:#ebe0d1;border:1px solid #dac7b1;border-radius:30px;padding:6px 12px;color:#765438}.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:25px;align-items:start}.card{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:28px;margin-bottom:20px}.section-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:25px}.step{font-size:11px;color:#996341;background:#f1e7da;width:32px;height:32px;flex-shrink:0;border-radius:50%;display:grid;place-items:center}.section-title h2{font:23px/1.3 Georgia,serif;font-weight:400;margin:0 0 4px}.section-title p{font-size:11px;margin:0;color:var(--muted)}.field{margin-bottom:25px}label[for],legend{display:block;font-size:12px;font-weight:700;margin-bottom:10px}label[for]>span{float:right;color:var(--muted);font-weight:400}.area-wrap{position:relative}.area-wrap>span{position:absolute;right:16px;top:14px;color:var(--muted);font-size:14px}input[type=text],select,textarea{width:100%;min-width:0;border:1px solid #cdc4b9;border-radius:9px;padding:13px 15px;background:var(--paper)}input[type=text]{font-size:25px;min-height:58px;padding-right:60px}select{font-size:14px;min-height:50px;padding-right:30px}small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.field-help{font-size:11px;color:var(--muted);margin:10px 0 0}.scope-note{font-size:10px;border-left:2px solid #bea08b;padding-left:10px;color:var(--muted);margin:10px 0 0}fieldset{padding:0;margin:0;border:0;min-width:0}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;top:14px;left:11px;margin:0;width:15px;height:15px;accent-color:var(--accent)}.choices span{display:block;border:1px solid var(--line);padding:11px 8px 12px 34px;border-radius:9px;min-height:76px;font-size:12px}.choices input:checked+span{background:#f3e7d9;border-color:var(--accent)}.choices input:focus-visible+span{outline:3px solid #bd8462}.choices small{font-size:9px;line-height:1.4}.extras{display:flex;flex-direction:column;gap:12px}.extras label{display:flex;align-items:center;gap:12px;padding:14px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.extras label:has(input:checked){border-color:var(--accent);background:#f6eadd}.extras input{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}.extras strong{font-size:12px;font-weight:400}.extras small{font-size:10px;margin-top:3px}.extra-price{margin-left:auto;font-size:12px;white-space:nowrap;font-weight:700}.extras-note{line-height:1.6;margin-top:17px}aside{position:sticky;top:20px}.summary{background:var(--warm);border:1px solid #d9c7b1;border-radius:17px;padding:30px;scroll-margin-top:15px}.summary-heading{display:flex;align-items:center;justify-content:space-between}.summary-icon{font-size:28px;color:#9d6d50}.summary h2{font:24px Georgia,serif;margin:18px 0}.price{font:clamp(33px,3.4vw,46px)/1.15 Georgia,serif;letter-spacing:-1px;overflow-wrap:anywhere}.summary-context{font-size:11px;color:var(--muted);min-height:18px}.cost-bar{display:flex;height:5px;overflow:hidden;border-radius:10px;margin-top:25px;gap:3px}.cost-bar i{min-width:0;transition:width .25s}.cost-bar i:nth-child(1){background:#9d5139}.cost-bar i:nth-child(2){background:#ba9570}.cost-bar i:nth-child(3){background:#7e8073}dl{margin:20px 0}dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin:14px 0}dt{display:flex;align-items:center;gap:8px}dt small{font-size:9px;margin:0;display:inline}dd{font-weight:700;white-space:nowrap;margin:0}.dot{width:7px;height:7px;display:inline-block;border-radius:50%;flex-shrink:0}.dot.work{background:#9d5139}.dot.materials{background:#ba9570}.dot.additional{background:#7e8073}.included{font-size:10px;color:var(--muted);border-top:1px solid #d1bfa9;padding-top:15px;line-height:1.7}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:var(--accent);color:#fffaf4;border-radius:10px;min-height:53px;padding:15px 19px;font-size:13px;margin-top:22px}.primary:hover:not(:disabled){background:#83402e}.copy-note{text-align:center;font-size:10px;color:var(--muted);line-height:1.7}.status{font-size:11px;color:var(--ink);line-height:1.6;min-height:18px}.text-button{background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;color:var(--ink);font-size:11px;min-height:44px;padding:8px 0}.summary>.text-button{display:block;margin:auto}.disclaimer{font-size:10px;line-height:1.8;color:var(--muted);margin-bottom:0}.error{color:#a13329;font-size:11px;margin-top:7px}[aria-invalid=true]{border-color:#b33c2b!important}.methodology{margin-top:2px;font-size:12px}summary{cursor:pointer;font-size:13px;font-weight:700;padding:4px 0}.methodology p{color:var(--muted);max-width:930px}.formula{background:var(--bg);border-radius:10px;padding:15px;margin-top:18px;font-size:12px}.share textarea{font-size:12px;line-height:1.7;resize:vertical;min-height:200px;background:var(--bg)}.manual-mode{outline:3px solid #b47758;outline-offset:4px}.sr-only{position:absolute!important;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:var(--muted);padding-top:20px;border-top:1px solid var(--line)}.footer-brand{font:32px Georgia,serif;letter-spacing:-1px}.mobile-budget{display:none}.tg-dark{--bg:#24211f;--paper:#302c28;--ink:#f4ece2;--muted:#bfb3a5;--line:#5b4c40;--warm:#3f322a;--accent:#aa5a40;color-scheme:dark}.tg-dark .choices input:checked+span,.tg-dark .extras label:has(input:checked){background:#54382c}.tg-dark .step{background:#523d30;color:#e9c1a0}.tg-dark .badge{background:#503e30;color:#efceb1}.tg-dark .eyebrow{color:#d5a47d}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{position:static}.page{padding-bottom:110px}.plan-art{margin-right:20px;width:200px;min-height:200px;padding:20px}.header-tag{display:none}.intro{padding:35px 0}.price{font-size:45px}.mobile-budget{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:15px;text-decoration:none;background:var(--accent);color:#fffaf4;padding:13px 20px calc(13px + max(env(safe-area-inset-bottom,0px),var(--tg-content-safe-area-inset-bottom,0px)));font-size:11px;z-index:3;box-shadow:0 -4px 20px #49312615}.mobile-budget strong{font:24px Georgia,serif}}@media(max-width:500px){.page{padding-left:16px;padding-right:16px}header{gap:10px;padding-bottom:18px}.brand{font-size:39px}.brand span{font-size:6px}.region{font-size:9px;padding:5px 8px}.plan-art{display:none}h1{font-size:43px}.intro{padding:27px 0 23px}.eyebrow{font-size:8px}.lead{font-size:12px}.section-label{font-size:9px;gap:12px}.badge{padding:6px 9px}.card{padding:21px 16px}.section-title{gap:10px;margin-bottom:22px}.section-title h2{font-size:21px}.section-title p{font-size:10px}.choices{gap:6px}.choices span{padding:35px 7px 10px;min-height:94px;font-size:11px}.choices input{top:11px;left:10px}.choices small{font-size:9px}.extras label{gap:9px;padding:13px 9px;flex-wrap:wrap}.extras label>span:nth-child(2){flex:1;min-width:120px}.extra-price{font-size:11px;padding-left:26px;width:100%;margin:0}.summary{padding:25px 20px}.summary h2{font-size:25px}.price{font-size:42px}dt{gap:6px;flex-wrap:wrap}dt small{width:100%;padding-left:13px;font-size:8px}dl>div{font-size:12px}.text-button{font-size:11px}footer{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(max-width:850px){select,.share textarea{font-size:16px}.field-help,.scope-note,.section-title p,.extras-note,.copy-note,.disclaimer,.included{font-size:11px}.choices small,.extras small{font-size:10px}}
