*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
:root { --navy:#0f1f3d; --gold:#c9a84c; --cream:#f7f5f0; --cream-dark:#ede9e0; --white:#ffffff; --text:#2a2a2a; --text-light:#6b6b6b; }
html { scroll-behavior:smooth; }
body { font-family:'Montserrat',sans-serif; background:var(--cream); color:var(--text); overflow-x:hidden; padding-top:96px; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; justify-content:space-between; align-items:center; padding:1.2rem 4rem; background:rgba(247,245,240,0.97); backdrop-filter:blur(8px); border-bottom:1px solid rgba(201,168,76,0.25); }
.nav-logo { font-family:'Cormorant Garamond',serif; font-size:3.7rem; font-weight:600; color:var(--navy); text-decoration:none; }
.nav-logo span { display:block; font-size:1.15rem; font-family:'Montserrat',sans-serif; font-weight:500; letter-spacing:0.32em; color:var(--gold); text-transform:uppercase; margin-top:-3px; }
.nav-links { display:flex; gap:2.2rem; list-style:none; align-items:center; }
.nav-links a { text-decoration:none; font-size:0.7rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--navy); transition:color 0.3s; position:relative; }
.nav-links a:not(.nav-cta):hover { color:var(--gold); }
.nav-links > li > a:not(.nav-cta)::after { content:''; position:absolute; bottom:-4px; left:0; right:0; height:1px; background:var(--gold); transform:scaleX(0); transition:transform 0.3s; }
.nav-links > li > a:not(.nav-cta):hover::after { transform:scaleX(1); }
.nav-cta { background:var(--navy); color:var(--white) !important; padding:0.6rem 1.6rem; transition:background 0.3s !important; }
.nav-cta:hover { background:var(--gold) !important; color:var(--navy) !important; }
.nav-external::after { content:' ↗'; font-size:0.65em; }

/* Dropdown "Expertises" */
.nav-dropdown { position:relative; }
.dropdown-menu { position:absolute; top:100%; left:50%; transform:translateX(-50%); background:var(--white); min-width:230px; list-style:none; padding:0.6rem 0; box-shadow:0 16px 36px rgba(15,31,61,0.14); border-top:2px solid var(--gold); opacity:0; visibility:hidden; transition:opacity .25s, visibility .25s; margin-top:0.4rem; }
.nav-dropdown:hover .dropdown-menu, .nav-dropdown:focus-within .dropdown-menu { opacity:1; visibility:visible; }
.dropdown-menu li { width:100%; }
.dropdown-menu a { display:block; padding:0.7rem 1.3rem; font-size:0.66rem; letter-spacing:0.12em; white-space:nowrap; }
.dropdown-menu a::after { display:none !important; }

/* SECTIONS */
section { scroll-margin-top:74px; }

