:root{--noir:#0c0a0b;--charbon:#161213;--bordeaux:#7a0a22;--bordeaux2:#a3122f;--or:#d9b45b;--or2:#f2dc9b;--ivoire:#f6f0e4;--gris:#b9afa6;--r:6px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--noir);color:var(--ivoire);font:400 17px/1.7 Figtree,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
img{max-width:100%;height:auto}a{color:var(--or);text-underline-offset:3px}a:hover{color:var(--or2)}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.1;margin:0 0 .5em;letter-spacing:.2px}
h1{font-size:clamp(2.6rem,6.4vw,5rem)}h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}h3{font-size:1.5rem}
p{margin:0 0 1em;max-width:68ch}.muted{color:var(--gris)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--or);color:#000;padding:8px 12px;z-index:99}
:focus-visible{outline:2px solid var(--or2);outline-offset:3px}
.wrap{width:min(1120px,92%);margin:0 auto}
/* en-tête */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 4%;background:rgba(12,10,11,.94);backdrop-filter:blur(8px);border-bottom:1px solid #2a2123}
.brand img{display:block;height:auto;width:min(210px,46vw)}
.top nav{display:flex;align-items:center;gap:26px}
.top nav a{color:var(--ivoire);text-decoration:none;font-weight:500}
.top nav a:hover,.top nav a[aria-current]{color:var(--or)}
.nav-toggle,.burger{display:none}
.btn{display:inline-block;background:linear-gradient(180deg,var(--bordeaux2),var(--bordeaux));color:#fff;border:1px solid #c4954a;border-radius:var(--r);padding:14px 28px;font:600 1rem Figtree,sans-serif;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{color:#fff;transform:translateY(-1px);box-shadow:0 8px 24px rgba(163,18,47,.35)}
.btn.small{padding:9px 20px}.btn.ghost{background:transparent;color:var(--ivoire);border-color:#4a3d3f}
/* accueil */
.hero{position:relative;overflow:hidden;padding:clamp(70px,12vw,150px) 0 clamp(70px,10vw,120px);background:radial-gradient(900px 420px at 85% 10%,rgba(122,10,34,.45),transparent 70%),var(--noir)}
.hero svg{position:absolute;right:-6%;top:-8%;width:min(760px,90vw);opacity:.9;pointer-events:none}
.hero .wrap{position:relative}
.hero p.lead{font-size:1.25rem;color:#e6dccb;max-width:44ch}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.gold{background:linear-gradient(90deg,var(--or2),var(--or) 60%,#b88a2e);-webkit-background-clip:text;background-clip:text;color:transparent}
section.band{padding:clamp(56px,8vw,100px) 0}
section.alt{background:var(--charbon);border-block:1px solid #261e20}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}
.ph{aspect-ratio:4/5;border-radius:var(--r);border:1px solid #3a2e30;background:linear-gradient(160deg,#2a0b14,#120d0e 55%,#2a2110);display:flex;align-items:end;padding:18px;color:var(--gris);font-size:.9rem}
.ph.wide{aspect-ratio:16/9}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #3a2e30}
.values div{padding:28px 26px 8px 0}.values div+div{padding-left:26px;border-left:1px solid #3a2e30}
/* étapes */
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:0}
.steps li{counter-increment:s;display:grid;grid-template-columns:64px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid #2f2527}
.steps li::before{content:counter(s);font:600 2.6rem/1 'Cormorant Garamond',serif;color:var(--or)}
.steps h3{margin-bottom:.2em}.steps p{margin:0;color:#d8cfc0}
/* pages texte */
.page-head{padding:clamp(50px,7vw,90px) 0 20px;border-bottom:1px solid #2a2123}
.prose{padding:40px 0 90px}.prose h2{font-size:1.9rem;margin-top:1.6em}.prose h3{font-size:1.35rem;margin-top:1.2em}
.prose ul{padding-left:1.2em;max-width:68ch}.prose li{margin-bottom:.4em}
.box{border:1px solid #4a3a2b;background:#1b1415;border-radius:var(--r);padding:16px 20px;max-width:68ch}
/* FAQ */
details{border-bottom:1px solid #2f2527;padding:18px 0;max-width:820px}
summary{cursor:pointer;font:600 1.5rem 'Cormorant Garamond',serif;list-style:none;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}summary::after{content:'+';color:var(--or);font-size:1.6rem;line-height:1}
details[open] summary::after{content:'–'}details p{margin:.8em 0 0;color:#d8cfc0}
/* formulaire */
.form{max-width:760px;display:grid;gap:20px;padding:10px 0 90px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
label{display:block;font-weight:500;margin-bottom:6px}
input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{width:100%;background:#151112;border:1px solid #4a3d3f;border-radius:var(--r);color:var(--ivoire);padding:13px 14px;font:inherit}
input:focus,select:focus,textarea:focus{border-color:var(--or);outline:none;box-shadow:0 0 0 3px rgba(217,180,91,.2)}
.check{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:#d8cfc0}.check input{margin-top:5px;accent-color:var(--bordeaux2);width:18px;height:18px;flex:none}
.hint{font-size:.9rem;color:var(--gris);margin-top:4px}
.alert{border-radius:var(--r);padding:16px 20px;max-width:760px;margin:30px 0 0}
.alert.err{background:#2a0d12;border:1px solid var(--bordeaux2)}.alert.ok{background:#14210f;border:1px solid #4d7a3a}
.alert ul{margin:6px 0 0;padding-left:1.2em}
.hp{position:absolute;left:-9999px}
/* pied */
.foot{background:#080607;border-top:1px solid #2a2123;padding:56px 4% 28px}
.foot-grid{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.foot h4{font:600 1.3rem 'Cormorant Garamond',serif;margin:0 0 10px;color:var(--or)}
.foot a{display:block;color:var(--ivoire);text-decoration:none;margin-bottom:6px}.foot a:hover{color:var(--or)}
.legal-line{width:min(1120px,100%);margin:34px auto 0;color:var(--gris);font-size:.85rem;border-top:1px solid #231b1d;padding-top:18px}
/* majorité */
.gate{position:fixed;inset:0;z-index:100;background:rgba(6,4,5,.96);display:grid;place-items:center;padding:20px}
.gate[hidden]{display:none}
.gate-box{max-width:520px;text-align:center;border:1px solid #5a4630;background:var(--charbon);padding:40px 32px;border-radius:10px}
.gate-box p{margin-inline:auto}.gate-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
/* mobile */
@media(max-width:820px){
 .split,.values,.row,.foot-grid{grid-template-columns:1fr}
 .values div,.values div+div{padding:20px 0;border-left:0;border-bottom:1px solid #3a2e30}
 .burger{display:block;width:42px;height:42px;cursor:pointer;position:relative;border:1px solid #4a3d3f;border-radius:var(--r)}
 .burger span,.burger span::before,.burger span::after{position:absolute;left:10px;right:10px;height:2px;background:var(--or);content:''}
 .burger span{top:19px}.burger span::before{top:-7px;left:0;right:0}.burger span::after{top:7px;left:0;right:0}
 .top nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:16px;padding:22px 6%;background:var(--noir);border-bottom:1px solid #2a2123}
 .nav-toggle:checked~nav{display:flex}
 .hero svg{opacity:.45}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
