/* ============================================================
   Le Colibri — styles communs (header, footer, base)
   ============================================================ */
:root{--ink:#1d1d1b;--yellow:#ffed00;--yellow-d:#e6d400;--paper:#fffdf3;--paper-2:#fbf7e2;--line:#e8e2c4;--soft:#5a5a52}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Archivo',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
.script{font-family:'Pacifico',cursive;font-weight:400;line-height:1.15}
.serif{font-family:'Fraunces',Georgia,serif}
h1,h2,h3{font-family:'Archivo',sans-serif;font-weight:700;line-height:1.08;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- header / navigation ---- */
header{position:sticky;top:0;z-index:50;background:rgba(255,253,243,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:10px}
.brand .logo{height:48px;width:auto;display:block}
.nav-links{display:flex;gap:30px;align-items:center;font-size:.93rem;font-weight:600}
.nav-links a{position:relative;padding:4px 0}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:3px;background:var(--yellow);transition:width .28s ease}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{background:var(--ink);color:var(--paper)!important;padding:10px 18px;border-radius:999px}
.nav-cta:hover{background:#000}
.nav-cta.active::after{display:none}
.burger{display:none;background:none;border:0;cursor:pointer;width:30px;height:30px}
.burger span{display:block;height:2px;background:var(--ink);margin:6px 0;transition:.3s}

/* ---- fil d'ariane ---- */
.crumb{padding:26px 0 0;font-size:.86rem;color:var(--soft)}
.crumb a:hover{color:var(--ink)}

/* ---- footer ---- */
footer{background:var(--ink);color:#bdbdb5;padding:56px 0 30px;font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:36px;margin-bottom:40px}
.foot-grid h4{color:var(--paper);font-size:1rem;margin-bottom:14px;font-weight:700}
.foot-grid a{display:block;padding:4px 0;color:#a5a59d}
.foot-grid a:hover{color:var(--yellow)}
.foot-contact{display:flex!important;align-items:center;gap:9px}
.foot-contact svg{width:18px;height:18px;flex:none;transition:transform .2s}
.foot-contact:hover svg{transform:scale(1.12)}
.foot-brand .brand{margin-bottom:12px}
.foot-brand .brand .logo{height:54px}
.foot-brand p{color:#8a8a82;max-width:30ch}
.foot-bot{border-top:1px solid #38382f;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#75756d;font-size:.84rem}
.foot-bot a{color:#a5a59d}
.foot-bot a:hover{color:var(--yellow)}

/* ---- responsive commun ---- */
@media(max-width:860px){
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav-links{position:fixed;inset:78px 0 auto 0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:20px 28px;gap:6px;border-bottom:1px solid var(--line);transform:translateY(-140%);transition:transform .3s ease;z-index:49}
  .nav-links.open{transform:translateY(0)}
  .nav-links a{width:100%;padding:10px 0}
  .burger{display:block}
}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
