/* Header appearance shared with the home page. */
:where(.header) .container{width:auto;max-width:1240px;margin:0 auto;padding:0 28px}
.header *{box-sizing:border-box;margin:0;padding:0}
.header a{text-decoration:none}
.header img{display:block;max-width:100%;height:auto}
:root{
  --navy:#07172B;
  --charcoal:#0B1B31;
  --slate:#10243D;
  --gold:#c09347;
  --gold-bright:#d8b070;
  --gold-soft:#b1976b;
  --ivory:#f5efe3;
  --ivory-2:#ebe2cf;
  --white:#ffffff;
  --text:#1a1a1a;
  --text-soft:#3b3b3b;
  --text-muted:#8a8a8a;
  --text-on-dark:#e8e3d6;
  --line:rgba(192,147,71,.2);
  --star:#fbbc04;
  --display:'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  --body:'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --radius-soft:18px;
  --radius-large:24px;
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:24px;
  --radius-pill:999px;
}
.topbar{
  background:var(--charcoal);
  color:var(--text-on-dark);
  font-size:13px;
  letter-spacing:.02em;
  border-bottom:1px solid var(--line);
}
.topbar-inner{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 0;gap:24px;flex-wrap:wrap;
}
.topbar a{display:inline-flex;align-items:center;gap:8px;color:var(--text-on-dark);opacity:.9}
.topbar a:hover{color:var(--gold-bright);opacity:1}
.topbar .phone-link{
  gap:9px;
  font-weight:600;
  letter-spacing:.08em;
}
.phone-icon{
  width:16px;
  height:16px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
.topbar-left{display:flex;gap:24px;flex-wrap:wrap}
.topbar-right{display:flex;gap:16px;align-items:center}
.topbar-right .badge{
  background:var(--gold);color:#fff;padding:4px 10px;border-radius:var(--radius-pill);font-weight:600;
  letter-spacing:.06em;font-size:11px;text-transform:uppercase;
}
.header{
  position:sticky;top:0;z-index:50;
  background:var(--navy);
  color:#fff;
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(140%) blur(8px);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 0;gap:24px;
}
.logo{
  display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;
}
.logo-mark{
  width:44px;height:44px;border:1.5px solid var(--gold);
  display:grid;place-items:center;font-family:var(--display);font-size:24px;
  color:var(--gold-bright);font-weight:600;
}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-text strong{font-family:var(--display);font-size:22px;letter-spacing:.04em;font-weight:600}
.logo-text span{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-bright);margin-top:3px}
.nav{display:flex;gap:34px}
.nav a{font-size:14px;font-weight:500;letter-spacing:.04em;color:#e8e3d6;position:relative;padding:6px 0}
.nav a:hover{color:var(--gold-bright)}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .3s ease}
.nav a:hover::after{width:100%}
.cta-urgence{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--gold);color:#fff;
  padding:12px 22px;font-size:14px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;border:1px solid var(--gold);transition:all .2s ease;
}
.cta-urgence:hover{background:transparent;color:var(--gold-bright);border-color:var(--gold-bright)}
.cta-urgence .pulse{
  width:8px;height:8px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:pulse 2s infinite;
}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.burger{display:none;background:none;color:#fff;font-size:26px}
.topbar{
  position:absolute;top:0;left:0;right:0;z-index:70;
  background:transparent;border:0;color:rgba(255,255,255,.82);
}
.topbar-inner{
  justify-content:flex-end;padding:18px 28px 0;gap:18px;
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;
}
.topbar a{color:rgba(255,255,255,.9);opacity:1}
.header{
  position:fixed;top:44px;left:50%;transform:translateX(-50%);z-index:80;
  width:min(calc(100% - 48px),1120px);
  background:rgba(255,255,255,.14);
  color:#fff;border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:0 16px 46px rgba(0,0,0,.14);
}
.header-inner{min-height:70px;padding:10px 22px 10px 24px;gap:24px}
.logo-mark{width:40px;height:40px;border-radius:50%;background:rgba(7,23,43,.22);border-color:rgba(216,176,112,.65)}
.logo-text strong{font-size:18px;text-shadow:0 1px 10px rgba(0,0,0,.28)}
.logo-text span{font-size:9px;color:rgba(255,255,255,.78)}
.nav{gap:28px;align-items:center;white-space:nowrap}
.nav a{color:rgba(255,255,255,.86);font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.26)}
.nav a:hover{color:#fff}
.nav a::after{background:rgba(216,176,112,.8)}
.cta-urgence{border-radius:999px;background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.28);color:#fff;padding:13px 18px;font-size:12px;backdrop-filter:blur(12px)}
.cta-urgence:hover{background:rgba(216,176,112,.22);color:#fff;border-color:rgba(216,176,112,.45)}
.burger{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.35)}
@media(max-width:1024px){.header{top:26px;width:min(calc(100% - 28px),860px)}
.topbar{display:none}
.nav{display:none}}
@media(max-width:640px){.header{top:16px;width:calc(100% - 24px);border-radius:28px}
.header-inner{min-height:62px}
.cta-urgence{padding:11px 13px}
.logo-text span{display:none}}
@media (max-width:1024px){.nav{display:none}
.burger{display:block}}
@media (max-width:640px){.topbar-inner{justify-content:center}
.topbar-left{gap:14px;justify-content:center}
.topbar-right{display:none}
.header-inner{padding:14px 0}
.logo-text strong{font-size:18px}
.logo-text span{font-size:9px}}
.header{position:fixed;top:44px;left:50%;transform:translateX(-50%);width:min(calc(100% - 56px),1260px);border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:0 16px 46px rgba(0,0,0,.14)}
.header-inner{padding:10px 22px 10px 24px}
.nav a{white-space:nowrap}
.topbar{position:absolute;top:0;left:0;right:0;background:transparent;border:0}
.topbar-inner{justify-content:flex-end}
.topbar-left,.topbar-right{display:none}
@media(max-width:1024px){.topbar{display:none}
.header{top:26px;width:min(calc(100% - 28px),860px);border-radius:999px}
.nav{display:none}
.burger{display:block}}
@media(max-width:640px){.header{top:16px;width:calc(100% - 24px);border-radius:28px}
.header-inner{padding:10px 14px;min-height:62px}
.logo-text span{display:none}
.cta-urgence{padding:11px 13px}}
.header.is-over-light{
  background:rgba(7,23,43,.68)!important;
  border-color:rgba(216,176,112,.30)!important;
  box-shadow:0 16px 46px rgba(7,23,43,.16)!important;
}
.header.is-over-light .nav a,.header.is-over-light .logo-text strong,.header.is-over-light .cta-urgence,.header.is-over-light .burger{
  color:#fff!important;
  text-shadow:none;
}
.header.is-over-light .logo-text span{color:rgba(216,176,112,.92)!important}
.header.is-over-light .logo-mark{background:rgba(255,255,255,.08)!important;border-color:rgba(216,176,112,.72)!important}
.header.is-over-light .cta-urgence{background:rgba(255,255,255,.10)!important;border-color:rgba(216,176,112,.34)!important}
.header.is-over-light .cta-urgence:hover{background:rgba(192,147,71,.28)!important}
.logo-nav{gap:12px;min-width:max-content}
.logo-mark{
  width:48px;height:48px;border:0!important;background:transparent!important;
  display:grid;place-items:center;overflow:visible;
}
.logo-mark img{width:58px;height:42px;display:block;object-fit:contain;filter:drop-shadow(0 1px 8px rgba(0,0,0,.28))}
.logo-text strong{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase}
.logo-text span{letter-spacing:.22em}
.header.is-over-light .logo-mark img{filter:drop-shadow(0 1px 6px rgba(0,0,0,.18))}
@media(max-width:640px){.logo-mark{width:44px;height:44px}
.logo-mark img{width:52px;height:38px}
.logo-text strong{font-size:16px!important;letter-spacing:.06em}}
.logo-mark img{width:72px;height:42px}
@media(max-width:640px){.logo-mark img{width:64px;height:38px}}
.logo-mark{
  width:76px!important;height:48px!important;
  border-radius:999px!important;
  background:rgba(251,250,248,.94)!important;
  border:1px solid rgba(216,176,112,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 8px 22px rgba(0,0,0,.16);
}
.logo-mark img{width:66px!important;height:38px!important;filter:none!important}
.header.is-over-light .logo-mark{background:rgba(251,250,248,.96)!important;border-color:rgba(216,176,112,.34)!important}
@media(max-width:640px){.logo-mark{width:70px!important;height:44px!important}
.logo-mark img{width:61px!important;height:35px!important}}
.logo-mark.logo-mark-text{
  width:auto!important;height:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:inline-block!important;
  font-family:var(--display);
  font-size:26px!important;
  font-weight:600;
  letter-spacing:-.06em;
  line-height:1;
  color:var(--gold-bright)!important;
  text-shadow:0 1px 12px rgba(0,0,0,.32);
}
.logo-mark.logo-mark-text::first-letter{color:#f7efe1}
.header.is-over-light .logo-mark.logo-mark-text{color:var(--gold-bright)!important;text-shadow:none}
@media(max-width:640px){.logo-mark.logo-mark-text{font-size:25px!important}}
.logo-mark.logo-monogram{
  position:relative!important;
  width:58px!important;height:44px!important;
  padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  display:block!important;overflow:visible!important;
  filter:drop-shadow(0 1px 10px rgba(0,0,0,.28));
}
.logo-monogram span{
  position:absolute;top:4px;
  font-family:var(--display);
  font-size:35px;font-weight:600;line-height:1;
  color:#e7c982;
  letter-spacing:-.08em;
}
.logo-monogram .mono-a{left:0;z-index:1;color:#f0dca8;transform:scaleX(.96)}
.logo-monogram .mono-k{left:20px;z-index:2;color:#d8b070;transform:scaleX(.95)}
.logo-monogram::after{
  content:"";
  position:absolute;left:25px;top:11px;width:2px;height:24px;
  background:linear-gradient(180deg,rgba(240,220,168,.15),rgba(240,220,168,.72),rgba(240,220,168,.15));
  border-radius:999px;
  transform:rotate(7deg);
}
.header.is-over-light .logo-mark.logo-monogram{filter:none!important}
@media(max-width:640px){.logo-mark.logo-monogram{width:54px!important;height:40px!important}
.logo-monogram span{font-size:33px}
.logo-monogram .mono-k{left:19px}}
.logo-monogram::after{display:none!important}
.logo-monogram .mono-a{color:#f0dca8!important}
.logo-monogram .mono-k{color:#d8b070!important;left:18px!important}
.logo-mark,.header.is-over-light .logo-mark{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.logo-mark.logo-monogram{
  width:58px!important;
  height:42px!important;
  filter:drop-shadow(0 1px 8px rgba(0,0,0,.36))!important;
}
.logo-monogram span{
  color:#f3d58d!important;
  text-shadow:0 1px 12px rgba(0,0,0,.38);
}
.logo-monogram .mono-a{color:#ffe8ac!important;left:0!important}
.logo-monogram .mono-k{color:#d9ad57!important;left:18px!important}
.header.is-over-light .logo-mark.logo-monogram{filter:none!important}
.header.is-over-light .logo-monogram span{text-shadow:none;color:#d0a14d!important}
.header.is-over-light .logo-monogram .mono-a{color:#c4933f!important}
.header.is-over-light .logo-monogram .mono-k{color:#8f6a2e!important}
@media(max-width:640px){.logo-mark.logo-monogram{width:54px!important;height:40px!important}}
.logo-mark.logo-image-mark{
  width:70px!important;height:42px!important;
  padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  display:grid!important;place-items:center!important;overflow:visible!important;
}
.logo-mark.logo-image-mark img{
  width:68px!important;height:auto!important;display:block!important;
  filter:drop-shadow(0 1px 8px rgba(0,0,0,.34))!important;
}
.header.is-over-light .logo-mark.logo-image-mark img{
  filter:drop-shadow(0 0 0 transparent)!important;
}
.header.is-over-light .logo-text strong,.header.is-over-light .nav a{
  font-weight:700!important;
  color:#fff!important;
}
@media(max-width:640px){.logo-mark.logo-image-mark{width:62px!important;height:38px!important}
.logo-mark.logo-image-mark img{width:60px!important}}
.logo-mark.logo-image-mark{width:56px!important;height:36px!important}
.logo-mark.logo-image-mark img{width:54px!important;height:auto!important;display:block!important}
@media(max-width:640px){.logo-mark.logo-image-mark{width:50px!important;height:32px!important}
.logo-mark.logo-image-mark img{width:48px!important}}
@media (max-width: 780px){.topbar{
    display:none!important;
  }
.header{
    top:10px!important;
    left:9px!important;
    right:9px!important;
    width:auto!important;
    transform:none!important;
    border-radius:26px!important;
    background:rgba(7, 23, 43, .74)!important;
    border-color:rgba(216, 176, 112, .28)!important;
    box-shadow:0 12px 34px rgba(0, 0, 0, .2)!important;
  }
.header-inner{
    min-height:58px!important;
    padding:8px 12px!important;
    gap:10px!important;
    position:relative!important;
  }
.logo-nav{
    min-width:0!important;
    gap:8px!important;
  }
.logo-mark.logo-image-mark{
    width:44px!important;
    height:30px!important;
    flex:0 0 auto!important;
  }
.logo-mark.logo-image-mark img{
    width:43px!important;
    height:auto!important;
  }
.logo-text strong{
    font-size:15px!important;
    letter-spacing:.05em!important;
    white-space:nowrap!important;
  }
.logo-text span{
    display:none!important;
  }
.nav{
    display:none!important;
  }
.header.menu-open .nav{
    display:flex!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 10px)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:10px!important;
    border:1px solid rgba(216, 176, 112, .22)!important;
    border-radius:22px!important;
    background:rgba(7, 20, 36, .92)!important;
    backdrop-filter:blur(18px) saturate(140%)!important;
    -webkit-backdrop-filter:blur(18px) saturate(140%)!important;
    box-shadow:0 18px 40px rgba(0,0,0,.22)!important;
  }
.header.menu-open .nav a{
    display:flex!important;
    min-height:44px!important;
    align-items:center!important;
    justify-content:center!important;
    border-bottom:1px solid rgba(245,239,227,.08)!important;
    color:#fff!important;
    text-shadow:none!important;
  }
.header.menu-open .nav a:last-child{
    border-bottom:0!important;
  }
.cta-urgence{
    padding:9px 10px!important;
    font-size:10.5px!important;
    letter-spacing:.07em!important;
    white-space:nowrap!important;
  }
.cta-urgence .pulse{
    width:6px!important;
    height:6px!important;
  }
.burger{
    display:block!important;
    flex:0 0 auto!important;
    position:absolute!important;
    right:10px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:42px!important;
    height:42px!important;
    margin-left:auto!important;
    border:1px solid rgba(216, 176, 112, .25)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    font-size:24px!important;
    line-height:1!important;
    padding:0!important;
    text-align:center!important;
  }}
@media (max-width: 380px){.logo-text strong{
    font-size:13px!important;
  }
.cta-urgence{
    max-width:112px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }}
@media (max-width: 480px){.header-inner{
    justify-content:space-between!important;
  }
.cta-urgence{
    display:none!important;
  }}
:root{
  --navy:#07172B;
  --charcoal:#0E243D;
  --slate:#132A46;
  --text-on-dark:#f0eadc;
}
.topbar{
  background:#0E243D!important;
}
.header{
  background:rgba(10, 28, 50, .68)!important;
  border-color:rgba(216, 176, 112, .24)!important;
  backdrop-filter:blur(10px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(10px) saturate(120%)!important;
  box-shadow:0 12px 30px rgba(7, 23, 43, .18)!important;
}
.header.is-over-light{
  background:rgba(10, 28, 50, .78)!important;
}
.cta-urgence{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.mobile-call{
  display:none;
}
@media (min-width:1025px){.header-inner{
    gap:clamp(30px,3.4vw,58px)!important;
  }
.nav{
    margin-left:auto!important;
    margin-right:auto!important;
    gap:clamp(48px,4.8vw,78px)!important;
    justify-content:center!important;
  }}
@media (max-width:640px){.header{
    left:9px!important;
    right:auto!important;
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
    transform:none!important;
    overflow:visible!important;
  }
.header-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    padding-right:104px!important;
    position:relative!important;
  }
.cta-urgence{
    display:none!important;
  }
.mobile-call{
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    right:54px!important;
    left:auto!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    flex:0 0 auto!important;
    margin:0!important;
    width:40px!important;
    height:40px!important;
    border:1px solid rgba(216,176,112,.32)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    font-size:18px!important;
    line-height:1!important;
    text-decoration:none!important;
    box-shadow:0 6px 18px rgba(0,0,0,.18)!important;
  }
.mobile-call svg{
    width:17px!important;
    height:17px!important;
    stroke:currentColor!important;
    fill:none!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    display:block!important;
  }
.mobile-call:hover{
    background:rgba(192,147,71,.22)!important;
    color:#fff!important;
  }
.burger{
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    right:10px!important;
    left:auto!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    flex:0 0 auto!important;
    margin:0!important;
    width:40px!important;
    height:40px!important;
    padding:0!important;
    border:1px solid rgba(216,176,112,.32)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    line-height:1!important;
    box-shadow:0 6px 18px rgba(0,0,0,.18)!important;
  }
.burger svg{
    width:17px!important;
    height:17px!important;
    stroke:currentColor!important;
    fill:none!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    display:block!important;
  }}
@media (max-width:380px){.mobile-call{
    width:38px!important;
    height:38px!important;
    font-size:16px!important;
  }
.burger{
    width:38px!important;
    height:38px!important;
  }
.mobile-call svg{
    width:16px!important;
    height:16px!important;
  }}
@media(max-width:1024px){.header{position:fixed!important}}