*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --cream: #F8F4EE; --warm: #FDFAF6; --sand: #E8DDD0;
  --taupe: #C4AA92; --dark: #2C2420; --mid: #6B5248;
  --accent: #A0785A; --text: #3A2E28;
}
html { scroll-behavior: auto; overflow-x: hidden; }
body { font-family: 'Jost', sans-serif; background: var(--warm); color: var(--text); font-weight: 300; letter-spacing: 0.02em; overflow-x: hidden; }

/* ── NAV ── */
nav {
  position: fixed; top: 0; width: 100%; z-index: 1000;
  background: rgba(253,250,246,0.94); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--sand);
  display: flex; align-items: center; justify-content: space-between;
  height: 68px; padding: 0 52px;
}
.nav-logo { font-family:'Cormorant Garamond',serif; font-size:1.05rem; font-weight:400; color:var(--dark); letter-spacing:.09em; text-transform:uppercase; text-decoration:none; }
.nav-logo span { color:var(--accent); font-style:italic; text-transform:none; letter-spacing:0; font-weight:300; }
.nav-links { display:flex; gap:28px; list-style:none; align-items:center; }
.nav-links a { font-size:.74rem; text-transform:uppercase; letter-spacing:.13em; color:var(--mid); text-decoration:none; transition:color .22s; }
.nav-links a:hover { color:var(--accent); }
.nav-links a.nav-active { color:var(--accent); }
.nav-cta { background:var(--dark) !important; color:var(--cream) !important; padding:9px 20px; border-radius:2px; transition:background .22s !important; }
.nav-cta:hover { background:var(--accent) !important; }
.hamburger { display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; }
.hamburger span { display:block; width:21px; height:1px; background:var(--dark); }
.mobile-nav { display:none; position:fixed; top:68px; left:0; right:0; background:var(--warm); border-bottom:1px solid var(--sand); z-index:999; padding:12px 24px; }
.mobile-nav.open { display:block; }
.mobile-nav a { display:block; padding:11px 0; font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; color:var(--mid); text-decoration:none; border-bottom:1px solid var(--sand); }
.mobile-nav a:last-child { border-bottom:none; }

/* ── SHARED ── */
section { padding:90px 52px; }
.eyebrow { font-size:.68rem; text-transform:uppercase; letter-spacing:.22em; color:var(--accent); margin-bottom:16px; display:flex; align-items:center; gap:13px; }
.eyebrow::before { content:''; display:inline-block; width:22px; height:1px; background:var(--accent); }
h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.9rem,3.3vw,2.9rem); font-weight:300; color:var(--dark); line-height:1.2; margin-bottom:14px; }
h2 em { font-style:italic; color:var(--accent); }
.intro { font-size:.96rem; line-height:1.88; color:var(--mid); max-width:560px; margin-bottom:54px; }
.btn-p { background:var(--dark); color:var(--cream); padding:15px 34px; font-family:'Jost',sans-serif; font-size:.75rem; text-transform:uppercase; letter-spacing:.14em; border:none; cursor:pointer; text-decoration:none; display:inline-block; border-radius:2px; transition:background .22s,transform .18s; }
.btn-p:hover { background:var(--accent); transform:translateY(-2px); color:var(--cream); }
.btn-o { border:1px solid var(--taupe); color:var(--mid); padding:15px 34px; font-family:'Jost',sans-serif; font-size:.75rem; text-transform:uppercase; letter-spacing:.14em; cursor:pointer; text-decoration:none; display:inline-block; border-radius:2px; background:transparent; transition:border-color .22s,color .22s,transform .18s; }
.btn-o:hover { border-color:var(--accent); color:var(--accent); transform:translateY(-2px); }

/* ── BRUSHSTROKES (home only) ── */
.home-wrapper { position: relative; }
.page-deco {
  position: absolute;
  top: 0; right: 0;
  width: 55%; height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.page-deco svg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  overflow: visible;
}
@media(max-width:960px) { .page-deco { display:none; } }

