.sim-solaire{--bg:#f4f6f8;--bg-2:#e9edf2;--bg-3:#dfe6ed;--ink:#031d42;--ink-2:#5d6b7e;--ink-3:#8a93a3;--accent:#0b4f8a;--accent-2:#5ba4d6;--accent-3:#031d42;--accent-soft:#bcdcf3;--accent-bg:#e7f3fd;--line:#d9e1ea;--line-2:#e5ebf1;--white:#fff;--green:#1e8a54;--green-bg:#e3f3ea;--ease-out:cubic-bezier(0.16,1,0.3,1);position:relative;min-height:calc(100vh - 36px - var(--header-h, 96px));display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Satoshi,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}.sim-solaire *,.sim-solaire :after,.sim-solaire :before{box-sizing:border-box}.sim-solaire a{color:inherit;text-decoration:none}.sim-solaire button{font:inherit;border:0;cursor:pointer;background:none;color:inherit}.sim-solaire input,.sim-solaire select{font-family:Satoshi,sans-serif}.sim-solaire .accent{color:var(--accent)}.sim-solaire .so-glow-a,.sim-solaire .so-glow-b{position:absolute;pointer-events:none;z-index:0}.sim-solaire .so-glow-a{inset:-12% -8% auto auto;width:55%;height:60%;background:radial-gradient(ellipse 60% 70% at 70% 30%,rgba(11,79,138,.14) 0,rgba(11,79,138,0) 62%);animation:so-drift 18s var(--ease-out) infinite alternate}.sim-solaire .so-glow-b{inset:auto auto -14% -10%;width:50%;height:55%;background:radial-gradient(ellipse 60% 70% at 30% 70%,rgba(90,164,214,.16) 0,rgba(90,164,214,0) 62%);animation:so-drift2 22s var(--ease-out) infinite alternate}@keyframes so-drift{0%{transform:translate(0) scale(1)}to{transform:translate(-5%,4%) scale(1.1)}}@keyframes so-drift2{0%{transform:translate(0) scale(1)}to{transform:translate(4%,-3%) scale(1.12)}}@keyframes so-sunspin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sim-solaire .so-topbar{position:absolute;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:22px 32px 0}.sim-solaire .so-topbar .so-logo img{height:36px;width:auto;display:block}.sim-solaire .so-topbar .so-exit{font-size:13px;font-weight:500;color:var(--ink-3);display:inline-flex;align-items:center;gap:7px}.sim-solaire .so-topbar .so-exit:hover{color:var(--accent)}.sim-solaire .so-prog{position:absolute;top:0;left:0;right:0;height:3px;background:var(--line-2);z-index:70}.sim-solaire .so-prog .so-prog-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent-2),var(--accent));box-shadow:0 0 12px rgba(11,79,138,.4);transition:width .55s var(--ease-out)}.sim-solaire .so-step-count{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:60;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.sim-solaire .so-step-count b{font-family:Cabinet Grotesk,serif;font-style:italic;font-weight:500;color:var(--accent)}.sim-solaire .so-stage{position:relative;height:100%;z-index:1}.sim-solaire .so-screen{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr);padding:92px 24px 96px;opacity:0;transform:translateX(48px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out);pointer-events:none;overflow-y:auto}.sim-solaire .so-screen.active{opacity:1;transform:translateX(0);pointer-events:auto;position:relative;inset:auto}.sim-solaire .so-screen.past{opacity:0;transform:translateX(-48px)}.sim-solaire .so-screen.ahead{opacity:0;transform:translateX(48px)}.sim-solaire .so-inner{width:100%;max-width:720px;margin:auto;justify-self:stretch;text-align:center;position:relative}.sim-solaire .so-inner.narrow{max-width:460px}.sim-solaire .so-inner.wide{max-width:800px}.sim-solaire .so-kicker{display:inline-flex;align-items:center;gap:8px;max-width:100%;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:14px}.sim-solaire .so-kicker .num{font-family:Cabinet Grotesk,serif;font-style:italic;font-weight:500;font-size:17px;color:var(--accent);line-height:1;flex-shrink:0}.sim-solaire .so-kicker .so-kicker-label{min-width:0;white-space:normal;text-align:left}.sim-solaire h1.so-q{font-family:Cabinet Grotesk,serif;font-weight:600;font-size:38px;line-height:1.08;letter-spacing:-.022em;margin:0 0 12px;color:var(--ink)}.sim-solaire h1.so-q .accent{color:var(--accent);font-style:italic}.sim-solaire .so-sub{font-size:15.5px;color:var(--ink-2);line-height:1.55;margin:0 auto 28px;max-width:520px}.sim-solaire .so-tiles{display:grid;gap:14px;text-align:left}.sim-solaire .so-tile{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:18px 20px;border:1.5px solid var(--line-2);border-radius:16px;background:var(--white);box-shadow:0 10px 30px -20px rgba(3,29,66,.18);transition:transform .25s var(--ease-out),border-color .25s,box-shadow .25s}.sim-solaire .so-tile:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 20px 38px -20px rgba(11,79,138,.45)}.sim-solaire .so-tile.sel{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 16px 34px -16px rgba(11,79,138,.45)}.sim-solaire .so-tile-ico{width:46px;height:46px;border-radius:13px;flex-shrink:0;background:var(--accent-bg);border:1px solid rgba(11,79,138,.16);display:grid;place-items:center;color:var(--accent);transition:all .25s var(--ease-out)}.sim-solaire .so-tile-ico svg{width:23px;height:23px}.sim-solaire .so-tile.sel .so-tile-ico{background:var(--accent);border-color:var(--accent);color:var(--white)}.sim-solaire .so-tile-txt{flex:1;min-width:0}.sim-solaire .so-tile-title{font-family:Cabinet Grotesk,serif;font-weight:600;font-size:16px;line-height:1.2;letter-spacing:-.005em;color:var(--ink);margin-bottom:3px;display:block}.sim-solaire .so-tile-sub{font-size:12.5px;color:var(--ink-2);line-height:1.4;display:block}.sim-solaire .so-tile-arr{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);color:var(--ink-3);display:grid;place-items:center;flex-shrink:0;transition:all .25s var(--ease-out)}.sim-solaire .so-tile.sel .so-tile-arr,.sim-solaire .so-tile:hover .so-tile-arr{background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(-45deg)}.sim-solaire .so-roof-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:26px}.sim-solaire .so-roof-choice{padding:20px 16px 16px;border:1.5px solid var(--line-2);border-radius:16px;background:var(--white);text-align:center;transition:all .25s var(--ease-out);position:relative;box-shadow:0 10px 30px -20px rgba(3,29,66,.18)}.sim-solaire .so-roof-choice:hover{border-color:var(--accent);transform:translateY(-3px)}.sim-solaire .so-roof-choice.sel{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 16px 34px -16px rgba(11,79,138,.45)}.sim-solaire .so-roof-svg{height:52px;margin:0 auto 10px;display:grid;place-items:center;color:var(--ink-2)}.sim-solaire .so-roof-choice.sel .so-roof-svg{color:var(--accent)}.sim-solaire .so-roof-name{font-family:Cabinet Grotesk,serif;font-weight:600;font-size:14px;color:var(--ink);letter-spacing:-.005em}.sim-solaire .so-roof-sub{font-size:11px;color:var(--ink-2);margin-top:3px}.sim-solaire .so-field{margin-bottom:14px;text-align:left}.sim-solaire .so-field label{font-size:11px;font-weight:700;color:var(--ink-3);display:block;margin-bottom:7px;text-transform:uppercase;letter-spacing:.14em}.sim-solaire .so-field select{width:100%;border:1.5px solid var(--line);border-radius:12px;font-size:16px;color:var(--ink);background:var(--white);outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%230b4f8a' stroke-width='1.6' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding:15px 40px 15px 16px}.sim-solaire .so-field select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(11,79,138,.12)}.sim-solaire .so-slider-wrap{margin-bottom:20px;padding:22px;border:1px solid var(--line-2);border-radius:16px;background:var(--white);text-align:left}.sim-solaire .so-slider-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.sim-solaire .so-slider-lbl{font-size:11px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.14em}.sim-solaire .so-slider-val{font-family:Cabinet Grotesk,serif;font-weight:600;font-size:24px;color:var(--accent);letter-spacing:-.01em;line-height:1}.sim-solaire input[type=range].so-range{width:100%;height:6px;border-radius:999px;background:var(--bg-3);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;accent-color:var(--accent)}.sim-solaire input[type=range].so-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 4px 12px rgba(11,79,138,.4);cursor:pointer;-webkit-transition:transform .15s;transition:transform .15s}.sim-solaire input[type=range].so-range::-webkit-slider-thumb:active{transform:scale(1.15)}.sim-solaire input[type=range].so-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 4px 12px rgba(11,79,138,.4);cursor:pointer}.sim-solaire .so-slider-ticks{display:flex;justify-content:space-between;margin-top:10px}.sim-solaire .so-slider-tick{font-size:11px;color:var(--ink-3);font-weight:500}.sim-solaire .so-fields-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sim-solaire .so-field input{width:100%;padding:15px 16px;border:1.5px solid var(--line);border-radius:12px;font-size:16px;color:var(--ink);background:var(--white);outline:none;transition:border-color .2s,box-shadow .2s}.sim-solaire .so-field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(11,79,138,.12)}.sim-solaire .so-consent-section{background:var(--bg);border:1px solid var(--line-2);border-radius:14px;padding:16px;margin:4px 0 18px;text-align:left}.sim-solaire .so-consent-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.sim-solaire .so-consent-item:last-child{margin-bottom:0}.sim-solaire .so-consent-item input{width:19px;height:19px;flex-shrink:0;margin-top:2px;accent-color:var(--accent)}.sim-solaire .so-ctag{font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:6px;text-transform:uppercase;margin-right:6px;letter-spacing:.05em;display:inline-block}.sim-solaire .so-ctag-r{background:var(--accent-bg);color:var(--accent)}.sim-solaire .so-ctag-o{background:var(--green-bg);color:var(--green)}.sim-solaire .so-clbl{font-size:12.5px;color:var(--ink-2);line-height:1.5}.sim-solaire .so-legal{font-size:11px;color:var(--ink-3);line-height:1.55;margin:0 0 16px;text-align:left}.sim-solaire .so-legal a{color:var(--accent);font-weight:500}.sim-solaire .so-form-wrap{max-width:440px;margin:0 auto;text-align:left}.sim-solaire .so-next-btn,.sim-solaire .so-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 24px;border-radius:14px;background:var(--accent);color:var(--white);font-size:15.5px;font-weight:600;box-shadow:0 12px 30px -8px rgba(11,79,138,.55);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.sim-solaire .so-next-btn:hover:not(:disabled),.sim-solaire .so-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 40px -8px rgba(11,79,138,.65)}.sim-solaire .so-next-btn:disabled,.sim-solaire .so-submit-btn:disabled{background:var(--bg-3);color:var(--ink-3);box-shadow:none;cursor:not-allowed}.sim-solaire .so-submit-btn{width:100%}.sim-solaire .so-intro-eyebrow{display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:18px;padding:7px 14px 7px 26px;border-radius:999px;background:var(--accent-bg);border:1px solid rgba(11,79,138,.2);position:relative}.sim-solaire .so-intro-eyebrow .pip{position:absolute;left:14px;top:50%;margin-top:-3.5px;width:7px;height:7px;border-radius:50%;background:var(--accent);animation:so-blink 1.6s infinite}@keyframes so-blink{0%,to{opacity:1}50%{opacity:.3}}.sim-solaire .so-intro-sun{width:72px;height:72px;margin:0 auto 20px;position:relative}.sim-solaire .so-intro-sun .ray{position:absolute;inset:0;color:var(--accent);animation:so-sunspin 26s linear infinite}.sim-solaire .so-intro-sun .core{position:absolute;inset:12px;background:linear-gradient(135deg,var(--accent-2),var(--accent));border-radius:50%;box-shadow:0 0 26px rgba(11,79,138,.45),inset 0 -4px 12px rgba(3,29,66,.3)}.sim-solaire #s0 h1.so-q{font-size:42px;margin-bottom:16px}.sim-solaire #s0 .so-sub{font-size:16px;max-width:460px}.sim-solaire .so-intro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:500px;margin:0 auto 26px}.sim-solaire .so-intro-stat{background:var(--white);border:1px solid var(--line-2);border-radius:14px;padding:16px 12px;display:flex;flex-direction:column;gap:4px;box-shadow:0 10px 26px -20px rgba(3,29,66,.16)}.sim-solaire .so-intro-stat-num{font-family:Cabinet Grotesk,serif;font-weight:600;font-size:19px;color:var(--accent);letter-spacing:-.01em;line-height:1.15}.sim-solaire .so-intro-stat-lbl{font-size:11px;color:var(--ink-2);line-height:1.35}.sim-solaire .so-intro-checks{display:flex;flex-direction:column;gap:12px;text-align:left;max-width:460px;margin:0 auto 28px}.sim-solaire .so-intro-check{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:13px;color:var(--ink-2);line-height:1.5;align-items:start}.sim-solaire .so-intro-check b{color:var(--ink);font-weight:600}.sim-solaire .so-intro-check-ico{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;flex-shrink:0;margin-top:1px}.sim-solaire .so-start-btn{display:inline-flex;align-items:center;gap:12px;padding:17px 32px;border-radius:14px;background:var(--accent);color:var(--white);font-size:16px;font-weight:600;box-shadow:0 12px 30px -8px rgba(11,79,138,.55);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.sim-solaire .so-start-btn:hover{transform:translateY(-3px);box-shadow:0 18px 40px -8px rgba(11,79,138,.65)}.sim-solaire .so-intro-duration{margin-top:16px;font-size:12px;color:var(--ink-3)}.sim-solaire .so-intro-duration b{color:var(--accent);font-weight:600}.sim-solaire .so-btn-row{display:flex;gap:12px;align-items:center;margin-top:8px}.sim-solaire .so-back-inline{padding:14px 20px;border-radius:12px;background:rgba(0,0,0,0);color:var(--ink-2);font-size:14px;font-weight:500;border:1px solid var(--line);transition:all .2s;display:inline-flex;align-items:center;gap:6px}.sim-solaire .so-back-inline:hover{border-color:var(--ink);color:var(--ink)}.sim-solaire .so-r-badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:14px;background:var(--accent-bg);color:var(--accent);border:1px solid rgba(11,79,138,.2)}.sim-solaire .so-r-badge.ok{background:var(--green-bg);color:var(--green);border-color:rgba(30,138,84,.2)}.sim-solaire #rResult h1.so-q{font-size:30px;text-align:left}.sim-solaire #rResult .so-sub{text-align:left;margin:0 0 22px;max-width:100%}.sim-solaire .so-r-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.sim-solaire .so-r-mini{background:var(--white);border:1px solid var(--line-2);border-radius:14px;padding:20px;text-align:left;transition:border-color .25s,transform .25s}.sim-solaire .so-r-mini:hover{border-color:var(--accent-soft);transform:translateY(-2px)}.sim-solaire .so-r-mini .lbl{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:9px}.sim-solaire .so-r-mini .num{font-family:Cabinet Grotesk,serif;font-weight:600;font-size:26px;color:var(--accent);letter-spacing:-.015em;line-height:1;margin-bottom:6px}.sim-solaire .so-r-mini .num .u{font-size:15px;font-style:italic;font-weight:500}.sim-solaire .so-r-mini .sub{font-size:12px;color:var(--ink-2);line-height:1.4}.sim-solaire .so-contact-note{background:var(--accent-bg);border:1px solid rgba(11,79,138,.2);border-radius:12px;padding:15px 17px;font-size:12.5px;color:var(--ink);line-height:1.55;margin:20px 0 6px;display:flex;gap:12px;align-items:flex-start;text-align:left}.sim-solaire .so-contact-note b{color:var(--accent);font-weight:600}.sim-solaire .so-contact-note.ok{background:var(--green-bg);border-color:rgba(30,138,84,.25)}.sim-solaire .so-contact-note.ok .ic{background:var(--green)}.sim-solaire .so-contact-note.ok b{color:var(--green)}.sim-solaire .so-contact-note .ic{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;flex-shrink:0}.sim-solaire .so-result-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.sim-solaire .so-result-links a{padding:13px 24px;border-radius:12px;font-size:14px;font-weight:600;border:1.5px solid var(--line);transition:all .2s}.sim-solaire .so-result-links a:hover{border-color:var(--accent);transform:translateY(-2px)}.sim-solaire .so-result-links a.primary{flex:1;text-align:center;background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 12px 28px -10px rgba(11,79,138,.5)}.sim-solaire .so-oos-badge{width:80px;height:80px;border-radius:50%;background:var(--bg-2);color:var(--ink-3);display:grid;place-items:center;margin:0 auto 22px}.sim-solaire .so-back-btn{position:absolute;left:32px;bottom:28px;z-index:60;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid var(--line-2);backdrop-filter:blur(8px);font-size:13.5px;font-weight:600;color:var(--ink-2);opacity:0;transform:translateY(8px);pointer-events:none;transition:all .3s var(--ease-out)}.sim-solaire .so-back-btn.show{opacity:1;transform:none;pointer-events:auto}.sim-solaire .so-back-btn:hover{color:var(--accent);border-color:var(--accent);transform:translateX(-3px)}.sim-solaire .so-mascot{position:absolute;pointer-events:none;z-index:3;height:220px;width:auto;filter:drop-shadow(0 18px 30px rgba(3,29,66,.18));animation:so-float 4.2s ease-in-out infinite}.sim-solaire .so-mascot.right{right:2%;bottom:4%}@keyframes so-float{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-16px) rotate(1.5deg)}}@media(max-width:1100px){.sim-solaire .so-mascot{height:124px;right:4%;bottom:auto;top:96px;opacity:.95}}@media(max-width:720px){.sim-solaire .so-topbar{padding:16px 20px 0}.sim-solaire .so-screen{padding:80px 18px 92px}.sim-solaire h1.so-q{font-size:26px}.sim-solaire #s0 h1.so-q{font-size:30px}.sim-solaire #s0 .so-sub,.sim-solaire .so-sub{font-size:14px}.sim-solaire .so-roof-pick{grid-template-columns:1fr 1fr}.sim-solaire .so-fields-2,.sim-solaire .so-intro-stats,.sim-solaire .so-r-2col{grid-template-columns:1fr}.sim-solaire #rResult h1.so-q{font-size:24px}.sim-solaire .so-back-btn{left:18px;bottom:18px;padding:12px}.sim-solaire .so-back-btn span,.sim-solaire .so-exit span,.sim-solaire .so-mascot,.sim-solaire .so-step-count{display:none}.sim-solaire #rResult .so-mascot,.sim-solaire #s0 .so-mascot{display:block;height:76px;top:auto;bottom:10px;right:4%;opacity:.9}}@media(prefers-reduced-motion:reduce){.sim-solaire .so-prog-fill,.sim-solaire .so-screen{transition:opacity .2s linear}.sim-solaire .so-screen.active,.sim-solaire .so-screen.ahead,.sim-solaire .so-screen.past{transform:none}.sim-solaire .so-intro-sun .ray,.sim-solaire .so-mascot{animation:none}}