/* =================== ACCUEIL =================== */
#accueil { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 96px); }
.hero-left { background:var(--cream); display:flex; flex-direction:column; justify-content:center; padding:5rem 4rem 5rem 5rem; position:relative; }
.hero-left::after { content:''; position:absolute; top:15%; bottom:15%; right:0; width:1px; background:linear-gradient(to bottom, transparent, rgba(201,168,76,0.3), transparent); }
.hero-tag { font-size:1.04rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold); font-weight:500; margin-bottom:1.8rem; }
.hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.8rem,4.5vw,4.5rem); font-weight:300; line-height:1.1; color:var(--navy); margin-bottom:1rem; }
.hero-title em { font-style:italic; color:var(--gold); }
.hero-sub { font-size:0.9rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--navy); font-weight:500; margin-bottom:0.6rem; }
.hero-sub-2 { font-size:0.72rem; letter-spacing:0.32em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid var(--cream-dark); }
.hero-tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.25rem; line-height:1.5; color:var(--navy); max-width:440px; margin-bottom:1.5rem; }
.hero-text { font-size:0.88rem; line-height:1.95; color:var(--text-light); max-width:440px; margin-bottom:2.5rem; }
.hero-stats { display:flex; gap:2.5rem; margin-bottom:2.8rem; }
.stat-num { font-family:'Cormorant Garamond',serif; font-size:2.4rem; font-weight:600; color:var(--navy); line-height:1; }
.stat-label { font-size:0.6rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--text-light); margin-top:3px; }
.hero-buttons { display:flex; gap:1.2rem; align-items:center; flex-wrap:wrap; }
.btn-primary { background:var(--navy); color:var(--white); padding:0.85rem 2rem; font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; text-decoration:none; font-weight:500; transition:all 0.3s; font-family:'Montserrat',sans-serif; display:inline-block; }
.btn-primary:hover { background:var(--gold); color:var(--navy); }
.btn-outline { border:1px solid var(--navy); color:var(--navy); padding:0.85rem 2rem; font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; text-decoration:none; font-weight:500; transition:all 0.3s; font-family:'Montserrat',sans-serif; display:inline-block; }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.etude-marche-teaser { margin-top:2rem; padding:1.2rem 1.5rem; border-left:3px solid var(--gold); background:rgba(201,168,76,0.06); max-width:480px; }
.etude-marche-label { font-family:'Montserrat',sans-serif; font-size:0.62rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); font-weight:700; margin:0 0 0.4rem; }
.etude-marche-text { font-size:0.92rem; color:var(--grey); margin:0 0 0.9rem; line-height:1.6; }
.btn-etude { display:inline-block; font-family:'Montserrat',sans-serif; font-size:0.68rem; letter-spacing:0.15em; text-transform:uppercase; font-weight:600; color:var(--navy); text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:2px; transition:color 0.2s; }
.btn-etude:hover { color:var(--gold); }
.btn-ghost { color:var(--navy); font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; text-decoration:none; font-weight:500; display:inline-flex; align-items:center; gap:0.4rem; transition:color 0.3s; }
.btn-ghost:hover { color:var(--gold); }
.btn-ghost::after { content:'→'; }
.btn-gold { border:1px solid var(--gold); color:var(--navy); padding:0.85rem 2.2rem; font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; text-decoration:none; font-weight:500; transition:all 0.3s; font-family:'Montserrat',sans-serif; display:inline-block; }
.btn-gold:hover { background:var(--gold); color:var(--white); }

.hero-right { position:relative; overflow:hidden; }
.hero-right img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.hero-right-overlay { position:absolute; bottom:0; left:0; right:0; padding:2.5rem; background:linear-gradient(to top, rgba(15,31,61,0.75), transparent); }
.hero-domains { display:flex; flex-wrap:wrap; gap:0.5rem; }
.domain-tag { border:1px solid rgba(201,168,76,0.6); color:rgba(255,255,255,0.85); padding:0.28rem 0.75rem; font-size:0.6rem; letter-spacing:0.15em; text-transform:uppercase; }

/* APPROCHE / texte de présentation */
.section-approche { background:var(--white); padding:7rem 5rem; display:grid; grid-template-columns:1fr 2fr; gap:6rem; align-items:start; }
.section-label { font-size:1rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); font-weight:700; padding-top:0.3rem; }
.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.1rem,3.2vw,3rem); font-weight:300; color:var(--navy); line-height:1.25; margin-bottom:1.5rem; }
.gold-line { width:44px; height:2px; background:var(--gold); margin:1.8rem 0; }
.section-text { font-size:0.92rem; line-height:1.95; color:var(--text-light); margin-bottom:1.5rem; }

/* DOMAINES (accueil + nouvelles pages liste) */
.domaines-strip { background:var(--navy); padding:5rem; }
.strip-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:3rem; }
.strip-title { font-family:'Cormorant Garamond',serif; font-size:2.5rem; font-weight:300; color:var(--white); }
.strip-link { color:var(--gold); text-decoration:none; font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; display:flex; align-items:center; gap:0.4rem; transition:opacity 0.3s; }
.strip-link:hover { opacity:0.7; }
.strip-link::after { content:'→'; }
.domaines-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,0.07); }
.domaine-card { background:var(--navy); padding:2.5rem 1.8rem; text-decoration:none; transition:background 0.3s; border-top:2px solid transparent; display:block; }
.domaine-card:hover { background:rgba(255,255,255,0.04); border-top-color:var(--gold); }
.domaine-num { font-family:'Cormorant Garamond',serif; font-size:2rem; color:rgba(201,168,76,0.25); font-weight:600; display:block; margin-bottom:1rem; }
.domaine-name { font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:500; letter-spacing:0.01em; text-transform:none; color:var(--white); margin-bottom:0.9rem; line-height:1.15; }
.domaine-desc { font-size:0.78rem; line-height:1.7; color:rgba(255,255,255,0.45); }

