/* ============================================================
   CERT INVEST SARL — Concept 01 "L'Autorité Fiduciaire"
   Palette : Navy #1a2c5b | Or/Bronze #b8973a | Blanc #ffffff
   Typo    : Cormorant Garamond (titres) + Outfit (corps)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
  --navy:        #1a2c5b;
  --navy-dark:   #0f1c3d;
  --navy-mid:    #243672;
  --navy-light:  #2e4494;
  --gold:        #b8973a;
  --gold-light:  #d4b254;
  --gold-pale:   #f7f0dc;
  --gold-dark:   #8c7029;
  --white:       #ffffff;
  --off-white:   #f9f7f3;
  --ivory:       #f3efe6;
  --charcoal:    #1e2535;
  --gray:        #607090;
  --gray-light:  #dce3ee;
  --text:        #1e2535;
  --border:      #d0d8e8;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:'Outfit',sans-serif;color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5{font-family:'Cormorant Garamond',serif;font-weight:700;line-height:1.15;letter-spacing:0.01em;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;display:block;}
ul{list-style:none;}
button{font-family:'Outfit',sans-serif;cursor:pointer;}

/* LOGO ANIMATION — toutes les pages */
@keyframes logoReveal{
  0%  {opacity:0;transform:translateY(-20px) scale(0.82) rotate(-5deg);}
  55% {opacity:1;transform:translateY(4px) scale(1.05) rotate(1deg);}
  75% {transform:translateY(-2px) scale(0.98) rotate(-0.4deg);}
  90% {transform:translateY(1px) scale(1.01) rotate(0.2deg);}
  100%{opacity:1;transform:translateY(0) scale(1) rotate(0deg);}
}
.logo-animated{animation:logoReveal 0.8s cubic-bezier(0.22,1,0.36,1) both;transform-origin:center bottom;}

/* NAVBAR */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--white);border-bottom:3px solid var(--gold);box-shadow:0 2px 24px rgba(26,44,91,0.08);transition:box-shadow 0.3s;}
.navbar.scrolled{box-shadow:0 4px 32px rgba(26,44,91,0.16);}
.nav-wrap{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:82px;}
.nav-logo{display:flex;align-items:center;gap:12px;}
.nav-logo img{height:66px;width:auto;}
.nav-logo .logo-fallback{display:flex;flex-direction:column;line-height:1.1;}
.nav-logo .lf-name{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:700;color:var(--navy);letter-spacing:2px;text-transform:uppercase;}
.nav-logo .lf-sub{font-size:8px;font-weight:600;color:var(--gold);letter-spacing:3px;text-transform:uppercase;}

/* NAV LINKS */
.nav-links{display:flex;align-items:center;gap:0.1rem;}
.nav-links>li>a{display:block;padding:8px 13px;font-size:13.5px;font-weight:500;color:var(--navy);letter-spacing:0.3px;border-radius:4px;transition:all 0.2s;white-space:nowrap;}
.nav-links>li>a:hover,.nav-links>li>a.active{color:var(--gold);background:var(--gold-pale);}

/* DROPDOWN — pont invisible anti-disparition */
.nav-links .has-sub{position:relative;}
.nav-links .has-sub>a::after{content:' ▾';font-size:9px;opacity:0.55;}
.nav-links .sub-nav{display:none;position:absolute;top:100%;left:0;padding-top:4px;z-index:200;min-width:290px;}
.nav-links .sub-nav::before{content:'';display:block;height:3px;background:var(--gold);}
.nav-links .sub-nav-inner{background:var(--white);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;box-shadow:0 16px 40px rgba(26,44,91,0.13);overflow:hidden;}
.nav-links .has-sub:hover .sub-nav{display:block;}
.nav-links .sub-nav li a{display:block;padding:12px 20px;font-size:13px;font-weight:500;color:var(--charcoal);border-bottom:1px solid var(--ivory);border-radius:0;transition:all 0.18s;}
.nav-links .sub-nav li:last-child a{border-bottom:none;}
.nav-links .sub-nav li a:hover{color:var(--gold);background:var(--gold-pale);padding-left:26px;}

