/* ═══════════════════════════════════════════
   RESET & VARIABLES — Prestige contrasté
   Palette : ardoise profonde + or Palais
═══════════════════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
    --bg:          #F8F7F4;
    --bg-card:     #F1EFE9;
    --bg-raised:   #E8E6E0;
    --bg-section:  #F4F2EC;
    --bg-dark:     #161A1D;
    --gold:        #5C5C60;
    --gold-bright: #828286;
    --gold-dim:    rgba(92,92,96,0.09);
    --gold-border: rgba(92,92,96,0.22);
    --gold-glow:   rgba(92,92,96,0.05);
    --stone:       #8A8068;
    --white:       #FFFFFF;
    --off-white:   #1C1C1A;
    --text:        #4E4C46;
    --text-muted:  #9A9890;
    --border:      rgba(0,0,0,0.08);
    --nav-h:       72px;
}

html { scroll-behavior:smooth; }
body { font-family:'Jost',sans-serif; font-weight:300; background:var(--bg); color:var(--text); line-height:1.7; overflow-x:hidden; }
h1,h2,h3,h4 { font-family:'Cormorant Garamond',serif; line-height:1.08; letter-spacing:-0.01em; }
a { text-decoration:none; }
sup { font-size:.55em; vertical-align:super; }


/* ═══════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════ */
nav {
    position:fixed; top:0; left:0; right:0;
    height:var(--nav-h);
    background:rgba(22,26,29,.97);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(92,92,96,.3);
    z-index:1000;
    display:flex; align-items:center;
    padding:0 56px;
    gap:0;
}

.nav-logo {
    display:flex; align-items:center; text-decoration:none; flex-shrink:0;
    margin-right:auto;
}
.nav-logo .name {
    color:#EDE6D6;
    font-family:'Cormorant Garamond',serif;
    font-size:1.05rem; font-weight:700;
    letter-spacing:.04em;
}
.nav-logo .name em {
    color:#828286; font-style:normal;
}

