/* KEA EFH · self-contained interface. Style derived from the supplied KEA references. */
:root{color-scheme:dark;--bg:#0b1116;--card:#151e25;--raised:#19262d;--ink:#f3f5f6;--muted:#a9b7bf;--dim:#82969f;--line:#2a3940;--mint:#79eca1;--mint-text:#a3eac0;--mint-bg:#19352c;--mint-line:#5d9b7b;--on-mint:#0a3020;--nav:#0d161c;--hero:#0d1c23;--focus:#a3eac0;--error:#ffb5a4;--shadow:0 18px 65px -30px #0008;--spectral:linear-gradient(90deg,#bc283f,#f26727 53%,#f7c950);font-family:Arial,Helvetica,system-ui,sans-serif}
:root[data-theme=light]{color-scheme:light;--bg:#f7f9f8;--card:#fff;--raised:#f0f5f3;--ink:#121c21;--muted:#53656e;--dim:#60747e;--line:#dce5e2;--mint-text:#1b7447;--mint-bg:#ebf9f0;--mint-line:#75b78c;--nav:#fff;--focus:#288252;--error:#a12d22;--shadow:0 18px 65px -40px #1b3c3429}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;background:none;border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure{margin:0}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0}svg.icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.small-icon .icon{width:18px;height:18px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h2:focus{outline:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.wrap{width:min(1220px,calc(100% - 80px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--mint);color:var(--on-mint);padding:12px;border-radius:12px}.skip{opacity:0;pointer-events:none}.skip:focus-visible{top:10px;opacity:1;pointer-events:auto}.utility{height:33px;background:var(--raised);font-size:11px;color:var(--muted)}.utility .wrap{display:flex;align-items:center;justify-content:space-between;height:100%}.utility a{display:flex;align-items:center;gap:8px}.utility .icon{width:13px;height:13px;color:#e6b368}.utility-right{display:flex;gap:22px}.masthead{background:var(--nav);position:relative}.masthead:after{content:"";height:4px;background:var(--spectral);display:block}.nav-row{height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{width:116px;height:auto;display:block}.brand img{filter:brightness(0) invert(1)}[data-theme=light] .brand img{filter:brightness(0)}.nav-actions{display:flex;align-items:center;gap:12px}.nav-link{font-size:13px;color:var(--muted);padding:10px 8px;display:flex;gap:8px;align-items:center}.circle-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--nav);transition:border-color .2s,background .2s}.circle-button:hover{border-color:var(--mint-line);background:var(--raised)}.nav-caption{font-size:12px;font-weight:700;color:var(--on-mint);padding:12px 19px;border-radius:50px;background:var(--mint);display:flex;gap:8px;align-items:center}.nav-caption .icon{width:17px;height:17px}
.hero{background:radial-gradient(ellipse at 78% 50%,#16342c55,transparent 52%),var(--hero);color:#f5f8f7;border-bottom:1px solid #263b40;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:20px;min-height:362px}.hero-copy{padding:40px 0 43px;position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:2.0px;font-weight:700;text-transform:uppercase;color:#9eafb6}.eyebrow:before{content:"";width:26px;height:3px;background:var(--spectral);border-radius:4px}.hero h1{font-size:clamp(34px,3.5vw,51px);line-height:1.08;letter-spacing:-2.1px;font-weight:750;margin:16px 0 18px}.hero h1 span{color:#a0e9bb;display:block;margin-top:4px}.hero-copy>p{font-size:15px;line-height:1.75;color:#b6c5cc;max-width:440px}.hero-benefits{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:22px;font-size:11px;color:#b9c8ce}.hero-benefits span{display:flex;gap:7px;align-items:center}.hero-benefits .icon{width:15px;height:15px;color:#94dbb2}.hero-art{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}.hero-art:before{content:"";position:absolute;inset:9% 0 17%;background:radial-gradient(ellipse,#50785523,transparent 70%);pointer-events:none}.house-canvas{width:100%;height:338px;display:block;position:relative;filter:drop-shadow(0 16px 17px #0005)}.hero-art figcaption{color:#b6c8c5;font-size:10px;letter-spacing:.35px;display:flex;gap:9px;justify-content:center;align-items:center;padding:0 8px 21px;margin-top:-11px}.dot{width:5px;height:5px;background:#89e6b0;border-radius:50%;display:inline-block;flex-shrink:0}.hero-art .model-status{color:#8fa89f}.hero-art .model-status:before{content:"·";margin-right:9px}.model-status{overflow-wrap:anywhere}
.main-wrap{padding-top:28px;padding-bottom:70px}.progress{border:1px solid var(--line);border-radius:50px;background:var(--card);padding:6px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:32px}.step{padding:10px 17px;border-radius:50px;display:flex;align-items:center;gap:11px;text-align:left;min-width:0;transition:background .2s}.step:hover{background:var(--raised)}.step-number{border:1px solid var(--line);width:31px;height:31px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:var(--dim);font-size:12px;font-weight:700}.step-number .icon{width:15px;height:15px}.step-name{font-weight:700;font-size:12px;color:var(--muted)}.step-name small{display:block;font-weight:400;font-size:10px;color:var(--dim);margin-top:1px}.step.active{background:var(--mint-bg)}.step.active .step-number{background:var(--mint);border-color:var(--mint);color:var(--on-mint)}.step.active .step-name{color:var(--ink)}.step.done .step-number{color:var(--mint-text);border-color:var(--mint-line)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:44px;align-items:start;scroll-margin-top:24px}.form-column{min-width:0}.panel{animation:appear .22s ease both}.section-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--dim);font-weight:700;margin:4px 0 12px}.section-meta span:last-child{font-variant-numeric:tabular-nums;letter-spacing:.5px;font-weight:400}.panel h2{font-size:30px;line-height:1.16;letter-spacing:-.9px;font-weight:700}.lead{font-size:14px;line-height:1.65;color:var(--muted);margin:12px 0 24px;max-width:620px}.lead strong{font-weight:500;color:var(--ink)}.context-line{display:flex;align-items:center;gap:9px;margin-bottom:19px;color:var(--muted);font-size:12px}.context-line .icon{width:17px;height:17px;color:var(--mint-text)}.context-line button{margin-left:auto;font-size:11px;color:var(--mint-text);text-decoration:underline;text-underline-offset:3px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.room-card{position:relative;border:1px solid var(--line);background:var(--card);border-radius:22px;padding:20px 18px;text-align:left;transition:border-color .2s,background .2s,transform .2s;min-height:185px}.room-card:hover{border-color:var(--mint-line);transform:translateY(-2px)}.room-card[aria-pressed=true]{border-color:var(--mint-line);background:linear-gradient(140deg,var(--mint-bg),var(--card));box-shadow:inset 0 0 0 1px var(--mint-line)}.room-card .icon{width:27px;height:27px;color:var(--mint-text);margin-bottom:15px}.room-value{font-size:27px;line-height:1.1;display:block;font-weight:700;letter-spacing:-.65px;white-space:nowrap}.room-card .unit{font-size:11px;color:var(--muted);margin-top:5px;display:block}.room-price{font-size:12px;margin-top:15px;display:block;color:var(--ink);font-weight:700}.room-price small{font-weight:400;font-size:10px;display:block;color:var(--dim);margin-top:3px}.choice-mark{position:absolute;right:14px;top:15px;width:19px;height:19px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.choice-mark .icon{width:12px;height:12px;margin:0;opacity:0;color:var(--on-mint)}[aria-pressed=true] .choice-mark{background:var(--mint);border-color:var(--mint)}[aria-pressed=true] .choice-mark .icon{opacity:1}.field-note{font-size:11px;color:var(--dim);line-height:1.7;margin:12px 0 21px}.toggle-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:20px;background:var(--card);padding:19px;margin:20px 0}.toggle-icon{background:var(--raised);border:1px solid var(--line);width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;color:var(--mint-text)}.toggle-icon .icon{width:26px;height:26px}.toggle-copy{min-width:0;flex:1}.toggle-copy strong{font-size:13px;display:block}.toggle-copy p{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.6}.switch{position:relative;width:43px;height:27px;display:block;flex-shrink:0;cursor:pointer}.switch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.switch>span{display:block;border-radius:50px;width:43px;height:27px;background:var(--raised);border:1px solid var(--dim);transition:.2s;pointer-events:none}.switch>span:before{content:"";position:absolute;left:5px;top:5px;width:17px;height:17px;border-radius:50%;background:var(--muted);transition:.2s}.switch input:checked+span{background:var(--mint);border-color:var(--mint)}.switch input:checked+span:before{background:var(--on-mint);transform:translateX(16px)}.switch input:focus-visible+span{outline:3px solid var(--focus);outline-offset:4px}.included{border-top:1px solid var(--line);padding-top:20px;margin-top:23px}.included h3{font-size:12px;margin-bottom:12px}.included-items{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.included-items span{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:flex-start}.included-items .icon{width:15px;height:15px;color:var(--mint-text);margin-top:2px}.disclosure{margin-top:20px;font-size:12px}.disclosure summary{cursor:pointer;color:var(--muted);padding-block:7px}.disclosure p{font-size:11px;color:var(--dim);line-height:1.8;margin-top:8px}.inline-note{border-left:2px solid var(--mint-line);padding:11px 14px;background:var(--mint-bg);color:var(--muted);font-size:11px;line-height:1.8;border-radius:0 10px 10px 0;margin-top:-8px;margin-bottom:15px}
.addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.addon-card{border:1px solid var(--line);background:var(--card);border-radius:25px;padding:20px;position:relative;transition:background .2s,border-color .2s,box-shadow .2s}.addon-card:hover{border-color:#536a6b}.addon-card.selected{border-color:var(--mint-line);background:linear-gradient(130deg,var(--mint-bg),var(--card));box-shadow:inset 0 0 0 1px #80bf9733}.addon-top{display:flex;gap:12px;min-height:68px;align-items:flex-start}.addon-icon{width:43px;height:47px;display:grid;place-items:center;flex-shrink:0;background:var(--raised);border:1px solid var(--line);border-radius:15px;color:var(--mint-text)}.addon-icon .icon{width:29px;height:29px;stroke-width:1.75}.addon-copy{min-width:0;padding-top:1px}.addon-copy h3{font-size:14px;line-height:1.38;font-weight:700;letter-spacing:-.1px}.addon-copy p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px}.addon-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:9px;min-height:62px}.addon-price{font-size:14px;font-weight:700;white-space:nowrap}.addon-price small{display:block;font-size:11px;color:var(--dim);font-weight:400;margin-top:2px}.add-btn{height:40px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:40px;padding:0 13px;font-size:11px;font-weight:700;background:var(--raised);transition:.2s;min-width:115px}.add-btn .icon{width:17px;height:17px}.add-btn:hover{border-color:var(--mint-line);color:var(--mint-text)}.counter{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--mint-line);border-radius:40px;background:var(--card);height:40px;min-width:115px;overflow:hidden}.counter button{height:38px;width:37px;display:grid;place-items:center}.counter button:hover{background:var(--mint-bg)}.counter .icon{width:16px;height:16px}.counter output{font-size:13px;color:var(--mint-text);font-weight:700;font-variant-numeric:tabular-nums}.selected-check{position:absolute;right:11px;top:-8px;border-radius:50%;height:21px;width:21px;display:grid;place-items:center;background:var(--mint);border:3px solid var(--bg);color:var(--on-mint)}.selected-check .icon{width:12px;height:12px;stroke-width:2.4}.selected-status{font-size:11px;color:var(--dim);margin-top:17px;display:flex;align-items:center;gap:8px}.selected-status .icon{width:15px;height:15px}.selected-status.has-selection{color:var(--mint-text)}.discount-note{font-size:9px;display:inline-block!important;color:var(--mint-text);border:1px solid var(--mint-line);padding:2px 7px;border-radius:50px;margin-left:4px;white-space:nowrap}
.action-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:26px;border-top:1px solid var(--line);padding-top:22px}.btn{height:48px;padding:0 22px;border-radius:50px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:700}.btn.primary{background:var(--mint);color:var(--on-mint);box-shadow:0 6px 23px -12px #69e8976b;transition:background .18s,transform .18s}.btn.primary:hover{background:#9af2b8;transform:translateY(-1px)}.btn.secondary{border:1px solid var(--line);background:var(--raised);color:var(--ink)}.btn .icon{width:17px;height:17px}.back-btn{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);min-height:44px;padding:0 3px}.back-btn .icon{width:15px;height:15px}.back-btn:hover{color:var(--mint-text)}.quiet{font-size:11px;color:var(--dim)}.sidebar{position:sticky;top:24px}.price-card{border:1px solid var(--line);border-radius:26px;background:var(--card);overflow:hidden;box-shadow:var(--shadow)}.price-card-top{padding:25px 24px 19px;border-bottom:1px solid var(--line)}.price-card-eyebrow{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:var(--dim);font-weight:700;display:flex;justify-content:space-between;gap:12px;align-items:center}.price-card-eyebrow .icon{width:19px;height:19px;color:var(--mint-text)}.price-card-top h3{font-size:19px;letter-spacing:-.4px;margin-top:12px}.price-card-top p{font-size:11px;margin-top:3px;color:var(--muted)}.sidebar-model{padding:0 15px;display:none;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 50%,#1d3c31,#0e1b23 78%);color:#a2bdb0}.hero-away .sidebar-model{display:block}.sidebar-model .house-canvas{height:204px}.sidebar-model p{font-size:9px;text-align:center;padding:0 8px 12px;margin-top:-6px}.summary-list{padding:19px 24px 6px;display:flex;flex-direction:column;gap:11px}.summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;font-size:11px;line-height:1.65;color:var(--muted)}.summary-row span{min-width:0}.summary-row strong{flex-shrink:0;color:var(--ink);font-size:11px;font-weight:600}.summary-row.extra>span{display:flex;align-items:flex-start;gap:6px}.summary-row .icon{width:13px;height:13px;margin-top:3px;color:var(--mint-text)}.summary-empty{font-size:11px;line-height:1.7;color:var(--dim);padding:3px 0}.price-total{padding:16px 24px 22px}.price-label{color:var(--dim);font-size:10px;text-transform:uppercase;letter-spacing:1.0px;padding-top:16px;border-top:1px solid var(--line)}.big-price{font-size:34px;line-height:1.3;letter-spacing:-1.5px;font-weight:700;margin:6px 0 0;white-space:nowrap;font-variant-numeric:tabular-nums}.big-price .from{font-size:17px;font-weight:400;color:var(--muted);letter-spacing:-.3px}.tax-line{font-size:10px;color:var(--dim);margin-top:3px}.breakdown{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--mint-text);padding:11px 0 0}.breakdown .icon{width:14px;height:14px}.price-scope{font-size:10px;line-height:1.75;color:var(--dim);padding:14px 24px 20px;border-top:1px solid var(--line);background:var(--raised)}.price-scope strong{color:var(--muted);font-weight:500}.side-help{display:flex;gap:11px;align-items:flex-start;padding:21px 8px}.side-help>.icon{width:20px;height:20px;color:var(--mint-text);margin-top:2px}.side-help strong{font-size:11px;font-weight:600;display:block}.side-help p{font-size:11px;color:var(--dim);margin-top:4px}.side-help a{color:var(--mint-text);white-space:nowrap}.mini-model-trigger{display:none}
.demo-note{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:14px;background:var(--raised);padding:12px 15px;margin-bottom:16px;font-size:11px;color:var(--muted);line-height:1.7}.demo-note>.icon{width:17px;height:17px;color:var(--dim);margin-top:2px}.demo-note strong{font-weight:600;color:var(--ink);display:block}.section-label{font-size:14px;font-weight:700;margin-bottom:13px;display:block}.slots{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.slot{position:relative;display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:18px;background:var(--card);padding:15px;min-height:92px;cursor:pointer;transition:.18s}.slot:hover{border-color:var(--mint-line)}.slot.selected{border-color:var(--mint-line);background:var(--mint-bg);box-shadow:inset 0 0 0 1px var(--mint-line)}.slot:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.slot-day{background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:6px 8px;min-width:49px;text-align:center}.slot-day strong{font-size:23px;line-height:1.1;display:block;font-variant-numeric:tabular-nums;font-weight:600}.slot-day span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--dim)}.slot-copy strong{font-size:12px;font-weight:600}.slot-copy>span{display:flex;gap:5px;align-items:center;color:var(--muted);font-size:11px;margin-top:2px}.slot-copy .icon{width:12px;height:12px}.slot-radio{width:18px;height:18px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin-left:auto;flex-shrink:0}.slot-radio .icon{width:12px;height:12px;opacity:0}.selected .slot-radio{border-color:var(--mint);background:var(--mint);color:var(--on-mint)}.selected .slot-radio .icon{opacity:1}.slot-year{font-size:10px;color:var(--dim);margin-top:12px}.appointment-picked{font-size:11px;display:flex;gap:7px;align-items:center;color:var(--mint-text);margin-top:13px}.appointment-picked .icon{width:15px;height:15px}.contact-head{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:25px;margin-top:27px;margin-bottom:18px}.contact-head h3{font-size:18px;letter-spacing:-.3px}.sample-button{font-size:10px;color:var(--mint-text);padding:6px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:600;color:var(--ink)}.optional{font-weight:400;color:var(--dim);font-size:10px}.field input,.field textarea{color:var(--ink);width:100%;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:12px 13px;font-size:13px;line-height:1.5;transition:border-color .2s;min-height:46px}.field input:hover,.field textarea:hover{border-color:#59706d}.field input::placeholder,.field textarea::placeholder{color:var(--dim);opacity:.8}.field textarea{min-height:91px;resize:vertical}.field [aria-invalid=true]{border-color:var(--error)}.field-error,.group-error{font-size:11px;color:var(--error)}.group-error{margin:12px 0}.privacy-note{font-size:10px;color:var(--dim);display:flex;align-items:flex-start;gap:7px;line-height:1.75;margin-top:15px}.privacy-note .icon{width:13px;height:13px;margin-top:2px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-card{border:1px solid var(--line);border-radius:20px;padding:19px;background:var(--card);min-width:0}.review-card.wide{grid-column:1/-1}.review-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.review-head h3{font-size:12px;display:flex;align-items:center;gap:8px}.review-head .icon{width:17px;height:17px;color:var(--mint-text)}.review-head button{font-size:10px;color:var(--mint-text);padding:4px 0}.review-value{font-size:12px;color:var(--muted);line-height:1.9;white-space:pre-line;overflow-wrap:anywhere}.review-value strong{font-weight:600;color:var(--ink)}.review-totals{margin-top:20px;padding:22px;border:1px solid var(--mint-line);border-radius:20px;background:var(--mint-bg)}.review-total-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.review-total-top h3{font-size:13px}.review-total-top p{font-size:10px;color:var(--muted);margin-top:3px}.review-money{font-size:24px;font-weight:700;white-space:nowrap;letter-spacing:-.6px}.finish-state{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:38px;min-height:400px;text-align:center}.finish-emblem{width:72px;height:72px;border:1px solid var(--mint-line);background:var(--mint-bg);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;color:var(--mint-text)}.finish-emblem .icon{width:33px;height:33px}.finish-state h2{font-size:30px}.finish-state .lead{max-width:430px;margin:15px auto 25px}.finish-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.finish-state .quiet{margin-top:18px}.footer{background:var(--card);border-top:1px solid var(--line);padding:26px 0;font-size:10px;color:var(--dim)}.footer .wrap{display:flex;justify-content:space-between;gap:22px;align-items:center}.footer strong{display:block;color:var(--muted);font-size:11px;font-weight:600;margin-bottom:2px}.footer-tools{display:flex;gap:21px;align-items:center;flex-wrap:wrap}.footer-tools button{font-size:10px;padding:5px 0;color:var(--muted)}.footer-tools button:hover{color:var(--mint-text)}.mobile-dock{display:none}
.dialog{width:min(570px,calc(100% - 32px));max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:26px;color:var(--ink);background:var(--card);box-shadow:0 30px 120px #0008}.dialog::backdrop{background:#041019bb;backdrop-filter:blur(5px)}.dialog-inner{padding:28px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:21px}.dialog-head h2{font-size:22px;letter-spacing:-.5px;margin-top:6px;line-height:1.2}.dialog-head .circle-button{width:36px;height:36px;flex-shrink:0}.dialog-head .icon{width:17px;height:17px}.dialog p{font-size:12px;color:var(--muted);line-height:1.85}.dialog h3{font-size:13px;margin:22px 0 7px}.dialog .summary-list{padding:0}.dialog .summary-row{font-size:12px;margin-bottom:1px}.dialog .summary-row strong{font-size:12px}.divider{border:0;border-top:1px solid var(--line);margin:18px 0}.dialog .grand-row{font-weight:700;color:var(--ink)}.dialog .grand-row strong{font-size:16px}.dialog-model{width:min(740px,calc(100% - 30px));background:#0e1b23;color:#f0f5f2}.dialog-model .dialog-head h2{color:#f0f5f2}.dialog-model .house-canvas{height:370px;margin-top:-28px}.dialog-model .circle-button{color:#eaf3ef;border-color:#3c5349;background:transparent}.model-details{padding-top:15px;border-top:1px solid #31483f;display:flex;gap:12px 19px;flex-wrap:wrap;justify-content:center;font-size:11px;color:#a2e2b9}.model-details span{display:flex;gap:6px;align-items:center}.model-details .icon{width:15px;height:15px}.dialog-model .model-footnote{font-size:10px;text-align:center;color:#9cafad;margin-top:16px}.dialog-model .model-controls{display:flex;justify-content:center;gap:13px;margin-top:16px}.dialog-model .model-controls button{border:1px solid #3b554b;border-radius:30px;padding:8px 13px;font-size:10px;color:#bccfc5}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,16px);max-width:calc(100% - 36px);border:1px solid var(--mint-line);background:var(--card);box-shadow:var(--shadow);color:var(--ink);border-radius:15px;padding:12px 18px;font-size:12px;z-index:80;opacity:0;pointer-events:none;transition:.2s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.no-js{margin:30px;background:#fff1d9;color:#5a4018;padding:20px;border-radius:14px}.terms-list{margin-top:15px!important}.empty-slots{padding:22px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);font-size:12px}.loading-bar{height:4px;background:var(--line);border-radius:4px;margin-top:12px;overflow:hidden}.loading-bar:after{content:"";display:block;width:40%;height:100%;background:var(--mint);animation:loading 1s alternate infinite ease-in-out}
@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes loading{to{transform:translateX(150%)}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:1450px){.hero-inner{min-height:390px}.house-canvas{height:366px}.hero h1{font-size:53px}.hero-copy>p{font-size:16px}.hero-benefits{font-size:12px}}
@media(max-width:1130px){.wrap{width:calc(100% - 48px)}.layout{grid-template-columns:minmax(0,1fr) 302px;gap:28px}.addon-card{padding:17px}.addon-top{gap:10px}.addon-copy h3{font-size:13px}.addon-icon{width:38px;height:42px;border-radius:13px}.addon-icon .icon{width:26px;height:26px}.addon-price{font-size:12px}.add-btn,.counter{min-width:102px}.add-btn{padding:0 10px;font-size:10px}.room-card{padding:18px 14px}.room-value{font-size:25px}.step{padding:9px 12px}.hero h1{font-size:41px}.hero-benefits{gap:11px 14px}.price-card-top,.summary-list,.price-total{padding-left:20px;padding-right:20px}.price-scope{padding-inline:20px}.big-price{font-size:31px}}
@media(max-width:940px){.layout{grid-template-columns:minmax(0,1fr) 274px;gap:22px}.addon-grid{gap:12px}.addon-top{min-height:82px}.addon-copy h3{font-size:12px}.addon-copy p{font-size:10px}.addon-icon{width:34px;height:38px}.addon-icon .icon{width:24px;height:24px}.addon-card{padding:15px}.addon-bottom{flex-wrap:wrap;gap:8px}.addon-price{font-size:13px}.add-btn,.counter{min-width:100px}.hero-inner{grid-template-columns:1fr .88fr;gap:5px;min-height:330px}.hero-copy{padding-block:34px}.hero h1{font-size:36px;letter-spacing:-1.5px}.hero-copy>p{font-size:13px}.hero-benefits{gap:10px;font-size:10px}.house-canvas{height:299px}.step-name{font-size:11px}.step-name small{font-size:9px}.room-grid{gap:9px}.room-card{padding:17px 11px}.room-value{font-size:23px}.room-price{font-size:11px}.panel h2{font-size:27px}.lead{font-size:13px}.included-items{grid-template-columns:1fr}.included-items span{font-size:11px}.slot{padding:12px;gap:9px}.slot-copy strong{font-size:11px}.slot-copy>span{font-size:10px}.slot-day{min-width:42px;padding:6px}.review-grid{grid-template-columns:1fr}.review-card.wide{grid-column:auto}.big-price{font-size:29px}.price-card-top h3{font-size:18px}.discount-note{margin-left:0;margin-top:4px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.utility{height:29px;font-size:10px}.utility-right{gap:12px}.utility-right span:first-child{display:none}.nav-row{height:76px}.brand img{width:94px}.nav-actions{gap:9px}.nav-link{display:none}.nav-caption{padding:10px 13px;font-size:11px;gap:6px}.nav-caption .icon{width:15px;height:15px}.circle-button{width:36px;height:36px}.circle-button .icon{width:19px;height:19px}.hero-inner{display:grid;grid-template-columns:1fr;gap:0}.hero-copy{padding:31px 0 0}.eyebrow{font-size:9px;letter-spacing:1.75px}.hero h1{font-size:37px;letter-spacing:-1.6px;max-width:520px;margin:14px 0}.hero-copy>p{font-size:13px;max-width:420px;line-height:1.7}.hero-benefits{gap:13px;font-size:10px;margin-top:17px}.hero-benefits .icon{width:13px;height:13px}.hero-art{margin-top:-5px}.hero-art .house-canvas{height:255px}.hero-art figcaption{font-size:9px;padding-bottom:21px;margin-top:-15px}.main-wrap{padding-top:20px;padding-bottom:33px}.progress{margin-bottom:25px;padding:5px;gap:2px;border-radius:20px}.step{padding:8px 3px;flex-direction:column;gap:5px;text-align:center;border-radius:14px}.step-number{width:24px;height:24px;font-size:10px}.step-name{font-size:10px;line-height:1.2;white-space:nowrap}.step-name small{display:none}.layout{display:block;scroll-margin-top:18px}.sidebar{display:none}.section-meta{font-size:9px;margin-bottom:11px}.panel h2{font-size:27px;letter-spacing:-.8px;max-width:390px}.lead{font-size:13px;margin:11px 0 22px}.context-line{margin-bottom:18px;font-size:11px}.room-grid{gap:9px}.room-card{border-radius:18px;padding:17px 12px;min-height:174px}.room-card .icon{width:23px;height:23px}.room-value{font-size:23px;letter-spacing:-.8px}.room-card .unit{font-size:10px}.room-price{font-size:11px;margin-top:13px}.room-price small{font-size:9px;line-height:1.5}.choice-mark{right:10px;top:12px;width:15px;height:15px}.choice-mark .icon{width:10px;height:10px}.field-note{font-size:10px;line-height:1.8}.toggle-card{padding:16px 13px;border-radius:18px;gap:10px}.toggle-icon{width:38px;height:42px;border-radius:13px}.toggle-icon .icon{width:25px;height:25px}.toggle-copy strong{font-size:12px}.toggle-copy p{font-size:10px}.switch{width:40px;height:25px}.switch>span{width:40px;height:25px}.switch>span:before{top:4px;left:4px}.switch input:checked+span:before{transform:translateX(15px)}.included{margin-top:20px}.included-items{grid-template-columns:1fr 1fr;gap:10px}.included-items span{font-size:10px}.addon-grid{grid-template-columns:1fr;gap:13px}.addon-card{padding:19px;border-radius:23px}.addon-top{gap:13px;min-height:62px}.addon-icon{width:45px;height:47px;border-radius:15px}.addon-icon .icon{width:31px;height:31px}.addon-copy h3{font-size:15px}.addon-copy p{font-size:12px;margin-top:5px}.addon-bottom{flex-wrap:nowrap;padding-top:15px;margin-top:12px;min-height:62px}.addon-price{font-size:15px}.addon-price small{font-size:11px}.add-btn,.counter{height:44px;min-width:128px;font-size:12px}.counter button{height:42px;width:42px}.counter output{font-size:14px}.selected-check{width:23px;height:23px}.selected-status{font-size:11px;line-height:1.7}.discount-note{font-size:9px;margin-left:0}.action-row{margin-top:22px;padding-top:16px}.action-row>.next-btn{display:none}.action-row .quiet{font-size:10px}.mini-model-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:11px 13px;margin-top:20px;font-size:11px;width:100%;color:var(--muted);min-height:47px}.mini-model-trigger>span{display:flex;gap:8px;align-items:center}.mini-model-trigger .icon{width:17px;height:17px;color:var(--mint-text)}.footer{padding-block:22px 125px}.footer .wrap{flex-direction:column;align-items:flex-start;gap:17px}.footer-tools{gap:20px}.mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:20;border-top:1px solid var(--line);background:var(--card);padding:13px 18px max(13px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -12px 28px #0002}.dock-label{font-size:8px;letter-spacing:1.5px;font-weight:700;color:var(--dim);text-transform:uppercase}.dock-price{display:block;font-size:23px;font-weight:700;line-height:1.25;letter-spacing:-.9px;white-space:nowrap}.dock-price .from{font-size:13px;letter-spacing:-.3px;font-weight:400;color:var(--muted)}.dock-detail{font-size:9px;color:var(--mint-text);text-decoration:underline;text-underline-offset:3px;padding:2px 0}.mobile-dock .btn{height:49px;padding:0 18px;font-size:12px;min-width:138px}.mobile-dock .btn .icon{width:17px;height:17px}.toast{bottom:106px;width:max-content;max-width:calc(100% - 35px);font-size:11px}.slots{gap:10px}.slot{padding:13px 11px;gap:9px;min-height:89px}.slot-day{min-width:41px}.slot-day strong{font-size:22px}.slot-copy strong{font-size:11px}.slot-copy>span{font-size:10px}.slot-radio{width:15px;height:15px}.slot-radio .icon{width:10px;height:10px}.demo-note{padding:12px;font-size:10px}.contact-head{padding-top:21px;gap:10px}.contact-head h3{font-size:18px}.sample-button{font-size:9px;max-width:115px;text-align:right}.form-grid{gap:16px 13px}.field label{font-size:12px}.field input,.field textarea{font-size:16px;min-height:48px}.field.email,.field.phone,.field.name{grid-column:1/-1}.review-grid{grid-template-columns:1fr}.review-card{padding:20px}.review-head h3{font-size:13px}.review-value{font-size:13px}.review-total-top{align-items:flex-start}.review-money{font-size:21px}.review-totals{padding:18px}.review-total-top h3{font-size:12px}.review-total-top p{font-size:9px}.finish-state{padding:28px 21px}.finish-state h2{font-size:27px}.finish-buttons{flex-direction:column}.dialog{max-height:90dvh}.dialog-inner{padding:23px 20px}.dialog-model .house-canvas{height:270px;margin-top:-18px}.dialog-head h2{font-size:21px}.model-details{font-size:10px;gap:10px 14px}.dialog-model .model-footnote{font-size:9px}.hero-away .sidebar-model{display:none}}
@media(max-width:375px){.wrap{width:calc(100% - 28px)}.nav-actions{gap:6px}.nav-caption{font-size:10px;padding:10px}.nav-caption .icon{display:none}.hero h1{font-size:32px}.hero-benefits{gap:7px;font-size:9px}.hero-art .house-canvas{height:230px}.room-card{padding:16px 9px}.room-value{font-size:21px}.room-price{font-size:10px}.room-price small{font-size:8px}.room-card .unit{font-size:9px}.panel h2{font-size:25px}.slot{padding:12px 8px;gap:7px}.slot-day{min-width:36px;padding:6px 4px}.slot-copy strong{font-size:10px}.slot-radio{margin-left:2px}.slot-copy>span{font-size:9px}.mobile-dock{padding-inline:14px;gap:9px}.dock-price{font-size:21px}.mobile-dock .btn{min-width:129px;padding-inline:13px;font-size:11px}.addon-card{padding:17px}}
@media print{.utility,.masthead,.hero,.progress,.sidebar,.footer,.mobile-dock,.action-row,.toast,.mini-model-trigger,.review-head button,.demo-note,dialog{display:none!important}.main-wrap,.wrap{width:100%;padding:0}.layout{display:block}.panel{display:none!important}#panel-3{display:block!important}.review-card,.review-totals{break-inside:avoid}body{color:#111;background:#fff}.review-value,.summary-row{color:#333}.review-grid{grid-template-columns:1fr 1fr}.review-card,.review-totals{border-color:#ccc;background:#fff}}

/* A single architectural visual, reused in the hero, selection card and detail view.
   The aspect ratio and camera stay fixed. Only a real configuration change fades. */
.visual-stage{position:relative;isolation:isolate;min-width:0;width:100%;height:338px}
.visual-stage>.house-canvas{display:block;position:absolute;inset:0;width:100%;height:100%!important;margin:0!important;filter:drop-shadow(0 14px 16px #0004)}


.visual-stage--dialog{height:370px;margin-top:-28px}
.selection-cover{position:relative;isolation:isolate;height:274px;overflow:hidden;background:radial-gradient(ellipse at 55% 38%,#31554264 0%,#15322c38 45%,transparent 75%),#0e1d24;color:#f5f8f7}
.selection-cover:after{content:"";position:absolute;inset:58% 0 0;background:linear-gradient(transparent,#0e1b23 83%);z-index:2;pointer-events:none}
.selection-cover .visual-stage{position:absolute;inset:-1px 4px auto;width:calc(100% - 8px);height:216px}
.selection-cover__caption{position:absolute;left:22px;right:22px;bottom:20px;z-index:3;pointer-events:none}
.selection-cover__caption>span{display:block;color:#b3c6c5;font-size:10px;letter-spacing:1.65px;margin-bottom:5px}
.selection-cover__caption h3{font-size:24px;line-height:1.12;letter-spacing:-.65px;color:#f5f8f7;font-weight:700}
.selection-edit{position:absolute;right:15px;top:15px;z-index:4;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid #8ba59b66;background:#0f2328c9;color:#e9f8ee;backdrop-filter:blur(8px);transition:background .2s,border-color .2s}
.selection-edit .icon{width:17px;height:17px}.selection-edit:hover{background:#244f3d;border-color:#98d1b3}
.selection-info{border-bottom:1px solid var(--line);padding:17px 22px 16px;background:var(--card)}
.selection-description{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:11px;line-height:1.7}
.selection-description .icon{color:var(--mint-text);width:17px;height:17px;margin-top:1px}
.selection-features{color:var(--mint-text);font-size:10px;line-height:1.6;margin:7px 0 0 26px;overflow-wrap:anywhere}
.selection-view{display:flex;align-items:center;gap:6px;color:var(--dim);font-size:10px;line-height:1.5;padding:0;margin:10px 0 0 26px;text-decoration:underline;text-underline-offset:3px}
.selection-view:hover{color:var(--mint-text)}.selection-view .icon{width:13px;height:13px}
.mobile-selection-card{display:none;border:1px solid var(--line);border-radius:24px;overflow:hidden;margin-bottom:23px;background:var(--card)}
.mobile-selection-card .selection-info{border-bottom:0}
.mobile-selection-card .selection-cover__caption h3{font-size:24px}
.selection-schema-note{font-size:10px;color:var(--dim);line-height:1.65;margin-top:12px}
@media(min-width:1450px){.visual-stage--hero{height:364px}}
@media(max-width:1130px){.visual-stage--hero{height:302px}}
@media(max-width:940px) and (min-width:761px){.selection-cover{height:244px}.selection-cover .visual-stage{height:188px}.selection-cover__caption{left:18px;right:18px}.selection-cover__caption h3{font-size:21px}.selection-info{padding:15px 18px}}
@media(max-width:760px){
 .visual-stage--hero{height:250px}
 .mobile-selection-card:not([hidden]){display:block}
 .mobile-selection-card .selection-cover{height:246px}
 .mobile-selection-card .selection-cover .visual-stage{height:202px;inset:-7px 0 auto;width:100%}
 .mobile-selection-card .selection-cover__caption{bottom:17px;left:20px;right:20px}
 .mobile-selection-card .selection-info{padding:14px 20px}
 .mobile-selection-card .selection-features{font-size:11px}
 .visual-stage--dialog{height:270px;margin-top:-18px}
 .mobile-selection-card:not([hidden])~.context-line{display:none}
}
@media(max-width:375px){.visual-stage--hero{height:226px}.mobile-selection-card .selection-cover{height:231px}.mobile-selection-card .selection-cover .visual-stage{height:188px}.mobile-selection-card .selection-cover__caption h3{font-size:22px}}
@media print{.mobile-selection-card,.visual-stage{display:none!important}}

/* Technical architectural language from KEA_Home_Design_01(2).html.
   Only the illustration surfaces change. Existing mint selection controls remain. */
.hero{background:radial-gradient(ellipse at 79% 45%,#2e404752,transparent 52%),radial-gradient(ellipse at 73% 95%,#97471313,transparent 38%),#10171c;border-bottom-color:#2b383e}
.hero-art:before{background:radial-gradient(ellipse,#768e9911,transparent 68%);inset:0;pointer-events:none}
.visual-stage--hero{height:396px}
.visual-stage>.house-canvas{mix-blend-mode:normal;filter:none!important}
.technical-house{overflow:hidden;contain:layout style;--house-scale:.96;isolation:isolate;user-select:none}
.technical-svg{width:100%;height:100%;display:block;overflow:visible}
.technical-house .tech-solo{transform:scale(var(--house-scale));transform-origin:357px 352px;transition:opacity .56s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.tech-dual{opacity:0;transition:opacity .56s cubic-bezier(.22,1,.36,1);pointer-events:none}
.technical-house[data-second=true] .tech-dual{opacity:1}
.technical-house[data-second=true] .tech-solo{opacity:0}
.tech-part{opacity:0;transition:opacity .5s ease;pointer-events:none}
.technical-house[data-solar=true] .tech-solar,.technical-house[data-pool=true] .tech-pool,.technical-house[data-wallbox=true] .tech-wallbox,.technical-house[data-meter=true] .tech-meter,.technical-house[data-heat=true] .tech-heat{opacity:1}
.technical-house .tech-secondary .tech-part{display:none}
.tech-view{transition:opacity .45s ease}
.tech-view--front{opacity:0;pointer-events:none}
.technical-house[data-view=front] .tech-view--front{opacity:1}
.technical-house[data-view=front] .tech-view--iso{opacity:0;pointer-events:none}
.tech-annotations text{font:9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.1px;fill:#9fb3be}
.tech-index text{font-size:10px;letter-spacing:1.8px}
.tech-current{animation:techCurrent 7.5s linear infinite;animation-delay:var(--scene-phase,0s)}
.tech-current--alt{animation-duration:6s;animation-direction:reverse}
.tech-node-core{animation:techBreathe 4s ease-in-out infinite;animation-delay:var(--scene-phase,0s)}
.tech-orbit{transform-origin:357px 331px;animation:techOrbit 100s linear infinite;animation-delay:var(--scene-phase,0s)}
.tech-fan{transform-origin:0 0;animation:techOrbit 12s linear infinite;animation-delay:var(--scene-phase,0s)}
.tech-water-line{animation:techBreathe 5s ease-in-out infinite;animation-delay:var(--scene-phase,0s)}
.hero-art figcaption{margin-top:0;padding:0 0 20px;flex-wrap:wrap;gap:5px 9px;line-height:1.7}
.hero-art .dot{background:#ffa05c;box-shadow:0 0 12px #f7894b38}
.hero-art .model-status{color:#95a8b2}
.hero-art .model-status:before{color:#677982}
.technical-heading{font:9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.7px;position:absolute;top:19px;left:25px;z-index:2;display:flex;gap:9px;align-items:center;color:#9aaeb8;pointer-events:none}
.technical-heading:before{content:"";width:18px;height:1px;background:#ff9e5a}
.selection-cover{height:292px;background:radial-gradient(ellipse at 64% 40%,#3a4c5544,transparent 65%),radial-gradient(ellipse at 45% 91%,#bf632315,transparent 55%),#10191f}
.selection-cover:after{inset:72% 0 0;background:linear-gradient(transparent,#10191f 86%)}
.selection-cover .visual-stage{inset:7px 0 auto;width:100%;height:225px}
.selection-cover__caption{bottom:19px}
.selection-cover__caption>span{color:#a6bac5}
.selection-cover__caption h3{font-size:23px}
.selection-edit{background:#25343acc;border-color:#788d9566}
.visual-stage--selection .tech-annotations,.visual-stage--selection .tech-orbits{display:none}
.visual-stage--selection .floor-grid{opacity:.18}
.visual-stage--selection .tech-current{stroke-width:2.4}
.visual-stage--dialog{height:440px;margin:0;border-radius:18px;background:radial-gradient(ellipse at 60% 50%,#3446514d,transparent 60%),#10191f;border:1px solid #34444d;overflow:hidden}
.dialog-model .dialog-head{margin-bottom:15px}
.model-controls button[aria-pressed=true]{border-color:#ce8e5d;color:var(--ink);background:var(--raised)}
.technical-house.scene-idle *,.technical-house[data-motion=off] *,.tech-backgrounded .technical-house *{animation-play-state:paused!important}
.technical-house.scene-instant *,.technical-house[data-motion=off] *{transition:none!important}
.technical-house[data-solar=false] .tech-solar *,.technical-house[data-pool=false] .tech-pool *,.technical-house[data-wallbox=false] .tech-wallbox *,.technical-house[data-meter=false] .tech-meter *,.technical-house[data-heat=false] .tech-heat *{animation-play-state:paused!important}
.technical-house[data-second=false] .tech-dual *,.technical-house[data-second=true] .tech-solo *,.technical-house[data-view=perspective] .tech-view--front *,.technical-house[data-view=front] .tech-view--iso *{animation-play-state:paused!important}
@keyframes techCurrent{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes techBreathe{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes techOrbit{to{transform:rotate(360deg)}}
@media(min-width:1450px){.visual-stage--hero{height:420px}}
@media(max-width:1130px) and (min-width:761px){.visual-stage--hero{height:356px}.technical-heading{font-size:8px;left:15px;top:16px}}
@media(max-width:940px) and (min-width:761px){.selection-cover{height:264px}.selection-cover .visual-stage{height:202px}.selection-cover__caption h3{font-size:20px}}
@media(max-width:760px){
 .hero-art{margin-top:14px}.visual-stage--hero{height:304px}.technical-heading{top:8px;left:6px;font-size:8px;letter-spacing:1.35px}
 .hero-art figcaption{font-size:9px;line-height:1.7;padding:0 3px 23px;max-width:440px;margin-inline:auto;justify-content:center}
 .mobile-selection-card .selection-cover{height:276px}.mobile-selection-card .selection-cover .visual-stage{height:217px;inset:0;width:100%}
 .mobile-selection-card .selection-cover__caption{bottom:18px}.mobile-selection-card .selection-cover__caption h3{font-size:23px}
 .visual-stage--dialog{height:340px;margin:0}.tech-annotations text{font-size:10px}
}
@media(max-width:375px){.visual-stage--hero{height:272px}.technical-heading{font-size:7px;top:4px}.mobile-selection-card .selection-cover{height:256px}.mobile-selection-card .selection-cover .visual-stage{height:198px}.mobile-selection-card .selection-cover__caption h3{font-size:22px}.visual-stage--dialog{height:284px}}
@media(prefers-reduced-motion:reduce){.technical-house *{animation:none!important;transition:none!important}}
@media print{.visual-stage{display:none!important}}

/* FINAL IMAGE INTEGRATION
   Desktop: photographic hero above; technical SVG stays in the price card.
   Mobile: full photographic hero; technical view and price together in the sheet.
   The photo is intentionally free of UI pills, titles, technical labels and boxes. */
.hero{background:#10191f}
.hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding-block:35px 24px}
.hero-copy{position:relative;z-index:2}
.mood-hero{display:block;min-width:0;width:100%;margin:0;position:relative}
.mood-photo{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;isolation:isolate;border-radius:0 30px 30px 0;background:#16232a;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 100%)}
.mood-scene{position:absolute;inset:0;transition:opacity 620ms cubic-bezier(.22,1,.36,1)}
.mood-scene-second{opacity:0}
.mood-photo[data-second=true] .mood-scene-second{opacity:1}
.mood-photo[data-second=true] .mood-scene-single{opacity:0}
.mood-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;user-select:none;pointer-events:none}
.mood-layer{opacity:0;transition:opacity 620ms cubic-bezier(.22,1,.36,1)}
.mood-photo[data-solar=true] [data-feature=solar],.mood-photo[data-pool=true] [data-feature=pool],.mood-photo[data-wallbox=true] [data-feature=wallbox],.mood-photo[data-heat=true] [data-feature=heat],.mood-photo[data-meter=true] [data-feature=meter]{opacity:1}
.mood-photo:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,transparent 74%,#10191f22 94%,#10191f44)}
.mood-hero figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;line-height:1.5;color:#b7c4c9;margin-top:12px;padding-left:8%;letter-spacing:.12px}
.mood-hero figcaption small{font-size:9px;color:#82969f;white-space:nowrap}
.mood-photo.is-instant .mood-layer,.mood-photo.is-instant .mood-scene{transition:none!important}
/* Technical picture belongs with the price, not a second photographic hero. */
.sidebar .selection-cover{display:block}
#price-dialog .mobile-selection-card{margin:0 0 18px;border-radius:20px}
#price-dialog .mobile-selection-card .selection-cover{height:244px}
#price-dialog .mobile-selection-card .selection-cover .visual-stage{height:186px}
#price-dialog .mobile-selection-card .selection-cover__caption h3{font-size:21px}
#price-dialog .mobile-selection-card .selection-info{padding:12px 18px}
#price-dialog .mobile-selection-card .selection-view{display:none}
.mobile-model-link{display:none}
@media(min-width:1450px){.hero-inner{gap:48px;padding-block:38px 28px}.mood-photo{border-radius:0 34px 34px 0}}
@media(max-width:1130px) and (min-width:761px){.hero-inner{gap:20px}.hero-copy h1{font-size:clamp(30px,3.45vw,43px)}.mood-hero figcaption{font-size:10px}.mood-hero figcaption small{font-size:8px}}
@media(max-width:760px){
 .hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding-block:25px 22px}
 .hero-copy{width:100%;max-width:none;padding:0}
 .hero-copy>p{max-width:460px}
 .hero-benefits{flex-wrap:wrap;row-gap:8px}
 .mood-hero{display:block!important;width:100%;max-width:560px;margin:0 auto}
 .mood-photo{display:block!important;aspect-ratio:4/3;height:auto;min-height:0;border-radius:22px;-webkit-mask-image:none;mask-image:none}
 .mood-hero figcaption{font-size:10px;padding-left:2px;margin-top:10px;gap:8px}
 .mood-hero figcaption small{font-size:8px}
 .mobile-model-link{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:1px solid var(--line);border-radius:18px;padding:13px 16px;background:var(--card);text-align:left;margin-bottom:21px}
 .mobile-model-link>span{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}
 .mobile-model-link>.icon{width:17px;height:17px;color:var(--mint-text)}
 .mobile-model-link .icon{color:var(--mint-text);width:19px;height:19px}
 #price-dialog .mobile-selection-card:not([hidden]){display:block}
 .mobile-selection-card~.context-line{display:none}
 #price-dialog{max-height:88dvh;overflow:auto;overscroll-behavior:contain}
}
@media(max-width:375px){.hero-inner{gap:19px}.mood-photo{border-radius:18px}.mood-hero figcaption{font-size:9px}.mood-hero figcaption small{font-size:7.5px}.mobile-model-link{padding:12px 14px}.mobile-model-link>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.mood-layer,.mood-scene{transition:none!important}}
:root[data-motion=off] .mood-layer,:root[data-motion=off] .mood-scene{transition:none!important}
@media print{.mood-hero,.mobile-model-link,#price-dialog .mobile-selection-card{display:none!important}}
/* Only the six service choices, their additional fields, and the small thumbnail.
   Existing palette, hero, card design, typography and layout are retained. */
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.service-choice{position:relative;width:100%;display:flex;gap:14px;align-items:flex-start;text-align:left;padding:20px 18px;border:1px solid var(--line);border-radius:25px;background:var(--card);min-height:116px;transition:border-color .2s,background .2s,box-shadow .2s}
.service-choice:hover{border-color:var(--mint-line)}
.service-choice[aria-checked=true]{border-color:var(--mint-line);background:linear-gradient(140deg,var(--mint-bg),var(--card));box-shadow:inset 0 0 0 1px #80bf9733}
.service-icon{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:15px;background:var(--mint-bg);color:var(--mint-text)}
.service-icon .icon{width:28px;height:28px;stroke-width:1.55}
.service-copy{display:block;min-width:0;padding:1px 20px 0 0}
.service-copy strong{font-size:15px;line-height:1.3;display:block;letter-spacing:-.1px}
.service-copy>span{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:10px}
.service-radio{position:absolute;top:21px;right:17px;width:21px;height:21px;border:1.5px solid var(--dim);border-radius:50%;display:grid;place-items:center}
.service-radio .icon{width:13px;height:13px;opacity:0}
.service-choice[aria-checked=true] .service-radio{background:var(--mint);border-color:var(--mint);color:var(--on-mint)}
.service-choice[aria-checked=true] .service-radio .icon{opacity:1}
.detail-section{margin-bottom:24px}.detail-section>h3{font-size:14px;margin:24px 0 12px;letter-spacing:-.1px}.detail-section:first-child>h3{margin-top:0}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-grid .field{margin:0}.detail-grid .field select,.detail-grid .field input{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:10px 12px}
.field small,.detail-note{display:block;color:var(--dim);font-size:11px;line-height:1.65;margin-top:8px}
.scope-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.scope-choice{border:1px solid var(--line);border-radius:19px;padding:17px;text-align:left;background:var(--card);line-height:1.5;min-height:86px}
.scope-choice strong{display:block;font-size:14px}.scope-choice small{display:block;font-size:11px;color:var(--dim);margin-top:6px}
.scope-choice[aria-pressed=true]{border-color:var(--mint-line);background:var(--mint-bg);box-shadow:inset 0 0 0 1px #80bf9733}
.detail-quantity{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:12px 0;border:1px solid var(--line);border-radius:20px;background:var(--card)}
.detail-quantity strong{font-size:13px}.detail-quantity small{display:block;color:var(--dim);font-size:11px;line-height:1.6}.detail-quantity .counter{flex:none}
.unit-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:360px;overflow:auto;padding:2px 3px 2px 0;margin-top:16px}
.unit-row{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);font-size:11px}.unit-row>label{font-weight:600;display:block;margin-bottom:6px}.unit-row select{width:100%;padding:8px;border-radius:8px;border:1px solid var(--line);background:var(--raised);color:var(--ink);font-size:12px}.unit-row input{width:74px;padding:5px;border-radius:6px;border:1px solid var(--line);background:var(--raised);color:var(--ink)}
.price-pending{font-size:24px;letter-spacing:-.5px}.addon-price.price-on-request{font-size:11px;white-space:normal;max-width:130px;font-weight:500;color:var(--dim)}
.selection-thumb-row{padding:14px 22px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);background:var(--raised)}
.selection-thumb-row>div:last-child{min-width:0}.selection-thumb-row span{font-size:11px;display:block;color:var(--muted);font-weight:600}.selection-thumb-row small{font-size:10px;display:block;line-height:1.55;color:var(--dim);margin-top:3px}
.selection-thumb{position:relative;width:98px;height:68px;flex:0 0 98px;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:#16232a;isolation:isolate}
.selection-thumb .mood-scene{inset:0}.selection-thumb .mood-image{object-fit:cover;object-position:center}
.mood-other{position:absolute;inset:0;opacity:0;transition:opacity 620ms cubic-bezier(.22,1,.36,1);pointer-events:none;z-index:2}
[data-scene=other] .mood-other{opacity:1}[data-scene=other]>.mood-scene{opacity:0!important}
.selection-thumb[data-second=true] .mood-scene-second{opacity:1}.selection-thumb[data-second=true] .mood-scene-single{opacity:0}
.selection-thumb[data-solar=true] [data-feature=solar],.selection-thumb[data-pool=true] [data-feature=pool],.selection-thumb[data-wallbox=true] [data-feature=wallbox],.selection-thumb[data-heat=true] [data-feature=heat],.selection-thumb[data-meter=true] [data-feature=meter]{opacity:1}
#price-dialog .selection-thumb-row{border-radius:16px;margin-top:18px;border:1px solid var(--line)}
.technical-house[data-battery=true] .tech-battery{opacity:1}.technical-house .tech-apartment-focus{fill:#ffd0a014;stroke:#ff9b56;stroke-width:1.6}
.detail-form-error{border:1px solid var(--error)!important}
@media(max-width:940px) and (min-width:761px){.service-grid{grid-template-columns:1fr}}
@media(max-width:760px){.service-grid{grid-template-columns:1fr;gap:13px}.service-choice{padding:21px 18px;min-height:106px;border-radius:22px;gap:13px}.service-icon{width:49px;height:49px;border-radius:14px}.service-copy strong{font-size:16px}.service-copy>span{font-size:14px;margin-top:11px;line-height:1.5}.service-copy{padding-right:22px}.service-radio{top:22px;right:18px;width:23px;height:23px}.scope-choices{grid-template-columns:1fr 1fr}.scope-choice{padding:14px}.detail-grid{grid-template-columns:1fr}.selection-thumb-row{padding:12px 18px}.detail-quantity{padding:14px}.unit-rows{grid-template-columns:1fr}.price-pending{font-size:21px}}
@media(max-width:350px){.service-choice{gap:10px;padding:17px 14px}.service-icon{width:42px;height:46px}.service-copy strong{font-size:14px}.service-copy>span{font-size:12px}.service-radio{right:12px;top:18px;width:20px;height:20px}.scope-choices{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mood-other{transition:none!important}}
.equipment-battery{display:none}.technical-house[data-device=battery] .equipment-battery{display:block}.technical-house[data-device=battery] .equipment-wallbox{display:none}

@media(hover:none){.service-choice:not([aria-checked=true]):hover{border-color:var(--line)}}

/* Local layout refinement: only the six entry choices in step 1.
   The remaining interface, assets, markup and application logic are unchanged. */
#panel-0 > .lead { margin-top:10px; margin-bottom:18px; }
#panel-0 #service-grid { gap:10px; }
#panel-0 #service-grid .service-choice {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 20px;
  align-items:center;
  gap:10px;
  min-height:80px;
  height:auto;
  padding:12px 14px;
  border-radius:19px;
}
#panel-0 #service-grid .service-icon {
  width:38px;
  height:38px;
  border-radius:12px;
}
#panel-0 #service-grid .service-icon .icon { width:25px; height:25px; }
#panel-0 #service-grid .service-copy { min-width:0; padding:0; }
#panel-0 #service-grid .service-copy strong { font-size:15px; line-height:1.3; }
#panel-0 #service-grid .service-copy > span {
  font-size:12px;
  line-height:1.4;
  margin-top:4px;
}
#panel-0 #service-grid .service-radio {
  position:static;
  width:20px;
  height:20px;
  margin:0;
  align-self:center;
  justify-self:end;
}
@media (max-width:760px) {
  #panel-0 #service-grid { grid-template-columns:1fr; gap:9px; }
  #panel-0 #service-grid .service-choice {
    min-height:72px;
    padding:12px 13px;
    border-radius:18px;
  }
  #panel-0 #service-grid .service-copy > span { font-size:12.5px; }
}
@media (max-width:350px) {
  #panel-0 #service-grid .service-choice {
    grid-template-columns:34px minmax(0,1fr) 18px;
    gap:9px;
    padding:11px 12px;
  }
  #panel-0 #service-grid .service-icon { width:34px; height:34px; border-radius:11px; }
  #panel-0 #service-grid .service-icon .icon { width:23px; height:23px; }
  #panel-0 #service-grid .service-copy strong { font-size:14px; }
  #panel-0 #service-grid .service-copy > span { font-size:12px; }
  #panel-0 #service-grid .service-radio { width:18px; height:18px; }
}

#panel-2 .address-first-head{border-top:0;padding-top:0;margin-top:0}
.appointment-address{display:flex;align-items:center;gap:11px;padding:14px 16px;margin:0 0 18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.appointment-address>.icon{width:19px;height:19px;flex:none;color:var(--mint-text)}
.appointment-address>div{flex:1;min-width:0}
.appointment-address>div>span{display:block;font-size:10px;color:var(--dim);margin-bottom:3px}
.appointment-address strong{display:block;font-size:12px;line-height:1.6;font-weight:500;color:var(--ink);overflow-wrap:anywhere}
.appointment-address button{padding:8px 0;font-size:11px;flex:none;color:var(--mint-text);text-decoration:underline;text-underline-offset:3px}
.appointment-refresh-note{margin:-4px 0 17px}
.final-review-heading{margin:26px 0 20px;border-top:1px solid var(--line);padding-top:25px}
.final-review-heading h3{font-size:22px;line-height:1.25;letter-spacing:-.5px}
.final-review-heading .lead{margin:9px 0 0;font-size:13px}
#final-review[hidden],#appointment-fieldset[hidden]{display:none!important}
@media(max-width:760px){.progress [data-step="2"] .step-name,.progress [data-step="3"] .step-name{white-space:normal}.appointment-address{padding:12px 14px;gap:9px}.final-review-heading h3{font-size:21px}}
/* Additive two-house controls; existing KEA layout, imagery and six entry cards stay intact. */
.dual-block{border:1px solid var(--mint-line);border-radius:24px;padding:22px;margin-top:18px;background:linear-gradient(145deg,var(--mint-bg),var(--card) 60%)}
.dual-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:17px}
.dual-eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;text-transform:uppercase;letter-spacing:1.25px;color:var(--mint-text);font-weight:700;margin-bottom:8px}
.dual-eyebrow .dual-number{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--mint-line);border-radius:50%;letter-spacing:0}
.dual-block h3{font-size:18px;line-height:1.3;letter-spacing:-.3px}
.dual-note{font-size:11px;line-height:1.75;color:var(--muted);margin:7px 0 16px}
.dual-copy-btn{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 10px;border:1px solid var(--line);border-radius:30px;background:var(--card);font-size:10px;color:var(--mint-text);min-height:36px}
.dual-copy-btn .icon{width:13px;height:13px}
.dual-block .room-card{padding:17px 13px;min-height:173px;border-radius:19px}
.dual-block .room-card .room-value{font-size:25px}
.dual-block .addon-card{padding:17px;border-radius:21px}
.dual-block .addon-top{gap:10px;min-height:69px}
.dual-block .addon-icon{width:38px;height:42px;border-radius:12px}
.dual-block .addon-icon .icon{width:25px;height:25px}
.dual-block .addon-copy h3{font-size:13px;letter-spacing:0}
.dual-block .addon-copy p{font-size:11px}
.dual-block .addon-bottom{gap:6px}.dual-block .addon-price{font-size:13px}
.dual-block .add-btn,.dual-block .counter{min-width:107px}
.dual-block .toggle-card{margin:17px 0;padding:15px;border-radius:18px}
.dual-block .detail-section>h3{font-size:14px;margin-bottom:14px}
.dual-block .detail-section{margin-top:22px}
.dual-block .form-grid{gap:13px}.dual-block .field input{font-size:13px}
.dual-subhead{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}
.dual-inline-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.7;color:var(--muted);padding:14px 0;cursor:pointer}
.dual-inline-check input{accent-color:var(--mint-text);width:18px;height:18px;flex-shrink:0;margin:2px 0 0}
.dual-inline-check strong{color:var(--ink);font-weight:600}
.dual-inline-check small{display:block;font-size:10px;color:var(--dim);margin-top:2px}
.dual-section-divider{height:1px;background:var(--line);margin:24px 0}
.dual-contact-card{border:1px solid var(--line);border-radius:22px;padding:21px;margin-top:22px;background:var(--card)}
.dual-contact-card h3,.dual-billing h3{font-size:17px;letter-spacing:-.3px;line-height:1.3}
.dual-contact-card .field-note{margin:10px 0}
.dual-address-inline{border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:12px;line-height:1.7;color:var(--muted);background:var(--raised);margin-bottom:14px;white-space:pre-line}
.dual-billing{border-top:1px solid var(--line);padding-top:24px;margin-top:25px}
.dual-billing .scope-choices{grid-template-columns:repeat(2,minmax(0,1fr));margin:15px 0}
.dual-billing .scope-choice{padding:15px}.dual-billing .scope-choice strong{font-size:12px}.dual-billing .scope-choice small{font-size:11px}
.dual-billing-box{border:1px solid var(--line);padding:18px;border-radius:18px;background:var(--raised);margin-top:12px}
.dual-billing-box h4{font-size:13px;font-weight:700;margin:0 0 14px;display:flex;justify-content:space-between;gap:10px}
.dual-billing-box h4 span{font-size:11px;color:var(--mint-text);white-space:nowrap}
.dual-billing-box .form-grid{gap:13px}.dual-billing-box .dual-inline-check{padding-bottom:10px}
.dual-billing-box .dual-address-inline{border:0;padding:0;background:transparent;margin-bottom:0;font-size:11px}
.dual-billing-box .field label small{font-weight:400;color:var(--dim);font-size:9px}
.dual-price-head{color:var(--mint-text);font-size:10px;text-transform:uppercase;letter-spacing:1.0px;border-top:1px solid var(--line);padding-top:12px;margin-top:3px}
.dual-price-head:first-child{border-top:0;margin-top:0;padding-top:0}
.dual-discount{color:var(--mint-text)!important}.dual-discount strong{color:var(--mint-text)!important}
.dual-price-part{font-size:11px;font-weight:600;border-top:1px solid var(--line);padding-top:8px}
.dual-invoice-mini{font-size:10px;color:var(--dim);line-height:1.65;padding-top:9px}
.dual-review-card{grid-column:1/-1}
.dual-legend{display:flex;justify-content:center;gap:18px;font-size:9px;letter-spacing:.2px;color:#b4c6c8;line-height:1.4;padding:0 8px 8px}
.dual-legend span{display:flex;gap:5px;align-items:center}
.dual-legend i{display:inline-grid;place-items:center;border:1px solid #92bea5;border-radius:50%;width:15px;height:15px;font-style:normal;font-size:8px;color:#a0e9bb}
.mood-dual-unit{position:absolute;inset:0;pointer-events:none}
.mood-photo .mood-dual-unit .mood-layer,.selection-thumb .mood-dual-unit .mood-layer{opacity:0!important}
.mood-dual-unit[data-solar=true] .mood-layer[data-feature=solar],.mood-dual-unit[data-pool=true] .mood-layer[data-feature=pool],.mood-dual-unit[data-heat=true] .mood-layer[data-feature=heat],.mood-dual-unit[data-wallbox=true] .mood-layer[data-feature=wallbox],.mood-dual-unit[data-meter=true] .mood-layer[data-feature=meter]{opacity:1!important}
.technical-house .tech-dual .dual-unit .tech-part{opacity:0!important;display:initial}
.technical-house .tech-dual .dual-unit[data-solar=true] .tech-solar,.technical-house .tech-dual .dual-unit[data-pool=true] .tech-pool,.technical-house .tech-dual .dual-unit[data-heat=true] .tech-heat,.technical-house .tech-dual .dual-unit[data-wallbox=true] .tech-wallbox,.technical-house .tech-dual .dual-unit[data-meter=true] .tech-meter{opacity:1!important}
.technical-house .dual-ident text{font:12px Arial,Helvetica,sans-serif;fill:#a2c7b6;letter-spacing:.8px}
.technical-house .dual-ident circle{fill:#192d28;stroke:#608f78;stroke-width:1}
.technical-house .dual-unit .tech-annotations{display:none}
.dual-mini-caption{font-size:9px;color:var(--dim);margin:3px 0 0;line-height:1.45}
#dual-address-billing[hidden],#dual-review-card[hidden],.dual-legend[hidden]{display:none!important}
@media(max-width:1130px) and (min-width:761px){.dual-block{padding:16px}.dual-block .addon-grid{grid-template-columns:1fr}.dual-block .addon-top{min-height:55px}}
@media(max-width:760px){.dual-block{padding:17px 14px;border-radius:21px}.dual-block-head{flex-wrap:wrap}.dual-block h3{font-size:17px}.dual-block .room-grid{gap:8px}.dual-block .room-card{padding:14px 10px;min-height:160px}.dual-block .room-value{font-size:24px}.dual-block .addon-card{padding:17px}.dual-block .addon-copy h3{font-size:16px}.dual-block .addon-copy p{font-size:13px}.dual-block .addon-top{min-height:64px}.dual-block .addon-price{font-size:16px}.dual-block .form-grid{grid-template-columns:1fr}.dual-contact-card{padding:17px;border-radius:20px}.dual-billing-box{padding:16px}.dual-billing .scope-choices{gap:10px}.dual-contact-card .field input,.dual-billing-box .field input,.dual-block .field input{font-size:16px}.dual-note{font-size:12px}.dual-inline-check{font-size:13px}.dual-billing .scope-choice strong{font-size:13px}.dual-billing .scope-choice small{font-size:12px}.dual-address-inline{font-size:13px}}
@media(max-width:380px){.dual-billing .scope-choices{grid-template-columns:1fr}.dual-copy-btn{font-size:10px}.dual-block .room-card{min-height:158px}.dual-block .addon-copy h3{font-size:14px}.dual-block .addon-copy p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.mood-dual-unit .mood-layer{transition:none!important}}
body[data-two-house=true] #appointment-address-label{white-space:pre-line;line-height:1.8}
.dual-block input[readonly],.dual-contact-card input[readonly]{background:var(--raised);color:var(--dim)}
.dual-copy-btn:disabled{opacity:.5;cursor:not-allowed}
.dual-billing [aria-pressed=true]{border-color:var(--mint-line);background:var(--mint-bg)}
.dual-photo-dialog{width:min(920px,calc(100% - 28px))}
.dual-photo-dialog .photo-detail{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:18px;background:#16232a;isolation:isolate}
.dual-photo-dialog .selection-thumb{width:100%;height:100%;border:0;border-radius:0;flex:auto}
.dual-photo-dialog .dialog-inner{padding:23px}
[data-mood-thumb][data-photo-open]{cursor:zoom-in}
[data-mood-thumb][data-photo-open]:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
@media(max-width:760px){.dual-photo-dialog .dialog-inner{padding:16px}.dual-billing-box h4{flex-wrap:wrap}}
.dual-contact-card .form-grid>.full,.dual-billing-box .form-grid>.full{grid-column:1/-1}
@media(max-width:760px){.dual-contact-card .form-grid,.dual-billing-box .form-grid{grid-template-columns:1fr}}

/* Only the new unit fields are styled; approved page styles remain unchanged. */
.audit-unit-list{display:grid;gap:24px;margin-top:24px}
.audit-unit-card{min-width:0;margin:0;padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--card)}
.audit-unit-card>legend{padding:0 9px 0 0;display:flex;align-items:center;gap:10px;max-width:100%;color:var(--ink)}
.audit-unit-card>legend strong{font-size:15px;display:block;overflow-wrap:anywhere}
.audit-unit-card>legend small{display:block;font-size:11px;color:var(--dim);font-weight:400;margin-top:2px}
.audit-unit-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--raised);border:1px solid var(--line);font-weight:700;font-size:12px;flex:none}
.audit-unit-card>.form-grid{margin-top:14px}
.audit-unit-section{border-top:1px solid var(--line);padding-top:19px;margin-top:20px}
.audit-unit-section h4{font-size:13px;margin:0 0 16px;display:flex;align-items:center;gap:9px;color:var(--ink)}
.audit-unit-section h4 .icon{color:var(--mint-text);width:19px;height:19px}
.audit-owner-type{border:0;padding:0;margin:0 0 17px;min-width:0}
.audit-owner-type legend{font-size:11px;font-weight:600;margin-bottom:7px}
.audit-owner-type .scope-choice{min-height:46px;padding:11px 12px}
.audit-owner-type strong{display:flex;align-items:center;gap:7px;font-size:12px}
.audit-owner-type strong .icon{width:15px;height:15px}
.audit-unit-card .field input,.audit-unit-card .field select{font-size:13px;min-height:46px}
.audit-unit-card select,.audit-default-rooms select{width:100%;min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);font:inherit;font-size:13px;min-height:46px}
.audit-default-rooms .field-note{margin-bottom:12px}
.audit-checkbox{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:12px;min-height:44px;margin:12px 0 6px}
.audit-checkbox input{width:18px;height:18px;accent-color:var(--mint-text)}
.audit-report-hint{display:flex;align-items:flex-start;gap:9px;padding:12px 15px;border:1px solid var(--line);border-radius:14px;background:var(--raised);color:var(--muted);font-size:11px;line-height:1.65;margin:18px 0}
.audit-report-hint>.icon{width:17px;height:17px;flex:none;margin-top:2px;color:var(--mint-text)}
.audit-conditional{display:block;font-size:10px;font-weight:400;color:var(--dim)}
.audit-unit-section>.field-note{margin-bottom:14px}
.audit-unit-card input:focus-visible,.audit-unit-card select:focus-visible,.audit-default-rooms select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.audit-scope-note{font-size:11px;line-height:1.75;color:var(--dim)}
@media(max-width:760px){.audit-unit-card{padding:16px;border-radius:21px}.audit-unit-list{gap:20px}.audit-unit-card .form-grid{grid-template-columns:1fr}.audit-owner-type .scope-choices{grid-template-columns:1fr 1fr;gap:9px}.audit-owner-type strong{font-size:11px;gap:5px}}
@media(max-width:350px){.audit-owner-type .scope-choices{grid-template-columns:1fr}}


/* --------------------------------------------------------------------------
   Live configurator compatibility. Reference-native template rules above are
   left intact; this layer supports legacy form/state selectors only.
   -------------------------------------------------------------------------- */
.kea-cfg [hidden]{display:none!important}
.kea-cfg .booking-status:not([hidden]),.kea-cfg .state-card{margin:0 0 16px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink)}
.kea-cfg .booking-status h2,.kea-cfg .state-card__title{margin:0 0 7px;color:var(--ink);font-size:16px;font-weight:700}
.kea-cfg .booking-status p,.kea-cfg .state-card__text{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.kea-cfg .state-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.kea-cfg .form-column,.kea-cfg .panel,.kea-cfg #kc-form{min-width:0}
.kea-cfg .details-fields{display:block;min-width:0}
.kea-cfg .details-fields>.form-group{margin:0 0 22px;padding:0;border:0}
.kea-cfg .details-fields>.form-group+.form-group{padding-top:18px;border-top:1px solid var(--line)}
.kea-cfg .nested-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin-top:14px;min-width:0}
.kea-cfg .nested-fields>.field.full,.kea-cfg .nested-fields>.field:only-child{grid-column:1/-1}
.kea-cfg .field{display:flex;flex-direction:column;gap:7px;min-width:0;color:var(--ink)}
.kea-cfg .field label{color:var(--ink);font-size:13px;font-weight:700;line-height:1.4}
.kea-cfg .req{color:#ff9a86}.kea-cfg .opt,.kea-cfg .field-hint,.kea-cfg .field-note,.kea-cfg .group-hint{color:var(--muted)}
.kea-cfg .field-hint,.kea-cfg .group-hint,.kea-cfg .field-note{font-size:11px;line-height:1.6}
.kea-cfg .field input:not([type=checkbox]):not([type=radio]):not([type=file]),.kea-cfg .field select,.kea-cfg .field textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--raised);color:var(--ink);font:inherit;font-size:16px;line-height:1.4;box-shadow:none}
.kea-cfg .field textarea{min-height:112px;resize:vertical}
.kea-cfg .field input::placeholder,.kea-cfg .field textarea::placeholder{color:var(--dim);opacity:1}
.kea-cfg .field input:focus,.kea-cfg .field select:focus,.kea-cfg .field textarea:focus{outline:3px solid var(--focus);outline-offset:2px}
.kea-cfg .field.has-error input,.kea-cfg .field.has-error select,.kea-cfg .field.has-error textarea{border-color:var(--error)}
.kea-cfg .field-error{display:block;margin:0;color:var(--error);font-size:11px;line-height:1.5}
.kea-cfg .choice-group{min-width:0;margin:0 0 16px;padding:0;border:0}
.kea-cfg .choice-group>.group-legend{margin:0 0 9px}
.kea-cfg .choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kea-cfg .choice{display:flex;align-items:center;gap:9px;min-width:0;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--muted);font-size:12px;line-height:1.45}
.kea-cfg .choice input{flex:none;accent-color:var(--mint)}
.kea-cfg .choice.selected,.kea-cfg .choice:has(input:checked){border-color:var(--mint-line);background:var(--mint-bg);color:var(--ink)}
/* Existing quantity wrappers use the reference add-on grid only when their
   children are add-on cards. Generic counts remain a single-column list. */
.kea-cfg .quantity-list{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;min-width:0}
.kea-cfg .quantity-list:has(>.quantity.addon-card){grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.kea-cfg .quantity:not(.addon-card){min-width:0}
/* Direct number entry retains the existing +/- counter layout. */
.kea-cfg .quantity-control .qty-btn:hover:not([aria-disabled=true]){background:var(--mint-bg)}
.kea-cfg .quantity-control .qty-btn[aria-disabled=true]{color:var(--dim);cursor:default}
.kea-cfg .quantity-control .qty-value::-webkit-inner-spin-button,.kea-cfg .quantity-control .qty-value::-webkit-outer-spin-button{appearance:none;margin:0}
/* Native room cards retain their supplied card dimensions and selected styles;
   visually hide the real radio while preserving its keyboard focus. */
.kea-cfg .room-card input[type=radio]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.kea-cfg .room-card:focus-within{outline:3px solid var(--focus);outline-offset:3px}
/* Legacy consent/asap checkboxes remain usable. Reference .toggle-card styles
   continue to own the corresponding native toggle presentation. */
.kea-cfg .check:not(.toggle-card){display:flex;align-items:flex-start;gap:11px;min-width:0;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);cursor:pointer}
.kea-cfg .check:not(.toggle-card)>input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--mint)}
.kea-cfg .check:not(.toggle-card) .check-body{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}
.kea-cfg .check:not(.toggle-card) .check-title{display:flex;align-items:flex-start;gap:8px;color:var(--ink);font-size:12px;font-weight:700;line-height:1.45}
.kea-cfg .check:not(.toggle-card) .check-hint{color:var(--muted);font-size:11px;line-height:1.55}
.kea-cfg .check:not(.toggle-card):has(input:checked){border-color:var(--mint-line);background:var(--mint-bg)}
.kea-cfg .action-row,.kea-cfg .actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.kea-cfg .button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:var(--raised);color:var(--ink);font:inherit;font-size:12px;font-weight:700;line-height:1.3;text-decoration:none;cursor:pointer}
.kea-cfg .button.primary{border-color:var(--mint);background:var(--mint);color:var(--on-mint)}
.kea-cfg .button:disabled,.kea-cfg .button[aria-busy=true],.kea-cfg .button[aria-disabled=true]{border-color:var(--line);background:var(--raised);color:var(--muted);box-shadow:none;cursor:not-allowed}
.kea-cfg .button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.kea-cfg .error,.kea-cfg .suggestion-state{margin:12px 0;padding:12px 14px;border:1px solid #8c463b;border-radius:14px;background:#331e1c;color:#ffd8cf;font-size:12px;line-height:1.6}
.kea-cfg .error ul{margin:7px 0 0;padding-left:20px}.kea-cfg .error__actions{margin-top:10px}
.kea-cfg .suggestions{display:grid;gap:10px;margin-top:14px}
.kea-cfg .slot-skeletons{display:grid;gap:9px}.kea-cfg .slot-skeleton{height:66px;border-radius:16px;background:var(--raised);animation:pulse 1.2s ease-in-out infinite alternate}
/* Price content is inside the template's existing price card; do not alter the
   card/sidebar shell or its .summary-list/.price-total native layout. */
.kea-cfg .price-content{min-width:0;color:var(--ink)}
.kea-cfg .price-content .price-amount.pending,.kea-cfg .price-content .price-amount.quote{color:var(--muted)}
.kea-cfg .price-content .price-rows{display:grid;gap:8px;margin:12px 0 0;padding:14px 0 0;border:0;border-top:1px solid var(--line);list-style:none}
.kea-cfg .price-content .price-rows li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;color:var(--muted);font-size:11px;line-height:1.5}
.kea-cfg .price-content .price-rows li strong{flex:none;color:var(--ink);font-variant-numeric:tabular-nums}
.kea-cfg .price-content .price-rows li.total{padding-top:10px;border-top:1px solid var(--line);color:var(--ink);font-weight:700}
.kea-cfg .price-content .price-rows small{display:block;color:var(--dim);font-size:10px;font-weight:400}
.kea-cfg .price-content .price-note,.kea-cfg .price-content .vat-note,.kea-cfg .price-content .trust,.kea-cfg .price-content .price-selection{color:var(--muted);font-size:10px;line-height:1.6}
.kea-cfg .price-content .price-selection{padding-top:10px;border-top:1px solid var(--line)}
.kea-cfg .commercial-price-note{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--raised);color:var(--muted);font-size:11px;line-height:1.55}
.kea-cfg .commercial-price-note>strong{display:block;color:var(--ink);font-size:13px}
.kea-cfg .selection-info .design-model-status{margin:4px 0 10px;color:var(--muted);font-size:11px;line-height:1.55}
.kea-cfg .selection-info .design-duration-scale{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:10px}
.kea-cfg .selection-info .design-duration-scale span{padding:5px 8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:10px}
.kea-cfg .selection-info .design-duration-scale .is-selected{border-color:var(--mint-line);background:var(--mint-bg);color:var(--ink)}
.kea-cfg .design-photoDialogNative{width:min(980px,calc(100vw - 28px));max-width:none;max-height:92dvh;overflow:auto;border:1px solid var(--line);border-radius:22px;background:var(--card);color:var(--ink)}
.kea-cfg .design-photoDialogNative::backdrop{background:rgba(3,12,16,.78);backdrop-filter:blur(5px)}
.kea-cfg .design-photoDialogNative .dialog-inner{padding:clamp(16px,3vw,28px)}
.kea-cfg .design-photoDialogNative .photo-detail,.kea-cfg .design-photoDialogNative .mood-photo{position:relative;width:100%;height:auto;min-height:0;aspect-ratio:16/9;overflow:hidden;border-radius:16px}
.kea-cfg .design-photoDialogNative .photo-detail img,.kea-cfg .design-photoDialogNative .mood-image{width:100%;height:100%;object-fit:contain}
.kea-cfg .upload{display:grid;gap:8px;margin-bottom:16px}
.kea-cfg .upload-zone{position:relative;display:grid;place-items:center;align-content:center;gap:8px;min-height:110px;padding:18px;border:1px dashed var(--dim);border-radius:16px;background:var(--raised);color:var(--muted);text-align:center;cursor:pointer}
.kea-cfg .upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.kea-cfg .upload-zone:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.kea-cfg .upload-zone__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--mint-bg);color:var(--mint-text)}
.kea-cfg .upload-files{display:grid;gap:8px;margin:5px 0 0;padding:0;list-style:none}
.kea-cfg .upload-files li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 8px 6px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.kea-cfg .upload-file__name{min-width:0;color:var(--ink);font-size:11px;overflow-wrap:anywhere}
.kea-cfg .upload-file__size{color:var(--dim);font-size:10px;white-space:nowrap}
.kea-cfg .upload-file__remove{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--raised);color:var(--ink);font-size:20px;cursor:pointer}
.kea-cfg .review-card{margin:0 0 16px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--raised);color:var(--ink)}
.kea-cfg .review-list{margin:0}.kea-cfg .review-list>div{display:grid;grid-template-columns:minmax(7rem,11rem) minmax(0,1fr);gap:4px 12px;padding:8px 0}
.kea-cfg .review-list>div+div{border-top:1px solid var(--line)}
.kea-cfg .review-list dt{color:var(--muted);font-size:11px;font-weight:600}
.kea-cfg .review-list dd{min-width:0;margin:0;color:var(--ink);font-size:11px;font-weight:600;overflow-wrap:anywhere}
.kea-cfg .terms,.kea-cfg .submission-note{margin:12px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--raised);color:var(--muted);font-size:11px;line-height:1.55}
.kea-cfg .success{max-width:560px;margin:0 auto;padding:20px 0;text-align:center}
.kea-cfg .success-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--mint-bg);color:var(--mint-text)}
.kea-cfg .success h2{color:var(--ink)}
.kea-cfg .success-lead,.kea-cfg .success-note{color:var(--muted);font-size:13px;line-height:1.6}
.kea-cfg .dialog-model .dialog-head{margin-bottom:15px}.kea-cfg .dialog-inner{color:var(--ink)}
@media(max-width:940px){.kea-cfg .quantity-list:has(>.quantity.addon-card){gap:12px}}
@media(max-width:760px){
  .kea-cfg .nested-fields,.kea-cfg .choice-grid{grid-template-columns:minmax(0,1fr)}
  .kea-cfg .nested-fields>.field.full,.kea-cfg .nested-fields>.field:only-child{grid-column:auto}
  .kea-cfg .quantity-list:has(>.quantity.addon-card){grid-template-columns:minmax(0,1fr);gap:13px}
  .kea-cfg .review-list>div{grid-template-columns:minmax(0,1fr);gap:2px}
}
@media(prefers-reduced-motion:reduce){.kea-cfg .slot-skeleton{animation:none}}

/* Native form inputs replace the preview output nodes; original template geometry stays intact. */
.template-symbols{position:absolute;width:0;height:0;overflow:hidden}
.kea-cfg .detail-icon{display:inline-flex;flex-shrink:0;color:var(--mint-text)}
.kea-cfg .detail-icon>.icon{width:100%;height:100%}
.kea-cfg .addon-icon>.detail-icon{width:29px;height:29px}
.kea-cfg .toggle-icon>.detail-icon{width:26px;height:26px}
.kea-cfg .room-card>.detail-icon{width:27px;height:27px;margin-bottom:15px}
.kea-cfg .room-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kea-cfg .room-config>.group-legend{font-size:14px;font-weight:700;margin-bottom:15px}
.kea-cfg .room-help--compact{font-size:11px;color:var(--dim);margin:0 0 20px}
.kea-cfg .room-help--compact summary{cursor:pointer}.kea-cfg .room-help--compact summary em{display:none}
.kea-cfg .room-help-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;line-height:1.6}
.kea-cfg .room-help-grid ul{padding-left:18px}.kea-cfg .room-help-grid small,.kea-cfg .room-help-grid b{display:block}
.kea-cfg .fields:not(.details-fields){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 13px}
.kea-cfg .fields>.full{grid-column:1/-1}.kea-cfg .form-group{margin:22px 0;min-width:0}
.kea-cfg .group-legend{font-weight:700;font-size:14px;margin-bottom:12px}.kea-cfg .group-title{display:flex;align-items:center;gap:9px}
.kea-cfg .group-title .detail-icon{width:18px;height:18px}.kea-cfg .group-hint{margin-bottom:14px}
.kea-cfg .quantity:not(.addon-card){display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:20px;background:var(--card);padding:19px}
.kea-cfg .quantity:not(.addon-card) .quantity-text{flex:1}.kea-cfg .quantity:not(.addon-card) .quantity-label{display:block;font-size:13px;font-weight:700}
.kea-cfg .quantity:not(.addon-card) .quantity-note{display:block;font-size:11px;line-height:1.6;color:var(--muted)}
.kea-cfg .quantity:not(.addon-card) .quantity-footer{border:0;margin:0;padding:0;min-height:0}
.kea-cfg .quantity:not(.addon-card) .quantity-icon>.detail-icon{width:29px;height:29px}
.kea-cfg .unit-cards{display:grid;gap:22px;margin:24px 0}.kea-cfg .unit-card{border:1px solid var(--line);border-radius:20px;background:var(--card);padding:20px;min-width:0}
.kea-cfg .unit-card>legend{display:flex;gap:10px;align-items:center;font-size:14px}.kea-cfg .unit-card>legend small{display:block;color:var(--muted);font-size:11px}
.kea-cfg .unit-card__number{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--mint-bg);color:var(--mint-text)}
.kea-cfg .scope-note{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--raised);font-size:12px;color:var(--muted)}
.kea-cfg .scope-note strong{color:var(--ink)}.kea-cfg .price-breakdown summary{list-style:none;cursor:pointer}.kea-cfg .price-breakdown summary::-webkit-details-marker{display:none}
.kea-cfg .price-breakdown[open] summary .icon{transform:rotate(180deg)}
.kea-cfg .price-breakdown .price-rows{padding:16px 0;list-style:none;margin:0}.kea-cfg .price-breakdown .price-rows li{display:flex;justify-content:space-between;gap:12px;font-size:11px;padding:7px 0;color:var(--muted)}
.kea-cfg .price-breakdown small{display:block;font-size:10px}.kea-cfg .price-breakdown strong{color:var(--ink);white-space:nowrap}
.kea-cfg .design-model-label{color:#f3f5f6}.kea-cfg .selection-thumb .mood-photo{height:100%;width:100%}
@media(max-width:940px){.kea-cfg .room-groups{gap:9px}.kea-cfg .room-card>.detail-icon{width:24px;height:24px}.kea-cfg .addon-icon>.detail-icon{width:24px;height:24px}}
@media(max-width:760px){.kea-cfg .fields:not(.details-fields),.kea-cfg .room-help-grid{grid-template-columns:minmax(0,1fr)}.kea-cfg .room-groups{gap:9px}.kea-cfg .addon-icon>.detail-icon{width:31px;height:31px}.kea-cfg .quantity-control .qty-btn{width:42px;height:42px}.kea-cfg .quantity-control .qty-value{height:42px}.kea-cfg .quantity:not(.addon-card){flex-wrap:wrap}.kea-cfg .quantity:not(.addon-card) .quantity-footer{width:100%;justify-content:flex-end}}

.kea-cfg .room-card{display:block;cursor:pointer}.kea-cfg .room-card:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:4px}
.kea-cfg .kb-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Retain the real accessible wizard actions; the dock is a pointer shortcut. */
.kea-cfg .steps .step:disabled{opacity:1;cursor:default}

.kea-cfg .sr-only,.kea-cfg .kb-sr-only{overflow-anchor:none}

/* Preserve the template's visible output and native counter geometry. */
.kea-cfg .quantity-control .qty-value.sr-only{position:absolute;width:1px;height:1px;min-height:0;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kea-cfg .quantity-control .qty-btn{padding:0;border:0;border-radius:0;background:transparent;color:inherit;flex:none}

.kea-cfg .btn.primary:disabled,.kea-cfg .btn.primary[aria-busy=true]{background:var(--raised);color:var(--muted);box-shadow:none;cursor:not-allowed}
/* At high zoom or a short viewport the dock participates in normal flow. */
@media(max-height:450px){.kea-cfg .mobile-price{position:static;width:100%;margin-top:22px;border-radius:18px}.kea-cfg .footer{padding-bottom:24px}}

.kea-cfg .mood-hero{position:relative}.kea-cfg .hero-photo-open{position:absolute;top:14px;right:14px;z-index:4;color:#f3f5f6;background:#10191fcc;border-color:#3c5349}

.kea-cfg .booking>.booking-status:not([hidden]){width:min(1220px,calc(100% - 36px));margin:20px auto 16px}
@media(max-height:450px){.kea-cfg .mobile-price{flex-wrap:wrap}.kea-cfg .mobile-price>.btn{flex:1}}

/* Repeated dossiers can be narrow even with the desktop sidebar visible. */
.kea-cfg .form-column{container-type:inline-size}
@container(max-width:450px){.kea-cfg .quantity:not(.addon-card){flex-wrap:wrap}.kea-cfg .quantity:not(.addon-card) .quantity-footer{display:flex;flex:1 0 100%;width:100%;justify-content:flex-end}}
.kea-cfg .quantity-list:has(>.quantity.addon-card:only-child){grid-template-columns:minmax(0,1fr)}

/* Decorative heading icons have explicit bounds, like existing field icons. */
.kea-cfg .heading-with-icon{display:flex;align-items:center;gap:12px}
.kea-cfg .heading-with-icon>.detail-icon{width:32px;height:32px;flex:0 0 32px}

/* Approved conditional report disclosure; price arithmetic remains server-owned. */
.kea-cfg .price-content .report-condition{margin:12px 0;line-height:1.6}
.kea-cfg .report-condition strong{color:var(--ink)}
.kea-cfg .mobile-price{flex-wrap:wrap}
.kea-cfg .mobile-report-condition{flex-basis:100%;font-size:11px;line-height:1.4;color:var(--muted)}

.kea-cfg .report-review-condition{display:block;margin-top:6px;font-size:11px;line-height:1.5;font-weight:400;color:var(--muted)}

/* Public appointment choices: date and time, one full-card selection target. */
.kea-cfg .suggestions .slot{width:100%;min-height:88px;padding:16px 20px;gap:16px;text-align:left;justify-content:space-between;border-radius:18px}
.kea-cfg .suggestions .slot-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.kea-cfg .suggestions .slot-copy>.slot-date{display:block;margin:0;font-size:15px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.kea-cfg .suggestions .slot-copy>.slot-time{display:block;margin:0;font-size:24px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}
.kea-cfg .suggestions .slot-selection{display:flex;align-items:center;gap:12px;flex-shrink:0}
.kea-cfg .suggestions .slot-initials{font-size:13px;font-weight:500;line-height:1;color:var(--muted)}
.kea-cfg .suggestions .slot-radio{width:26px;height:26px;font-size:17px;line-height:1;margin-left:auto}
.kea-cfg .suggestions .slot:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:760px){.kea-cfg .suggestions .slot{padding:14px 16px;min-height:84px}.kea-cfg .suggestions .slot-copy>.slot-date{font-size:14px}.kea-cfg .suggestions .slot-copy>.slot-time{font-size:24px}}

/* Spam trap remains in the form contract, never in the customer layout. */
.kea-cfg .field.honeypot{display:none}

/* Equipment photos align with their container; original reference layers stay untouched. */
.kea-cfg .mood-layer{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none}
.kea-cfg .mood-layer[data-feature=pool]{z-index:1}
.kea-cfg .mood-layer[data-feature=solar]{z-index:2}
.kea-cfg .mood-layer[data-feature=wallbox]{z-index:3}
.kea-cfg .mood-layer[data-feature=heat]{z-index:4}
.kea-cfg .mood-layer[data-feature=meter]{z-index:5}
.kea-cfg .design-photoDialogNative .mood-layer{object-fit:contain}

/* Technical equipment must match the selected quantities in both SVG views. */
.kea-cfg .technical-house .tech-pv-battery{display:none}
.kea-cfg .technical-house[data-battery=true] .tech-pv-battery{display:block}
.kea-cfg .technical-house[data-device=combined] .equipment-battery{display:block}
.kea-cfg .technical-house[data-device=none] .equipment-wallbox{display:none}
.kea-cfg .technical-house[data-device=combined] .equipment-wallbox{transform-box:fill-box;transform-origin:center bottom;transform:translate(-72px,0) scale(.82)}
.kea-cfg .technical-house[data-device=combined] .equipment-battery{transform-box:fill-box;transform-origin:center bottom;transform:translate(78px,0) scale(.82)}

/* Mobile selection preview uses the same live SVG model and existing dialog. */
.kea-cfg .mobile-model-preview{display:none}
@media(max-width:760px){
 .kea-cfg .mobile-price{display:grid;grid-template-columns:clamp(56px,16vw,72px) minmax(0,1fr) clamp(106px,30vw,138px);gap:8px 10px;align-items:center}
 .kea-cfg .mobile-model-preview{display:block;position:relative;width:100%;height:74px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--hero);overflow:hidden}
 .kea-cfg .mobile-model-preview .house-canvas{width:100%;height:100%;margin:0;filter:none;pointer-events:none}
 .kea-cfg .mobile-model-preview>.icon{position:absolute;right:4px;top:4px;width:12px;height:12px;color:var(--mint-text)}
 .kea-cfg .mobile-model-preview .tech-annotations,.kea-cfg .mobile-model-preview .tech-orbits{display:none}
 .kea-cfg .mobile-price-copy{min-width:0}
 .kea-cfg .mobile-price .dock-label{letter-spacing:1px;overflow-wrap:normal}
 .kea-cfg .mobile-price>.btn{min-width:0;width:100%;height:auto;min-height:49px;padding:12px 10px;white-space:normal;line-height:1.3}
 .kea-cfg .mobile-report-condition{grid-column:1/-1}
}
@media(max-width:359px){.kea-cfg .mobile-price{gap:8px}.kea-cfg .mobile-price .dock-price{font-size:20px}}

/* Shared-area basement is independent of private or shared charging stations. */
.technical-house[data-basement="false"] .tech-basement{display:none}
.technical-house[data-basement="true"] .tech-basement{display:block}

.technical-house .tech-annotations .tech-basement-label{font:26px system-ui,sans-serif;letter-spacing:.5px;fill:#b5f0cf}


/* KEA public configurator · day illustration palette · 2026-10-15.
   User-selected reference: KEA_Website_2_0_Vorschau.html and the reviewed
   vorlage-hell.html example. All overrides require the resolved light theme;
   the existing automatic/manual theme controller remains the only owner. */
:root[data-theme=light]{
 --bg:#f7f8f5;--card:#fff;--raised:#eff3eb;--ink:#222824;
 --muted:#56634f;--dim:#5e6d55;--line:#dce2d9;--hero:#f7f8f5;
 --shadow:0 18px 65px -40px #41523825;
}
:root[data-theme=light] .kea-cfg .hero{
 background:radial-gradient(ellipse at 78% 50%,#e6eddd70,transparent 60%),#f7f8f5;
 color:var(--ink);border-bottom-color:var(--line);
}
:root[data-theme=light] .kea-cfg .hero h1{color:var(--ink)}
:root[data-theme=light] .kea-cfg .hero h1 span{color:#52684a}
:root[data-theme=light] .kea-cfg .hero .eyebrow,
:root[data-theme=light] .kea-cfg .hero-copy>p,
:root[data-theme=light] .kea-cfg .hero-benefits,
:root[data-theme=light] .kea-cfg .mood-hero figcaption,
:root[data-theme=light] .kea-cfg .mood-hero figcaption small,
:root[data-theme=light] .kea-cfg .hero-art figcaption{color:var(--muted)}
:root[data-theme=light] .kea-cfg .hero-benefits .icon{color:var(--mint-text)}
:root[data-theme=light] .kea-cfg .selection-cover{
 background:radial-gradient(ellipse at 52% 53%,#e7eddf90,transparent 70%),#f7f8f5;
 color:var(--ink);
}
:root[data-theme=light] .kea-cfg .selection-cover:after{
 background:linear-gradient(transparent,#f7f8f5 86%);
}
:root[data-theme=light] .kea-cfg .selection-cover__caption>span{color:#5e6d55}
:root[data-theme=light] .kea-cfg .selection-cover__caption h3{
 color:var(--ink);font-weight:600;
}
:root[data-theme=light] .kea-cfg .selection-edit{
 background:#ffffffb8;border-color:#c5d0bd;color:#53654b;
}
:root[data-theme=light] .kea-cfg .selection-edit:hover{
 background:#e6eddc;border-color:#7f976e;
}
:root[data-theme=light] .kea-cfg .dialog-model{
 background:#f7f8f5;color:var(--ink);border-color:var(--line);
}
:root[data-theme=light] .kea-cfg .dialog-model .dialog-head h2,
:root[data-theme=light] .kea-cfg .design-model-label{color:var(--ink)}
:root[data-theme=light] .kea-cfg .dialog-model .circle-button{
 background:#fff;border-color:#c5d0bd;color:#53654b;
}
:root[data-theme=light] .kea-cfg .model-details{
 border-top-color:var(--line);color:#52684a;
}
:root[data-theme=light] .kea-cfg .dialog-model .model-footnote{color:var(--muted)}
:root[data-theme=light] .kea-cfg .dialog-model .model-controls button{
 color:var(--muted);border-color:#b8c6af;background:#fff;
}
:root[data-theme=light] .kea-cfg .dialog-model .model-controls button[aria-pressed=true]{
 color:var(--ink);border-color:#7e956e;background:#e8efdf;
}
:root[data-theme=light] .kea-cfg .sidebar-model{
 background:#f1f5ec;color:var(--muted);border-bottom-color:var(--line);
}
:root[data-theme=light] .kea-cfg .visual-stage--dialog{
 background:radial-gradient(ellipse at 52% 53%,#e7eddf90,transparent 70%),#f7f8f5;
 border-color:#dce2d9;
}
:root[data-theme=light] .kea-cfg .mobile-model-preview{
 background:radial-gradient(ellipse,#e7eddf70,transparent 75%),#f7f8f5;
}
:root[data-theme=light] .kea-cfg .technical-house{filter:none}
:root[data-theme=light] .kea-cfg .technical-house:before{
 content:"";position:absolute;inset:4% 15% 8%;border:1px solid #dbe2d7;
 border-radius:50%;z-index:-1;pointer-events:none;
}
:root[data-theme=light] .kea-cfg .technical-svg .floor-grid{stroke:#b0bfa4;opacity:.3}
:root[data-theme=light] .kea-cfg .technical-svg .tech-orbits{stroke:#aab79f;opacity:.22}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-shadow"] feDropShadow{
 flood-color:#39452e;flood-opacity:.12;
}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-groundGlow"] stop:first-child{stop-opacity:.035}
:root[data-theme=light] .kea-cfg .technical-svg .tech-circuit>path:first-child{opacity:.045}
:root[data-theme=light] .kea-cfg .technical-svg .tech-circuit>path:nth-child(2){stroke:#cd8b55;stroke-width:1.15}
:root[data-theme=light] .kea-cfg .technical-svg .tech-current{stroke:#ffe4bd;stroke-width:1.7}
:root[data-theme=light] .kea-cfg .technical-svg .tech-node-core{fill:#d58b50}
:root[data-theme=light] .kea-cfg .technical-svg .tech-annotations text{fill:#596b4f}
:root[data-theme=light] .kea-cfg .technical-svg .tech-annotations path{stroke:#91a180}
:root[data-theme=light] .kea-cfg .technical-svg .dual-ident text{fill:#435b39}
:root[data-theme=light] .kea-cfg .technical-svg .dual-ident circle{fill:#eef3e9;stroke:#829873}
:root[data-theme=light] .kea-cfg .technical-svg .tech-apartment-focus{fill:#d8a36a12;stroke:#b67e44}
/* Basement, technical equipment and elevation share the same light materials. */
:root[data-theme=light] .kea-cfg .technical-svg [fill="#18352e"]{fill:#d9e4cf}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#172b29"]{fill:#bccdaf}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#273a39"]{fill:#cbd7bf}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#354b4a"]{fill:#93a488}
:root[data-theme=light] .kea-cfg .technical-svg .tech-basement-label{fill:#49643d}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#52616b"]{fill:#a2b095}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#1e303c"]{fill:#aebca4}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#677a87"]{fill:#d5dfcd}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#42535f"]{fill:#c0cdb6}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#1b2e3b"]{fill:#8e9e85}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#26323a"]{fill:#c2cbbd}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#14232d"]{fill:#9dab94}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#445965"]{fill:#c4d0ba}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#4b606d"]{fill:#c1cdb7}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#405361"]{fill:#a9b89e}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#1b2b35"]{fill:#adbea0}
:root[data-theme=light] .kea-cfg .technical-svg [fill="#66747c"]{fill:#c2cdb8}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-baseTop"] stop:nth-child(1){stop-color:#e5eadf}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-baseTop"] stop:nth-child(2){stop-color:#c7d2bd}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-frontWall"] stop:nth-child(1){stop-color:#f5f5ed}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-frontWall"] stop:nth-child(2){stop-color:#dbe1d4}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-frontWall"] stop:nth-child(3){stop-color:#b5c3a9}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-sideWall"] stop:nth-child(1){stop-color:#d6decf}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-sideWall"] stop:nth-child(2){stop-color:#b1bda8}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-roof"] stop:nth-child(1){stop-color:#5a6873}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-roof"] stop:nth-child(2){stop-color:#313e47}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-roof"] stop:nth-child(3){stop-color:#172229}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-glass"] stop:nth-child(1){stop-color:#8a7360}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-glass"] stop:nth-child(2){stop-color:#463d36}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-glass"] stop:nth-child(3){stop-color:#b87940}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-glass"] stop:nth-child(4){stop-color:#2c3032}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-glassCool"] stop:nth-child(1){stop-color:#344e5d}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-glassCool"] stop:nth-child(2){stop-color:#15262f}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-panel"] stop:nth-child(1){stop-color:#324f64}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-panel"] stop:nth-child(2){stop-color:#1a3446}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-panel"] stop:nth-child(3){stop-color:#101d29}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-lineGrad"] stop:nth-child(1){stop-color:#ffbe7e}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-lineGrad"] stop:nth-child(2){stop-color:#ff7021}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-groundGlow"] stop:nth-child(1){stop-color:#f27323}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-groundGlow"] stop:nth-child(2){stop-color:#f27323}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-equipmentFace"] stop:nth-child(1){stop-color:#e2e8dc}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-equipmentFace"] stop:nth-child(2){stop-color:#a7b69c}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-elevationWall"] stop:nth-child(1){stop-color:#f2f4eb}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-elevationWall"] stop:nth-child(2){stop-color:#bdcbb1}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-elevationGlass"] stop:nth-child(1){stop-color:#b1afa0}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-elevationGlass"] stop:nth-child(2){stop-color:#c6bb9d}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-elevationGlass"] stop:nth-child(3){stop-color:#6f7970}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-poolWater"] stop:nth-child(1){stop-color:#b7ced0}
:root[data-theme=light] .kea-cfg .technical-svg [id$="-poolWater"] stop:nth-child(2){stop-color:#7a9f9d}
/* Retained EFH faces: exact material values of the user-selected house. */
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="365.0,283.0 585.0,410.0 347.7,547.0 127.7,420.0"]{stroke:#a3b298;stroke-width:1}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="127.7,420.0 347.7,547.0 347.7,560.0 127.7,433.0"]{fill:#b3c09f;stroke:#a6b79c;stroke-width:.6}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="585.0,410.0 347.7,547.0 347.7,560.0 585.0,423.0"]{fill:#a4b095;stroke:#91a583;stroke-width:.6}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="165.8,417.0 347.7,522.0 347.7,362.0 256.8,229.5 165.8,257.0"]{stroke:#a7b39d;stroke-width:1.2}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="546.9,407.0 347.7,522.0 347.7,362.0 546.9,247.0"]{stroke:#97a88b;stroke-width:1.2}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="180.7,398.4 257.8,442.9 257.8,352.9 180.7,308.4"]{fill:#111c22;stroke:#b3b6b4;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="184.0,397.5 254.2,438.0 254.2,355.0 184.0,314.5"]{stroke:#6d7779;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="217.3,417.2 218.9,418.1 218.9,335.1 217.3,334.2"]{fill:#b4bdc0;stroke:none;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="183.6,354.8 253.7,395.2 253.7,393.4 183.6,352.9"]{fill:#b4bdc0;stroke:none;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="277.6,479.4 323.5,505.9 323.5,394.9 277.6,368.4"]{fill:#19232b;stroke:#9a9890;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="282.7,471.5 317.4,491.5 317.4,399.5 282.7,379.5"]{fill:#24313a;stroke:#4c5b63;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="309.1,453.2 310.9,454.2 310.9,433.2 309.1,432.2"]{fill:#ff9a50;stroke:none;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="523.9,363.8 482.3,387.8 482.3,329.8 523.9,305.8"]{fill:#07151f;stroke:#7b8e99;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="521.7,362.5 485.4,383.5 485.4,331.5 521.7,310.5"]{stroke:#586e7c;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="503.6,374.0 502.7,374.5 502.7,322.5 503.6,322.0"]{fill:#8396a0;stroke:none;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="462.4,399.2 420.9,423.2 420.9,365.2 462.4,341.2"]{fill:#07151f;stroke:#7b8e99;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="460.3,398.0 423.9,419.0 423.9,367.0 460.3,346.0"]{stroke:#586e7c;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="442.1,409.5 441.2,410.0 441.2,358.0 442.1,357.5"]{fill:#8396a0;stroke:none;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="394.4,459.0 368.5,474.0 368.5,428.0 394.4,413.0"]{fill:#18242d;stroke:#ef8d48;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="391.0,437.0 387.5,439.0 387.5,428.0 391.0,426.0"]{fill:#ff9b50;stroke:none;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="384.1,441.0 380.6,443.0 380.6,432.0 384.1,430.0"]{fill:#ff9b50;stroke:none;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="377.1,445.0 373.7,447.0 373.7,436.0 377.1,434.0"]{fill:#ff9b50;stroke:none;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="391.0,454.0 372.8,464.5 372.8,457.5 391.0,447.0"]{fill:#526271;stroke:none;stroke-width:.85}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="365.0,134.0 464.6,104.5 248.1,229.5 148.5,259.0"]{fill:#536068;stroke:#8c979d;stroke-width:1.1}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="464.6,104.5 564.2,249.0 347.7,374.0 248.1,229.5"]{stroke:#9aa8ae;stroke-width:1.2}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="564.2,249.0 347.7,374.0 347.7,381.0 564.2,256.0"]{fill:#0d1b24;stroke:#536570;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="148.5,259.0 248.1,229.5 347.7,374.0 347.7,381.0 248.1,236.5 148.5,266.0"]{fill:#778187;stroke:#b1b6b3;stroke-width:.6}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="455.1,115.8 548.6,251.5 548.2,251.8 454.7,116.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="439.5,124.8 533.0,260.5 532.6,260.8 439.1,125.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="423.9,133.8 517.4,269.5 517.0,269.8 423.5,134.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="408.3,142.8 501.8,278.5 501.4,278.8 407.9,143.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="392.7,151.8 486.2,287.5 485.9,287.8 392.3,152.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="377.1,160.8 470.7,296.5 470.3,296.8 376.7,161.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="361.5,169.8 455.1,305.5 454.7,305.8 361.1,170.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="345.9,178.8 439.5,314.5 439.1,314.8 345.6,179.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="330.4,187.8 423.9,323.5 423.5,323.8 330.0,188.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="314.8,196.8 408.3,332.5 407.9,332.8 314.4,197.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="299.2,205.8 392.7,341.5 392.3,341.8 298.8,206.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="283.6,214.8 377.1,350.5 376.7,350.8 283.2,215.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="268.0,223.8 361.5,359.5 361.1,359.8 267.6,224.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="252.4,232.8 345.9,368.5 345.6,368.8 252.0,233.1"]{fill:#8b9ba5;stroke:none;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="448.1,135.4 475.0,174.3 425.6,202.8 398.8,163.9"]{stroke:#8eacbc;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="391.8,167.9 418.7,206.8 369.3,235.3 342.5,196.4"]{stroke:#8eacbc;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="335.6,200.4 362.4,239.3 313.0,267.8 286.2,228.9"]{stroke:#8eacbc;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="479.3,180.6 506.2,219.6 456.8,248.1 430.0,209.1"]{stroke:#8eacbc;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="423.0,213.1 449.9,252.1 400.5,280.6 373.7,241.6"]{stroke:#8eacbc;stroke-width:.8}
:root[data-theme=light] .kea-cfg .technical-svg polygon[points="366.7,245.6 393.6,284.6 344.2,313.1 317.4,274.1"]{stroke:#8eacbc;stroke-width:.8}

/* PV inspection sides: selected scope, never a measured electrical state. */
.kea-cfg .technical-house .pv-scope-box{fill:#18272f;stroke:#75858d;stroke-width:1.2}
.kea-cfg .technical-house .pv-scope-text{fill:#c8d3d9;font:19px ui-monospace,SFMono-Regular,monospace;letter-spacing:.5px}
.kea-cfg .technical-house .pv-scope-caption{fill:#9bafb9;font:12px ui-monospace,SFMono-Regular,monospace;letter-spacing:.15px}
.kea-cfg .technical-house .pv-scope-link{stroke:#7b909b}
.kea-cfg .technical-house .pv-scope-check{stroke:#ffae76;opacity:0}
.kea-cfg .technical-house[data-pv-extent=ac] .pv-dc-route,
.kea-cfg .technical-house[data-pv-extent=dc] .pv-ac-route,
.kea-cfg .technical-house[data-pv-extent=overview] .pv-dc-route,
.kea-cfg .technical-house[data-pv-extent=overview] .pv-ac-route{opacity:.18}
.kea-cfg .technical-house[data-pv-extent=ac] .pv-scope-side--ac .pv-scope-box,
.kea-cfg .technical-house[data-pv-extent=dc] .pv-scope-side--dc .pv-scope-box,
.kea-cfg .technical-house[data-pv-extent=both] .pv-scope-side .pv-scope-box{stroke:#ffa05c;stroke-width:2}
.kea-cfg .technical-house[data-pv-extent=ac] .pv-scope-side--ac .pv-scope-check,
.kea-cfg .technical-house[data-pv-extent=dc] .pv-scope-side--dc .pv-scope-check,
.kea-cfg .technical-house[data-pv-extent=both] .pv-scope-check{opacity:1}
:root[data-theme=light] .kea-cfg .technical-house .pv-scope-box{fill:#f7f8f5;stroke:#a5b39c}
:root[data-theme=light] .kea-cfg .technical-house .pv-scope-text{fill:#405437}
:root[data-theme=light] .kea-cfg .technical-house .pv-scope-caption{fill:#596b4f}
:root[data-theme=light] .kea-cfg .technical-house .pv-scope-link{stroke:#8c9b82}
:root[data-theme=light] .kea-cfg .technical-house .pv-scope-check{stroke:#8b4c21}
:root[data-theme=light] .kea-cfg .technical-house[data-pv-extent=ac] .pv-scope-side--ac .pv-scope-box,
:root[data-theme=light] .kea-cfg .technical-house[data-pv-extent=dc] .pv-scope-side--dc .pv-scope-box,
:root[data-theme=light] .kea-cfg .technical-house[data-pv-extent=both] .pv-scope-side .pv-scope-box{stroke:#a35e2c;fill:#faf2e9}

/* Visual review: isolate units and equipment, preserve the complete 4:3 photo. */
.kea-cfg .design-photoDialogNative .mood-photo{aspect-ratio:4/3;-webkit-mask-image:none;mask-image:none}
.kea-cfg .design-photoDialogNative .mood-photo:after{background:none}
.kea-cfg .design-photoDialogNative .mood-image,.kea-cfg .design-photoDialogNative .mood-layer{object-fit:contain}
.kea-cfg .technical-house[data-second=true] .tech-index{display:none}
.kea-cfg .technical-house .dual-ident text{font-size:15px;letter-spacing:1.5px;fill:var(--ink)}
.kea-cfg .technical-house[data-heat=true] .tech-view--iso>.tech-solo .tech-wallbox,.kea-cfg .technical-house .tech-view--iso .dual-unit[data-heat=true] .tech-wallbox{transform:translate(-40px,80px)}
.kea-cfg .design-dual-summary{font-size:12px;line-height:1.6;color:var(--ink);margin:12px 0}
.kea-cfg .design-photo-close{border:1px solid var(--line);border-radius:999px;padding:7px 14px;margin-bottom:12px}

.kea-cfg .mood-scene-single .mood-layer[data-feature="wallbox"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221160%22%20height%3D%22870%22%20viewBox%3D%220%200%201160%20870%22%3E%3Cpolygon%20points%3D%22900%2C563%20927%2C563%20927%2C621%20928%2C651%20923%2C677%20910%2C678%20895%2C671%20894%2C645%20897%2C619%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221160%22%20height%3D%22870%22%20viewBox%3D%220%200%201160%20870%22%3E%3Cpolygon%20points%3D%22900%2C563%20927%2C563%20927%2C621%20928%2C651%20923%2C677%20910%2C678%20895%2C671%20894%2C645%20897%2C619%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

.kea-cfg .mood-dual-unit[data-photo-house="1"] .mood-layer[data-feature="wallbox"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221160%22%20height%3D%22870%22%20viewBox%3D%220%200%201160%20870%22%3E%3Cpolygon%20points%3D%22379%2C540%20390%2C540%20391%2C570%20391%2C592%20386%2C598%20380%2C596%20376%2C585%20377%2C568%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221160%22%20height%3D%22870%22%20viewBox%3D%220%200%201160%20870%22%3E%3Cpolygon%20points%3D%22379%2C540%20390%2C540%20391%2C570%20391%2C592%20386%2C598%20380%2C596%20376%2C585%20377%2C568%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

.kea-cfg .mood-dual-unit[data-photo-house="2"] .mood-layer[data-feature="wallbox"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221160%22%20height%3D%22870%22%20viewBox%3D%220%200%201160%20870%22%3E%3Cpolygon%20points%3D%22955%2C530%20974%2C530%20976%2C569%20976%2C607%20969%2C613%20958%2C610%20950%2C593%20950%2C568%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221160%22%20height%3D%22870%22%20viewBox%3D%220%200%201160%20870%22%3E%3Cpolygon%20points%3D%22955%2C530%20974%2C530%20976%2C569%20976%2C607%20969%2C613%20958%2C610%20950%2C593%20950%2C568%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.kea-cfg .design-photoDialogNative .design-dialog-photo{width:min(100%,calc((90vh - 180px)*4/3));margin-inline:auto}
.kea-cfg .design-model-scope{font-size:12px;line-height:1.6;color:var(--ink);margin:12px 0}
.kea-cfg .mood-photo[data-charging-photo=none]{background:var(--bg);-webkit-mask-image:none;mask-image:none}
.kea-cfg .mood-photo[data-charging-photo=none] .mood-scene{visibility:hidden}
.kea-cfg .mood-photo[data-charging-photo=none]:after{background:none}
.kea-cfg .mood-photo[data-charging-photo=none]:before{content:'Keine Anlage ausgewählt';position:absolute;inset:0;display:grid;place-items:center;padding:12%;text-align:center;color:var(--dim);font-size:clamp(12px,2vw,22px);line-height:1.5}

/* Equipment remains separate from the inverter in both PV views. */
.kea-cfg .technical-house[data-subject=pv-industrial] .tech-view--iso .tech-pv-battery{transform:translate(30px,20px)}
.kea-cfg .technical-house[data-subject=pv-industrial] .tech-view--front .tech-pv-battery{transform:translate(45px,0)}
.kea-cfg .technical-house[data-battery=true][data-subject^=pv] .tech-view--iso .tech-wallbox,.kea-cfg .technical-house[data-battery=true][data-subject^=pv] .tech-view--front .tech-wallbox{transform:translate(65px,0)}
.kea-cfg .technical-house .tech-apartment-focus{display:none}
.kea-cfg .technical-house[data-battery=true][data-subject^=pv] .tech-wallbox .tech-annotations text{text-anchor:end}

/* Keep repeated-unit headings inside their card, rather than on the native
   fieldset border. The legend remains the accessible group name. */
.kea-cfg .unit-card>legend{float:left;width:100%;max-width:100%;margin:0 0 20px;padding:0;align-items:flex-start}
.kea-cfg .unit-card>legend~*{clear:both}
.kea-cfg .unit-card>legend>span:last-child{min-width:0;overflow-wrap:anywhere}
.kea-cfg .unit-card__number{flex:0 0 31px}
/* These siblings are outside a fields grid, so they do not inherit its gap. */
.kea-cfg .details-fields>.quantity-list+.field,
.kea-cfg .form-group>.quantity-list+.field,
.kea-cfg .form-group>.field+.field,
.kea-cfg .form-group>.field+.choice-group{margin-top:20px}
.kea-cfg .form-group>.field+.field-note{margin-top:12px}
.kea-cfg .quantity-list+.group-hint{margin-top:8px}
/* One readable block per object in the final review, including long addresses. */
.kea-cfg .scope-summary{margin-top:24px}
.kea-cfg .scope-summary>h4{margin:0 0 14px;font-size:14px;line-height:1.5}
.kea-cfg .scope-summary__units{display:grid;gap:12px;list-style:none;padding:0;margin:0}
.kea-cfg .scope-summary__units>li,.kea-cfg .scope-summary__common{display:grid;gap:6px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--raised)}
.kea-cfg .scope-summary__units>li>*,.kea-cfg .scope-summary__common>*{min-width:0;overflow-wrap:anywhere}
.kea-cfg .scope-summary__units small,.kea-cfg .scope-summary__common small{font-size:12px;line-height:1.6;color:var(--muted)}
.kea-cfg .scope-summary__common{margin-top:12px}
.kea-cfg .scope-summary__note{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.6}
/* The conditional report note makes the mobile dock taller than the original
   footer reserve. Keep the company footer scrollable above it. Short screens
   use the existing in-flow dock and need no fixed-dock reserve. */
@media(max-width:760px) and (min-height:451px){.kea-cfg:has(.mobile-price:not([hidden])) .footer{padding-bottom:calc(200px + env(safe-area-inset-bottom,0px))}}

/* Reviewed Claude layout findings: public presentation only. */
/* KEA öffentlicher Konfigurator · Restbefunde v1 · 2026-10-16
   Ans Ende des bestehenden Konfigurator-CSS anfügen. Nur Darstellung:
   keine Preis-, Payload- oder Datenlogik. Ungetestet im Live-Browser –
   jede Regel ist einem Befund (R-Nummer im Bericht) zugeordnet. */

/* R1 · Symbole ohne .icon-Klasse (Terminzustände, Upload, Erfolg):
   heute ungrösst und schwarz gefüllt. Gleicher Strichstil wie svg.icon. */
.kea-cfg .state-card__icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:12px;border:1px solid var(--line);border-radius:14px;background:var(--raised);color:var(--mint-text)}
.kea-cfg .state-card--error .state-card__icon{color:var(--error)}
.kea-cfg .state-card__icon svg,
.kea-cfg .upload-zone__icon svg,
.kea-cfg .success-icon svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kea-cfg .success-icon svg{width:34px;height:34px}

/* R5 · Direkte Geschwister in .details-fields, die die neuen
   .form-group-Regeln nicht treffen (Gewerbe gross, MFH ohne Wohnungen,
   ETW Allgemeinbereiche). Gleicher 20-px-Takt wie im korrigierten Stand. */
.kea-cfg .details-fields>.field+.field,
.kea-cfg .details-fields>.field+.choice-group{margin-top:20px}
.kea-cfg .details-fields>.nested-fields+.form-group{margin-top:22px}

/* R9 · Gruppen im 2-Spalten-Raster über volle Breite (Desktop/Tablet):
   PV «Pronovo», ETW Allgemeinbereiche «Rechnungsempfänger». */
.kea-cfg .fields>.check,
.kea-cfg .nested-fields>.choice-group{grid-column:1/-1;margin:0}
.kea-cfg .form-group>.fields+.choice-group{margin-top:20px}

/* R11 · Pflichtfeld-Hinweis über der Kontaktart. */
.kea-cfg .form-group>.form-note{margin:0 0 14px;font-size:11px;line-height:1.6;color:var(--muted)}

/* R6 · Objektadresse und Textschaltflächen (Adresse ändern,
   Termine neu suchen, Adressen bearbeiten) – Stil wie .context-line button. */
.kea-cfg .object-address{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 16px;font-size:13px;line-height:1.6}
.kea-cfg .text-button{display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:11px;color:var(--mint-text);text-decoration:underline;text-underline-offset:3px}
.kea-cfg .suggestions+.text-button{margin-top:6px}

/* R13 · Hilfezeile unter Auswahl und Terminzuständen. */
.kea-cfg .help-line{margin-top:14px;font-size:12px;line-height:1.6;color:var(--muted)}
.kea-cfg .help-line a{color:var(--mint-text);text-decoration:underline;text-underline-offset:3px}

/* R7 · Erfolgsansicht: zentrierte Kennzeile, lesbare Abstände,
   Listen linksbündig. */
.kea-cfg .success .eyebrow{justify-content:center;margin-bottom:10px;color:var(--dim)}
.kea-cfg .success h2{margin-bottom:10px}
.kea-cfg .success-ref{margin:16px 0}
.kea-cfg .success .review-list,
.kea-cfg .success .next-steps{text-align:left}
.kea-cfg .success .review-list{margin-bottom:20px}
.kea-cfg .success .next-steps{margin:8px 0 16px;padding-left:20px;font-size:13px;line-height:1.6;color:var(--muted)}
.kea-cfg .success>.button{margin-top:16px}

/* R8 · Fehlerkasten im hellen Modus (heute dunkelbraun). */
:root[data-theme=light] .kea-cfg .error,
:root[data-theme=light] .kea-cfg .suggestion-state{border-color:#e3b5ab;background:#fbefec;color:#7a2318}

/* R12 · Pflichtstern mit ausreichendem Kontrast (hell 1.9:1 → Fehlerfarbe). */
.kea-cfg .req{color:var(--error)}

/* R14 · Mengenkarte ohne Preisangabe: Bedienelement rechts halten. */
.kea-cfg .addon-bottom>.add-btn:first-child,
.kea-cfg .addon-bottom>.counter:first-child{margin-left:auto}


/* Final visual cross-check: distinguish the pending status and point the
   existing upward chevron down while its details element is collapsed. */
.kea-cfg .review-status{font-weight:400;color:var(--muted)}
.kea-cfg .price-breakdown:not([open]) summary .icon{transform:rotate(180deg)}
.kea-cfg .price-breakdown[open] summary .icon{transform:none}
/* Older browsers without :has still need room for the fixed mobile dock. */
@supports not selector(:has(*)){@media(max-width:760px) and (min-height:451px){.kea-cfg .footer{padding-bottom:calc(200px + env(safe-area-inset-bottom,0px))}}}

/* Optional invoice exceptions are independent and keep a consistent gap. */
.kea-cfg .unit-invoice-options{display:grid;gap:16px}
.kea-cfg .unit-invoice-options>.check,.kea-cfg .unit-invoice-options>.fields,.kea-cfg .unit-invoice-options>.choice-group{margin:0;min-width:0}
.kea-cfg .unit-invoice-options .check-title{min-width:0}
.kea-cfg .unit-invoice-options .check-title>.detail-icon{width:18px;height:18px;flex:0 0 18px}
.kea-cfg .unit-invoice-options .check-title>.detail-icon svg{display:block;width:18px;height:18px}
.kea-cfg .unit-invoice-options .check-title>span:last-child{min-width:0;overflow-wrap:anywhere}

/* Argon 2026-10-16: each mobile progress label stays within its own step. */
@media(max-width:760px){.progress .step-name{white-space:normal;overflow-wrap:normal}}

/* Claude audit: bounded public-form presentation fixes, 16.10.2026. */
.kea-cfg .toggle-card{cursor:pointer}
.kea-cfg .toggle-copy .toggle-hint{display:block;font-size:12px;color:var(--muted);margin-top:3px;line-height:1.6}
.kea-cfg .toggle-copy .field-error{display:block}
.kea-cfg .room-help--compact{font-size:12px}
.kea-cfg .room-help--compact summary>span{display:inline-flex;gap:8px}
.kea-cfg .selection-thumb .mood-photo[data-charging-photo=none]:before{content:'Keine Auswahl';font-size:12px;padding:6px;line-height:1.3}
.kea-cfg .dialog .summary-list{padding:19px 24px 6px}
.kea-cfg .tax-line,.kea-cfg .price-content :is(.price-note,.vat-note,.trust,.price-selection),.kea-cfg .price-content .price-rows small,.kea-cfg .selection-thumb-row small{font-size:12px;line-height:1.6}
.kea-cfg .mobile-report-condition{font-size:12px;line-height:1.4}
.kea-cfg .public-legal-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:18px;font-size:12px;line-height:1.5}
.kea-cfg .public-legal-links a{color:var(--muted);text-underline-offset:4px}
@media(max-width:760px){.kea-cfg .dialog .summary-list{padding-left:20px;padding-right:20px}}

.kea-cfg .service-choice[aria-pressed=true]{border-color:var(--mint-line);background:linear-gradient(140deg,var(--mint-bg),var(--card));box-shadow:inset 0 0 0 1px #80bf9733}
.kea-cfg .service-choice[aria-pressed=true] .service-radio{background:var(--mint);border-color:var(--mint);color:var(--on-mint)}
.kea-cfg .service-choice[aria-pressed=true] .service-radio .icon{opacity:1}
@media(hover:none){.kea-cfg .service-choice:not([aria-pressed=true]):hover{border-color:var(--line)}}

.kea-cfg .room-card.selected{border-color:var(--mint-line);background:linear-gradient(140deg,var(--mint-bg),var(--card));box-shadow:inset 0 0 0 1px var(--mint-line)}
.kea-cfg .room-card.selected .choice-mark{background:var(--mint);border-color:var(--mint)}
.kea-cfg .room-card.selected .choice-mark .icon{opacity:1}

.kea-cfg .addon-price small{white-space:normal;line-height:1.45;max-width:24ch}
.kea-cfg .room-card__price small,.kea-cfg .room-card__min small{display:block;font-size:10px;font-weight:400;white-space:normal;line-height:1.4}
.kea-cfg .dock-price-gross{display:block;font-size:9px;font-weight:400;color:var(--dim);line-height:1.35;max-width:23ch;white-space:normal}
.kea-cfg .review-list .vat-inline{display:block}

/* Price annotations follow the net amount, including in review and commercial notes. */
.kea-cfg .field-hint small,.kea-cfg .scope-note small,.kea-cfg .commercial-price-note strong small{display:block;font-size:.8em;font-weight:400;color:var(--muted);line-height:1.5}

/* Keep the sticky summary below the shared website navigation. */
@media(min-width:761px){
 .kea-cfg .sidebar{top:calc(var(--kn-header-height,86px) + 24px)}
}

/* Editable counts: a visible keyboard target with space for all three digits. */
.kea-cfg .quantity-control .qty-value{box-sizing:border-box;width:3.5ch;min-width:3.5ch;max-width:4ch;height:38px;padding:0;border:0;border-radius:0;background:transparent;color:var(--mint-text);font:inherit;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;-moz-appearance:textfield}
.kea-cfg .quantity-control:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.kea-cfg .quantity-control .qty-value:focus{outline:0}
.kea-cfg .quantity.has-error{flex-wrap:wrap}
.kea-cfg .quantity-error{flex-basis:100%;width:100%}
.kea-cfg .quantity-error[hidden]{display:none}
@media(max-width:760px){.kea-cfg .quantity-control .qty-value{height:42px}}

/* Keep every house view clear: decorative rings have no technical meaning. */
.kea-cfg .technical-svg .tech-orbits,
.kea-cfg .technical-house::before{display:none}

/* Shared website/configurator frame: navigation, text and footer use one grid. */
:root body.kea-cfg{
 --kea-layout-max:1400px;
 --kea-layout-gutter:clamp(20px,5vw,40px);
 --cfg-card-inset:clamp(20px,2vw,24px);
 --cfg-field-gap:20px;
 --cfg-section-gap:24px;
 --cfg-dialog-inset:clamp(20px,3vw,28px);
}
:root body.kea-cfg :is(.wrap,.kn-container){
 box-sizing:border-box;width:100%;max-width:var(--kea-layout-max);
 margin-inline:auto;padding-inline:var(--kea-layout-gutter);
}
/* Anchor links and step scrolling keep titles below the sticky website header. */
:root body.kea-cfg :is(.layout,#kc-form){
 scroll-margin-top:calc(var(--kea-web-ground-height,130px) + 20px);
}
/* Step headings remain left anchored within the shared form column. */
:root body.kea-cfg .panel>h2,
:root body.kea-cfg .panel>.lead{margin-inline:0;text-align:left}
:root body.kea-cfg .panel>.lead{max-width:65ch}
/* Decorative icons on only steps 3/4 must not indent their title text. */
:root body.kea-cfg .panel>h2>.detail-icon{display:none}
/* Equal-level object and review cards share their text inset in every variant. */
:root body.kea-cfg :is(.unit-card,.audit-unit-card,.dual-block,.dual-contact-card,.review-card){
 padding:var(--cfg-card-inset);
}
:root body.kea-cfg :is(.unit-cards,.audit-unit-list){gap:var(--cfg-section-gap)}
:root body.kea-cfg :is(.fields,.form-grid,.detail-grid){
 column-gap:var(--cfg-field-gap);row-gap:var(--cfg-field-gap);
}
:root body.kea-cfg .form-group{margin-block:var(--cfg-section-gap)}
:root body.kea-cfg .details-fields>.form-group{margin:0 0 var(--cfg-section-gap)}
/* The summary caption, explanation and price share a single inner text edge. */
:root body.kea-cfg .selection-cover__caption{
 left:var(--cfg-card-inset);right:var(--cfg-card-inset);
}
:root body.kea-cfg :is(.selection-info,.price-card-top,.price-total,.price-scope,.summary-list){
 padding-inline:var(--cfg-card-inset);
}
:root body.kea-cfg :is(.dialog-model,#design-price-dialog)>.dialog-inner{
 padding:var(--cfg-dialog-inset);
}
/* Dialogs already have an inset: avoid a second indent on the copied price. */
:root body.kea-cfg .dialog .price-content :is(.summary-list,.price-total,.price-scope){
 padding-inline:0;
}
@media print{
 :root body.kea-cfg :is(.wrap,.kn-container){width:100%;max-width:none;padding-inline:0}
}

/* Public address selection uses the existing field/card colours. */
.kea-cfg .kc-address-options{display:grid;gap:0;max-height:260px;overflow:auto;position:relative;z-index:4;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 8px 24px #0001;margin-top:4px}
.kea-cfg .kc-address-options button{min-height:44px;padding:10px 14px;text-align:left;font:inherit;font-size:14px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;cursor:pointer}
.kea-cfg .kc-address-options button:last-child{border-bottom:0}.kea-cfg .kc-address-options button:hover,.kea-cfg .kc-address-options button.is-active{background:var(--mint-bg)}
.kea-cfg .kc-address-options p{padding:10px 14px;margin:0;font-size:13px;color:var(--muted)}
.kea-cfg .travel-disclosure{margin-top:18px;padding:16px;border:1px solid var(--mint-line);border-radius:14px;background:var(--mint-bg);font-size:14px;line-height:1.6}
.kea-cfg .travel-disclosure strong{display:block}.kea-cfg .travel-disclosure p{margin:6px 0 0;color:var(--muted)}
.kea-cfg .mobile-travel-disclosure{display:none}
@media(max-width:760px){.kea-cfg .mobile-travel-disclosure{display:block}}

.kea-cfg p.travel-disclosure strong{display:inline}
