:root{--forest:#253D32;--sage:#78866B;--stone:#B69B78;--ivory:#F1ECE3;--ink:#292C29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:17px/1.65 system-ui,sans-serif}a{color:var(--forest);text-underline-offset:5px}a:hover{text-decoration-thickness:2px}h1,h2,h3{line-height:1.12;letter-spacing:-.04em;font-weight:550}h1{font-size:clamp(2.5rem,5vw,5rem)}h2{font-size:clamp(2rem,3.4vw,3.5rem)}h3{font-size:1.4rem}p{max-width:65ch}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--forest);color:white;border:1px solid var(--forest);border-radius:3px;padding:12px 24px;text-decoration:none;font-weight:600}.button.light{background:var(--ivory);color:var(--forest);border-color:var(--ivory)}button:hover,.button:hover{filter:brightness(.92)}:focus-visible{outline:3px solid #755522;outline-offset:5px}.skip{position:absolute;top:-100px;z-index:5;padding:16px;background:white}.skip:focus{top:0}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 5vw;border-bottom:1px solid #c7c6b8}.brand{font-size:1.5rem;font-weight:650;text-decoration:none}.brand span{display:block;font-size:.75rem;letter-spacing:.02em;font-weight:400}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{font-size:.95rem}.nav-toggle{display:none}.hero{display:grid;grid-template-columns:1.15fr 1fr}.hero-story{position:relative;overflow:hidden;min-height:760px;background:var(--forest);color:var(--ivory);padding:70px 5vw;isolation:isolate}.hero-story h1{font-size:2.7rem}.hero-story h1 span{display:block;font-size:clamp(3rem,5vw,5.5rem);margin-top:50px}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.18em;font-weight:650}.landscape{position:absolute;inset:0;z-index:-1;opacity:.35;background:radial-gradient(ellipse at 85% 90%,#78866B 0%,transparent 60%),linear-gradient(150deg,transparent 40%,#B69B78 40.1%,transparent 85%)}.media-credit{position:absolute;bottom:18px;font-size:.7rem}.signup-panel{padding:55px 4vw;background:#faf8f3;scroll-margin-top:20px}.signup-panel h2{font-size:2rem}.signup-panel p{font-size:.9rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:1/-1}label{display:block;font-size:.9rem;font-weight:550;margin-top:12px}input:not([type=checkbox]):not([type=hidden]),select,textarea{width:100%;min-height:46px;padding:9px 12px;border:1px solid #777d71;border-radius:2px;background:white;color:var(--ink);font-size:1rem}textarea{resize:vertical}.check{display:flex;align-items:flex-start;gap:12px;margin:24px 0}.check input{margin-top:5px;flex:none;width:20px;height:20px;accent-color:var(--forest)}.small-note{font-size:.8rem;margin-top:18px}.validation,.field-validation-error{color:#922d1c}.validation ul{padding-left:20px}.input-validation-error{border:2px solid #922d1c!important}.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.section{padding:85px 7vw}.narrow{max-width:940px;margin:auto}.scene-grid,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.scene{min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;background:linear-gradient(145deg,#d5dacb,#d7c7ae)}.scene:nth-child(2){background:linear-gradient(40deg,#c4cdb9,#ead7bc)}.scene:nth-child(3){background:linear-gradient(165deg,#c4b396,#e8e3d9)}.scene span,.scene p{font-size:.8rem}.terrain{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#e3e3d5}.cards article{padding:25px;border-top:1px solid var(--forest)}.agenda{background:#e8e6dc}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.event{display:grid;grid-template-columns:220px 1fr;gap:25px;border-top:1px solid #a2aa9d;padding:24px 0}.event h2{font-size:1.5rem}.event p{margin:8px 0}.contact-finale{background:var(--forest);color:var(--ivory);padding:80px 7vw}.contact-finale h2{font-size:clamp(4rem,8vw,7rem)}footer{padding:50px 7vw}footer nav{display:flex;gap:24px;flex-wrap:wrap;margin:25px 0}footer p{font-size:.75rem}.footer-name{font-size:1.4rem;font-weight:600}.footer-name span{display:block;font-size:.8rem;font-weight:400}.news-body{white-space:pre-wrap;margin:30px 0}img{max-width:100%;height:auto}[hidden]{display:none!important}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-story{min-height:470px;padding:40px 7vw}.hero-story h1 span{margin-top:25px;font-size:3.2rem}.signup-panel{padding:40px 7vw}.site-header{flex-wrap:wrap}.site-header nav{gap:20px;flex-wrap:wrap}.scene-grid,.cards{grid-template-columns:1fr}.scene{min-height:220px}.terrain{grid-template-columns:1fr;gap:20px}.section{padding:55px 7vw}.event{grid-template-columns:1fr;gap:8px}}@media(max-width:600px){.brand{font-size:1.2rem}.brand span{font-size:.65rem}.nav-toggle{display:inline-flex;padding:8px 16px}.site-header nav{width:100%}.js .site-header nav:not(.open){display:none}.form-grid{grid-template-columns:1fr}.hero-story{min-height:430px}.hero-story h1{font-size:2rem}.hero-story h1 span{font-size:2.6rem}.section-top{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}video{display:none}}

.hero>* , .form-grid>* {min-width:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}input,select,textarea{min-width:0}.brand,.eyebrow{overflow-wrap:anywhere}@media(max-width:600px){.form-grid{grid-template-columns:minmax(0,1fr)}}

.validation-summary-valid{display:none}h1,h2,h3{overflow-wrap:anywhere}@media(max-width:600px){.contact-finale h2{font-size:3rem}}

.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;filter:brightness(.35)}.video-control{position:absolute;bottom:16px;right:20px;font-size:.8rem;background:var(--ivory);color:var(--forest)}