.nav-tabs {
    display:flex; gap:0;
}
.nav-tab {
    color:rgba(237,230,214,.5);
    font-size:.72rem; font-weight:600;
    letter-spacing:.12em; text-transform:uppercase;
    padding:10px 22px;
    position:relative; cursor:pointer;
    transition:color .2s;
    white-space:nowrap;
}
.nav-tab::after {
    content:'';
    position:absolute; bottom:0; left:22px; right:22px;
    height:1px; background:#828286;
    transform:scaleX(0); transform-origin:left;
    transition:transform .25s ease;
}
.nav-tab:hover,
.nav-tab.active { color:#EDE6D6; }
.nav-tab.active::after,
.nav-tab:hover::after { transform:scaleX(1); }

/* ── NAV DROPDOWN ── */
.nav-dropdown { position:relative; }
.nav-dropdown > a {
    color:rgba(237,230,214,.5);
    font-size:.72rem; font-weight:600;
    letter-spacing:.12em; text-transform:uppercase;
    padding:10px 22px;
    text-decoration:none; white-space:nowrap;
    display:block; cursor:pointer;
    transition:color .2s;
}
.nav-dropdown:hover > a,
.nav-dropdown.active > a { color:#EDE6D6; }
.nav-dropdown::after {
    content:'';
    position:absolute; bottom:0; left:22px; right:22px;
    height:1px; background:#828286;
    transform:scaleX(0); transform-origin:left;
    transition:transform .25s ease;
}
.nav-dropdown:hover::after,
.nav-dropdown.active::after { transform:scaleX(1); }
.nav-arrow { font-size:.55em; opacity:.6; vertical-align:middle; margin-left:3px; }
.nav-dropdown-menu {
    display:grid; grid-template-columns:1fr 1fr;
    position:absolute; top:100%; left:50%;
    transform:translateX(-50%);
    min-width:520px;
    background:rgba(14,18,22,.98);
    border:1px solid rgba(92,92,96,.3);
    border-top:1px solid rgba(92,92,96,.5);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    opacity:0; pointer-events:none;
    transition:opacity .2s ease;
    z-index:200;
}
.nav-dropdown:hover .nav-dropdown-menu { opacity:1; pointer-events:auto; }
.nav-dropdown-col { padding:22px 26px; }
.nav-dropdown-col:first-child { border-right:1px solid rgba(92,92,96,.18); }
.nav-dropdown-heading {
    display:block; font-size:.6rem; font-weight:600;
    color:rgba(172,172,176,.5);
    text-transform:uppercase; letter-spacing:.14em;
    margin-bottom:12px; padding-bottom:8px;
    border-bottom:1px solid rgba(92,92,96,.18);
}
.nav-dropdown-menu a {
    display:block;
    color:rgba(237,230,214,.6);
    font-size:.72rem; font-weight:400;
    letter-spacing:.02em; text-transform:none;
    padding:5px 0; text-decoration:none;
    transition:color .15s;
}
.nav-dropdown-menu a:hover { color:#EDE6D6; }

.nav-phone {
    color:#828286; font-weight:600;
    font-size:.85rem; flex-shrink:0;
    margin-left:40px;
    transition:color .2s,background .2s;
    border:1px solid rgba(130,130,134,.35);
    padding:8px 18px;
    border-radius:2px;
}
.nav-phone:hover { color:#161A1D; background:#828286; border-color:#828286; }

.nav-hamburger {
    display:none;
    flex-direction:column; justify-content:center; gap:5px;
    background:none; border:none; cursor:pointer;
    padding:8px; margin-left:16px; flex-shrink:0;
}
.nav-hamburger span {
    display:block; width:22px; height:2px;
    background:#EDE6D6; border-radius:2px;
    transition:transform .3s ease, opacity .3s ease;
}
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.nav-mobile {
    display:none;
    position:fixed; top:var(--nav-h); left:0; right:0;
    background:rgba(22,26,29,.98);
    border-bottom:1px solid rgba(92,92,96,.3);
    z-index:999;
    flex-direction:column;
    padding:8px 0 16px;
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
}
.nav-mobile.open { display:flex; }
.nav-mobile-tab {
    color:rgba(237,230,214,.6);
    font-size:.75rem; font-weight:600;
    letter-spacing:.12em; text-transform:uppercase;
    padding:14px 28px; cursor:pointer;
    transition:color .2s, background .2s;
    border-left:2px solid transparent;
}
.nav-mobile-tab:hover,
.nav-mobile-tab.active { color:#EDE6D6; border-left-color:#828286; background:rgba(237,230,214,.04); }
.nav-mobile-sub {
    padding:0 0 4px 28px;
    border-left:2px solid rgba(92,92,96,.2);
    margin:0 0 4px 28px;
}
.nav-mobile-sub-heading {
    display:block;
    font-size:.6rem; font-weight:600;
    color:rgba(172,172,176,.45);
    text-transform:uppercase; letter-spacing:.14em;
    padding:10px 0 6px;
}
.nav-mobile-sub-link {
    display:block;
    color:rgba(237,230,214,.5);
    font-size:.72rem; font-weight:400;
    letter-spacing:.02em; text-transform:none;
    padding:5px 0; text-decoration:none;
    transition:color .15s;
}
.nav-mobile-sub-link:hover { color:#EDE6D6; }

/* ═══════════════════════════════════════════
   SHARED HELPERS
═══════════════════════════════════════════ */
.section-label {
    display:block; color:var(--gold);
    font-size:.68rem; font-weight:600;
    letter-spacing:.2em; text-transform:uppercase;
    margin-bottom:14px;
}
.section-header { text-align:center; margin-bottom:64px; }
.section-header h2 { font-size:3.2rem; color:var(--off-white); margin-bottom:16px; }
.section-header p { color:var(--text-muted); max-width:560px; margin:0 auto; font-size:.95rem; line-height:1.8; }
.gold-line { width:40px; height:1px; background:var(--gold); margin:20px auto 0; opacity:.5; }

.btn-gold {
    background:var(--gold); color:#FFFFFF;
    padding:14px 30px; border-radius:2px;
    font-weight:700; font-size:.875rem;
    transition:background .2s,transform .15s;
    display:inline-flex; align-items:center; gap:8px;
    letter-spacing:.02em;
}
.btn-gold:hover { background:var(--gold-bright); transform:translateY(-1px); }
.btn-outline {
    border:1px solid var(--gold-border); color:var(--off-white);
    padding:14px 30px; border-radius:2px;
    font-weight:600; font-size:.875rem;
    transition:border-color .2s,background .2s,color .2s;
}
.btn-outline:hover { border-color:var(--gold); background:var(--gold-dim); }
.hero-content .btn-outline {
    color:#EDE6D6; border-color:rgba(237,230,214,.3);
}
.hero-content .btn-outline:hover {
    background:rgba(237,230,214,.08); border-color:rgba(237,230,214,.55); color:#FFFFFF;
}

/* ═══════════════════════════════════════════
   PAGE : ACCUEIL
═══════════════════════════════════════════ */
.hero-slider {
    position:relative;
    height:calc(100vh - var(--nav-h));
    overflow:hidden;
    background:var(--bg-section);
}
.slide {
    position:absolute; inset:0;
    opacity:0;
    transition:opacity 1.2s ease;
}
.slide.active { opacity:1; }
.slide img {
    width:100%; height:100%;
    object-fit:cover;
    object-position:center;
    filter:brightness(.38) saturate(.9);
    transform:scale(1.07);
    animation:none;
}
.slide.active img { animation:kenburns 7s ease-out forwards; }
@keyframes kenburns {
    from { transform:scale(1.07); }
    to   { transform:scale(1.0); }
}
#slide-2 img { object-position: center 37%; }
.slide-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to right,rgba(14,21,32,.82) 0%,rgba(14,21,32,.55) 55%,rgba(14,21,32,.2) 100%);
}
.hero-content {
    position:absolute; inset:0;
    display:flex; flex-direction:column; justify-content:center;
    padding:80px 80px 80px 90px;
    max-width:760px;
    z-index:2;
}
.hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    border:1px solid rgba(172,172,176,.45);
    color:#ACACB0; padding:6px 18px;
    border-radius:100px; font-size:.68rem;
    font-weight:600; letter-spacing:.14em;
    text-transform:uppercase; margin-bottom:36px;
    width:fit-content; background:rgba(172,172,176,.1);
    backdrop-filter:blur(4px);
}
.hero-content h1 {
    font-size:5rem; color:#EDE6D6;
    margin-bottom:24px; font-weight:700;
    text-shadow:0 2px 24px rgba(0,0,0,.6);
}
.hero-content h1 em { color:#ACACB0; font-style:normal; }
.hero-sub {
    color:rgba(237,230,214,.78); font-size:1rem;
    max-width:520px; line-height:1.85; margin-bottom:44px;
}
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; }
.hero-trust {
    display:flex; gap:36px; margin-top:56px;
    padding-top:36px; border-top:1px solid rgba(237,230,214,.15);
}
.trust-item .t-val {
    font-family:'Cormorant Garamond',serif;
    font-size:2.2rem; color:#ACACB0; font-weight:600; line-height:1;
}
.trust-item .t-lbl {
    color:rgba(237,230,214,.55); font-size:.7rem;
    text-transform:uppercase; letter-spacing:.09em; margin-top:5px;
}
.slider-dots {
    position:absolute; bottom:32px; left:50%; transform:translateX(-50%);
    display:flex; gap:8px; z-index:10;
}
.slider-dot {
    width:8px; height:2px;
    background:rgba(237,230,214,.3);
    border-radius:2px; cursor:pointer;
    transition:width .3s,background .3s;
}
.slider-dot.active { width:28px; background:var(--gold); }

/* MINI-SECTIONS */
.mini-sections {
    display:grid; grid-template-columns:repeat(3,1fr);
    border-bottom:1px solid var(--gold-border);
}
.ms-card {
    padding:52px 44px;
    border-right:1px solid var(--gold-border);
    background:var(--bg-section);
    transition:background .2s;
    position:relative;
}
.ms-card:last-child { border-right:none; }
.ms-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
    opacity:0; transition:opacity .3s;
}
.ms-card:hover { background:var(--bg-raised); }
.ms-card:hover::before { opacity:1; }
.ms-icon { font-size:1.8rem; margin-bottom:20px; display:block; filter:drop-shadow(0 0 10px rgba(130,130,134,.25)); }
.ms-card h3 { font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.ms-card p { color:var(--text-muted); font-size:.875rem; line-height:1.8; margin-bottom:24px; }
.ms-link {
    color:var(--off-white); font-size:.78rem; font-weight:600;
    letter-spacing:.06em; display:inline-flex; align-items:center; gap:6px;
    border-bottom:1px solid var(--gold-border); padding-bottom:2px;
    transition:gap .2s,border-color .2s,color .2s;
}
.ms-link:hover { gap:12px; border-color:var(--gold); color:var(--gold); }

/* DOMAIN CARDS */
.domains-section { padding:100px 80px; background:var(--bg); }
.domains-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.domain-card {
    background:var(--bg-card);
    border:1px solid var(--gold-border);
    padding:56px 48px;
    transition:background .2s,border-color .3s;
    position:relative; overflow:hidden;
}
.domain-card::before {
    content:''; position:absolute;
    top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
    opacity:0; transition:opacity .3s;
}
.domain-card:hover { background:var(--bg-raised); border-color:rgba(130,130,134,.5); }
.domain-card:hover::before { opacity:1; }
.domain-icon { font-size:2.2rem; margin-bottom:28px; display:block; filter:drop-shadow(0 0 12px rgba(130,130,134,.2)); }
.domain-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.7rem; color:var(--off-white); margin-bottom:20px; font-weight:700; }
.domain-card p { color:var(--text-muted); line-height:1.8; margin-bottom:28px; font-size:.92rem; }
.domain-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:36px; }
.domain-tag { border:1px solid var(--gold-border); color:var(--gold); font-size:.7rem; padding:4px 12px; border-radius:2px; font-weight:500; letter-spacing:.06em; }
.btn-domain {
    display:inline-flex; align-items:center; gap:8px;
    color:var(--gold); font-weight:600; font-size:.875rem;
    border-bottom:1px solid var(--gold-border); padding-bottom:2px;
    transition:gap .2s,border-color .2s;
}
.btn-domain:hover { gap:14px; border-color:var(--gold); }

/* PROCESS */
.process-section { padding:100px 80px; background:var(--bg-section); }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--gold-border); border:1px solid var(--gold-border); }
.proc-step { background:var(--bg-card); padding:40px 32px; text-align:center; }
.proc-num { font-family:'Cormorant Garamond',serif; font-size:2.5rem; color:var(--gold); opacity:.2; font-weight:700; line-height:1; margin-bottom:16px; }
.proc-step h3 { font-size:.9rem; color:var(--off-white); margin-bottom:12px; font-family:'Jost',sans-serif; font-weight:600; letter-spacing:.04em; }
.proc-step p { color:var(--text-muted); font-size:.82rem; line-height:1.7; }

