/* Responsive + UX optimisée mobile/tablette */
:root{--navy:#0F2742;--teal:#1DB7B0;--ink:#0f161b;--muted:#5D646B;--bg:#0e2a3b;--sand:#F4F7FA;--white:#fff;--radius:16px;--shadow:0 10px 30px rgba(15,39,66,.18)}
*{box-sizing:border-box}html,body{margin:0;padding:0}
img{max-width:100%;height:auto;display:block}
body{font-family:Inter,system-ui,Arial,sans-serif;color:var(--ink);background:#ffffff;line-height:1.6;-webkit-text-size-adjust:100%}
/* Header */
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 14px;background:rgba(255,255,255,.95);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid rgba(15,39,66,.08)}
.brand-logo{height:44px;width:auto}
.menu-toggle{display:none;background:none;border:1px solid rgba(15,39,66,.2);padding:8px 10px;border-radius:10px;font-size:18px}
.nav{display:flex;gap:12px;align-items:center}
.nav a{color:var(--navy);text-decoration:none;font-weight:600}
.nav .btn{border:1px solid var(--navy);padding:8px 12px;border-radius:10px}
/* Hero */
.hero{background:radial-gradient(900px 440px at 50% -120px, rgba(63,166,211,.18), transparent 60%), var(--bg);color:#eaf2f7;padding:64px 16px 40px}
.hero-inner{max-width:1100px;margin:0 auto}
.hero h1{font-family:"Playfair Display", Georgia, serif;font-size:clamp(26px,4.8vw,46px);line-height:1.15;margin:0 0 10px}
.hero .sub{color:#c8d6df;max-width:820px;margin:0 0 14px;font-size:clamp(14px,2.4vw,18px)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:12px;padding:12px 16px;cursor:pointer}
.btn-primary{background:var(--teal);color:#002b36;border:none}
.btn-ghost{border:1px solid #c8d6df;color:#eaf2f7;background:transparent}
/* Sections */
.section{max-width:1100px;margin:0 auto;padding:36px 16px}
.section.alt{background:var(--sand)}
h2{color:var(--navy);margin:0 0 14px;font-size:clamp(20px,3.6vw,28px)}
/* Stats */
.stats{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.stat{background:#fff;color:var(--navy);border-radius:var(--radius);padding:16px;text-decoration:none;border:1px solid rgba(15,39,66,.08);box-shadow:var(--shadow)}
.stat .big{font-size:clamp(22px,4.5vw,28px);font-weight:800;margin-bottom:6px}
.stat .source{display:block;color:var(--muted);font-size:13px;margin-top:8px}
.note{color:var(--muted);margin-top:10px}
/* Cards */
.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border:1px solid rgba(15,39,66,.08);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
/* Steps */
.steps{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.step{background:#fff;border:1px solid rgba(15,39,66,.08);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.step .num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--teal);color:var(--teal);font-weight:800;margin-bottom:6px}
.baseline{color:var(--muted);margin-top:10px}
/* About */
.about-grid{display:grid;gap:16px;grid-template-columns:1.1fr .9fr;align-items:center}
.portrait img{border-radius:12px}
.chips{display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:12px 0 0;list-style:none}
.chips li{background:var(--sand);border:1px solid rgba(15,39,66,.12);border-radius:999px;padding:6px 10px;color:var(--navy);font-weight:600;font-size:13px}
/* Contact & footer */
.contact .contact-box{background:#fff;border:1px solid rgba(15,39,66,.08);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.contact .social-link{display:inline-flex;align-items:center;text-decoration:none}
.social-icon{width:34px;height:34px}
.site-footer{padding:22px 16px;color:var(--muted);border-top:1px solid rgba(15,39,66,.08)}
.footer-grid{display:grid;gap:16px;grid-template-columns:1.2fr .8fr;max-width:1100px;margin:0 auto 8px}
.footer-nav{display:flex;gap:12px;flex-wrap:wrap}
.footer-nav a{color:var(--navy);text-decoration:none}
.copyright{text-align:center;margin:6px 0 0}
/* Cookie UI */
.cookie-banner{position:fixed;left:12px;right:12px;bottom:12px;background:#fff;border:1px solid rgba(15,39,66,.12);box-shadow:var(--shadow);border-radius:12px;padding:12px;display:flex;gap:12px;align-items:center;justify-content:space-between;z-index:1000}
.cookie-text{color:var(--ink);max-width:720px;font-size:14px}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cookie-modal{position:fixed;inset:0;background:rgba(0,0,0,.36);display:none;align-items:center;justify-content:center;z-index:1001}
.cookie-modal-card{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:16px;max-width:520px;width:92%}
.toggle{display:block;margin:10px 0}
/* Breakpoints */
@media (max-width: 880px){
  .menu-toggle{display:block}
  .nav{position:fixed;top:58px;right:14px;left:14px;flex-direction:column;gap:10px;background:#fff;border:1px solid rgba(15,39,66,.08);border-radius:12px;box-shadow:var(--shadow);padding:12px;display:none}
  .nav.open{display:flex}
  .about-grid{grid-template-columns:1fr}
}

@media (min-width:768px){.brand-logo{height:48px}}
@media (min-width:1024px){.brand-logo{height:56px}}

.cta-center{display:flex;justify-content:center;gap:1rem;margin:1rem 0}

.about-links{margin-top:.75rem}

/* Make source-styled links look like the .source text */
a.source{color:inherit;text-decoration:none}
a.source:hover{text-decoration:underline}

.source{display:block;color:var(--muted);font-size:13px;margin-top:8px}

.col.links.small{font-size:.9rem}
