:root{--obs:#0d0d0e;--bas:#1a1b1d;--tit:#26282b;--line:#34363a;--gold:#b59a5b;--gold2:#8f7a47;--ivory:#e8e4da;--mute:#b4b0a6;--serif:"Source Serif 4","Palatino Linotype","Book Antiqua",Georgia,serif;--sans:"Manrope","Avenir Next","Trebuchet MS",sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{background:var(--obs) url(img/titane.jpg);color:var(--ivory);font:400 19.5px/1.75 var(--sans);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
main,section,header,footer,.hero,.split,.stack,.panels,.steps,.warn,.fgrid,.mono,.op,.page-h,.scrolltab,.ph{min-width:0;max-width:100%}
a{color:inherit}img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.age{position:sticky;top:0;z-index:100;background:#f3efe6;color:#16140f;border-bottom:3px solid #16140f;padding:.8rem 1.3rem;display:flex;gap:.85rem;align-items:flex-start;justify-content:center;font-size:.78rem;line-height:1.4;font-weight:600;letter-spacing:.01em}
.age b{display:inline-grid;place-items:center;width:2.35rem;height:2.35rem;border:2px solid #16140f;border-radius:50%;color:#16140f;font-weight:700;flex:none;font-size:.82rem;margin-top:.05rem}
.age a{color:#16140f;text-underline-offset:2px;min-width:0;overflow-wrap:break-word}
.licno{font-size:.92rem;line-height:1.45;color:var(--gold);overflow-wrap:anywhere}
header.top{display:flex;justify-content:space-between;align-items:center;padding:1.15rem 4vw;gap:1rem;position:relative;flex-wrap:wrap}
.brand{font:500 1.85rem/1 var(--serif);letter-spacing:.03em;text-decoration:none;flex:none}
.brand i{font-style:normal;color:var(--gold)}
nav ul{display:flex;gap:.45rem;list-style:none;flex-wrap:wrap;justify-content:flex-end}
nav a{display:inline-block;text-decoration:none;font-size:.95rem;letter-spacing:.02em;color:var(--ivory);padding:.55rem .95rem;border:1px solid #4a4638;border-radius:999px;background:linear-gradient(180deg,#232428,#16171a);box-shadow:inset 0 1px 0 rgba(232,228,218,.08);transition:transform .22s ease,border-color .22s,background .22s,color .22s,box-shadow .22s}
nav a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.35)}
nav a[aria-current]{background:var(--gold);color:var(--obs);border-color:var(--gold);box-shadow:0 0 0 1px rgba(181,154,91,.35)}
nav a[aria-current]:hover{color:var(--obs);background:#d4c48a}
.burger{display:none;background:#1a1b1d;border:1px solid var(--gold2);color:var(--ivory);padding:.55rem 1rem;font:inherit;font-size:1rem;border-radius:999px;cursor:pointer}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15}
h1{font-size:clamp(2.9rem,6.2vw,5.4rem);letter-spacing:0}
h2{font-size:clamp(2.05rem,3.5vw,3rem);margin-bottom:1rem}h3{font-size:1.85rem;margin-bottom:.55rem}
.hero{display:grid;grid-template-columns:7fr 5fr;gap:4vw;padding:5vh 5vw 8vh;align-items:end}
.hero p.lead{max-width:40rem;margin:1.6rem 0 1rem;color:#d7d2c6;font-size:1.24rem}
.hero p.lead+p{max-width:40rem;margin-bottom:1.8rem;color:#c9c4b8}
.hero .pic{position:relative;aspect-ratio:4/5;background:url(img/visuel-a.jpg) center/cover;border:1px solid var(--line);margin-bottom:-4rem;box-shadow:0 40px 80px #000}
.hero .pic::after{content:"";position:absolute;inset:14px;border:1px solid rgba(181,154,91,.35)}
.btn{display:inline-block;text-decoration:none;padding:.95rem 1.7rem;border:1px solid var(--gold);color:var(--gold);font-size:1rem;letter-spacing:.04em;background:transparent;transition:.25s;cursor:pointer}
.btn:hover{background:var(--gold);color:var(--obs)}
.btn.solid{background:var(--gold);color:var(--obs)}.btn.solid:hover{background:var(--ivory);border-color:var(--ivory)}
section{padding:8vh 5vw}
.head{max-width:46rem;margin-bottom:2.6rem}.head p{color:#cfc9bc;margin-top:.7rem}
.mono{background:linear-gradient(160deg,rgba(26,27,29,.93),rgba(13,13,14,.96)),url(img/marbre.jpg);background-size:cover;border:1px solid var(--line);padding:2rem 2rem 2.1rem;position:relative}
.mono::before{content:"";position:absolute;left:0;top:0;width:3.5rem;height:2px;background:var(--gold)}
.panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.op{display:flex;flex-direction:column;gap:1rem;height:100%;overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .4s}
.frame{aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line)}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.op .frame{margin:0 0 .2rem}
.op:hover .frame img{transform:scale(1.07)}
img.logo{width:88px;height:88px;object-fit:cover;border:1px solid var(--gold2)}
.op .logo{width:72px;height:72px;flex:none}
.op .meta{display:flex;align-items:center;gap:1rem}
.score{font:500 2.15rem/1 var(--serif);color:var(--gold)}.score small{font:400 .9rem var(--sans);color:var(--mute)}
.bar{width:110px;height:3px;background:var(--line);flex:none}.bar span{display:block;height:100%;width:0;background:var(--gold)}
.op p{color:#d4cfc3}.tag{font-size:.98rem;color:var(--mute)}
.op .btn{align-self:flex-start;margin-top:auto}
.op::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 32%,rgba(232,228,218,.16) 50%,transparent 68%);transform:translateX(-130%);pointer-events:none}
.op:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 26px 50px rgba(0,0,0,.5),0 0 0 1px rgba(181,154,91,.4)}
.op:hover::after{animation:sheen .9s ease}
@keyframes sheen{to{transform:translateX(130%)}}
.panels .op{animation:cardIn .7s ease both}
.panels .op:nth-child(2){animation-delay:.1s}
.panels .op:nth-child(3){animation-delay:.2s}
.panels .op:nth-child(4){animation-delay:.3s}
@keyframes cardIn{from{opacity:0}to{opacity:1}}
.ph{min-height:320px;background-size:cover;background-position:center;border:1px solid var(--line)}
.split{display:grid;grid-template-columns:5fr 7fr;gap:2rem;align-items:stretch}
.split.r{grid-template-columns:7fr 5fr}
.stack{display:grid;gap:1.5rem}
.mono p+p,.page-h p+p{margin-top:1rem}.mono ul{list-style:none;margin-top:1rem}.mono li{padding:.7rem 0 .7rem 1.4rem;border-top:1px solid var(--line);position:relative}
.scrolltab{overflow-x:auto;margin-top:1rem;max-width:100%;-webkit-overflow-scrolling:touch}
table.data{width:100%;min-width:36rem;border-collapse:collapse;font-size:.98rem;line-height:1.45}
table.data th,table.data td{text-align:left;vertical-align:top;padding:.7rem .75rem;border-bottom:1px solid var(--line)}
table.data th{color:var(--gold);font-weight:500}
table.data a{color:var(--gold)}
.mono li::before{content:"";position:absolute;left:0;top:1.45rem;width:.6rem;height:1px;background:var(--gold)}
.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.steps .mono{height:100%}
.warn{border:1px solid var(--gold2);background:#121213;padding:2.3rem;display:grid;grid-template-columns:1.2fr .8fr;gap:2.2rem}
.warn a{color:var(--gold);text-underline-offset:3px}
.warn p+p{margin-top:.85rem}
.page-h{padding:6vh 5vw 2vh}.page-h p{max-width:48rem;margin-top:1.15rem;color:#d7d2c6;font-size:1.18rem}
.page-h p+p{margin-top:.9rem}
.mail{font:500 clamp(1.6rem,3.6vw,2.8rem) var(--serif);color:var(--gold);word-break:break-all}
footer{border-top:1px solid var(--line);margin-top:6vh;padding:5vh 5vw 4vh;background:#0a0a0b}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2.2rem}
footer h4{font:500 1.3rem var(--serif);margin-bottom:.8rem}footer li{list-style:none;margin:.4rem 0}footer a{color:var(--mute);text-decoration:none}footer a:hover{color:var(--gold)}
.lic,.licnos{border:1px solid var(--gold);background:linear-gradient(180deg,rgba(181,154,91,.18),rgba(181,154,91,.05));padding:1.35rem 1.5rem;color:var(--ivory);font-size:1.12rem;line-height:1.65}
.lic strong,.licnos strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.4rem;color:var(--gold);margin-bottom:.4rem}
.licnos{margin-top:1rem;font-size:1rem}
.small{font-size:1rem;color:var(--mute);margin-top:1.3rem;line-height:1.65}
@media(max-width:980px){
body{font-size:17.5px}
h1{font-size:clamp(2.15rem,9vw,3.4rem)}
h2{font-size:clamp(1.7rem,6.5vw,2.35rem)}
h3{font-size:1.45rem}
.hero,.split,.split.r,.warn,.fgrid,.panels,.steps{grid-template-columns:1fr}
.hero{padding:3vh 5vw 4vh;gap:1.5rem;align-items:start}
.hero .pic{margin-bottom:0;max-height:52vh;aspect-ratio:16/10}
.hero p.lead,.page-h p{font-size:1.08rem}
section{padding:5vh 5vw}
.page-h{padding:4vh 5vw 1vh}
.mono,.warn{padding:1.3rem 1.15rem 1.4rem}
.warn,.fgrid,.stack,.steps,.panels{gap:1.15rem}
.op .meta{flex-wrap:wrap;align-items:flex-start}
.score{font-size:1.7rem}
.ph{min-height:220px}
.burger{display:block}
header.top{flex-wrap:nowrap;align-items:center}
.brand{font-size:1.4rem}
nav{display:none;position:absolute;top:100%;left:0;right:0;background:#111;padding:1rem 5vw 1.2rem;z-index:5;border-bottom:1px solid var(--line)}
nav.open{display:block}
nav ul{flex-direction:column;gap:.45rem;justify-content:stretch}
nav a{text-align:center}
.btn{padding:.85rem 1.15rem}
}
html.noscroll,html.noscroll body{overflow:hidden;height:100%}
html.noscroll body{position:fixed;inset:0;width:100%;overscroll-behavior:none}
.veil{position:fixed;top:0;left:0;right:0;z-index:90;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:max(.85rem,env(safe-area-inset-top)) .85rem max(.85rem,env(safe-area-inset-bottom));background:rgba(6,6,7,.82);overflow-y:auto;overscroll-behavior:contain}
.sheet{width:min(26rem,100%);margin-top:auto;margin-bottom:auto;align-self:center;flex:0 0 auto;background:#16171a;border:1px solid var(--gold2);padding:1.35rem 1.15rem 1.2rem}
.sheet h2{font-size:clamp(1.55rem,5vw,2rem);margin-bottom:.7rem}
.sheet p{color:#d7d2c6;font-size:1.02rem;line-height:1.5}
.choices{display:flex;flex-direction:column;gap:.7rem;margin-top:1.15rem}
.choices .btn{display:block;width:100%;text-align:center;min-height:3.15rem;line-height:1.3;padding:.85rem 1rem;font-size:1.05rem}
@media(max-width:720px){
.age{padding:.7rem .75rem;font-size:.68rem;line-height:1.35;gap:.6rem}
.age b{width:1.85rem;height:1.85rem;font-size:.72rem}
table.data{min-width:28rem;font-size:.9rem}
table.data th,table.data td{padding:.55rem .5rem}
footer{padding:4vh 5vw 3vh}
.lic,.licnos{padding:1rem;font-size:.95rem}
.lic strong,.licnos strong{font-size:1.15rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