.nav-cta{background:var(--navy)!important;color:var(--white)!important;border:2px solid var(--navy)!important;padding:9px 22px!important;border-radius:4px!important;font-weight:600!important;font-size:13px!important;letter-spacing:0.5px;transition:all 0.2s!important;}
.nav-cta:hover{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--white)!important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
.hamburger span{width:24px;height:2px;background:var(--navy);border-radius:2px;transition:all 0.3s;}

/* PAGE HERO */
.page-hero{padding:140px 2rem 80px;background:linear-gradient(160deg,var(--navy-dark) 0%,var(--navy) 60%,var(--navy-mid) 100%);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(184,151,58,0.12) 0%,transparent 65%);}
.page-hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:50px;background:var(--white);clip-path:polygon(0 100%,100% 30%,100% 100%);}
.hero-content{max-width:1200px;margin:0 auto;position:relative;z-index:1;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(184,151,58,0.15);border:1px solid rgba(184,151,58,0.35);color:#d4b254;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;padding:6px 14px;border-radius:3px;margin-bottom:1.25rem;}
.page-hero h1{font-size:clamp(2.8rem,5vw,4.5rem);color:var(--white);margin-bottom:1rem;}
.page-hero h1 .accent{color:var(--gold-light);}
.page-hero .hero-desc{color:rgba(255,255,255,0.62);font-size:1.05rem;max-width:580px;line-height:1.75;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:4px;font-size:14px;font-weight:600;letter-spacing:0.3px;border:2px solid transparent;transition:all 0.25s;cursor:pointer;white-space:nowrap;}
.btn-navy{background:var(--navy);color:var(--white);border-color:var(--navy);}
.btn-navy:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px);box-shadow:0 6px 20px rgba(184,151,58,0.3);}
.btn-gold{background:var(--gold);color:var(--white);border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);transform:translateY(-2px);}
.btn-outline-white{background:transparent;color:var(--white);border-color:rgba(255,255,255,0.45);}
.btn-outline-white:hover{border-color:var(--gold-light);color:var(--gold-light);}
.btn-outline-navy{background:transparent;color:var(--navy);border-color:var(--navy);}
.btn-outline-navy:hover{background:var(--navy);color:var(--white);}

/* LAYOUT */
.section{padding:90px 2rem;}
.section-sm{padding:60px 2rem;}
.container{max-width:1200px;margin:0 auto;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;font-family:'Outfit',sans-serif;}
.eyebrow::before{content:'';width:24px;height:2px;background:var(--gold);}
.section-title{font-size:clamp(1.9rem,3.5vw,2.9rem);color:var(--navy);margin-bottom:1rem;}
.section-title.light{color:var(--white);}
.section-lead{color:var(--gray);font-size:1.02rem;line-height:1.75;max-width:640px;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}

/* ILLUS BOX */
.illus-box{background:var(--navy);border-radius:10px;height:460px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.illus-box::before{content:'';position:absolute;top:0;right:0;width:55%;height:100%;background:rgba(184,151,58,0.08);clip-path:polygon(25% 0%,100% 0%,100% 100%,0% 100%);}
.illus-box .ib-inner{font-family:'Cormorant Garamond',serif;font-size:6rem;font-weight:700;color:rgba(255,255,255,0.05);position:relative;z-index:1;}
.illus-badge{position:absolute;bottom:20px;right:20px;background:var(--gold);color:var(--white);border-radius:6px;padding:16px 20px;z-index:2;text-align:center;}
.illus-badge .ib-num{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:700;line-height:1;}
.illus-badge .ib-text{font-size:11px;font-weight:500;margin-top:3px;opacity:0.9;}

/* CARDS */
.card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:2rem;transition:all 0.3s;}
.card:hover{border-color:var(--gold);box-shadow:0 10px 36px rgba(184,151,58,0.12);transform:translateY(-4px);}
.card-icon{width:50px;height:50px;background:var(--gold-pale);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:1.25rem;}
.card h3{font-size:1.2rem;color:var(--navy);margin-bottom:.75rem;line-height:1.3;}
.card p{font-size:.9rem;color:var(--gray);line-height:1.7;margin-bottom:1.25rem;}
.card-link{font-size:13px;font-weight:600;color:var(--gold);display:inline-flex;align-items:center;gap:6px;transition:gap 0.2s;}
.card-link::after{content:'→';}
.card:hover .card-link{gap:10px;}