/* STATS */
.stats-band { background:var(--cream-dark); padding:5rem; display:grid; grid-template-columns:repeat(3,1fr); }
.stat-block { text-align:center; padding:1.5rem; border-right:1px solid rgba(201,168,76,0.2); }
.stat-block:last-child { border-right:none; }
.stat-big { font-family:'Cormorant Garamond',serif; font-size:4.5rem; font-weight:600; color:var(--navy); line-height:1; }
.stat-big span { color:var(--gold); font-size:2.5rem; }
.stat-desc { font-size:0.62rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-light); margin-top:0.8rem; }

/* OUVRAGES */
.ouvrages-band { background:var(--cream); padding:4rem 5rem; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--cream-dark); border-bottom:1px solid var(--cream-dark); }
.ouvrages-text h3 { font-family:'Cormorant Garamond',serif; font-size:2.1rem; font-weight:300; color:var(--navy); margin-bottom:0.4rem; }
.ouvrages-text p { font-size:0.88rem; color:var(--text-light); }

/* Bannière de page (sans photo) pour les pages piliers / blog / autres formations */
.pillar-header { background:var(--navy); min-height:360px; display:flex; flex-direction:column; justify-content:center; padding:3rem 5rem; position:relative; overflow:hidden; }
.pillar-header::after { content:attr(data-word); position:absolute; bottom:-1rem; right:2rem; font-family:'Cormorant Garamond',serif; font-size:9rem; font-weight:600; color:rgba(255,255,255,0.04); letter-spacing:0.1em; white-space:nowrap; pointer-events:none; }
.pillar-header .page-tag { margin-bottom:1rem; }
.pillar-header .page-title { color:var(--white); max-width:680px; }
.pillar-header .page-lead { color:rgba(255,255,255,0.6); font-size:0.92rem; line-height:1.85; max-width:560px; margin-top:1.3rem; }
@media (max-width:900px){ .pillar-header { min-height:260px; padding:2.5rem 1.5rem; } }

/* =================== PAGES PILIERS / EXPERTISES =================== */
.page-banner { position:relative; height:340px; overflow:hidden; }
.page-banner img { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }
.page-banner-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(15,31,61,0.82) 40%, rgba(15,31,61,0.3)); display:flex; flex-direction:column; justify-content:center; padding:0 5rem; }
.page-tag { font-size:0.62rem; letter-spacing:0.38em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; }
.page-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.5rem,5vw,4rem); font-weight:300; color:var(--white); line-height:1.1; }
.page-title em { font-style:italic; color:var(--gold); }