/* PRESS */
.press-section { padding:100px 80px; background:var(--bg); }
.press-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gold-border); border:1px solid var(--gold-border); }
.press-card { background:var(--bg-card); padding:36px 32px; display:flex; flex-direction:column; transition:background .2s; }
.press-card:hover { background:var(--bg-raised); }
.press-pub { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.press-pub-name { color:var(--off-white); font-family:'Cormorant Garamond',serif; font-size:.95rem; font-weight:700; }
.press-pub-badge { background:var(--gold); color:var(--bg); font-size:.6rem; font-weight:800; padding:2px 7px; letter-spacing:.08em; text-transform:uppercase; }
.press-date { color:var(--gold); font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin-bottom:12px; }
.press-card h3 { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--off-white); margin-bottom:12px; line-height:1.45; font-weight:600; flex:1; }
.press-card p { color:var(--text-muted); font-size:.82rem; line-height:1.65; margin-bottom:20px; }
.press-link { color:var(--gold); font-size:.8rem; font-weight:600; display:flex; align-items:center; gap:6px; transition:gap .2s; }
.press-link:hover { gap:10px; }

/* REVIEWS */
.reviews-section { padding:100px 80px; background:var(--bg-section); }
.reviews-top-row { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:52px; }
.reviews-score-block { display:flex; align-items:center; gap:20px; }
.rs-num { font-family:'Cormorant Garamond',serif; font-size:4rem; color:var(--off-white); font-weight:700; line-height:1; }
.rs-stars { color:var(--gold); font-size:1.2rem; letter-spacing:3px; }
.rs-label { color:var(--text-muted); font-size:.78rem; margin-top:4px; }
.btn-google { display:flex; align-items:center; gap:8px; border:1px solid var(--gold-border); color:var(--text); padding:10px 18px; border-radius:3px; font-size:.8rem; font-weight:600; transition:border-color .2s; }
.btn-google:hover { border-color:var(--gold); color:var(--off-white); }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gold-border); border:1px solid var(--gold-border); }
.review-card { background:var(--bg-card); padding:32px 28px; }
.rc-top { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.rc-avatar { width:40px; height:40px; border-radius:50%; background:var(--bg-raised); border:1px solid var(--gold-border); display:flex; align-items:center; justify-content:center; color:var(--gold); font-weight:700; font-size:.9rem; flex-shrink:0; }
.rc-name { font-weight:600; font-size:.875rem; color:var(--off-white); }
.rc-date { color:var(--text-muted); font-size:.72rem; }
.rc-stars { color:var(--gold); font-size:.85rem; letter-spacing:2px; margin-bottom:14px; }
.rc-text { color:var(--text-muted); font-size:.85rem; line-height:1.75; font-style:italic; }

/* ═══════════════════════════════════════════
   PAGE : DOMAINES DE COMPÉTENCES
═══════════════════════════════════════════ */
.page-hero {
    padding:80px 80px 60px;
    background:var(--bg-section);
    border-bottom:1px solid var(--gold-border);
    text-align:center;
    margin-top:var(--nav-h);
}
.page-hero h1 { font-size:2.8rem; color:var(--off-white); margin-bottom:16px; }
.page-hero p { color:var(--text-muted); max-width:600px; margin:0 auto; font-size:.95rem; line-height:1.8; }
.domaine-section { padding:90px 80px; border-bottom:1px solid var(--gold-border); background:var(--bg); }
.domaine-section:nth-child(even) { background:var(--bg-section); }
.domaine-inner { max-width:820px; }
.domaine-num { font-family:'Cormorant Garamond',serif; font-size:7rem; color:var(--gold); opacity:.12; font-weight:700; line-height:1; margin-bottom:-16px; }
.domaine-section h2 { font-size:3.2rem; color:var(--off-white); margin-bottom:8px; font-weight:700; }
.domaine-rule { width:48px; height:2px; background:var(--gold); margin:20px 0 32px; opacity:.7; }
.domaine-section p { color:var(--text); font-size:.97rem; line-height:1.9; margin-bottom:20px; }
.comp-list { list-style:none; display:flex; flex-direction:column; gap:12px; margin:28px 0 40px; }
.comp-list li { display:flex; align-items:flex-start; gap:14px; color:var(--text); font-size:.9rem; line-height:1.5; }
.comp-list li::before { content:''; width:5px; height:5px; background:var(--gold); border-radius:50%; flex-shrink:0; margin-top:7px; }

/* ═══════════════════════════════════════════
   PAGE : HONORAIRES
═══════════════════════════════════════════ */
.honoraires-intro { padding:80px; text-align:center; background:var(--bg-section); border-bottom:1px solid var(--gold-border); margin-top:var(--nav-h); }
.honoraires-intro h1 { font-size:2.8rem; color:var(--off-white); margin-bottom:16px; }
.honoraires-intro p { color:var(--text-muted); max-width:640px; margin:0 auto; line-height:1.8; font-size:.95rem; }
.honor-free-badge { display:inline-flex; align-items:center; gap:10px; background:var(--gold-dim); border:1px solid var(--gold-border); color:var(--gold); padding:14px 28px; margin-top:32px; font-weight:600; font-size:.9rem; }
.honoraires-modes { padding:80px; background:var(--bg); }
.modes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gold-border); border:1px solid var(--gold-border); }
.mode-card { background:var(--bg-card); padding:44px 36px; position:relative; }
.mode-num { font-family:'Cormorant Garamond',serif; font-size:3rem; color:var(--gold); opacity:.2; font-weight:700; line-height:1; margin-bottom:20px; }
.mode-card h3 { font-size:1.1rem; color:var(--off-white); margin-bottom:12px; font-family:'Cormorant Garamond',serif; }
.mode-card p { color:var(--text-muted); font-size:.875rem; line-height:1.75; }
.mode-highlight { color:var(--gold); font-size:.78rem; font-weight:600; margin-top:16px; }
.aja-section { padding:60px 80px; background:var(--bg-section); border-top:1px solid var(--gold-border); border-bottom:1px solid var(--gold-border); }
.aja-inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.aja-inner h2 { font-size:1.8rem; color:var(--off-white); margin-bottom:16px; }
.aja-inner p { color:var(--text-muted); font-size:.9rem; line-height:1.8; margin-bottom:12px; }
.honor-faq { padding:80px; background:var(--bg); }
.faq-list { display:flex; flex-direction:column; gap:1px; background:var(--gold-border); border:1px solid var(--gold-border); max-width:840px; margin:0 auto; }
.faq-item { background:var(--bg-card); }
.faq-q { width:100%; padding:22px 28px; display:flex; align-items:center; justify-content:space-between; background:none; border:none; color:var(--off-white); font-family:'Jost',sans-serif; font-size:.9rem; font-weight:600; text-align:left; cursor:pointer; transition:color .2s; }
.faq-q:hover { color:var(--gold); }
.faq-q .faq-icon { color:var(--gold); font-size:1.2rem; transition:transform .2s; flex-shrink:0; }
.faq-q.open .faq-icon { transform:rotate(45deg); }
.faq-a { padding:0 28px 22px; color:var(--text-muted); font-size:.875rem; line-height:1.8; display:none; }
.faq-a.open { display:block; }
.honor-cta { padding:80px; background:var(--bg-section); border-top:1px solid var(--gold-border); text-align:center; }
.honor-cta h2 { font-size:2rem; color:var(--off-white); margin-bottom:16px; }
.honor-cta p { color:var(--text-muted); margin-bottom:36px; }

