.sfh-facade{--sf-gradient:linear-gradient(108deg,#3c6ba1 4%,#6164b7 48%,#9b579c 96%);--sf-heading-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ink:#243148;--sub:#526079;--line:#dfe5ef;--paper:#fff;--soft:#f7f9fc;--accent:#5963a6;--radius:19px}
.sfh-facade *{box-sizing:border-box}
.sfh-facade{scroll-behavior:smooth}
.sfh-facade{margin:0;background:#fafbfe;color:var(--ink);font:15px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.sfh-facade button,.sfh-facade a,.sfh-facade input{font:inherit}
.sfh-facade button{cursor:pointer}
.sfh-facade button:focus-visible,.sfh-facade a:focus-visible,.sfh-facade summary:focus-visible{outline:3px solid #6b72b0;outline-offset:5px}
.sfh-facade a{color:#535f9c;text-underline-offset:3px}
.sfh-facade .shell{max-width:1152px;margin:auto;padding:0 36px}
.sfh-facade .notice{background:#eef1f9;border-bottom:1px solid var(--line);font-size:12px;color:#4b5770;padding:11px 20px;text-align:center}
.sfh-facade .notice strong{font-weight:650}
.sfh-facade .topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 0;border-bottom:1px solid var(--line)}
.sfh-facade .brand{font-weight:760;letter-spacing:-.06em;font-size:21px}
.sfh-facade .brand span{font-weight:470;letter-spacing:-.04em}
.sfh-facade .brand small{font-size:10px;letter-spacing:.1em;margin-left:12px;color:var(--sub)}
.sfh-facade .top-note{font-size:12px;color:var(--sub)}
.sfh-facade .hero{padding:65px 0 38px;position:relative}
.sfh-facade .hero:after{content:"";position:absolute;right:0;top:35px;width:310px;height:225px;background:radial-gradient(ellipse,rgba(132,144,227,.09),transparent 70%);pointer-events:none;z-index:-1}
.sfh-facade .eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.12em;color:#5c6983;text-transform:uppercase;font-weight:640}
.sfh-facade .spark{width:20px;height:20px;flex:0 0 20px}
.sfh-facade .gradient{background:var(--sf-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.sfh-facade h1{font:500 clamp(36px,5.1vw,61px)/1.12 var(--sf-heading-font);letter-spacing:-.055em;margin:18px 0 20px}
.sfh-facade h1 .second{font-weight:350;color:#33405a}
.sfh-facade .intro{max-width:635px;font-size:16px;color:var(--sub);margin:0}
.sfh-facade .flow{display:flex;flex-wrap:wrap;align-items:center;gap:13px;font-size:11px;color:#64718a;margin-top:27px}
.sfh-facade .flow .current{color:#4d5798;font-weight:650}
.sfh-facade .flow i{width:23px;height:1px;background:#cfd6e5}
.sfh-facade .demo-controls{margin:12px 0 36px;border:1px solid var(--line);border-radius:12px;background:white;padding:13px 17px;display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.sfh-facade .demo-controls>span{font-size:11px;color:var(--sub);font-weight:650}
.sfh-facade .switches{display:flex;flex-wrap:wrap;gap:6px}
.sfh-facade .switches button{border:1px solid transparent;background:transparent;color:#566179;border-radius:7px;padding:7px 11px;font-size:12px}
.sfh-facade .switches button[aria-pressed="true"]{border-color:#dce0f1;background:#eff1fa;color:#424e90}
.sfh-facade .section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 17px}
.sfh-facade .section-title h2{font-size:21px;font-weight:550;letter-spacing:-.04em;margin:0}
.sfh-facade .section-title small{font-size:11px;color:var(--sub)}
.sfh-facade .number{font-size:11px;letter-spacing:.1em;color:#637197;margin-right:12px;vertical-align:middle}
.sfh-facade .scenario-caption{font-size:12px;color:var(--sub);margin:0 0 20px;max-width:810px}
.sfh-facade .problem{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 29px;margin:0 0 17px;position:relative;overflow:hidden}
.sfh-facade .problem:before{content:"";height:1px;position:absolute;top:0;left:29px;right:29px;background:var(--sf-gradient);opacity:.48}
.sfh-facade .problem-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}
.sfh-facade .problem h3{font-weight:540;letter-spacing:-.035em;font-size:26px;margin:0 0 5px}
.sfh-facade .tag{color:#566784;display:inline-flex;gap:6px;align-items:center;font-size:11px}
.sfh-facade .tag:before{content:"";width:5px;height:5px;border-radius:50%;background:#9299b7}
.sfh-facade .tag.review{color:#846248}
.sfh-facade .tag.review:before{background:#b99370}
.sfh-facade .price{text-align:right;flex:0 0 190px;padding-top:3px}
.sfh-facade .price .amount{font-size:21px;line-height:1.2;letter-spacing:-.03em;color:#4c597b;font-variant-numeric:tabular-nums}
.sfh-facade .price .unit{font-size:12px;letter-spacing:0}
.sfh-facade .price small{display:block;font-size:10px;color:#5f6b82;line-height:1.5;margin-top:5px}
.sfh-facade .columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;margin-top:22px;padding-top:21px;border-top:1px solid #e9edf4}
.sfh-facade .columns>div+div{border-left:1px solid #e7ebf3;padding-left:23px}
.sfh-facade .columns h4{font-size:12px;font-weight:650;margin:0 0 8px;color:#48556e}
.sfh-facade .columns p{font-size:13px;line-height:1.7;color:#56627a;margin:0}
.sfh-facade .cols-heading:before{content:"+";font-size:16px;margin-right:8px;color:#7580b2}
.sfh-facade .transition{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.025em;color:#78839a;margin:31px 0}
.sfh-facade .transition:before,.sfh-facade .transition:after{content:"";height:1px;background:#e0e5ef;flex:1}
.sfh-facade .solution-intro{color:var(--sub);font-size:13px;max-width:765px;margin:0 0 21px}
.sfh-facade .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.sfh-facade .tile{padding:22px 21px;background:white;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:10px}
.sfh-facade .tile-head{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}
.sfh-facade .tile h3{margin:0;font-size:15px;letter-spacing:-.03em;font-weight:600}
.sfh-facade .tile .tile-price{font-size:13px;white-space:nowrap;color:#556181;font-variant-numeric:tabular-nums}
.sfh-facade .tile p{font-size:12px;color:#5d687e;line-height:1.7;margin:0;flex:1}
.sfh-facade .tile small{font-size:10px;color:#586982;display:block;padding-top:7px;border-top:1px solid #edf0f6}
.sfh-facade .pending{display:flex;gap:13px;border:1px solid #e3dfd7;background:#fbfaf7;border-radius:12px;padding:16px 19px;color:#75634d;font-size:12px;margin-top:15px}
.sfh-facade .pending strong{display:block;font-weight:650;margin-bottom:3px}
.sfh-facade .summary{padding:29px 31px;margin-top:29px;border:1px solid #d8deec;background:linear-gradient(117deg,#f2f5fd,#f8f5fc);border-radius:var(--radius)}
.sfh-facade .summary-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.sfh-facade .summary h2{font-size:20px;line-height:1.35;letter-spacing:-.025em;font-weight:550;margin:0 0 9px}
.sfh-facade .summary .sum-note{font-size:12px;color:#5b6881;margin:0;max-width:420px}
.sfh-facade .total{font-size:25px;letter-spacing:-.045em;font-weight:560;line-height:1.3;text-align:right}
.sfh-facade .total small{display:block;font-weight:400;letter-spacing:0;font-size:10px;color:#58667e;margin-top:7px}
.sfh-facade .sum-lines{border-top:1px solid #dce1ef;margin-top:22px;padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px 34px;font-size:12px;color:#56647d}
.sfh-facade .sum-line{display:flex;justify-content:space-between;gap:12px}
.sfh-facade .sum-line b{color:#384761;font-weight:550;text-align:right}
.sfh-facade .traveldemo{margin:14px 0 0;color:#63718a;font-size:10px}
.sfh-facade .disclaimer{padding:23px 0 7px;color:#57647c;font-size:12px;max-width:900px}
.sfh-facade .disclaimer strong{display:block;color:#374660;font-weight:650;margin-bottom:7px}
.sfh-facade .contact-row{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:16px 0 35px}
.sfh-facade .contact-row>span{font-size:11px;color:#68748a;max-width:460px}
.sfh-facade .button{border:1px solid #565f91;background:#535d96;color:white;border-radius:8px;padding:12px 18px;font-size:12px;display:inline-flex;align-items:center;gap:20px}
.sfh-facade .button:hover{background:#485284}
.sfh-facade details{border-top:1px solid var(--line);padding:18px 0;font-size:12px;color:#5d6982}
.sfh-facade summary{cursor:pointer;color:#4f5d76;font-weight:560}
.sfh-facade details p{max-width:890px}
.sfh-facade details li{margin:5px 0}
.sfh-facade footer{display:flex;justify-content:space-between;gap:18px;padding:17px 0 25px;border-top:1px solid var(--line);font-size:10px;color:#64718b}
.sfh-facade dialog{border:1px solid #dfe4ef;border-radius:18px;padding:28px;max-width:470px;width:calc(100% - 40px);color:var(--ink);box-shadow:0 15px 50px #25345120}
.sfh-facade dialog::backdrop{background:#26345050}
.sfh-facade dialog h2{font-size:21px;letter-spacing:-.03em}
.sfh-facade dialog p{font-size:13px;color:var(--sub)}
.sfh-facade dialog .close{margin-top:12px}
.sfh-facade noscript{display:block;background:#fff4df;padding:20px;border-radius:12px}
.sfh-facade .print-only{display:none}
@media(max-width:850px){.sfh-facade .tiles{grid-template-columns:1fr 1fr}
.sfh-facade .columns{gap:18px}
.sfh-facade .columns>div+div{padding-left:18px}
.sfh-facade .brand small{display:none}
.sfh-facade .problem{padding:23px}
.sfh-facade .sum-lines{grid-template-columns:1fr}
.sfh-facade .price{flex-basis:160px}}
@media(max-width:600px){.sfh-facade .shell{padding:0 19px}
.sfh-facade .topbar{padding:20px 0}
.sfh-facade .top-note{max-width:100px;text-align:right;font-size:10px}
.sfh-facade .hero{padding:38px 0 22px}
.sfh-facade h1{font-size:39px}
.sfh-facade .intro{font-size:14px}
.sfh-facade .demo-controls{margin-bottom:28px;padding:13px}
.sfh-facade .switches button{font-size:11px;padding:7px 9px}
.sfh-facade .section-title h2{font-size:20px}
.sfh-facade .section-title small{display:none}
.sfh-facade .problem{padding:22px 19px}
.sfh-facade .problem h3{font-size:23px}
.sfh-facade .price{flex-basis:125px}
.sfh-facade .price .amount{font-size:18px}
.sfh-facade .price small{font-size:9px}
.sfh-facade .columns{grid-template-columns:1fr;gap:16px;margin-top:17px;padding-top:17px}
.sfh-facade .columns>div+div{border-left:none;padding-left:0}
.sfh-facade .columns h4{margin-bottom:4px}
.sfh-facade .columns p{font-size:13px}
.sfh-facade .tiles{grid-template-columns:1fr}
.sfh-facade .tile{padding:20px}
.sfh-facade .tile h3{font-size:16px}
.sfh-facade .tile p{font-size:13px}
.sfh-facade .summary{padding:23px 20px}
.sfh-facade .summary-top{flex-direction:column}
.sfh-facade .total{text-align:left;font-size:26px}
.sfh-facade .sum-note{font-size:12px}
.sfh-facade .contact-row{flex-direction:column-reverse;align-items:stretch}
.sfh-facade .button{justify-content:space-between}
.sfh-facade .contact-row>span{font-size:11px}
.sfh-facade footer{flex-direction:column;gap:4px}
.sfh-facade .notice{font-size:10px}
.sfh-facade .flow{gap:9px}}
@media(prefers-reduced-motion:reduce){.sfh-facade{scroll-behavior:auto}}
@media print{.sfh-facade{background:white}
.sfh-facade .notice,.sfh-facade .demo-controls,.sfh-facade .contact-row,.sfh-facade dialog{display:none}
.sfh-facade .shell{max-width:none;padding:0}
.sfh-facade .hero{padding-top:20px}
.sfh-facade h1{font-size:38px}
.sfh-facade .gradient{background:none;color:#536396}
.sfh-facade .problem,.sfh-facade .tile,.sfh-facade .summary{break-inside:avoid}
.sfh-facade .print-only{display:block;font-size:12px}
.sfh-facade .topbar{padding-top:0}
.sfh-facade footer{margin-top:10px}}
.sfh-facade [hidden]{display:none!important}
.sfh-facade .hero{padding-top:46px}
.sfh-facade .hero h1{margin-top:12px}
.sfh-facade .wizard{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 15px 50px #24314805}
.sfh-facade .wizard-head{padding:21px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}
.sfh-facade .steps{display:flex;gap:22px;font-size:12px}
.sfh-facade .steps span{display:flex;align-items:center;gap:7px;color:#6d7890}
.sfh-facade .steps b{width:23px;height:23px;border:1px solid #dbe1ed;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:500}
.sfh-facade .steps .active{color:#4e5797}
.sfh-facade .steps .active b{background:#5c65a2;color:#fff;border-color:#5c65a2}
.sfh-facade .stage{padding:30px}
.sfh-facade .stage h2{font-size:24px;font-weight:550;letter-spacing:-.045em;margin:0 0 7px}
.sfh-facade .lead{font-size:14px;color:var(--sub);margin:0 0 25px}
.sfh-facade .choicegrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.sfh-facade .choice{display:flex;gap:14px;align-items:center;position:relative;border:1px solid var(--line);border-radius:12px;padding:18px;cursor:pointer;min-height:78px;transition:background .15s,border-color .15s}
.sfh-facade .choice:hover{border-color:#afb8d5;background:#fafbfe}
.sfh-facade .choice:has(input:checked){border-color:#8994c4;background:#f3f5fc}
.sfh-facade .choice:has(input:focus-visible){outline:3px solid #a9b6dd;outline-offset:3px}
.sfh-facade .choice input{width:19px;height:19px;accent-color:#5965a2;margin:0;flex-shrink:0}
.sfh-facade .choice strong{font-size:14px;font-weight:560;display:block;line-height:1.4}
.sfh-facade .choice small{font-size:11px;color:#64718b;display:block;margin-top:3px}
.sfh-facade .card-icon{width:28px;height:28px;color:#7080ad;flex:0 0 28px}
.sfh-facade .wizard-foot{padding:18px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fdfdff}
.sfh-facade .wizard-foot .quiet{font-size:12px;color:var(--sub);margin:0}
.sfh-facade .button{min-height:44px;text-decoration:none;justify-content:center;gap:9px;font-size:13px}
.sfh-facade .button.secondary{background:#fff;color:#505d89;border-color:#d7ddec}
.sfh-facade .button:disabled{opacity:.42;cursor:not-allowed}
.sfh-facade .ghost{background:none;border:0;color:#607194;font-size:12px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.sfh-facade .meta{font-size:11px;color:#61708c}
.sfh-facade .counter{white-space:nowrap;font-size:11px;color:#607294}
.sfh-facade .error{color:#974949;font-size:12px;margin:12px 0 0}
.sfh-facade .info{background:#f4f6fc;border:1px solid #e0e5f3;padding:14px 16px;border-radius:10px;color:#56627a;font-size:12px;margin:16px 0}
.sfh-facade .info.warn{border-color:#e6ddce;background:#fbf9f4;color:#786347}
.sfh-facade .education{margin-top:38px}
.sfh-facade .education .section-title{margin-bottom:17px}
.sfh-facade .education .problem{margin-bottom:14px}
.sfh-facade .education .problem h3{font-size:24px}
.sfh-facade .education .problem .tag{font-size:11px}
.sfh-facade .problem .microintro{color:#69768e;font-size:11px;margin:8px 0 0}
.sfh-facade .problem .columns{margin-top:18px;padding-top:16px}
.sfh-facade .problem .columns p{font-size:12px}
.sfh-facade .problem .price{flex-basis:160px}
.sfh-facade .problem .price .amount{font-size:18px}
.sfh-facade .side-select{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:19px}
.sfh-facade .side-select .choice{padding:9px 13px;min-height:44px;gap:9px;font-size:12px}
.sfh-facade .photo-side{padding:19px;border:1px solid #e0e5ef;border-radius:13px;margin-top:14px;background:#fcfdff}
.sfh-facade .photo-side h3{margin:0 0 12px;font-size:15px;font-weight:550}
.sfh-facade .photo-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.sfh-facade .upload-box{border:1px dashed #cdd6e8;border-radius:11px;background:#fff;padding:17px;min-width:0}
.sfh-facade .upload-box strong{font-weight:550;font-size:13px;display:block}
.sfh-facade .upload-box p{font-size:11px;color:var(--sub);margin:5px 0 12px}
.sfh-facade .upload-actions{display:flex;gap:8px;flex-wrap:wrap}
.sfh-facade .upload-actions .button{font-size:11px;padding:8px 10px;min-height:38px}
.sfh-facade .thumbnails{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
.sfh-facade .photo{display:grid;grid-template-columns:70px 1fr 21px;gap:10px;align-items:start;padding:9px;background:#f7f9fd;border-radius:9px}
.sfh-facade .photo img{width:70px;height:62px;object-fit:cover;border-radius:6px}
.sfh-facade .photo strong{font-size:11px;word-break:break-word;display:block}
.sfh-facade .photo .meta{font-size:10px;line-height:1.4;display:block;margin-top:4px}
.sfh-facade .photo .remove{border:0;background:none;color:#758097;font-size:17px;padding:0}
.sfh-facade .photo small{font-size:10px;display:block;margin-top:3px}
.sfh-facade .photo .warntext{color:#816447}
.sfh-facade .area-side{border:1px solid var(--line);border-radius:12px;padding:19px;margin-bottom:12px}
.sfh-facade .area-side h3{font-size:15px;font-weight:550;margin:0 0 12px}
.sfh-facade .field{display:flex;flex-direction:column;gap:6px;min-width:0}
.sfh-facade .field label{font-size:12px;color:#596782}
.sfh-facade .field input,.sfh-facade .field select{font:inherit;border:1px solid #d5ddec;border-radius:8px;padding:10px 12px;width:100%;background:#fff;color:var(--ink);min-height:44px}
.sfh-facade .field input:focus,.sfh-facade .field select:focus{outline:2px solid #97a5d6;outline-offset:2px}
.sfh-facade .inputunit{display:flex;gap:10px;align-items:center;max-width:240px}
.sfh-facade .inputunit span{font-size:13px;color:#6c7891}
.sfh-facade .fieldgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.sfh-facade .area-side details{margin-top:15px;padding-bottom:0}
.sfh-facade .area-side details .fieldgrid{margin-top:14px}
.sfh-facade .address{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:12px}
.sfh-facade .area-total{margin:18px 0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:14px}
.sfh-facade .status-row{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}
.sfh-facade .chip{font-size:11px;background:#f1f4fb;border:1px solid #dfe5f2;padding:5px 9px;border-radius:100px;color:#5b6b8a}
.sfh-facade .results-top{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.sfh-facade .summary-card{background:#f6f8fd;border:1px solid var(--line);border-radius:13px;padding:17px 20px;font-size:13px;min-width:180px}
.sfh-facade .summary-card strong{display:block;font-size:22px;font-weight:550;letter-spacing:-.035em}
.sfh-facade .result-section{margin-top:34px}
.sfh-facade .timber{padding:36px 30px}
.sfh-facade .timber h2{font-weight:500;font-size:29px;letter-spacing:-.04em;margin:0 0 14px}
.sfh-facade .timber .lead{max-width:660px}
.sfh-facade .contactbuttons{display:flex;gap:11px;flex-wrap:wrap;margin-top:23px}
.sfh-facade .timbermark{font-size:35px;color:#6977a7;margin-bottom:15px}
.sfh-facade .technical{font-size:11px;color:#68758d;margin:20px 0 0}
.sfh-facade .testtools{margin:25px 0 30px;padding:14px 0}
.sfh-facade .testtools>summary{font-size:11px;color:#758098}
.sfh-facade .testtools h3{font-size:14px;font-weight:550;margin:19px 0 9px}
.sfh-facade .testtools .field label{font-size:11px}
.sfh-facade .testtools .field input{font-size:12px;min-height:40px}
.sfh-facade .testtools .fieldgrid{grid-template-columns:repeat(3,1fr)}
.sfh-facade .testline{display:flex;gap:9px;align-items:flex-start;font-size:12px;margin-top:11px}
.sfh-facade .testline input{accent-color:#5965a2;width:16px;height:16px;margin-top:3px}
.sfh-facade .rate-editor{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sfh-facade .softbtn{font-size:11px;border:1px solid #d9dfec;color:#606e90;background:#fff;border-radius:7px;padding:8px 11px;cursor:pointer}
.sfh-facade .price-note{font-size:10px;color:#64718a;line-height:1.5}
.sfh-facade .sum-lines{grid-template-columns:1fr}
.sfh-facade .sum-line.unknown b{font-size:11px;color:#806448}
.sfh-facade .subordinate{margin-top:24px;background:#fff;border:1px dashed #d4dceb;border-radius:13px;padding:18px}
.sfh-facade .subordinate h3{font-size:15px;font-weight:550;margin:0}
.sfh-facade .subordinate p{font-size:12px;color:#60708b;line-height:1.65}
.sfh-facade .subordinate .tiles{margin-top:13px}
.sfh-facade .total{max-width:410px}
.sfh-facade .state-label{border:1px solid #d9e2ec;color:#5d7693;border-radius:100px;padding:5px 10px;font-size:11px;display:inline-block}
.sfh-facade .optionaltext{color:#877553!important}
.sfh-facade .result-section .tile h3{font-size:15px}
.sfh-facade .result-section .tile-head{flex-wrap:wrap}
.sfh-facade .result-section .tile-price{font-size:14px}
.sfh-facade .tile-body-note{font-size:10px}
.sfh-facade .quietcontrol{font-size:12px;display:flex;gap:8px;align-items:center;color:#63718b;margin-top:18px}
.sfh-facade .quietcontrol input{accent-color:#5b64a0;width:17px;height:17px}
.sfh-facade .safebadge{font-size:11px;line-height:1.7;color:#78694f}
.sfh-facade .wizard-head .version{font-size:10px;letter-spacing:.06em;color:#8a94aa}
.sfh-facade .success{font-size:12px;color:#526b82}
.sfh-facade .sourcebox{font-size:11px}
.sfh-facade .sourcebox p{font-size:11px;max-width:850px}
.sfh-facade .photo-meta-only{font-size:10px}
.sfh-facade .selected-count{color:#586596}
.sfh-facade .tool-btn-row{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 0}
.sfh-facade .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.sfh-facade .steps{gap:13px}
.sfh-facade .stage{padding:24px}
.sfh-facade .address{grid-template-columns:1fr 1fr}
.sfh-facade .address>.field:first-child{grid-column:1/-1}
.sfh-facade .rate-editor{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.sfh-facade .hero{padding-top:34px}
.sfh-facade .wizard-head{padding:16px 18px}
.sfh-facade .wizard-head .version{display:none}
.sfh-facade .steps{gap:14px;width:100%;justify-content:space-between}
.sfh-facade .steps .name{display:none}
.sfh-facade .steps .active .name{display:inline}
.sfh-facade .stage{padding:23px 18px}
.sfh-facade .stage h2{font-size:23px}
.sfh-facade .choicegrid{grid-template-columns:1fr}
.sfh-facade .choice{min-height:70px;padding:14px}
.sfh-facade .choice strong{font-size:13px}
.sfh-facade .photo-columns{grid-template-columns:1fr}
.sfh-facade .photo-side{padding:14px}
.sfh-facade .fieldgrid,.sfh-facade .testtools .fieldgrid{grid-template-columns:1fr 1fr}
.sfh-facade .wizard-foot{padding:16px 18px;flex-wrap:wrap}
.sfh-facade .wizard-foot .quiet{font-size:11px;max-width:150px}
.sfh-facade .education .problem{padding:20px 17px}
.sfh-facade .education .problem h3{font-size:22px}
.sfh-facade .education .problem .price{flex-basis:115px}
.sfh-facade .education .problem .price .amount{font-size:16px}
.sfh-facade .problem .columns>div+div{border:0;padding:0}
.sfh-facade .results-top{flex-direction:column}
.sfh-facade .summary-card{width:100%}
.sfh-facade .timber{padding:28px 20px}
.sfh-facade .timber h2{font-size:26px}
.sfh-facade .contactbuttons{flex-direction:column}
.sfh-facade .summary-top{flex-direction:column}
.sfh-facade .summary .total{text-align:left}
.sfh-facade .rate-editor{grid-template-columns:1fr 1fr}
.sfh-facade .summary{padding:23px 20px}
.sfh-facade .result-section .tiles{grid-template-columns:1fr}
.sfh-facade .total{font-size:24px}
.sfh-facade .card-icon{width:23px;height:23px;flex-basis:23px}
.sfh-facade .education{margin-top:27px}}
@media(prefers-reduced-motion:reduce){.sfh-facade *{scroll-behavior:auto!important;transition:none!important}}
@media print{.sfh-facade .notice,.sfh-facade .testtools,.sfh-facade .wizard-foot,.sfh-facade .contactbuttons,.sfh-facade .ghost,.sfh-facade .topbar,.sfh-facade .sourcebox{display:none!important}
.sfh-facade .wizard{box-shadow:none}
.sfh-facade .problem,.sfh-facade .tile{break-inside:avoid}
.sfh-facade .gradient{background:none;color:#334c72}
.sfh-facade .shell{max-width:none;padding:0}
.sfh-facade .education{margin-top:20px}
.sfh-facade .hero{padding:15px 0}
.sfh-facade .summary{break-inside:avoid}
.sfh-facade .stage{padding:18px}
.sfh-facade .button{display:none!important}
.sfh-facade footer{margin-top:15px}}
/* Integration-specific rules. No global resets, fonts or component classes. */
.sfh-facade { width:100%; max-width:100%; min-width:0; background:transparent; margin:0;
  color:var(--ink); font-family:inherit; font-size:15px; line-height:1.65; }
.sfh-facade .wizard { width:100%; text-align:left; }
.sfh-facade fieldset { min-inline-size:0; }
.sfh-facade input[type=checkbox] { appearance:auto; -webkit-appearance:checkbox; display:inline-block; }
.sfh-facade .choice.is-selected { border-color:#8994c4; background:#f3f5fc; }
.sfh-facade .choice.is-selected .card-icon { color:#5362a3; }
.sfh-facade .choice strong { color:var(--ink); }
.sfh-facade .stage h2 { background:var(--sf-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sfh-facade .button { letter-spacing:normal; text-transform:none; font-weight:500; }
.sfh-facade .integration-foot { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.sfh-facade .integration-foot .ghost { min-height:44px; }
.sfh-facade .integration-note { margin:15px 0 0; font-size:11px; color:var(--sub); line-height:1.7; }
.sfh-facade .local-preview-notice { border:1px solid var(--line); border-radius:10px;
  background:#f4f6fc; padding:12px 15px; margin-bottom:16px; font-size:12px; color:var(--sub); }
.sfh-facade .section-title h2 { color:var(--ink); }
.sfh-facade--solution { margin-top:32px; }
.sfh-facade--selection .stage { padding:28px; }
.sfh-facade [hidden], .sfh-facade[hidden] { display:none!important; }
[data-sfh-problems-controlled="true"][data-sfh-problems-empty="true"],
[data-sfh-problems-controlled="true"] [data-sfh-problem-card][data-sfh-problem-hidden="true"] { display:none!important; }
[data-sfh-problems-controlled="true"] [data-sfh-problem-card] { scroll-margin-top:120px; }
@media(max-width:600px){
  .sfh-facade--selection .stage { padding:22px 18px; }
  .sfh-facade .integration-foot { width:100%; }
  .sfh-facade .integration-foot .button { flex:1 1 150px; }
}
@media(prefers-reduced-motion:reduce){
 .sfh-facade *, .sfh-facade { scroll-behavior:auto!important; transition:none!important; }
}

/* V3.1: independent info action in the top-right corner of each problem choice. */
.sfh-facade .choice.choice--with-info {
  display:block; min-height:90px; padding:0; position:relative;
  overflow:visible; cursor:default;
}
.sfh-facade .choice--with-info .choice-label {
  display:flex; gap:14px; align-items:center;
  width:100%; min-height:90px; padding:17px 64px 17px 18px;
  cursor:pointer; border-radius:12px;
}
.sfh-facade .choice--with-info .choice-text { min-width:0; flex:1; }
.sfh-facade .choice--with-info .choice-label:focus-within { outline-offset:2px; }
.sfh-facade .choice--with-info .choice-info {
  position:absolute; top:11px; right:11px;
  display:grid; place-items:center; width:43px; height:43px;
  padding:0; background:#fff; color:#5866a0;
  border:1px solid #dce2ef; border-radius:12px;
  box-shadow:0 1px 2px rgba(25,37,69,.03);
  line-height:1; cursor:pointer;
  transition:border-color .15s, background-color .15s, transform .15s;
}
.sfh-facade .choice--with-info .choice-info:hover {
  border-color:#8793c2; background:#f0f3fc;
  transform:translateY(-1px);
}
.sfh-facade .choice--with-info .choice-info:focus-visible {
  outline:3px solid #9babe0; outline-offset:2px;
}
.sfh-facade .choice--with-info .choice-info svg { width:20px; height:20px; }

/* Body-level dialog portal, independent from the conditional .problems visibility. */
dialog.sfh-facade.sfh-facade--info-modal {
  position:fixed; inset:0; margin:auto;
  width:min(820px, calc(100vw - 34px));
  max-width:820px; max-height:min(88dvh, 900px);
  padding:0; overflow:hidden; background:#fff; color:var(--ink);
  border:1px solid #e2e6f2; border-radius:20px;
  box-shadow:0 24px 75px rgba(24,34,68,.27);
  box-sizing:border-box;
}
dialog.sfh-facade.sfh-facade--info-modal::backdrop {
  background:rgba(26,35,64,.52);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
}
.sfh-facade--info-modal .sfh-info-modal-frame {
  display:flex; flex-direction:column; max-height:min(88dvh, 900px);
  min-height:0; background:#fff;
}
.sfh-facade--info-modal .sfh-info-modal-top {
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:20px; flex:none; position:relative;
  padding:28px 30px 20px;
  border-bottom:1px solid #e7ebf3;
}
.sfh-facade--info-modal .sfh-info-modal-top:before {
  content:''; position:absolute; top:0; left:30px; right:30px; height:2px;
  background:var(--sf-gradient);
}
.sfh-facade--info-modal .sfh-info-modal-eyebrow {
  display:block; color:#65728f; font-size:11px; font-weight:650;
  letter-spacing:.12em; margin-bottom:7px;
}
.sfh-facade--info-modal .sfh-info-modal-eyebrow span { color:#6774ad; }
.sfh-facade--info-modal #sfh-info-modal-title {
  margin:0; font-size:clamp(21px, 3vw, 28px);
  font-weight:540; line-height:1.3; letter-spacing:-.045em;
  background:var(--sf-gradient); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.sfh-facade--info-modal #sfh-info-modal-description {
  margin:8px 0 0; max-width:560px; font-size:12px; color:#68748a;
}
.sfh-facade--info-modal .sfh-info-modal-close {
  display:grid; place-items:center; flex:0 0 44px;
  width:44px; height:44px; padding:0;
  border:1px solid #dae1ee; background:#f9fafe;
  color:#53617d; border-radius:11px;
}
.sfh-facade--info-modal .sfh-info-modal-close:hover {
  background:#eef1fa; border-color:#9ca9ca;
}
.sfh-facade--info-modal .sfh-info-modal-scroll {
  min-height:0; overflow-y:auto; overscroll-behavior:contain;
  padding:26px 30px 30px;
}
.sfh-facade--info-modal .sfh-info-modal-copy.problems {
  display:block!important; margin:0!important; padding:0;
  max-width:100%; border:0; background:none;
}
.sfh-facade--info-modal .sfh-info-modal-source {
  display:block!important; opacity:1!important; visibility:visible!important;
  max-width:100%; width:100%; margin-top:0!important;
  box-sizing:border-box;
}
.sfh-facade--info-modal .sfh-info-modal-source :is(img,video,svg,canvas,iframe) {
  max-width:100%; height:auto;
}
.sfh-facade--info-modal .sfh-info-modal-copy :is(h1,h2,h3,h4,h5,h6) { overflow-wrap:anywhere; }
.sfh-facade--info-modal .sfh-info-modal-missing {
  color:#52617b; padding:20px; background:#f6f8fd;
  border:1px solid #e0e5ef; border-radius:12px;
}
.sfh-facade--info-modal .sfh-info-modal-bottom {
  display:flex; flex:none; align-items:center; justify-content:space-between;
  gap:18px; border-top:1px solid #e7ebf3; padding:14px 30px;
  color:#728096; background:#fcfdff;
}
.sfh-facade--info-modal .sfh-info-modal-bottom span { font-size:11px; }
.sfh-facade--info-modal .sfh-info-modal-done {
  flex:0 0 auto; padding:10px 19px; border-radius:9px;
  border:1px solid #d2daea; background:#f2f4fb; color:#4c5b8b;
  font-size:12px; font-weight:600;
}
.sfh-facade--info-modal .sfh-info-modal-done:hover { background:#e8edf8; }
@media(max-width:600px) {
  .sfh-facade .choice--with-info .choice-label { padding:13px 60px 13px 14px; min-height:82px; }
  .sfh-facade .choice--with-info .choice-info { top:9px; right:9px; width:44px; height:44px; }
  dialog.sfh-facade.sfh-facade--info-modal {
    width:calc(100vw - 18px); max-height:calc(100dvh - 20px); border-radius:16px;
  }
  .sfh-facade--info-modal .sfh-info-modal-frame { max-height:calc(100dvh - 20px); }
  .sfh-facade--info-modal .sfh-info-modal-top { padding:19px 17px 16px; gap:11px; }
  .sfh-facade--info-modal .sfh-info-modal-top:before { left:17px; right:17px; }
  .sfh-facade--info-modal .sfh-info-modal-scroll { padding:15px 16px 19px; }
  .sfh-facade--info-modal .sfh-info-modal-bottom { padding:12px 16px; }
  .sfh-facade--info-modal .sfh-info-modal-bottom span { max-width:190px; font-size:10px; }
}
@media(prefers-reduced-motion: reduce) {
  .sfh-facade .choice--with-info .choice-info { transition:none; }
  .sfh-facade .choice--with-info .choice-info:hover { transform:none; }
}
@media print { dialog.sfh-facade.sfh-facade--info-modal { display:none!important; } }

/* v4.2: dark-background website wizard, cyber-light selection and accessible modal */
.sfh-facade--info-modal #sfh-info-modal-title {
  color:#111 !important; background:none !important; -webkit-text-fill-color:#111 !important;
  font-weight:800 !important;
}
.sfh-facade--info-modal :is(.sfh-info-modal-scroll,.sfh-info-modal-scroll p,.sfh-info-modal-scroll li,.sfh-info-modal-scroll span,.sfh-info-modal-scroll strong,.sfh-info-modal-scroll h1,.sfh-info-modal-scroll h2,.sfh-info-modal-scroll h3,.sfh-info-modal-scroll h4,.sfh-info-modal-scroll h5,.sfh-info-modal-scroll h6,.sfh-info-modal-scroll em) {
  color:#111 !important; -webkit-text-fill-color:#111 !important;
}
.sfh-facade--info-modal .sfh-info-modal-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(175px,35%);gap:24px;align-items:start;}
.sfh-facade--info-modal .sfh-info-modal-layout:not(:has(.sfh-info-modal-media)) {grid-template-columns:1fr;}
.sfh-facade--info-modal .sfh-info-modal-layout .sfh-info-modal-text {min-width:0;order:1;}
.sfh-facade--info-modal .sfh-info-modal-layout .sfh-info-modal-media {min-width:0;order:2;display:flex;flex-direction:column;gap:12px;}
.sfh-facade--info-modal .sfh-info-modal-media figure {margin:0;padding:0;border:1px solid #e5e7ef;border-radius:11px;overflow:hidden;}
.sfh-facade--info-modal .sfh-info-modal-media img {display:block;width:100%;height:auto;max-height:350px;object-fit:cover;}
.sfh-facade--info-modal .sfh-info-modal-media figcaption {padding:8px 10px;font-size:12px;}
.sfh-facade .wizard {background:transparent!important;box-shadow:none!important;border-color:rgba(187,204,237,.38)!important;}
.sfh-facade .wizard-head {background:transparent;border-bottom-color:rgba(170,189,231,.36);}
.sfh-facade .wizard-head .steps span {color:#dae3fd;}
.sfh-facade .wizard-head .steps .active {color:#fff;font-weight:700;}
.sfh-facade .wizard-head .steps b {color:#ecf1ff;border-color:#aebfef;}
.sfh-facade .wizard-head .steps .active b {border-color:#a1c8ff;background:linear-gradient(110deg,#547db4,#7871bd,#aa72b9);}
.sfh-facade .wizard-head .version {color:#d4ddf6;}
.sfh-facade .wizard[data-sfh-step="0"] .stage h2 {background:var(--sf-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:730;}
.sfh-facade .wizard[data-sfh-step="0"] .stage .lead {color:#fff!important;}
.sfh-facade .wizard[data-sfh-step="0"] .stage .meta {color:#f0f2ff!important;}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info {
  background:rgba(7,18,46,.22);border:1px solid rgba(140,174,249,.85);
  box-shadow:inset 0 0 0 1px rgba(161,120,225,.25);position:relative;isolation:isolate;
  transition:box-shadow .3s ease,transform .3s ease,background .3s ease;
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info:after {
  content:"";position:absolute;inset:-1px;z-index:-1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(122deg,#5db8fe,#7b7dec,#c17bf4,#5db8fe);background-size:240% 240%;
  opacity:0;transition:opacity .25s ease;
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info:hover:not(.is-selected) {
  transform:translateY(-3px);box-shadow:0 0 25px rgba(122,142,255,.48), inset 0 0 15px rgba(87,140,228,.16);
  background:rgba(32,36,82,.36);
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info:hover:not(.is-selected):after {
  opacity:.19;animation:sfhCyberShift 1.75s linear infinite;
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info.is-selected {
  background:linear-gradient(130deg,rgba(44,93,153,.55),rgba(81,56,135,.55))!important;
  border-color:#99b9ff!important;box-shadow:0 0 14px rgba(129,117,240,.3),inset 0 0 0 1px rgba(168,139,233,.56)!important;
  transform:none!important;
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info.is-selected:after {display:none;}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice strong {color:#fff!important;}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice small {color:#e0e9ff!important;}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice .card-icon {color:#cddcff!important;}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice input {accent-color:#c6b5ff;}
.sfh-facade .choice--with-info .choice-info,
.sfh-facade .choice--with-info .choice-info:hover,
.sfh-facade .choice--with-info .choice-info:focus-visible {
  color:#f0c647!important;border:none!important;box-shadow:none!important;background:transparent!important;
  text-shadow:none!important;
}
.sfh-facade .choice--with-info .choice-info:hover svg {filter:drop-shadow(0 0 5px rgba(255,213,92,.7));}
.sfh-facade .wizard-foot {background:transparent!important;border-color:rgba(170,189,231,.36)!important;}
.sfh-facade .wizard-foot .quiet {color:#f5f7ff!important;}
.sfh-facade .wizard-foot .button {background:linear-gradient(110deg,#537eb6,#6467b8,#95619c);border:1px solid #b0c4fa;color:white;font-weight:650;}
.sfh-facade .wizard-foot .button:hover {filter:brightness(1.18);}
.sfh-facade-start {font:600 15px/1.25 inherit; padding:14px 25px;background:linear-gradient(110deg,#547eb2,#8269ad);border-radius:10px;color:#fff;border:1px solid rgba(176,187,244,.7);cursor:pointer;}
.sfh-facade .sfh-mode-fieldset {border:none;padding:0;margin:0 0 16px;}
.sfh-facade .sfh-mode-fieldset legend {font-weight:600;margin-bottom:11px;}
.sfh-facade .sfh-area-modes {display:flex;gap:12px;flex-wrap:wrap;}
.sfh-facade .sfh-area-mode {display:flex;align-items:center;gap:9px;padding:13px 16px;border:1px solid #cad2e5;border-radius:11px;background:#f7f9fe;cursor:pointer;}
.sfh-facade .sfh-area-mode:has(input:checked) {border-color:#6d77bd;background:#ebedf9;}
.sfh-facade .sfh-area-mode input,.sfh-facade .sfh-area-deduct input {accent-color:#6167a8;}
.sfh-facade .sfh-area-deduct {display:flex;align-items:flex-start;gap:10px;margin:16px 0 8px;cursor:pointer;}
.sfh-facade .sfh-area-deduct input {margin-top:4px;flex:0 0 auto;}
.sfh-facade .sfh-openings-grid {margin-top:15px;grid-template-columns:repeat(2,minmax(0,1fr));}
.sfh-facade .sfh-design-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.sfh-facade .sfh-design-card {background:#fff;border:1px solid #d9deeb;border-radius:14px;overflow:hidden;}
.sfh-facade .sfh-design-picture {position:relative;background:linear-gradient(142deg,#eff2fc,#d8ddef);height:230px;display:grid;place-items:center;}
.sfh-facade .sfh-design-picture img {width:100%;height:100%;object-fit:cover;display:block;}
.sfh-facade .sfh-design-placeholder span {font-size:65px;color:#8c91b0;}
.sfh-facade .sfh-design-original {position:absolute;bottom:9px;left:10px;background:#fffdf6e8;padding:4px 8px;border-radius:5px;color:#303d58;font-size:11px;}
.sfh-facade .sfh-design-content {padding:18px;}
.sfh-facade .sfh-design-content h3 {font-weight:700;font-size:16px;margin:0 0 8px;}
.sfh-facade .sfh-design-content p {font-size:13px;line-height:1.5;min-height:37px;}
.sfh-facade .sfh-design-content small {font-size:11px;color:#66748a;}
.sfh-facade .sfh-design-swatches {display:flex;gap:7px;margin:13px 0;}
.sfh-facade .sfh-design-swatches i {width:29px;height:29px;border-radius:50%;border:1px solid #ccd2dc;}
.sfh-facade .sfh-visual-consent {display:flex;align-items:flex-start;gap:12px;background:#f3f6fb;border:1px solid #d5def0;padding:14px;margin:19px 0;}
.sfh-facade .sfh-design-progress,.sfh-facade .sfh-design-footnote,.sfh-facade .sfh-design-note {font-size:12px;color:#56627c;margin:13px 0;}
@keyframes sfhCyberShift {to {background-position:240% 80%;}}
@media(max-width:750px){.sfh-facade--info-modal .sfh-info-modal-layout{grid-template-columns:minmax(0,1fr) minmax(115px,37%);gap:12px;}}
@media(max-width:530px){.sfh-facade--info-modal .sfh-info-modal-layout{grid-template-columns:minmax(0,1fr);}.sfh-facade--info-modal .sfh-info-modal-layout .sfh-info-modal-media{order:2;}.sfh-facade .sfh-design-grid{grid-template-columns:1fr;}.sfh-facade .sfh-area-modes{flex-direction:column;}.sfh-facade .sfh-openings-grid{grid-template-columns:1fr;}.sfh-facade .wizard-head .steps{gap:6px;}.sfh-facade .wizard-head .steps b{width:21px;height:21px;}}
@media(prefers-reduced-motion:reduce){.sfh-facade .choicegrid .choice--with-info,.sfh-facade .choicegrid .choice--with-info:after{transition:none!important;animation:none!important;transform:none!important;}}
/* All viewport widths: keep pictures in the right-hand modal column. */
@media(max-width:530px){.sfh-facade--info-modal .sfh-info-modal-layout{grid-template-columns:minmax(0,1fr) minmax(96px,35%);gap:9px;}.sfh-facade--info-modal .sfh-info-modal-layout:not(:has(.sfh-info-modal-media)){grid-template-columns:1fr;}}
.analyseForm[data-sfh-collapsed="true"]{display:none!important;}
/* Multi-stop border matches the headline gradient instead of a flat blue stroke. */
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info {
  border:1px solid transparent!important;
  background:linear-gradient(rgba(10,23,49,.68),rgba(10,23,49,.68)) padding-box,var(--sf-gradient) border-box!important;
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info:hover:not(.is-selected) {
  background:linear-gradient(rgba(37,43,89,.70),rgba(37,43,89,.70)) padding-box,var(--sf-gradient) border-box!important;
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info.is-selected {
  border:1px solid transparent!important;
  background:linear-gradient(rgba(49,71,121,.78),rgba(73,50,120,.78)) padding-box,var(--sf-gradient) border-box!important;
}


/* v4.3 — Modal: one text stream and a deterministic right-hand media gallery. */
.sfh-facade--info-modal .sfh-info-modal-text,
.sfh-facade--info-modal .sfh-info-modal-prose {
  min-width:0; width:100%; max-width:100%; display:block!important;
  columns:1!important; column-count:1!important;
}
.sfh-facade--info-modal .sfh-info-modal-prose > * {
  float:none!important; display:block!important; width:100%!important;
  max-width:100%!important; flex:none!important; position:static!important;
  margin-left:0!important; margin-right:0!important;
  break-inside:auto;
}
.sfh-facade--info-modal .sfh-info-modal-prose :is(p,li,h1,h2,h3,h4,h5,h6) {
  color:#111!important; -webkit-text-fill-color:#111!important;
  column-count:1!important; text-align:left;
}
.sfh-facade--info-modal .sfh-info-modal-prose :is(ul,ol) {padding-left:1.3em!important;}
.sfh-facade--info-modal .sfh-info-modal-media {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px!important; align-content:start; align-items:start;
}
.sfh-facade--info-modal .sfh-info-modal-media figure {
  width:100%; min-width:0; margin:0!important;
}
.sfh-facade--info-modal .sfh-info-modal-media figure:only-child {grid-column:1/-1;}
.sfh-facade--info-modal .sfh-info-modal-media figure:nth-child(3):last-child {grid-column:1/-1;}
.sfh-facade--info-modal .sfh-info-modal-media img {width:100%!important;height:auto!important;max-height:none;object-fit:contain;}
.sfh-facade--info-modal .sfh-info-modal-layout {grid-template-columns:minmax(0,1fr) minmax(230px,40%);gap:22px;}
/* Mobile: preserve the right-hand media column and avoid horizontal overflow. */
@media(max-width:650px) {
  .sfh-facade--info-modal .sfh-info-modal-layout {
    grid-template-columns:minmax(0,1fr) minmax(108px,39%)!important; gap:10px!important;
  }
  .sfh-facade--info-modal .sfh-info-modal-prose {font-size:13px;}
  .sfh-facade--info-modal .sfh-info-modal-media {gap:10px!important;}
}

/* v4.3 — Same cyber design in EVERY wizard step, not just the first one. */
.sfh-facade .wizard .stage > h2,
.sfh-facade .wizard .timber > h2 {
  background:var(--sf-gradient);background-clip:text;-webkit-background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  font-weight:730!important;
}
.sfh-facade .wizard .stage .lead,
.sfh-facade .wizard .timber .lead {color:#fff!important;}
.sfh-facade .wizard :is(.stage,.timber) :is(.meta,.safebadge,.technical,.quietcontrol,.sfh-area-deduct,.sfh-mode-fieldset legend),
.sfh-facade .wizard .stage > p:not(.lead):not(.error),
.sfh-facade .wizard .stage > h3,
.sfh-facade .wizard .stage .area-total,
.sfh-facade .wizard .stage .field label,
.sfh-facade .wizard .stage .inputunit span,
.sfh-facade .wizard .stage .field > label,
.sfh-facade .wizard .stage .photo-side h3,
.sfh-facade .wizard .stage .upload-box :is(strong,p),
.sfh-facade .wizard .stage .summary-card :is(strong,.meta),
.sfh-facade .wizard .stage .quietcontrol,
.sfh-facade .wizard .stage .photo small {color:#e5edff!important;}
.sfh-facade .wizard .stage .field input:not([type="checkbox"]):not([type="radio"]),
.sfh-facade .wizard .stage .field select {
  color:#fff!important; -webkit-text-fill-color:#fff!important;
  background:rgba(7,18,46,.38)!important;border:1px solid rgba(156,176,242,.75)!important;
  border-radius:9px!important;
}
.sfh-facade .wizard .stage .field input::placeholder {color:#bbc7e4!important;-webkit-text-fill-color:#bbc7e4!important;opacity:1;}
.sfh-facade .wizard .stage .field input:focus,
.sfh-facade .wizard .stage .field select:focus {outline:2px solid #8eadff!important;outline-offset:2px;}
.sfh-facade .wizard .stage :is(.photo-side,.upload-box,.area-side,.summary-card,.photo,.info) {
  background:rgba(8,20,47,.28)!important;
  border:1px solid rgba(151,176,235,.6)!important;
  color:#eff3ff!important;
}
.sfh-facade .wizard .stage .info :is(strong,em,span,p),
.sfh-facade .wizard .stage .photo strong {color:#f5f8ff!important;}
.sfh-facade .wizard .stage .area-total {border-color:rgba(156,177,233,.5)!important;}
.sfh-facade .wizard .stage .error {color:#ffceb8!important;}
.sfh-facade .wizard .stage :is(.side-select .choice,.sfh-area-mode) {
  border:1px solid transparent!important;
  background:linear-gradient(rgba(10,23,49,.68),rgba(10,23,49,.68)) padding-box,var(--sf-gradient) border-box!important;
  color:#f5f7ff!important; box-shadow:inset 0 0 0 1px rgba(161,120,225,.14);
  transition:transform .24s ease,box-shadow .24s ease,filter .24s ease;
}
.sfh-facade .wizard .stage :is(.side-select .choice,.sfh-area-mode):hover:not(:has(input:checked)) {
  transform:translateY(-2px)!important;
  box-shadow:0 0 18px rgba(125,147,255,.4),inset 0 0 12px rgba(96,143,225,.17)!important;
  filter:brightness(1.14);
}
.sfh-facade .wizard .stage :is(.side-select .choice,.sfh-area-mode):has(input:checked) {
  border:1px solid transparent!important;
  background:linear-gradient(rgba(49,71,121,.78),rgba(73,50,120,.78)) padding-box,var(--sf-gradient) border-box!important;
  box-shadow:0 0 14px rgba(129,117,240,.30),inset 0 0 0 1px rgba(168,139,233,.56)!important;
  transform:none!important;transition:none!important;
}
.sfh-facade .wizard .stage :is(.side-select .choice,.sfh-area-mode) input {accent-color:#c6b5ff!important;}
.sfh-facade .wizard .stage .button.secondary,
.sfh-facade .wizard .wizard-foot .button.secondary {
  border:1px solid transparent!important;
  background:linear-gradient(rgba(10,23,49,.75),rgba(10,23,49,.75)) padding-box,var(--sf-gradient) border-box!important;
  color:#fff!important; -webkit-text-fill-color:#fff!important;
}
.sfh-facade .wizard .stage .button.secondary:hover {filter:brightness(1.24);}
.sfh-facade .wizard .stage .state-label,
.sfh-facade .wizard .stage .chip {
  color:#f1f6ff!important;background:rgba(28,45,82,.4)!important;
  border-color:rgba(150,176,238,.75)!important;
}
.sfh-facade .wizard .stage .sfh-area-deduct input,
.sfh-facade .wizard .stage .quietcontrol input {accent-color:#c6b5ff!important;}
.sfh-facade .wizard .stage .summary-card strong {color:#fff!important;}
.sfh-facade .wizard .stage .results-top .lead {color:#fff!important;}
.sfh-facade .wizard .stage .upload-box .button.secondary {min-height:38px;}
.sfh-facade .choice--with-info .choice-info {padding:0!important; border:0!important;box-shadow:none!important;background:transparent!important;color:#ffcf43!important;}
@media(prefers-reduced-motion:reduce) {
  .sfh-facade .wizard .stage :is(.side-select .choice,.sfh-area-mode) {animation:none!important;transition:none!important;}
  .sfh-facade .wizard .stage :is(.side-select .choice,.sfh-area-mode):hover {transform:none!important;}
}


/* v4.3.0 — Clear form frame and centered prominent wizard progress. */
.analyseForm:has(> .sfh-facade[data-sfh-integration-root]) {
  border:none!important;
  box-shadow:none!important;
  background:transparent!important;
}
.analyseForm .sfh-facade[data-sfh-integration-root] {border:0!important;background:transparent!important;box-shadow:none!important;}
.sfh-facade .wizard {
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible;
}
.sfh-facade .wizard-head {
  box-sizing:border-box;
  display:flex;
  justify-content:center!important;
  align-items:center;
  width:100%;
  padding:24px 10px 28px!important;
  margin:0 auto 8px;
  border-bottom:1px solid rgba(151,177,236,.45)!important;
  background:transparent!important;
}
.sfh-facade .wizard-head .version {display:none!important;}
.sfh-facade .wizard-head .steps {
  width:min(100%,830px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(6px,2vw,18px)!important;
  justify-content:center;
  align-items:center;
}
.sfh-facade .wizard-head .steps > span {
  margin:0;
  padding:5px 3px;
  min-width:0;
  display:flex!important;
  justify-content:center;
  align-items:center;
  gap:clamp(6px,1vw,11px);
  color:#dbe6fb!important;
  font-size:clamp(12px,1.2vw,15px)!important;
  font-weight:600;
  line-height:1.35;
  text-align:center;
  overflow-wrap:anywhere;
}
.sfh-facade .wizard-head .steps > span > b {
  flex:0 0 39px;
  width:39px!important;
  height:39px!important;
  display:grid;
  place-items:center;
  border:1.5px solid rgba(180,206,255,.82)!important;
  border-radius:50%!important;
  background:rgba(35,56,99,.35);
  color:#eef5ff!important;
  font-size:16px!important;
  font-weight:720!important;
  box-shadow:inset 0 0 9px rgba(130,155,225,.12);
}
.sfh-facade .wizard-head .steps > span.active {
  color:#fff!important;
  font-weight:790!important;
  text-shadow:0 0 13px rgba(170,191,255,.38);
}
.sfh-facade .wizard-head .steps > span.active > b {
  border-color:#b0d3ff!important;
  background:var(--sf-gradient)!important;
  box-shadow:0 0 0 3px rgba(150,175,255,.14),0 0 17px rgba(137,156,255,.55)!important;
}
.sfh-facade .wizard-head .steps .name {display:inline!important;}
/* Consistent auxiliary controls, cards, paragraphs, labels across photo, area and result steps. */
.sfh-facade .wizard .stage :is(.side-select,.sfh-area-modes) :is(.choice,.sfh-area-mode) {
  color:#f8f9ff!important;
}
.sfh-facade .wizard .stage :is(.side-select,.sfh-area-modes) :is(.choice,.sfh-area-mode) :is(span,strong,small) {
  color:#f8f9ff!important;
}
.sfh-facade .wizard .stage .sfh-mode-fieldset legend,
.sfh-facade .wizard .stage .area-side h3,
.sfh-facade .wizard .stage .area-total strong,
.sfh-facade .wizard .stage .photo-side h3,
.sfh-facade .wizard .stage .upload-box strong { color:#f7faff!important; }
.sfh-facade .wizard .stage :is(.photo-side,.upload-box,.area-side,.summary-card,.info) {
  border-radius:13px;
}
.sfh-facade .wizard .stage .field select option {color:#111; background:#fff;}
.sfh-facade .wizard .stage .photo .remove,
.sfh-facade .wizard .stage .ghost {color:#e6ecff!important;}
.sfh-facade .wizard .stage .button:not(.secondary) {background:var(--sf-gradient)!important;color:white!important;}
/* Keep the first-step gradient across all four steps, but raise contrast on dark pages. */
.sfh-facade .wizard .stage h2,
.sfh-facade .wizard .timber h2 {
  background:linear-gradient(110deg,#9ddaff 3%,#b8b8ff 49%,#f0b5f7 98%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
}

.sfh-facade .wizard-foot .ghost {color:#e7eeff!important;-webkit-text-fill-color:#e7eeff!important;}
/* Gallery: 1 image full width, 2 beside each other, 3 = 50% + 50% and final 100%. */
.sfh-facade--info-modal .sfh-info-modal-media {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-content:start;
}
.sfh-facade--info-modal .sfh-info-modal-media figure {
  margin:0!important;
  min-width:0;
}
.sfh-facade--info-modal .sfh-info-modal-media figure:only-child,
.sfh-facade--info-modal .sfh-info-modal-media figure:nth-child(3):last-child {
  grid-column:1/-1;
}
.sfh-facade--info-modal .sfh-info-modal-media img {display:block;width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain!important;}
@media(max-width:650px) {
  .sfh-facade .wizard-head {padding:18px 0 23px!important;}
  .sfh-facade .wizard-head .steps {gap:5px!important;}
  .sfh-facade .wizard-head .steps > span {
    display:flex!important;
    flex-direction:column;
    justify-content:start;
    gap:6px;
    font-size:11px!important;
    letter-spacing:-.015em;
    line-height:1.25;
  }
  .sfh-facade .wizard-head .steps > span > b {
    flex:0 0 34px;
    width:34px!important;
    height:34px!important;
    font-size:14px!important;
  }
  .sfh-facade .wizard-head .steps .name {display:inline!important;}
}


/* v4.4: typography from WordPress theme, not from the original standalone demo. */
.sfh-facade[data-sfh-integration-root],
.sfh-facade[data-sfh-integration-root] .wizard,
.sfh-facade[data-sfh-integration-root] .stage {
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit;
}
.sfh-facade[data-sfh-integration-root] :is(button,input,select,textarea),
.sfh-facade--info-modal :is(button,input) {
  font-family:inherit!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
.sfh-facade[data-sfh-integration-root] .wizard .stage :is(.lead,.meta,.upload-box p),
.sfh-facade[data-sfh-integration-root] .wizard .wizard-foot {font-family:inherit!important;}
/* Dropzone: accessible focus, a clear active border and subtle ready state. */
.sfh-facade .wizard .stage .upload-box {
  position:relative;
  border:1px dashed rgba(153,177,226,.66)!important;
  border-radius:13px!important;
  padding:clamp(16px,2.5vw,23px)!important;
  background:rgba(10,20,44,.31)!important;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
  min-width:0;
  cursor:default;
}
.sfh-facade .wizard .stage .upload-box:is(:hover,:focus-visible,:focus-within) {
  outline:none!important;
  border-color:#92d8ff!important;
  box-shadow:0 0 0 1px rgba(114,194,252,.40),0 0 20px rgba(84,159,236,.16)!important;
}
.sfh-facade .wizard .stage .upload-box.is-upload-active {
  border:2px solid transparent!important;
  padding:calc(clamp(16px,2.5vw,23px) - 1px)!important;
  background:linear-gradient(135deg,rgba(13,29,58,.93),rgba(33,32,74,.79)) padding-box,
             linear-gradient(110deg,#6ad9ff,#9e8eff,#e2a4e9) border-box!important;
  box-shadow:0 0 0 1px rgba(136,156,244,.20),0 0 20px rgba(125,122,236,.22)!important;
}
.sfh-facade .wizard .stage .upload-box.has-upload:not(.is-upload-active) {
  border-color:rgba(189,175,255,.90)!important;
  background:rgba(21,33,73,.51)!important;
}
.sfh-facade .wizard .stage .upload-box .thumbnails:not(:empty) {margin-top:16px;}
/* Unified call-to-action and upload buttons, matching the dark site and gold accents. */
.sfh-facade .wizard .wizard-foot button.button,
.sfh-facade .wizard .stage button.button,
.sfh-facade .wizard .stage a.button,
.sfh-facade .wizard .stage .upload-actions button.button {
  box-sizing:border-box!important;
  min-height:46px!important;
  padding:11px 18px!important;
  border-radius:11px!important;
  font-weight:650!important;
  font-size:clamp(13px,1.05vw,16px)!important;
  line-height:1.3!important;
  box-shadow:none!important;
  transition:filter .16s ease,box-shadow .16s ease,transform .16s ease!important;
  max-width:100%;
  white-space:normal;
  text-align:center;
}
.sfh-facade .wizard .wizard-foot button.button:not(.secondary),
.sfh-facade .wizard .stage button.button:not(.secondary) {
  background:#d7b238!important;
  background-color:#d7b238!important;
  background-image:linear-gradient(120deg,#e0c34c,#cfa327)!important;
  color:#0c162f!important;
  -webkit-text-fill-color:#0c162f!important;
  border:1px solid #e1c554!important;
}
.sfh-facade .wizard .wizard-foot button.button.secondary,
.sfh-facade .wizard .stage button.button.secondary,
.sfh-facade .wizard .stage a.button.secondary,
.sfh-facade .wizard .stage .upload-actions button.button.secondary {
  border:1px solid transparent!important;
  background:linear-gradient(rgba(17,28,60,.96),rgba(17,28,60,.96)) padding-box,
             linear-gradient(120deg,#76d1ff,#938fff,#cb88d6) border-box!important;
  color:#f7faff!important;
  -webkit-text-fill-color:#f7faff!important;
}
.sfh-facade .wizard .stage .upload-actions button.button.secondary {
  padding:11px 15px!important;
  font-size:clamp(13px,1vw,15px)!important;
  min-height:44px!important;
}
.sfh-facade .wizard :is(.stage,.wizard-foot) button.button:is(:hover,:focus-visible):not(:disabled) {
  filter:brightness(1.12)!important;
  box-shadow:0 3px 18px rgba(135,155,240,.24)!important;
}
.sfh-facade .wizard button.button:focus-visible,
.sfh-facade .wizard .upload-box:focus-visible {
  outline:2px solid #efd46b!important;
  outline-offset:3px!important;
}
.sfh-facade .wizard button.button:disabled {opacity:.48!important; cursor:not-allowed!important;}
@media(max-width:650px) {
  .sfh-facade .wizard .stage .upload-actions {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;}
  .sfh-facade .wizard .stage .upload-actions button.button.secondary {width:100%;padding:10px 9px!important;}
  .sfh-facade .wizard .wizard-foot button.button {min-width:0;}
}
@media(max-width:365px){
  .sfh-facade .wizard .stage .upload-actions {grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce) {
  .sfh-facade .wizard .stage .upload-box,
  .sfh-facade .wizard :is(.stage,.wizard-foot) button.button {transition:none!important;transform:none!important;}
}

/* v4.5 – SF-Handwerk design language: night-blue, warm gold, cream typography.
   Cyber detailing remains a subtle interaction, rather than an unrelated violet neon theme.
   All declarations are scoped to the installed Fassadencheck. */
.sfh-facade[data-sfh-integration-root],
.sfh-facade.sfh-facade--solution {
  --sf-gradient:linear-gradient(110deg,#f1dfaa 0%,#d6b54b 43%,#b58b2b 100%)!important;
  --sfh-gold:#dbb947;
  --sfh-gold-light:#f6e7b8;
  --sfh-paper:#f8f5e9;
  --sfh-muted:#c4cbd5;
  --sfh-line:rgba(226,194,107,.34);
  --sfh-panel:rgba(14,21,38,.55);
  color:var(--sfh-paper);
  background:transparent!important;
  font-family:var(--sfh-body-font,inherit)!important;
  font-size:16px!important;
  line-height:1.62!important;
  letter-spacing:normal!important;
}
.sfh-facade .wizard {
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  padding:0!important;
}
.sfh-facade .wizard-head {
  padding:22px 0 25px!important;
  margin:0 0 18px!important;
  border-color:var(--sfh-line,rgba(226,194,107,.34))!important;
}
.sfh-facade .wizard-head .steps {
  width:min(100%,835px)!important;
  gap:clamp(8px,2vw,21px)!important;
}
.sfh-facade .wizard-head .steps > span {
  font-family:var(--sfh-body-font,inherit)!important;
  font-size:clamp(13px,1.3vw,16px)!important;
  font-weight:500!important;
  color:#d5d7da!important;
  text-shadow:none!important;
  letter-spacing:0!important;
}
.sfh-facade .wizard-head .steps > span > b {
  width:42px!important;height:42px!important;flex-basis:42px!important;
  color:#f5f2e9!important;
  font-size:16px!important;
  border:1px solid rgba(224,203,149,.60)!important;
  background:rgba(15,19,31,.5)!important;
  box-shadow:none!important;
}
.sfh-facade .wizard-head .steps > span.active {color:#fff!important;font-weight:700!important;}
.sfh-facade .wizard-head .steps > span.active > b {
  background:linear-gradient(145deg,#f0dfab,#d1ab38)!important;
  border-color:#f2df9e!important;
  color:#19180f!important;
  box-shadow:0 0 0 3px rgba(228,195,106,.13),0 0 18px rgba(203,159,54,.16)!important;
}
.sfh-facade .wizard-head .version {display:none!important;}
/* Typography: the page's native serif heading paired with its sans-serif body. */
.sfh-facade .wizard :is(.stage,.timber) {
  padding:clamp(15px,2.2vw,28px) 0 25px!important;
  font-family:var(--sfh-body-font,inherit)!important;
}
.sfh-facade .wizard :is(.stage,.timber) > h2 {
  font-family:var(--sfh-heading-font,Georgia,"Times New Roman",serif)!important;
  font-size:clamp(28px,3.25vw,40px)!important;
  font-weight:var(--sfh-heading-weight,600)!important;
  line-height:1.19!important;
  letter-spacing:-.025em!important;
  margin:0 0 12px!important;
  color:#f1dd9e!important;
  background:var(--sf-gradient)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
.sfh-facade .wizard .stage > .lead,
.sfh-facade .wizard .timber > .lead {
  max-width:760px;
  font-size:clamp(15px,1.5vw,18px)!important;
  font-family:var(--sfh-body-font,inherit)!important;
  font-weight:400!important;
  line-height:1.65!important;
  margin:0 0 28px!important;
  color:#e9e8e4!important;
}
.sfh-facade .wizard .stage :is(.meta,.safebadge,.technical,.quietcontrol,.inputunit span),
.sfh-facade .wizard .stage > p:not(.lead):not(.error),
.sfh-facade .wizard .stage .field label {
  font-size:clamp(13px,1.15vw,15px)!important;
  line-height:1.6!important;
  color:#d3d4d3!important;
}
.sfh-facade .wizard .stage :is(.photo-side h3,.area-side h3,.sfh-mode-fieldset legend),
.sfh-facade .wizard .stage > h3 {
  font-family:var(--sfh-heading-font,Georgia,"Times New Roman",serif)!important;
  font-size:clamp(19px,2vw,25px)!important;
  font-weight:500!important;
  letter-spacing:-.015em!important;
  line-height:1.3!important;
  color:#f8f4e9!important;
  margin-bottom:14px!important;
}
.sfh-facade .choicegrid {gap:15px!important;margin:0 0 10px!important;}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info,
.sfh-facade .wizard .stage :is(.side-select .choice,.sfh-area-mode) {
  background:rgba(13,19,32,.58)!important;
  color:#f8f5ec!important;
  border:1px solid rgba(215,180,83,.5)!important;
  border-radius:8px!important;
  box-shadow:inset 0 0 0 1px rgba(243,222,154,.03)!important;
  transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease,transform .22s ease!important;
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info:after {
  background:linear-gradient(120deg,#fff0ba,#b58c30,#e5c971,#fff0ba)!important;
  opacity:0!important;
}
@media(hover:hover) and (pointer:fine) {
  .sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info:hover:not(.is-selected),
  .sfh-facade .wizard .stage :is(.side-select .choice,.sfh-area-mode):hover:not(:has(input:checked)) {
    border-color:#edcb69!important;
    background:rgba(38,34,30,.7)!important;
    transform:translateY(-2px)!important;
    box-shadow:0 0 0 1px rgba(229,191,86,.28),0 0 17px rgba(223,172,61,.14)!important;
  }
  .sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info:hover:not(.is-selected):after {
    opacity:.09!important;
    animation:sfhCyberShift 2.4s linear infinite!important;
  }
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info.is-selected,
.sfh-facade .wizard .stage :is(.side-select .choice,.sfh-area-mode):has(input:checked) {
  transform:none!important;
  background:linear-gradient(130deg,rgba(123,91,31,.44),rgba(28,33,37,.86))!important;
  border-color:#f2d27b!important;
  box-shadow:inset 0 0 0 1px rgba(246,222,153,.35),0 0 16px rgba(216,166,52,.13)!important;
  animation:none!important;
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info.is-selected:after {display:none!important;}
.sfh-facade .wizard .stage .choice strong {
  color:#faf8f1!important;
  font:600 clamp(15px,1.38vw,18px)/1.35 var(--sfh-body-font,inherit)!important;
  letter-spacing:0!important;
}
.sfh-facade .wizard .stage .choice small {
  color:#c8c8c6!important;
  font-size:clamp(12px,1.05vw,14px)!important;
  line-height:1.5!important;
  margin-top:7px!important;
}
.sfh-facade .wizard .stage .card-icon {color:#d1bb7c!important;width:29px;height:29px;}
.sfh-facade .wizard .stage .choice input[type=checkbox],
.sfh-facade .wizard .stage .choice input[type=radio],
.sfh-facade .wizard .stage .quietcontrol input,
.sfh-facade .wizard .stage .sfh-area-deduct input {accent-color:#d6b34c!important;}
.sfh-facade .choice--with-info .choice-info,
.sfh-facade .choice--with-info .choice-info:hover,
.sfh-facade .choice--with-info .choice-info:focus-visible {color:#e1bc51!important;filter:none!important;}
.sfh-facade .choice--with-info .choice-info svg {width:24px;height:24px;}
/* Photo and dimension panels: quieter, more architectural separators. */
.sfh-facade .wizard .stage :is(.photo-side,.area-side) {
  padding:clamp(15px,2vw,24px)!important;
  border:1px solid rgba(220,190,109,.25)!important;
  border-radius:8px!important;
  background:rgba(7,12,24,.21)!important;
  margin-bottom:16px!important;
}
.sfh-facade .wizard .stage .upload-box {
  border:1px dashed rgba(213,188,124,.55)!important;
  border-radius:8px!important;
  background:rgba(8,13,27,.24)!important;
  padding:clamp(16px,2vw,25px)!important;
}
.sfh-facade .wizard .stage .upload-box :is(strong) {
  font-size:clamp(16px,1.5vw,19px)!important;
  line-height:1.35!important;
  font-weight:700!important;
  color:#fffaf0!important;
}
.sfh-facade .wizard .stage .upload-box p {
  font-size:clamp(13px,1.15vw,15px)!important;
  line-height:1.6!important;
  color:#dedede!important;
  margin:11px 0 19px!important;
}
.sfh-facade .wizard .stage .upload-box:is(:hover,:focus-visible,:focus-within) {
  border-color:#efd284!important;
  box-shadow:0 0 0 1px rgba(228,188,82,.22),0 0 16px rgba(207,164,57,.10)!important;
}
.sfh-facade .wizard .stage .upload-box.is-upload-active {
  border:2px solid transparent!important;
  padding:calc(clamp(16px,2vw,25px) - 1px)!important;
  background:linear-gradient(145deg,rgba(15,22,37,.96),rgba(35,32,22,.85)) padding-box,
             linear-gradient(120deg,#b89031,#f5dd96,#a47f2d) border-box!important;
  box-shadow:0 0 0 1px rgba(229,198,102,.13),0 0 19px rgba(204,153,48,.12)!important;
}
.sfh-facade .wizard .stage .upload-box.has-upload:not(.is-upload-active) {
  border-color:#cdb46e!important;
  background:rgba(29,26,25,.48)!important;
}
.sfh-facade .wizard .stage .field input:not([type=checkbox]):not([type=radio]),
.sfh-facade .wizard .stage .field select {
  font-family:var(--sfh-body-font,inherit)!important;
  font-size:16px!important;
  line-height:1.35!important;
  padding:12px 14px!important;
  min-height:48px!important;
  background:rgba(8,13,22,.58)!important;
  border:1px solid rgba(215,181,88,.52)!important;
  border-radius:6px!important;
  color:#faf6e8!important;
}
.sfh-facade .wizard .stage .field input:focus,
.sfh-facade .wizard .stage .field select:focus {outline:2px solid #e2c370!important;outline-offset:2px!important;}
.sfh-facade .wizard .stage :is(.area-total,.sum-lines) {border-color:rgba(221,195,125,.28)!important;}
.sfh-facade .wizard .stage .area-total {
  padding:18px 2px!important;margin:24px 0!important;
  font-size:16px!important;
  color:#ede9dc!important;
}
.sfh-facade .wizard .stage .area-total strong {font-size:20px!important;color:#f0d28d!important;}
.sfh-facade .wizard .stage :is(.info,.summary-card,.photo) {
  border-radius:8px!important;
  border-color:rgba(216,185,99,.27)!important;
  background:rgba(26,31,40,.45)!important;
  color:#e7e6e4!important;
}
/* Buttons: restrained site gold primary, dark outlined secondary. */
.sfh-facade .wizard .wizard-foot {
  padding:26px 0 8px!important;
  margin-top:14px!important;
  border-top:1px solid rgba(225,197,115,.30)!important;
}
.sfh-facade .wizard .wizard-foot .quiet {font-size:14px!important;color:#d7d3c7!important;}
.sfh-facade .wizard :is(.stage,.wizard-foot) button.button,
.sfh-facade .wizard .stage a.button {
  font-family:var(--sfh-body-font,inherit)!important;
  font-size:15px!important;
  font-weight:600!important;
  letter-spacing:.005em!important;
  border-radius:5px!important;
  min-height:46px!important;
  padding:12px 21px!important;
  box-shadow:none!important;
  line-height:1.4!important;
}
.sfh-facade .wizard :is(.stage,.wizard-foot) button.button:not(.secondary),
.sfh-facade .wizard .stage a.button:not(.secondary) {
  background:#d6b23f!important;
  background-image:none!important;
  border:1px solid #dfbf60!important;
  color:#15151a!important;
  -webkit-text-fill-color:#15151a!important;
}
.sfh-facade .wizard :is(.stage,.wizard-foot) button.button.secondary,
.sfh-facade .wizard .stage a.button.secondary {
  background:rgba(14,17,27,.65)!important;
  background-image:none!important;
  border:1px solid rgba(229,202,127,.65)!important;
  color:#fbf7ec!important;
  -webkit-text-fill-color:#fbf7ec!important;
}
.sfh-facade .wizard :is(.stage,.wizard-foot) button.button:is(:hover,:focus-visible):not(:disabled) {
  filter:none!important;
  transform:translateY(-1px)!important;
  box-shadow:0 0 0 1px rgba(230,193,97,.12),0 4px 17px rgba(175,132,36,.12)!important;
}
.sfh-facade .wizard button.button:focus-visible {outline:2px solid #f8df9a!important;outline-offset:3px!important;}
.sfh-facade .wizard .stage :is(.photo-columns,.fieldgrid,.address) {gap:16px!important;}
.sfh-facade .wizard .stage .photo-side {margin-top:20px!important;}
.sfh-facade .wizard .stage .side-select {gap:11px!important;margin-bottom:24px!important;}
.sfh-facade .wizard .stage .side-select .choice {padding:12px 15px!important;min-height:48px!important;}
/* Result cards, price panels, and final facade-design variants. */
.sfh-facade--solution {margin-top:35px!important;}
.sfh-facade--solution :is(.section-title h2,.subordinate h3,.summary h2),
.sfh-facade :is(.result-section .section-title h2,.result-section .subordinate h3),
.sfh-facade .wizard .stage .summary h2 {
  font-family:var(--sfh-heading-font,Georgia,"Times New Roman",serif)!important;
  letter-spacing:-.02em!important;
}
.sfh-facade--solution :is(.tile,.summary,.subordinate,.pending),
.sfh-facade .result-section :is(.tile,.summary,.subordinate,.pending) {
  background:rgba(11,18,30,.56)!important;
  border:1px solid rgba(225,193,108,.33)!important;
  border-radius:9px!important;
  color:#f6f3e8!important;
}
.sfh-facade--solution :is(.tile p,.tile small,.solution-intro,.summary .sum-note,.sum-line),
.sfh-facade .result-section :is(.tile p,.tile small,.solution-intro,.summary .sum-note,.sum-line) {color:#deddd8!important;}
.sfh-facade--solution .tile h3,.sfh-facade .result-section .tile h3 {font-size:17px!important;color:#f7e3a7!important;}
.sfh-facade--solution :is(.tile-price,.total),.sfh-facade .result-section :is(.tile-price,.total) {color:#efd389!important;}
.sfh-facade--solution .sfh-design-card,.sfh-facade .result-section .sfh-design-card {
  border-radius:9px!important;border-color:rgba(214,181,92,.43)!important;
  background:rgba(12,18,29,.7)!important;
}
.sfh-facade--solution .sfh-design-card :is(h3,p,small),.sfh-facade .result-section .sfh-design-card :is(h3,p,small) {color:#f5f0e5!important;}
.sfh-facade--solution .sfh-design-card h3,.sfh-facade .result-section .sfh-design-card h3 {font-family:var(--sfh-heading-font,Georgia,"Times New Roman",serif)!important;font-size:20px!important;}
/* The information dialog stays light and readable. */
.sfh-facade--info-modal {font-family:var(--sfh-body-font,inherit)!important;}
.sfh-facade--info-modal .sfh-info-modal-top:before {background:linear-gradient(110deg,#a47b24,#e2c16b,#bb9030)!important;}
.sfh-facade--info-modal #sfh-info-modal-title {
  font-family:var(--sfh-heading-font,Georgia,"Times New Roman",serif)!important;
  font-size:clamp(24px,3vw,34px)!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.sfh-facade--info-modal .sfh-info-modal-done {background:#d4b143!important;color:#121212!important;border-color:#d4b143!important;border-radius:5px!important;}
@media(max-width:690px) {
  .sfh-facade .wizard-head {padding:16px 0 22px!important;margin-bottom:10px!important;}
  .sfh-facade .wizard-head .steps {gap:4px!important;}
  .sfh-facade .wizard-head .steps > span {font-size:11px!important;gap:7px!important;}
  .sfh-facade .wizard-head .steps > span > b {width:35px!important;height:35px!important;flex-basis:35px!important;font-size:13px!important;}
  .sfh-facade .wizard :is(.stage,.timber) {padding:17px 0 23px!important;}
  .sfh-facade .wizard .stage > h2 {font-size:30px!important;}
  .sfh-facade .wizard .stage .lead {font-size:15px!important;margin-bottom:20px!important;}
  .sfh-facade .choicegrid {gap:11px!important;}
  .sfh-facade .wizard .stage .choice {min-height:72px!important;}
  .sfh-facade .wizard .stage :is(.photo-side,.area-side) {padding:15px!important;}
  .sfh-facade .wizard .stage .photo-columns {grid-template-columns:1fr!important;}
  .sfh-facade .wizard .wizard-foot {padding:22px 0 4px!important;gap:12px!important;}
  .sfh-facade .wizard .wizard-foot .quiet {font-size:12px!important;}
  .sfh-facade .wizard :is(.stage,.wizard-foot) button.button {font-size:14px!important;padding:12px 14px!important;}
}
@media(max-width:365px) {
  .sfh-facade .wizard-head .steps > span {font-size:10px!important;}
  .sfh-facade .wizard-head .steps > span > b {width:32px!important;height:32px!important;flex-basis:32px!important;}
}
@media(prefers-reduced-motion:reduce) {
  .sfh-facade .choice--with-info,.sfh-facade .choice--with-info:after,
  .sfh-facade .wizard :is(.stage,.wizard-foot) button.button {animation:none!important;transition:none!important;transform:none!important;}
}
/* Tighten the final leftover legacy violet gradients on all upload and navigation controls. */
.sfh-facade .wizard .stage .upload-actions button.button.secondary,
.sfh-facade .wizard .stage .contactbuttons a.button.secondary,
.sfh-facade .wizard .stage .contactbuttons button.button.secondary,
.sfh-facade .wizard .wizard-foot button.button.secondary {
  background:rgba(13,17,28,.74)!important;
  background-image:none!important;
  border:1px solid #b9a46b!important;
  color:#fff8e9!important;
  -webkit-text-fill-color:#fff8e9!important;
  border-radius:5px!important;
  box-shadow:none!important;
}
.sfh-facade .wizard .stage .upload-actions button.button.secondary:hover {
  background:rgba(70,55,28,.49)!important;
  border-color:#f0d289!important;
}
.sfh-facade .wizard[data-sfh-step="0"] .choicegrid .choice--with-info .card-icon,
.sfh-facade .wizard .stage .choice .card-icon {color:#d5bc7b!important;}
.sfh-facade .wizard .stage .info :is(strong,p,span),
.sfh-facade .wizard .stage .photo-side .upload-box .meta {color:#e2dfd7!important;}

/* V4.6 — Sockel nur einmal und sichtbar getrennt erfassen. */
.sfh-facade .wizard .stage .sfh-sockel {
  padding:clamp(16px,2.1vw,25px);
  margin:25px 0 19px;
  border:1px solid rgba(215,181,91,.39);
  border-radius:10px;
  background:rgba(21,28,40,.40);
}
.sfh-facade .wizard .stage .sfh-sockel h3 {
  font-family:var(--sfh-heading-font,Georgia,"Times New Roman",serif)!important;
  font-size:clamp(22px,2.4vw,29px)!important;
  font-weight:600!important;
  line-height:1.3;
  color:#f1d38b!important;
  margin:0 0 10px!important;
}
.sfh-facade .wizard .stage .sfh-sockel .meta {
  color:#eee9de!important;
  line-height:1.65!important;
  font-size:clamp(13px,1.2vw,16px)!important;
}
.sfh-facade .wizard .stage .sfh-sockel .sfh-sockel-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px; margin:18px 0;
}
.sfh-facade .wizard .stage .sfh-sockel .sfh-area-deduct {margin:14px 0!important;}
.sfh-facade .wizard .stage .sfh-sockel input[type="checkbox"] {accent-color:#e0ba56!important;}
.sfh-facade .wizard .stage .sfh-total-breakdown {
  display:block!important;
  padding:16px 19px!important;
}
.sfh-facade .wizard .stage .sfh-qty-row {
  display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;
  gap:7px 18px;line-height:1.5;padding:5px 0;
}
.sfh-facade .wizard .stage .sfh-qty-row + .sfh-qty-row {
  margin-top:9px;border-top:1px solid rgba(214,184,106,.26);padding-top:12px;
}
.sfh-facade .wizard .stage .sfh-qty-row > span {color:#eae5d7!important;font-size:clamp(13px,1.3vw,16px)!important;}
.sfh-facade .wizard .stage .sfh-qty-row strong {color:#f7d788!important;font-size:clamp(16px,1.6vw,20px)!important;}
.sfh-facade .sfh-sockel-result-note {font-size:13px;color:#ddd4bf;line-height:1.6;margin:12px 0 25px;}
@media(max-width:560px){
  .sfh-facade .wizard .stage .sfh-sockel .sfh-sockel-grid {grid-template-columns:1fr;}
  .sfh-facade .wizard .stage .sfh-sockel {padding:15px;margin-top:22px;}
}