.expertise-block { display:grid; grid-template-columns:1fr 1fr; }
.expertise-block:nth-child(even) .exp-visual { order:2; }
.expertise-block:nth-child(even) .exp-content { order:1; }
.exp-visual { background:var(--navy); min-height:380px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.exp-visual-v2 { background:#17305a; }
.exp-visual-v3 { background:#0c1e3c; }
.exp-visual-v4 { background:#14263f; }
.exp-visual-num { font-family:'Cormorant Garamond',serif; font-size:14rem; font-weight:600; color:rgba(255,255,255,0.05); position:absolute; line-height:1; user-select:none; }
.exp-visual-label { position:absolute; bottom:2rem; left:2.5rem; font-size:0.6rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); }
.exp-visual-bar { position:absolute; top:0; left:0; width:3px; height:100%; background:var(--gold); opacity:0.6; }
.exp-content { background:var(--white); padding:4rem 4.5rem; display:flex; flex-direction:column; justify-content:center; }
.exp-num { font-family:'Cormorant Garamond',serif; font-size:0.95rem; color:var(--gold); margin-bottom:0.8rem; letter-spacing:0.1em; }
.exp-title { font-family:'Cormorant Garamond',serif; font-size:2.1rem; font-weight:300; color:var(--navy); line-height:1.2; margin-bottom:0.5rem; }
.exp-tagline { font-size:0.78rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:1.5rem; }
.exp-gold-line { width:38px; height:2px; background:var(--gold); margin-bottom:1.5rem; }
.exp-text { font-size:0.95rem; line-height:1.95; color:var(--text-light); margin-bottom:2rem; }
.exp-modules { display:grid; grid-template-columns:1fr 1fr; gap:0.7rem; }
.exp-module { font-size:0.88rem; color:var(--text); line-height:1.5; padding-left:1rem; position:relative; }
.exp-module::before { content:'—'; position:absolute; left:0; color:var(--gold); font-weight:600; }

/* Page pilier dédiée : intro + sous-blocs de tirets + méthode + diagnostic */
.pillar-intro { max-width:760px; margin:0 auto; padding:5rem 2rem 1rem; text-align:left; }
.pillar-intro .page-tag { color:var(--gold); }
.pillar-intro h2 { font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:300; color:var(--navy); margin-bottom:1.2rem; }
.pillar-intro p { font-size:0.92rem; line-height:2; color:var(--text-light); margin-bottom:1.2rem; }

.pillar-skills { max-width:980px; margin:0 auto; padding:1rem 2rem 4rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.pillar-skills.single { grid-template-columns:1fr; max-width:680px; }
.pillar-skills-group h3 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:500; color:var(--navy); margin-bottom:1.1rem; padding-bottom:0.8rem; border-bottom:1px solid var(--cream-dark); }
.pillar-skills-list { list-style:none; }
.pillar-skills-list li { font-size:0.9rem; line-height:1.6; color:var(--text); padding-left:1.9rem; position:relative; margin-bottom:0.85rem; }
.pillar-skills-list li::before { content:'✓'; position:absolute; left:0; top:0.05em; width:20px; height:20px; border-radius:50%; border:1px solid var(--gold); color:var(--gold); font-size:0.62rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.pillar-note { max-width:980px; margin:0 auto; padding:0 2rem 4rem; font-size:0.84rem; font-style:italic; color:var(--text-light); border-left:2px solid var(--gold); padding-left:1.5rem; }

.diag-callout { max-width:980px; margin:0 auto 4rem; padding:3rem 3.2rem; background:var(--navy); border:1px solid rgba(201,168,76,0.4); display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; box-shadow:0 18px 40px rgba(15,31,61,0.18); }
.diag-callout-tag { display:inline-block; font-size:0.6rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--navy); background:var(--gold); padding:0.3rem 0.7rem; margin-bottom:0.8rem; font-weight:700; }
.diag-callout p { font-size:1.05rem; color:var(--white); max-width:560px; line-height:1.7; }
.diag-callout strong { color:var(--gold); }

/* METHODE */
.approche { background:var(--cream-dark); padding:6rem 5rem; text-align:center; }
.approche-title { font-family:'Cormorant Garamond',serif; font-size:2.8rem; font-weight:300; color:var(--navy); margin-bottom:0.4rem; }
.approche-sub { font-size:0.78rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); margin-bottom:3rem; }
.approche-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; max-width:920px; margin:0 auto; }
.approche-step-box { width:48px; height:48px; border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:var(--navy); }
.approche-name { font-size:0.82rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--navy); font-weight:600; margin-bottom:0.5rem; }
.approche-desc { font-size:0.88rem; line-height:1.75; color:var(--text-light); }

.cta-band { background:var(--navy); padding:2.8rem 5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.5rem; }
.cta-band h3 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:300; color:var(--white); }
.cta-band h3 em { color:var(--gold); font-style:italic; }
.btn-cta { background:var(--gold); color:var(--navy); padding:0.9rem 2.5rem; font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; text-decoration:none; font-weight:600; transition:all 0.3s; font-family:'Montserrat',sans-serif; }
.btn-cta:hover { background:var(--white); }

/* =================== CONTACT (réutilisé sur chaque page) =================== */
#contact { background:var(--cream); }
.contact-header { background:var(--navy); min-height:170px; display:flex; flex-direction:column; justify-content:center; padding:2rem 5rem; position:relative; overflow:hidden; }
.contact-header::after { content:'CONTACT'; position:absolute; bottom:-0.8rem; right:2rem; font-family:'Cormorant Garamond',serif; font-size:4.5rem; font-weight:600; color:rgba(255,255,255,0.025); letter-spacing:0.1em; white-space:nowrap; pointer-events:none; }
.contact-header .page-tag { margin-bottom:0.6rem; }
.contact-header .page-title { color:var(--white); font-size:clamp(1.8rem,3vw,2.4rem); }