/* ═══════════════════════════════════════════
   PAGE : LE CABINET
═══════════════════════════════════════════ */
.info-hero {
    padding:80px; background:var(--bg-section); border-bottom:1px solid var(--gold-border);
    display:grid; grid-template-columns:400px 1fr; gap:80px; align-items:center;
    margin-top:var(--nav-h);
}
.info-photo { position:relative; }
.info-photo img { width:100%; display:block; filter:brightness(.9) contrast(1.05) grayscale(10%); }
.info-photo-badge { position:absolute; bottom:-20px; right:-20px; background:var(--bg); border:2px solid var(--gold); padding:16px 22px; text-align:center; }
.info-photo-badge .yrs { font-family:'Cormorant Garamond',serif; font-size:2rem; color:var(--gold); font-weight:700; line-height:1; }
.info-photo-badge .yrs-l { color:var(--text-muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; margin-top:4px; }
.info-content h1 { font-size:2.4rem; color:var(--off-white); margin-bottom:20px; }
.info-content p { color:var(--text-muted); line-height:1.85; margin-bottom:16px; font-size:.92rem; }
.info-vals { padding:80px; background:var(--bg); }
.vals-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gold-border); border:1px solid var(--gold-border); }
.val-card { background:var(--bg-card); padding:44px 36px; }
.val-card .v-num { font-family:'Cormorant Garamond',serif; font-size:3rem; color:var(--gold); opacity:.2; font-weight:700; line-height:1; margin-bottom:20px; }
.val-card h3 { font-size:1.05rem; color:var(--off-white); margin-bottom:12px; font-family:'Cormorant Garamond',serif; }
.val-card p { color:var(--text-muted); font-size:.875rem; line-height:1.75; }
.info-Cabinet { padding:60px 80px; background:var(--bg-section); border-top:1px solid var(--gold-border); }
.Cabinet-details { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--gold-border); border:1px solid var(--gold-border); margin-top:48px; }
.Cabinet-detail { background:var(--bg-card); padding:32px 28px; }
.Cabinet-detail h4 { color:var(--gold); font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; margin-bottom:10px; }
.Cabinet-detail p { color:var(--off-white); font-size:.9rem; line-height:1.6; }