.nav-menu{display:none}@media(max-width:600px){.site-header #navigation{display:none}.nav-menu{display:block}.nav-menu summary{display:list-item;cursor:pointer;min-height:48px;background:var(--forest);color:white;padding:10px 22px;border-radius:3px}.nav-menu nav{padding:16px 0;display:flex;flex-direction:column;align-items:flex-start}.nav-menu nav a{min-height:44px}}

/* Direction Saumon & forêt, validée par le commanditaire. */
.form-errors{padding:18px 20px;border:2px solid var(--forest);margin-bottom:20px;scroll-margin-top:24px}
.form-errors h2{font-size:1.25rem;margin:0 0 12px}
.form-errors ul{margin:0}
.form-errors a{color:inherit}
.site-header nav a[aria-current="page"]{font-weight:750;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}
.hero-story :focus-visible,.contact-finale :focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #17241c}
:root{--salmon:#E6A18D;--rose-surface:#F4DCD3}
.button.light{background:var(--salmon);color:var(--forest);border-color:var(--salmon)}
.signup-panel{background:var(--rose-surface)}
.signup-panel button[type=submit]{background:var(--salmon);color:var(--forest);border-color:var(--forest)}
.hero-story{padding-bottom:135px}
.hero-story::after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(110deg,rgba(17,36,27,.86),rgba(17,36,27,.47))}
.hero-poster{position:absolute;inset:0;z-index:-3}
.hero-poster img{width:100%;height:100%;object-fit:cover}
.hero-video{z-index:-3;filter:none;opacity:0}
.hero-video.is-playing{opacity:1}
.hero-media-footer{position:absolute;bottom:24px;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hero-media-footer .media-credit{position:static;max-width:26ch;margin:0;padding:6px 10px;background:var(--forest);color:var(--ivory);font-size:.75rem}
.video-control{position:static;background:var(--salmon);color:var(--forest);border-color:var(--salmon);min-height:44px;padding:10px 16px}
.media-disclaimer{max-width:85ch}
.scene,.scene:nth-child(2),.scene:nth-child(3){min-height:0;display:block;padding:0;background:var(--rose-surface)}
.scene figure{position:relative;margin:0}
.scene img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.scene figcaption{position:absolute;bottom:12px;left:12px;background:var(--forest);color:var(--ivory);padding:5px 9px;font-size:.7rem}
.scene-copy{padding:22px 24px}
.scene-copy span{display:block;margin-bottom:10px}
.scene-copy h3{margin:0}
.terrain{align-items:center;background:#e3e3d5}
.terrain-photo{margin:0}
.terrain-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.terrain-photo figcaption{font-size:.75rem;margin-top:10px}
.contact-finale{position:relative;isolation:isolate;overflow:hidden;min-height:370px}
.contact-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-3}
.contact-finale::after{content:"";position:absolute;inset:0;z-index:-2;background:rgba(17,36,27,.82)}
.contact-finale-copy{position:relative}
.contact-finale .small-note{background:var(--forest);display:inline-block;padding:5px 10px;margin:25px 0 0}
@media(max-width:900px){.hero-story{padding-bottom:120px}.hero-media-footer{left:7vw;right:7vw}.terrain{gap:35px}.terrain-photo{order:2}}
@media(max-width:600px){.hero-story{min-height:500px;padding-bottom:130px}.hero-media-footer{bottom:18px;gap:10px}.hero-media-footer .media-credit{font-size:.7rem}.video-control{font-size:.75rem}.contact-finale{min-height:330px}.scene-copy{padding:22px}.terrain-photo img{aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.video-control{display:none}}

/* Organisation Panorama & bandeau, validée par le commanditaire. */
.hero{display:block}
.hero-story{min-height:580px;padding:48px 7vw 115px}
.hero-story h1{max-width:1100px;font-size:2rem}
.hero-story h1 span{font-size:clamp(3rem,4.8vw,5.8rem);margin-top:24px}
.hero-media-footer{left:7vw;right:7vw}
.signup-panel{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(0,2fr);align-items:center;gap:40px;padding:35px 7vw}
.signup-intro h2{font-size:2rem}
.signup-intro>p:last-child{margin:18px 0 0;font-size:.85rem}
.signup-intro .eyebrow{margin-bottom:14px}
.signup-panel form{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.42fr);grid-template-areas:"validation validation" "fields actions" "consent consent" "error error";gap:0 24px;min-width:0}
.signup-panel .validation{grid-area:validation}
.signup-panel .form-grid{grid-area:fields;gap:8px 18px}
.signup-panel .form-grid label{margin-top:0}
.signup-actions{grid-area:actions;align-self:center}
.signup-actions button{width:100%}
.signup-actions .small-note{font-size:.75rem;margin:12px 0 0}
.signup-panel .check{grid-area:consent;margin:20px 0 0;font-size:.85rem}
.signup-panel #consent-error{grid-area:error}
.subscription-progress{grid-column:1/-1;margin:14px 0 0}
.territory-explorer{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);background:#faf8f3;border:1px solid #d5d6c9;align-items:start}
.territory-map-panel{min-width:0;padding:28px 30px 20px}
.map-intro .eyebrow{color:var(--forest)}
.map-intro p{font-size:.9rem;margin:8px 0 0}
.territory-map{display:block;width:100%;height:auto;overflow:visible;margin:8px auto}
.map-commune{cursor:pointer;outline:none;transform-box:fill-box;transform-origin:center;transition:transform .2s ease}
.map-commune path{fill:#d9e0d2;stroke:#faf8f3;stroke-width:2;stroke-linejoin:round;transition:fill .2s ease;vector-effect:non-scaling-stroke}
.map-commune:nth-of-type(3n) path{fill:#c5d0bd}
.map-commune:hover path{fill:#b3c1a7;stroke:var(--forest)}
.map-labels{pointer-events:none}.map-label{fill:var(--forest);font-size:14px;font-weight:600;text-anchor:middle;paint-order:stroke;stroke:#faf8f3;stroke-width:3px;stroke-linejoin:round}.map-label.is-selected{font-weight:750}
.map-selection{fill:var(--salmon);stroke:var(--forest);stroke-width:2.5;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;transform-box:fill-box;transform-origin:center;transform:scale(1.035)}
.is-interactive .map-commune.is-selected{transform:scale(1.035)}
.map-commune.is-selected path{fill:var(--salmon);stroke:var(--forest);stroke-width:2.5}
.map-commune:focus-visible path{stroke:#755522;stroke-width:4}
.map-north path{fill:none;stroke:var(--forest);stroke-width:2}.map-north text{text-anchor:middle;fill:var(--forest);font-size:14px;font-weight:600}
.map-picker{max-width:350px;margin-top:18px}.map-picker label{font-size:.8rem;margin:0 0 6px}
.map-legend{display:flex;gap:24px;flex-wrap:wrap;font-size:.75rem;color:var(--forest)}
.map-legend span{display:flex;align-items:center;gap:8px}.map-legend i{width:13px;height:13px;border:1px solid var(--forest);background:#d9e0d2}.map-legend span:last-child i{background:var(--salmon)}
.map-source{font-size:.65rem;line-height:1.5;margin:16px 0 0;color:#555e54}
.territory-details{background:var(--forest);color:var(--ivory);min-width:0;align-self:stretch}
.commune-card{padding:40px 32px;scroll-margin-top:24px}.commune-card+.commune-card{border-top:1px solid var(--sage)}
.commune-card .eyebrow{color:var(--salmon);margin-bottom:20px}.commune-card h3{font-size:clamp(1.8rem,2.6vw,2.7rem);margin:0 0 35px;overflow-wrap:break-word}
.commune-budget-label{font-size:.75rem;margin-bottom:8px}.commune-budget{font-size:clamp(2.8rem,4.2vw,4.5rem);line-height:1.05;font-weight:600;letter-spacing:-.04em;color:var(--salmon);margin:0}.commune-budget span{font-size:.65em}.commune-period{font-size:.75rem;margin:12px 0 28px}
.commune-categories{border-top:1px solid #738479;padding-top:24px}.commune-categories h4{font-size:.8rem;font-weight:400;margin-bottom:18px}.commune-categories ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}.commune-categories li{display:flex;align-items:center;gap:8px;border:1px solid #839589;border-radius:30px;padding:9px 14px;font-size:.8rem}.category-mark{color:var(--salmon)}
.commune-card-note{font-size:.75rem;line-height:1.6;color:#e0e4dc;margin:32px 0 0}
@media(max-width:900px){.territory-explorer{grid-template-columns:1fr}.territory-map-panel{padding:24px}.territory-map{max-width:600px}.map-picker{max-width:none}.commune-card{padding:30px}.commune-card h3{margin-bottom:24px}.commune-budget{font-size:3.4rem}}
@media(max-width:600px){.territory-map-panel{padding:20px 14px}.map-intro p{font-size:.8rem}.map-label{display:none}.map-label.is-selected{display:block;font-size:30px;stroke-width:6px}.territory-map{margin:4px auto;max-height:380px}.map-legend{gap:12px;font-size:.7rem}.commune-card{padding:28px 22px}.commune-card h3{font-size:1.8rem}.commune-budget{font-size:3.1rem}.map-picker{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.map-commune,.map-commune path{transition:none}.is-interactive .map-commune.is-selected,.map-selection{transform:none}}
@media(min-width:1500px){.hero-story{min-height:620px}}
@media(max-width:1000px){.signup-panel{grid-template-columns:1fr;gap:24px}.signup-intro h2 br{display:none}.signup-intro>p:last-child{max-width:70ch;margin-top:12px}}
@media(max-width:600px){.hero-story{min-height:530px;padding:34px 7vw 130px}.hero-story h1{font-size:1.8rem}.hero-story h1 span{font-size:2.5rem;margin-top:20px}.signup-panel{padding:32px 7vw;gap:22px}.signup-panel form{grid-template-columns:1fr;grid-template-areas:"validation" "fields" "consent" "error" "actions";gap:0}.signup-panel .form-grid{gap:12px}.signup-actions{margin-top:22px}.signup-actions button{width:auto;min-width:170px}.signup-actions .small-note{max-width:45ch}.signup-panel .check{margin-top:20px}}

/* Présentation du mandat et bilan associatif, sans chiffres non confirmés. */
.introduction-lead{font-size:1.1rem;margin-top:28px}
.introduction-signature{font-weight:600;color:var(--forest);margin:26px 0 22px}
.presentation-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.presentation-actions>a:last-child{font-size:.9rem}
.association-support{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;background:var(--rose-surface);align-items:center;scroll-margin-top:24px}
.support-heading>p:last-child{margin-top:25px;max-width:50ch}
.support-summary{padding:30px 0 30px 35px;border-left:2px solid var(--forest)}
.support-status{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);font-weight:600;margin-bottom:18px}
.support-summary h3{font-size:1.55rem;line-height:1.2;margin-bottom:18px}
.support-summary .small-note{margin-bottom:0}
@media(max-width:900px){.association-support{grid-template-columns:1fr;gap:25px}.support-summary{padding:25px 0 0;border-left:0;border-top:2px solid var(--forest)}.presentation-actions{gap:18px}.terrain-photo{order:2}}

.support-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0 0}
.support-stats>div:first-child{grid-column:1/-1}
.support-stats dt{font-size:.8rem;font-weight:500}
.support-stats dd{font-size:2.5rem;line-height:1.1;letter-spacing:-.04em;color:var(--forest);margin:8px 0 0;font-weight:600}
.support-stats>div:first-child dd{font-size:clamp(2.5rem,4vw,4rem)}
.support-directory{grid-column:1/-1;min-width:0}
.support-filter{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.support-filter label{margin:0}
.support-filter select{width:300px;max-width:100%}
.support-filter .small-note{margin:0}
.support-communes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.commune-support{background:var(--ivory);color:var(--forest);border-top:2px solid var(--forest)}
.commune-support summary{padding:18px 20px;cursor:pointer;min-height:86px}
.commune-support summary>span{font-weight:600;font-size:1rem}
.commune-support summary>small{display:block;margin:6px 0 0 16px;font-size:.75rem}
.commune-support ul{list-style:none;margin:0;padding:0 20px 20px}
.commune-support li{padding-top:16px;border-top:1px solid #a2aa9d}
.commune-support h3{font-size:1.2rem;line-height:1.25;margin:0 0 12px}
.commune-support p{font-size:.85rem;margin-bottom:12px}
.commune-support .association-amount{font-weight:600;margin-bottom:0}
@media(max-width:1100px){.support-communes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.support-communes{grid-template-columns:1fr}.support-filter{display:block}.support-filter select{width:100%;margin:8px 0 12px}.support-stats dd{font-size:2rem}.association-support{gap:22px}}

/* Actualités photographiques et footer Saumon & forêt. */
.terrain-stories{scroll-margin-top:24px}
.terrain-stories-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px}
.terrain-stories-grid .terrain-story{position:relative;min-width:0;padding:0;border:0;background:#faf8f3;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}
.terrain-story>img{width:100%;height:100%;object-fit:cover;min-height:180px}
.terrain-story-copy{padding:26px;min-width:0}
.terrain-story-meta{font-size:.75rem;color:var(--forest);margin:0 0 14px;letter-spacing:.02em}
.terrain-story-meta span{padding:0 4px}
.terrain-story h3{font-size:1.4rem;line-height:1.2;margin:0 0 16px}
.terrain-story h3 a{text-decoration:none}
.terrain-story h3 a:hover{text-decoration:underline}
.terrain-story-copy>p:not(.terrain-story-meta){font-size:.9rem;margin:0 0 18px}
.terrain-story-arrow{display:block;color:var(--forest);font-size:.8rem;font-weight:600}
.terrain-stories-grid .terrain-story:first-child{grid-row:span 2;display:flex;flex-direction:column}
.terrain-story:first-child>img{height:auto;aspect-ratio:3/2}
.terrain-story:first-child h3{font-size:clamp(1.65rem,2.4vw,2.4rem)}
.terrain-story:first-child .terrain-story-copy{padding:30px}
.site-footer{background:var(--forest);color:var(--ivory);padding:64px 7vw 24px}
.site-footer a{color:var(--ivory)}
.site-footer a:focus-visible{outline-color:var(--salmon)}
.footer-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:48px;padding-bottom:48px}
.site-footer .footer-name{display:inline-block;font-size:clamp(1.7rem,2.5vw,2.4rem);text-decoration:none;line-height:1.2}
.footer-identity p,.footer-contact p{font-size:.9rem;line-height:1.8;margin:18px 0 24px}
.site-footer h2{color:var(--salmon);font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;line-height:1.5;margin:0 0 20px}
.site-footer .footer-explore{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0}
.footer-explore a{font-size:.9rem;display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.footer-explore a:hover,.footer-subscribe:hover{text-decoration:underline}
.site-footer .button.light{color:var(--forest)}
.footer-subscribe{display:block;width:fit-content;margin-top:14px;padding:10px 0;font-size:.85rem}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid #788d80;padding-top:20px}
.footer-bottom p{margin:0;font-size:.75rem}
.site-footer .footer-bottom nav{display:flex;gap:8px 20px;flex-wrap:wrap;margin:0}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:.75rem}
.site-footer .footer-preview{font-size:.75rem;margin:12px 0 0}
@media(max-width:1100px){.terrain-stories-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.terrain-stories-grid .terrain-story:not(:first-child){display:block}.terrain-story:not(:first-child)>img{height:auto;aspect-ratio:2/1}.footer-main{gap:28px}}
@media(max-width:700px){.terrain-stories-grid{grid-template-columns:1fr}.terrain-stories-grid .terrain-story:first-child{grid-row:auto}.terrain-stories-grid .terrain-story:not(:first-child){display:grid;grid-template-columns:1fr}.terrain-story:not(:first-child)>img{aspect-ratio:2/1}.terrain-story:first-child .terrain-story-copy,.terrain-story-copy{padding:24px}.footer-main{grid-template-columns:1fr;gap:32px;padding-bottom:32px}.site-footer{padding-top:44px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.site-footer .footer-bottom nav{gap:0 18px}.footer-identity p{margin-bottom:0}.footer-contact p{margin-top:0}}
.permanence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1.5rem}.permanence-card{background:#fff;border:1px solid #ccc4b9;border-radius:16px;padding:clamp(1rem,3vw,2rem);scroll-margin-top:2rem;min-width:0}.permanence-home{background:#f4dcd3}.permanence-list{display:grid;gap:2rem}.permanence-list>.permanence-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem}.permanence-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.permanence-actions button{font:inherit;cursor:pointer}.permanence-map iframe{display:block;border:0;width:100%;height:330px;border-radius:10px}.permanence-reminder{padding:1.5rem;border-radius:12px;background:#f1ece3}.permanence-reminder input[type=email]{width:100%;min-height:44px}.permanence-consent{display:flex;gap:.75rem;align-items:start;margin:1rem 0}.permanence-consent input{flex:0 0 auto;margin-top:.4rem}.permanence-notice{padding:1rem;border-left:4px solid #9d412b;background:#f4dcd3}.permanence-reminder button:disabled{opacity:.65;cursor:not-allowed}@media(max-width:800px){.permanence-list>.permanence-card{grid-template-columns:1fr}.permanence-actions .button{width:100%;text-align:center}.permanence-map iframe{height:280px}}
.session-consent{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 7vw;border-top:1px solid #ccc4b9;background:var(--ivory)}
.session-consent-copy{min-width:0;max-width:75ch}
.session-consent h2{font-size:1.1rem;letter-spacing:0;line-height:1.3;margin:0 0 6px}
.session-consent p{font-size:.9rem;line-height:1.5;margin:0 0 8px;max-width:none}
.session-consent summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-size:.9rem;text-decoration:underline;text-underline-offset:4px}
.session-consent details a{font-size:.9rem}
.session-consent-actions{display:flex;gap:12px;flex-shrink:0}
.session-consent-actions .button{width:128px;font:inherit;font-weight:600;cursor:pointer;border-color:var(--forest)}
.session-consent-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:900px){.session-consent{flex-direction:column;gap:12px}.session-consent-actions{width:100%}.session-consent-actions .button{flex:1;width:auto;min-width:0;padding:12px}}
.permanence-trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.permanence-actions .secondary{background:transparent;color:var(--forest)}
/* Profondeur au défilement : aucun mouvement sans activation JS, sur mobile ou avec réduction des animations. */
.terrain-story-media{position:relative;overflow:hidden;min-height:180px}.terrain-story-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.terrain-story:first-child>.terrain-story-media{flex:0 0 auto;aspect-ratio:3/2;min-height:0}.hero-story.parallax-active .hero-poster,.hero-story.parallax-active .hero-video{transform:translate3d(0,var(--parallax-media-y,0px),0) scale(1.16);will-change:transform}.hero-story.parallax-active .hero-copy{transform:translate3d(0,var(--parallax-copy-y,0px),0)}.hero-story.parallax-active .hero-copy h1{opacity:var(--parallax-copy-opacity,1)}.terrain-story-media.parallax-active img{transform:translate3d(0,var(--parallax-photo-y,0px),0) scale(1.12);will-change:transform}@media(max-width:1100px){.terrain-story:not(:first-child)>.terrain-story-media{aspect-ratio:2/1;min-height:0}}@media(max-width:900px),(prefers-reduced-motion:reduce){.hero-story.parallax-active .hero-poster,.hero-story.parallax-active .hero-video,.hero-story.parallax-active .hero-copy,.terrain-story-media.parallax-active img{transform:none;will-change:auto}.hero-story.parallax-active .hero-copy h1{opacity:1}}
:root{--forest:#253D32;--sage:#78866B;--stone:#B69B78;--ivory:#F1ECE3;--ink:#292C29}
/* Portrait fourni : à côté de la présentation, puis au-dessus sur mobile. */
.terrain-introduction{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);scroll-margin-top:24px}
.portrait-feature{width:100%;max-width:420px;margin:0 auto;padding:24px 20px 0;border:1px solid var(--forest);border-radius:6px;background:var(--ivory);box-shadow:10px 10px 0 var(--salmon);overflow:hidden}
.portrait-feature img{display:block;width:100%;height:auto}
.introduction-copy{min-width:0}
.introduction-copy h2{margin-top:0}
@media(max-width:900px){.terrain-introduction{grid-template-columns:minmax(0,1fr);gap:40px}.portrait-feature{max-width:360px}}
@media(max-width:600px){.portrait-feature{padding:16px 14px 0;box-shadow:8px 8px 0 var(--salmon)}}
.featured-questions{background:#e7e1d6}.question-card{background:var(--ivory);padding:24px;border-radius:4px}.question-card h3 a{text-decoration:none}.question-card h3 a:hover{text-decoration:underline}.news-video{padding:28px 0;border-top:1px solid #b8b0a3}