.contact-main { max-width:780px; margin:0 auto; padding:3.5rem 2rem 4.5rem; }
.form-title { font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:300; color:var(--navy); margin-bottom:0.3rem; }
.form-sub { font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); margin-bottom:2.5rem; }
.form-group { margin-bottom:1.6rem; }
.form-group label { display:block; font-size:0.62rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--navy); font-weight:600; margin-bottom:0.5rem; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:0.85rem 1rem; border:1px solid var(--cream-dark); background:var(--white); font-family:'Montserrat',sans-serif; font-size:0.84rem; color:var(--text); outline:none; transition:border-color 0.3s; appearance:none; border-radius:0; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--gold); }
.form-group textarea { resize:vertical; min-height:130px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.form-submit { background:var(--navy); color:var(--white); border:none; padding:1rem 3rem; font-family:'Montserrat',sans-serif; font-size:0.7rem; letter-spacing:0.22em; text-transform:uppercase; font-weight:600; cursor:pointer; transition:all 0.3s; margin-top:0.5rem; }
.form-submit:hover { background:var(--gold); color:var(--navy); }
.form-note { font-size:0.68rem; color:var(--text-light); margin-top:1rem; line-height:1.7; }
.contact-divider { display:flex; align-items:center; gap:1.5rem; margin:2.5rem 0 1.8rem; }
.contact-divider::before, .contact-divider::after { content:''; flex:1; height:1px; background:var(--cream-dark); }
.contact-divider span { font-size:0.6rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--text-light); white-space:nowrap; }
.contact-info { display:flex; align-items:center; gap:1.2rem; margin-bottom:1.4rem; }
.info-icon-box { width:44px; height:44px; border:1px solid rgba(201,168,76,0.4); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1rem; }
.info-label { font-size:0.58rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:0.25rem; }
.info-value { font-size:0.86rem; color:var(--navy); }
.info-value a { color:var(--navy); text-decoration:none; transition:color 0.3s; }
.info-value a:hover { color:var(--gold); }
.contact-note { font-size:0.88rem; line-height:1.8; color:var(--text-light); padding:1.5rem 2rem; border-left:2px solid var(--gold); background:var(--white); }
.form-success { display:none; text-align:center; padding:4rem 2rem; }
.success-mark { width:60px; height:60px; border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; font-size:1.4rem; color:var(--gold); }
.success-title { font-family:'Cormorant Garamond',serif; font-size:2rem; color:var(--navy); margin-bottom:0.5rem; }
.success-text { font-size:0.86rem; color:var(--text-light); line-height:1.8; }

/* =================== BLOG =================== */
.blog-grid { max-width:1100px; margin:0 auto; padding:4rem 2rem 6rem; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.blog-card { background:var(--white); border-top:2px solid var(--gold); padding:2.2rem; display:flex; flex-direction:column; }
.blog-date { font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:0.8rem; }
.blog-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:500; color:var(--navy); line-height:1.3; margin-bottom:0.8rem; }
.blog-card p { font-size:0.85rem; line-height:1.7; color:var(--text-light); margin-bottom:1.2rem; flex-grow:1; }
.blog-empty { max-width:600px; margin:5rem auto; padding:0 2rem; text-align:center; }
.blog-empty p { font-size:0.92rem; color:var(--text-light); line-height:1.9; }

/* FOOTER */
footer { background:var(--navy); padding:3rem 5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.5rem; }
.footer-logo { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:600; color:var(--white); }
.footer-logo span { display:block; font-size:0.55rem; font-family:'Montserrat',sans-serif; letter-spacing:0.3em; color:var(--gold); text-transform:uppercase; }
.footer-links { display:flex; gap:2rem; list-style:none; flex-wrap:wrap; }
.footer-links a { color:rgba(255,255,255,0.5); text-decoration:none; font-size:0.68rem; letter-spacing:0.15em; transition:color 0.3s; }
.footer-links a:hover { color:var(--gold); }
.footer-copy { font-size:0.62rem; color:rgba(255,255,255,0.3); }

