:root{--noir:#0d0b0a;--creme:#f4efe7;--or:#c9a46a;--ink:#f4efe7;--muted:rgba(244,239,231,.64);--line:rgba(244,239,231,.16);--err:#ff8a7a}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--noir);color:var(--ink);font:15px/1.5 Inter,-apple-system,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.serif{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400}
.hero{position:relative;height:92vh;min-height:560px;overflow:hidden}
.mos{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr)}
.mos div{background-size:cover;background-position:center;animation:zoom 18s ease-in-out infinite alternate}
.mos div:nth-child(2){animation-delay:-4s}.mos div:nth-child(3){animation-delay:-9s}.mos div:nth-child(4){animation-delay:-13s}
@media(max-width:700px){.mos{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}}
@keyframes zoom{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,11,10,.35) 0%,rgba(13,11,10,.3) 40%,rgba(13,11,10,.96) 100%)}
.hero .in{position:absolute;left:0;right:0;bottom:9vh;z-index:2;text-align:center;padding:0 20px}
.sur{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--or);margin-bottom:14px}
.hero h1{font-size:clamp(40px,7vw,86px);line-height:1}.hero h1 i{font-style:italic;color:var(--or)}
.hero p{max-width:560px;margin:18px auto 26px;color:var(--muted);font-size:16px}
.cta{display:inline-block;background:var(--creme);color:var(--noir);font:600 14px Inter,system-ui,sans-serif;letter-spacing:.04em;padding:15px 28px;border-radius:40px;cursor:pointer;border:0}
.cta:hover{background:#fff}.cta:disabled{opacity:.5}
section{max-width:1180px;margin:0 auto;padding:70px 20px}
.et{color:var(--or);font-size:13px;letter-spacing:.2em;margin-bottom:8px}
h2{font-size:clamp(30px,4vw,46px);line-height:1.05}
.sous{color:var(--muted);margin:8px 0 28px;max-width:620px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.lieu{position:relative;height:380px;border-radius:22px;overflow:hidden;cursor:pointer;border:1px solid var(--line);transition:transform .35s,box-shadow .35s;background:#1a1613;text-align:left;color:inherit;font:inherit;padding:0}
.lieu .ph{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s}
.lieu:hover .ph{transform:scale(1.05)}
.lieu:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.85) 100%)}
.lieu .tx{position:absolute;left:20px;right:20px;bottom:18px;z-index:2}
.lieu .tx b{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:34px;line-height:1}
.lieu .tx small{display:block;color:var(--muted);font-size:13px;margin-top:6px}
.lieu .tx em{display:block;font-style:normal;font-size:13px;margin-top:8px;opacity:.92}
.lieu .ck{position:absolute;top:16px;right:16px;z-index:3;width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,.85);display:grid;place-items:center;font-size:16px;background:rgba(0,0,0,.25);backdrop-filter:blur(6px);transition:.25s}
.lieu.on{box-shadow:0 0 0 2px var(--or),0 24px 60px -20px rgba(201,164,106,.55);transform:translateY(-4px)}
.lieu.on .ck{background:var(--or);border-color:var(--or);color:var(--noir)}
.lieu .bientot{position:absolute;top:60px;left:16px;z-index:3;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;background:rgba(201,164,106,.92);color:var(--noir);padding:4px 9px;border-radius:20px;font-weight:600}
.lieu.vide .ph{background:radial-gradient(120% 90% at 30% 20%,#3a2a1c 0%,#15110d 60%),#15110d}
.lieu.vide .ph:before{content:"O";position:absolute;inset:0;display:grid;place-items:center;font-family:"Cormorant Garamond",serif;font-size:220px;color:rgba(201,164,106,.18);font-style:italic}
.conseil{width:100%;margin-top:16px;display:flex;align-items:center;gap:12px;border:1px dashed var(--line);border-radius:18px;padding:16px 18px;cursor:pointer;color:var(--muted);background:none;font:inherit;text-align:left}
.conseil.on{border-style:solid;border-color:var(--or);color:var(--ink)}
.conseil i{font-style:normal;width:26px;height:26px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;font-size:13px;flex:none}
.conseil.on i{background:var(--or);border-color:var(--or);color:var(--noir)}
.choix{position:sticky;bottom:16px;z-index:10;margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(26,22,19,.88);border:1px solid var(--line);border-radius:40px;padding:10px 10px 10px 22px;backdrop-filter:blur(16px)}
.choix span{color:var(--muted);font-size:14px}.choix span b{color:var(--ink);font-weight:600}
.cols{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
@media(max-width:860px){.cols{grid-template-columns:1fr}}
.card{background:#16120f;border:1px solid var(--line);border-radius:22px;padding:24px}
.card h3{font-size:26px;margin-bottom:6px}
.f{margin-top:14px}.f label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
input,textarea{width:100%;background:#0d0b0a;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font:16px Inter,system-ui,sans-serif;color:var(--ink);outline:none;color-scheme:dark;-webkit-appearance:none;appearance:none}
input:focus,textarea:focus{border-color:var(--or)}textarea{min-height:96px;resize:vertical}
input[type=date],input[type=time]{min-height:50px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{border:1px solid var(--line);border-radius:30px;padding:9px 14px;font:14px Inter,system-ui,sans-serif;cursor:pointer;background:none;color:var(--ink)}
.chips button.armada{border-color:rgba(201,164,106,.6);color:var(--or)}
.chips button.on{background:var(--creme);color:var(--noir);border-color:var(--creme)}
.recap{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.recap div{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:30px;padding:5px 12px 5px 5px;font-size:13.5px}
.recap .o{width:28px;height:28px;border-radius:50%;background:#3a2a1c center/cover;display:grid;place-items:center;font-size:13px}
.recap a{color:var(--or);font-size:13px;align-self:center}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin-top:12px;cursor:pointer}
.chk input{width:18px;height:18px;flex:none;margin-top:1px;-webkit-appearance:checkbox;appearance:auto;accent-color:var(--or);padding:0}
.chk a{color:var(--ink)}
.envoyer{width:100%;margin-top:18px;padding:16px}
.err{color:var(--err);font-size:14px;margin-top:10px;min-height:18px}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.merci{text-align:center;padding:90px 20px;border-top:1px solid var(--line)}
.merci h2{margin:10px 0;font-size:46px}.merci p{color:var(--muted);max-width:520px;margin:0 auto}
.pied{text-align:center;color:var(--muted);font-size:12px;padding:30px 20px 60px;letter-spacing:.06em}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
.info-rgpd{font-size:12.5px;line-height:1.6;color:var(--muted);margin:14px 2px 0}.info-rgpd a{color:var(--ink)}
