
:root{--bg:#090a0d;--panel:#111217;--gold:#e5b976;--cream:#f5efe5;--muted:#a9a6a2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{cursor:pointer}header{position:sticky;top:0;z-index:30;background:#0b0b10e9;backdrop-filter:blur(18px);border-bottom:1px solid #e0b66f26}.head{margin:auto;width:min(1400px,94%);display:flex;align-items:center;gap:20px;justify-content:space-between;min-height:78px}.logo{line-height:.86;letter-spacing:-.08em;font-weight:900;font-size:25px}.logo small{font-size:12px;display:block;letter-spacing:-.05em}.nav{display:flex;gap:16px;align-items:center}.nav a{font-size:11px;text-transform:uppercase;font-weight:750;letter-spacing:.07em;white-space:nowrap;color:#ddd2bd}.nav a:hover,.nav a[aria-current]{color:var(--gold)}.menu-button{display:none;background:none;color:white;border:1px solid #876f50;padding:12px}.container{width:min(1260px,90%);margin:auto}.page-hero{position:relative;min-height:550px;display:grid;align-items:end;overflow:hidden;background:#121014}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#090a0d 0%,#090a0d50 53%,#090a0d20)}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 44%;opacity:.88}.page-hero .container{position:relative;z-index:1;padding:145px 0 65px}.kicker{font-size:11px;font-weight:850;letter-spacing:.24em;color:var(--gold);text-transform:uppercase}.page-hero h1{font-size:clamp(50px,8.5vw,126px);line-height:.95;max-width:1100px;letter-spacing:-.079em;margin:22px 0}.page-hero p{max-width:750px;color:#e7dfd6;line-height:1.75}.section{padding:105px 0}.section.alt{background:#111117}.section h2{font-size:clamp(33px,5.3vw,75px);line-height:1.05;letter-spacing:-.065em;margin:16px 0 30px}.intro{font-size:clamp(17px,2vw,24px);color:#ddd5c9;max-width:900px;line-height:1.75}.prose{max-width:900px;color:#c6c0b7;font-size:16px;line-height:1.95}.prose p{margin:0 0 22px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.card{display:block;overflow:hidden;background:#1a1a20;border:1px solid #e4b97524;transition:transform .35s,border-color .35s}.card:hover{transform:translateY(-7px);border-color:#e4b97575}.card img{width:100%;height:255px;object-fit:cover}.card-copy{padding:24px}.card h3{font-size:24px;letter-spacing:-.045em;margin:13px 0}.card p{color:#bbb5ae;line-height:1.6;font-size:13px}.mini{color:var(--gold);text-transform:uppercase;font-size:10px;letter-spacing:.15em;font-weight:850}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split>img{width:100%;height:580px;object-fit:cover}.cta{display:inline-block;padding:17px 26px;border:1px solid var(--gold);color:var(--gold);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin-top:23px}.cta:hover{background:var(--gold);color:#100f0d}.artnote{font-size:11px;color:#c7c3bb;letter-spacing:.03em;margin-top:10px}.video{max-width:950px;margin:35px 0}.video video{width:100%;max-height:600px;background:black}.video p{color:#c3c1bb;font-size:12px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery figure{margin:0}.gallery img{width:100%;height:280px;object-fit:cover}.gallery figcaption{font-size:12px;color:#b8b0a2;margin-top:11px}.notice{border-left:2px solid var(--gold);padding:17px 24px;background:#201c19;color:#d8d1c5;line-height:1.7}.home-hero{position:relative;min-height:calc(100svh - 78px);display:grid;align-items:end;overflow:hidden;background:#100c0a}.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.home-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#090a0d 0%,transparent 38%,#090a0d66 100%)}.home-copy{z-index:2;position:relative;padding:80px 0 85px}.home-copy h1{font-size:clamp(44px,6vw,94px);line-height:.94;letter-spacing:-.07em;margin:17px 0;max-width:850px;text-shadow:0 2px 30px #000}.home-copy p{max-width:650px;line-height:1.7;text-shadow:0 2px 10px #000}.stars{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.star{position:absolute;width:2px;height:2px;border-radius:50%;background:#ffe4af;box-shadow:0 0 15px 2px #efb75c;animation:twinkle 2.3s infinite alternate}@keyframes twinkle{to{opacity:.15;transform:scale(.4)}}.signature-strip{padding:110px 0;text-align:center;background:radial-gradient(ellipse at center,#2c2013,#08090c 70%)}.signature-strip img{max-width:min(850px,95%);margin:auto;mix-blend-mode:screen}.signature-strip p{letter-spacing:.25em;font-size:11px;color:var(--gold)}footer{border-top:1px solid #ffffff22;padding:35px 0;color:#a8a29a;font-size:12px}footer .container{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer a{color:var(--gold)}@media(max-width:1050px){.nav{display:none;position:absolute;left:0;right:0;top:78px;background:#0c0d11;padding:25px 6%;flex-direction:column;align-items:flex-start;gap:24px}.nav.open{display:flex}.menu-button{display:block}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.split>img{height:auto;max-height:600px}}@media(max-width:630px){.cards,.gallery{grid-template-columns:1fr}.card img,.gallery img{height:240px}.section{padding:68px 0}.home-hero{min-height:670px}.home-hero>img{object-position:46% 45%}.home-copy{padding:320px 0 60px}.page-hero{min-height:450px}.page-hero .container{padding:100px 0 45px}}

/* V17 — Accueil animé. Les pages secondaires et le menu V16 sont inchangés. */
.magic-scroll{height:340svh;position:relative;background:#090a0d}
.magic-stage{position:sticky;top:78px;height:calc(100svh - 78px);min-height:500px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 48%,#291c11,#090a0d 78%)}
.magic-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:1;will-change:opacity,transform}
.magic-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(4,5,7,.44),transparent 32%,transparent 60%,rgba(4,5,7,.55))}
.magic-typography{position:absolute;left:50%;top:7%;width:min(91vw,1280px);transform:translateX(-50%);z-index:4;text-align:center;pointer-events:none;will-change:opacity}
.magic-typography>span{display:block;color:#f7deb4;font-weight:800;font-size:clamp(8px,.78vw,12px);letter-spacing:.22em;text-shadow:0 1px 9px #000}
.magic-typography h1{font-size:clamp(40px,6.5vw,108px);line-height:1.04;margin:18px 0 0;font-weight:800;letter-spacing:-.08em;text-shadow:0 2px 14px #000a;color:#eee1c4dd;white-space:nowrap}
.magic-typography h1 em{font-style:normal;color:#e6ba72}
.magic-stars{z-index:6}.magic-stars .star{width:2px;height:2px}
.magic-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:7;pointer-events:none;opacity:0}
.magic-signature{position:absolute;z-index:8;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;opacity:0;pointer-events:none;gap:10px;transform:translateY(20px)}
.magic-signature img{width:min(80vw,950px);max-height:55%;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 0 20px #d7a24b60)}
.magic-signature p,.magic-signature span{font-weight:800;text-align:center;font-size:clamp(9px,.75vw,13px);letter-spacing:.3em;color:#ebd2ac;text-shadow:0 1px 15px #000}
.magic-footer{position:absolute;z-index:9;left:5%;right:5%;bottom:18px;display:flex;justify-content:space-between;gap:16px;pointer-events:none;color:#eee0c5;font-size:9px;font-weight:800;letter-spacing:.16em;text-shadow:0 2px 8px #000}
@media(max-width:700px){.magic-scroll{height:280svh}.magic-stage{min-height:390px}.magic-photo{object-position:50% 50%}.magic-typography{top:9%}.magic-typography h1{font-size:11vw;letter-spacing:-.07em}.magic-signature img{width:94vw}.magic-signature p,.magic-signature span{max-width:90%;font-size:9px;letter-spacing:.1em}.magic-footer{flex-direction:column;align-items:center;font-size:8px;text-align:center}}
@media(prefers-reduced-motion:reduce){.magic-canvas{display:none!important}}


/* V18 — Accueil recadré : image entière visible, pas de double titre. */
.magic-stage{background:radial-gradient(ellipse at 50% 42%,#342315 0%,#120f13 54%,#090a0d 100%)}
.magic-photo{object-fit:contain!important;object-position:50% 58%!important;transform:scale(.965)}
.magic-shade{background:linear-gradient(180deg,rgba(4,5,7,.30),rgba(4,5,7,.06) 28%,rgba(4,5,7,.08) 66%,rgba(4,5,7,.38))}
.magic-typography{top:3.8%;width:min(90vw,1160px)}
.magic-typography h1{display:none}
.magic-typography>span{font-size:clamp(9px,.78vw,13px);letter-spacing:.24em}
.magic-footer{bottom:20px}
@media(max-width:700px){.magic-photo{object-fit:contain!important;object-position:50% 60%!important;transform:scale(1)}.magic-typography{top:7.2%}}

/* V19 — accueil photo immersive sans second nom superposé */
.magic-stage{background:radial-gradient(ellipse at 50% 42%,#342315 0%,#120f13 54%,#090a0d 100%)}
.magic-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover!important;object-position:50% 52%!important;transform:scale(1.03);z-index:1;will-change:opacity,transform}
.magic-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(4,5,7,.22) 0%,rgba(4,5,7,.04) 28%,rgba(4,5,7,.10) 68%,rgba(4,5,7,.42) 100%)}
.magic-typography{position:absolute;left:50%;top:4.2%;width:min(94vw,1400px);transform:translateX(-50%);z-index:4;text-align:center;pointer-events:none;will-change:opacity}
.magic-typography>span{display:block;color:#f7deb4;font-weight:800;font-size:clamp(9px,.8vw,13px);letter-spacing:.22em;text-shadow:0 1px 9px #000}
.magic-typography h1,.magic-typography p{display:none!important}
.magic-footer{bottom:18px}
@media(max-width:700px){.magic-photo{object-fit:cover!important;object-position:50% 50%!important;transform:scale(1.06)}.magic-typography{top:7.2%;width:min(92vw,1200px)}.magic-footer{flex-direction:column;align-items:center;font-size:8px;text-align:center}}

/* V20: hero panoramique réellement recomposé. Aucune superposition de titres. */
.magic-stage{background:#110f10!important}
.magic-photo{object-fit:cover!important;object-position:50% 50%!important;transform:none!important;width:100%!important;height:100%!important}
.magic-typography{display:none!important}
.magic-shade{background:linear-gradient(180deg,rgba(4,5,7,.06) 0%,transparent 24%,transparent 74%,rgba(4,5,7,.18) 100%)!important}
@media(max-width:700px){.magic-photo{object-fit:cover!important;object-position:50% 50%!important;transform:none!important}}

/* V21 : image mise à jour, visage et lettrage entièrement visibles */
.magic-stage{background:#100d0d!important}
.magic-stage:before{content:"";position:absolute;inset:-50px;z-index:0;background:url("../img/hero-v21.webp") center/cover no-repeat;filter:blur(36px) brightness(.34);transform:scale(1.06);pointer-events:none}
.magic-photo{object-fit:contain!important;object-position:center center!important;transform:none!important}
.magic-typography{display:none!important}
@media(max-width:700px){.magic-photo{object-fit:contain!important;object-position:center center!important;transform:none!important}}

/* V22: panorama plus large, nom lisible et effet doré conservés. */
.magic-stage:before{background-image:url("../img/hero-v22.webp")!important}
.magic-photo{object-fit:contain!important;object-position:center!important;transform:none!important}

/* V23 — illustration panoramique bord à bord, sans bandes latérales */
.magic-stage{background:#09090c!important}
.magic-photo{object-fit:cover!important;object-position:50% 50%!important;transform:none!important;inset:0!important;width:100%!important;height:100%!important}
.magic-typography{display:none!important} /* les mots Pierre Ruby figurent dans la photo */
@media(max-width:700px){.magic-photo{object-fit:cover!important;object-position:50% 50%!important}}

/* V24 : composition panoramique actualisée, sans barre de navigation intégrée. */
.magic-stage:before{background-image:url("../img/hero-v24.webp")!important}
.magic-photo{object-fit:cover!important;object-position:center center!important;width:100%!important;height:100%!important}