/* GRIDS */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}

/* STAT BAR */
.stat-bar{background:var(--navy-dark);padding:50px 2rem;}
.stat-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center;}
.stat-item .sn{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:700;color:var(--gold-light);line-height:1;}
.stat-item .sl{font-size:12px;color:rgba(255,255,255,0.45);margin-top:6px;font-weight:400;letter-spacing:0.5px;}

/* VAL BLOCK */
.val-block{padding:1.75rem 0;border-bottom:1px solid rgba(255,255,255,0.09);}
.val-block:last-child{border-bottom:none;}
.val-block h3{font-size:1.15rem;color:var(--white);margin-bottom:.6rem;display:flex;align-items:center;gap:10px;}
.val-block h3 .val-icon-sm{width:30px;height:30px;background:rgba(184,151,58,0.18);border:1px solid rgba(184,151,58,0.4);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:14px;}
.val-block p{font-size:.9rem;color:rgba(255,255,255,0.5);line-height:1.75;}

/* CHECKLIST */
.checklist{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:1.5rem;}
.checklist li{display:flex;align-items:flex-start;gap:10px;font-size:.94rem;color:var(--charcoal);}
.checklist li::before{content:'◆';color:var(--gold);flex-shrink:0;font-size:10px;margin-top:4px;}

/* ISO BADGE */
.iso-badge{display:inline-flex;align-items:center;gap:10px;background:var(--ivory);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:4px;padding:10px 16px;margin-top:1.5rem;}
.iso-badge span{font-size:13px;color:var(--navy);font-weight:500;}

/* TEAM */
.team-card{background:var(--white);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:all 0.3s;}
.team-card:hover{border-color:var(--gold);box-shadow:0 10px 30px rgba(184,151,58,0.1);transform:translateY(-4px);}
.tc-avatar{height:180px;background:var(--navy);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:700;color:rgba(255,255,255,0.18);position:relative;overflow:hidden;}
.tc-avatar::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);}
.tc-avatar .tc-init{position:relative;z-index:1;color:rgba(255,255,255,0.3);}
.tc-info{padding:1.25rem;}
.tc-info h4{font-size:1.05rem;color:var(--navy);margin-bottom:3px;}
.tc-info .tc-role{font-size:11px;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;}
.tc-info .tc-spec{font-size:12px;color:var(--gray);line-height:1.5;}

/* ACCORDION */
.accordion{display:flex;flex-direction:column;gap:0;margin-top:2.5rem;border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.acc-item{border-bottom:1px solid var(--border);}
.acc-item:last-child{border-bottom:none;}
.acc-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;cursor:pointer;background:var(--white);transition:background 0.2s;user-select:none;}
.acc-header:hover,.acc-header.open{background:var(--gold-pale);}
.acc-title{display:flex;align-items:center;gap:12px;font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;color:var(--navy);}
.acc-title .acc-icon{width:36px;height:36px;background:var(--ivory);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;transition:background 0.2s;}
.acc-header.open .acc-icon{background:var(--gold-pale);}
.acc-arrow{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--gray);transition:all 0.3s;flex-shrink:0;}
.acc-header.open .acc-arrow{transform:rotate(180deg);border-color:var(--gold);color:var(--gold);background:var(--gold-pale);}
.acc-body{max-height:0;overflow:hidden;transition:max-height 0.38s ease,padding 0.25s ease;background:var(--off-white);}
.acc-body.open{max-height:900px;}
.acc-body-inner{padding:1.25rem 1.5rem 1.5rem 4.5rem;}
.acc-body-inner p{font-size:.92rem;color:var(--gray);line-height:1.75;}
.acc-body-inner ul{margin-top:.75rem;display:flex;flex-direction:column;gap:6px;}
.acc-body-inner ul li{font-size:.88rem;color:var(--charcoal);display:flex;align-items:center;gap:8px;}
.acc-body-inner ul li::before{content:'◆';color:var(--gold);font-size:8px;flex-shrink:0;}

