:root{--navy:#141414;--navy2:#3a3835;--off:#fbfaf8;--grey:#efedea;--mid:#77726b;--ink:#232220;--line:#dedad4}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--off);line-height:1.7;font-size:17px}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;color:var(--navy);line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2.3rem,5vw,3.6rem)}h2{font-size:clamp(1.8rem,3.4vw,2.5rem)}h3{font-size:1.5rem}
a{color:var(--navy)}p{margin:0 0 1.1em}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
header{background:var(--off);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.logo{font-family:"Cormorant Garamond",serif;font-size:1.55rem;text-decoration:none;color:var(--navy);letter-spacing:.02em}
.logo small{display:block;font-family:Inter,sans-serif;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mid);margin-top:-4px}
nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;align-items:center}
nav a{text-decoration:none;font-size:.92rem;color:var(--ink)}nav a:hover,nav a.on{color:var(--navy);border-bottom:1px solid var(--navy)}
.drop{position:relative}.drop ul{display:none;position:absolute;top:100%;left:-16px;background:#fff;border:1px solid var(--line);padding:14px 18px;flex-direction:column;align-items:flex-start;gap:10px;min-width:250px}
.drop:hover ul,.drop:focus-within ul{display:flex}
.btn{display:inline-block;background:var(--navy);color:#fff!important;text-decoration:none;padding:13px 26px;font-size:.92rem;letter-spacing:.03em;border:1px solid var(--navy);border-radius:2px;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--navy2)}.btn.ghost{background:transparent;color:var(--navy)!important}
nav .btn{padding:9px 18px;border-bottom:1px solid var(--navy)}
#menu{display:none}.burger{display:none;cursor:pointer;font-size:1.6rem}
.hero{padding:110px 0 100px}.eyebrow{font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mid);margin-bottom:18px}
.hero p.lead{font-size:1.2rem;max-width:620px;color:#4a4743}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
section{padding:84px 0}.alt{background:var(--grey)}.dark{background:var(--navy);color:#ece9e4}.dark h2{color:#fff}
.grid{display:grid;gap:32px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);padding:32px}.card h3{margin-bottom:.4em}
.card a.more{font-size:.88rem;text-decoration:none;border-bottom:1px solid}
.facts{display:flex;gap:56px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px;margin-top:56px}
.facts b{display:block;font-family:"Cormorant Garamond",serif;font-size:2rem;font-weight:500;color:var(--navy)}.facts span{font-size:.85rem;color:var(--mid)}
.qs{columns:2;gap:40px;padding:0;list-style:none}.qs li{break-inside:avoid;padding:12px 0;border-bottom:1px solid var(--line);font-family:"Cormorant Garamond",serif;font-size:1.3rem;color:var(--navy)}
.portrait{aspect-ratio:4/5;background:#e6e2dc;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--navy);font-family:"Cormorant Garamond",serif;border:1px solid var(--line)}
.portrait .ini{font-size:4.5rem;letter-spacing:.05em}.portrait small{font-family:Inter,sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mid)}
.page-head{padding:90px 0 50px;border-bottom:1px solid var(--line)}.page-head p{max-width:680px;font-size:1.12rem;color:#4a4743}
.steps{counter-reset:s}.step{border-top:1px solid var(--navy);padding-top:22px}.step .n{font-family:"Cormorant Garamond",serif;font-size:2.6rem;color:var(--mid)}
ul.list{padding-left:1.1em}ul.list li{margin:.35em 0}
.note{font-size:.85rem;color:var(--mid)}.verify{background:#fff6d6;padding:1px 6px;font-size:.75rem;color:#7a5b00;border-radius:2px}
form label{display:block;font-size:.85rem;margin:14px 0 6px}form input,form select,form textarea{width:100%;padding:12px;border:1px solid var(--line);background:#fff;font:inherit}
.cta-band{text-align:center}.cta-band p{max-width:560px;margin:0 auto 28px}
footer{background:var(--navy);color:#bdb8b0;padding:60px 0 30px;font-size:.9rem}footer a{color:#ece9e4;text-decoration:none}footer h4{color:#fff;font-family:"Cormorant Garamond",serif;font-weight:500;font-size:1.25rem;margin:0 0 12px}
footer ul{list-style:none;padding:0;margin:0}footer li{margin:6px 0}.fbot{border-top:1px solid #3a3835;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.g2,.g3,.g4{grid-template-columns:1fr}.qs{columns:1}
.burger{display:block}nav ul{display:none;position:absolute;top:78px;left:0;right:0;background:var(--off);flex-direction:column;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--line)}
#menu:checked~nav ul{display:flex}.drop ul{display:flex;position:static;border:0;padding:8px 0 0 14px;background:none}
.hero{padding:70px 0}section{padding:60px 0}body{font-size:16px}}
h1,h2,h3{font-family:"Josefin Sans",sans-serif;font-weight:300;text-transform:uppercase;letter-spacing:.12em}
h1{font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.25}h2{font-size:clamp(1.35rem,2.4vw,1.8rem)}h3{font-size:1.05rem;font-weight:400;letter-spacing:.1em}
.accent{font-family:"Cormorant Garamond",serif;font-style:italic;text-transform:none;letter-spacing:0;font-size:1.25em}
.logo img{height:46px;display:block}footer .flogo{height:54px;margin-bottom:16px}
.facts b,.step .n,.qs li{font-family:"Josefin Sans",sans-serif;font-weight:300}.qs li{font-size:1.05rem;letter-spacing:.02em}.step .n{font-size:1.4rem;letter-spacing:.15em;text-transform:uppercase}
.btn{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;border-radius:0}
.hero.split{padding:0}.split .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;padding-top:56px;padding-bottom:56px}
.split img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;display:block}
.photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;display:block}
.quote{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.45;max-width:820px;color:var(--ink)}
@media(max-width:760px){.split .wrap{grid-template-columns:1fr;gap:32px;padding-top:32px}.split img{aspect-ratio:4/5}.logo img{height:36px}}
.logo img,footer .flogo{width:auto}.split img{max-height:82vh}nav .btn{white-space:nowrap}
.banner{max-width:1120px;margin:48px auto 0;padding:0 24px}.banner img{width:100%;height:auto;aspect-ratio:1600/576;object-fit:cover;display:block}
.banner+section{padding-top:56px}
/* final pass */
:root{--gold:#e5be92;--gold2:#a8803f;--navy:#151413;--navy2:#2c2a27}
body{font-family:"Nunito Sans",system-ui,sans-serif;font-weight:400;background:#fcfbf9}
h1,h2,h3{font-family:"Nunito Sans",sans-serif;text-transform:none;color:#151413}
h1{font-weight:300;letter-spacing:-.01em;font-size:clamp(2.1rem,4.2vw,3.2rem);line-height:1.15}
h2{font-weight:300;letter-spacing:0;font-size:clamp(1.6rem,2.8vw,2.2rem)}
h3{font-weight:600;letter-spacing:.01em;font-size:1.08rem}
.accent{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:400;font-size:1.08em;letter-spacing:0}
.eyebrow{font-size:.72rem;letter-spacing:.2em;font-weight:600;color:var(--gold2)}
.facts b,.qs li,.step .n{font-family:"Nunito Sans",sans-serif;text-transform:none;letter-spacing:0}
.facts b{font-weight:300;font-size:1.7rem}.facts{border-top:1px solid var(--gold)}
.step{border-top:1px solid var(--gold)}.step .n{font-size:.8rem;font-weight:700;letter-spacing:.2em;color:var(--gold2)}
.qs li{font-size:1.02rem;color:var(--ink)}
.btn{background:#151413;border:1px solid #151413;color:#fff!important;letter-spacing:.08em;font-weight:600;font-size:.78rem;padding:15px 30px}
.btn:hover{background:var(--gold);border-color:var(--gold);color:#151413!important}
.btn.ghost{background:transparent;color:#151413!important;border-color:var(--gold)}
nav .btn{border-bottom:1px solid #151413}nav a:hover,nav a.on{border-bottom-color:var(--gold)}
.card{background:transparent;border:0;border-top:1px solid var(--gold);padding:28px 0 0}
.alt{background:#f3f1ed}section{padding:110px 0}.page-head{padding:110px 0 70px;border-bottom:0}
.page-head h1{max-width:820px}.page-head+section{padding-top:20px}
.quote{font-size:clamp(1.35rem,2.4vw,1.75rem);color:#3a3733;border-left:2px solid var(--gold);padding-left:28px;margin-bottom:56px}
.cta-band{border-top:1px solid #e6e2db}.cta-band h2{margin-bottom:.4em}
a.more{color:#151413;border-bottom:1px solid var(--gold);text-decoration:none}
footer{background:#151413}.verify{background:#f6ead9;color:#6b4e1e}
.grid{gap:56px 64px}
@media(max-width:760px){section{padding:72px 0}.page-head{padding:72px 0 40px}}
:root{--gold2:#86662f}footer h4{font-family:"Nunito Sans",sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.04em}.verify{white-space:nowrap}
section[id]{scroll-margin-top:80px}
footer .ordre{font-size:.75rem;color:#9a958d;margin:36px 0 0;letter-spacing:.01em}footer .ordre+.fbot{margin-top:14px}
.split img.portrait{width:min(100%,420px);height:auto;justify-self:center;aspect-ratio:1/1;border-radius:50%;object-position:50% 50%;margin:0 auto;max-height:none;box-shadow:0 12px 40px rgba(0,0,0,.12)}@media(max-width:760px){.split img.portrait{width:240px;aspect-ratio:1/1}}
/* Logo horizontal : assez haut pour rester lisible, sans passer sur deux lignes */
.nav{height:104px}
.logo img{height:90px}section[id],#formulaire{scroll-margin-top:136px}
@media(max-width:1120px){
.burger{display:block}
nav ul{display:none;position:absolute;top:105px;left:0;right:0;background:var(--off);flex-direction:column;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--line);gap:16px}
#menu:checked~nav ul{display:flex}
.drop ul{display:flex;position:static;border:0;padding:8px 0 0 14px;background:none;min-width:0}
}
@media(max-width:760px){.nav{height:80px}.logo img{height:64px}nav ul{top:81px}}
/* Bloc Accès */
.acces .grid{align-items:center}.acces .addr{font-family:"Nunito Sans",system-ui,sans-serif;font-size:1.15rem;font-weight:400;line-height:1.5;color:var(--navy)}
.metro{list-style:none;padding:0;margin:0 0 1.4em}.metro li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.metro .ligne{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--gold);font-size:.75rem;font-weight:600}
.rdv{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);font-weight:600}
.map{border-radius:8px;overflow:hidden;border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.08);background:#e6e2dc}
.map img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;object-position:center}
.map .osm{margin:0;padding:8px 14px 10px;font-size:.75rem;letter-spacing:.01em;color:var(--mid);background:#fbfaf8}
.map+.btn{margin-top:16px}
@media(min-width:761px){.map{width:60%;max-width:420px}.map img{aspect-ratio:3/2}}
/* Logo à bandeau (cadre doré) : environ 20 % plus petit, barre calée sur le logo */
.nav{height:102px}.logo img{height:88px}[id],section[id]{scroll-margin-top:114px}
@media(max-width:1120px){nav ul{top:103px}}
@media(max-width:760px){.nav{height:74px}.logo img{height:62px}nav ul{top:75px}[id],section[id]{scroll-margin-top:86px}}

/* Pied de page sombre : même logo, nom blanc, bandeau clair */
footer .flogo{display:block;height:92px;width:auto;max-width:100%;margin-bottom:18px}
@media(max-width:760px){footer .flogo{height:76px}}
/* Menu mobile : zone de tap, icône, ombre */
.burger{box-sizing:border-box;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;line-height:1}
.burger-close{display:none}
#menu:checked~.burger .burger-bars{display:none}
#menu:checked~.burger .burger-close{display:inline}
@media(max-width:1120px){
.burger{display:flex}
header nav>ul{gap:0;padding:8px 24px 12px}
header nav a:not(.btn){display:flex;align-items:center;box-sizing:border-box;min-height:40px;padding:8px 0}
header .drop ul{gap:0;padding:0 0 4px 12px}
#menu:checked~nav>ul{border-bottom:1px solid var(--line);box-shadow:0 10px 28px rgba(21,20,19,.12)}
.qs{columns:1}
}
@media(max-width:900px) and (min-width:761px){.g3{grid-template-columns:1fr}}
@media(max-width:760px){
.grid{gap:32px}
.eyebrow{font-size:12.5px}
.facts>div:last-child b{font-size:1.05rem;line-height:1.2}
}
form input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:2px;flex:0 0 auto;accent-color:var(--gold)}
