/* Culture Bénin — magazine culturel x encyclopédie du patrimoine
   Vert profond (ancrage) · Sable chaud (patrimoine) · Ivoire (lecture) · Terracotta (vitalité) · Or doux (valeur) */
:root{
  --green:#0B5D43;--green-d:#08432F;--green-50:#EAF2EE;
  --sand:#E6D6B5;--sand-50:#F5EEDF;--ivory:#FFF9F2;--paper:#FFFFFF;
  --coral:#D15A3A;--coral-d:#B4472A;--gold:#D4A94F;--gold-d:#B88B2F;
  --ink:#1E2621;--ink-2:#3E4A43;--muted:#6E776F;--line:#EADFCB;
  --display:"Playfair Display",Georgia,"Times New Roman",serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:16px;--r-sm:12px;--sh:0 1px 2px rgba(30,38,33,.05),0 8px 24px rgba(30,38,33,.06);--sh-h:0 2px 4px rgba(30,38,33,.06),0 16px 36px rgba(30,38,33,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--green)}a:hover{color:var(--green-d)}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
@media(max-width:520px){.wrap{width:calc(100% - 32px)}}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:#fff;padding:8px 12px;z-index:50}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.18;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:700;margin:.15em 0 .3em}
h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;margin:1.7em 0 .55em}
h3{font-size:1.25rem;margin:1.4em 0 .4em}
.i{flex:none;vertical-align:middle}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:12px 22px;font:600 .95rem var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-coral{background:var(--coral);color:#fff}.btn-coral:hover{background:var(--coral-d);color:#fff}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green-d);color:#fff}
.btn-gold{background:var(--gold);color:var(--ink)}.btn-gold:hover{background:#E2BA62;color:var(--ink)}
.btn-ghost{border-color:rgba(255,255,255,.8);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-outline{border-color:var(--green);color:var(--green)}.btn-outline:hover{background:var(--green-50)}
.btn-sm{padding:9px 16px;font-size:.88rem}
.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.icon-btn:hover{border-color:var(--green);color:var(--green)}
.pill,.tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.pill{background:#F3E3B9;color:var(--green-d);padding:7px 14px;font-size:.8rem;text-decoration:none}
.tag{background:var(--sand-50);color:var(--green);padding:4px 10px;font-size:.7rem}
.tag-sm{font-size:.66rem;padding:3px 8px}
.eyebrow{margin:0;color:var(--gold);font:700 .78rem var(--sans);letter-spacing:.14em;text-transform:uppercase}

/* ---------- header */
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,249,242,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;gap:28px;min-height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo-mark{width:44px;height:44px;flex:none}
.brand-sep{width:2px;height:34px;background:var(--gold);border-radius:2px}
.brand-txt{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font:700 1.45rem var(--display);color:var(--green)}
.brand-tag{font:600 .6rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-top:4px}
.nav{display:flex;align-items:center;gap:6px 26px;margin-left:auto;font:500 .93rem var(--sans)}
.nav>a,.dd-btn{color:var(--ink);text-decoration:none;padding:8px 0;border:0;border-bottom:2px solid transparent;background:none;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.nav>a:hover,.nav>a[aria-current],.dd-btn:hover{color:var(--green);border-color:var(--gold)}
.dd{position:relative}
.dd-menu{position:absolute;top:calc(100% + 12px);left:-20px;width:330px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-h);padding:8px;display:none}
.dd.open .dd-menu{display:block}
.dd-menu a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:.92rem}
.dd-menu a:hover,.dd-menu a[aria-current]{background:var(--green-50);color:var(--green)}
.dd-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--sand-50);color:var(--coral)}
.hd-act{display:flex;align-items:center;gap:10px}
.menu-btn{display:none}
@media(max-width:1080px){
  .hd{gap:14px;min-height:66px}.hd-cta{display:none}.menu-btn{display:inline-grid}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ivory);border-bottom:1px solid var(--line);padding:10px 20px 18px;flex-direction:column;align-items:stretch;gap:0}
  .nav.open{display:flex}.nav>a,.dd-btn{padding:12px 0;border-bottom:1px solid var(--line)}
  .dd-menu{position:static;width:auto;box-shadow:none;border:0;padding:4px 0}
  .hd-act{margin-left:auto}
}
@media(max-width:420px){.brand-tag{display:none}.brand-name{font-size:1.25rem}.logo-mark{width:38px;height:38px}}

