/* Hygie F.S. — feuille de style unique */
@font-face{font-family:"PT Sans";src:url(../fonts/PTSans-Regular.woff2) format("woff2");font-display:swap}
@font-face{font-family:Rokkitt;src:url(../fonts/Rokkitt-Regular.woff2) format("woff2");font-display:swap}

:root{
  --blue:#2E6EBE;--sky:#3DA3D6;--navy:#374795;--gold:#CEC15C;
  --text:#404040;--light:#F9F9F9;--wrap:1000px;--pad:clamp(1rem,4vw,2.2rem);
  --serif:Rokkitt,Georgia,serif;--radius:12px
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;font:1.1rem/1.6 "PT Sans",system-ui,sans-serif;color:var(--text);background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--gold)}
a:focus-visible,button:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);line-height:1.2}
h1{font-size:2rem;color:var(--navy)}
h2{font-size:1.8em;color:var(--navy);margin:2.5rem 0 1rem}
h3{font-size:1.6em;color:#000;margin:2rem 0 1rem 20px}
p,ul{margin:0 0 1.5em}
ul{padding-left:clamp(1.25em,4vw,2.5em)}
.skip{position:absolute;left:-999px;top:0;z-index:100;padding:1em;background:#fff}
.skip:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* En-tête */
.site-header{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  min-height:80px;padding:.5rem var(--pad);background:#fff;box-shadow:0 0 18px rgba(46,110,190,.06)}
.brand{display:block;font:bold .68rem var(--serif);color:var(--sky)}
.brand:hover{color:var(--sky)}
.menu-toggle{display:none;padding:.4rem;border:0;background:none;cursor:pointer;color:var(--sky)}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav a{display:block;padding:15px 23px;font-size:1.25rem;line-height:22px;color:var(--sky)}
.site-nav a:hover,.site-nav [aria-current]{color:var(--blue)}
.site-nav .cta{margin-left:46px}
.has-sub{position:relative}
.has-sub>a::after{content:"";display:inline-block;margin-left:.5em;border:5px solid transparent;border-top-color:currentColor;vertical-align:middle;transform:translateY(25%)}
.has-sub ul{text-align:center}

@media (min-width:992px){
  .site-nav>ul{display:flex;align-items:center}
  .has-sub ul{position:absolute;left:50%;transform:translateX(-50%);width:230px;padding:.5rem 0;background:#fff;border-radius:var(--radius);
    box-shadow:0 10px 35px rgba(0,69,156,.1);visibility:hidden;opacity:0;transition:opacity .2s}
  .has-sub:hover ul,.has-sub:focus-within ul{visibility:visible;opacity:1}
}
@media (min-width:992px) and (max-width:1280px){
  .site-nav a{padding:15px;font-size:1rem}
  .site-nav .cta{margin-left:20px}
}
@media (max-width:991px){
  .site-header{min-height:60px}
  .js .menu-toggle{display:block}
  .js .site-nav{display:none}
  .menu-toggle[aria-expanded=true]+.site-nav{display:block}
  .site-nav{flex-basis:100%;text-align:center;padding:.5rem 0 1rem}
  .site-nav .cta{margin:.5rem 0 0}
}

/* Bouton */
.btn,.site-nav .cta a{display:inline-block;position:relative;padding:15px;border-radius:var(--radius);background:var(--gold);
  color:#fff;font-size:1.125rem;line-height:22px;text-transform:uppercase;text-align:center;transition:.3s}
.btn{box-shadow:0 6px 25px rgba(40,120,214,.25)}
.btn::after,.site-nav .cta a::after{content:"›";position:absolute;right:-12px;opacity:0;transition:.3s}
.btn:hover,.btn:focus,.site-nav .cta a:hover,.site-nav .cta a:focus{color:#fff;padding:15px 22px 15px 8px}
.btn:hover::after,.btn:focus::after,.site-nav .cta a:hover::after,.site-nav .cta a:focus::after{opacity:1;right:8px}
.btn:active,.site-nav .cta a:active{background:var(--blue)}
.actions{text-align:center;margin:2.5rem 0}

/* Fil d'Ariane */
.breadcrumb ol{display:flex;gap:.6em;list-style:none;margin:0;padding:9px var(--pad);color:var(--sky)}
.breadcrumb li+li::before{content:">";margin-right:.6em}
.breadcrumb a{color:var(--sky)}
@media (max-width:767px){.breadcrumb{display:none}}

/* Bandeau */
.hero{position:relative;display:grid;place-items:center;height:300px;overflow:hidden;padding:0 var(--pad)}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero h1{position:relative;margin:0;max-width:1140px;text-align:center;color:#fff;font-size:2.8rem;line-height:1.1;text-shadow:0 0 15px rgba(22,22,22,.6)}
@media (max-width:480px){.hero{height:150px}.home .hero{height:200px}.hero h1{font-size:1.56rem}}

/* Contenu */
.content{max-width:var(--wrap);margin:0 auto;padding:1.5rem var(--pad) 5rem}
.lead{font-size:1.3em;line-height:1.45}
blockquote{display:flow-root;margin:2rem 0;padding:10px 0;border-block:1px solid #F2F2F2;text-align:center;font-style:italic;font-size:1.1em}
blockquote::before,blockquote::after{display:block;color:var(--gold);font:700 80px/56px Georgia,serif}
blockquote::before{content:"\201F";float:left}
blockquote::after{content:"\02EE";float:right;margin-top:-25px}
blockquote p{margin:0}
figure{margin:2rem auto}
figure img{margin:0 auto}
figcaption{margin-top:.5em;text-align:center;color:#919497;font-size:13px;font-style:italic}

/* Équipe */
.team{list-style:none;padding:0}
.team li{display:grid;grid-template-columns:1fr 1fr;gap:2em;align-items:center;margin-bottom:2.5em}
.team img{justify-self:end;width:256px;border-radius:var(--radius)}
.team li:nth-child(even) img{order:2;justify-self:start}
.team p{margin:0 0 1em}
.team h3{margin:0;font:bold 1.1rem/1.6 "PT Sans",sans-serif;color:inherit}
@media (max-width:600px){
  .team li{grid-template-columns:1fr;text-align:center}
  .team img,.team li:nth-child(even) img{order:0;justify-self:center}
}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:2em;align-items:start;padding-top:1.5rem}
.contact figure{margin:0}
.contact img{border-radius:var(--radius)}
.contact .actions{text-align:left}
.not-found{text-align:center;padding-block:5rem}
@media (max-width:991px){.contact{grid-template-columns:1fr}.contact figure{display:none}}

/* Pied de page */
.site-footer{display:flex;flex-wrap:wrap;gap:2rem 4rem;padding:50px var(--pad);background:var(--light);box-shadow:0 -18px 35px rgba(8,33,64,.05)}
.site-footer h2{margin:0 0 .5rem;font:bold 1.1rem "PT Sans",sans-serif;color:var(--text)}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer nav a{color:#000}
.site-footer nav a:hover{color:var(--gold)}
.site-footer address{font-style:normal}
.tel{font-weight:bold}
.tel::before{content:url(../img/tel.png);display:inline-block;margin-right:15px;vertical-align:middle}
.footer-logo{align-self:center}
@media (max-width:480px){.site-footer{flex-direction:column}.footer-logo img{margin:0 auto}}
