/* DITA : boudoir parisien. Noir velours, or satiné, rubis. Aucun glow. */
:root{--bg:#0A0A0A;--velvet:#141414;--gold:#C5A059;--ruby:#9E1B32;--magenta:#B81D52;--txt:#EAE6DF;--pearl:#A39E93;--serif:'Cormorant Garamond','Playfair Display',Georgia,serif;--sans:'Plus Jakarta Sans',Montserrat,system-ui,sans-serif;--line:1px solid var(--gold);color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;background:var(--bg)}
body{margin:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg);color:var(--txt);font:300 1.05rem/1.8 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}
a{color:inherit}
img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--bg);padding:.6rem 1rem;z-index:200}
.skip:focus{left:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0 0 1rem;color:var(--txt)}
h1{font-size:clamp(2.3rem,6vw,4.4rem);font-weight:400}
.h1-sm{font-size:clamp(2.1rem,5vw,3.4rem)}
h2{font-size:clamp(1.8rem,4vw,2.8rem)}
h3{font-size:1.5rem;color:var(--gold)}
p{margin:0 0 1.1rem;color:var(--pearl)}
em{color:var(--gold)}
.center{text-align:center}
.mb{margin-bottom:2.4rem}
.mid{max-width:640px;margin-left:auto;margin-right:auto}
.feather{position:fixed;right:-4vw;top:12vh;width:min(46vw,420px);height:auto;opacity:.05;pointer-events:none;transform:rotate(14deg);z-index:0;color:var(--txt)}

.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(10,10,10,.94);border-bottom:var(--line);backdrop-filter:blur(6px)}
.bar{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.4rem;gap:1rem}
.logo{font-family:var(--serif);font-size:1.9rem;letter-spacing:.38em;color:var(--gold);text-decoration:none;padding-left:.38em}
.menu{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem}
.site-header .menu a{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--pearl);padding:.6rem 0;border-bottom:1px solid transparent;transition:all .4s ease;display:inline-block}
.site-header .menu a:hover,.site-header .current-menu-item>a,.site-header .current_page_item>a{color:var(--gold);border-color:var(--gold)}

.site-main{position:relative;z-index:1;max-width:1120px;margin:auto;padding:0 1.4rem;animation:in .7s ease both}
@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
section{padding:clamp(3.5rem,9vw,6.5rem) 0}
section.tight{padding-top:2rem}
.hero{text-align:center;padding:clamp(5rem,14vw,10rem) 0 clamp(4rem,10vw,7rem);max-width:820px;margin:auto}
.eyebrow{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:1.6rem;display:block}
.lead{font-size:1.15rem;max-width:620px;margin:1.6rem auto 2.4rem}
.narrow{max-width:700px;margin:auto;text-align:center}
.narrow.legal{text-align:left}
.legal h2{font-size:1.5rem;margin-top:2.2rem}
.legal a{color:var(--gold)}
.cord{display:block;width:100%;height:18px;color:var(--gold);opacity:.7}

.btn{display:inline-block;font:500 .78rem var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;background:var(--ruby);color:var(--txt);border:1px solid var(--ruby);padding:1.05rem 2.2rem;cursor:pointer;transition:all .4s ease;min-height:48px;border-radius:0}
.btn:hover{background:var(--magenta);border-color:var(--magenta)}
.btn.ghost{background:transparent;border-color:var(--gold);color:var(--gold)}
.btn.ghost:hover{background:var(--gold);color:var(--bg)}
.btn.is-off{opacity:.5;cursor:default;pointer-events:none}

.grid{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.pillar{padding:2rem 1.4rem;border-top:var(--line);text-align:left}
.pillar .n{font-family:var(--serif);color:var(--ruby);letter-spacing:.3em}
.card{background:var(--velvet);border:var(--line);padding:2.2rem 1.8rem;display:flex;flex-direction:column;transition:all .4s ease}
.card:hover{background:#181818;transform:translateY(-4px)}
.card .tag{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--magenta);margin-bottom:.8rem}
.symbols{max-width:760px;margin:1.6rem auto 0}
.sym{display:flex;gap:1.2rem;padding:1.6rem 0;border-bottom:1px solid rgba(197,160,89,.28)}
.sym svg{flex:0 0 40px;width:40px;height:40px;color:var(--gold)}
.sym h3{margin-bottom:.3rem}
.sym p{margin:0}
.quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3.6vw,2.3rem);color:var(--gold);max-width:780px;margin:0 auto 1.6rem;line-height:1.35}
.panel{background:var(--velvet);border:var(--line);padding:clamp(1.6rem,5vw,3rem)}

form{display:grid;gap:1rem;max-width:520px;margin:1.4rem auto 0;text-align:left}
label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
input[type=text],input[type=email],input[type=tel]{width:100%;background:var(--bg);border:1px solid rgba(197,160,89,.45);color:var(--txt);font:inherit;padding:.9rem 1rem;margin-top:.4rem;transition:all .4s ease;border-radius:0;min-height:48px}
input:focus{outline:none;border-color:var(--gold);background:#0f0f0f}
.chk{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;color:var(--pearl);letter-spacing:0;text-transform:none}
.chk input{margin-top:.35rem;accent-color:var(--ruby);flex:0 0 18px;height:18px}
.msg{min-height:1.4rem;color:var(--gold);font-size:.92rem;text-align:center;margin:0}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}

.site-footer{position:relative;z-index:1;border-top:var(--line);margin-top:2rem;padding:3rem 1.4rem 2.4rem;text-align:center;background:var(--bg)}
.site-footer .menu{flex-wrap:wrap;justify-content:center;gap:.4rem 1.8rem;margin-bottom:1.8rem}
.site-footer a{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pearl);text-decoration:none;padding:.5rem 0;display:inline-block;transition:color .4s ease}
.site-footer a:hover{color:var(--gold)}
.pump{width:58px;height:auto;color:var(--ruby);display:block;margin:0 auto .8rem}
.small{font-size:.78rem;margin:0}

/* Vérification d'âge */
#age{position:fixed;inset:0;z-index:100;background:rgba(10,10,10,.97);display:flex;align-items:center;justify-content:center;padding:1.4rem}
.age-ok #age{display:none}
#age .box{background:var(--velvet);border:var(--line);max-width:480px;padding:2.6rem 2rem;text-align:center}
#age .logo{display:block;font-size:2.4rem;margin-bottom:1.2rem}
#age p{color:var(--txt);margin-top:1.4rem}

:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
@media(max-width:720px){.bar{flex-direction:column;gap:.2rem;padding:.7rem 1rem}.menu{gap:1.1rem}.logo{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