/* ── HERO ── */
#hero { min-height:100vh; display:flex; align-items:center; padding:120px 52px 80px; position:relative; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background:linear-gradient(135deg,var(--warm) 0%,var(--cream) 55%,var(--sand) 100%); }
.hero-orb { position:absolute; width:580px; height:580px; border-radius:50%; background:radial-gradient(circle,rgba(160,120,90,.07) 0%,transparent 70%); right:-80px; top:50%; transform:translateY(-50%); }
.hero-content { position:relative; z-index:1; max-width:680px; }
.hero-tag { font-size:.7rem; text-transform:uppercase; letter-spacing:.2em; color:var(--accent); margin-bottom:26px; display:flex; align-items:center; gap:13px; }
.hero-tag::before { content:''; display:inline-block; width:28px; height:1px; background:var(--accent); }
h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.8rem,5.2vw,5rem); font-weight:300; line-height:1.1; color:var(--dark); margin-bottom:26px; }
h1 em { font-style:italic; color:var(--accent); }
.hero-desc { font-size:.97rem; line-height:1.9; color:var(--mid); max-width:500px; margin-bottom:18px; }
.hero-expertises { margin-bottom:42px; }
.hero-expertises ul { list-style:none; }
.hero-expertises li { font-size:.86rem; color:var(--mid); padding:5px 0; display:flex; gap:10px; border-bottom:1px solid rgba(232,221,208,.6); }
.hero-expertises li:last-child { border-bottom:none; }
.hero-expertises li::before { content:'-'; color:var(--taupe); flex-shrink:0; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }

.accueil-domaines .intro {
  border-left: 2px solid var(--accent);
  padding-left: 20px;
  max-width: 520px;
}
.accueil-domaines { background:var(--cream); }
.domaines-mini-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:50px; }
.dm-card { background:var(--warm); border:1px solid var(--sand); padding:28px 26px; border-radius:3px; transition:border-color .25s,box-shadow .25s; }
.dm-card:hover { border-color:var(--taupe); box-shadow:0 6px 30px rgba(139,110,88,.07); }
.dm-title { font-family:'Cormorant Garamond',serif; font-size:1.15rem; color:var(--dark); margin-bottom:8px; }
.dm-text { font-size:.82rem; line-height:1.75; color:var(--mid); }

.accueil-metiers { background:var(--cream); position: relative; z-index: 1; }
.metiers-sectors { display:flex; flex-wrap:wrap; gap:10px; margin-top:42px; }
.sector-tag { padding:10px 20px; background:var(--warm); border:1px solid var(--sand); font-size:.78rem; color:var(--mid); border-radius:2px; letter-spacing:.04em; transition:border-color .2s,color .2s; filter:grayscale(1); }
.sector-tag:hover { border-color:var(--taupe); color:var(--accent); }

.accueil-approche { background:var(--dark); }
.accueil-approche .eyebrow { color:var(--taupe); }
.accueil-approche .eyebrow::before { background:var(--taupe); }
.accueil-approche h2 { color:var(--cream); }
.accueil-approche h2 em { color:var(--taupe); }
.accueil-approche .intro { color:rgba(248,244,238,.65); max-width:700px; }
.approche-quote { border-left:2px solid var(--taupe); padding-left:28px; margin:40px 0; }
.approche-quote blockquote { font-family:'Cormorant Garamond',serif; font-size:1.45rem; font-style:italic; font-weight:300; color:rgba(248,244,238,.85); line-height:1.55; }
.pourquoi-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:40px; }
.pourquoi-item { background:rgba(255,255,255,.04); border:1px solid rgba(196,170,146,.2); padding:24px 22px; border-radius:3px; display:flex; gap:14px; align-items:flex-start; }
.pourquoi-check { width:22px; height:22px; flex-shrink:0; background:var(--accent); border-radius:50%; display:flex; align-items:center; justify-content:center; color:white; font-size:.6rem; margin-top:1px; }
.pourquoi-text { font-size:.86rem; color:rgba(248,244,238,.7); line-height:1.7; }

/* ── PAGE DOMAINES ── */
#domaines { background:var(--warm); }
.domaines-intro-block { max-width:760px; }
.domaines-sections { margin-top:60px; display:flex; flex-direction:column; gap:48px; }
.dom-section-title { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:400; color:var(--dark); margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid var(--sand); filter:grayscale(1); }
.dom-items { list-style:none; }
.dom-item { font-size:.88rem; line-height:1.8; color:var(--mid); padding:8px 0 8px 20px; border-bottom:1px solid rgba(232,221,208,.5); position:relative; }
.dom-item:last-child { border-bottom:none; }
.dom-item::before { content:'-'; position:absolute; left:0; color:var(--taupe); }
.dom-sub { list-style:none; margin-top:8px; margin-left:16px; }
.dom-sub li { font-size:.82rem; color:var(--mid); padding:4px 0 4px 16px; position:relative; }
.dom-sub li::before { content:'·'; position:absolute; left:0; color:var(--taupe); }

