:root{--noir:#161616;--noir-2:#1f1f1f;--or:#c9a25b;--craie:#ffffff;--gris:#8c8c8c;--gris-clair:#e6e3de;--texte:#2a2a2a;--serif:"Playfair Display",Georgia,serif;--sans:"Jost","Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.75;color:var(--texte);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--or);text-decoration:none;transition:color .2s}
a:hover{color:#a8843f}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--noir);margin:0 0 .4em;letter-spacing:.01em}
h1{font-size:clamp(2.2rem,5vw,3.4rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h3{font-size:1.35rem}
p{margin:0 0 1.1em;text-wrap:pretty}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.section{padding:112px 0}
.section--gris{background:#faf9f7}
.section--noir{background:var(--noir);color:#cfcbc4}
.section--noir h2,.section--noir h3{color:#fff}
.center{text-align:center}
.lede{max-width:660px;margin:0 auto 0;color:#6f6b64}
.rule{width:56px;height:1px;background:var(--or);border:0;margin:22px auto 34px}
.rule--left{margin-left:0}
.eyebrow{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--or);margin:0 0 14px}
/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(22,22,22,.94);backdrop-filter:blur(6px);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .3s ease,opacity .3s ease,visibility .3s ease}
.site-header.is-scrolled{transform:translateY(0);opacity:1;visibility:visible}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;height:78px}
.brand img{height:40px;filter:invert(1)}
.nav{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.nav a{color:#d8d5cf;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;padding:6px 0;border-top:2px solid transparent}
.nav a:hover{color:#fff}
.nav a.is-active{color:var(--or);border-top-color:var(--or)}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.5rem;cursor:pointer;line-height:1}
/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.72),rgba(10,10,10,.55) 45%,rgba(10,10,10,.78))}
.hero__inner{position:relative;z-index:2;padding:120px 32px 90px;max-width:820px}
.hero__logo{height:clamp(70px,11vw,124px);width:auto;margin:0 auto 30px;filter:invert(1)}
.hero__lines{border-top:1px solid rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.55);padding:26px 0;margin-bottom:26px}
.hero__title{font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,1.7rem);letter-spacing:.06em;color:#fff;margin:0}
.hero__sub{font-size:.92rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8);margin:0}
.hero__scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;width:8px;height:8px;border-radius:50%;background:var(--or)}
.page-hero{position:relative;min-height:52vh;display:flex;align-items:flex-end;color:#fff;background:var(--noir)}
.page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5}
.page-hero .wrap{position:relative;z-index:2;padding-top:150px;padding-bottom:56px}
.page-hero h1{color:#fff;margin:0}
/* boutons */
.btn{display:inline-block;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;padding:16px 34px;border:1px solid var(--or);color:var(--or);background:none;cursor:pointer;transition:.25s;font-family:var(--sans)}
.btn:hover{background:var(--or);color:#fff}
.btn--plein{background:var(--or);color:#fff}
.btn--plein:hover{background:#a8843f;border-color:#a8843f;color:#fff}
/* grilles */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.duo--photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}
.duo--photos img{height:100%;object-fit:cover}
.duo>img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px;background:var(--gris-clair)}
.card{background:#fff;padding:44px 32px}
.section--noir .card{background:var(--noir-2)}
.card p{margin:0;color:#6f6b64;font-size:.95rem}
.section--noir .card p{color:#a9a49b}
.card h3{margin-bottom:.5em}
.card .num{font-family:var(--serif);color:var(--or);font-size:.9rem;letter-spacing:.2em;display:block;margin-bottom:14px}
.infos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px;margin-top:44px}
.infos dt{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--or);margin-bottom:8px}
.infos dd{margin:0;font-size:1rem}
.news{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:48px}
.news article img{width:100%;aspect-ratio:4/3;object-fit:cover}
.news article h3{margin-top:18px}
.news .date{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.bandeau{background:var(--noir);color:#fff;text-align:center;padding:96px 0}
.bandeau h2{color:#fff}
/* formulaire */
.form{max-width:720px;margin:0 auto}
.form .champ{margin-bottom:26px}
.form label{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#6f6b64;margin-bottom:9px}
.form input,.form select,.form textarea{width:100%;padding:14px 16px;border:1px solid var(--gris-clair);background:#fff;font-family:var(--sans);font-size:1rem;color:var(--texte);border-radius:0}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--or)}
.form .duo-champs{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.form .champ--leurre{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.form .turnstile-bloc{margin-bottom:26px}
.alerte{border-left:2px solid var(--or);background:#faf9f7;padding:18px 22px;margin-bottom:32px;font-size:.95rem}
.alerte--erreur{border-left-color:#a8433f}
/* footer */
.site-footer{background:var(--noir);color:#8d887f;padding:80px 0 34px;font-size:.9rem}
.site-footer a{color:#c8c3ba}
.site-footer a:hover{color:var(--or)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:56px;padding-bottom:52px;border-bottom:1px solid #2c2c2c}
.footer-grid img{height:44px;filter:invert(1);margin-bottom:20px}
.footer-grid h4{font-family:var(--serif);color:#fff;font-weight:400;font-size:1.05rem;margin:0 0 16px}
.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.footer-bas{display:flex;justify-content:space-between;gap:20px;padding-top:26px;font-size:.78rem;letter-spacing:.05em}
.legal h2{font-size:1.5rem;margin-top:2em}
.legal address{font-style:normal}
/* bouton remonter en haut */
.scroll-top{position:fixed;right:24px;bottom:24px;z-index:60;width:46px;height:46px;border:1px solid var(--or);background:rgba(22,22,22,.92);color:var(--or);font-size:1.1rem;line-height:1;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s}
.scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{background:var(--or);color:#fff}
/* bandeau cookies */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--noir);color:#cfcbc4;padding:20px 24px;transform:translateY(110%);transition:transform .35s ease;box-shadow:0 -4px 24px rgba(0,0,0,.25)}
.cookie-banner.is-visible{transform:translateY(0)}
.cookie-banner__inner{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.cookie-banner p{margin:0;font-size:.88rem;max-width:820px;color:#cfcbc4}
.cookie-banner a{color:var(--or)}
.cookie-banner .btn{padding:12px 26px;white-space:nowrap}
@media(max-width:880px){
.nav{position:fixed;inset:78px 0 auto;background:var(--noir);flex-direction:column;gap:0;padding:10px 0 24px;display:none}
.nav.is-open{display:flex}
.nav li{width:100%;text-align:center}
.nav a{display:block;padding:14px 0;border-top:0}
.nav-toggle{display:block}
.duo,.form .duo-champs,.footer-grid{grid-template-columns:1fr;gap:44px}
.section{padding:76px 0}
.wrap{padding:0 22px}
.footer-bas{flex-direction:column;gap:8px}
.scroll-top{right:16px;bottom:16px}
}