/* REFS */
.refs-section{background:var(--ivory);padding:70px 2rem;}
.refs-inner{max-width:1200px;margin:0 auto;}
.refs-wrap {
  display:flex;
  flex-wrap:nowrap;
  gap:1rem;
  margin-top:2.5rem;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--gold) var(--ivory);
  padding-bottom:12px;
}
.refs-wrap::-webkit-scrollbar { height:4px; }
.refs-wrap::-webkit-scrollbar-track { background:var(--ivory-dark); border-radius:4px; }
.refs-wrap::-webkit-scrollbar-thumb { background:var(--gold); border-radius:4px; }
.ref-logo-item { flex:0 0 148px; min-width:148px; }
.ref-logo-item{background:var(--white);border:1px solid var(--border);border-radius:8px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 10px;transition:all 0.25s;filter:grayscale(100%);opacity:0.62;position:relative;overflow:hidden;}
.ref-logo-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform 0.25s;}
.ref-logo-item:hover{filter:grayscale(0%);opacity:1;border-color:var(--gold);box-shadow:0 6px 20px rgba(184,151,58,0.1);transform:translateY(-3px);}
.ref-logo-item:hover::after{transform:scaleX(1);}
.ref-logo-item img{max-width:100%;max-height:44px;object-fit:contain;display:block;}
.ref-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;}
.ref-initials{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:700;color:var(--navy);line-height:1;letter-spacing:0.5px;}
.ref-name{font-size:9px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:1px;text-align:center;line-height:1.2;}
.ref-logo-item:hover .ref-initials{color:var(--gold);}
.ref-logo-item:hover .ref-name{color:var(--gold-dark);}

