/* =====================================================================
   MEMORESIA — feuille de style
   Polices auto-hébergées (aucune requête vers Google : conforme RGPD)
   ===================================================================== */
@font-face{font-family:"Fraunces";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/fraunces-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Fraunces";font-weight:900;font-style:normal;font-display:swap;src:url("../fonts/fraunces-latin-900-normal.woff2") format("woff2")}
@font-face{font-family:"Fraunces";font-weight:400;font-style:italic;font-display:swap;src:url("../fonts/fraunces-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/dm-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/dm-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/dm-sans-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Great Vibes";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/great-vibes-latin-400-normal.woff2") format("woff2")}

:root{
  --navy:#16223B; --navy-deep:#0E1730; --blue:#0C2447; --gold:#E2B95F; --mustard:#C9A82E;
  --brown:#5B221B; --cream:#FBF3E6; --peach:#F7DFC3; --sky:#BBDDF7; --red:#C8321F;
  --pop-yellow:#FFD23F; --pop-pink:#E63E8C; --pop-cyan:#2EC4B6;
  --font-head:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-script:"Great Vibes","Brush Script MT",cursive;
  --radius:20px; --wrap:1160px;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html[data-size="1"]{font-size:112.5%}
html[data-size="2"]{font-size:125%}
body{margin:0;font-family:var(--font-body);font-size:1.2rem;line-height:1.65;background:var(--navy-deep);color:#F4ECDD;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
img,svg{max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0 0 1.15em;max-width:62ch}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.15;margin:0 0 .6em;color:var(--head,#E2B95F);text-wrap:balance}
h1{font-size:clamp(2.4rem,5.2vw,4.1rem);font-weight:900}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
h3{font-size:1.5rem}
ul,ol{margin:0;padding:0}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.icon{width:1.3em;height:1.3em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.25em}
.script{font-family:var(--font-script);font-weight:400;line-height:1.1}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:1rem 1.4rem;font-weight:700;z-index:1000}
.skip:focus{left:1rem;top:1rem}
:focus-visible{outline:4px solid var(--focus,#BBDDF7);outline-offset:4px;border-radius:6px}
.todo{background:#FFF3A6;color:#5b3b00;padding:.05em .4em;border:2px dashed #b98a00;border-radius:6px;font-weight:500;font-size:.95em}

/* ---------- Thèmes de section ---------- */
.t-navy{--input-border:#E2B95F;--bg:#16223B;--fg:#F4ECDD;--head:#E2B95F;--accent:#E2B95F;--focus:#BBDDF7;--panel:#1E2F52;--line:rgba(226,185,95,.45);--btn-bg:#E2B95F;--btn-fg:#16223B}
.t-blue{--input-border:#E2B95F;--bg:#0C2447;--fg:#F4ECDD;--head:#DDBA45;--accent:#E2B95F;--focus:#BBDDF7;--panel:#153563;--line:rgba(226,185,95,.45);--btn-bg:#E2B95F;--btn-fg:#16223B}
.t-brown{--input-border:#E2B95F;--bg:#5B221B;--fg:#FBF1E1;--head:#F7DFC3;--accent:#E2B95F;--focus:#BBDDF7;--panel:#722B22;--line:rgba(247,223,195,.45);--btn-bg:#E2B95F;--btn-fg:#16223B}
.t-cream{--bg:#FBF3E6;--fg:#16223B;--head:#16223B;--accent:#B7862A;--focus:#16223B;--panel:#F7DFC3;--line:rgba(22,34,59,.3);--btn-bg:#16223B;--btn-fg:#FBE9B8}
.t-pop{--bg:#FFD23F;--fg:#16223B;--head:#16223B;--accent:#E63E8C;--focus:#16223B;--panel:#FFF3C4;--line:rgba(22,34,59,.4);--btn-bg:#16223B;--btn-fg:#FFD23F}
.sec{background:var(--bg);color:var(--fg);padding:clamp(3.5rem,7vw,6.5rem) 1.25rem;overflow-x:clip}
.split>*,.gallery>*,.plans>*,.ways>*,.cards3>*,.thread li{min-width:0}
.legal,.legal p,.legal li,.infopanel li,.event{overflow-wrap:anywhere}
.form select{max-width:100%;text-overflow:ellipsis}
.wrap{max-width:var(--wrap);margin-inline:auto}
.narrow{max-width:820px;margin-inline:auto}
.center{text-align:center}.center p{margin-inline:auto}
.lead{font-size:1.35rem;line-height:1.6}

/* filet ondulé sous les titres : le « fil » de Memoresia */
.sec h2::after,.h-thread::after{content:"";display:block;width:5.5rem;height:.7rem;margin-top:.7rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='11' viewBox='0 0 88 11'%3E%3Cpath d='M2 5.500 Q13 -2 24 5.500 T46 5.500 T68 5.500 T86 5.500' fill='none' stroke='%23E2B95F' stroke-width='3.200' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left center/contain}
.t-cream h2::after,.t-pop h2::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='11' viewBox='0 0 88 11'%3E%3Cpath d='M2 5.500 Q13 -2 24 5.500 T46 5.500 T68 5.500 T86 5.500' fill='none' stroke='%23B7862A' stroke-width='3.200' stroke-linecap='round'/%3E%3C/svg%3E")}
.t-pop h2::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='11' viewBox='0 0 88 11'%3E%3Cpath d='M2 5.500 Q13 -2 24 5.500 T46 5.500 T68 5.500 T86 5.500' fill='none' stroke='%23E63E8C' stroke-width='3.600' stroke-linecap='round'/%3E%3C/svg%3E")}
.center h2::after,h2.center::after{margin-inline:auto;background-position:center}

/* mise en valeur des mots clés */
.hl{font-weight:700;color:var(--hl-c,inherit)}
.t-cream .hl,.t-pop .hl{background:linear-gradient(transparent 55%,rgba(226,185,95,.9) 55%);padding:0 .12em;border-radius:3px}
.t-pop .hl{background:linear-gradient(transparent 55%,rgba(230,62,140,.5) 55%)}
.t-navy .hl,.t-blue .hl,.t-brown .hl{color:#F5D27A;text-decoration:underline;text-decoration-color:rgba(226,185,95,.7);text-decoration-thickness:3px;text-underline-offset:.28em}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:3.6rem;padding:.8rem 1.9rem;border-radius:999px;border:3px solid var(--btn-bg,#E2B95F);background:var(--btn-bg,#E2B95F);color:var(--btn-fg,#16223B);font:700 1.15rem/1.2 var(--font-body);text-align:center;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 0 rgba(0,0,0,.18)}
.btn:active{transform:none;box-shadow:none}
.btn--ghost{background:transparent;color:var(--fg);border-color:currentColor}
.btn--big{min-height:4.4rem;padding:1rem 2.6rem;font-size:1.35rem}
.btn-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.6rem}
.center .btn-row{justify-content:center}

/* ---------- En-tête ---------- */
.topbar{background:var(--navy-deep);color:#F4ECDD;padding:.8rem 1.25rem;position:relative;z-index:30}
.topbar__in{max-width:1320px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.9rem;text-decoration:none;color:var(--gold)}
.brand img{width:3.6rem;height:auto;display:block}
.brand__name{font-size:1.85rem;font-weight:400;letter-spacing:.24em;line-height:1}
.tools{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.pill{display:inline-flex;align-items:center;gap:.5rem;min-height:2.9rem;padding:.35rem 1rem;border-radius:999px;border:2px solid rgba(226,185,95,.7);background:transparent;color:#F4ECDD;font:500 1rem/1 var(--font-body);text-decoration:none;cursor:pointer}
.pill:hover{background:rgba(226,185,95,.16)}
.pill--phone{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:700;font-size:1.1rem}
.pill--phone:hover{background:#F0CD7B}
.pill[aria-pressed="true"]{background:#F4ECDD;color:#000;border-color:#F4ECDD}
.menu-toggle{display:none}
.home .menu-toggle{display:inline-flex}
.nav-tools{display:none}

.main-nav{background:var(--navy);border-block:1px solid rgba(226,185,95,.4);position:sticky;top:0;z-index:50}
.main-nav ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:.25rem;margin:0 auto;padding:.2rem 1rem}
.main-nav a{display:block;padding:.95rem 1.5rem;color:#F4ECDD;font-weight:700;font-size:1.2rem;text-decoration:none;border-bottom:5px solid transparent}
.main-nav a:hover{color:var(--gold)}
.main-nav a[aria-current="page"]{color:var(--gold);border-bottom-color:var(--gold)}
.main-nav :focus-visible{outline-color:#BBDDF7}
.main-nav .nav-brand{display:none}

/* Accueil : logo posé sur la vidéo, menu qui apparaît en défilant */
.home .topbar{position:absolute;inset:0 0 auto 0;background:linear-gradient(180deg,rgba(14,23,48,.9),rgba(14,23,48,0));padding-bottom:2.5rem}
.home .main-nav{position:fixed;inset:0 0 auto 0;transform:translateY(-110%);transition:transform .45s ease;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.home.nav-on .main-nav,.home .main-nav:focus-within{transform:none}
.home .main-nav .nav-brand{display:block;position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);padding:0;border:0}
.home .main-nav .nav-brand img{width:2.7rem;display:block}

/* ---------- Héros vidéo ---------- */
.hero{position:relative;height:min(90vh,880px);min-height:540px;background:#0E1730;overflow:hidden;display:flex;align-items:flex-end;color:#F4ECDD}
.hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% center;opacity:var(--fade,1)}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,23,48,.78) 0%,rgba(14,23,48,.25) 55%,rgba(14,23,48,0) 80%),linear-gradient(0deg,rgba(14,23,48,.85),rgba(14,23,48,0) 42%)}
.hero__text{position:relative;z-index:2;width:100%;max-width:1320px;margin-inline:auto;padding:0 1.25rem 5.2rem}
.hero__title{font-family:var(--font-script);font-weight:400;font-size:clamp(3.6rem,9vw,7.4rem);line-height:1;color:var(--gold);margin:0 0 1rem;text-shadow:0 3px 24px rgba(0,0,0,.6)}
.hero__title::after{display:none}
.hero__sub{font-size:clamp(1.25rem,2.2vw,1.6rem);max-width:30ch;margin:0;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.hero__cue{position:absolute;left:50%;bottom:1.1rem;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.2rem;font-weight:700;color:#F4ECDD;text-decoration:none;text-shadow:0 2px 10px rgba(0,0,0,.8);transition:opacity .3s}
.hero__cue .icon{width:2rem;height:2rem;animation:bob 2.2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(6px)}}
.hero__pause{position:absolute;right:1.25rem;bottom:1.25rem;z-index:3;width:3.2rem;height:3.2rem;padding:0;justify-content:center;background:rgba(14,23,48,.75)}
.hero__pause .icon{margin:0}

/* ---------- Mise en page ---------- */
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split--rev{grid-template-columns:.85fr 1.15fr}
.split--rev>:first-child{order:2}
.split--person{grid-template-columns:.7fr 1.3fr;align-items:start}
.illus{width:100%;max-width:470px;justify-self:center;display:block}
.polaroid{background:#fff;padding:.8rem .8rem 3rem;box-shadow:0 14px 34px rgba(0,0,0,.35);transform:rotate(-2deg);margin:0;max-width:340px;border-radius:4px;position:relative}
.polaroid img{display:block;width:100%;border-radius:2px}
.polaroid figcaption{position:absolute;left:.8rem;right:.8rem;bottom:.6rem;text-align:center;color:#16223B;font-size:1rem;font-weight:500;line-height:1.25}
.ia-note{font-size:.95rem;opacity:.9}
.circle-photo{width:min(300px,70vw);aspect-ratio:1;border-radius:50%;object-fit:cover;border:6px solid var(--gold);box-shadow:0 12px 30px rgba(0,0,0,.3)}

/* cartes « manières de s'approprier » */
.ways{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:2rem}
.way{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1.6rem;background:var(--panel);border:3px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--fg);transition:border-color .2s,transform .2s}
.way:hover{border-color:var(--accent);transform:translateY(-3px)}
.way .icon{width:2.4rem;height:2.4rem;color:var(--accent);margin-bottom:.2rem}
.way h3{font-size:1.4rem;margin:0}
.way p{margin:0;font-size:1.15rem}
.way__go{margin-top:auto;padding-top:.6rem;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:.4rem}

/* formules / tarifs */
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.plan{display:flex;flex-direction:column;background:var(--panel);border:3px solid var(--line);border-radius:var(--radius);padding:1.8rem 1.8rem 1.6rem;position:relative}
.plan--star{border-color:var(--gold)}
.plan__badge{position:absolute;top:-1.05rem;right:1.4rem;background:var(--gold);color:var(--navy);font-weight:700;font-size:.95rem;padding:.3rem 1rem;border-radius:999px}
.plan h3{font-size:1.85rem;margin-bottom:.3rem}
.plan__pitch{font-style:italic;font-family:var(--font-head);opacity:.95;margin-bottom:1.1rem}
.checks{list-style:none;display:grid;gap:.65rem;margin-bottom:1.6rem}
.checks li{display:flex;gap:.7rem;align-items:flex-start}
.checks .icon{color:var(--gold);margin-top:.22em;width:1.25em;height:1.25em}
.checks strong{color:#fff}
.plan__price{margin-top:auto;display:flex;align-items:baseline;justify-content:center;gap:.6rem;background:var(--gold);color:var(--navy);border-radius:16px;padding:.7rem 1rem;font-family:var(--font-head);font-weight:900;font-size:3rem;line-height:1.1}
.plan__price small{font-family:var(--font-body);font-weight:500;font-size:1rem}
.plan .btn{margin-top:1rem;width:100%}
.extra{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:1.6rem;padding:1.3rem 1.8rem;border:3px dashed var(--line);border-radius:var(--radius)}
.extra strong{font-size:1.3rem}
.extra__price{font-family:var(--font-head);font-weight:900;font-size:2rem;color:var(--gold)}

/* frise numérotée : le fil qui relie les étapes */
.thread{list-style:none;position:relative;display:grid;gap:2.2rem;counter-reset:step}
.thread li:not(:last-child)::after{content:"";position:absolute;left:1.7rem;top:3.6rem;bottom:-2.05rem;border-left:4px dotted var(--accent)}
.thread li{position:relative;padding-left:5.4rem;counter-increment:step}
.thread li::before{content:counter(step);position:absolute;left:0;top:-.15rem;width:3.5rem;height:3.5rem;border-radius:50%;border:4px solid var(--accent);background:var(--bg);color:var(--head);display:grid;place-items:center;font:700 1.55rem/1 var(--font-body)}
.thread h3{margin-bottom:.25rem;font-size:1.45rem}
.thread p{margin:0}
.thread--hand li::before{border-radius:58% 42% 55% 45%/48% 58% 42% 52%}

/* panneau d'informations pratiques */
.infopanel{list-style:none;display:grid;gap:1rem;background:var(--sky);color:var(--navy);border-radius:24px;padding:1.6rem 1.8rem;border:4px solid var(--navy)}
.infopanel--cream{background:var(--peach)}
.infopanel li{display:flex;gap:1rem;align-items:flex-start;font-weight:500;line-height:1.4}
.infopanel .icon{color:var(--red);width:1.9rem;height:1.9rem;margin-top:.1rem}
.infopanel strong{display:block;font-size:1.3rem;font-weight:700}
.infopanel__price{font-family:var(--font-head);font-weight:900;font-size:1.7rem}
.notice{background:var(--gold);color:var(--navy);font-weight:700;padding:.7rem 1.1rem;border-radius:12px;display:inline-block}

/* avant / après */
.ba{--p:.5;position:relative;width:100%;max-width:400px;aspect-ratio:300/552;overflow:hidden;border-radius:20px;border:5px solid var(--gold);background:#000;margin-inline:auto;touch-action:pan-y}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ba__before{clip-path:inset(0 calc(100% - (28px + (100% - 56px) * var(--p))) 0 0)}
.ba__line{position:absolute;top:0;bottom:0;left:calc(28px + (100% - 56px) * var(--p));width:4px;margin-left:-2px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.6);pointer-events:none}
.ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:1;background:transparent;-webkit-appearance:none;appearance:none;cursor:ew-resize}
.ba__range::-webkit-slider-runnable-track{height:100%;background:transparent}
.ba__range::-moz-range-track{height:100%;background:transparent}
.ba__range::-webkit-slider-thumb{-webkit-appearance:none;width:56px;height:56px;margin-top:calc(50% * 0 + 0px);border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cpath d='M20 19l-9 9 9 9M36 19l9 9-9 9' fill='none' stroke='%2316223B' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;border:4px solid var(--navy);box-shadow:0 4px 14px rgba(0,0,0,.5);position:relative;top:calc(50% - 28px)}
.ba__range::-moz-range-thumb{width:48px;height:48px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cpath d='M20 19l-9 9 9 9M36 19l9 9-9 9' fill='none' stroke='%2316223B' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;border:4px solid var(--navy)}
.ba__tag{position:absolute;bottom:.9rem;padding:.3rem .9rem;border-radius:999px;font-weight:700;font-size:1rem;background:rgba(14,23,48,.88);color:#fff;pointer-events:none}
.ba__tag--l{left:.9rem}.ba__tag--r{right:.9rem}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.frame{border:5px solid var(--navy);border-radius:16px;overflow:hidden;box-shadow:10px 10px 0 var(--pop-pink);background:#000;max-width:440px;margin-inline:auto}
.frame img{display:block;width:100%}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.card{background:var(--panel);border:3px solid var(--line);border-radius:var(--radius);padding:1.6rem}
.card .icon{width:2.4rem;height:2.4rem;color:var(--accent);margin-bottom:.6rem}
.card h3{font-size:1.4rem}
.card p{margin:0}

/* ---------- Calendrier ---------- */
.cal{background:#fff;color:var(--navy);border:4px solid var(--navy);border-radius:24px;padding:1.4rem;max-width:760px;margin-inline:auto}
.cal__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:1rem}
.cal__title{font-family:var(--font-head);font-size:1.7rem;color:var(--navy);margin:0;text-transform:capitalize;text-align:center}
.cal__title::after{display:none}
.cal__nav{width:3.4rem;height:3.4rem;border-radius:50%;border:3px solid var(--navy);background:var(--peach);color:var(--navy);display:grid;place-items:center;cursor:pointer;padding:0}
.cal__nav:hover{background:var(--gold)}
.cal table{width:100%;border-collapse:separate;border-spacing:5px;table-layout:fixed}
.cal th{font-size:.95rem;font-weight:700;padding:.3rem 0;color:var(--navy)}
.cal td{padding:0;text-align:center}
.cal__day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/.86;min-height:2.9rem;border-radius:12px;font-size:1.15rem;font-weight:500;color:var(--navy);background:#F5F1EA;border:0;font-family:inherit}
.cal__day--out{background:transparent;color:#8a8f9c}
.cal__day--today{outline:3px solid var(--navy);outline-offset:-3px}
button.cal__day{background:var(--gold);font-weight:700;cursor:pointer;position:relative;border:3px solid var(--navy)}
button.cal__day::after{content:"";position:absolute;bottom:.28rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--red)}
button.cal__day:hover{background:#F0CD7B}
.cal__legend{margin:1rem 0 0;font-size:1rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.cal__legend i{display:inline-block;width:1.2rem;height:1.2rem;border-radius:5px;background:var(--gold);border:2px solid var(--navy);vertical-align:-.2rem;margin-right:.35rem}
.events{display:grid;gap:1.2rem;margin-top:2.2rem;max-width:760px;margin-inline:auto}
.event{display:grid;grid-template-columns:5.6rem 1fr;gap:1.2rem;background:var(--panel);border:3px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.4rem;color:var(--fg)}
.event:target,.event.is-hl{border-color:var(--gold);box-shadow:0 0 0 4px rgba(226,185,95,.55)}
.event__date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);border-radius:16px;padding:.5rem;line-height:1.05;text-align:center}
.event__date b{font-family:var(--font-head);font-size:2.2rem;font-weight:900}
.event__date span{font-weight:700;text-transform:capitalize;font-size:1.05rem}
.event h3{margin:0 0 .3rem;font-size:1.35rem}
.event ul{list-style:none;display:grid;gap:.25rem;margin:.4rem 0 1rem}
.event li{display:flex;gap:.6rem;align-items:flex-start}
.event .btn{min-height:3rem;padding:.5rem 1.2rem;font-size:1.05rem}
.tag{display:inline-block;background:var(--navy);color:var(--gold);border-radius:999px;font-size:.92rem;font-weight:700;padding:.15rem .8rem;margin-bottom:.5rem}
.empty{border:3px dashed var(--line);border-radius:var(--radius);padding:1.6rem;text-align:center;max-width:760px;margin:2rem auto 0;color:var(--fg)}
.empty .btn-row{justify-content:center}
.empty p{margin-inline:auto}

/* ---------- Formulaires ---------- */
.form{display:grid;gap:1.2rem;max-width:720px}
.form label{display:block;font-weight:700;margin-bottom:.3rem}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{width:100%;min-height:3.6rem;padding:.75rem 1rem;font:500 1.15rem var(--font-body);color:#16223B;background:#fff;border:3px solid var(--input-border,#16223B);border-radius:14px}
.form textarea{min-height:9rem;resize:vertical}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:4px solid var(--focus);outline-offset:3px}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form .check{display:flex;gap:.9rem;align-items:flex-start;font-weight:500}
.form .check input{width:1.7rem;height:1.7rem;margin-top:.2rem;flex:none;accent-color:var(--navy)}
.form small{display:block;font-size:.98rem;opacity:.9}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.alert{padding:1rem 1.3rem;border-radius:14px;font-weight:700;border:3px solid var(--navy);background:#FFE1DC;color:#5b0f00;max-width:720px;margin-bottom:1.4rem}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:1rem;max-width:860px;margin-inline:auto}
.faq details{background:var(--panel);border:3px solid var(--line);border-radius:var(--radius)}
.faq summary{list-style:none;cursor:pointer;padding:1.2rem 3.6rem 1.2rem 1.5rem;font-weight:700;font-size:1.25rem;position:relative;color:var(--head)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);font-size:2rem;font-weight:700;color:var(--accent);line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details[open]{border-color:var(--accent)}
.faq .ans{padding:0 1.5rem 1.3rem}
.faq .ans p:last-child{margin-bottom:0}

/* pages de texte (mentions, CGV…) */
.legal h2{font-size:1.7rem;margin-top:2.4rem}
.legal h2::after{display:none}
.legal p,.legal li{max-width:75ch}
.legal ul{padding-left:1.4rem;margin-bottom:1.2rem}
.legal a{color:var(--head)}
.page-head{padding-block:clamp(3rem,6vw,5rem) clamp(2.5rem,5vw,4rem)}
.page-head h1{margin-bottom:.5rem}
.page-head h1::after{display:none}
.page-head .script{font-size:clamp(2.4rem,5vw,3.6rem);color:var(--accent);margin:0 0 1.2rem}
.t-cream .page-head .script,.t-pop .page-head .script{color:#7a4d0c}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--navy-deep);color:#F4ECDD;padding:4rem 1.25rem 2rem;border-top:4px solid var(--gold)}
.foot{max-width:var(--wrap);margin-inline:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem}
.foot h2{font-family:var(--font-body);font-size:1.15rem;color:var(--gold);margin:0 0 1rem;font-weight:700}
.foot h2::after{display:none}
.foot ul{list-style:none;display:grid;gap:.4rem}
.foot a{text-decoration:none;font-weight:500;display:inline-block;padding:.25rem 0}
.foot a.brand{display:flex;padding:0}
.foot a.social{display:flex;padding:.65rem .9rem}
.foot a:hover{color:var(--gold);text-decoration:underline}
.foot .brand{margin-bottom:1rem}
.socials{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.7rem}
.foot>*{min-width:0}
.social{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;border:2px solid rgba(226,185,95,.7);border-radius:14px;font-weight:700;text-decoration:none!important;min-height:3.2rem}
.social:hover{background:var(--gold);color:var(--navy)!important}
.foot__bottom{max-width:var(--wrap);margin:2.5rem auto 0;padding-top:1.4rem;border-top:1px solid rgba(226,185,95,.3);font-size:1.05rem}
.foot__bottom p{max-width:none;margin:.2rem 0}
.call-fab{display:none}

/* ---------- Adaptation tablette / mobile ---------- */
@media (max-width:980px){
  .split,.split--rev,.split--person,.gallery{grid-template-columns:1fr}
  .split--rev>:first-child{order:0}
  .plans,.ways{grid-template-columns:1fr}
  .cards3{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr}
  .foot>:first-child{grid-column:1/-1}
}
@media (max-width:820px){
  .menu-toggle{display:inline-flex}
  .brand img{width:3rem}
  .brand__name{font-size:1.3rem;letter-spacing:.16em}
  .tools .pill--txt,.tools .pill--phone{display:none}
  .main-nav{position:static;display:none;border-top:0}
  .main-nav.is-open{display:block}
  .nav-tools{display:flex;gap:.6rem;flex-wrap:wrap;padding:.6rem 1.2rem}
  .nav-tools .pill{display:inline-flex!important}
  .main-nav ul{flex-direction:column;padding:.5rem 1rem 1rem}
  .main-nav a{border-bottom:0;border-left:6px solid transparent;padding:1rem 1.2rem}
  .main-nav a[aria-current="page"]{border-left-color:var(--gold)}
  .home .main-nav{position:fixed;transform:none;inset:auto 0 auto 0;top:0;display:none;max-height:100vh;overflow:auto}
  .home .main-nav.is-open{display:block}
  .home .main-nav .nav-brand{display:none}
  .home .topbar{position:fixed;background:rgba(14,23,48,.92);padding-bottom:.8rem}
  .home .hero{margin-top:0}
  .home .main-nav{top:4.7rem}
  .call-fab{display:flex;position:fixed;right:1rem;bottom:1rem;z-index:60;width:4.2rem;height:4.2rem;border-radius:50%;background:var(--gold);color:var(--navy);align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.5);border:3px solid var(--navy)}
  .call-fab .icon{width:1.9rem;height:1.9rem}
  .hero{height:80vh;min-height:520px}
  .hero__media{object-position:72% center}
  .hero__text{padding-bottom:6rem}
  .form .row2{grid-template-columns:1fr}
  .event{grid-template-columns:1fr}
  .event__date{flex-direction:row;gap:.6rem;justify-content:flex-start;padding:.5rem 1rem}
}
@media (max-width:560px){
  .btn--big{padding:.9rem 1.4rem;font-size:1.2rem;width:100%}
  .btn-row{flex-direction:column;align-items:stretch}
  .foot{grid-template-columns:minmax(0,1fr)}
  .cal{padding:.8rem}
  .cal table{border-spacing:3px}
  .plan__price{font-size:2.5rem}
}

/* ---------- Contraste élevé (bouton « Contraste ») ---------- */
html.hc body{background:#000;color:#fff}
html.hc .t-navy,html.hc .t-blue,html.hc .t-brown{--bg:#000;--fg:#fff;--head:#FFE066;--accent:#FFE066;--panel:#000;--line:#fff;--btn-bg:#FFE066;--btn-fg:#000;--focus:#fff}
html.hc .t-cream,html.hc .t-pop{--bg:#fff;--fg:#000;--head:#000;--accent:#000;--panel:#fff;--line:#000;--btn-bg:#000;--btn-fg:#fff;--focus:#000}
html.hc .topbar,html.hc .main-nav,html.hc .site-footer{background:#000}
html.hc .main-nav a[aria-current="page"],html.hc .main-nav a:hover{color:#FFE066;border-bottom-color:#FFE066}
html.hc .plan__price,html.hc .event__date,html.hc .notice{background:#FFE066;color:#000}
html.hc a:not(.btn):not(.pill):not(.social):not(.way):not(.brand):not(.hero__cue){text-decoration:underline}
html.hc .hero__scrim{background:rgba(0,0,0,.55)}
html.hc .t-cream .hl,html.hc .t-pop .hl{background:#FFE066;color:#000}

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{.topbar,.main-nav,.call-fab,.site-footer .socials{display:none}body{background:#fff;color:#000}}