@keyframes fadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
.hero-tag { animation:fadeUp 0.5s 0.1s both; }
.hero-title { animation:fadeUp 0.5s 0.2s both; }
.hero-sub { animation:fadeUp 0.5s 0.3s both; }
.hero-tagline { animation:fadeUp 0.5s 0.34s both; }
.hero-text { animation:fadeUp 0.5s 0.38s both; }
.hero-stats { animation:fadeUp 0.5s 0.46s both; }
.hero-buttons { animation:fadeUp 0.5s 0.54s both; }

.burger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; background:none; border:none; }
.burger span { display:block; width:24px; height:2px; background:var(--navy); transition:all 0.3s; }
.burger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.burger.open span:nth-child(2) { opacity:0; }
.burger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }
@media (max-width:900px) {
  nav { padding:1rem 1.5rem; }
  .burger { display:flex; }
  .nav-links { display:none; position:fixed; top:60px; left:0; right:0; background:var(--cream); flex-direction:column; gap:0; padding:1rem 0; border-bottom:2px solid var(--gold); z-index:99; box-shadow:0 4px 20px rgba(0,0,0,0.1); max-height:calc(100vh - 60px); overflow-y:auto; }
  .nav-links.open { display:flex; }
  .nav-links > li { border-bottom:1px solid var(--cream-dark); width:100%; }
  .nav-links a { display:block; padding:1rem 1.5rem; font-size:0.8rem; letter-spacing:0.15em; }
  .nav-links .nav-cta { margin:1rem 1.5rem; text-align:center; display:block; }
  .nav-dropdown .dropdown-menu { position:static; transform:none; opacity:1; visibility:visible; box-shadow:none; border-top:none; background:var(--cream-dark); padding:0; margin-top:0; display:none; }
  .nav-dropdown.open .dropdown-menu { display:block; }
  .dropdown-menu a { padding:0.85rem 2.8rem; font-size:0.74rem; }
  #accueil { grid-template-columns:1fr; }
  .hero-right { height:60vw; }
  .hero-left { padding:5rem 1.5rem 3rem; }
  .section-approche { grid-template-columns:1fr; gap:1rem; padding:4rem 1.5rem; }
  .domaines-strip { padding:3rem 1.5rem; } .domaines-grid { grid-template-columns:1fr 1fr; }
  .stats-band { grid-template-columns:1fr; padding:3rem 1.5rem; }
  .stat-block { border-right:none; border-bottom:1px solid rgba(201,168,76,0.2); }
  .ouvrages-band { flex-direction:column; gap:2rem; text-align:center; padding:3rem 1.5rem; }
  .page-banner { height:220px; } .page-banner-overlay { padding:0 1.5rem; }
  .expertise-block { grid-template-columns:1fr; }
  .expertise-block:nth-child(even) .exp-visual { order:0; } .expertise-block:nth-child(even) .exp-content { order:0; }
  .exp-visual { min-height:160px; } .exp-content { padding:2.5rem 1.5rem; }
  .exp-modules { grid-template-columns:1fr; }
  .pillar-intro { padding:3.5rem 1.5rem 0.5rem; }
  .pillar-skills { grid-template-columns:1fr; padding:1rem 1.5rem 3rem; gap:2rem; }
  .pillar-note { padding:0 1.5rem 3rem; }
  .diag-callout { margin:0 1.5rem 3rem; padding:2rem 1.5rem; flex-direction:column; text-align:center; }
  .approche { padding:4rem 1.5rem; } .approche-grid { grid-template-columns:1fr 1fr; }
  .cta-band { flex-direction:column; gap:2rem; text-align:center; padding:3rem 1.5rem; }
  .contact-header { min-height:190px; padding:2.5rem 1.5rem; }
  .contact-main { padding:3rem 1.5rem 4rem; }
  .form-row { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; padding:3rem 1.5rem 4rem; }
  footer { flex-direction:column; gap:1.5rem; text-align:center; padding:2rem 1.5rem; }
  .footer-links { flex-wrap:wrap; justify-content:center; }
}
