/* Anne-Catherine & Emmanuel · La Promenade · palette Notion v1 */
:root{--creme:#F7F1E6;--ciel:#DCE6F0;--nuit:#1F2433;--violet:#7A5CA8;--rouge:#C8302F;--vert:#3F7D3A;--jaune:#F2C14E;--hair:rgba(31,36,51,.25);--font-titre:"Fraunces",Georgia,serif;--font-texte:"Jost",system-ui,sans-serif;--font-main:"Caveat",cursive}
*{box-sizing:border-box}
html{scroll-padding-top:5rem}
body{margin:0;background:var(--creme);color:var(--nuit);font:1.06rem/1.6 var(--font-texte)}
a{color:var(--violet)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--rouge);outline-offset:4px}
h1,h2,h3{font-family:var(--font-titre);font-weight:400;line-height:1.15;color:var(--violet)}
em{font-style:italic}
.hand{font:1.7rem var(--font-main);color:var(--rouge);margin:.2rem 0}

/* ---------- ACCUEIL : hero plein écran ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;justify-content:center;text-align:center;overflow:hidden;color:var(--creme)}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;animation:fade 2.2s ease-out both}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(31,36,51,.8) 0,rgba(31,36,51,.4) 38%,rgba(31,36,51,0) 65%)}
.hero .txt{position:relative;z-index:2;max-width:46rem;padding:0 1.2rem calc(9svh + env(safe-area-inset-bottom,0px));animation:rise .9s ease-out .3s both}
.hero .hand{color:var(--creme);opacity:.95}
.hero h1{font-weight:300;color:var(--creme);font-size:clamp(2.4rem,7vw,4.6rem);letter-spacing:-.015em;margin:.1rem 0 .6rem}
.hero h1 em{color:var(--jaune);padding:0 .1em}
.hero .info{font-size:clamp(1.05rem,2.2vw,1.35rem);margin:0}
.nb{white-space:nowrap}
.btn-ghost{display:inline-block;margin-top:1.4rem;padding:.7rem 1.9rem;border:2px solid var(--creme);color:var(--creme);text-decoration:none;font-weight:500;letter-spacing:.04em}
.btn-ghost:hover{background:var(--creme);color:var(--nuit)}
.credit{position:absolute;z-index:3;right:14px;bottom:calc(10px + env(safe-area-inset-bottom,0px));font-size:.7rem;color:var(--creme);opacity:.8}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hero img,.hero .txt{animation:none}}

/* ---------- PAGES INTERNES ---------- */
main:not(.hero){max-width:42rem;margin:0 auto;padding:2.2rem 1.2rem 3rem}
main:not(.hero) h1{font-size:clamp(2rem,7vw,2.9rem);margin:.3rem 0 .4rem}
main:not(.hero) h2{font-size:1.6rem;margin:2.4rem 0 .5rem}
h3{font-size:1.2rem;color:var(--vert);margin:1.6rem 0 .3rem}
.lead{font-size:1.2rem}
.moment{background:var(--ciel);border-radius:14px 14px 14px 4px;padding:.9rem 1.2rem;margin:1rem 0}
.moment h3{margin-top:0}.moment p{margin:.3rem 0}
.tbc{background:var(--jaune);border-radius:4px;padding:0 .4em;font-size:.88em;white-space:nowrap}
table{width:100%;border-collapse:collapse;margin:1rem 0}
th,td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--hair);vertical-align:top}
th{font-family:var(--font-titre);color:var(--violet)}
.scroll{overflow-x:auto}
details{border-bottom:1px solid var(--hair);padding:.7rem 0}
summary{cursor:pointer;font:600 1.1rem var(--font-titre);color:var(--violet)}
details[open] summary{color:var(--rouge)}
details p{margin:.5rem 0 0}
footer{background:var(--ciel);text-align:center;padding:1.6rem 1rem;font-size:.95rem}
footer p{margin:.3rem 0}
.leaf{font-size:.6rem;opacity:.6}