/* NEWSLETTER */
.newsletter-section{background:var(--navy);padding:60px 2rem;text-align:center;}
.newsletter-section h3{font-size:1.9rem;color:var(--white);margin-bottom:.5rem;}
.newsletter-section p{color:rgba(255,255,255,0.6);margin-bottom:1.75rem;font-size:.95rem;}
.nl-form{display:flex;gap:10px;max-width:480px;margin:0 auto;}
.nl-form input{flex:1;padding:13px 18px;border-radius:4px;border:1.5px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.08);color:var(--white);font-family:'Outfit',sans-serif;font-size:14px;outline:none;transition:border-color 0.2s;}
.nl-form input::placeholder{color:rgba(255,255,255,0.4);}
.nl-form input:focus{border-color:var(--gold-light);}
.nl-status{font-size:13px;margin-top:.75rem;min-height:18px;}
.nl-status.ok{color:var(--gold-light);}
.nl-status.err{color:#f87171;}
.btn-nl{background:var(--gold);color:var(--white);padding:13px 22px;border-radius:4px;font-weight:600;font-size:14px;border:none;cursor:pointer;transition:background 0.2s;white-space:nowrap;}
.btn-nl:hover{background:var(--gold-dark);}

/* CONTACT FORM */
.contact-form{background:var(--ivory);border:1px solid var(--border);border-radius:10px;padding:2.5rem;}
.contact-form h3{font-size:1.6rem;color:var(--navy);margin-bottom:.5rem;}
.contact-form .form-sub{font-size:.9rem;color:var(--gray);margin-bottom:2rem;}
.form-group{margin-bottom:1.25rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group label{display:block;font-size:11px;font-weight:600;color:var(--navy);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:4px;font-family:'Outfit',sans-serif;font-size:14px;color:var(--text);background:var(--white);outline:none;transition:border-color 0.2s,box-shadow 0.2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,151,58,0.1);}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%23607090' d='M5 7L0 2h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.form-group textarea{resize:vertical;min-height:120px;}
.file-input-label{display:flex;align-items:center;gap:10px;padding:11px 16px;border:1.5px dashed var(--border);border-radius:4px;cursor:pointer;font-size:13px;color:var(--gray);transition:all 0.2s;}
.file-input-label:hover{border-color:var(--gold);color:var(--gold);}
input[type="file"]{display:none;}
.btn-submit{width:100%;background:var(--navy);color:var(--white);padding:14px;border-radius:4px;font-weight:600;font-size:15px;border:none;cursor:pointer;transition:all 0.2s;letter-spacing:0.5px;}
.btn-submit:hover{background:var(--gold);transform:translateY(-1px);}
.form-status{font-size:13px;margin-top:.75rem;min-height:18px;}
.form-status.ok{color:#2d7a4a;}
.form-status.err{color:#c0392b;}

/* INFO BLOCK */
.info-block{display:flex;gap:1rem;align-items:flex-start;background:var(--white);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:4px;padding:1.25rem 1.5rem;margin-bottom:1rem;transition:box-shadow 0.2s;}
.info-block:hover{box-shadow:0 4px 16px rgba(184,151,58,0.1);}
.info-block .ib-icon{width:40px;height:40px;background:var(--gold-pale);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.info-block .ib-body h4{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--gold-dark);margin-bottom:4px;}
.info-block .ib-body p,.info-block .ib-body a{font-size:14px;color:var(--navy);line-height:1.7;}
.info-block .ib-body a:hover{color:var(--gold);}

/* FOOTER */
footer{background:var(--navy-dark);color:var(--white);padding:70px 2rem 30px;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.4fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.09);margin-bottom:2rem;}
.footer-brand .fb-logo{display:flex;align-items:center;gap:10px;margin-bottom:1rem;}
.footer-brand .fb-logo img{height:54px;filter:brightness(0) invert(1);}
.footer-brand .fb-logo .lf-name{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:var(--white);letter-spacing:1.5px;text-transform:uppercase;}
.footer-brand .fb-logo .lf-sub{font-size:8px;color:var(--gold-light);letter-spacing:3px;text-transform:uppercase;}
.footer-brand p{font-size:13px;color:rgba(255,255,255,0.42);line-height:1.75;max-width:280px;}
.footer-socials{display:flex;gap:10px;margin-top:1.25rem;}
.footer-socials a{width:36px;height:36px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all 0.2s;color:rgba(255,255,255,0.6);}
.footer-socials a:hover{background:var(--gold);border-color:var(--gold);color:var(--white);}
.footer-col h5{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold-light);margin-bottom:1.25rem;}
.footer-col ul{display:flex;flex-direction:column;gap:9px;}
.footer-col ul li a{font-size:13px;color:rgba(255,255,255,0.5);transition:color 0.2s;}
.footer-col ul li a:hover{color:var(--gold-light);}
.badge-wip{display:inline-flex;align-items:center;gap:5px;background:rgba(184,151,58,0.15);border:1px solid rgba(184,151,58,0.3);color:var(--gold-light);font-size:10px;font-weight:600;padding:2px 8px;border-radius:3px;letter-spacing:0.5px;margin-left:6px;vertical-align:middle;}
.fc-item{display:flex;gap:10px;margin-bottom:12px;}
.fc-item .fci{color:var(--gold-light);font-size:14px;margin-top:1px;flex-shrink:0;}
.fc-item p,.fc-item a{font-size:13px;color:rgba(255,255,255,0.5);line-height:1.7;}
.fc-item a:hover{color:var(--gold-light);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(255,255,255,0.28);}
.footer-bottom strong{color:var(--gold-light);font-weight:500;}

/* PAGE EN CONSTRUCTION */
.wip-section{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:140px 2rem 80px;background:var(--off-white);}
.wip-box{text-align:center;max-width:560px;}
.wip-icon{font-size:5rem;margin-bottom:1.5rem;}
.wip-box h1{font-size:clamp(2rem,4vw,3rem);color:var(--navy);margin-bottom:1rem;}
.wip-box p{color:var(--gray);font-size:1.05rem;line-height:1.75;margin-bottom:2rem;}
.wip-progress{height:4px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:2rem;}
.wip-progress-bar{height:100%;width:35%;background:linear-gradient(90deg,var(--navy),var(--gold));border-radius:4px;animation:wip-grow 2s ease-in-out infinite alternate;}
@keyframes wip-grow{from{width:30%}to{width:45%}}

/* ============================================================
   MENU MOBILE — hamburger + drawer
   ============================================================ */

/* Mobile nav drawer */
.mobile-nav {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 999;
  background: rgba(15,28,61,0.96);
  backdrop-filter: blur(8px);
  flex-direction: column;
  padding: 100px 2rem 2rem;
  overflow-y: auto;
}
.mobile-nav.open { display: flex; }
.mobile-nav a {
  display: block;
  padding: 14px 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 0.5px;
}
.mobile-nav a:hover, .mobile-nav a.active { color: var(--gold-light); }
.mobile-nav .mob-sub { padding-left: 1rem; }
.mobile-nav .mob-sub a { font-size: 1rem; font-family: 'Outfit', sans-serif; color: rgba(255,255,255,0.6); }
.mobile-nav .mob-section-label {
  font-size: 9px; font-weight: 700; letter-spacing: 3px;
  text-transform: uppercase; color: var(--gold);
  margin-top: 1.5rem; margin-bottom: 0.25rem;
}
.mobile-nav .mob-cta {
  margin-top: 2rem;
  background: var(--gold); color: var(--white);
  text-align: center; padding: 14px; border-radius: 4px;
  font-size: 1rem; font-weight: 700; border-bottom: none;
}
.mob-close {
  position: fixed; top: 22px; right: 1.5rem;
  width: 40px; height: 40px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 50%; display: none;
  align-items: center; justify-content: center;
  font-size: 18px; color: var(--white); cursor: pointer; z-index: 1001;
}
.mobile-nav.open ~ .mob-close,
.mob-close.visible { display: flex; }

/* ============================================================
   RESPONSIVE — 1280px (large laptop)
   ============================================================ */
@media (max-width: 1280px) {
  .nav-wrap { padding: 0 1.5rem; }
  .container { padding: 0 1.5rem; }
  .section { padding: 80px 1.5rem; }
}

/* ============================================================
   RESPONSIVE — 1100px (tablet landscape / small laptop)
   ============================================================ */
@media (max-width: 1100px) {
  /* Grids */
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .stat-inner { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; }

  /* Nav: hide some items if tight */
  .nav-links > li > a { padding: 8px 10px; font-size: 13px; }
  .nav-logo img { height: 58px; }
}

/* ============================================================
   RESPONSIVE — 900px (tablet portrait)
   ============================================================ */
@media (max-width: 900px) {
  /* Split layout → single column */
  .split { grid-template-columns: 1fr; gap: 2.5rem; }
  .illus-box { height: 240px; }
  .illus-box .ib-inner { font-size: 4rem; }

  /* Grid 3 → 2 col */
  .grid-3 { grid-template-columns: 1fr 1fr; }

  /* Stat bar 2 col */
  .stat-inner { grid-template-columns: repeat(2, 1fr); }
  .stat-bar { padding: 40px 1.5rem; }

  /* Section padding */
  .section { padding: 70px 1.5rem; }
  .page-hero { padding: 120px 1.5rem 70px; }
  .page-hero::after { height: 36px; }

  /* Footer 2 col */
  .footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; }

  /* Contact grid */
  .contact-grid-inner { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
}

/* ============================================================
   RESPONSIVE — 768px (mobile landscape / large phones)
   ============================================================ */
@media (max-width: 768px) {
  /* ── NAV ── */
  .nav-links, .nav-cta { display: none !important; }
  .hamburger { display: flex; }
  .nav-wrap { height: 70px; padding: 0 1.25rem; }
  .nav-logo img { height: 52px; }

  /* ── HERO ── */
  .page-hero { padding: 100px 1.25rem 60px; }
  .page-hero h1 { font-size: clamp(2rem, 7vw, 3rem); }
  .page-hero .hero-desc { font-size: 0.95rem; }
  .page-hero::after { height: 30px; }
  .hero-actions { flex-direction: column; gap: 0.75rem; }
  .hero-actions .btn { justify-content: center; width: 100%; }

  /* ── SECTIONS ── */
  .section { padding: 55px 1.25rem; }
  .section-sm { padding: 40px 1.25rem; }
  .container { padding: 0 1.25rem; }

  /* ── GRIDS → 1 col ── */
  .grid-2,
  .grid-3,
  .grid-4 { grid-template-columns: 1fr; }

  /* ── SPLIT → 1 col ── */
  .split { grid-template-columns: 1fr; gap: 2rem; }
  .illus-box { height: 200px; display: none; } /* hide decorative box on mobile */

  /* ── STATS ── */
  .stat-bar { padding: 36px 1.25rem; }
  .stat-inner { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
  .stat-item .sn { font-size: 2.2rem; }

  /* ── FOOTER ── */
  .footer-top { grid-template-columns: 1fr; gap: 2rem; }
  footer { padding: 50px 1.25rem 24px; }
  .footer-brand p { max-width: 100%; }
  .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }

  /* ── FORMS ── */
  .nl-form { flex-direction: column; }
  .btn-nl { width: 100%; }
  .form-row { grid-template-columns: 1fr; }
  .contact-form { padding: 1.5rem; }

  /* ── NEWSLETTER ── */
  .newsletter-section { padding: 50px 1.25rem; }

  /* ── ACCORDION ── */
  .acc-body-inner { padding: 1rem 1rem 1.25rem 1rem; }
  .acc-header { padding: 1rem; gap: 8px; }
  .acc-title-text { font-size: 0.95rem; }
  .acc-badge { display: none; } /* hide on mobile, too cramped */
  .acc-columns { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .acc-gains-grid { grid-template-columns: 1fr 1fr !important; }
  .acc-gain-num { font-size: 1.2rem; }

  /* ── ACCORDION GROUP HEADER ── */
  .acc-group-header { gap: 10px; }
  .acc-group-title { font-size: 1.15rem; }

  /* ── REFS horizontal scroll (already set, ensure it doesn't overflow) ── */
  .refs-section { padding: 50px 1.25rem; }
  .refs-wrap { gap: 0.75rem; }

  /* ── WIP / BLOG ── */
  .wip-section { padding: 110px 1.25rem 60px; }
  .wip-box { max-width: 100%; }

  /* ── LEGAL PAGES ── */
  .legal-hero { padding: 110px 1.25rem 50px; }
  .legal-body { padding: 40px 1.25rem 60px; }
  .legal-card { padding: 1.5rem; }

  /* ── QUI SOMMES NOUS — mission grid inline ── */
  .mission-grid-inline { grid-template-columns: 1fr !important; gap: 2rem !important; }
}

/* ============================================================
   RESPONSIVE — 540px (phones)
   ============================================================ */
@media (max-width: 540px) {
  /* ── NAV ── */
  .nav-logo .lf-name { font-size: 17px; }
  .nav-logo img { height: 46px; }

  /* ── HERO HOME ── */
  .hero-stats { flex-wrap: wrap; gap: 1.5rem; }
  .hero-stats .hs-item { flex: 0 0 calc(50% - 0.75rem); }

  /* ── STATS BAR ── */
  .stat-inner { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
  .stat-item .sn { font-size: 1.8rem; }
  .stat-item .sl { font-size: 11px; }

  /* ── CARDS ── */
  .card { padding: 1.25rem; }
  .section-title { font-size: clamp(1.6rem, 6vw, 2.2rem); }

  /* ── CONTACT ── */
  .contact-form { padding: 1.25rem; }
  .btn-submit { font-size: 14px; padding: 12px; }

  /* ── FOOTER ── */
  .footer-socials a { width: 32px; height: 32px; }
  .footer-top { gap: 1.5rem; }

  /* ── FORMATION LSS — parcours ── */
  .parcours-vertical { padding-left: 0 !important; }
  .parcours-vertical::before { display: none !important; }
  .parcours-row { flex-direction: column !important; gap: 0.5rem !important; }
  .parcours-node { display: none !important; }

  /* ── HERO HOME — panel hidden ── */
  .hero-panel { display: none; }

  /* ── WIP FORM ── */
  .wip-section > div > div[style*="flex"] { flex-direction: column; }
}

/* ============================================================
   RESPONSIVE — 380px (small phones)
   ============================================================ */
@media (max-width: 380px) {
  .page-hero h1 { font-size: clamp(1.7rem, 8vw, 2.2rem); }
  .hero-eyebrow { font-size: 9px; letter-spacing: 2px; padding: 5px 10px; }
  .btn { padding: 11px 18px; font-size: 13px; }
  .stat-inner { grid-template-columns: 1fr 1fr; }
  .acc-group-title { font-size: 1rem; }
  .section { padding: 45px 1rem; }
  .contact-form { padding: 1rem; }
}
