:root{--ink:#14232d;--muted:#536975;--brand:#e97a5e;--brand-dark:#ad4935;--surface:#f5f8f9;--line:#dfe8eb;--paper:#fff;font-family:"Segoe UI",system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--surface)}a{color:inherit}.shell{width:min(100% - 2rem,76rem);margin-inline:auto}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.75rem 1rem;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:sticky;z-index:30;top:0;border-bottom:1px solid var(--line);background:#fffffff2;backdrop-filter:blur(16px)}.nav-row{display:flex;min-height:5rem;align-items:center;gap:2rem}.brand img{display:block;width:10.25rem;height:auto}.desktop-nav{display:flex;flex:1;justify-content:center;gap:1.5rem}.desktop-nav a,.phone-link{font-size:.88rem;font-weight:750;text-decoration:none}.phone-link{padding:.75rem 1rem;border:1px solid var(--line);border-radius:.45rem;white-space:nowrap}.hero{color:#fff;background:linear-gradient(90deg,#14232df2 0%,#14232dc9 48%,#14232d75 100%),url('/images/articles-hero-solaire-1728.avif') center/cover}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,.48fr);gap:3rem;padding-block:clamp(4rem,9vw,7rem);align-items:end}.eyebrow{margin:0 0 .8rem;color:var(--brand);font-size:.75rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.hero .eyebrow{color:#ffc5b7}.hero h1{max-width:15ch;margin:0;font-size:clamp(2.7rem,6vw,5.4rem);line-height:1.02;letter-spacing:0}.hero-copy{max-width:58ch;margin:1.3rem 0 0;color:#e1eaed;font-size:1.08rem;line-height:1.7}.hero-points{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.hero-points li{padding:.95rem 1rem;border:1px solid #ffffff45;background:#ffffff1a;font-weight:750}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.42fr);gap:1.5rem;margin-block:clamp(2.5rem,6vw,5rem);align-items:start}.estimate-form,.results-card{border:1px solid var(--line);background:var(--paper);box-shadow:0 16px 42px #14232d12}.estimate-form{padding:clamp(1.25rem,3vw,2.25rem)}.form-heading{margin-bottom:2rem}.form-heading h2,.results-card h2,.guide h2{margin:.25rem 0 .65rem;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.15}.form-heading p{margin:0;color:var(--muted);line-height:1.55}fieldset{margin:0 0 1.8rem;padding:0;border:0}legend{margin-bottom:1rem;font-size:1.05rem;font-weight:850}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:.45rem;color:var(--muted);font-size:.9rem;font-weight:750}input,select,textarea{width:100%;min-height:2.85rem;padding:.65rem .75rem;color:var(--ink);border:1px solid #cbd8dd;border-radius:.3rem;background:#fff;font:inherit}textarea{min-height:7rem;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #e97a5e35;border-color:var(--brand)}.hint,.fineprint{color:var(--muted);font-size:.88rem;line-height:1.55}.consent{grid-template-columns:auto 1fr;align-items:start;margin:1.4rem 0}.consent input{width:1.1rem;min-height:1.1rem;margin-top:.12rem}.consent a{color:var(--brand-dark)}.button{min-height:3rem;padding:.75rem 1.2rem;border:0;border-radius:.3rem;background:var(--brand);color:#fff;font:inherit;font-weight:850;cursor:pointer}.button:hover{background:var(--brand-dark)}.button:disabled{cursor:wait;opacity:.7}.primary{width:100%}.form-status{min-height:1.5rem;margin:1rem 0 0;font-size:.9rem;font-weight:700}.form-status[data-state="success"]{color:#146c43}.form-status[data-state="error"]{color:#a33c36}.results-card{position:sticky;top:6.25rem;padding:1.5rem}.results-card h2{font-size:1.7rem}.results-card dl{display:grid;gap:0;margin:1.35rem 0}.results-card dl div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}dt{color:var(--muted);font-weight:700}dd{margin:0;font-weight:850;text-align:right}.guide{padding-block:clamp(3rem,7vw,6rem);background:#fff}.guide-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:3rem}.guide-copy{max-width:65ch;color:var(--muted);line-height:1.7}.guide-copy p{margin-top:0}.guide-copy ul{padding-left:1.2rem}.guide-copy li{margin:.45rem 0}.text-link{color:var(--brand-dark);font-weight:850}.site-footer{padding-block:3rem;background:var(--ink);color:#dce7eb}.footer-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.footer-row img{display:block;width:9.5rem;height:auto;padding:.35rem;background:#fff}.footer-row p,.footer-row address{margin:.9rem 0 0;color:#c2d1d6;font-size:.9rem;line-height:1.7}.footer-row nav{display:grid;align-content:start;gap:.7rem}.footer-row a{text-decoration:none}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:50rem){.desktop-nav{display:none}.nav-row{min-height:4.5rem}.brand img{width:8.75rem}.phone-link{margin-left:auto;padding:.6rem;font-size:.78rem}.hero-grid,.workspace,.guide-grid,.footer-row{grid-template-columns:1fr}.hero-grid{gap:1.5rem}.workspace{margin-top:2rem}.results-card{position:static;order:-1}.grid.two{grid-template-columns:1fr}.hero h1{font-size:clamp(2.4rem,12vw,4rem)}}
.hero{position:relative;background:#14232d url('/images/articles-hero-solaire-1728.avif') center/cover}.hero::before{position:absolute;inset:0;background:rgba(20,35,45,.8);content:""}.hero-grid{position:relative;z-index:1}

/* Stronger separation between the editable form and the live project estimate. */
.workspace{padding:clamp(.75rem,2vw,1.5rem);background:#e7eef1;border:1px solid #cbd9de}
.estimate-form{border-color:#c4d1d7;background:#fff;box-shadow:0 14px 32px rgba(20,35,45,.09)}
.estimate-form fieldset{padding:1.1rem;border:1px solid #d5e0e4;background:#f9fbfc}
.estimate-form legend{padding:0 .35rem;color:#14232d}
.estimate-form label{color:#334b57}
.estimate-form input:not([type="checkbox"]),.estimate-form select,.estimate-form textarea{min-height:3.2rem;padding:.8rem .9rem;border:2px solid #9aadb6;border-radius:.25rem;background:#fff;box-shadow:inset 0 1px 2px rgba(20,35,45,.05);font-size:1rem;line-height:1.35}
.estimate-form textarea{min-height:8.25rem}
.estimate-form input::placeholder,.estimate-form textarea::placeholder{color:#6c7e87;opacity:1}
.estimate-form input:hover,.estimate-form select:hover,.estimate-form textarea:hover{border-color:#607985}
.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{outline:3px solid rgba(233,122,94,.28);outline-offset:1px;border-color:#ad4935;box-shadow:0 0 0 1px #ad4935,inset 0 1px 2px rgba(20,35,45,.04)}
.estimate-form .consent{padding:.9rem;border:1px solid #d2dfe3;background:#f5f8f9}
.estimate-form .consent input{accent-color:#ad4935}
.estimate-form .primary{min-height:3.4rem;border:2px solid #ad4935;box-shadow:0 5px 0 #8d392b;font-size:1rem}
.estimate-form .primary:hover{transform:translateY(-1px);box-shadow:0 6px 0 #8d392b}
.estimate-form .primary:active{transform:translateY(2px);box-shadow:0 3px 0 #8d392b}
.results-card{border:1px solid #14232d;background:#14232d;box-shadow:0 18px 38px rgba(20,35,45,.26);color:#fff}
.results-card .eyebrow{color:#ffc5b7}
.results-card h2{color:#fff}
.results-card dl{border-top:1px solid rgba(255,255,255,.25)}
.results-card dl div{padding:1rem .15rem;border-bottom-color:rgba(255,255,255,.22)}
.results-card dt{color:#d4e0e4}
.results-card dd{color:#ffc5b7;font-size:1.12rem}
.results-card .fineprint{color:#d4e0e4}
@media(max-width:50rem){.workspace{padding:.65rem}.estimate-form fieldset{padding:.9rem}.estimate-form input:not([type="checkbox"]),.estimate-form select,.estimate-form textarea{font-size:16px}}

.form-status[data-state="success"]{display:block;padding:1rem 1.1rem;border:1px solid #73b78d;background:#e8f6ee;color:#116b42;font-size:.98rem;font-weight:800;line-height:1.5}
.confirmation-modal[hidden]{display:none}
.confirmation-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1.25rem;background:rgba(10,25,33,.72)}
.confirmation-dialog{width:min(100%,34rem);padding:clamp(1.5rem,5vw,2.5rem);border:3px solid #1f814f;background:#fff;box-shadow:0 24px 72px rgba(0,0,0,.38);text-align:center}
.confirmation-dialog .eyebrow{margin-bottom:.65rem;color:#167347}
.confirmation-dialog h2{margin:0;color:#14232d;font-size:clamp(1.65rem,4vw,2.3rem);line-height:1.16}
.confirmation-dialog p[data-confirmation-message]{margin:1.1rem 0 1.6rem;color:#276543;font-size:1rem;font-weight:700;line-height:1.55}
.confirmation-button{min-width:10rem;background:#167347}
.confirmation-button:hover{background:#0f5d39}
.project-map{margin-top:1.25rem;padding:1.1rem;border:1px solid #bdced5;background:#edf4f6}
.project-map-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.project-map-heading .eyebrow{margin-bottom:.35rem;color:#ad4935}
.project-map-heading h3{margin:0;color:#14232d;font-size:1.1rem;line-height:1.25}
.map-button{min-height:2.8rem;background:#14232d;white-space:nowrap}
.map-button:hover{background:#273e4a}
.map-status{margin:.8rem 0 0;color:#4b6570;font-size:.88rem;font-weight:700;line-height:1.45}
.map-frame{margin-top:1rem;overflow:hidden;border:2px solid #14232d;background:#dce7eb;aspect-ratio:16/8}
.map-frame iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:50rem){.project-map-heading{align-items:flex-start;flex-direction:column}.map-button{width:100%}.map-frame{aspect-ratio:4/3}}
.desktop-nav{gap:.9rem}.desktop-nav a{white-space:nowrap}.more-nav{position:relative}.more-nav summary,.mobile-nav summary{list-style:none;cursor:pointer}.more-nav summary::-webkit-details-marker,.mobile-nav summary::-webkit-details-marker{display:none}.more-nav summary{color:#14232d;font-size:.88rem;font-weight:750}.more-nav-menu{position:absolute;z-index:40;top:calc(100% + .8rem);right:0;display:grid;min-width:10.5rem;border:1px solid #c6d4d9;background:#fff;box-shadow:0 14px 28px rgba(20,35,45,.16)}.more-nav-menu a{padding:.75rem .9rem;color:#14232d;font-size:.88rem;font-weight:750;text-decoration:none}.more-nav-menu a:hover{background:#edf4f6}.mobile-nav{display:none}
@media(max-width:50rem){.mobile-nav{position:relative;display:block;margin-left:auto}.mobile-nav summary{padding:.6rem .7rem;border:1px solid #b7c8cf;background:#fff;color:#14232d;font-size:.82rem;font-weight:800}.mobile-nav-menu{position:absolute;z-index:40;top:calc(100% + .55rem);right:0;display:grid;width:min(19rem,calc(100vw - 2rem));border:1px solid #b7c8cf;background:#fff;box-shadow:0 14px 28px rgba(20,35,45,.18)}.mobile-nav-menu a{padding:.8rem .9rem;border-bottom:1px solid #e1eaed;color:#14232d;font-size:.95rem;font-weight:750;text-decoration:none}.mobile-nav-menu a:last-child{border-bottom:0}.phone-link{margin-left:0;padding:.6rem .5rem;font-size:.72rem}}