/* ── PAGE MÉTIERS ── */
#metiers { background:var(--cream); }
.metiers-who { background:var(--warm); padding:50px 52px; border-radius:4px; margin-bottom:60px; max-width:760px; }
.metiers-who p { font-size:.92rem; line-height:1.9; color:var(--mid); max-width:720px; }
.metiers-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:50px; }
.metier-card { background:var(--warm); padding:34px 28px; position:relative; overflow:hidden; border-radius:3px; transition:transform .28s,box-shadow .28s; }
.metier-card:hover { transform:translateY(-4px); box-shadow:0 10px 40px rgba(139,110,88,.1); }
.metier-card::before { content:''; position:absolute; top:0; left:0; width:3px; height:0; background:var(--accent); transition:height .4s; }
.metier-card:hover::before { height:100%; }
.metier-icon { font-size:1.8rem; margin-bottom:16px; filter:grayscale(1); }
.metier-title { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--dark); margin-bottom:10px; }
.metier-text { font-size:.82rem; line-height:1.78; color:var(--mid); }
.metiers-territory { background:var(--dark); padding:52px; border-radius:4px; margin-top:60px; }
.metiers-territory p { font-size:.92rem; line-height:1.9; color:rgba(248,244,238,.7); max-width:720px; }
.metiers-territory strong { color:var(--cream); }

/* ── PAGE HONORAIRES ── */
#honoraires { background:var(--warm); }
.hon-intro-block { background:var(--cream); padding:48px; border-radius:4px; max-width:800px; margin-bottom:60px; }
.hon-intro-block p { font-size:.93rem; line-height:1.9; color:var(--mid); }
.hon-formules { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:60px; }
.hon-formule { background:var(--cream); border:1px solid var(--sand); padding:34px 28px; border-radius:3px; text-align:center; transition:border-color .25s,transform .25s; }
.hon-formule:hover { border-color:var(--taupe); transform:translateY(-3px); }
.hon-formule-icon { font-size:2rem; margin-bottom:16px; filter:grayscale(1); }
.hon-formule-title { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--dark); margin-bottom:10px; }
.hon-formule-text { font-size:.82rem; line-height:1.75; color:var(--mid); }
.hon-dispositifs { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.hon-disp { background:var(--cream); padding:34px 28px; border-radius:3px; border:1px solid var(--sand); }
.hon-disp-title { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--dark); margin-bottom:10px; }
.hon-disp-text { font-size:.81rem; line-height:1.78; color:var(--mid); }
.hon-disp-link { display:inline-block; margin-top:10px; font-size:.75rem; color:var(--accent); text-decoration:none; }
.hon-disp-link:hover { text-decoration:underline; }
.hon-engagement { background:var(--dark); padding:52px; border-radius:4px; margin-top:52px; }
.hon-engagement p { font-size:.92rem; line-height:1.9; color:rgba(248,244,238,.7); max-width:720px; }
.hon-engagement strong { color:var(--cream); }

/* ── PAGE À PROPOS ── */
#apropos { background:var(--warm); }
.apropos-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:start; margin-top:60px; }
.apropos-parcours p { font-size:.9rem; line-height:1.9; color:var(--mid); margin-bottom:18px; }
.apropos-diplomes { margin-top:36px; }
.apropos-diplomes h3 { font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:var(--dark); margin-bottom:20px; padding-bottom:10px; border-bottom:1px solid var(--sand); }
.diplome-item { display:flex; gap:14px; padding:12px 0; border-bottom:1px solid rgba(232,221,208,.5); }
.diplome-item:last-child { border-bottom:none; }
.diplome-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); flex-shrink:0; margin-top:6px; }
.diplome-text { font-size:.83rem; line-height:1.7; color:var(--mid); }
.diplome-text strong { color:var(--text); font-weight:400; }
.apropos-sidebar { position:sticky; top:20px; margin-top:-120px; }
.sidebar-card { background:var(--cream); padding:36px; border-radius:4px; margin-bottom:20px; }
.sidebar-card-title { font-family:'Cormorant Garamond',serif; font-size:1.25rem; color:var(--dark); margin-bottom:16px; }
.sidebar-card p { font-size:.85rem; line-height:1.8; color:var(--mid); }
.sidebar-cta { background:var(--dark); padding:36px; border-radius:4px; text-align:center; }
.sidebar-cta p { font-size:.85rem; color:rgba(248,244,238,.65); margin-bottom:20px; line-height:1.7; }

