:root{--tls-navy:#082437;--tls-ink:#102f42;--tls-sky:#55c7ef;--tls-sky-soft:#eaf8fe;--tls-line:#d6e4eb;--tls-muted:#587181;--tls-white:#fff;--tls-green:#11815a;--tls-shadow:0 22px 70px rgba(8,36,55,.15)}
.tls-teaser,.tls-estimator{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--tls-ink)}
.tls-teaser{position:relative;overflow:hidden;background:linear-gradient(135deg,#dff5ff 0%,#70cef2 100%);border:1px solid rgba(8,36,55,.12);border-radius:28px;padding:clamp(26px,5vw,56px);box-shadow:var(--tls-shadow)}
.tls-teaser:after{content:"";position:absolute;width:340px;height:340px;border:54px solid rgba(255,255,255,.22);border-radius:50%;right:-160px;top:-185px;pointer-events:none}
.tls-teaser h2{position:relative;max-width:760px;margin:8px 0 10px;color:var(--tls-navy);font-size:clamp(30px,4vw,52px);line-height:1.04;letter-spacing:-.035em}.tls-teaser>p{position:relative;max-width:690px;margin:0 0 28px;color:#24485c;font-size:17px}
.tls-eyebrow{color:#0879a9;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.tls-teaser-form{position:relative;display:grid;grid-template-columns:1.2fr .8fr 1fr auto;gap:12px;align-items:end;z-index:1}.tls-field{margin:0 0 16px}.tls-field label{display:block;margin:0 0 7px;font-size:13px;font-weight:800;color:var(--tls-ink)}.tls-field input,.tls-field select,.tls-field textarea{width:100%;min-height:50px;border:1.5px solid var(--tls-line);border-radius:13px;background:#fff;padding:12px 14px;font:inherit;color:var(--tls-ink);box-sizing:border-box}.tls-field textarea{resize:vertical}.tls-field input:focus,.tls-field select:focus,.tls-field textarea:focus{outline:0;border-color:#269fcc;box-shadow:0 0 0 4px rgba(85,199,239,.2)}.tls-field small{display:block;margin-top:6px;color:var(--tls-muted)}
.tls-button{min-height:50px;border:0;border-radius:999px;padding:13px 22px;font:inherit;font-weight:800;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.tls-button:hover{transform:translateY(-1px)}.tls-button:focus-visible{outline:3px solid #f6bf3b;outline-offset:3px}.tls-button-primary{background:var(--tls-navy);color:#fff;box-shadow:0 10px 24px rgba(8,36,55,.2)}.tls-button-primary:hover{background:#0d334a}.tls-button-secondary{background:#edf3f6;color:var(--tls-ink)}.tls-button[disabled]{opacity:.55;cursor:wait;transform:none}
.tls-vat-pill,.tls-vat-banner{display:flex;gap:10px;align-items:center}.tls-vat-pill{position:relative;z-index:1;margin-top:24px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.72);width:max-content;max-width:100%}.tls-vat-pill strong{font-size:20px;color:var(--tls-navy)}.tls-vat-pill span{font-size:13px}.tls-vat-banner{justify-content:center;background:var(--tls-sky);color:var(--tls-navy);padding:13px 18px;border-radius:14px}.tls-vat-banner strong{font-size:22px}.tls-vat-pill-dark{background:rgba(85,199,239,.12);border:1px solid rgba(85,199,239,.22);color:#e7f8ff}.tls-vat-pill-dark strong{color:#79d8fa}
.tls-estimator{display:grid;grid-template-columns:minmax(290px,390px) 1fr;max-width:1120px;margin:34px auto;border:1px solid rgba(8,36,55,.1);border-radius:30px;overflow:hidden;background:#fff;box-shadow:var(--tls-shadow)}.tls-estimator-brand{display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:690px;padding:42px;background:radial-gradient(circle at top right,rgba(85,199,239,.24),transparent 38%),var(--tls-navy);color:#fff}.tls-brand-kicker{color:#71d4f7;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tls-estimator-brand h1{margin:16px 0;font-size:clamp(38px,4.2vw,58px);line-height:.98;letter-spacing:-.045em;color:#fff}.tls-estimator-brand p{color:#c9dbe4;line-height:1.65}.tls-estimator-brand ul{display:grid;gap:13px;padding:0;margin:0;list-style:none}.tls-estimator-brand li:before{content:"✓";display:inline-grid;place-items:center;width:23px;height:23px;margin-right:9px;border-radius:50%;background:rgba(85,199,239,.16);color:#75d9fb;font-weight:900}
.tls-estimator-panel{min-width:0;padding:36px 44px 42px}.tls-progress{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px;color:#0879a9;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.tls-progress>div{width:220px;height:8px;border-radius:999px;background:#e8f0f4;overflow:hidden}.tls-progress i{display:block;width:14%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#31acd8,#6cd2f4);transition:width .25s ease}.tls-step{display:none;animation:tls-rise .2s ease both}.tls-step.is-active{display:block}@keyframes tls-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tls-step h2{margin:8px 0 9px;color:var(--tls-navy);font-size:clamp(27px,3vw,38px);line-height:1.08;letter-spacing:-.025em}.tls-step>p{margin:0 0 26px;color:var(--tls-muted);line-height:1.6}.tls-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tls-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tls-choice-grid button{min-height:100px;border:1.5px solid var(--tls-line);border-radius:17px;background:#fff;padding:17px;text-align:left;color:var(--tls-ink);cursor:pointer}.tls-choice-grid button strong,.tls-choice-grid button span{display:block}.tls-choice-grid button strong{font-size:17px}.tls-choice-grid button span{margin-top:5px;color:var(--tls-muted);font-size:13px}.tls-choice-grid button:hover,.tls-choice-grid button.is-selected{border-color:#2fb0df;background:var(--tls-sky-soft);box-shadow:0 0 0 4px rgba(85,199,239,.13)}
.tls-address-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.tls-check{display:flex;align-items:flex-start;gap:10px;margin:14px 0;color:var(--tls-ink);font-size:14px;line-height:1.45}.tls-check input{width:18px;height:18px;margin-top:2px;accent-color:#168eb9}.tls-privacy{font-size:12px!important}.tls-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.tls-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.tls-form-error{grid-column:1/-1;margin:10px 0 0;padding:11px 13px;border-radius:10px;background:#fff0f0;color:#9e2525;font-size:13px}
.tls-result-head{margin-bottom:20px}.tls-result-head h2{margin-bottom:8px}.tls-reference{color:var(--tls-muted);font-size:13px}.tls-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tls-price-card{padding:20px;border:1px solid var(--tls-line);border-radius:18px;background:#fff}.tls-price-card.is-recommended{border-color:#49bde8;background:var(--tls-sky-soft)}.tls-price-card small,.tls-price-card strong,.tls-price-card span{display:block}.tls-price-card small{color:var(--tls-muted);font-weight:700}.tls-price-card strong{margin:5px 0;font-size:27px;color:var(--tls-navy)}.tls-crossed{text-decoration:line-through;color:#718793;font-size:14px}.tls-saving{color:var(--tls-green);font-size:13px;font-weight:800}.tls-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.tls-metric{padding:14px;border-radius:14px;background:#f3f7f9}.tls-metric b,.tls-metric span{display:block}.tls-metric b{font-size:19px}.tls-metric span{font-size:11px;color:var(--tls-muted)}.tls-disclaimer{padding:15px;border-radius:13px;background:#f5f7f8;color:var(--tls-muted);font-size:12px;line-height:1.55}
@media(max-width:900px){.tls-teaser-form{grid-template-columns:1fr 1fr}.tls-teaser-form .tls-button{grid-column:1/-1}.tls-estimator{grid-template-columns:1fr}.tls-estimator-brand{min-height:auto}.tls-estimator-brand ul{display:none}.tls-estimator-panel{padding:30px 24px}.tls-result-grid{grid-template-columns:1fr}}
@media(max-width:560px){.tls-teaser{border-radius:20px;padding:25px 18px}.tls-teaser-form,.tls-grid-2,.tls-choice-grid,.tls-metrics{grid-template-columns:1fr}.tls-estimator{margin:18px 0;border-radius:20px}.tls-estimator-brand{padding:28px 22px}.tls-progress{align-items:flex-start;flex-direction:column}.tls-progress>div{width:100%}.tls-estimator-panel{padding:26px 18px}.tls-address-row{grid-template-columns:1fr}.tls-vat-pill,.tls-vat-banner{align-items:flex-start;flex-direction:column}.tls-actions .tls-button{padding:12px 18px}}
.tls-actions [hidden]{display:none!important}
.tls-button[hidden]{display:none!important}.tls-choice-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tls-choice-grid-3 button{min-height:86px;padding:13px}.tls-survey-action{margin-top:20px}.tls-survey-action .tls-button{background:#008e2f}.tls-survey-action [role=status]{font-weight:700;color:#0b6631}.tls-survey-action [role=status]:empty{display:none}
@media(max-width:700px){.tls-choice-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.tls-choice-grid-3 button{min-height:80px}.tls-survey-action .tls-button{width:100%}}
.tls-illustrated-choices{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.tls-illustrated-choices button{display:flex;flex:1 1 calc(33.333% - 8px);min-width:82px;min-height:82px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 5px;border:1.5px solid var(--tls-line);border-radius:10px;background:#fff;color:#103f35;font:inherit;font-size:12px;font-weight:800;line-height:1.1;text-align:center;cursor:pointer}.tls-illustrated-choices button:hover,.tls-illustrated-choices button.is-selected{border-color:#007c2c;background:#e8f7eb;box-shadow:0 0 0 3px rgba(0,124,44,.12)}.tls-illustrated-choices svg{display:block;width:30px;height:30px}.tls-estimator .tls-illustrated-choices button{flex-basis:calc(25% - 8px)}
.tls-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.tls-package{display:block;width:100%;padding:14px;border:2px solid var(--tls-line);border-radius:18px;background:#fff;color:var(--tls-ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.tls-package:hover{transform:translateY(-2px);border-color:#36aedd}.tls-package:focus-visible{outline:3px solid #f6bf3b;outline-offset:2px}.tls-package.is-selected{border-color:#008e37;box-shadow:0 0 0 3px rgba(0,142,55,.14);background:#f6fff9}.tls-package-top{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:28px}.tls-package-top b{font-size:18px}.tls-package-top em{max-width:120px;padding:4px 7px;border-radius:999px;background:#008e37;color:#fff;font-size:10px;font-style:normal;font-weight:800;line-height:1.15;text-align:center}.tls-package-visual{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8px;align-items:end;height:118px;margin:10px 0;padding:10px;border-radius:13px;background:linear-gradient(#def2fc 0 64%,#eef4eb 64%)}.tls-roof{position:relative;display:flex;align-items:center;justify-content:center;height:68px;padding:10px 8px 4px;clip-path:polygon(0 100%,50% 0,100% 100%);background:#4a5c64}.tls-roof-panels{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;width:85%;max-width:105px;margin-top:20px}.tls-roof-panels i{height:9px;border:1px solid #a8d4eb;background:linear-gradient(140deg,#123e5c,#236589);box-shadow:inset 1px 1px rgba(255,255,255,.35)}.tls-equipment{display:flex;align-items:end;justify-content:center;gap:4px;height:85px}.tls-inverter{display:grid;place-items:center;width:39px;height:64px;border:2px solid #d0dbdf;border-radius:7px;background:#fff;box-shadow:0 4px 7px #a8bec5;color:#395568;font-size:7px;font-weight:800}.tls-batteries{display:flex;align-items:end;gap:2px}.tls-batteries i{width:17px;height:55px;border:2px solid #adbac3;border-radius:5px;background:linear-gradient(90deg,#e4eaed,#fff);box-shadow:0 4px 6px #9aadb3}.tls-package-details,.tls-package small{display:block;color:var(--tls-muted);font-size:11px;line-height:1.4}.tls-package strong{display:block;margin-top:6px;color:var(--tls-navy);font-size:24px}.tls-package-selection{margin:0 0 14px;color:#056c32;font-size:13px;font-weight:800}.tls-survey-action{padding:18px;border-radius:17px;background:#eaf8fe}.tls-survey-action h3{margin:0 0 6px;color:var(--tls-navy)}.tls-survey-action p{margin:0 0 14px;line-height:1.5}.tls-survey-action [role=status]{margin:12px 0 0}
@media(max-width:620px){.tls-package-grid{grid-template-columns:1fr}.tls-package-visual{height:108px}.tls-package-top em{max-width:none}}
/* Each package uses the same two-scene illustration so the number of panels
   and battery units can be compared without implying an actual roof design. */
.tls-package-visual{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:7px;align-items:stretch;height:168px;padding:7px;background:#e8f2f6}
.tls-visual-roof,.tls-visual-equipment{position:relative;min-width:0;overflow:hidden;border-radius:9px;background:linear-gradient(#b8e0f1 0 58%,#edf3eb 58%)}
.tls-visual-equipment{background:repeating-linear-gradient(0deg,#e4e9e7 0 20px,#dce3df 21px 22px);border:1px solid #d5dedb}
.tls-roof{position:absolute;left:8%;right:8%;top:20%;height:52%;padding:6px 7px;border:2px solid #263c47;border-radius:4px;clip-path:none;transform:skewY(-7deg);background:repeating-linear-gradient(0deg,#435763 0 12px,#354a57 13px 14px);box-shadow:0 5px 0 #b8c8ca,0 9px 14px rgba(8,36,55,.28)}
.tls-roof-panels{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;width:90%;max-width:145px;margin:0;transform:skewY(7deg)}
.tls-roof-panels i{height:15px;border:1px solid #8fc4df;border-radius:1px;background:linear-gradient(130deg,#15394c,#1c668b 52%,#123d59);box-shadow:inset 2px 2px rgba(255,255,255,.2)}
.tls-house-front{position:absolute;left:14%;right:14%;top:72%;height:20%;display:flex;justify-content:space-around;align-items:center;background:repeating-linear-gradient(0deg,#bd9a78 0 9px,#a98568 10px 11px);box-shadow:0 4px 8px rgba(8,36,55,.16)}
.tls-house-front i{display:block;width:18%;height:50%;border:3px solid #e9e9e2;background:#497b91}
.tls-equipment{position:absolute;left:4px;right:4px;bottom:29px;height:92px;align-items:end;gap:4px}
.tls-inverter{width:36px;height:65px;border-color:#9baeb8;background:linear-gradient(100deg,#f8fbfc,#dce7e9);box-shadow:2px 5px 8px #a6b4b9;font-size:7px}
.tls-batteries{gap:3px}.tls-batteries i{width:20px;height:63px;border-color:#a3b3b8;background:linear-gradient(90deg,#c8d5d8,#fff 40%,#e5edee);box-shadow:2px 5px 7px #a4b5b6}
.tls-visual-caption{position:absolute;left:4px;right:4px;bottom:4px;z-index:2;display:block;padding:4px 2px;border-radius:5px;background:rgba(255,255,255,.9);color:#153949;font-size:10px;font-weight:800;line-height:1.1;text-align:center}
@media(max-width:620px){.tls-package-visual{height:172px}.tls-roof-panels i{height:17px}}
.tls-package-visual{display:block;height:auto;aspect-ratio:640/270;margin:14px 0 0;padding:0;overflow:hidden;border:1px solid #d9e4e5;border-radius:13px;background:#edf3f3}
.tls-package-visual svg{display:block;width:100%;height:100%;object-fit:cover}
.tls-package-visual-labels{display:grid;grid-template-columns:59% 41%;gap:0;margin:0 0 10px;color:#496475;font-size:10px;font-weight:800;line-height:1.2}
.tls-package-visual-labels span{padding:6px 4px;text-align:center}
.tls-package-visual-labels span+span{border-left:1px solid #d9e4e5}
.tls-package-details{font-size:12px}
@media(max-width:620px){.tls-package-visual{height:auto;aspect-ratio:640/270}.tls-package-visual-labels{font-size:11px}}
.tls-package-visual{display:grid;grid-template-columns:59.375% 40.625%;gap:0}
.tls-roof-photo,.tls-equipment-photo{position:relative;display:block;min-width:0;height:100%;overflow:hidden}
.tls-roof-photo{border-right:2px solid #fff}
.tls-roof-photo img,.tls-equipment-photo img{display:block;width:100%;height:100%;object-fit:cover}
.tls-roof-photo img{object-position:center 49%}
.tls-equipment-photo img{object-position:center center}
