/* Master Masaba — feuille de style unique.
   Direction : « la porte » — l'arche des mosquées de terre du Sahel (Djenné,
   Tombouctou), le bogolan, la nuit indigo et l'ocre. Mise en page éditoriale
   (listes numérotées, colonnes, formulaire en étapes) pour ne RIEN partager
   avec la structure de Bodou (cartes, pastilles, formulaire plat). */

@font-face{font-family:Fraunces;src:url(fraunces-normal.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url(fraunces-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  color-scheme:dark;
  --night:#0b0f20; --night-2:#11162c; --night-3:#181e3a; --deep:#070a16;
  --ink:#f3ede2; --ink-2:#c7c3d0; --ink-3:#8d90a5;
  --ochre:#d39443; --ochre-2:#e8b46a; --clay:#a4552e;
  --wa:#22b35e; --line:rgba(243,237,226,.12); --line-2:rgba(232,180,106,.35);
  --serif:Fraunces,"Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;padding-bottom:calc(78px + env(safe-area-inset-bottom))}
@media(min-width:900px){body{padding-bottom:0}}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.narrow{max-width:780px}
section{padding:72px 0}
@media(min-width:900px){section{padding:110px 0}}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.08;letter-spacing:-.02em}
h1{font-size:clamp(40px,7vw,78px)}
h2{font-size:clamp(32px,4.6vw,54px);margin-bottom:16px}
h3{font-size:22px;line-height:1.2}
h1 i,h2 i{font-style:italic;color:var(--ochre-2)}
p{margin:0 0 14px}
.lead{font-size:19px;color:var(--ink-2);max-width:620px}
.kicker{display:block;font:500 13px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ochre-2);margin-bottom:22px}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.rule{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--ochre);margin:0 auto 26px}
.rule::before,.rule::after{content:"";height:1px;width:60px;background:var(--line-2)}