/* ---------- recherche */
.search-layer{position:fixed;inset:0;z-index:60;background:rgba(8,40,28,.55);display:grid;place-items:start center;padding:10vh 16px 16px}
.search-box{width:min(680px,100%);background:#fff;border-radius:var(--r);box-shadow:var(--sh-h);overflow:hidden}
.search-row{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line);color:var(--muted)}
.search-row input{flex:1;border:0;font:500 1.05rem var(--sans);padding:10px 0;outline:none;color:var(--ink);background:transparent}
.search-res{list-style:none;margin:0;padding:6px;max-height:60vh;overflow:auto}
.search-res a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.search-res a:hover,.search-res a:focus{background:var(--green-50)}
.search-res small{display:block;color:var(--muted);font-size:.85rem}
.search-res b{color:var(--green)}

/* ---------- fil d'Ariane */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0;font-size:.85rem;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.crumbs a:hover{color:var(--green)}
.crumbs [aria-current]{color:var(--ink)}

/* ---------- home hero */
.home-hero{padding:8px 0 0}
.hero-card{position:relative;border-radius:22px;overflow:hidden;min-height:480px;display:flex;align-items:center;background:var(--green-d)}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-card::before{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(8,67,47,.96) 0%,rgba(8,67,47,.82) 38%,rgba(8,67,47,.25) 72%,rgba(8,67,47,.05) 100%)}
.hero-in{position:relative;padding:56px clamp(24px,5vw,64px);max-width:720px;color:#fff}
.hero-in h1{color:#FFF6E6;font-size:clamp(2.2rem,4.8vw,3.6rem)}
.hero-in .eyebrow{display:flex;align-items:center;gap:12px}
.hero-in .eyebrow::after{content:"";width:46px;height:2px;background:var(--gold)}
.hero-in p.lead{color:#E9F1EC;font-size:1.08rem;max-width:560px}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.hero-credit{position:absolute;right:14px;bottom:10px;margin:0;font-size:.7rem;color:rgba(255,255,255,.75)}
.hero-credit a{color:inherit}
@media(max-width:700px){.hero-card{min-height:0;border-radius:18px}.hero-card::before{background:linear-gradient(180deg,rgba(8,67,47,.55) 0%,rgba(8,67,47,.95) 60%)}.hero-in{padding:120px 22px 40px}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-top:-1px;box-shadow:var(--sh)}
.stat{display:flex;align-items:center;gap:14px;padding:20px 24px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat .i{color:var(--gold-d)}
.stat b{display:block;font:700 1.35rem var(--display);color:var(--ink);line-height:1.1}
.stat span{font-size:.82rem;color:var(--muted)}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}
.section{padding:56px 0}
.section-head{max-width:760px;margin-bottom:22px}
.section-head h2{margin:0 0 .2em}
.section-head p{margin:0;color:var(--muted)}

/* ---------- cartes */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.cards-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.cards-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cards-4{grid-template-columns:1fr}}
.card,.rub-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--sh);transition:transform .18s,box-shadow .18s}
.card:hover,.rub-card:hover{transform:translateY(-3px);box-shadow:var(--sh-h);color:var(--ink)}
.card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--sand)}
.card-photo,.mini-photo,.gal-photo,.daily-photo,.promo-photo{width:100%;height:100%;object-fit:cover}
.card-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 20px}
.card-title{font:700 1.13rem/1.28 var(--display)}
.card-desc{font-size:.9rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rub-grid,.home-rubs{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.rub-grid,.home-rubs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.rub-grid,.home-rubs{grid-template-columns:1fr}}
.rub-card .card-img{aspect-ratio:16/9}
.rub-row{display:flex;align-items:center;gap:12px;padding:14px 16px}
.rub-ico{color:var(--gold-d)}
.rub-name{flex:1;font:700 1.02rem/1.25 var(--display)}
.rub-name small{display:block;font:500 .78rem var(--sans);color:var(--muted);margin-top:3px}
.go{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);color:var(--ink-2);flex:none}
.rub-card:hover .go{background:var(--green);border-color:var(--green);color:#fff}
.ph{background:repeating-linear-gradient(135deg,var(--sand-50) 0 14px,var(--sand) 14px 15px)}

/* ---------- fiche du jour */
.daily{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;background:linear-gradient(120deg,#FFF6E8,#F8EBD3);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--sh)}
.daily-txt{padding:40px clamp(22px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:12px}
.badge{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:var(--coral);color:#fff;border-radius:8px;padding:6px 12px;font:700 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase}
.daily-txt h2{margin:0;font-size:clamp(1.6rem,3vw,2.3rem)}
.daily-txt p{margin:0;color:var(--ink-2)}
.daily-txt .btn{align-self:flex-start;margin-top:6px}
.daily-media{min-height:280px;position:relative}
.daily-media img,.daily-media .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:820px){.daily{grid-template-columns:1fr}.daily-media{min-height:220px;order:-1}}

/* ---------- duo FAQ + guides */
.duo{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:stretch}
@media(max-width:900px){.duo{grid-template-columns:1fr}}
.panel{background:var(--green-50);border:1px solid #D3E4DA;border-radius:22px;padding:28px}
.panel h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:1.6rem}
.promo{position:relative;border-radius:22px;overflow:hidden;background:#FFF3DF;border:1px solid var(--line);display:grid;grid-template-columns:1.1fr .9fr}
.promo-txt{padding:30px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.promo-txt h2{margin:0;font-size:1.65rem}
.promo-txt p{margin:0;color:var(--ink-2);font-size:.95rem}
.promo-txt .btn{align-self:flex-start;margin-top:8px}
.promo-media{position:relative;min-height:220px}
.promo-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:560px){.promo{grid-template-columns:1fr}.promo-media{order:-1;min-height:180px}}

/* ---------- FAQ */
.faq h2{display:flex;align-items:center;gap:10px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);margin:10px 0}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-weight:600;padding:14px 18px;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-plus{color:var(--coral);transition:transform .2s}
.faq-item[open] .faq-plus{transform:rotate(45deg)}
.faq-a{padding:0 18px 6px;color:var(--ink-2)}

/* ---------- fiche : hero */
.fiche-hero{position:relative;background:var(--green-d);color:#fff;overflow:hidden;min-height:400px;display:flex;flex-direction:column;justify-content:flex-end}
.fh-media{position:absolute;inset:0}
.fh-photo{width:100%;height:100%;object-fit:cover}
.fiche-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(8,67,47,.97) 0%,rgba(8,67,47,.86) 34%,rgba(8,67,47,.35) 66%,rgba(8,67,47,.1) 100%)}
.fiche-hero::after{content:"";position:absolute;left:0;top:0;width:150px;height:150px;z-index:1;background:linear-gradient(135deg,var(--gold) 0 18%,transparent 18.5%)}
.fh-inner{position:relative;z-index:2;padding:64px 0 40px}
.fh-inner h1{color:#FFF6E6;max-width:760px;margin:.4em 0 .25em}
.fh-inner h1::after{content:"";display:block;width:70px;height:3px;background:var(--gold);margin-top:14px;border-radius:2px}
.fh-sub{max-width:600px;font-size:1.08rem;color:#E9F1EC;margin:0 0 18px}
.fh-meta{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.92rem}
.hero-meta-i{display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none}
a.hero-meta-i:hover{color:var(--gold)}
.share-btn{position:absolute;right:0;bottom:40px;width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:var(--green);display:grid;place-items:center;cursor:pointer;box-shadow:var(--sh)}
.fh-credit{position:relative;z-index:2;margin:0 auto 10px;font-size:.7rem;color:rgba(255,255,255,.7);text-align:right}
.fh-credit a{color:inherit}
@media(max-width:700px){.fiche-hero{min-height:0}.fiche-hero::before{background:linear-gradient(180deg,rgba(8,67,47,.45) 0%,rgba(8,67,47,.95) 55%)}.fh-inner{padding-top:150px}.share-btn{bottom:auto;top:20px}.fiche-hero::after{width:90px;height:90px}}
.hub-hero{min-height:340px}

/* ---------- fiche : grille */
.fiche-grid,.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start;padding-top:36px}
@media(max-width:1000px){.fiche-grid,.page-grid{grid-template-columns:1fr;gap:28px}}
.fiche-body{min-width:0;max-width:760px}
.fiche-body p,.fiche-body li{color:var(--ink-2)}
.fiche-body>h2:first-of-type{margin-top:1.1em}
.lead-quote{border-left:4px solid var(--green);padding:4px 0 4px 20px;margin:0 0 8px;font-style:italic;font-size:1.13rem;color:var(--ink)!important}
.fiche-body ul,.fiche-body ol{padding-left:1.25em}
.fiche-body ul.checks{list-style:none;padding:0}
.fiche-body ul.checks li{position:relative;padding-left:32px;margin:8px 0}
.fiche-body ul.checks li::before{content:"";position:absolute;left:0;top:.28em;width:20px;height:20px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center/13px no-repeat}
.table-wrap{overflow-x:auto;margin:1.2em 0;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.fiche-body table{width:100%;border-collapse:collapse;font-size:.93rem}
.fiche-body th,.fiche-body td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.fiche-body thead th{background:var(--sand-50);font-weight:600;color:var(--ink)}
.fiche-body tr:last-child td{border-bottom:0}
.callout{position:relative;display:flex;gap:16px;background:#FCF1DA;border:1px solid #EFD9A8;border-radius:var(--r);padding:20px 22px;margin:1.6em 0;overflow:hidden}
.callout::after{content:"";position:absolute;right:-10px;bottom:-10px;width:90px;height:90px;opacity:.35;background:repeating-linear-gradient(45deg,transparent 0 8px,var(--gold) 8px 9px),repeating-linear-gradient(-45deg,transparent 0 8px,var(--gold) 8px 9px)}
.callout-ico{color:var(--gold-d)}
.callout-txt p{margin:.2em 0}
.callout-txt strong:first-child{font-family:var(--display);font-size:1.12rem;color:var(--green)}
.partner{background:var(--green-50);border:1px solid #CFE3D6;border-radius:var(--r);padding:18px 20px;margin:1.6em 0}
.partner-label{font-size:.72rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--green)!important;margin:0 0 4px}
.sources{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:6px 22px 14px;margin-top:28px;font-size:.92rem}
.sources h2{display:flex;align-items:center;gap:10px;font-size:1.2rem;margin:.9em 0 .4em;color:var(--green)}
.sources ul{margin:0;padding-left:1.2em}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.pn{display:flex;align-items:center;gap:14px;padding:16px 20px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.pn small{display:block;font-weight:400;color:var(--muted);font-size:.8rem}
.pn.next{justify-content:flex-end;text-align:right;border-left:1px solid var(--line)}
.pn:hover{color:var(--green)}
@media(max-width:560px){.prevnext{grid-template-columns:1fr}.pn.next{border-left:0;border-top:1px solid var(--line)}}

/* ---------- fiche : colonne */
.fiche-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
@media(max-width:1000px){.fiche-side{position:static}}
.side-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;box-shadow:var(--sh)}
.side-title{display:flex;align-items:center;gap:10px;font:700 1.25rem/1.2 var(--display);color:var(--ink);margin:0 0 12px}
.side-title .i{color:var(--gold-d)}
.facts-wrap{display:grid;grid-template-columns:1fr 92px;gap:10px;align-items:start}
.facts dl{margin:0}
.fact{display:grid;grid-template-columns:1fr;gap:2px;padding:7px 0;border-top:1px solid var(--line)}
.fact:first-child{border-top:0}
.fact dt{font-size:.75rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.fact dd{margin:0;font-size:.92rem;font-weight:500}
.facts-map{padding-top:4px}
.bj-map{width:100%;height:auto;display:block}
.bj-map .dep{fill:#EFE3C8;stroke:#fff;stroke-width:1.2;transition:fill .15s}
.bj-map .dep.on{fill:var(--gold)}
.bj-map a:hover .dep,.bj-map a:focus .dep{fill:var(--green)}
.bj-map .pin path{fill:var(--coral)}.bj-map .pin circle{fill:#fff}
.bj-big{max-width:300px;margin-inline:auto}
.toc{background:var(--green-50);border-color:#D3E4DA}
.toc ol{list-style:none;margin:0;padding:0 0 0 6px;border-left:2px solid #C5DCCD}
.toc li{position:relative;padding:5px 0 5px 16px;font-size:.92rem}
.toc li::before{content:"";position:absolute;left:-7px;top:12px;width:12px;height:12px;border-radius:50%;background:#C5DCCD;border:2px solid var(--green-50)}
.toc li:first-child::before{background:var(--green)}
.toc a{color:var(--ink-2);text-decoration:none}.toc a:hover{color:var(--green)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gal figure{margin:0}.gal img{aspect-ratio:1;border-radius:10px}
.gal figcaption{display:none}
.minis{display:flex;flex-direction:column;gap:12px}
.mini{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;text-decoration:none;color:var(--ink)}
.mini-photo{aspect-ratio:4/3;border-radius:10px}
.mini .ph{aspect-ratio:4/3;border-radius:10px}
.mini-title{display:block;font:700 .98rem/1.25 var(--display);margin-bottom:6px}
.mini:hover .mini-title{color:var(--green)}
.cta-box{position:relative;background:var(--green);color:#fff;border-radius:var(--r);padding:24px 22px;overflow:hidden}
.cta-box::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;border:14px solid rgba(212,169,79,.35)}
.cta-title{font:700 1.3rem/1.25 var(--display);margin:0 0 8px;color:#FFF6E6}
.cta-box p{color:#DCEAE2;font-size:.92rem}
.more-sec{padding-top:40px}

/* ---------- hubs et pages */
.hub{padding-top:36px}
.hub-map{display:grid;place-items:center;margin-bottom:24px}
.hub-body{max-width:780px}
.page-head{padding:20px 0 0}
.page-head h1{margin-bottom:0}
.page-sub{color:var(--muted);max-width:720px}

/* ---------- footer */
.site-footer{background:var(--green-d);color:#CFE0D6;margin-top:72px;font-size:.93rem;padding-bottom:20px}
.ft-band{height:46px;background:
  linear-gradient(135deg,transparent 0 30%,rgba(212,169,79,.5) 30% 34%,transparent 34% 66%,rgba(212,169,79,.5) 66% 70%,transparent 70%) 0 0/46px 46px,
  linear-gradient(45deg,transparent 0 30%,rgba(212,169,79,.5) 30% 34%,transparent 34% 66%,rgba(212,169,79,.5) 66% 70%,transparent 70%) 0 0/46px 46px,var(--green)}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding:44px 0 10px}
.brand-light .brand-name{color:#FFF6E6}.brand-light .brand-tag{color:#CFE0D6}
.ft-brand p{margin-top:16px;max-width:340px}
.ft-title{font:700 1.05rem var(--display);color:#fff;margin:0 0 10px}
.ft-grid ul{list-style:none;margin:0;padding:0}.ft-grid li{margin:7px 0}
.site-footer a{color:#E8F1EC;text-decoration:none}.site-footer a:hover{color:var(--gold)}
.ft-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:16px;font-size:.8rem;color:#A9C2B4}
@media(max-width:900px){.ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ft-grid{grid-template-columns:1fr}}

/* ---------- barre d'onglets mobile */
.tabbar{display:none}
@media(max-width:760px){
  body{padding-bottom:70px}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;font-weight:600;color:var(--muted);text-decoration:none;padding:4px 0}
  .tabbar a:first-child{color:var(--green)}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.search-layer[hidden]{display:none}

/* ---------- hero : lisibilité (correctif 09/11) */
.hero-in h1,.hero-in p.lead,.fh-inner h1,.fh-sub{text-shadow:0 1px 18px rgba(4,30,20,.45)}
.hero-in .eyebrow{color:#F2CF7E}
@media(max-width:700px){
  .hero-card{display:flex;align-items:flex-end;min-height:600px;border-radius:18px}
  .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}
  .hero-card::before{background:linear-gradient(180deg,rgba(8,67,47,.25) 0%,rgba(8,67,47,.72) 34%,rgba(8,67,47,.93) 58%,rgba(8,67,47,.97) 100%)}
  .hero-in{padding:150px 20px 26px;max-width:none}
  .hero-in h1{font-size:clamp(1.8rem,7.6vw,2.3rem);text-shadow:0 2px 14px rgba(0,0,0,.45)}
  .hero-in p.lead{font-size:1rem;color:#F3F7F4;text-shadow:0 1px 10px rgba(0,0,0,.4)}
  .hero-in .eyebrow{font-size:.7rem;letter-spacing:.12em;text-shadow:0 1px 8px rgba(0,0,0,.5)}
  .hero-in .eyebrow::after{display:none}
  .hero-btns{flex-direction:column;align-items:stretch}
  .hero-btns .btn{justify-content:center}
  .hero-credit{top:10px;bottom:auto;right:12px;left:12px;text-align:right;text-shadow:0 1px 4px rgba(0,0,0,.6)}
}

.hero-card::before{z-index:1}.hero-in,.hero-credit{z-index:2}
