
:root{--y:#F5C400;--k:#0B0B0B;--g:#F6F6F4;--m:#6A6A6A}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font:400 1.02rem/1.75 Inter,system-ui,sans-serif;color:var(--k);background:var(--k);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.08}
img,video{max-width:100%;display:block;height:auto}a{color:inherit}
.c{max-width:1080px;margin:0 auto;padding:0 24px}.s{padding:92px 0}.dk{background:var(--k);color:#fff}.gr{background:var(--g)}
h2{font-size:clamp(2rem,4.4vw,3rem);margin-bottom:22px}h3{font-size:1.5rem;margin-bottom:6px}
p{margin-bottom:16px;max-width:62ch}.dk p{color:#CFCFCF}.mu{color:var(--m)}.dk .mu{color:#9a9a9a}
a:focus-visible,summary:focus-visible{outline:3px solid var(--y);outline-offset:3px}
header{position:sticky;top:0;z-index:50;background:var(--k);border-bottom:1px solid rgba(245,196,0,.55)}
.h{display:flex;align-items:center;gap:26px;height:64px;max-width:1080px;margin:0 auto;padding:0 24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;margin-right:auto;font:600 1.35rem 'Cormorant Garamond',serif;letter-spacing:.04em}
.brand img{width:38px;border-radius:6px}.h nav{display:flex;gap:28px}.h nav a{color:#ddd;text-decoration:none;font-size:.92rem}.h nav a:hover{color:var(--y)}
.btn{display:inline-block;padding:14px 30px;border-radius:2px;font-weight:600;font-size:.95rem;letter-spacing:.02em;text-decoration:none;background:var(--y);color:var(--k);border:1px solid var(--y)}
.btn.l{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}.btn.d{background:transparent;color:var(--k);border-color:var(--k)}.btn.sm{padding:9px 20px;font-size:.88rem}
.acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero{min-height:88vh;display:grid;place-items:start center;text-align:center;color:#fff;padding:56px 0 64px;background:linear-gradient(180deg,rgba(11,11,11,.62) 0%,rgba(11,11,11,.28) 42%,rgba(11,11,11,.06) 70%,rgba(11,11,11,.38) 100%),#0B0B0B url(hero-wide.webp) center bottom/cover no-repeat}
.hero h1,.hero p,.hero .badge{text-shadow:0 2px 18px rgba(0,0,0,.55)}
.hero .acts{justify-content:center}.hero h1{font-size:clamp(2.5rem,7.2vw,4.8rem);max-width:15ch;margin:0 auto 18px}.hero p{margin:0 auto;color:#e6e6e6;font-size:1.12rem}
.badge{display:inline-block;background:#FDD22B;border-radius:14px;padding:10px;margin-bottom:30px}.badge img{width:clamp(84px,22vw,140px)}
.ph{background:var(--k);color:#fff;padding:72px 0 64px;border-bottom:1px solid rgba(245,196,0,.55)}.ph h1{font-size:clamp(2.3rem,6vw,3.8rem);max-width:18ch;margin-bottom:16px}.ph p{color:#d6d6d6;font-size:1.08rem}
.cr{font-size:.85rem;color:#999;margin-bottom:22px}.cr a{text-decoration:none;color:var(--y)}
.rows a{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid rgba(0,0,0,.14);text-decoration:none}
.rows a:first-child{border-top:1px solid rgba(0,0,0,.14)}.rows b{font:600 1.45rem 'Cormorant Garamond',serif}.rows span{color:var(--m);font-size:.92rem;text-align:right}.rows a:hover b{color:#9a7600}
.dk .rows a{border-color:rgba(255,255,255,.18)}.dk .rows a:hover b{color:var(--y)}
.pr{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:30px}
.pr h3{font-size:2rem}.pr .d{color:#aaa;font-size:.92rem;margin-bottom:14px;max-width:34ch}
.pr li{list-style:none;display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18)}.pr li b{color:var(--y);font-weight:600}
.pn{margin-top:26px;font-size:.9rem;color:#aaa;max-width:70ch}.pn b{color:#fff}
.ba{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.ba img{width:100%}
.mo{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:30px}.mo img,.mo video{width:100%;aspect-ratio:4/5;object-fit:cover}
details{border-bottom:1px solid rgba(0,0,0,.14);padding:20px 0}summary{cursor:pointer;font:600 1.3rem 'Cormorant Garamond',serif;list-style:none}summary:after{content:'+';float:right;color:#9a7600}details[open] summary:after{content:'–'}details p{margin:12px 0 0}
.ck{list-style:none;margin:6px 0 26px}.ck li{padding:8px 0 8px 28px;position:relative}.ck li:before{content:'';position:absolute;left:0;top:19px;width:14px;height:1px;background:var(--y);box-shadow:0 0 0 .5px #9a7600}
.px{font:600 1.6rem 'Cormorant Garamond',serif;border-left:3px solid var(--y);padding-left:16px;margin-bottom:24px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.two img{width:100%;max-width:520px}
.ln{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.16)}.ln span{color:#999}.ln a,.ln b{color:var(--y);text-decoration:none;font-weight:500;text-align:right}
.sm{font-size:.85rem}.lk a{color:#bbb;text-decoration:none;margin-right:14px;display:inline-block}.lk a:hover{color:var(--y)}.lk.n a{color:var(--m)}
footer{background:var(--k);color:#999;padding:60px 0 100px;font-size:.9rem}footer h3{color:#fff;font-size:1.3rem;margin:28px 0 8px}footer a{color:#bbb;text-decoration:none}
.bar{display:none}
@media(max-width:820px){.h nav{display:none}.s{padding:62px 0}.pr,.two{grid-template-columns:1fr;gap:34px}.ba{grid-template-columns:1fr 1fr}.mo{grid-template-columns:1fr 1fr}.hero{min-height:108svh;padding:26px 0 90px;background:linear-gradient(180deg,rgba(11,11,11,.7) 0%,rgba(11,11,11,.3) 45%,rgba(11,11,11,.04) 72%,rgba(11,11,11,.3) 100%),#0B0B0B url(hero-tall.webp) center bottom/cover no-repeat}
.bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--k);border-top:1px solid var(--y)}.bar a{flex:1;text-align:center;padding:15px;font-weight:600;text-decoration:none;color:var(--k);background:var(--y)}.bar a+a{background:var(--k);color:#fff}}
@media(max-width:520px){.ba{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Tarifs luxe */
.tg{font:italic 600 1.25rem 'Cormorant Garamond',serif;color:var(--y);letter-spacing:.03em;margin:-8px 0 8px}
.fm{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}
.fc{border:1px solid rgba(245,196,0,.45);padding:34px 30px;background:rgba(255,255,255,.03)}
.fc h3{font-size:2.1rem;margin-bottom:2px}.fc .tag{display:block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--y);margin-bottom:14px}
.fc ul.pl{margin:18px 0 20px}.fc ul.pl li{list-style:none;display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.16)}.fc ul.pl b{color:var(--y);font-weight:600;white-space:nowrap}
.fc h4{font:600 .78rem Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin:20px 0 6px}
.fc ul.dt li{list-style:none;position:relative;padding:5px 0 5px 24px;color:#d6d6d6;font-size:.95rem}.fc ul.dt li:before{content:'';position:absolute;left:0;top:17px;width:12px;height:1px;background:var(--y)}
.fc .opt{color:var(--y)}
.ap{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}
.ap>div{border-top:1px solid rgba(245,196,0,.55);padding-top:22px}.ap h3{font-size:1.8rem}
.ap li{list-style:none;display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.16);color:#d6d6d6}.ap li b{color:var(--y);font-weight:600;white-space:nowrap}
.ap p.n{font-size:.92rem;color:#aaa;margin:14px 0 0}
.dv h3{font-size:1.9rem;margin:46px 0 6px}.dv .rows a{padding:17px 0}
/* Carte */
.mp{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;align-items:center}
.mp iframe{width:100%;height:420px;border:1px solid rgba(245,196,0,.55);filter:none}
/* Avis */
.av{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 26px}
.av figure{border:1px solid rgba(0,0,0,.16);border-top:3px solid var(--y);padding:22px 20px;background:var(--k2)}
.av .st{color:#9a7600;letter-spacing:.2em;font-size:.95rem;margin-bottom:8px}.av blockquote{font-size:.95rem;line-height:1.65;margin-bottom:12px}.av figcaption{font-size:.82rem;color:var(--m)}
@media(max-width:820px){.fm,.ap,.mp,.av{grid-template-columns:1fr}.mp{gap:28px}.mp iframe{height:320px}.fc{padding:26px 20px}}

@media(max-width:820px){.hero .badge{padding:7px;margin-bottom:16px;border-radius:12px}.hero .badge img{width:78px}.hero h1{font-size:clamp(1.95rem,8.6vw,2.4rem);margin-bottom:12px}.hero p{font-size:.98rem;line-height:1.6}.hero .acts{margin-top:18px;gap:10px;flex-wrap:nowrap}.hero .btn{padding:12px 14px;font-size:.88rem;flex:1;white-space:nowrap}}

/* Tableaux tarifs (sobre noir & jaune) */
.tb{width:100%;border-collapse:collapse;margin-top:26px;font-size:1rem}
.tb caption{caption-side:top;text-align:left;font:600 1.7rem 'Cormorant Garamond',Georgia,serif;color:#fff;padding-bottom:12px}
.tb th,.tb td{padding:15px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.18);vertical-align:top}
.tb thead th{color:var(--y);font:600 .78rem Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--y)}
.tb thead th a{color:var(--y);text-decoration:none}
.tb td.p,.tb th.p{text-align:right;white-space:nowrap}.tb td.p{color:var(--y);font-weight:600}
.tb tbody th{font-weight:500;color:#fff}
.tb td small{color:#aaa;font-weight:400}.tb td a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(245,196,0,.6)}.tb td a:hover{color:var(--y)}
.tb.inc td{color:#d6d6d6;font-size:.93rem}.tb.inc tbody th{color:var(--y);font:600 .78rem Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.tb.dv3 td{width:33.33%}
.tn{font-size:.88rem;color:#aaa;margin-top:16px;max-width:none}
@media(max-width:620px){.tb th,.tb td{padding:13px 6px}.tb caption{font-size:1.45rem}
.tb.inc thead{display:none}.tb.inc tr{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.18)}.tb.inc th,.tb.inc td{display:block;border:0;padding:3px 6px}.tb.inc td:before{content:attr(data-l);display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#888;margin-top:6px}
.tb.dv3 tr{display:block}.tb.dv3 td{display:block;width:auto;padding:11px 6px}}

/* ===== THÈME LUXE NOIR & JAUNE : plus aucun fond blanc ===== */
:root{--k:#0B0B0B;--k2:#121212;--k3:#171717;--m:#9d9d9d;color-scheme:dark}
body{background:var(--k);color:#EDEDED}
.s{background:var(--k)}.s+.s{border-top:1px solid rgba(245,196,0,.16)}
.dk{background:var(--k2)}.gr{background:var(--k3);color:#EDEDED}
p{color:#CFCFCF}h1,h2,h3{color:#fff}.mu{color:var(--m)}
.rows a,.rows a:first-child{border-color:rgba(245,196,0,.22)}.rows b{color:#fff}.rows span{color:#aaa}.rows a:hover b{color:var(--y)}
details{border-color:rgba(245,196,0,.22)}summary{color:#fff}summary:after,details[open] summary:after{color:var(--y)}
.ck li{color:#e4e4e4}.px{color:#fff}
.btn{transition:background .2s,color .2s}.btn:hover{background:#ffd83a;border-color:#ffd83a}
.btn.d{background:transparent;color:var(--y);border-color:var(--y)}.btn.l:hover,.btn.d:hover{background:var(--y);color:var(--k)}
.av figure{background:var(--k2);border-color:rgba(245,196,0,.25)}.av blockquote{color:#ddd}.av .st{color:var(--y)}
.lk.n a{color:#bdbdbd}.lk.n a:hover{color:var(--y)}.s p>a{color:var(--y)}
.mp iframe{background:var(--k2)}
/* Éléments luxe */
.ey{display:block;font:500 .74rem Inter,sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--y);margin-bottom:16px}
.or{width:64px;height:1px;background:var(--y);margin:0 0 26px;position:relative}.or:after{content:'';position:absolute;left:74px;top:-2px;width:5px;height:5px;background:var(--y);transform:rotate(45deg)}
.hero .or{margin:0 auto 22px}.hero .or:after{left:74px}
.hero h1 em{font-style:italic;font-weight:500;color:var(--y)}
.ph .ey{margin-bottom:12px}
.lx{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:38px 0 10px}
.lx>div{border:1px solid rgba(245,196,0,.28);border-top:2px solid var(--y);padding:30px 26px;background:linear-gradient(180deg,rgba(245,196,0,.07),rgba(245,196,0,0))}
.lx h3{font-size:1.7rem;color:#fff}.lx p{font-size:.96rem;color:#bdbdbd;margin:8px 0 0}
.lx .n{display:block;font:500 .72rem Inter,sans-serif;letter-spacing:.3em;color:var(--y);margin-bottom:12px}
.bn{border:1px solid rgba(245,196,0,.4);padding:50px 44px;background:radial-gradient(ellipse at top right,rgba(245,196,0,.14),rgba(245,196,0,0) 60%),var(--k2)}
.bn h2{margin-bottom:14px}
.zn{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.zn a{border:1px solid rgba(245,196,0,.35);padding:8px 16px;text-decoration:none;font-size:.9rem;color:#ddd;transition:background .2s,color .2s}
.zn a:hover{background:var(--y);color:var(--k)}
@media(max-width:820px){.lx{grid-template-columns:1fr}.bn{padding:34px 22px}}

/* Galeries par catégories */
.ba.fx{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.ba.fx img{width:calc(33.333% - 8px);border:1px solid rgba(245,196,0,.18)}
.gh{margin:54px 0 0}.gh:first-of-type{margin-top:30px}.gh h3{font-size:1.9rem;color:#fff;margin-bottom:4px}.gh h3:before{content:'';display:inline-block;width:26px;height:1px;background:var(--y);vertical-align:middle;margin-right:14px}.gh p{font-size:.95rem;color:#aaa;margin:0}.gh a{color:var(--y)}
.gh+.ba{margin-top:18px}
.mo{grid-template-columns:repeat(5,1fr)}.mo img,.mo video{border:1px solid rgba(245,196,0,.18)}
.rows .rw{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid rgba(245,196,0,.22)}.rows .rw:first-child{border-top:1px solid rgba(245,196,0,.22)}
.tb.dv3 td{color:#e4e4e4}
@media(max-width:820px){.ba.fx img{width:calc(50% - 6px)}.mo{grid-template-columns:1fr 1fr}.mo>:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:16/10}}
@media(max-width:520px){.ba.fx img{width:100%}}

.hero .ey{font-size:.8rem;font-weight:600}@media(max-width:820px){.hero .ey{letter-spacing:.16em;font-size:.72rem;line-height:1.7}}
