  /* ===== HERO — DARK / CIRCUIT ===== */
  .hero-section{
    position:relative;
    background:radial-gradient(ellipse at top right, #0F1E3C 0%, var(--navy-deep) 55%);
    overflow:hidden;
  }
  .hero{
    position:relative;z-index:1;
    display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;
    align-items:center;
    padding:72px 6vw 64px;
    max-width:1400px;margin:0 auto;
  }
  .hero-eyebrow{color:var(--blue-light);margin-bottom:14px;}
  .hero h1{
    font-size:clamp(2.1rem,4.2vw,3.3rem);
    font-weight:800;line-height:1.1;
    margin-bottom:20px;color:var(--white);
  }
  .hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--blue-light),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent;}
  .hero p{font-size:1.06rem;color:var(--white-soft);max-width:48ch;margin-bottom:30px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}

  /* Ticket kiosk visual */
  .kiosk{
    background:linear-gradient(160deg,var(--navy-3),var(--navy-2));
    border-radius:28px;
    padding:22px;
    box-shadow:var(--glow), var(--shadow);
    position:relative;
    border:1px solid rgba(30,159,255,0.2);
  }
  .kiosk-screen{
    background:#050A16;
    border-radius:16px;
    padding:26px 22px;
    text-align:center;
    border:1px solid rgba(30,159,255,0.18);
  }
  .kiosk-screen .mono{color:var(--blue-light);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;}
  .kiosk-logo{width:80px;margin:10px auto 6px;border-radius:50%;overflow:hidden;border:2px solid var(--blue);}
  .kiosk-msg{color:var(--white-soft);font-size:0.85rem;margin-top:8px;}
  .kiosk-pad{
    display:grid;grid-template-columns:1fr 1fr;gap:12px;
    margin-top:20px;
  }
  .kiosk-key{
    background:rgba(30,159,255,0.06);
    border:1px solid rgba(30,159,255,0.16);
    border-radius:14px;
    padding:16px 14px;
    color:white;text-align:left;
    display:flex;flex-direction:column;gap:6px;
    transition:transform .15s ease, background .15s ease;
  }
  .kiosk-key:hover{transform:translateY(-3px);background:rgba(30,159,255,0.12);}
  .kiosk-key .letter{
    width:30px;height:30px;border-radius:9px;
    display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono';font-weight:700;font-size:0.9rem;color:#04101F;
  }
  .kiosk-key.a .letter{background:var(--blue);}
  .kiosk-key.b .letter{background:var(--b-teal);}
  .kiosk-key.c .letter{background:var(--c-indigo);}
  .kiosk-key.d .letter{background:var(--d-orange);}
  .kiosk-key.e .letter{background:var(--e-pink);}
  .kiosk-key.e{grid-column:1 / -1;flex-direction:row;align-items:center;gap:12px;}
  .kiosk-key strong{font-size:0.86rem;color:var(--white);}
  .kiosk-key small{color:var(--white-soft);font-size:0.72rem;}

  @media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:36px;}}

  /* ===== TICKER ===== */
  .ticker-wrap{
    background:var(--navy-deep);
    overflow:hidden;
    padding:14px 0;
    white-space:nowrap;
    border-top:1px solid rgba(30,159,255,0.15);
    border-bottom:1px solid rgba(30,159,255,0.15);
  }
  .ticker{
    display:inline-flex;
    animation:scroll 32s linear infinite;
  }
  .ticker span{
    color:var(--white);font-family:'IBM Plex Mono';font-size:0.85rem;
    padding:0 22px;position:relative;
  }
  .ticker span::after{content:"•";position:absolute;right:-2px;color:var(--d-orange);}
  @keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ===== GUICHETS ===== */
  .guichet-section{max-width:1400px;margin:0 auto;}
  .service-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:18px;
  }
  .service-card{
    background:var(--white);
    border-radius:var(--radius-md);
    padding:22px;
    border:1px solid rgba(11,24,48,0.06);
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
  .service-icon{
    width:44px;height:44px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:14px;font-size:1.3rem;
  }
  .service-card h3{font-size:1.02rem;font-weight:700;margin-bottom:6px;}
  .service-card p{font-size:0.87rem;color:var(--ink-soft);}

  #bureautique .guichet-badge{background:var(--blue);}
  #bureautique .service-icon{background:#DEF0FF;}
  #argent .guichet-badge{background:var(--b-teal);}
  #argent .service-icon{background:#DCF7F2;}
  #informatique .guichet-badge{background:var(--c-indigo);}
  #informatique .service-icon{background:#E6EAFE;}
  #snacking .guichet-badge{background:var(--d-orange);}
  #snacking .service-icon{background:#FFEADA;}
  #voyage .guichet-badge{background:var(--e-pink);}
  #voyage .service-icon{background:#FFE1EC;}

  section.alt{background:var(--paper-2);border-radius:40px;max-width:1460px;margin:0 auto;}

  /* ===== INFOS PRATIQUES ===== */
  .infos-grid{
    display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;
    max-width:1400px;margin:0 auto;align-items:start;
  }
  .infos-card{
    background:linear-gradient(160deg,var(--navy-3),var(--navy-deep));color:white;border-radius:var(--radius-lg);
    padding:34px;border:1px solid rgba(30,159,255,0.18);
  }
  .infos-card h3{font-size:1.3rem;margin-bottom:18px;}
  .hours-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.1);font-size:0.92rem;}
  .hours-row:last-child{border-bottom:none;}
  .hours-row .day{color:var(--white-soft);}
  .contact-list{margin-top:22px;display:flex;flex-direction:column;gap:12px;}
  .contact-list div{display:flex;gap:10px;align-items:center;font-size:0.92rem;}
  .pin{
    width:30px;height:30px;border-radius:9px;background:rgba(30,159,255,0.14);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .map-placeholder{
    border-radius:var(--radius-lg);
    height:100%;min-height:320px;
    background:repeating-linear-gradient(135deg,#E4EDF9,#E4EDF9 12px,#DAE6F6 12px,#DAE6F6 24px);
    display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;
    color:var(--ink-soft);text-align:center;padding:20px;
    border:2px dashed rgba(30,159,255,0.3);
  }

  /* ===== CONTACT ===== */
  .contact-wrap{
    max-width:1400px;margin:0 auto;
    display:grid;grid-template-columns:0.9fr 1.1fr;gap:50px;align-items:center;
  }
  .contact-wrap h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:16px;}
  .contact-wrap p{color:var(--ink-soft);margin-bottom:26px;}
  .quick-btns{display:flex;flex-direction:column;gap:12px;max-width:280px;}
  .quick-btn{
    display:flex;align-items:center;gap:12px;
    background:var(--white);border-radius:14px;padding:14px 16px;
    border:1px solid rgba(11,24,48,0.08);font-weight:600;font-size:0.92rem;
  }
  .quick-btn .ico{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;color:white;}
  form{background:var(--white);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow);}
  .field{margin-bottom:16px;}
  .field label{display:block;font-size:0.82rem;font-weight:600;margin-bottom:6px;color:var(--ink-soft);}
  .field input,.field textarea{
    width:100%;padding:12px 14px;border-radius:10px;
    border:1.5px solid rgba(11,24,48,0.15);font-family:'Inter';font-size:0.94rem;
    background:var(--paper);
  }
  .field textarea{resize:vertical;min-height:100px;}
  .field input:focus,.field textarea:focus{outline:2px solid var(--blue);outline-offset:1px;}

  @media(max-width:900px){.infos-grid,.contact-wrap{grid-template-columns:1fr;}}

  /* ===== FEATURED IMPRESSION SECTION ===== */
  .featured-print{
    max-width:1400px;margin:0 auto;
    background:linear-gradient(135deg,var(--navy-3),var(--navy-deep));
    border-radius:32px;
    padding:56px 6vw;
    border:1px solid rgba(30,159,255,0.25);
    box-shadow:var(--glow);
    position:relative;
    overflow:hidden;
  }
  .print-badge-1{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(255,122,26,0.15);color:#FFAD6B;
    border:1px solid rgba(255,122,26,0.35);
    padding:6px 14px;border-radius:999px;
    font-family:'IBM Plex Mono';font-size:0.75rem;font-weight:600;
    letter-spacing:0.06em;text-transform:uppercase;margin-bottom:18px;
  }
  .print-grid{
    display:grid;grid-template-columns:1.1fr 0.9fr;gap:44px;align-items:center;
  }
  .print-content h2{color:var(--white);font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:16px;}
  .print-content p{color:var(--white-soft);font-size:1.02rem;margin-bottom:24px;max-width:52ch;}
  .print-options{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
    gap:10px;margin-bottom:28px;
  }
  .print-option{
    background:rgba(30,159,255,0.08);
    border:1px solid rgba(30,159,255,0.2);
    border-radius:12px;padding:12px 14px;
    color:var(--white);font-size:0.85rem;font-weight:600;
    display:flex;align-items:center;gap:8px;
  }
  .coming-soon-box{
    background:rgba(255,122,26,0.08);
    border:1px solid rgba(255,122,26,0.3);
    border-radius:16px;padding:22px;color:var(--white);
  }
  .coming-soon-box .mono{color:var(--d-orange);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:8px;display:block;}
  .coming-soon-box p{color:var(--white-soft);font-size:0.9rem;margin:0;}
  @media(max-width:900px){.print-grid{grid-template-columns:1fr;}}

  /* ===== PARTENAIRES ===== */
  .partner-groups{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;
    max-width:1100px;margin:0 auto;
  }
  .partner-group{text-align:center;}
  .partner-group h3{font-size:0.95rem;margin-bottom:14px;color:var(--ink);}
  .partner-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
  .partner-badge{
    background:var(--white);border:1.5px solid rgba(11,24,48,0.1);
    border-radius:999px;padding:9px 18px;font-size:0.86rem;font-weight:700;
    color:var(--ink);box-shadow:0 4px 12px -6px rgba(11,24,48,0.12);
  }

  /* ===== AVIS ===== */
  .avis-card{
    max-width:900px;margin:0 auto;text-align:center;
    background:var(--white);border-radius:var(--radius-lg);
    padding:48px 6vw;box-shadow:var(--shadow);border:1px solid rgba(11,24,48,0.06);
  }
  .avis-card .hero-ctas{justify-content:center;margin-top:24px;}

  /* ===== NEWSLETTER ===== */
  .newsletter-band{
    background:linear-gradient(135deg,var(--navy-3),var(--navy-deep));
    padding:56px 6vw;
    border-radius:40px;
    max-width:1460px;margin:0 auto;
  }
  .newsletter-inner{
    max-width:1100px;margin:0 auto;
    display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
  }
  .newsletter-inner h2{color:var(--white);font-size:1.4rem;margin-bottom:6px;}
  .newsletter-inner p{color:var(--white-soft);font-size:0.92rem;margin:0;}
  .newsletter-form{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto;}
  .newsletter-form input{
    padding:13px 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,0.2);
    background:rgba(255,255,255,0.06);color:var(--white);font-size:0.92rem;min-width:240px;
  }
  .newsletter-form input::placeholder{color:var(--white-soft);}
  .newsletter-feedback{max-width:1100px;margin:14px auto 0;text-align:center;color:var(--white-soft);font-size:0.85rem;display:none;}
  .form-feedback{margin-top:12px;font-size:0.85rem;color:var(--ink-soft);display:none;}