/* motif bogolan */
.bogolan{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23e8b46a' stroke-opacity='.16' stroke-width='1.5'%3E%3Cpath d='M0 12h48M0 36h48M12 0v6M36 0v6M12 18v12M36 18v12M12 42v6M36 42v6'/%3E%3C/g%3E%3Cg fill='%23e8b46a' fill-opacity='.14'%3E%3Cpath d='M24 19l5 5-5 5-5-5z'/%3E%3Ccircle cx='0' cy='24' r='2'/%3E%3Ccircle cx='48' cy='24' r='2'/%3E%3C/g%3E%3C/svg%3E")}

/* ---------- en-tête : logo centré, ligne fine ---------- */
.top{position:sticky;top:0;z-index:40;background:rgba(7,10,22,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;max-width:1180px;margin:0 auto;padding:14px 20px}
.menu-btn{justify-self:start;appearance:none;cursor:pointer;background:none;border:0;color:var(--ink);display:flex;align-items:center;gap:10px;font:500 13px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:8px 0}
.menu-btn i{display:block;width:22px;height:1.5px;background:currentColor;position:relative}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:currentColor;transition:transform .2s}
.menu-btn i::before{top:-7px}.menu-btn i::after{top:7px}
.top.open .menu-btn i{background:transparent}
.top.open .menu-btn i::before{transform:translateY(7px) rotate(45deg)}
.top.open .menu-btn i::after{transform:translateY(-7px) rotate(-45deg)}
.menu-btn span{display:none}
@media(min-width:600px){.menu-btn span{display:inline}}
.logo{justify-self:center;text-decoration:none;text-align:center;line-height:1}
.logo b{display:block;font:400 26px/1 var(--serif);letter-spacing:.06em}
.logo small{display:block;font:500 9.5px/1 var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--ochre-2);margin-top:6px}
.top-call{justify-self:end;text-decoration:none;font:500 15px/1 var(--sans);color:var(--ink-2);display:flex;align-items:center;gap:8px}
.top-call:hover{color:var(--ink)}
.top-call span{display:none}
@media(min-width:760px){.top-call span{display:inline}}
.panel{display:none;border-top:1px solid var(--line);background:var(--deep)}
.top.open .panel{display:block}
.panel-in{max-width:1180px;margin:0 auto;padding:26px 20px 34px;display:grid;gap:4px}
@media(min-width:760px){.panel-in{grid-template-columns:repeat(3,1fr);gap:4px 30px}}
.panel a{display:flex;align-items:baseline;gap:14px;padding:12px 0;text-decoration:none;font:400 24px/1.2 var(--serif);border-bottom:1px solid var(--line)}
.panel a em{font:500 12px/1 var(--sans);color:var(--ochre-2);font-style:normal;letter-spacing:.1em}
.panel a:hover{color:var(--ochre-2)}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 16px/1 var(--sans);padding:17px 28px;min-height:56px;border-radius:4px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:filter .15s,background .15s,color .15s}
.btn svg{flex:none}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{filter:brightness(1.07)}
.btn-gold{background:var(--ochre);color:#1a1004}
.btn-gold:hover{filter:brightness(1.08)}
.btn-ghost{border-color:var(--line-2);color:var(--ink);background:transparent}
.btn-ghost:hover{background:rgba(232,180,106,.08)}
.btn[disabled]{opacity:.6;cursor:wait}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.fine{font-size:14px;color:var(--ink-3);margin-top:14px}

/* ---------- hero : texte + arche ---------- */
.hero{padding:56px 0 0;overflow:hidden;position:relative}
@media(min-width:900px){.hero{padding:80px 0 0}}
.hero-grid{display:grid;gap:40px;grid-template-columns:1fr;align-items:end}
@media(min-width:960px){.hero-grid{grid-template-columns:1.15fr .85fr;gap:60px}}
.hero-text{padding-bottom:20px}
@media(min-width:960px){.hero-text{padding-bottom:90px}}
.hero .lead{margin-top:24px;font-size:20px}
.arch-wrap{position:relative;max-width:280px;width:100%;margin:0 auto 0 0}
@media(min-width:960px){.arch-wrap{max-width:none;margin:0}}
.arch{position:relative;aspect-ratio:3/4;border-radius:999px 999px 0 0;overflow:hidden;background:radial-gradient(120% 80% at 50% 25%,#2a2f5e 0%,#121735 55%,#0b0f20 100%);border:1px solid var(--line-2);border-bottom:0;display:grid;place-items:center}
.arch::before{content:"";position:absolute;inset:14px 14px 0;border-radius:999px 999px 0 0;border:1px solid rgba(232,180,106,.22);border-bottom:0;pointer-events:none;z-index:2}
.arch img{width:100%;height:100%;object-fit:cover}
.arch .mono{font:italic 400 clamp(120px,22vw,200px)/1 var(--serif);color:var(--ochre-2);opacity:.92;position:relative;z-index:1}
.arch .bogolan{position:absolute;inset:auto 0 0;height:32%;-webkit-mask-image:linear-gradient(transparent,#000);mask-image:linear-gradient(transparent,#000)}
.seal{position:absolute;right:-6px;top:18%;width:116px;height:116px;border-radius:50%;background:var(--ochre);color:#1a1004;display:grid;place-items:center;text-align:center;font:600 11px/1.25 var(--sans);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 18px 40px rgba(0,0,0,.4);z-index:3;padding:14px}
.seal b{display:block;font:italic 400 28px/1 var(--serif);letter-spacing:0;text-transform:none;margin-bottom:4px}
@media(min-width:960px){.seal{right:-40px;width:132px;height:132px}}
@media(prefers-reduced-motion:no-preference){.seal{animation:float 6s ease-in-out infinite}}
@keyframes float{50%{transform:translateY(-8px)}}

/* ---------- bandeau défilant ---------- */
.ticker{background:var(--ochre);color:#1a1004;overflow:hidden;white-space:nowrap;border-block:1px solid #b97a2d}
.ticker div{display:inline-flex;gap:42px;padding:15px 0;font:italic 400 20px/1 var(--serif)}
.ticker span::after{content:"✦";font-style:normal;margin-left:42px;font-size:14px;vertical-align:middle}
@media(prefers-reduced-motion:no-preference){.ticker div{animation:tick 38s linear infinite}}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- trois promesses ---------- */
.vows{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(min-width:860px){.vows{grid-template-columns:repeat(3,1fr)}}
.vow{padding:34px 20px;text-align:center;border-bottom:1px solid var(--line)}
@media(min-width:860px){.vow{border-bottom:0;border-right:1px solid var(--line);padding:46px 30px}.vow:last-child{border-right:0}}
.vow b{display:block;font:italic 400 26px/1.2 var(--serif);color:var(--ochre-2);margin-bottom:10px}
.vow span{color:var(--ink-2);font-size:15.5px;display:block;max-width:300px;margin:0 auto}

/* ---------- liste éditoriale des domaines ---------- */
.index{margin-top:44px;border-top:1px solid var(--line)}
.index a{display:grid;grid-template-columns:52px 1fr auto;gap:8px 18px;align-items:center;padding:24px 4px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s,padding .2s}
@media(min-width:800px){.index a{grid-template-columns:90px 1.1fr 1.4fr 40px;padding:30px 8px}}
.index a:hover{background:linear-gradient(90deg,rgba(232,180,106,.07),transparent);padding-left:16px}
.index .no{font:italic 400 22px/1 var(--serif);color:var(--ochre)}
.index h3{font-size:clamp(24px,3vw,34px)}
.index p{grid-column:2/4;margin:0;color:var(--ink-2);font-size:15.5px}
@media(min-width:800px){.index p{grid-column:auto}}
.index .go{grid-row:1;grid-column:3;color:var(--ochre-2);font-size:22px;transition:transform .2s}
@media(min-width:800px){.index .go{grid-column:4}}
.index a:hover .go{transform:translateX(6px)}

/* ---------- histoire ---------- */
.story{background:var(--night-2);position:relative}
.big-quote{font:italic 400 clamp(28px,4.4vw,48px)/1.25 var(--serif);max-width:900px;margin:0 auto;text-align:center}
.big-quote::before{content:"“";display:block;font-size:90px;line-height:.6;color:var(--ochre);margin-bottom:10px}
.sign{text-align:center;margin-top:22px;font:500 13px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ochre-2)}
.story-cols{display:grid;gap:30px;grid-template-columns:1fr;margin-top:64px}
@media(min-width:860px){.story-cols{grid-template-columns:1fr 1fr;gap:60px}}
.story-cols p{color:var(--ink-2)}
.story-cols p b{color:var(--ink);font-weight:600}
.years{display:grid;grid-template-columns:1fr;margin-top:60px;border-top:1px solid var(--line-2)}
@media(min-width:760px){.years{grid-template-columns:repeat(3,1fr)}}
.years div{padding:26px 0 0;position:relative}
@media(min-width:760px){.years div{padding:30px 30px 0 0}}
.years div::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;transform:rotate(45deg);background:var(--ochre)}
.years small{display:block;font:italic 400 30px/1 var(--serif);color:var(--ochre-2);margin-bottom:10px}
.years b{display:block;font:400 21px/1.25 var(--serif);margin-bottom:6px}
.years span{color:var(--ink-2);font-size:15.5px}
.textlink{display:inline-block;margin-top:40px;color:var(--ochre-2);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:3px}
.textlink:hover{border-color:var(--ochre-2)}

/* ---------- le chemin (étapes) ---------- */
.path{display:grid;gap:0;grid-template-columns:1fr;margin-top:50px;counter-reset:p}
@media(min-width:860px){.path{grid-template-columns:repeat(3,1fr)}}
.path div{counter-increment:p;padding:30px 0;border-top:1px solid var(--line);position:relative}
@media(min-width:860px){.path div{padding:40px 36px 0 0;border-top:0}}
.path div::before{content:counter(p,upper-roman);display:grid;place-items:center;width:62px;height:62px;border-radius:50%;border:1px solid var(--line-2);font:italic 400 24px/1 var(--serif);color:var(--ochre-2);margin-bottom:22px;background:var(--night)}
.path h3{margin-bottom:8px}
.path p{color:var(--ink-2);font-size:16px;margin:0}

/* ---------- avis ---------- */
.voices{columns:1;column-gap:24px;margin-top:44px}
@media(min-width:760px){.voices{columns:2}}
@media(min-width:1080px){.voices{columns:3}}
.voice{break-inside:avoid;margin:0 0 24px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.voice p{font:italic 400 20px/1.5 var(--serif)}
.voice cite{font-style:normal;font-size:14px;color:var(--ochre-2);letter-spacing:.08em}

/* ---------- vous reconnaissez-vous ? (pages thématiques) ---------- */
.recog{display:grid;gap:12px;grid-template-columns:1fr;margin-top:40px}
@media(min-width:760px){.recog{grid-template-columns:1fr 1fr}}
.recog label{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border:1px solid var(--line);border-radius:6px;background:var(--night-2);cursor:pointer;transition:border-color .15s,background .15s;position:relative}
.recog label:hover{border-color:var(--line-2)}
.recog input{position:absolute;opacity:0;pointer-events:none}
.recog .box{flex:none;width:26px;height:26px;border:1.5px solid var(--line-2);border-radius:50%;display:grid;place-items:center;margin-top:2px;transition:background .15s}
.recog .box::after{content:"";width:10px;height:6px;border:2px solid #1a1004;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.recog input:checked+.box{background:var(--ochre);border-color:var(--ochre)}
.recog input:checked+.box::after{opacity:1}
.recog label:has(input:checked){border-color:var(--ochre);background:rgba(211,148,67,.08)}
.recog input:focus-visible+.box{outline:2px solid var(--ochre-2);outline-offset:3px}
.recog b{display:block;font:400 21px/1.25 var(--serif);margin-bottom:3px}
.recog span.t{color:var(--ink-2);font-size:15.5px}
.recog-send{margin-top:26px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.recog-send .fine{margin:0}

/* ---------- bloc « honnêtement » ---------- */
.honest{background:var(--deep);border-block:1px solid var(--line)}
.honest-in{display:grid;gap:30px;grid-template-columns:1fr}
@media(min-width:900px){.honest-in{grid-template-columns:.8fr 1.2fr;gap:70px}}
.honest p{color:var(--ink-2)}
.honest p b{color:var(--ink)}

/* ---------- faq : titre à gauche, questions à droite ---------- */
.faq-in{display:grid;gap:30px;grid-template-columns:1fr}
@media(min-width:900px){.faq-in{grid-template-columns:.8fr 1.2fr;gap:70px}.faq-in>div:first-child{position:sticky;top:110px;align-self:start}}
.faq details{border-top:1px solid var(--line);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr 28px;gap:18px;font:400 21px/1.35 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);background:linear-gradient(var(--ochre-2),var(--ochre-2)) center/10px 1.5px no-repeat,linear-gradient(var(--ochre-2),var(--ochre-2)) center/1.5px 10px no-repeat}
.faq details[open] summary::after{background:linear-gradient(var(--ochre-2),var(--ochre-2)) center/10px 1.5px no-repeat}
.faq details p{margin:14px 0 0;color:var(--ink-2);font-size:16px;max-width:620px}
.faq details a{color:var(--ochre-2)}

/* ---------- contact : carte + formulaire en étapes ---------- */
.begin{background:var(--night-2);border-top:1px solid var(--line)}
.begin-in{display:grid;gap:34px;grid-template-columns:1fr;margin-top:50px;align-items:start}
@media(min-width:960px){.begin-in{grid-template-columns:.85fr 1.15fr;gap:50px}}
.card-num{border:1px solid var(--line-2);border-radius:6px;padding:34px 28px;background:linear-gradient(170deg,#1b2145,#0e1228);position:relative;overflow:hidden}
.card-num::after{content:"";position:absolute;right:-40px;bottom:-40px;width:180px;height:180px;border-radius:50%;border:1px solid rgba(232,180,106,.18);box-shadow:0 0 0 22px rgba(232,180,106,.04),0 0 0 44px rgba(232,180,106,.03);pointer-events:none}
.card-num small{display:block;font:500 12px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ochre-2)}
.card-num .num{display:block;font:400 clamp(32px,4.4vw,44px)/1.1 var(--serif);margin:16px 0 6px;text-decoration:none;letter-spacing:.01em}
.card-num .live{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2)}
.card-num .live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--wa);box-shadow:0 0 0 4px rgba(34,179,94,.2)}
.card-num .btn{width:100%;margin-top:26px;position:relative;z-index:1}
.card-num .mail{display:block;margin-top:18px;color:var(--ink-2);text-decoration:none;font-size:15px;position:relative;z-index:1}
.card-num .mail:hover{color:var(--ink)}
.card-num p{position:relative;z-index:1;color:var(--ink-3);font-size:14px;margin:18px 0 0}

.wizard{border:1px solid var(--line);border-radius:6px;background:var(--night);padding:28px 22px}
@media(min-width:600px){.wizard{padding:36px 34px}}
.dots{display:flex;gap:8px;margin-bottom:26px}
.dots i{flex:1;height:3px;border-radius:3px;background:var(--line);transition:background .2s}
.dots i.on{background:var(--ochre)}
.wstep{border:0;margin:0 0 26px;padding:0;min-width:0}
.js .wstep{display:none;margin:0}.js .wstep.cur{display:block}
.wstep legend{font:400 26px/1.25 var(--serif);padding:0;margin-bottom:6px}
.wstep .hint{color:var(--ink-3);font-size:14.5px;margin-bottom:20px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips label{cursor:pointer;position:relative}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:13px 18px;border:1px solid var(--line);border-radius:999px;font-size:15.5px;transition:all .15s}
.chips label:hover span{border-color:var(--line-2)}
.chips input:checked+span{background:var(--ochre);border-color:var(--ochre);color:#1a1004;font-weight:600}
.chips input:focus-visible+span{outline:2px solid var(--ochre-2);outline-offset:2px}
.field{display:grid;gap:7px;margin-bottom:14px;font-size:14px;color:var(--ink-2)}
input,textarea{font:16px/1.4 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line-2);border-radius:0;padding:12px 2px;width:100%}
input:focus,textarea:focus{outline:none;border-bottom-color:var(--ochre-2);box-shadow:0 1px 0 var(--ochre-2)}
textarea{min-height:140px;resize:vertical;border:1px solid var(--line-2);border-radius:4px;padding:14px}
textarea:focus{box-shadow:none;border-color:var(--ochre-2)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-3);cursor:pointer;margin:6px 0 4px}
.check input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--ochre)}
.hp{position:absolute;left:-9999px}
.wnav{display:none;gap:12px;justify-content:space-between;align-items:center;margin-top:26px}
.js .wnav{display:flex}
.wnav .back{appearance:none;background:none;border:0;color:var(--ink-3);cursor:pointer;font:500 15px/1 var(--sans);padding:12px 0}
.wnav .back:hover{color:var(--ink)}
.wnav .back.hide{visibility:hidden}
.js .nojs-send{display:none}
.form-msg{font-size:15px;min-height:22px;margin-top:14px;color:#57d98c}
.form-msg.err{color:#ff8a80}
.form-msg a{color:inherit}
.done{display:none;text-align:center;padding:30px 0}
.done b{display:block;font:italic 400 30px/1.2 var(--serif);color:var(--ochre-2);margin-bottom:10px}
.wizard.sent .done{display:block}.wizard.sent form,.wizard.sent .dots{display:none}

/* ---------- maillage ---------- */
.more-pages{display:grid;grid-template-columns:1fr;gap:0;margin-top:30px;border-top:1px solid var(--line)}
@media(min-width:760px){.more-pages{grid-template-columns:1fr 1fr;column-gap:40px}}
.more-pages a{display:flex;justify-content:space-between;gap:12px;padding:20px 4px;border-bottom:1px solid var(--line);text-decoration:none;font:400 21px/1.3 var(--serif)}
.more-pages a::after{content:"→";color:var(--ochre-2)}
.more-pages a:hover{color:var(--ochre-2)}

/* ---------- pied de page centré ---------- */
footer{background:var(--deep);border-top:1px solid var(--line);padding:70px 0 40px;text-align:center;color:var(--ink-3);font-size:14.5px}
.wordmark{font:italic 400 clamp(56px,11vw,120px)/1 var(--serif);color:var(--ink);letter-spacing:-.02em}
.wordmark+small{display:block;font:500 11px/1 var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--ochre-2);margin-top:12px}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:38px 0 18px}
.foot-links a{color:var(--ink-2);text-decoration:none}
.foot-links a:hover{color:var(--ochre-2)}
.foot-contact{color:var(--ink-2)}
.foot-contact a{color:var(--ink);text-decoration:none}
.legal{max-width:760px;margin:30px auto 0;padding-top:22px;border-top:1px solid var(--line);font-size:13px;line-height:1.65}
.legal a{color:var(--ink-2)}

/* ---------- barre mobile : un gros WhatsApp + une icône d'appel ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(7,10,22,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.dock .btn-wa{flex:1;min-height:52px;font-size:15.5px;padding:12px}
.dock .ring{flex:none;width:52px;height:52px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--ochre-2)}
@media(min-width:900px){.dock{display:none}}

/* ---------- cookies ---------- */
.cc{position:fixed;left:12px;right:12px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:70;display:none;max-width:540px;margin:0 auto;padding:18px;background:var(--night-3);border:1px solid var(--line-2);border-radius:6px;box-shadow:0 14px 40px rgba(0,0,0,.4)}
@media(min-width:900px){.cc{bottom:20px}}
.cc.on{display:block}
.cc p{margin:0 0 12px;font-size:14.5px;color:var(--ink-2)}
.cc div{display:flex;gap:10px}
.cc button{flex:1;appearance:none;cursor:pointer;font:600 15px/1 var(--sans);padding:13px;border-radius:4px;border:1px solid var(--line-2);background:transparent;color:var(--ink)}
.cc button.ok{background:var(--ochre);border-color:var(--ochre);color:#1a1004}

.prose{max-width:740px}
.prose h2{font-size:30px;margin-top:40px}
.prose p,.prose li{color:var(--ink-2)}
.prose li{margin-bottom:8px}
.prose b{color:var(--ink)}
.prose a{color:var(--ochre-2)}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
