
  :root{
    --navy:#122A52;
    --navy-deep:#0C1D3B;
    --green:#2FA36B;
    --green-dark:#1F7A50;
    --gold:#E8A93B;
    --sky:#3B7FE0;
    --purple:#6E56CF;
    --red:#D95850;
    --paper:#FFFFFF;
    --cloud:#F5F7FA;
    --ink:#16233A;
    --ink-soft:#5C6B84;
    --line:#E7EAF0;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;}
  h1,h2,h3,h4{font-family:'Poppins',sans-serif;color:var(--navy-deep);}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
  a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
  .eyebrow{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green-dark);font-weight:700;}

  .btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:999px;font-weight:600;font-size:.92rem;transition:all .2s;border:1.5px solid transparent;}
  .btn-navy{background:var(--navy);color:#fff;}
  .btn-navy:hover{background:var(--navy-deep);}
  .btn-outline{border-color:var(--line);color:var(--navy);background:#fff;}
  .btn-outline:hover{border-color:var(--navy);}
  .btn-green{background:var(--green);color:#fff;}
  .btn-green:hover{background:var(--green-dark);}
  .btn-white{background:#fff;color:var(--navy);}

  /* photo placeholder helper */
  .photo-ph{
    background:linear-gradient(140deg,#EAF0FA 0%,#DCE6F5 100%);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    color:#8CA0C4;text-align:center;position:relative;overflow:hidden;
  }
  .photo-ph .ph-icon{width:34px;height:34px;opacity:.7;margin-bottom:8px;}
  .photo-ph .ph-label{font-size:.7rem;font-weight:600;letter-spacing:.03em;max-width:70%;line-height:1.4;}

  /* ===== Header ===== */
  header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line);}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand img{width:46px;height:46px;object-fit:contain;}
  .brand .bt strong{display:block;font-family:'Poppins',sans-serif;font-weight:700;color:var(--navy-deep);font-size:.95rem;letter-spacing:.02em;}
  .brand .bt span{display:block;font-size:.62rem;color:var(--ink-soft);letter-spacing:.03em;line-height:1.3;max-width:180px;}
  .nav-links{display:flex;align-items:center;gap:30px;font-size:.9rem;font-weight:500;color:var(--ink);}
  .nav-links a{padding:6px 0;border-bottom:2px solid transparent;}
  .nav-links a.active, .nav-links a:hover{border-color:var(--green);}

  /* ===== Hero ===== */
  .hero{padding:56px 0 40px;background:var(--paper);}
  .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
  .hero h1{font-size:clamp(2.1rem,3.6vw,2.9rem);font-weight:700;line-height:1.18;}
  .hero h1 .g{color:var(--green);}
  .hero p.lead{margin-top:18px;color:var(--ink-soft);font-size:1.02rem;max-width:44ch;}
  .hero-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
  .hero-photo{aspect-ratio:5/4;border-radius:20px;}
  .hero-photo .ph-icon svg{width:100%;height:100%;}

  .feature-row{display:flex;gap:36px;margin-top:44px;flex-wrap:wrap;}
  .feature-row .fi{display:flex;align-items:center;gap:10px;font-size:.86rem;font-weight:600;color:var(--navy);}
  .feature-row .fi .dot{width:36px;height:36px;border-radius:10px;background:var(--cloud);display:flex;align-items:center;justify-content:center;flex:none;}
  .feature-row .fi .dot svg{width:18px;height:18px;stroke:var(--navy);}

  /* ===== Section shell ===== */
  section{padding:80px 0;}
  .section-head-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:16px;}
  .section-head-row h2{font-size:clamp(1.6rem,2.8vw,2.1rem);margin-top:8px;font-weight:700;max-width:22ch;}

  /* ===== Filières ===== */
  .filieres{background:var(--cloud);}
  .fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .fcard{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);}
  .fcard .fphoto{height:150px;position:relative;}
  .fcard .badge{
    position:absolute;bottom:-20px;left:20px;width:44px;height:44px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;
    box-shadow:0 6px 16px rgba(0,0,0,.18);
  }
  .fcard .fbody{padding:32px 20px 22px;}
  .fcard h3{font-size:1.02rem;font-weight:600;margin-bottom:8px;}
  .fcard p{color:var(--ink-soft);font-size:.87rem;}
  .fcard .more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.85rem;font-weight:700;}

  /* ===== Stats band ===== */
  .stats-band{
    background:radial-gradient(120% 160% at 0% 0%, #17346A 0%, var(--navy-deep) 60%);
    border-radius:22px;padding:40px 20px;
    display:grid;grid-template-columns:repeat(4,1fr);
    color:#fff;position:relative;overflow:hidden;
  }
  .stats-band::after{
    content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;
    background:radial-gradient(circle, rgba(47,163,107,.25), transparent 70%);
  }
  .stat{text-align:center;padding:0 12px;border-left:1px solid rgba(255,255,255,.14);position:relative;}
  .stat:first-child{border-left:none;}
  .stat svg{width:28px;height:28px;stroke:var(--green);margin-bottom:10px;}
  .stat .num{font-family:'Poppins',sans-serif;font-size:1.9rem;font-weight:700;}
  .stat .label{font-size:.78rem;color:#B9C4DC;margin-top:4px;}

  /* ===== Pourquoi AMEPT ===== */
  .why-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
  .why-photo{aspect-ratio:4/3;border-radius:18px;}
  .why-list{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px;}
  .why-item .ic{width:38px;height:38px;border-radius:10px;background:var(--cloud);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
  .why-item .ic svg{width:19px;height:19px;stroke:var(--navy);}
  .why-item h4{font-size:.95rem;font-weight:600;color:var(--navy-deep);}
  .why-item p{font-size:.84rem;color:var(--ink-soft);margin-top:4px;}

  /* ===== Zanguera ===== */
  .zanguera{
    background:linear-gradient(120deg, var(--green-dark), var(--green));
    border-radius:20px;padding:38px 40px;color:#fff;
    display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  }
  .zanguera h4{color:#fff;font-size:1.2rem;font-weight:700;}
  .zanguera p{color:#DCF3E7;font-size:.9rem;margin-top:6px;max-width:52ch;}

  /* ===== Admissions ===== */
  .admissions{background:var(--cloud);}
  .adm-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
  .adm-card{background:#fff;border-radius:18px;padding:34px;border:1px solid var(--line);}
  .rentree{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:#fff;border-radius:12px;padding:16px 20px;margin-bottom:22px;}
  .rentree span{font-size:.76rem;color:#B9C4DC;}
  .rentree .date{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.2rem;}
  .doclabel{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;margin-bottom:12px;}
  ul.doclist{list-style:none;}
  ul.doclist li{display:flex;gap:12px;padding:12px 0;font-size:.9rem;color:var(--ink-soft);border-top:1px solid var(--line);}
  ul.doclist li:first-child{border-top:none;}
  ul.doclist li .chk{color:var(--green);font-weight:700;flex:none;}

  /* ===== CTA banner ===== */
  .cta-banner{
    background:var(--navy-deep);border-radius:20px;padding:34px 40px;
    display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;color:#fff;
  }
  .cta-banner .left{display:flex;align-items:center;gap:18px;}
  .cta-banner .icon{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex:none;}
  .cta-banner h4{color:#fff;font-size:1.15rem;font-weight:700;}
  .cta-banner p{color:#B9C4DC;font-size:.88rem;margin-top:4px;}

  /* ===== Footer ===== */
  footer{background:var(--navy-deep);color:#B9C4DC;padding-top:64px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:36px;padding-bottom:44px;}
  footer .foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
  footer .foot-brand img{width:38px;height:38px;object-fit:contain;}
  footer .foot-brand strong{display:block;color:#fff;font-family:'Poppins',sans-serif;font-size:.92rem;}
  footer .foot-brand span{display:block;font-size:.62rem;color:#8FA0BE;}
  footer p{font-size:.86rem;line-height:1.6;}
  footer h5{color:#fff;font-size:.92rem;margin-bottom:16px;font-weight:600;}
  .foot-links a{display:block;margin-bottom:10px;font-size:.86rem;color:#B9C4DC;}
  .foot-links a:hover{color:#fff;}
  .foot-contact li{display:flex;gap:10px;margin-bottom:14px;font-size:.85rem;}
  .social-row{display:flex;gap:10px;margin-top:18px;}
  .social-row a{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem;color:#7C8CAA;}

  @media (max-width: 900px){
    .nav-links{display:none;}
    .hero-grid,.why-grid,.adm-grid{grid-template-columns:1fr;}
    .fgrid{grid-template-columns:1fr;}
    .stats-band{grid-template-columns:repeat(2,1fr);gap:24px 0;}
    .stat:nth-child(3){border-left:none;}
    .why-list{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    section{padding:56px 0;}
  }


.mobile-toggle {
  display: none;
  font-size: 1.5rem;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--navy);
}
.mobile-menu {
  display: none;
  flex-direction: column;
  background: #fff;
  padding: 20px;
  border-top: 1px solid var(--line);
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.mobile-menu a {
  padding: 10px 0;
  color: var(--navy);
  font-weight: 500;
}
.mobile-menu.active {
  display: flex;
}
@media (max-width: 900px){
  .nav-links { display:none; }
  .auth-buttons { display:none !important; }
  .mobile-toggle { display: block; }
}

/* ===== Mobile : petits écrans ===== */
html, body { overflow-x: hidden; }

@media (max-width: 600px){
  .wrap { padding: 0 18px; }
  section { padding: 44px 0; }
  .brand .bt span { max-width: 150px; }

  /* Pied de page : on garde le design d'origine, seule la ligne du bas est centrée */
  .foot-bottom { flex-direction: column; align-items: center; justify-content: center; text-align: center; }

  /* Notifications : toast sur toute la largeur */
  #toast-container { left: 16px !important; right: 16px !important; bottom: 16px !important; }
}