/* ── PAGE CONTACT ── */
#contact { background:linear-gradient(160deg,var(--warm) 0%,var(--cream) 100%); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:40px 72px; align-items:start; margin-top:56px; }
.contact-info { grid-column:1; grid-row:1; }
.contact-card { grid-column:2; grid-row:1 / span 2; }
.contact-cabinet { grid-column:1; grid-row:2; }
.contact-info h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:300; color:var(--dark); margin-bottom:18px; line-height:1.35; }
.contact-info p { font-size:.88rem; line-height:1.88; color:var(--mid); margin-bottom:26px; }
.contact-features { list-style:none; }
.contact-features li { display:flex; align-items:flex-start; gap:11px; font-size:.83rem; color:var(--mid); padding:11px 0; border-bottom:1px solid var(--sand); }
.contact-features li:last-child { border-bottom:none; }
.c-check { width:19px; height:19px; flex-shrink:0; background:var(--accent); border-radius:50%; display:flex; align-items:center; justify-content:center; color:white; font-size:.55rem; margin-top:1px; }
.contact-card { background:white; padding:44px; border-radius:4px; box-shadow:0 4px 48px rgba(139,110,88,.07); text-align:center; }
.contact-card h4 { font-family:'Cormorant Garamond',serif; font-size:1.35rem; color:var(--dark); margin-bottom:6px; }
.contact-card-sub { font-size:.8rem; color:var(--taupe); margin-bottom:36px; }
.contact-method { display:flex; align-items:center; gap:18px; padding:22px 0; border-bottom:1px solid var(--sand); text-align:left; }
.contact-method:last-of-type { border-bottom:none; }
.contact-method-icon { width:46px; height:46px; flex-shrink:0; background:var(--cream); border:1px solid var(--sand); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.contact-method-body { flex:1; }
.contact-method-label { font-size:.67rem; text-transform:uppercase; letter-spacing:.16em; color:var(--taupe); margin-bottom:5px; }
.contact-method-value { font-family:'Cormorant Garamond',serif; font-size:1.18rem; font-weight:400; color:var(--dark); }
.contact-method-value a { color:var(--dark); text-decoration:none; transition:color .2s; }
.contact-method-value a:hover { color:var(--accent); }
.contact-method-hint { font-size:.75rem; color:var(--mid); margin-top:3px; opacity:.75; }
.contact-card-note { margin-top:32px; padding:18px 20px; background:var(--cream); border-radius:3px; border-left:2px solid var(--taupe); font-size:.8rem; line-height:1.75; color:var(--mid); }

/* ── FOOTER ── */
footer { background: var(--dark); color: rgba(248,244,238,.55); }
.footer-top { padding: 72px 52px 52px; display: grid; grid-template-columns: 1.8fr 1fr 1fr; gap: 64px; border-bottom: 1px solid rgba(255,255,255,.07); }
.footer-brand-logo { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 400; color: var(--cream); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
.footer-brand-sub { font-size: .72rem; color: var(--taupe); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 20px; }
.footer-brand-desc { font-size: .82rem; line-height: 1.85; color: rgba(248,244,238,.45); max-width: 320px; margin-bottom: 28px; }
.footer-brand-cta { display: inline-block; background: var(--accent); color: var(--cream); padding: 12px 24px; border-radius: 2px; font-size: .72rem; text-transform: uppercase; letter-spacing: .13em; text-decoration: none; transition: background .22s, transform .18s; }
.footer-brand-cta:hover { background: #8B6E58; transform: translateY(-1px); }
.footer-col-title { font-size: .65rem; text-transform: uppercase; letter-spacing: .22em; color: var(--taupe); margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid rgba(196,170,146,.15); }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 11px; }
.footer-col ul li a { font-size: .8rem; color: rgba(248,244,238,.5); text-decoration: none; transition: color .2s; display: flex; align-items: center; gap: 8px; }
.footer-col ul li a::before { content: ''; display: inline-block; width: 12px; height: 1px; background: var(--taupe); opacity: 0; transition: opacity .2s, width .2s; flex-shrink: 0; }
.footer-col ul li a:hover { color: var(--cream); }
.footer-col ul li a:hover::before { opacity: 1; }
.footer-address { font-style: normal; font-size: .82rem; line-height: 2; color: rgba(248,244,238,.5); }
.footer-address strong { color: rgba(248,244,238,.8); font-weight: 400; }
.footer-address a { color: var(--taupe); text-decoration: none; transition: color .2s; }
.footer-address a:hover { color: var(--cream); }
.footer-maps-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-size: .72rem; color: rgba(196,170,146,.7); text-decoration: none; letter-spacing: .04em; transition: color .2s; }
.footer-maps-link:hover { color: var(--cream); }
.footer-maps-link::before { content: '↗'; font-size: .8rem; }
.footer-bottom { padding: 20px 52px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.footer-bottom-left { font-size: .72rem; color: rgba(248,244,238,.3); }
.footer-bottom-right { display: flex; gap: 20px; }
.footer-bottom-right a { font-size: .72rem; color: rgba(248,244,238,.3); text-decoration: none; transition: color .2s; }
.footer-bottom-right a:hover { color: rgba(248,244,238,.7); }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
.fi { opacity:0; }
.fi.played { animation:fadeUp .68s ease forwards; }
.d1{animation-delay:.1s} .d2{animation-delay:.25s} .d3{animation-delay:.4s} .d4{animation-delay:.55s}
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

img { max-width:100%; height:auto; display:block; }

/* ── RESPONSIVE ── */
@media(max-width:960px) {
  nav{padding:0 22px;} .nav-links{display:none;} .hamburger{display:flex;}
  section{padding:64px 22px;} #hero{padding:100px 22px 60px;}
  .domaines-mini-grid{grid-template-columns:1fr;}
  .metiers-grid{grid-template-columns:1fr;}
  .hon-formules{grid-template-columns:1fr;} .hon-dispositifs{grid-template-columns:1fr;}
  .apropos-grid{grid-template-columns:1fr; gap:32px;}
  .apropos-sidebar{position:static; margin-top:0 !important;}
  .sidebar-card{padding:24px;}
  .contact-grid{display:flex; flex-direction:column;} .contact-info{order:1;} .contact-card{order:2;} .contact-cabinet{order:3;}
  .pourquoi-grid{grid-template-columns:1fr;}
  .metiers-who,.metiers-territory,.hon-engagement,.hon-intro-block{padding:28px;}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn-p,.hero-actions .btn-o{text-align:center; width:100%;}
  .footer-top { grid-template-columns: 1fr; gap: 36px; padding: 44px 22px 36px; }
  .footer-bottom { padding: 18px 22px; flex-direction: column; align-items: flex-start; }
}
@media(max-width:480px) {
  h1{font-size:clamp(2rem,8vw,3rem);}
  .contact-card{padding:28px 20px; width:100%; max-width:420px; margin-left:auto; margin-right:auto;}
  .sidebar-cta{padding:24px 20px;}
}

/* ── MOBILE ADAPTATIONS ── */
@media(max-width:960px) {

  /* Footer CTA centered, no arrow */
  .footer-brand-cta { text-align:center; display:block; }

  /* Section CTAs centered */
  .btn-section-cta { display:block; text-align:center; }

  /* "En savoir plus sur mon parcours" → outlined brown box on mobile */
  .btn-outline-mobile {
    background:transparent !important;
    color:var(--accent) !important;
    border:1.5px solid var(--accent) !important;
    box-shadow:none !important;
    display:block;
    text-align:center;
  }

  /* À propos: photo first on mobile */
  .apropos-grid { display:flex; flex-direction:column; }
  .apropos-sidebar { order:-1; }
  .apropos-sidebar img { width:60% !important; }
  .apropos-sidebar > div:first-child { text-align:center; }

  /* Contact: white card (email/phone) at top */
  .contact-card { order:0 !important; }
  .contact-info { order:1 !important; }
  .contact-cabinet { order:2 !important; }

  /* Expertises métiers: center Me contacter CTA */
  #metiers .btn-section-cta { display:block; text-align:center; }

  /* Honoraires: center Demander un devis */
  #honoraires .btn-section-cta { display:block; text-align:center; }

  /* À propos sidebar CTA: smaller and centered */
  .sidebar-cta .btn-p {
    font-size:.78rem !important;
    padding:10px 22px !important;
    display:block;
    text-align:center;
  }
}
