.page-hero{position:relative;padding:56px 0 96px;background:#e9eee1;border-radius:0 0 45% 0 / 0 0 56px 0;background-image:url('/assets/topography.svg');background-repeat:no-repeat;background-size:720px;background-position:100% 50%}
.page-hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,7vw,112px);align-items:end}
.page-hero h1{font-size:clamp(44px,5.5vw,80px);line-height:1.08;max-width:17ch}
.page-hero .page-lead{font-size:18px;line-height:1.85;color:var(--muted);max-width:43ch}
.page-hero .button{margin-top:32px}
.page-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(260px,340px);gap:clamp(48px,7vw,112px);align-items:start;justify-content:space-between}
.page-layout>*{min-width:0}
.prose{max-width:66ch;overflow-wrap:break-word;font-size:18px;line-height:1.85;color:var(--muted)}
.prose p,.prose li{max-width:66ch}
.prose h2{font:400 clamp(29px,3vw,40px)/1.22 var(--serif);letter-spacing:-.035em;margin:60px 0 24px;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:28px;margin:36px 0 20px;color:var(--ink)}
.prose p+p{margin-top:22px}.prose strong{color:var(--ink)}
.prose ul,.prose ol{margin:26px 0 32px;padding-left:24px}.prose li{padding-left:5px;margin-block:12px}
.prose li::marker{color:var(--blue)}
.prose a{text-decoration:underline;color:var(--ink);overflow-wrap:anywhere}
.prose .callout,.role-note,.intervention-scope,.policy-contact{background:#e9eee1;border-left:3px solid #718b5b;border-radius:0 24px 24px 0;padding:28px 32px;margin:32px 0}
.prose .callout p,.role-note p,.intervention-scope p{font-size:16px;line-height:1.8}
.role-note>strong{display:block;margin-bottom:14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.prose .source-note,.prose .reference-note,.prose .legal-source{font-size:13px;line-height:1.8;margin-top:32px;border-top:1px solid var(--line);padding-top:20px}
.side-panel{position:sticky;top:120px;padding:36px 30px;background:var(--deep);color:var(--paper);border-radius:28px 56px 28px 28px;box-shadow:var(--shadow);--muted:#c8d6c5;--focus:var(--lime);background-image:url('/assets/topography.svg');background-size:150% auto}
.side-panel .eyebrow{color:#c6d8b4;font-size:10px}.side-panel h2{font-size:33px;line-height:1.2;margin-bottom:24px}
.side-panel p{font-size:15px;color:var(--muted)}
.side-panel ul{font-size:15px;line-height:1.8;color:var(--muted);padding-left:18px;margin:24px 0 32px}
.side-panel .button{background:var(--lime);color:var(--deep);font-size:13px;width:100%;padding:15px 18px}
.side-panel .text-link{font-size:13px;margin-top:24px}
.service-faq{margin-top:72px}.service-faq summary{color:var(--ink)}.service-faq details>div p{font-size:16px}
.related-section{padding:80px 0 112px;background:#e9eee1;border-radius:64px 0 0 0}
.related-heading{display:flex;justify-content:space-between;gap:24px;align-items:end}
.related-heading h2{font-size:clamp(34px,4vw,52px)}
.related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:48px;align-items:start}
.related-links>a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px;min-height:155px;border:1px solid #c5d1bb;border-radius:28px;background:var(--paper);font:400 25px/1.3 var(--serif);transition:box-shadow .25s,border-color .25s}
.related-links>a:nth-child(3n + 2){margin-top:32px}
.related-links>a:hover{box-shadow:var(--shadow);border-color:#77916b}.related-links>a>span{font:24px/1 var(--sans);flex-shrink:0}
.service-guide-link{padding:40px 0 56px}.service-guide-link>.container{display:flex;align-items:center;justify-content:space-between;gap:32px;font-size:13px;color:var(--muted)}
.service-guide-link .text-link{font-size:15px;color:var(--ink)}
.legal-page .page-hero h1{max-width:20ch}.legal-page .page-layout{display:block;max-width:960px;margin-inline:auto}
.legal-page .prose{max-width:100%;font-size:17px}.legal-page .prose>p{max-width:70ch}
.legal-details{margin:32px 0}.legal-details>div{display:grid;grid-template-columns:190px 1fr;gap:28px;border-bottom:1px solid var(--line);padding:18px 0}
.legal-details dt{font-size:14px;font-weight:600;color:var(--ink)}.legal-details dd{margin:0;font-size:16px}
.privacy-document .policy-date{font-size:13px;color:var(--muted);margin-bottom:24px}.privacy-document section{margin-top:56px}
.privacy-document section>p{margin-block:20px}
.privacy-toc{border:1px solid var(--line);background:var(--paper);padding:32px;border-radius:28px;margin:40px 0 56px}
.privacy-toc h2{font-size:29px;margin:0 0 24px}.privacy-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:0;padding-left:20px}
.privacy-toc li{font-size:14px;margin:0;padding:0}.privacy-toc a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
.policy-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:20px;margin:32px 0;background:var(--paper)}
.policy-table{border-collapse:collapse;width:100%;min-width:560px;text-align:left;font-size:14px;line-height:1.8}
.policy-table caption{padding:20px 24px;text-align:left;color:var(--ink);font-weight:600;background:#e9eee1}
.policy-table th,.policy-table td{padding:20px 24px;border-bottom:1px solid var(--line);vertical-align:top}
.policy-table th{color:var(--ink);background:#eef1e5}.policy-table tr:last-child td{border-bottom:0}
.policy-contact h3{margin-top:0;font-size:27px}
.disclaimer-layout{max-width:960px}.guide-disclaimer-section{margin-top:48px;border-top:1px solid var(--line);padding-top:24px}
.profile-subtitle{font-size:22px;line-height:1.6;margin-top:24px;color:var(--muted)}
.profile-card{overflow-wrap:anywhere}.profile-monogram{display:grid;place-items:center;width:88px;height:88px;border:1px solid #93b077;border-radius:50%;background:#204c3f;color:var(--lime);font:400 34px/1 var(--serif);margin-bottom:32px}
.profile-card p{margin:24px 0}.profile-card .text-link{display:block;font-size:14px}
.site-privacy-note{max-width:960px;margin:0 auto 72px;padding:32px;background:#e9eee1;border-radius:28px}
.site-privacy-note h2{font-size:34px;margin-bottom:24px}.site-privacy-note p{font-size:16px;color:var(--muted)}
@media(max-width:1000px){.page-hero-grid{grid-template-columns:1fr;gap:32px}.page-hero .page-lead{max-width:60ch}.page-hero h1{max-width:20ch}.page-layout{gap:40px;grid-template-columns:minmax(0,1fr) 280px}.side-panel{padding:28px 24px}.related-links{gap:20px}.related-links>a{padding:26px;font-size:23px}}
@media(max-width:760px){.page-hero{padding:36px 0 64px;border-radius:0 0 35% 0 / 0 0 32px 0}.page-hero h1{font-size:43px}.page-hero .page-lead{font-size:17px}.page-layout{display:block}.prose{font-size:17px}.prose h2{font-size:33px;margin-top:48px}.prose h3{font-size:27px}.side-panel{position:static;margin-top:48px;padding:32px;max-width:500px}.prose .callout,.role-note,.intervention-scope,.policy-contact{padding:24px}.related-section{padding-block:64px 72px;border-radius:40px 0 0 0}.related-links{grid-template-columns:1fr;gap:20px;margin-top:32px}.related-links>a{min-height:120px;font-size:26px}.related-links>a:nth-child(n){margin-top:0}.service-guide-link>.container{flex-direction:column;align-items:flex-start;gap:16px}.service-guide-link .text-link{font-size:14px}.legal-details>div{grid-template-columns:1fr;gap:8px}.privacy-toc{padding:24px}.privacy-toc ol{grid-template-columns:1fr}.site-privacy-note{width:calc(100% - 48px);padding:26px}.policy-table td,.policy-table th{padding:16px}.page-hero .eyebrow{font-size:10px}}
@media print{.page-layout{display:block}.page-hero{background:none;padding:20px 0}.side-panel,.related-section,.service-guide-link{display:none}.prose{font-size:11pt;max-width:100%}}
.page-hero{padding:48px 0 0;background:#e7e9df;border-radius:0;background-image:none;position:relative;overflow:hidden}
.page-hero .breadcrumbs{margin-bottom:64px}
.page-hero-grid{grid-template-columns:7fr 5fr;gap:clamp(64px,8vw,128px);align-items:end;padding-bottom:80px}
.page-hero h1{font:400 clamp(54px,5.9vw,88px)/1.06 var(--serif);letter-spacing:-.045em;max-width:18ch}
.page-hero .eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:32px;color:#5d6c54}
.page-hero .page-lead{font-size:18px;line-height:1.95;color:#53634c;max-width:42ch}
.page-hero .button{margin-top:36px;background:var(--deep);color:var(--cream);font-size:12px;min-height:62px;padding:19px 25px;border-radius:2px}
.page-hero .button:hover{background:#254b3e}
.page-hero::after{content:"";display:block;height:clamp(180px,22vw,320px);width:85%;margin-left:15%;background:linear-gradient(90deg,#183a3222,#183a3200),url('/assets/paysage-energie-20261017.webp') center 62%/cover;filter:saturate(.72);border-radius:96px 0 0 0;pointer-events:none}
.page-layout{grid-template-columns:minmax(0,780px) minmax(260px,340px);gap:clamp(64px,8vw,128px);align-items:start}
.prose{font-size:18px;line-height:1.95;color:#56634f;max-width:67ch}
.prose h2{font:400 clamp(35px,3.6vw,50px)/1.15 var(--serif);letter-spacing:-.04em;margin:80px 0 30px;padding-top:30px;border-top:1px solid #bdc9b0;color:var(--ink)}
.prose h2:first-child{margin-top:0;padding-top:0;border:0}
.prose h3{font:400 33px/1.22 var(--serif);letter-spacing:-.03em;margin:44px 0 24px}
.prose p+p{margin-top:26px}.prose strong{font-weight:600}
.prose li{padding-left:8px;margin-block:14px}.prose li::marker{color:#70855d;font-size:.85em}
.prose a{text-decoration-thickness:1px;text-underline-offset:.23em}
.prose .callout,.role-note,.intervention-scope,.policy-contact{background:#e4eada;border-left:1px solid #8b9f75;border-radius:0;padding:32px 36px;margin:40px 0}
.prose .callout p,.role-note p,.intervention-scope p{font-size:16px;line-height:1.95}
.role-note>strong{font-size:10px;letter-spacing:.15em;line-height:1.9;font-weight:500;margin-bottom:18px}
.prose .source-note,.prose .reference-note,.prose .legal-source{font-size:12px;line-height:1.9;margin-top:40px;padding-top:26px;border-color:#b8c6a9}
.side-panel{top:148px;padding:40px 32px;background:var(--deep);background-image:none;border:0;border-top:1px solid #9aad7e;border-radius:0;color:var(--cream);box-shadow:14px 14px 0 #d9e1cc73;--muted:#c9d6be;--focus:var(--lime)}
.side-panel .eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:30px;color:#d4dfbf}
.side-panel h2{font:400 38px/1.1 var(--serif);letter-spacing:-.04em;color:var(--cream);margin-bottom:28px}
.side-panel p{font-size:15px;line-height:1.95;color:#cfdbc3}
.side-panel ul{font-size:15px;line-height:1.95;margin:28px 0 34px;color:#d0ddc3}
.side-panel .button{background:var(--cream);color:var(--deep);border:1px solid var(--cream);border-radius:2px;padding:18px 20px;min-height:60px;font-size:12px}
.side-panel .button:hover{background:#dfe8c7;border-color:#dfe8c7}
.side-panel .text-link{font-size:12px;margin-top:28px;border-color:#9bb082;color:#e5ebd7}
.service-faq{margin-top:80px}.service-faq summary{font-size:17px;line-height:1.75;padding-block:28px;font-weight:500}.service-faq details>div p{font-size:17px;line-height:1.95}
.related-section{padding:112px 0 128px;background:var(--stone);border-radius:0}
.related-heading{gap:48px}.related-heading h2{font:400 clamp(43px,5vw,73px)/1.07 var(--serif);letter-spacing:-.045em}
.related-links{gap:48px;margin-top:64px}
.related-links>a{background:transparent;border:0;border-top:1px solid #98ac81;border-bottom:1px solid #b8c7a6;border-radius:0;padding:32px 0;min-height:180px;font:400 33px/1.13 var(--serif);letter-spacing:-.035em;gap:28px;box-shadow:none;transition:background .3s,border-color .3s}
.related-links>a:nth-child(3n + 2){margin-top:40px}.related-links>a:nth-child(3n){margin-top:80px}
.related-links>a:hover{box-shadow:none;background:#dce3d15e;border-color:#7b9362}
.related-links>a>span{font-size:27px;line-height:1}
.service-guide-link{padding:48px 0 64px}.service-guide-link>.container{font-size:12px;line-height:1.9;gap:40px}
.service-guide-link .text-link{font-size:13px;font-weight:500}
.legal-page .page-hero{padding-bottom:88px}.legal-page .page-hero::after{display:none}
.legal-page .page-hero-grid{padding-bottom:88px}
.legal-page .page-hero h1{max-width:20ch;font-size:clamp(56px,6.1vw,92px)}
.legal-page .page-layout{max-width:960px}.legal-page .prose{font-size:17px;line-height:1.95}
.legal-details{margin:40px 0}.legal-details>div{grid-template-columns:190px 1fr;gap:36px;border-color:#bac8ab;padding:24px 0}
.legal-details dt{font-size:13px;font-weight:500}.legal-details dd{font-size:16px;line-height:1.9}
.privacy-document .policy-date{font-size:12px;letter-spacing:.025em;margin-bottom:32px}
.privacy-document section{margin-top:64px}.privacy-document section>p{margin-block:24px}
.privacy-toc{padding:36px 0;border:0;border-top:1px solid #95a980;border-bottom:1px solid #b9c7a9;border-radius:0;background:transparent;margin:48px 0 64px}
.privacy-toc h2{font-size:36px;border:0;padding:0;margin:0 0 30px}
.privacy-toc ol{gap:0 40px}.privacy-toc li{font-size:14px}.privacy-toc a{line-height:1.9;min-height:48px}
.policy-table-wrap{border-radius:0;border-color:#b5c7a1;margin:40px 0}
.policy-table{font-size:14px;line-height:1.9;background:var(--paper)}
.policy-table caption{background:#dde6cf;font-size:13px;line-height:1.8;font-weight:500;padding:22px 24px}
.policy-table th{background:var(--deep);color:var(--cream);font-weight:500}.policy-table th,.policy-table td{padding:22px 24px;border-color:#c9d5bc}
.policy-contact h3{font-size:32px}.guide-disclaimer-section{border-color:#afc19b;margin-top:56px;padding-top:30px}
.profile-subtitle{font:400 29px/1.45 var(--serif);letter-spacing:-.025em;margin-top:28px;color:#5b6b52}
.profile-monogram{width:100px;height:100px;border:1px solid #a4b784;border-radius:50%;background:transparent;color:#d6e4b9;font:400 42px/1 var(--serif);margin-bottom:36px}
.profile-card p{margin-block:28px}.profile-card .text-link{font-size:13px}
.site-privacy-note{max-width:960px;padding:36px 40px;background:#e4ead9;border:0;border-left:1px solid #95ab7b;border-radius:0;margin:0 auto 96px}
.site-privacy-note h2{font-size:39px;line-height:1.12;margin-bottom:28px}.site-privacy-note p{font-size:16px;line-height:1.9}
@media(max-width:1100px) and (min-width:761px){
.page-hero-grid{grid-template-columns:7fr 5fr;gap:48px}.page-hero h1{font-size:59px}.page-hero .page-lead{font-size:17px}.page-hero .button{font-size:11px;padding-inline:20px}
.page-layout{grid-template-columns:minmax(0,1fr) 280px;gap:48px}.prose{font-size:17px}.prose h2{font-size:40px}.side-panel{padding:34px 26px}.side-panel h2{font-size:34px}
.related-links{gap:32px}.related-links>a{font-size:29px;padding-block:28px}.page-hero::after{height:220px}
}
@media(max-width:760px){
.page-hero{padding-top:32px}.page-hero .breadcrumbs{margin-bottom:40px}.page-hero-grid{grid-template-columns:1fr;gap:32px;padding-bottom:48px}.page-hero h1{font-size:clamp(42px,10vw,60px);line-height:1.09;max-width:none}.page-hero .eyebrow{font-size:9px;line-height:1.9;margin-bottom:26px}.page-hero .page-lead{font-size:17px;line-height:1.9;max-width:none}.page-hero .button{font-size:12px;min-height:60px;padding:18px 22px;margin-top:28px}
.page-hero::after{width:92%;margin-left:8%;height:190px;border-radius:60px 0 0 0;background-position:60% 62%}
.page-layout{display:block}.prose{font-size:17px;line-height:1.95;max-width:none}.prose h2{font-size:36px;line-height:1.17;margin:56px 0 26px;padding-top:26px}.prose h2:first-child{margin-top:0;padding:0}.prose h3{font-size:30px;line-height:1.23;margin:36px 0 22px}.prose p+p{margin-top:24px}
.prose .callout,.role-note,.intervention-scope,.policy-contact{padding:26px 24px;border-radius:0;margin:32px 0}.prose .callout p,.role-note p,.intervention-scope p{font-size:16px;line-height:1.9}
.side-panel{position:static;padding:34px 28px;margin-top:56px;max-width:none;border-radius:0;box-shadow:9px 9px 0 #d9e1cc73}.side-panel h2{font-size:37px;line-height:1.1}.side-panel .eyebrow{font-size:9px;margin-bottom:26px}.side-panel p,.side-panel ul{font-size:15px;line-height:1.9}.side-panel .button{font-size:12px}.side-panel .text-link{font-size:12px}
.service-faq{margin-top:56px}.service-faq summary{font-size:16px;line-height:1.75;padding-block:26px}.service-faq details>div p{font-size:16px;line-height:1.9}
.related-section{padding:80px 0 88px;border-radius:0}.related-heading{gap:28px}.related-heading h2{font-size:45px;line-height:1.07}.related-links{grid-template-columns:1fr;gap:28px;margin-top:40px}.related-links>a{font-size:34px;line-height:1.12;min-height:145px;padding:28px 0;gap:24px;border-radius:0}.related-links>a:nth-child(n){margin-top:0}
.service-guide-link{padding:40px 0 48px}.service-guide-link>.container{font-size:12px;gap:20px}.service-guide-link .text-link{font-size:13px}
.legal-page .page-hero{padding-bottom:56px}.legal-page .page-hero-grid{padding-bottom:0}.legal-page .page-hero h1{font-size:48px}.legal-page .prose{font-size:17px;line-height:1.95}.legal-details>div{grid-template-columns:1fr;gap:10px;padding-block:22px}.legal-details dt{font-size:13px}.legal-details dd{font-size:16px}
.privacy-toc{padding:28px 0;margin:40px 0 48px;border-radius:0}.privacy-toc h2{font-size:34px;line-height:1.13;margin-bottom:26px}.privacy-toc ol{grid-template-columns:1fr;gap:0}.privacy-toc li{font-size:14px}.policy-table caption{font-size:12px;padding:18px}.policy-table th,.policy-table td{padding:18px}.policy-contact h3{font-size:30px}
.profile-subtitle{font-size:26px;line-height:1.5}.profile-monogram{width:90px;height:90px;font-size:38px}.site-privacy-note{padding:28px;width:calc(100% - 48px);margin-bottom:72px;border-radius:0}.site-privacy-note h2{font-size:35px;line-height:1.13}.site-privacy-note p{font-size:16px;line-height:1.9}
}
@media(max-width:380px){.page-hero h1,.legal-page .page-hero h1{font-size:40px}.prose h2{font-size:32px}.related-heading h2{font-size:40px}}
@media print{.page-hero{background:white;padding:20px 0}.page-hero::after{display:none}.page-hero-grid{display:block;padding:0}.page-hero h1{font-size:30pt}.page-layout{display:block}.prose{font-size:11pt}.prose h2{font-size:22pt;margin-top:28px}.prose h3{font-size:17pt}.side-panel,.related-section,.service-guide-link{display:none}}