/* ═══════════════════════════════════════════
   PAGE : CONTACT
═══════════════════════════════════════════ */
.contact-layout { padding:80px; background:var(--bg-section); border-bottom:1px solid var(--gold-border); display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; margin-top:var(--nav-h); }
.rdv-box { background:var(--bg-card); border:1px solid var(--gold-border); overflow:hidden; }
.rdv-box-header { background:var(--gold-dim); border-bottom:1px solid var(--gold-border); padding:28px 32px; }
.rdv-box-header h3 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--off-white); }
.rdv-box-header p { color:var(--text-muted); font-size:.82rem; margin-top:6px; }
.contact-form-box { background:var(--bg-card); border:1px solid var(--gold-border); }
.cf-header { background:var(--gold-dim); border-bottom:1px solid var(--gold-border); padding:28px 32px; }
.cf-header h3 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--off-white); }
.cf-header p { color:var(--text-muted); font-size:.82rem; margin-top:6px; }
.cf-body { padding:32px; }
.cf-group { margin-bottom:16px; }
.cf-group label { display:block; font-size:.68rem; font-weight:600; color:var(--text-muted); text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.cf-group input,.cf-group select,.cf-group textarea { width:100%; background:var(--bg-raised); border:1px solid var(--border); color:var(--off-white); padding:11px 14px; font-family:'Jost',sans-serif; font-size:.875rem; transition:border-color .2s; -webkit-appearance:none; border-radius:2px; }
.cf-group input:focus,.cf-group select:focus,.cf-group textarea:focus { outline:none; border-color:var(--gold); }
.cf-group textarea { height:100px; resize:vertical; }
.cf-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cf-note { text-align:center; color:var(--text-muted); font-size:.7rem; margin-top:10px; }
.contact-details { padding:60px 80px; background:var(--bg); }
.contact-details-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--gold-border); border:1px solid var(--gold-border); }
.cd-item { background:var(--bg-card); padding:32px 28px; }
.cd-item h4 { color:var(--gold); font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; margin-bottom:10px; }
.cd-item p,.cd-item a { color:var(--off-white); font-size:.875rem; line-height:1.6; display:block; }
.cd-item a { transition:color .2s; }
.cd-item a:hover { color:var(--gold); }

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
footer { background:var(--bg-dark); border-top:1px solid rgba(92,92,96,.3); padding:56px 80px 28px; }
.ft-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:64px; margin-bottom:48px; }
.ft-brand .name { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:#EDE6D6; font-weight:700; }
.ft-brand .tag { color:#828286; font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; display:block; margin-bottom:16px; }
.ft-brand p { color:rgba(237,230,214,.45); font-size:.82rem; line-height:1.75; max-width:300px; }
.ft-col h4 { color:#EDE6D6; font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; margin-bottom:16px; }
.ft-col ul { list-style:none; }
.ft-col ul li { margin-bottom:9px; }
.ft-col ul li a { color:rgba(237,230,214,.4); font-size:.82rem; transition:color .2s; }
.ft-col ul li a:hover { color:#828286; }
.ft-bottom { border-top:1px solid rgba(255,255,255,.07); padding-top:24px; display:flex; justify-content:space-between; align-items:center; }
.ft-bottom p { color:rgba(237,230,214,.3); font-size:.75rem; }
.ft-legal { display:flex; gap:20px; }
.ft-legal a { color:rgba(237,230,214,.3); font-size:.75rem; transition:color .2s; }
.ft-legal a:hover { color:#828286; }

/* ═══════════════════════════════════════════
   MENTIONS LÉGALES
═══════════════════════════════════════════ */
.ml-page { max-width:860px; margin:0 auto; padding:100px 40px 80px; }
.ml-page h1 { font-size:3rem; color:var(--off-white); margin-bottom:12px; }
.ml-intro { color:var(--text-muted); font-size:.9rem; margin-bottom:60px; padding-bottom:32px; border-bottom:1px solid var(--border); }
.ml-section { margin-bottom:48px; }
.ml-section h2 { font-size:1.5rem; color:var(--off-white); margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid var(--gold-border); }
.ml-section h3 { color:var(--off-white); font-family:'Jost',sans-serif; font-weight:600; margin:20px 0 8px; letter-spacing:.03em; text-transform:uppercase; font-size:.75rem; }
.ml-section p { color:var(--text); font-size:.92rem; line-height:1.85; margin-bottom:12px; }
.ml-section a { color:var(--gold-bright); }

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width:1100px) {
    nav { padding:0 32px; }
    .nav-tab { padding:10px 14px; font-size:.66rem; }
    .hero-content { padding:60px 48px; }
    .hero-content h1 { font-size:2.8rem; }
}
@media (max-width:1024px) {
    :root { --nav-h:60px; }
    nav { padding:0 20px; gap:0; }
    .nav-tabs { display:none; }
    .nav-hamburger { display:flex; }
    .nav-phone { display:none; }
    .hero-content { padding:52px 32px; }
    .hero-content h1 { font-size:2.2rem; }
    .mini-sections { grid-template-columns:1fr; }
    .ms-card { border-right:none; border-bottom:1px solid var(--gold-border); }
    .ms-card:last-child { border-bottom:none; }
    .domains-section,.process-section,.press-section,.reviews-section,
    .info-vals,.info-Cabinet,.honoraires-modes,.honor-faq,.honor-cta,.honoraires-intro,
    .aja-section,.contact-layout,.contact-details,
    .domaine-section { padding:60px 32px; }
    .domains-grid,.modes-grid,.vals-grid,.contact-layout,.aja-inner { grid-template-columns:1fr; }
    .Cabinet-details,.contact-details-grid { grid-template-columns:1fr 1fr; }
    .press-grid,.reviews-grid { grid-template-columns:1fr; }
    .info-hero { grid-template-columns:1fr; padding:60px 32px; }
    .info-photo { max-width:340px; }
    .ft-top { grid-template-columns:1fr; gap:32px; }
    footer { padding:40px 32px 24px; }
    .process-steps { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
    .nav-phone { display:none; }
    .hero-content { padding:40px 20px; }
    .hero-content h1 { font-size:1.8rem; }
    .hero-trust { gap:20px; flex-wrap:wrap; }
    .hero-slider { height:90vh; }
    .domains-section,.process-section,.press-section,.reviews-section,
    .info-vals,.info-Cabinet,.honoraires-modes,.honor-faq,.honor-cta,
    .aja-section,.contact-layout,.contact-details,.domaine-section,
    .page-hero,.honoraires-intro,.info-hero,.ms-card { padding:44px 20px; }
    .domaine-num { font-size:4.5rem; }
    .process-steps,.Cabinet-details,.contact-details-grid { grid-template-columns:1fr; }
    .reviews-top-row { flex-direction:column; gap:20px; align-items:flex-start; }
    .ft-bottom { flex-direction:column; gap:12px; text-align:center; }
    .ft-legal { flex-wrap:wrap; justify-content:center; }
    footer { padding:36px 20px 20px; }
    .cf-row { grid-template-columns:1fr; }
}
