
:focus-visible{outline:2px solid var(--midnight);outline-offset:3px;border-radius:4px}
.section{padding:5rem 6%}
.section-inner{max-width:1100px;margin:0 auto}
.section-badge{font-size:0.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;display:block}
.center{text-align:center}
.dark{background:var(--midnight)}.dark .section-badge{color:rgba(255,255,255,.4)}
.reno-wrap{display:grid;grid-template-columns:1.4fr .9fr;gap:2rem;align-items:start}
.reno-list{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:1.4rem 1.8rem;box-shadow:var(--shadow-lg)}
.reno-row{display:grid;grid-template-columns:1fr 90px 110px;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--border)}
.reno-row:last-child{border-bottom:none}
.reno-qty{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:8px;font-family:'Inter','Inter Fallback',sans-serif;font-size:0.9375rem;text-align:center;color:var(--text);outline:none;-moz-appearance:textfield}
.reno-qty::-webkit-outer-spin-button,.reno-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.reno-qty:focus{border-color:var(--midnight);box-shadow:0 0 0 3px rgba(10,22,40,.07)}
.reno-sub{text-align:right;font-family:'Montserrat','Montserrat Fallback',sans-serif;font-weight:600;color:var(--midnight);font-size:0.9375rem;font-variant-numeric:tabular-nums}
.reno-panel{background:var(--midnight);border-radius:18px;padding:2rem;color:#fff;position:sticky;top:84px;box-shadow:var(--shadow-lg);overflow:hidden}
.reno-panel::before{content:'';position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)}
.reno-big{text-align:center;margin-bottom:1.4rem}
.reno-big .k{font-size:0.6875rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.3rem}
.reno-big .n{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:2.6rem;font-weight:700;line-height:1}
.reno-prow{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:0.875rem;color:rgba(255,255,255,.7)}
.reno-prow b{font-family:'Montserrat','Montserrat Fallback',sans-serif;color:#fff;font-weight:600}
.reno-cont{margin:1.2rem 0}
.reno-cont label{display:block;font-size:0.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.5rem}
.reno-cont label .val{float:right;color:#fff}
.reno-doors{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:.8rem;font-size:0.8125rem;color:rgba(255,255,255,.7)}
.reno-note{font-size:0.75rem;color:var(--text-muted);font-style:italic;margin-top:1.2rem;text-align:center;grid-column:1/-1}@media(max-width:860px){.reno-wrap{grid-template-columns:1fr}.reno-panel{position:static}}
.reno-scenarios .scen-lbl{font-size:0.75rem;font-weight:600;color:var(--text-muted);margin-right:.2rem}
.scen-btn{font-family:'Inter','Inter Fallback',sans-serif;font-size:0.8125rem;font-weight:600;color:var(--midnight);background:var(--white);border:1.5px solid var(--border);border-radius:8px;padding:.5rem 1rem;cursor:pointer;transition:all var(--t)}
.scen-btn:hover{border-color:var(--midnight);background:var(--mist)}
.scen-btn.active{background:var(--midnight);color:#fff;border-color:var(--midnight)}
.reno-gamme{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.3rem 0 .6rem}
.reno-gamme .gamme-lbl{font-size:0.75rem;font-weight:600;color:var(--text-muted)}
.gamme-seg{display:inline-flex;border:1.5px solid var(--border);border-radius:8px;overflow:hidden}
.reno-config-note{grid-column:1/-1;font-size:0.75rem;color:var(--text-muted);margin:-.1rem 0 .5rem}
.field-error{color:#dc2626;font-size:0.75rem;font-weight:600;margin-top:.25rem;line-height:1.3;display:block}
.reno-row .field-error{grid-column:1/-1;text-align:right}
.reno-doors-wrap{margin-top:.8rem}
.reno-doors-wrap .field-error{text-align:right;color:#fca5a5}
.reno-year label{font-size:0.875rem;font-weight:600;color:var(--midnight)}
.reno-year .yr-hint{display:block;font-size:0.75rem;font-weight:400;color:var(--text-muted)}
.reno-alerts{grid-column:1/-1;display:none;flex-direction:column;gap:.5rem;margin:.2rem 0 .4rem}
.reno-alert{display:flex;gap:.55rem;align-items:flex-start;background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;padding:.7rem .9rem;font-size:0.8125rem;color:#7c4a03;line-height:1.5}
.reno-alert b{color:#7c2d03}
.reno-roi .roi-sub{font-size:0.8125rem;color:var(--text-muted);margin-bottom:1rem;line-height:1.5}
.roi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1.1rem}
.roi-cell{background:var(--mist);border-radius:10px;padding:.8rem .7rem;text-align:center}
.roi-cell .roi-k{font-size:0.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-bottom:.3rem;display:block}
.roi-cell .roi-n{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:1.125rem;font-weight:700;color:var(--midnight);line-height:1.1}
.roi-cell .roi-n.green{color:var(--green)}
.roi-prio{margin-top:.4rem}
.roi-prio table{width:100%;border-collapse:collapse;font-size:0.8125rem}
.roi-prio th,.roi-prio td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}
.roi-prio th{font-size:0.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}
.roi-prio td{color:var(--text-light)}
.roi-prio .tag{display:inline-block;font-size:0.6875rem;font-weight:700;padding:.12rem .5rem;border-radius:20px}
.roi-prio .tag.def{background:#fee2e2;color:#dc2626}
.roi-prio .tag.rev{background:#dceefc;color:#155280}
.roi-disclaim{font-size:0.75rem;color:var(--text-muted);font-style:italic;margin-top:.9rem;line-height:1.5}@media(max-width:480px){.roi-grid{grid-template-columns:1fr;gap:.5rem}}
.reno-act-btn{display:inline-flex;align-items:center;gap:.45rem;font-family:'Inter','Inter Fallback',sans-serif;font-size:0.875rem;font-weight:600;color:var(--midnight);background:var(--white);border:1.5px solid var(--border);border-radius:8px;padding:.6rem 1.1rem;cursor:pointer;transition:all var(--t);text-decoration:none}
.reno-act-btn:hover{border-color:var(--midnight);background:var(--mist)}
.reno-act-btn.copied{border-color:var(--green);color:var(--green);background:#f0f7fd}@media print{.reno-actions{display:none}}
.reno-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.seo ul{margin:0 0 1.3rem 1.2rem;display:flex;flex-direction:column;gap:.55rem}
.seo li{font-size:1rem;color:var(--text-light);line-height:1.75}
.seo-lead{font-size:1.125rem;color:var(--text);line-height:1.9;margin-bottom:1.5rem}
.seo-card{background:var(--mist);border-radius:14px;padding:1.6rem 1.8rem;margin:1.8rem 0}
.seo-img{width:100%;border-radius:16px;margin:2rem 0;border:1px solid var(--border);box-shadow:var(--shadow)}
.seo-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:0.9375rem}
.seo-table th,.seo-table td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--border)}
.seo-table th{background:var(--mist);font-weight:600;color:var(--midnight);font-size:0.8125rem;text-transform:uppercase;letter-spacing:.04em}
.seo-table td{color:var(--text-light)}
.faq-list{max-width:840px;margin:2.5rem auto 0;display:flex;flex-direction:column;gap:.7rem}
.faq-item{border:1px solid var(--border);border-radius:12px;background:var(--white);overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:1.1rem 1.3rem;font-family:'Inter','Inter Fallback',sans-serif;font-size:0.9375rem;font-weight:600;color:var(--midnight);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;padding:0 1.3rem}
.faq-item.open .faq-a{max-height:420px;padding-bottom:1.2rem}
.cta-band{background:var(--midnight);text-align:center}
.site-footer{background:var(--midnight);color:rgba(255,255,255,.7);padding:3.5rem 6% 2rem;border-top:1px solid rgba(255,255,255,.08)}
.footer-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:3rem}
.footer-logo{font-family:'Montserrat','Montserrat Fallback',sans-serif;color:var(--white);display:flex;align-items:center;gap:.5rem}
.footer-logo-mark{width:var(--logo-mark-size);height:var(--logo-mark-size);background:transparent;display:flex;align-items:center;justify-content:center;color:#fff;--logo-accent:#7cc0ec}
.footer-logo-text{display:flex;flex-direction:column}
.footer-logo-name{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-weight:700;font-size:1.25rem;color:var(--white)}
.footer-col h4{font-size:0.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1.1rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.footer-bottom{max-width:1240px;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}
.footer-contact{margin-top:.9rem;display:flex;flex-direction:column;gap:.15rem}
.footer-social{display:flex;gap:.6rem;margin-top:1rem}
.seo-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}@media(max-width:640px){
  .section{padding:3.2rem 5%}
  .reno-list{padding:1.1rem 1.1rem}
  .reno-row{grid-template-columns:1fr 64px 88px;gap:.6rem;column-gap:.6rem}
  .reno-qty{padding:.5rem .3rem;min-height:44px}
  .reno-panel{padding:1.5rem}}@media(max-width:380px){
  .reno-row{grid-template-columns:1fr 56px 76px;gap:.4rem}
  .reno-sub{font-size:0.8125rem}}
.reno-unit{background:var(--white);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);margin-bottom:1.1rem;overflow:hidden}
.ru-head{display:flex;align-items:center;gap:.7rem;padding:.85rem 1.1rem;background:var(--midnight);color:#fff}
.ru-no{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-weight:700;font-size:0.9375rem}
.ru-name{font-weight:600;font-size:0.875rem;margin-right:auto;color:rgba(255,255,255,.92)}
.ru-tag{font-size:0.6875rem;background:rgba(255,255,255,.14);padding:.22rem .6rem;border-radius:20px;color:#fff}
.ru-sub{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-weight:700;font-size:0.9375rem;color:#fff}
.ru-del{background:rgba(255,255,255,.12);border:none;color:#fff;width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:0.8125rem;line-height:1}
.ru-del:hover{background:rgba(248,113,113,.45)}
.ru-body{padding:1.1rem 1.2rem 1.3rem}
.ru-seg-row{margin-bottom:1rem}
.ru-seg-row>label{display:block;font-size:0.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.45rem}
.ru-seg{display:flex;flex-wrap:wrap;gap:.35rem}
.ru-mats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}@media(max-width:600px){.ru-mats{grid-template-columns:1fr}}
.ru-catlbl{font-size:0.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:1.1rem 0 .25rem;padding-top:.8rem;border-top:1px solid var(--border)}
.ru-item{display:flex;align-items:center;gap:.7rem;padding:.5rem 0}
.ru-item label{display:flex;align-items:center;gap:.7rem;cursor:pointer;flex:1;min-width:0}
.ru-it-name{font-size:0.875rem;color:var(--text);font-weight:500}
.ru-price{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-weight:600;font-size:0.875rem;color:var(--midnight);font-variant-numeric:tabular-nums;white-space:nowrap}
.ru-item:not(.on) .ru-price{color:var(--text-muted);opacity:.55}
.ru-item:not(.on) .ru-it-name{color:var(--text-light)}
.reno-add{width:100%;padding:.95rem;border:1.5px dashed var(--border);border-radius:12px;background:var(--white);color:var(--midnight);font-weight:600;font-size:0.9375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .15s}
.reno-add:hover{border-color:var(--midnight);background:var(--mist)}
.reno-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--midnight);color:#fff;padding:.7rem 1.2rem;border-radius:10px;font-size:0.875rem;opacity:0;pointer-events:none;transition:all .25s;z-index:2000}
.reno-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.reno-add{flex:1;min-width:210px}
.reno-dup{padding:.95rem 1.2rem;border:1.5px solid var(--border);border-radius:12px;background:var(--white);color:var(--text-light);font-weight:600;font-size:0.875rem;cursor:pointer;transition:all .15s;white-space:nowrap}
.reno-dup:hover{border-color:var(--midnight);color:var(--midnight)}
.ru-head{cursor:pointer}
.ru-chev{color:rgba(255,255,255,.55);font-size:0.875rem;transition:transform .15s;display:inline-block;margin-left:.15rem}
.ru-chev.col{transform:rotate(-90deg)}
.ru-item{cursor:pointer;border-radius:8px;padding:.5rem .45rem!important}
.ru-item:hover{background:var(--mist)}
.ru-item.on{background:rgba(22,102,163,.06)}
.ru-item.on .ru-it-name{color:var(--midnight);font-weight:600}
.ru-check{width:18px;height:18px;border-radius:5px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;transition:all .12s}
.ru-item.on .ru-check{border-color:var(--green);background:var(--green)}
.ru-it-name{flex:1;min-width:0;font-size:0.875rem;color:var(--text-light)}
.ru-it-detail{font-size:0.75rem;color:var(--text-muted);margin-left:.4rem;font-weight:400}
.gscope-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;gap:.6rem}
.gscope-lbl{font-size:0.625rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.gscope-tier{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-weight:700;font-size:0.9375rem;color:#fff;transition:color .35s;text-align:right}
.gscope-bar{height:9px;border-radius:6px;background:rgba(255,255,255,.13);overflow:hidden}
.gscope-fill{height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#348ed3,#227ec5);transition:width .55s cubic-bezier(.34,1.1,.64,1),background .4s}
.gscope-ticks{display:flex;justify-content:space-between;margin-top:.45rem;font-size:0.625rem;color:rgba(255,255,255,.32);text-transform:uppercase;letter-spacing:.03em}
.gbench-row{display:flex;justify-content:space-between;align-items:center}
.gbench-k{font-size:0.8125rem;color:rgba(255,255,255,.6)}
.gbench-v{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-weight:700;color:#fff;font-size:1.0625rem;font-variant-numeric:tabular-nums}
.gbench-tag{display:inline-block;margin-top:.6rem;font-size:0.6875rem;font-weight:700;padding:.28rem .8rem;border-radius:20px;letter-spacing:.02em}
.groi-sub{font-size:0.875rem;color:var(--text-light);line-height:1.55;margin:0 0 1.1rem}
.groi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.groi-cell{background:rgba(255,255,255,.72);border:1px solid #d1e8fa;border-radius:12px;padding:1rem 1.1rem;text-align:center}
.groi-k{display:block;font-size:0.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.45rem}
.groi-n{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-weight:700;font-size:1.5rem;color:#155280;line-height:1;font-variant-numeric:tabular-nums}
.groi-foot{font-size:0.75rem;color:var(--text-muted);margin:1rem 0 0;line-height:1.55}
.reno-pulse{animation:renoPulse .55s ease}@media(max-width:560px){.groi-grid{grid-template-columns:1fr;gap:.7rem}.gscope-ticks{font-size:.48rem}}figcaption{color:#3f586e!important}.section.dark .section-badge{color:rgba(255,255,255,.72)!important}