@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Inter:ital,wght@0,200..900;1,200..900&display=swap');

:root{
  --bg:#f7f6f3;
  --surface:#ffffff;
  --card:#ffffff;
  --text:#0f1720;
  --muted:#5b6673;
  --line:rgba(15,23,32,.10);
  --brand:#c8a14a;
  --brand2:#0b2a3a;
  --accent:#0b2a3a;
  --accent2:#12384d;
  --subtitle:rgba(11,42,58,.78);
  --shadow:0 18px 60px rgba(15,23,32,.08);
  --radius:0px;
  --radiusSm:0px;
  --container:1392px;
  --fontText:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --fontDisplay:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --fontHero:'Playfair Display', ui-serif, Georgia, "Times New Roman", serif;
}

*{box-sizing:border-box}
html,body{height:100%;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none}
html{
  scroll-behavior:smooth;
  scroll-padding-top:var(--topbar-height, 138px);
}
body{
  margin:0;
  font-family:var(--fontText);
  font-size:21.12px;
  color:var(--text);
  background:var(--bg);
  padding-top:var(--topbar-height, 138px);
}
body[data-page="home"]{
  padding-top:0;
}
@media (max-width: 820px){
  html,body{
    overscroll-behavior-y:none;
    overscroll-behavior-x:none;
    max-width:100vw;
  }
  body,
  header,
  main,
  footer,
  section{
    max-width:100vw;
    overflow-x:clip;
  }
  html,body,main{
    touch-action:pan-y pinch-zoom;
  }
}
@media (min-width: 1280px){
  :root{--container:1720px}
  body{font-size:clamp(22px, 1.16vw, 25px)}
}
@media (min-width: 1600px){
  :root{--container:1900px}
}
@media (min-width: 1920px){
  :root{--container:2020px}
}
@media (max-width: 720px){
  body{font-size:19.2px}
  .container{padding:0 18px}
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
::-webkit-scrollbar-track {
  background: rgba(255,255,255,.85);
}
::-webkit-scrollbar-thumb {
  background: rgba(11,42,58,.42);
  border-radius: 999px;
  border: 3px solid rgba(255,255,255,.85);
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(11,42,58,.60);
}

html{
  scrollbar-width:auto;
  scrollbar-color: rgba(11,42,58,.55) rgba(255,255,255,.85);
}

h1,h2,h3,h4,h5,h6{font-family:var(--fontText)}
body[data-page="home"] .hero h1{font-family:var(--fontHero)}

#recherche-rapide,#exemples-biens,#contact,#deniz-demirci,#formulaire,#devenir-proprietaire,#conseils-locataires{scroll-margin-top:120px}
#devenir-proprietaire,#conseils-locataires{scroll-margin-top:96px}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}

[data-typewriter].is-typing::after{
  content:"";
  display:inline-block;
  width:.75ch;
  border-right:2px solid rgba(11,42,58,.55);
  margin-left:2px;
  animation:typeBlink .9s step-end infinite;
}
@keyframes typeBlink{50%{opacity:0}}

.container{max-width:var(--container);margin:0 auto;padding:0 22px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:0;background:rgba(255,255,255,.78);backdrop-filter:blur(10px)}
body[data-page="listing"] .pill{max-width:100%;flex-wrap:wrap;white-space:normal;overflow-wrap:anywhere}
.tag{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:0;border:1px solid rgba(11,42,58,.14);color:var(--muted);background:rgba(255,255,255,.90);font-size:13px;line-height:1.1}
.tag-ico{
  width:19px;
  height:19px;
  border-radius:999px;
  display:none;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:rgba(11,42,58,.10);
  color:rgba(11,42,58,.92);
}
.tag-ico svg{width:15px;height:15px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 19px;border-radius:0;border:1px solid var(--line);
  background:#ffffff;color:var(--text);
  cursor:pointer;transition:transform .12s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease, filter .12s ease;
}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid rgba(11,42,58,.26);outline-offset:2px}
@media (hover: hover) and (pointer: fine){
  .btn:hover{transform:translateY(-1px);border-color:rgba(11,42,58,.28);background:#ffffff;box-shadow:0 12px 24px rgba(11,42,58,.14)}
  .btn.primary:hover{border-color:transparent;filter:saturate(1.04) brightness(1.02);box-shadow:0 12px 24px rgba(11,42,58,.26)}
}
.btn.primary{border-color:transparent;background:linear-gradient(90deg, var(--accent), var(--accent2));color:#ffffff;box-shadow:0 8px 20px rgba(11,42,58,.22)}
.btn.ghost{background:transparent}
.btn.small{padding:12px 14px;border-radius:0}
.btn.is-disabled,
.btn[aria-disabled="true"]{
  opacity:.55;
  pointer-events:none;
  filter:saturate(.9);
}
.form.is-disabled{
  opacity:.65;
}
.unavailable-note{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(11,42,58,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.72));
  box-shadow:0 18px 50px rgba(15,23,32,.10);
}
.unavailable-note .badge{
  width:34px;
  height:34px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(11,42,58,.10);
  color:rgba(11,42,58,.92);
  flex:0 0 auto;
}
.unavailable-note .badge svg{width:18px;height:18px}
.unavailable-note .t{line-height:1.35}
.unavailable-note .k{font-weight:950;color:rgba(11,42,58,.92)}
.unavailable-note .v{color:rgba(15,23,32,.70)}

.topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:90;
  border-bottom:1px solid var(--line);
  background:#ffffff;
  backdrop-filter:blur(10px);
}
.topbar::before{
  content:"";
  position:absolute;
  left:0;right:0;
  top:-90px;
  height:90px;
  background:#ffffff;
  backdrop-filter:blur(10px);
  pointer-events:none;
}
.topbar{
  -webkit-backdrop-filter:blur(10px);
}
.topbar::before{
  -webkit-backdrop-filter:blur(10px);
}
body[data-page="home"] .topbar{
  background:#ffffff;
  transition:none;
}
body[data-page="home"] .topbar::before{
  background:#ffffff;
}
body[data-page="home"] .topbar-inner{padding:12px 0 10px}
body[data-page="home"].hero-past .topbar{
  background:#ffffff;
  border-bottom-color:var(--line);
  box-shadow:none;
}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.lang-menu{position:relative;display:inline-flex;align-items:center}
.lang-menu-btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(15,23,32,.12);
  background:rgba(255,255,255,.92);
  border-radius:0;
  padding:5px 8px;
  color:rgba(15,23,32,.86);
  font-weight:900;
  font-size:10px;
  letter-spacing:.06em;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}
.lang-menu-btn:hover{border-color:rgba(15,23,32,.18);background:#ffffff}
.lang-menu-btn:focus-visible{outline:3px solid rgba(11,42,58,.26);outline-offset:2px}
.lang-menu-ico{width:14px;height:14px;opacity:.9}
.lang-menu-caret{width:14px;height:14px;opacity:.8}
.lang-menu-label{min-width:18px;text-align:left}
.lang-menu-pop{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  min-width:160px;
  border:1px solid rgba(15,23,32,.12);
  background:#ffffff;
  border-radius:14px;
  padding:6px;
  box-shadow:0 18px 54px rgba(0,0,0,.14);
  display:none;
}
.lang-menu.open .lang-menu-pop{display:block}
.lang-menu-item{
  width:100%;
  appearance:none;
  border:0;
  background:transparent;
  text-align:left;
  padding:8px 9px;
  border-radius:12px;
  font-weight:850;
  font-size:13px;
  line-height:1.2;
  color:rgba(15,23,32,.86);
  cursor:pointer;
}
.lang-menu-item:hover{background:rgba(11,42,58,.08)}
.lang-menu-item.active{background:rgba(200,161,74,.18);color:rgba(15,23,32,.92)}
.lang-toggle{
  display:inline-flex;
  align-items:center;
  gap:0;
  border:1px solid rgba(15,23,32,.12);
  background:rgba(255,255,255,.92);
  border-radius:999px;
  overflow:hidden;
}
.lang-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(15,23,32,.72);
  font-weight:900;
  font-size:12px;
  letter-spacing:.06em;
  padding:9px 10px;
  cursor:pointer;
}
.lang-btn.active{
  background:linear-gradient(90deg, rgba(11,42,58,.96), rgba(18,56,77,.96));
  color:#ffffff;
}
.lang-btn:focus-visible{outline:3px solid rgba(11,42,58,.26);outline-offset:2px}
.topbar-title{
  display:block;
  margin-left:10px;
  margin-right:auto;
  font-family:var(--fontDisplay);
  font-weight:850;
  letter-spacing:-0.02em;
  color:rgba(15,23,32,.90);
  font-size:16px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:42ch;
}
.topbar-cta{
  display:inline-flex;
  opacity:0;
  transform:translateY(-2px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.topbar-cta.show{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
body[data-page="home"] .topbar-cta{
  opacity:0;
  transform:translateY(-2px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:110px;width:auto;display:block;background:transparent;clip-path:inset(2px);filter:brightness(1.03) contrast(1.03)}
.topbar .nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.topbar .nav a{padding:10px 12px;border-radius:0;color:var(--muted);border:1px solid transparent;font-weight:800}
.topbar .nav a:hover{color:var(--text);border-color:var(--line);background:rgba(255,255,255,.95)}
.topbar .nav a.active{color:var(--text);border-color:rgba(200,161,74,.55);background:rgba(255,255,255,.95);font-weight:950}

.topbar-menu{position:relative;display:inline-flex;align-items:center}
body.menu-open{overflow:auto}
body.menu-open .topbar{backdrop-filter:none}
body.menu-open .topbar::before{backdrop-filter:none}
.topbar-menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.50);
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease-in-out, visibility .3s ease-in-out;
  z-index:240;
  pointer-events:none;
}
.topbar-menu.open .topbar-menu-overlay{opacity:1;visibility:visible;pointer-events:auto}
.topbar-menu-btn{
  width:42px;height:40px;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.92);
  color:var(--accent2);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.topbar-menu-btn svg{width:26px;height:26px}
.topbar-menu-btn svg line{
  transform-box:fill-box;
  transform-origin:center;
  transition:transform .24s cubic-bezier(.2,.8,.2,1), opacity .18s ease;
}
.topbar-menu.open .topbar-menu-btn svg line:nth-of-type(1){transform:translateY(5px) rotate(45deg)}
.topbar-menu.open .topbar-menu-btn svg line:nth-of-type(2){opacity:0}
.topbar-menu.open .topbar-menu-btn svg line:nth-of-type(3){transform:translateY(-5px) rotate(-45deg)}
@media (hover: hover) and (pointer: fine){
  .topbar-menu-btn:hover svg line:nth-of-type(1){transform:translateX(2px)}
  .topbar-menu-btn:hover svg line:nth-of-type(2){transform:translateX(-2px)}
  .topbar-menu-btn:hover svg line:nth-of-type(3){transform:translateX(2px)}
}
.topbar-menu-btn:hover{transform:translateY(-1px);border-color:rgba(11,42,58,.45);background:rgba(255,255,255,.98);color:var(--accent2)}
.topbar-menu-btn:active{transform:translateY(0)}
.topbar-actions .topbar-menu-btn,
.topbar-actions > .btn.small:not(.primary){
  border:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  border-radius:0;
  padding:0;
  width:40px;
  height:40px;
  min-width:40px;
}
.topbar-actions .topbar-menu-btn:hover,
.topbar-actions > .btn.small:not(.primary):hover{
  transform:none;
  border-color:transparent;
  background:transparent;
  color:var(--accent2);
}
html.menu-open{overflow:hidden}
body.menu-open{overflow:hidden}
.topbar-menu-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:220px;
  padding:8px;
  border-radius:0;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  gap:10px;
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px) scale(.98);
  transition:opacity .18s ease, transform .22s cubic-bezier(.2,.8,.2,1), visibility .18s ease;
  z-index:260;
  pointer-events:none;
}
.topbar-menu.open .topbar-menu-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.topbar-menu-links{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.topbar-menu-links > a,
.topbar-menu-useful-btn{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:0;
  color:var(--muted);
  border:1px solid transparent;
  font-weight:850;
  text-decoration:none;
  background:transparent;
  cursor:pointer;
  width:100%;
  text-align:left;
}
.topbar-menu-links :is(a,button) .nav-ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 auto}
.topbar-menu-links :is(a,button) .nav-ico svg{width:18px;height:18px;display:block}
.topbar-menu-links :is(a,button) .nav-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.topbar-menu-links :is(a,button) .nav-title{font-weight:950;line-height:1.15}
.topbar-menu-links :is(a,button) .nav-sub{display:none}
.topbar-menu-useful{display:grid;gap:8px}
.topbar-menu-useful-caret{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  opacity:.7;
  transition:transform .18s ease;
}
.topbar-menu-useful-caret svg{width:18px;height:18px;display:block}
.topbar-menu-useful.open .topbar-menu-useful-caret{transform:rotate(180deg)}
.topbar-menu-useful-links{
  display:none;
  padding-left:28px;
  gap:8px;
  flex-direction:column;
}
.topbar-menu-useful.open .topbar-menu-useful-links{display:flex}
.topbar-menu-useful-links a{
  display:flex;
  align-items:center;
  padding:10px 12px;
  border-radius:0;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.74);
  color:rgba(15,23,32,.80);
  font-weight:850;
  text-decoration:none;
}
.topbar-menu-service-item{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:0;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.74);
  color:rgba(15,23,32,.80);
  font-weight:850;
}
.topbar-menu-service-name{
  min-width:0;
  line-height:1.18;
}
.topbar-menu-service-pill{
  margin-left:auto;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(15,23,32,.12);
  background:rgba(255,255,255,.92);
  color:rgba(15,23,32,.62);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.topbar-menu-useful-links a:hover{border-color:rgba(11,42,58,.20)}
.topbar-menu-links > a:hover .nav-sub,
.topbar-menu-links > a:focus .nav-sub,
.topbar-menu-links > a:focus-visible .nav-sub,
.topbar-menu-links > a:active .nav-sub{color:rgba(255,255,255,.78)}
.topbar-menu-links > a.active .nav-sub{color:rgba(15,23,32,.52)}
.topbar-menu-links > a:hover,
.topbar-menu-links > a:focus,
.topbar-menu-links > a:focus-visible,
.topbar-menu-links > a:active,
.topbar-menu-useful-btn:hover,
.topbar-menu-useful-btn:focus,
.topbar-menu-useful-btn:focus-visible,
.topbar-menu-useful-btn:active{
  color:#ffffff;
  border-color:transparent;
  background:linear-gradient(90deg, var(--accent), var(--accent2));
  box-shadow:0 16px 44px rgba(11,42,58,.18);
  outline:none;
}
.topbar-menu-links > a.active{
  color:rgba(15,23,32,.78);
  border-color:rgba(15,23,32,.10);
  background:transparent;
  font-weight:900;
}

.topbar-menu-footer{
  margin-top:auto;
  padding:14px 12px 12px;
  border-top:1px solid rgba(15,23,32,.10);
  display:grid;
  gap:14px;
  background:transparent;
  backdrop-filter:none;
  border-radius:0;
  overflow:hidden;
  padding-bottom:max(40px, env(safe-area-inset-bottom));
}
.topbar-menu-lang{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(15,23,32,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}
.topbar-menu-lang-btn{
  appearance:none;
  border:0;
  background:transparent;
  padding:6px 2px;
  font-weight:950;
  font-size:12px;
  letter-spacing:.14em;
  color:rgba(15,23,32,.60);
  cursor:pointer;
}
.topbar-menu-lang-btn:hover{color:rgba(15,23,32,.86)}
.topbar-menu-lang-btn:focus-visible{outline:3px solid rgba(11,42,58,.22);outline-offset:3px}
.topbar-menu-lang-btn.active{color:rgba(11,42,58,.92)}
.topbar-menu-lang-sep{color:rgba(15,23,32,.30);font-weight:900}
.topbar-menu-card{
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 50px rgba(15,23,32,.10);
  padding:16px 14px;
  display:grid;
  gap:14px;
}
.topbar-menu-card-head{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start}
.topbar-menu-card-head-ico{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(15,23,32,.12);
  background:rgba(15,23,32,.04);
  color:rgba(11,42,58,.92);
}
.topbar-menu-card-head-ico svg{width:20px;height:20px;display:block}
.topbar-menu-card-title{font-weight:950;color:rgba(15,23,32,.92);letter-spacing:-0.01em;font-size:18px;line-height:1.15}
.topbar-menu-card-sub{margin-top:4px;color:rgba(15,23,32,.66);font-size:12.5px;line-height:1.45}
.topbar-menu-card-contacts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.topbar-menu-card-chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 10px;
  border:1px solid rgba(15,23,32,.10);
  background:#ffffff;
  color:rgba(15,23,32,.86);
  text-decoration:none;
  font-weight:850;
  font-size:12.5px;
  min-width:0;
}
.topbar-menu-card-chip-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-menu-card-chip-ico{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(15,23,32,.04);
  color:rgba(11,42,58,.90);
  flex:0 0 auto;
}
.topbar-menu-card-chip-ico svg{width:18px;height:18px;display:block}
.topbar-menu-card-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  background:linear-gradient(180deg, rgba(11,42,58,.98), rgba(7,22,32,.98));
  color:#ffffff;
  text-decoration:none;
  font-weight:950;
  letter-spacing:-0.01em;
  box-shadow:0 18px 44px rgba(15,23,32,.18);
}
.topbar-menu-card-cta-ico{opacity:.9}
.topbar-menu-card-networks{display:grid;gap:10px}
.topbar-menu-card-networks-k{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:rgba(15,23,32,.62);
  font-size:12px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.topbar-menu-card-networks-k::before,
.topbar-menu-card-networks-k::after{
  content:"";
  height:1px;
  flex:1 1 auto;
  background:rgba(15,23,32,.10);
}
.topbar-menu-card-networks-social{display:flex;gap:10px;justify-content:center}
.topbar-menu-card-networks-social .social-btn{
  width:44px;
  height:44px;
  border:1px solid rgba(15,23,32,.12);
  background:#ffffff;
  color:rgba(11,42,58,.92);
  box-shadow:0 14px 34px rgba(15,23,32,.10);
}
.topbar-menu-card-networks-social .social-btn svg{width:18px;height:18px}
.topbar-menu-card-networks-social .social-btn:hover{transform:none}
.topbar-menu-card-networks-social .social-btn:active{transform:scale(.98)}
.topbar-menu-card-networks-social{flex-wrap:wrap}
@media (max-width: 520px){
  .topbar-menu-panel{width:min(96vw, 720px);padding:4px 12px calc(84px + env(safe-area-inset-bottom))}
  .topbar-menu-links{padding-bottom:6px}
  .topbar-menu-links > a,
  .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn{padding:12px 14px;min-height:42px}
  .topbar-menu-service-item{min-height:50px}
  .topbar-menu-footer{gap:8px;padding:10px 8px 8px;padding-bottom:max(12px, env(safe-area-inset-bottom))}

  .topbar-menu-card{padding:14px 12px;gap:12px}
  .topbar-menu-card-head{grid-template-columns:36px 1fr;gap:10px}
  .topbar-menu-card-head-ico{width:36px;height:36px}
  .topbar-menu-card-title{font-size:16px}
  .topbar-menu-card-sub{font-size:12px}

  .topbar-menu-card-contacts{grid-template-columns:1fr;gap:8px}
  .topbar-menu-card-chip{font-size:12.5px}
  .topbar-menu-card-chip-text{
    white-space:normal;
    overflow:visible;
    text-overflow:unset;
    overflow-wrap:anywhere;
    word-break:break-word;
    line-height:1.2;
  }
  .topbar-menu-card-chip-ico{width:32px;height:32px}

  .topbar-menu-card-networks{gap:8px}
  .topbar-menu-card-networks-k{font-size:11.5px}
  .topbar-menu-card-networks-social{gap:8px}
  .topbar-menu-card-networks-social .social-btn{width:40px;height:40px}
}
.topbar-menu-footer-block{display:grid;gap:10px}
.topbar-menu-footer-block{display:grid;gap:10px}
.topbar-menu-contact{display:grid;gap:10px}
.topbar-menu-phone{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:rgba(11,42,58,.94);
  font-weight:950;
  font-size:22px;
  letter-spacing:-0.02em;
}
.topbar-menu-phone-ico{
  width:48px;
  height:48px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(11,42,58,.18);
  background:rgba(11,42,58,.06);
  flex:0 0 auto;
  color:rgba(11,42,58,.92);
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease;
}
.topbar-menu-phone-ico svg{width:22px;height:22px;display:block}
.topbar-menu-phone:hover .topbar-menu-phone-ico,
.topbar-menu-phone:focus-visible .topbar-menu-phone-ico{
  border-color:transparent;
  background:linear-gradient(90deg, var(--accent), var(--accent2));
  box-shadow:0 18px 44px rgba(0,0,0,.26);
  transform:translateY(-1px) scale(1.03);
}
.topbar-menu-phone:active .topbar-menu-phone-ico{
  transform:scale(.98);
  box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.topbar-menu-hours{display:flex;align-items:center;gap:10px;color:rgba(15,23,32,.62);font-weight:750}
.topbar-menu-hours svg{width:18px;height:18px;display:block;opacity:.92}
.topbar-menu-contact + .topbar-menu-footer-block{padding-top:0;border-top:0}
.topbar-menu-footer-k{
  font-size:12px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(15,23,32,.62);
}
.topbar-menu-email{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.74);
  color:rgba(15,23,32,.80);
  font-weight:850;
  text-decoration:none;
}
.topbar-menu-email svg{width:18px;height:18px;flex:0 0 auto;display:block}
.topbar-menu-footer-social{display:flex;gap:10px;flex-wrap:wrap}
.topbar-menu-footer-social{padding-right:72px}
.topbar-menu-footer-social .social-btn{
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(15,23,32,.12);
  background:rgba(255,255,255,.72);
  color:rgba(11,42,58,.90);
  box-shadow:0 14px 34px rgba(15,23,32,.10);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:1;
}
@media (hover: hover) and (pointer: fine){
  .topbar-menu-email:hover{
    border-color:rgba(255,255,255,.26);
    background:rgba(255,255,255,.10);
    color:#ffffff;
  }
  .topbar-menu-footer-social .social-btn:hover{
    border-color:transparent;
    background:linear-gradient(90deg, var(--accent), var(--accent2));
    color:#ffffff;
    transform:translateY(-1px);
  }
}

@media (min-width: 881px){
  .topbar-menu-panel{
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    width:min(80vw, 720px);
    min-width:0;
    padding:16px;
    border-radius:0;
    border:0;
    background:#ffffff;
    backdrop-filter:none;
    box-shadow:0 18px 60px rgba(15,23,32,.22);
    opacity:1;
    visibility:visible;
    transform:translateX(100%);
    transition:transform .3s ease-in-out;
    z-index:260;
    overflow:hidden;
    pointer-events:none;
  }
  .topbar-menu.open .topbar-menu-panel{transform:translateX(0);pointer-events:auto}
  .topbar-menu-links{
    flex:1 1 auto;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:12px;
  }
  .topbar-menu-links > a,
  .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    min-height:52px;
    border-radius:0;
    border:1px solid rgba(15,23,32,.08);
    background:transparent;
    color:rgba(15,23,32,.78);
    font-weight:900;
    opacity:0;
    transform:translateX(10px);
    transition:opacity .22s ease, transform .3s ease, border-color .18s ease, background .18s ease;
  }
  .topbar-menu.open .topbar-menu-links > a{opacity:1;transform:none}
  .topbar-menu.open .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn{opacity:1;transform:none}
  .topbar-menu.open .topbar-menu-links > a:nth-child(1){transition-delay:.02s}
  .topbar-menu.open .topbar-menu-links > a:nth-child(2){transition-delay:.06s}
  .topbar-menu.open .topbar-menu-links > a:nth-child(3){transition-delay:.10s}
  .topbar-menu.open .topbar-menu-links > a:nth-child(4){transition-delay:.14s}
  .topbar-menu.open .topbar-menu-links > a:nth-child(5){transition-delay:.18s}
  .topbar-menu.open .topbar-menu-links > a:nth-child(6){transition-delay:.22s}
  .topbar-menu.open .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn{transition-delay:.26s}
  .topbar-menu-links > a:hover,
  .topbar-menu-links > a:focus,
  .topbar-menu-links > a:focus-visible,
  .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn:hover,
  .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn:focus,
  .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn:focus-visible{
    color:#ffffff;
    border-color:transparent;
    background:linear-gradient(90deg, var(--accent), var(--accent2));
    box-shadow:0 16px 44px rgba(201,134,47,.18);
    outline:none;
  }
  .topbar-menu-links > a.active{
    color:rgba(15,23,32,.78);
    border-color:rgba(15,23,32,.10);
    background:transparent;
    box-shadow:none;
    font-weight:900;
  }
  .topbar-menu-links a .nav-ico{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 auto}
  .topbar-menu-links a .nav-ico svg{width:20px;height:20px;display:block}
}

@media (max-width: 880px){
  .topbar-inner{flex-wrap:nowrap;justify-content:space-between}
  .topbar .nav{width:auto;flex-wrap:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}
  .topbar .nav a{white-space:nowrap;padding:8px 10px;border-radius:0;font-size:13px}
  .topbar .nav::-webkit-scrollbar{height:0}
  .topbar-menu-btn{width:40px;height:38px;border-radius:0}
  .topbar-menu{
    --mobile-menu-gap:0px;
  }
  .topbar-menu-overlay{
    inset:calc(var(--mobile-topbar-offset, 132px) + var(--mobile-menu-gap, 0px)) 0 0 0;
    background:rgba(15,23,32,.18);
  }
  .topbar-menu.open .topbar-menu-overlay{opacity:1;visibility:visible}
  .topbar-menu-panel{
    position:fixed;
    top:calc(var(--mobile-topbar-offset, 132px) + var(--mobile-menu-gap, 0px));
    left:0;
    right:0;
    height:calc(100dvh - var(--mobile-topbar-offset, 132px) - var(--mobile-menu-gap, 0px));
    width:100%;
    max-height:calc(100dvh - var(--mobile-topbar-offset, 132px) - var(--mobile-menu-gap, 0px));
    height:calc(100svh - var(--mobile-topbar-offset, 132px) - var(--mobile-menu-gap, 0px));
    max-height:calc(100svh - var(--mobile-topbar-offset, 132px) - var(--mobile-menu-gap, 0px));
    min-width:0;
    padding:8px 10px calc(18px + env(safe-area-inset-bottom));
    border-radius:0;
    border:0;
    background:#ffffff;
    backdrop-filter:none;
    box-shadow:0 18px 40px rgba(15,23,32,.14);
    opacity:0;
    visibility:hidden;
    transform:translateY(-14px);
    transition:opacity .22s ease, transform .26s ease, visibility .22s ease;
    z-index:260;
    overflow:hidden;
    pointer-events:none;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    display:grid;
    grid-template-rows:minmax(0, 1fr) auto;
    gap:8px;
  }
  .topbar-menu-panel::before{
    content:none;
  }
  .topbar-menu-panel::after{
    content:none;
  }
  .topbar-menu.open .topbar-menu-panel{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }
  .topbar-menu-footer{
    margin-top:6px;
    padding:8px 8px max(8px, env(safe-area-inset-bottom));
    position:relative;
    z-index:1;
    background:#ffffff;
    box-shadow:none;
    margin-top:0;
    flex-shrink:0;
  }
  .topbar-menu-links{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    padding-bottom:8px;
  }
  .topbar-menu-useful{
    min-height:0;
    position:relative;
    gap:6px;
  }
  .topbar-menu-useful-links{
    max-height:0;
    overflow:hidden;
    padding-left:0;
    padding-right:0;
  }
  .topbar-menu-useful.open .topbar-menu-useful-links{
    display:flex;
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    right:0;
    z-index:3;
    max-height:min(28svh, 220px);
    overflow-y:scroll;
    overflow-x:hidden;
    padding:8px;
    border:1px solid rgba(15,23,32,.08);
    background:#ffffff;
    box-shadow:0 14px 28px rgba(15,23,32,.12);
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:rgba(200,161,74,.72) rgba(15,23,32,.08);
  }
  .topbar-menu-useful.open{
    z-index:4;
  }
  .topbar-menu-useful-links::-webkit-scrollbar{
    width:4px;
  }
  .topbar-menu-useful-links::-webkit-scrollbar-track{
    background:rgba(15,23,32,.08);
    border-radius:999px;
  }
  .topbar-menu-useful-links::-webkit-scrollbar-thumb{
    background:rgba(200,161,74,.72);
    border-radius:999px;
  }
  .topbar-menu-useful-links::-webkit-scrollbar-thumb:hover{
    background:rgba(200,161,74,.92);
  }
  .topbar-menu-links > a,
  .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn{
    display:flex;
    align-items:center;
    gap:12px;
    gap:10px;
    padding:10px 14px;
    min-height:40px;
    border-radius:0;
    border:1px solid rgba(15,23,32,.08);
    background:transparent;
    color:rgba(15,23,32,.78);
    font-weight:900;
    opacity:0;
    transform:translateY(-8px);
    transition:opacity .22s ease, transform .26s ease, border-color .18s ease, background .18s ease;
  }
  .topbar-menu-useful-links a,
  .topbar-menu-service-item{
    padding:9px 10px;
    margin-right:2px;
  }
  .topbar-menu-useful-links a{
    font-size:14px;
    line-height:1.22;
  }
  .topbar-menu-service-item{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:46px;
  }
  .topbar-menu-service-name{
    flex:1 1 auto;
    font-size:14px;
    line-height:1.22;
  }
  .topbar-menu-service-pill{
    flex:0 0 118px;
    margin-left:auto;
    min-width:118px;
    text-align:center;
    font-size:10px;
  }
  .topbar-menu.open .topbar-menu-links > a{opacity:1;transform:none}
  .topbar-menu.open .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn{opacity:1;transform:none}
  .topbar-menu.open .topbar-menu-links > a:nth-child(1){transition-delay:.02s}
  .topbar-menu.open .topbar-menu-links > a:nth-child(2){transition-delay:.06s}
  .topbar-menu.open .topbar-menu-links > a:nth-child(3){transition-delay:.10s}
  .topbar-menu.open .topbar-menu-links > a:nth-child(4){transition-delay:.14s}
  .topbar-menu.open .topbar-menu-links > a:nth-child(5){transition-delay:.18s}
  .topbar-menu.open .topbar-menu-links > a:nth-child(6){transition-delay:.22s}
  .topbar-menu.open .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn{transition-delay:.26s}
  .topbar-menu-links > a:hover,
  .topbar-menu-links > a:focus,
  .topbar-menu-links > a:focus-visible,
  .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn:hover,
  .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn:focus,
  .topbar-menu-links > .topbar-menu-useful > .topbar-menu-useful-btn:focus-visible{
    color:#ffffff;
    border-color:transparent;
    background:linear-gradient(90deg, var(--accent), var(--accent2));
    box-shadow:0 16px 44px rgba(201,134,47,.18);
    outline:none;
  }
  .topbar-menu-links > a.active{
    color:rgba(15,23,32,.78);
    border-color:rgba(15,23,32,.10);
    background:transparent;
    box-shadow:none;
    font-weight:900;
  }
  .topbar-menu-links a .nav-ico{display:inline-flex}
  .topbar-menu-footer{
    margin-top:4px;
    gap:8px;
  }
  .topbar-menu-card{
    padding:10px 10px;
    gap:10px;
  }
  .topbar-menu-card-head{grid-template-columns:34px 1fr;gap:8px}
  .topbar-menu-card-head-ico{width:34px;height:34px}
  .topbar-menu-card-title{font-size:15px}
  .topbar-menu-card-sub{font-size:11.5px;line-height:1.35}
  .topbar-menu-card-contacts{gap:8px}
  .topbar-menu-card-chip{
    padding:8px 9px;
    font-size:11.5px;
  }
  .topbar-menu-card-chip-ico{width:30px;height:30px}
  .topbar-menu-card-cta{padding:10px 12px}
  .topbar-menu-card-networks{gap:6px}
  .topbar-menu-card-networks-k{font-size:11px;letter-spacing:.14em}
  .topbar-menu-card-networks-social{gap:8px}
  .topbar-menu-card-networks-social .social-btn{width:38px;height:38px}
  .topbar-menu-lang{
    margin-top:8px;
    padding-top:8px;
    gap:10px;
  }
  .topbar-menu-lang-btn{
    padding:4px 2px;
    font-size:11px;
  }
}

.listing-link{display:block}
.listing-page{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:start}
body[data-page="listing"] .listing-page > *{min-width:0}
body[data-page="listing"] .listing-page{font-size:18px;line-height:1.55}
body[data-page="listing"] .listing-title-row h2{font-size:26px;line-height:1.12;letter-spacing:-0.02em;text-wrap:balance}
.listing-price{margin-top:12px;font-size:24px;font-weight:750;letter-spacing:-0.01em}
body[data-page="listing"] .listing-price{
  font-size:34px;
  font-weight:950;
  letter-spacing:-0.02em;
  padding:16px 18px;
  margin-top:14px;
  background:linear-gradient(180deg, rgba(245,246,248,.98), rgba(238,240,243,.96));
  border:1px solid rgba(15,23,32,.08);
  box-shadow:0 16px 46px rgba(15,23,32,.12);
  border-radius:0 !important;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  flex-wrap:wrap;
}
body[data-page="listing"] .listing-price-text{display:inline-flex;align-items:baseline}
body[data-page="listing"] .price-info{position:relative;display:inline-flex;align-items:center}
body[data-page="listing"] .price-info-btn{
  width:26px;
  height:26px;
  border-radius:999px !important;
  border:3px solid rgba(11,42,58,.78);
  background:rgba(255,255,255,.98);
  color:rgba(11,42,58,.96);
  display:grid;
  place-items:center;
  padding:0;
  overflow:hidden;
  cursor:pointer;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}
body[data-page="listing"] .price-info{transform:translateX(3px) translateY(2px)}
body[data-page="listing"] .price-info-icon{font-size:16px;line-height:1;font-weight:800;font-family:Georgia,"Times New Roman",serif;transform:none}
body[data-page="listing"] .price-info-btn:hover{border-color:rgba(11,42,58,.88);background:rgba(255,255,255,.98)}
body[data-page="listing"] .price-info-btn[aria-expanded="true"]{border-color:rgba(11,42,58,.70);background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(15,23,32,.10)}
body[data-page="listing"] .price-info-btn:focus-visible{outline:3px solid rgba(11,42,58,.26);outline-offset:3px}
body[data-page="listing"] .price-info-pop{
  position:absolute;
  right:-6px;
  top:calc(100% + 10px);
  width:260px;
  max-width:72vw;
  background:rgba(11,42,58,.96);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 54px rgba(15,23,32,.22);
  color:rgba(255,255,255,.96);
  padding:14px 16px;
  z-index:40;
}
body[data-page="listing"] .price-info-pop[hidden]{display:none !important}
body[data-page="listing"] .price-info-pop::before{
  content:"";
  position:absolute;
  top:-7px;
  right:18px;
  width:14px;
  height:14px;
  background:rgba(11,42,58,.96);
  transform:rotate(45deg);
}
body[data-page="listing"] .price-info-pop-inner{font-size:15px;line-height:1.35;font-weight:750}
body[data-page="listing"] .price-info-accent{color:#f2c14e}
body[data-page="listing"] .listing-share{margin-top:14px;position:relative}
body[data-page="listing"] .listing-share-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-top:1px solid rgba(15,23,32,.10);
  border-bottom:1px solid rgba(15,23,32,.10);
}
body[data-page="listing"] .listing-share-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}
body[data-page="listing"] .listing-share-label{
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:950;
  color:rgba(15,23,32,.62);
}
body[data-page="listing"] .listing-print-btn{
  appearance:none;
  border:1px solid rgba(15,23,32,.12);
  background:rgba(255,255,255,.98);
  color:rgba(11,42,58,.92);
  min-height:42px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,32,.08);
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease;
}
body[data-page="listing"] .listing-print-btn svg{width:16px;height:16px;display:block}
body[data-page="listing"] .listing-print-btn:hover{
  border-color:rgba(15,23,32,.18);
  background:#ffffff;
  box-shadow:0 12px 28px rgba(15,23,32,.10);
}
body[data-page="listing"] .listing-print-btn:focus-visible{outline:3px solid rgba(11,42,58,.26);outline-offset:3px}
body[data-page="listing"] .listing-share-toggle{
  width:42px;
  height:42px;
  border-radius:0;
  border:1px solid transparent;
  background:transparent;
  box-shadow:none;
  display:grid;
  place-items:center;
  cursor:pointer;
  color:rgba(11,42,58,.90);
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease;
}
body[data-page="listing"] .listing-share-toggle svg{width:18px;height:18px;display:block}
body[data-page="listing"] .listing-share-toggle[aria-expanded="true"]{
  border-color:rgba(15,23,32,.12);
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 28px rgba(15,23,32,.10);
}
body[data-page="listing"] .listing-share-toggle:hover{border-color:rgba(15,23,32,.12);background:rgba(255,255,255,.96)}
body[data-page="listing"] .listing-share-toggle:focus-visible{outline:3px solid rgba(11,42,58,.26);outline-offset:3px}
body[data-page="listing"] .listing-share-pop{
  position:absolute;
  right:0;
  bottom:calc(100% + 10px);
  top:auto;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(15,23,32,.12);
  box-shadow:0 18px 54px rgba(15,23,32,.16);
  padding:8px 10px;
  display:flex;
  align-items:center;
  gap:8px;
  z-index:30;
}
body[data-page="listing"] .listing-share-pop[hidden]{display:none !important}
body[data-page="listing"] .listing-share-pop .social-btn{
  width:40px;
  height:40px;
  border-color:rgba(15,23,32,.12);
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 24px rgba(15,23,32,.10);
  color:rgba(11,42,58,.90);
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease;
}
@media (hover: hover) and (pointer: fine){
  body[data-page="listing"] .listing-share-pop .social-btn:hover{
    transform:translateY(-2px) scale(1.03);
    border-color:rgba(11,42,58,.22);
    background:#ffffff;
    box-shadow:0 14px 30px rgba(15,23,32,.14);
    color:rgba(11,42,58,.98);
  }
}
body[data-page="listing"] .listing-share-pop .social-btn:active{transform:translateY(0) scale(.98)}
body[data-page="listing"] .listing-share-pop .social-btn:focus-visible{
  outline:3px solid rgba(11,42,58,.26);
  outline-offset:3px;
}
body[data-page="listing"] .listing-share-pop .social-btn svg{width:18px;height:18px;display:block}
body[data-page="listing"] .listing-share-pop [data-share-whatsapp] svg{width:22px;height:22px}
body[data-page="listing"] .listing-print-head{display:none}
@media (max-width: 420px){
  body[data-page="listing"] .listing-share-row{
    align-items:center;
    flex-wrap:nowrap;
  }
  body[data-page="listing"] .listing-share-actions{
    width:auto;
    margin-left:auto;
    justify-content:flex-end;
  }
  body[data-page="listing"] .listing-print-btn{
    flex:1 1 auto;
    justify-content:center;
  }
  body[data-page="listing"] .listing-share-pop{
    left:auto;
    right:0;
    justify-content:flex-end;
  }
  body[data-page="listing"] .listing-share-pop .social-btn{
    font-size:0;
    line-height:0;
    text-indent:-9999px;
    white-space:nowrap;
    overflow:hidden;
  }
  body[data-page="listing"] .listing-share-pop .social-btn svg{
    flex:0 0 auto;
    text-indent:0;
  }
}
@media screen{
  body[data-page="listing"].print-preparing{
    overflow:hidden;
    cursor:progress;
  }
  body[data-page="listing"].print-preparing > *{
    visibility:hidden !important;
  }
  body[data-page="listing"].print-preparing::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:99998;
    background:#ffffff;
  }
  body[data-page="listing"].print-preparing::after{
    content:"Preparation de l'impression...";
    position:fixed;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:240px;
    min-height:56px;
    padding:16px 22px;
    border:1px solid rgba(15,23,32,.08);
    background:#ffffff;
    box-shadow:0 16px 40px rgba(15,23,32,.10);
    color:#0f1720;
    font-size:14px;
    font-weight:600;
    letter-spacing:.02em;
    text-align:center;
    border-radius:16px;
  }
}
body[data-page="listing"].print-view{
  background:#ffffff;
  background-image:none !important;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
body[data-page="listing"].print-view::before,
body[data-page="listing"].print-view::after{
  content:none !important;
  display:none !important;
  background:none !important;
}
body[data-page="listing"].print-view,
body[data-page="listing"].print-view main,
body[data-page="listing"].print-view .section,
body[data-page="listing"].print-view .container,
body[data-page="listing"].print-view .panel,
body[data-page="listing"].print-view .inner{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  background:#ffffff !important;
  background-image:none !important;
}
body[data-page="listing"].print-view .topbar,
body[data-page="listing"].print-view .footer,
body[data-page="listing"].print-view .listing-share,
body[data-page="listing"].print-view .cta,
body[data-page="listing"].print-view #demande-visite,
body[data-page="listing"].print-view #listing-form,
body[data-page="listing"].print-view .lightbox,
body[data-page="listing"].print-view .map-actions,
body[data-page="listing"].print-view .map-pin,
body[data-page="listing"].print-view .map-zoom,
body[data-page="listing"].print-view .fav-btn,
body[data-page="listing"].print-view .to-top-fab,
body[data-page="listing"].print-view .whatsapp-fab,
body[data-page="listing"].print-view main > .container > .panel:first-child{
  display:none !important;
}
body[data-page="listing"].print-view main.section{
  padding:8px 0 28px !important;
}
body[data-page="listing"].print-view .listing-print-head{
  display:block;
  margin:0 0 10px;
  padding:12px 14px 14px;
  background:#ffffff;
  border:1px solid rgba(15,23,32,.08);
  box-shadow:0 16px 40px rgba(15,23,32,.08);
  page-break-after:avoid;
}
body[data-page="listing"].print-view .listing-print-head-top{
  display:block;
}
body[data-page="listing"].print-view .listing-print-head-bar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:5px 0 8px;
}
body[data-page="listing"].print-view .listing-print-brand img{
  width:68px;
  height:auto;
  display:block;
}
body[data-page="listing"].print-view .listing-print-head-meta{
  margin-left:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  text-align:right;
}
body[data-page="listing"].print-view .listing-print-head-line{
  display:flex;
  align-items:baseline;
  gap:4px;
  font-size:11px;
  line-height:1.25;
}
body[data-page="listing"].print-view .listing-print-head-k{
  color:rgba(15,23,32,.62);
}
body[data-page="listing"].print-view .listing-print-head-v{
  font-weight:900;
  color:rgba(15,23,32,.92);
}
body[data-page="listing"].print-view .listing-print-head-rule{
  margin-top:4px;
  height:3px;
  background:rgba(200,161,74,.96);
}
body[data-page="listing"].print-view .listing-print-overline{
  margin-top:8px;
  color:rgba(200,161,74,.98);
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
body[data-page="listing"].print-view .listing-print-title{
  margin-top:5px;
  font-size:24px;
  line-height:1.08;
  font-weight:950;
  color:rgba(15,23,32,.98);
  letter-spacing:-0.02em;
}
body[data-page="listing"].print-view .listing-print-location{
  margin-top:4px;
  color:rgba(15,23,32,.68);
  font-size:12px;
  font-weight:700;
}
body[data-page="listing"].print-view .listing-print-summary{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(15,23,32,.1);
}
body[data-page="listing"].print-view .listing-print-lead-photo{
  display:none;
}
body[data-page="listing"].print-view.print-mobile .listing-print-lead-photo{
  display:block;
  margin-top:10px;
  border:1px solid rgba(15,23,32,.08);
  background:#ffffff;
  overflow:hidden;
  break-inside:avoid;
  page-break-inside:avoid;
}
body[data-page="listing"].print-view.print-mobile .listing-print-lead-photo img{
  display:block;
  width:100%;
  height:190px;
  object-fit:cover;
}
body[data-page="listing"].print-view .listing-print-summary-main{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
body[data-page="listing"].print-view .listing-print-summary .listing-pill{
  margin-bottom:5px;
}
body[data-page="listing"].print-view .listing-print-summary .meta{
  margin-top:0 !important;
  width:100%;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:6px;
  font-size:10px;
  overflow:visible;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
body[data-page="listing"].print-view .listing-print-summary .meta .meta-item{
  margin-right:0;
  padding:6px 8px;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.92);
  gap:5px;
  min-width:0;
  justify-content:center;
  text-align:center;
}
body[data-page="listing"].print-view .listing-print-summary .meta .meta-item:not(:last-child)::after{
  content:none;
}
body[data-page="listing"].print-view .listing-print-summary .meta .meta-ico svg{
  width:12px;
  height:12px;
}
body[data-page="listing"].print-view .listing-print-summary .listing-print-summary-availability{
  margin-top:5px !important;
  font-size:10px;
}
body[data-page="listing"].print-view .listing-print-summary .listing-price{
  margin-top:4px;
  padding:7px 10px;
  font-size:20px;
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
}
body[data-page="listing"].print-view .listing-print-summary .listing-price + .meta{
  margin-top:6px !important;
}
body[data-page="listing"].print-view .listing-print-summary .facts{
  margin-top:6px !important;
  gap:6px;
}
body[data-page="listing"].print-view .listing-print-summary .facts .tag{
  padding:4px 6px;
  font-size:9px;
}
body[data-page="listing"].print-view .listing-print-summary .price-info,
body[data-page="listing"].print-view .listing-print-summary .price-info-pop{
  display:none !important;
}
body[data-page="listing"].print-view .listing-page{
  display:block !important;
  gap:0 !important;
  background:#ffffff !important;
}
body[data-page="listing"].print-view .panel{
  border:none !important;
}
body[data-page="listing"].print-view .panel .inner{
  padding:0 !important;
}
body[data-page="listing"].print-view .listing-gallery,
body[data-page="listing"].print-view .card,
body[data-page="listing"].print-view .panel{
  box-shadow:none !important;
  background:#ffffff !important;
}
body[data-page="listing"].print-view .listing-gallery{
  margin-bottom:8px;
  padding:7px;
  border:1px solid rgba(15,23,32,.08);
}
body[data-page="listing"].print-view .listing-gallery .media{
  min-height:0 !important;
  max-height:320px !important;
  height:auto !important;
  aspect-ratio:auto !important;
  background:transparent !important;
  overflow:hidden !important;
}
body[data-page="listing"].print-view .listing-gallery .media img{
  width:100%;
  height:320px !important;
  aspect-ratio:auto !important;
  max-height:320px;
  object-fit:cover;
  display:block;
}
body[data-page="listing"].print-view .listing-gallery .nav,
body[data-page="listing"].print-view .listing-gallery .count,
body[data-page="listing"].print-view .map{
  display:none !important;
}
body[data-page="listing"] .listing-print-thumbs{
  display:none;
}
body[data-page="listing"].print-view .listing-print-thumbs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;
  margin:0 0 8px;
}
body[data-page="listing"].print-view .listing-print-thumbs[hidden]{
  display:none !important;
}
body[data-page="listing"].print-view .listing-print-thumb{
  border:1px solid rgba(15,23,32,.08);
  background:#ffffff;
  overflow:hidden;
  aspect-ratio:1 / 1;
}
body[data-page="listing"].print-view .listing-print-thumb img{
  width:100%;
  height:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  display:block;
}
body[data-page="listing"].print-view .distances-table{
  overflow:visible !important;
}
body[data-page="listing"].print-view .listing-gallery,
body[data-page="listing"].print-view .kv-row,
body[data-page="listing"].print-view .amenity-group,
body[data-page="listing"].print-view .distances-row,
body[data-page="listing"].print-view .contact-card,
body[data-page="listing"].print-view .listing-print-section{
  break-inside:avoid;
  page-break-inside:avoid;
  background:#ffffff !important;
}
body[data-page="listing"].print-view .listing-print-section--summary{
  display:none !important;
}
body[data-page="listing"].print-view .listing-print-section{
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid rgba(15,23,32,.08);
  background:#ffffff;
}
body[data-page="listing"].print-view .listing-print-section--media{
  margin-bottom:8px;
  padding:0;
  border:none;
  background:transparent;
}
@media (max-width: 640px){
  body[data-page="listing"].print-view main > .container > .section{
    display:block;
  }
  body[data-page="listing"].print-view main.section{
    padding:8px 0 28px !important;
  }
  body[data-page="listing"].print-view .listing-print-head{
    margin:0 0 10px;
    padding:12px 14px 14px;
    box-shadow:0 16px 40px rgba(15,23,32,.08);
  }
  body[data-page="listing"].print-view .listing-print-head-top{
    margin-bottom:2px;
  }
  body[data-page="listing"].print-view .listing-print-head-bar{
    display:grid;
    grid-template-columns:54px minmax(0, 1fr);
    align-items:start;
    gap:10px;
    padding:3px 0 8px;
  }
  body[data-page="listing"].print-view .listing-print-brand img{
    width:54px;
  }
  body[data-page="listing"].print-view .listing-print-head-meta{
    margin-left:0;
    min-width:0;
    gap:4px;
    justify-self:end;
  }
  body[data-page="listing"].print-view .listing-print-head-line{
    justify-content:flex-end;
    flex-wrap:wrap;
    column-gap:4px;
    row-gap:1px;
    font-size:10px;
    line-height:1.2;
  }
  body[data-page="listing"].print-view .listing-print-head-rule{
    margin-top:3px;
    height:3px;
  }
  body[data-page="listing"].print-view .listing-print-overline{
    margin-top:8px;
    font-size:10px;
  }
  body[data-page="listing"].print-view .listing-print-title{
    margin-top:5px;
    font-size:24px;
    line-height:1.08;
  }
  body[data-page="listing"].print-view .listing-print-location{
    margin-top:4px;
    font-size:12px;
  }
  body[data-page="listing"].print-view .listing-print-summary{
    margin-top:10px;
    padding-top:10px;
  }
  body[data-page="listing"].print-view.print-mobile .listing-print-lead-photo{
    margin-top:8px;
  }
  body[data-page="listing"].print-view.print-mobile .listing-print-lead-photo img{
    height:170px;
  }
  body[data-page="listing"].print-view .listing-print-summary-main{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }
  body[data-page="listing"].print-view .listing-print-summary .meta{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:6px;
    font-size:9.5px;
  }
  body[data-page="listing"].print-view .listing-print-summary .meta .meta-item{
    padding:5px 7px;
  }
  body[data-page="listing"].print-view .listing-print-summary .listing-price{
    margin-top:4px;
    padding:7px 10px;
    font-size:20px;
  }
  body[data-page="listing"].print-view .listing-print-summary .facts{
    display:flex;
  }
  body[data-page="listing"].print-view .listing-page{
    display:block !important;
  }
  body[data-page="listing"].print-view .listing-print-section--media{
    margin-bottom:8px;
    break-after:auto;
    page-break-after:auto;
  }
  body[data-page="listing"].print-view .listing-gallery{
    margin-bottom:8px;
    padding:7px;
    break-before:avoid-page;
    page-break-before:auto;
  }
  body[data-page="listing"].print-view .listing-gallery .media{
    max-height:240px !important;
  }
  body[data-page="listing"].print-view .listing-gallery .media img{
    height:240px !important;
    max-height:240px;
  }
  body[data-page="listing"].print-view .listing-print-thumbs{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    width:100%;
    gap:6px;
    margin:0 0 8px;
  }
  body[data-page="listing"].print-view .listing-print-thumb{
    min-width:0;
  }
  body[data-page="listing"].print-view .listing-print-thumb img{
    height:100%;
    aspect-ratio:1 / 1;
  }
  body[data-page="listing"].print-view .listing-print-section{
    margin:0 0 10px;
    padding:10px 12px;
  }
}
body[data-page="listing"].print-view .listing-print-section--description{
  page-break-before:auto;
  break-before:auto;
}
body[data-page="listing"].print-view .listing-print-section h3{
  margin:0 0 8px !important;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
  color:rgba(15,23,32,.58);
  break-after:avoid;
  page-break-after:avoid;
}
body[data-page="listing"].print-view [data-listing-desc]{
  text-align:left !important;
  hyphens:none !important;
  color:rgba(15,23,32,.86);
  font-size:12px;
  line-height:1.5;
}
body[data-page="listing"].print-view .kv-table{
  margin-top:0;
}
body[data-page="listing"].print-view .kv-row{
  padding:7px 0;
}
body[data-page="listing"].print-view .amenity-group,
body[data-page="listing"].print-view .contact-card{
  padding:8px 10px;
  border:1px solid rgba(15,23,32,.08);
  background:rgba(248,248,246,.9);
}
body[data-page="listing"].print-view .amenities-groups{
  margin-top:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
body[data-page="listing"].print-view .amenity-head{
  padding:0 0 6px;
}
body[data-page="listing"].print-view .amenity-k{
  font-size:10px;
}
body[data-page="listing"].print-view .amenity-list{
  font-size:11px;
  line-height:1.35;
}
body[data-page="listing"].print-view .amenity-list li{
  padding:5px 0;
}
body[data-page="listing"].print-view .distances-table{
  margin-top:0;
}
body[data-page="listing"].print-view .distances-head,
body[data-page="listing"].print-view .distances-row{
  column-gap:8px;
  min-width:0;
  padding:6px 0;
  font-size:10px;
}
body[data-page="listing"].print-view .contact-cards{
  margin-top:0;
  gap:8px;
}
body[data-page="listing"].print-view .contact-card .k{
  font-size:10px;
}
body[data-page="listing"].print-view .contact-card .v{
  font-size:11px;
}
body[data-page="listing"].print-view a{
  color:inherit !important;
  text-decoration:none !important;
}
body[data-page="listing"].print-view a[href]::before,
body[data-page="listing"].print-view a[href]::after,
body[data-page="listing"].print-view abbr[title]::after{
  content:none !important;
  display:none !important;
}
@media print{
  @page{size:A4;margin:8mm}
  body[data-page="listing"]::before,
  body[data-page="listing"]::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }
  html,body{background:#ffffff !important;height:auto !important;overflow:visible !important}
  body[data-page="listing"] .topbar,
  body[data-page="listing"] .footer,
  body[data-page="listing"] .listing-share,
  body[data-page="listing"] .cta,
  body[data-page="listing"] #demande-visite,
  body[data-page="listing"] #listing-form,
  body[data-page="listing"] .lightbox,
  body[data-page="listing"] .map-actions,
  body[data-page="listing"] .map-pin,
  body[data-page="listing"] .map-zoom,
  body[data-page="listing"] .fav-btn,
  body[data-page="listing"] .to-top-fab,
  body[data-page="listing"] .whatsapp-fab{
    display:none !important;
  }
  body[data-page="listing"] a[href]::before,
  body[data-page="listing"] a[href]::after,
  body[data-page="listing"] abbr[title]::after{
    content:none !important;
    display:none !important;
  }
  body[data-page="listing"] main.section{
    padding:0 !important;
  }
  body[data-page="listing"] main,
  body[data-page="listing"] .section,
  body[data-page="listing"] .container,
  body[data-page="listing"] .panel,
  body[data-page="listing"] .inner{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body[data-page="listing"] main > .container > .panel:first-child{
    display:none !important;
  }
  body[data-page="listing"] .listing-page{
    display:block !important;
    gap:0 !important;
    font-size:12pt !important;
  }
  body[data-page="listing"] .listing-gallery,
  body[data-page="listing"] .card{
    box-shadow:none !important;
    background:#ffffff !important;
    break-inside:avoid;
  }
  body[data-page="listing"] .panel{
    box-shadow:none !important;
    background:#ffffff !important;
    break-inside:auto !important;
    page-break-inside:auto !important;
    overflow:visible !important;
  }
  body[data-page="listing"] .listing-gallery{
    margin-bottom:6px;
    padding:1.4mm;
    border:0.3mm solid rgba(15,23,32,.08);
  }
  body[data-page="listing"] .listing-gallery .media{
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
    aspect-ratio:auto !important;
    background:#ffffff !important;
    overflow:visible !important;
  }
  body[data-page="listing"] .listing-gallery .media img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:unset !important;
    display:block;
  }
  body[data-page="listing"] .listing-gallery .nav,
  body[data-page="listing"] .listing-gallery .count,
  body[data-page="listing"] .map{
    display:none !important;
  }
  body[data-page="listing"] .listing-print-thumbs{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:1.1mm;
    margin:0 0 2mm;
  }
  body[data-page="listing"] .listing-print-thumbs[hidden]{
    display:none !important;
  }
  body[data-page="listing"] .listing-print-thumb{
    border:0.3mm solid rgba(15,23,32,.08);
    background:#ffffff;
    overflow:hidden;
    aspect-ratio:1 / 1;
  }
  body[data-page="listing"] .listing-print-thumb img{
    width:100%;
    height:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
    display:block;
  }
  body[data-page="listing"] .listing-price{
    box-shadow:none !important;
    background:#ffffff !important;
    border:1px solid rgba(15,23,32,.14) !important;
  }
  body[data-page="listing"] .listing-print-head{
    display:block !important;
    margin:0 0 3.2mm;
    padding:2.6mm 3mm 3mm;
    background:#ffffff !important;
    border:0.3mm solid rgba(15,23,32,.08);
    page-break-after:avoid;
  }
  body[data-page="listing"] .listing-print-head-top{
    display:block;
  }
  body[data-page="listing"] .listing-print-head-bar{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:4mm;
    padding:.8mm 0 1.2mm;
  }
  body[data-page="listing"] .listing-print-brand img{
    width:14mm;
    height:auto;
    display:block;
  }
  body[data-page="listing"] .listing-print-head-meta{
    margin-left:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:1.5mm;
    text-align:right;
  }
  body[data-page="listing"] .listing-print-head-line{
    display:flex;
    align-items:baseline;
    gap:1mm;
    font-size:7.4pt;
    line-height:1.2;
  }
  body[data-page="listing"] .listing-print-head-k{
    color:rgba(15,23,32,.62);
  }
  body[data-page="listing"] .listing-print-head-v{
    font-weight:900;
    color:rgba(15,23,32,.92);
  }
  body[data-page="listing"] .listing-print-head-rule{
    margin-top:1mm;
    height:.95mm;
    background:rgba(200,161,74,.96);
  }
  body[data-page="listing"] .listing-print-overline{
    margin-top:1.4mm;
    color:rgba(200,161,74,.98);
    font-size:7pt;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  body[data-page="listing"] .listing-print-title{
    margin-top:1.2mm;
    font-size:15.5pt;
    line-height:1.06;
    font-weight:950;
    color:#0f1720;
    letter-spacing:-0.02em;
  }
  body[data-page="listing"] .listing-print-location{
    margin-top:.6mm;
    color:rgba(15,23,32,.68);
    font-size:7.8pt;
    font-weight:700;
  }
  body[data-page="listing"] .listing-print-summary{
    margin-top:1.4mm;
    padding-top:1.6mm;
    border-top:0.3mm solid rgba(15,23,32,.1);
  }
  body[data-page="listing"] .listing-print-summary-main{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }
  body[data-page="listing"] .listing-print-summary .listing-pill{
    margin-bottom:1mm;
  }
  body[data-page="listing"] .listing-print-summary .meta{
    margin-top:0 !important;
    width:100%;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:1mm;
    font-size:7.6pt;
    overflow:visible;
  }
  body[data-page="listing"] .listing-print-summary .meta .meta-item{
    margin-right:0;
    padding:1.1mm 1.4mm;
    border:0.3mm solid rgba(15,23,32,.10);
    background:rgba(255,255,255,.92);
    gap:1mm;
    min-width:0;
  }
  body[data-page="listing"] .listing-print-summary .meta .meta-item:not(:last-child)::after{
    content:none;
  }
  body[data-page="listing"] .listing-print-summary .meta .meta-ico svg{
    width:10px;
    height:10px;
  }
  body[data-page="listing"] .listing-print-summary .listing-print-summary-availability{
    margin-top:.8mm !important;
    font-size:7.2pt;
  }
  body[data-page="listing"] .listing-print-summary .listing-price{
    margin-top:1mm;
    padding:1.2mm 1.8mm;
    font-size:12.5pt;
    display:inline-flex;
    align-items:center;
    width:auto;
    max-width:100%;
  }
  body[data-page="listing"] .listing-print-summary .facts{
    margin-top:1.1mm !important;
    gap:1mm;
  }
  body[data-page="listing"] .listing-print-summary .facts .tag{
    padding:.7mm 1.1mm;
    font-size:6.8pt;
  }
  body[data-page="listing"] .listing-print-summary .price-info,
  body[data-page="listing"] .listing-print-summary .price-info-pop{
    display:none !important;
  }
  body[data-page="listing"] [data-listing-desc]{
    text-align:left !important;
    hyphens:none !important;
  }
  body[data-page="listing"] .distances-table{
    overflow:visible !important;
  }
  body[data-page="listing"] .listing-gallery,
  body[data-page="listing"] .kv-row,
  body[data-page="listing"] .amenity-group,
  body[data-page="listing"] .distances-row,
  body[data-page="listing"] .contact-card,
  body[data-page="listing"] .listing-print-section{
    break-inside:avoid;
    page-break-inside:avoid;
  }
  body[data-page="listing"] .listing-print-section--summary{
    display:none !important;
  }
  body[data-page="listing"] .listing-print-section--description{
    page-break-before:auto;
    break-before:auto;
  }
  body[data-page="listing"] .listing-print-section h3{
    margin:0 0 2.2mm !important;
    font-size:7.6pt;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-weight:950;
    color:rgba(15,23,32,.58);
    break-after:avoid;
    page-break-after:avoid;
  }
  body[data-page="listing"] .listing-print-section{
    margin:0 0 2.8mm;
    padding:2.8mm 3.2mm;
    border:0.3mm solid rgba(15,23,32,.08);
    background:#ffffff;
  }
  body[data-page="listing"] .listing-print-section--media{
    margin-bottom:2mm;
    padding:0;
    border:none;
    background:transparent;
  }
  body[data-page="listing"] a{
    color:inherit !important;
    text-decoration:none !important;
  }
  body[data-page="listing"] [data-listing-desc]{
    color:rgba(15,23,32,.86) !important;
    font-size:9pt !important;
    line-height:1.52 !important;
  }
  body[data-page="listing"] .kv-table{
    margin-top:0;
  }
  body[data-page="listing"] .kv-row{
    padding:1.6mm 0;
  }
  body[data-page="listing"] .amenity-group,
  body[data-page="listing"] .contact-card{
    padding:1.8mm 2.2mm;
    border:0.3mm solid rgba(15,23,32,.08);
    background:rgba(248,248,246,.96);
  }
  body[data-page="listing"] .amenities-groups{
    margin-top:0;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:2.2mm;
  }
  body[data-page="listing"] .amenity-head{
    padding:0 0 1.4mm;
  }
  body[data-page="listing"] .amenity-k{
    font-size:7.4pt;
  }
  body[data-page="listing"] .amenity-list{
    font-size:8.5pt;
    line-height:1.38;
  }
  body[data-page="listing"] .amenity-list li{
    padding:1.2mm 0;
  }
  body[data-page="listing"] .distances-table{
    margin-top:0;
  }
  body[data-page="listing"] .distances-head,
  body[data-page="listing"] .distances-row{
    column-gap:2mm;
    min-width:0;
    padding:1.5mm 0;
    font-size:8.2pt;
  }
  body[data-page="listing"] .contact-cards{
    margin-top:0;
    gap:2mm;
  }
  body[data-page="listing"] .contact-card .k{
    font-size:7.2pt;
  }
  body[data-page="listing"] .contact-card .v{
    font-size:8.4pt;
  }
}
.cta{display:flex;gap:10px;flex-wrap:wrap}
body[data-page="listing"] .meta{overflow-wrap:anywhere}
body[data-page="listing"] .meta{
  font-size:14px;
  gap:0;
  align-items:center;
}
body[data-page="listing"] .meta-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding-right:14px;
  margin-right:14px;
  position:relative;
  color:rgba(15,23,32,.74);
}
body[data-page="listing"] .meta-item:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:18px;
  background:rgba(15,23,32,.12);
}
body[data-page="listing"] .meta-ico{display:inline-flex;align-items:center;justify-content:center;color:rgba(11,42,58,.88)}
body[data-page="listing"] .meta-ico svg{width:18px;height:18px;display:block}
@media (max-width: 720px){
  body[data-page="listing"] .meta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    overflow:visible;
  }
  body[data-page="listing"] .meta-item{
    margin-right:0;
    padding:7px 8px;
    border:1px solid rgba(15,23,32,.10);
    background:rgba(255,255,255,.92);
    border-radius:0 !important;
    gap:6px;
    font-size:12.5px;
    justify-content:center;
    text-align:center;
    min-width:0;
  }
  body[data-page="listing"] .meta-item:not(:last-child)::after{content:none}
  body[data-page="listing"] .meta-ico svg{width:16px;height:16px}
}
body[data-page="listing"] .facts,
body[data-page="listing"] .features{max-width:100%}
body[data-page="listing"] .facts .tag,
body[data-page="listing"] .features .tag{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-page="listing"] .facts .tag,
body[data-page="listing"] .features .tag{font-size:12.5px}
body[data-page="listing"] .listing-page h3{font-size:15px;letter-spacing:.08em;text-transform:uppercase;font-weight:950;color:rgba(15,23,32,.78)}
body[data-page="listing"] .desc{font-size:16px;line-height:1.7}
body[data-page="listing"] [data-listing-desc]{text-align:justify;text-justify:inter-word;hyphens:auto}
@media (max-width: 720px){
  body[data-page="listing"] [data-listing-desc]{
    text-align:left;
    text-justify:auto;
    hyphens:none;
    -webkit-hyphens:none;
    overflow-wrap:normal;
    word-break:normal;
  }
}
@media (max-width: 640px) and (prefers-reduced-motion: no-preference){
  .hero-actions .hero-cta{will-change:transform,opacity}
  .hero-actions .hero-cta:nth-child(1){animation:hero-cta-in-left 1.6s cubic-bezier(.2,.8,.2,1) .12s both}
  .hero-actions .hero-cta:nth-child(2){animation:hero-cta-in-right 1.6s cubic-bezier(.2,.8,.2,1) .48s both}
}
body[data-page="listing"] .kv-table{
  margin-top:10px;
  border-top:1px solid rgba(15,23,32,.10);
}
body[data-page="listing"] .kv-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid rgba(15,23,32,.10);
}
body[data-page="listing"] .kv-k{
  color:rgba(15,23,32,.72);
  font-weight:650;
  font-size:16px;
}
body[data-page="listing"] .kv-v{
  color:rgba(15,23,32,.88);
  font-weight:650;
  text-align:right;
  overflow-wrap:anywhere;
  font-size:16px;
}
body[data-page="listing"] .amenities-groups{
  margin-top:34px;
  display:flex;
  flex-direction:column;
  gap:26px;
}
body[data-page="listing"] [data-amenities-block]{margin-top:22px;margin-bottom:26px}
@media (min-width: 900px){
  body[data-page="listing"] .amenities-groups{display:flex;flex-direction:column;gap:26px}
}
body[data-page="listing"] .amenity-k{
  font-weight:950;
  color:rgba(15,23,32,.82);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:12px;
}
body[data-page="listing"] .amenity-head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 0 12px;
  border:0;
  border-bottom:1px solid rgba(15,23,32,.10);
  background:transparent;
  cursor:pointer;
  text-align:left;
}
body[data-page="listing"] .amenity-head::after{
  content:"›";
  font-size:20px;
  line-height:1;
  color:rgba(15,23,32,.55);
  transform:rotate(90deg);
  transition:transform .15s ease;
}
body[data-page="listing"] .amenity-head[aria-expanded="true"]::after{transform:rotate(-90deg)}
body[data-page="listing"] .amenity-head:focus-visible{outline:3px solid rgba(11,42,58,.26);outline-offset:3px}
body[data-page="listing"] .amenity-list{
  margin:0;
  padding:0;
  list-style:none;
  color:rgba(15,23,32,.70);
  line-height:1.62;
  font-size:15px;
}
body[data-page="listing"] .amenity-group{
  border:0;
  background:transparent;
  border-radius:0;
  padding:0;
}
body[data-page="listing"] .amenity-list li{
  margin:0;
  position:static;
  padding:9px 0;
  border-bottom:1px solid rgba(15,23,32,.10);
  overflow-wrap:normal;
  word-break:keep-all;
  hyphens:auto;
}
body[data-page="listing"] .amenity-list li:last-child{border-bottom:0}
body[data-page="listing"] .distances-table{
  margin-top:10px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-gutter:auto;
  padding-bottom:0;
  -webkit-overflow-scrolling:touch;
}
@media (max-width: 720px){
  body[data-page="listing"] .distances-table{
    overflow-x:scroll;
    scrollbar-gutter:auto;
    padding-bottom:26px;
    scrollbar-width:none;
  }
  body[data-page="listing"] .distances-table::-webkit-scrollbar{height:0}
}
body[data-page="listing"] .distances-head,
body[data-page="listing"] .distances-row{
  display:grid;
  grid-template-columns:1.8fr .7fr .7fr .7fr .7fr;
  align-items:center;
  column-gap:10px;
  min-width:520px;
  padding:10px 0;
  border-bottom:1px solid rgba(15,23,32,.10);
  font-size:15px;
}
body[data-page="listing"] .distances-head{padding-top:0}
body[data-page="listing"] .distances-h{
  text-align:center;
  font-weight:950;
  color:rgba(15,23,32,.62);
  letter-spacing:.02em;
  white-space:nowrap;
}
body[data-page="listing"] .distances-k{
  color:rgba(15,23,32,.76);
  font-weight:750;
}
body[data-page="listing"] .distances-v{
  text-align:center;
  color:rgba(15,23,32,.86);
  font-weight:850;
}
@media (max-width: 980px){
  .listing-page{grid-template-columns:1fr}
  body[data-page="listing"] .listing-page{font-size:17px}
  body[data-page="listing"] .listing-title-row h2{font-size:24px}
  body[data-page="listing"] .listing-price{font-size:30px;padding:14px 16px}
  body[data-page="listing"] .kv-row{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
  body[data-page="listing"] .kv-v{
    text-align:left;
    width:100%;
  }
}
@media (max-width: 640px){
  body[data-page="listing"] main.section{
    padding-bottom:calc(44px + 120px + env(safe-area-inset-bottom));
  }
  body[data-page="listing"] .listing-title-row h2{font-size:23px}
  body[data-page="listing"] .listing-price{font-size:28px;padding:14px 14px}
  body[data-page="listing"] .listing-page .cta{
    flex-direction:column;
  }
  body[data-page="listing"] .listing-page .cta .btn{
    width:100%;
  }
}
@media (max-width: 420px){
  body[data-page="listing"] .listing-title-row h2{font-size:22px;line-height:1.13}
}

.listing-gallery .media{min-height:460px}
@media (max-width: 780px){
  .listing-gallery .media{min-height:280px}
}
@media (max-width: 640px){
  body[data-page="listing"] .listing-gallery .media{
    background:#eeece7;
    line-height:0;
  }
  body[data-page="listing"] .listing-gallery .media img{
    display:block;
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 50%;
    transform:translateZ(0);
    -webkit-transform:translateZ(0);
    z-index:0;
  }
  body[data-page="listing"][data-listing-id="JU-GLO-009"] .listing-gallery .media{
    min-height:0;
    aspect-ratio:1586 / 992;
  }
}

.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:46px 0 54px;
  overflow:hidden;
  border-bottom:0;
  color:#ffffff;
  background:transparent;
}
.hero-content{animation:hero-content-in .9s cubic-bezier(.2,.8,.2,1) .05s both}
@keyframes hero-content-in{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes hero-cta-in-left{
  from{opacity:0;transform:translateX(-70px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes hero-cta-in-right{
  from{opacity:0;transform:translateX(70px)}
  to{opacity:1;transform:translateX(0)}
}
.bns-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(15,23,32,.36);
  backdrop-filter:blur(10px);
  border-radius:12px;
  color:#fff;
  font-weight:700;
  font-size:14px;
  text-decoration:none;
}
.bns-pill:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.32);background:rgba(15,23,32,.44)}
.bns-pill .bns-k{opacity:.92;text-transform:uppercase;letter-spacing:.04em;font-size:12px}
.bns-pill .bns-v{font-weight:850}
.bns-pill .bns-d{opacity:.88}
.bns-pill .sep{opacity:.65}

.news-strip{
  position:relative;
  border:1px solid rgba(255,255,255,.52);
  border-radius:var(--radius);
  overflow:hidden;
  background:rgba(255,255,255,.56);
  backdrop-filter:blur(14px);
  box-shadow:0 24px 70px rgba(15,23,32,.10);
}
.news-strip::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg, rgba(11,42,58,.88), rgba(18,56,77,.92), rgba(11,42,58,.88));
  opacity:.55;
  pointer-events:none;
  z-index:2;
}
.news-strip::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(120% 120% at 0% 0%, rgba(200,161,74,.10), transparent 55%);
  pointer-events:none;
  z-index:1;
}
.news-track{
  display:flex;
  gap:14px;
  padding:14px;
  width:max-content;
  animation:news-marquee 34s linear infinite;
  position:relative;
  z-index:2;
}
.news-strip:hover .news-track,
.news-strip:focus-within .news-track{
  animation-play-state:paused;
}
.news-strip:active .news-track{
  animation-play-state:paused;
}
.news-card{
  display:block;
  width:min(420px, 86vw);
  border:1px solid rgba(255,255,255,.60);
  border-radius:18px;
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(12px);
  padding:14px 14px 16px;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
  text-decoration:none;
  color:inherit;
}
.news-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(90% 120% at 10% 0%, rgba(255,255,255,.65), transparent 55%);
  opacity:.75;
  pointer-events:none;
}
.news-card{
  position:relative;
}
.news-card:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(11,42,58,.16), 0 16px 44px rgba(15,23,32,.10);
  border-color:rgba(11,42,58,.22);
}
.news-card:hover{
  transform:translateY(-1px);
  border-color:rgba(200,161,74,.30);
  box-shadow:0 18px 54px rgba(15,23,32,.12);
}
.news-card:active{
  transform:translateY(-1px);
  border-color:rgba(200,161,74,.30);
  box-shadow:0 18px 54px rgba(15,23,32,.12);
}
.news-card .k{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.62);
  background:rgba(255,255,255,.70);
  font-size:12px;
  color:rgba(15,23,32,.62);
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase
}
.news-card .t{margin-top:8px;color:rgba(15,23,32,.86);font-size:14.5px;line-height:1.55;font-weight:650}
@keyframes news-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion: reduce){
  .news-track{animation:none}
}
@media (max-width: 780px){
  .news-strip{overflow:hidden}
  .news-track{width:max-content;animation:news-marquee 34s linear infinite}
}
.hero .hero-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;
  filter:saturate(1.08) contrast(1.02) brightness(.92);
  z-index:0;
  background:transparent;
  opacity:1;
  pointer-events:none;
  transition:none;
}
.hero .hero-poster{
  position:absolute;
  inset:0;
  z-index:1;
  background:url("../assets/MAISON FORET.png") center/cover no-repeat;
  opacity:0;
  pointer-events:none;
  transition:none;
}
.hero.video-ready .hero-video{opacity:1}
.hero.video-ready .hero-poster{opacity:0}
.hero .hero-video{display:block}
.hero.video-failed .hero-video{display:block !important}
.hero .hero-poster{display:none}
.hero .hero-video{
  -webkit-appearance:none;
  appearance:none;
}
.hero .hero-video::-webkit-media-controls{display:none !important}
.hero .hero-video::-webkit-media-controls-overlay-enclosure{display:none !important}
.hero .hero-video::-webkit-media-controls-enclosure{display:none !important}
.hero .hero-video::-webkit-media-controls-panel{display:none !important}
.hero .hero-video::-webkit-media-controls-play-button{display:none !important;opacity:0 !important}
.hero .hero-video::-webkit-media-controls-overlay-play-button{display:none !important;opacity:0 !important}
.hero .hero-video::-webkit-media-controls-start-playback-button{
  display:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:0 !important;
  height:0 !important;
}
.hero .hero-video::-webkit-media-controls-fullscreen-button{display:none !important}
.hero .hero-video::-webkit-media-controls-toggle-closed-captions-button{display:none !important}
.hero .hero-video::-webkit-media-controls-volume-slider{display:none !important}
.hero .hero-video[data-show-controls="1"]{
  pointer-events:auto;
}
.hero .hero-video[data-show-controls="1"]::-webkit-media-controls,
.hero .hero-video[data-show-controls="1"]::-webkit-media-controls-overlay-enclosure,
.hero .hero-video[data-show-controls="1"]::-webkit-media-controls-enclosure,
.hero .hero-video[data-show-controls="1"]::-webkit-media-controls-panel{
  display:flex !important;
  opacity:1 !important;
}
.hero .hero-video[data-show-controls="1"]::-webkit-media-controls-play-button,
.hero .hero-video[data-show-controls="1"]::-webkit-media-controls-overlay-play-button,
.hero .hero-video[data-show-controls="1"]::-webkit-media-controls-start-playback-button{
  display:block !important;
  opacity:1 !important;
  pointer-events:auto !important;
  width:auto !important;
  height:auto !important;
}
.hero .overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(7,11,16,.22), rgba(7,11,16,.58) 62%, rgba(7,11,16,.74));
  z-index:2;
}
.hero .pill,.hero .tag{
  background:rgba(15,23,32,.38);
  border-color:rgba(255,255,255,.18);
  color:rgba(255,255,255,.88);
}
.hero .tag{color:rgba(255,255,255,.82)}
.hero a{color:inherit}
.hero .panel{color:var(--text)}
.hero .panel .lead{color:rgba(15,23,32,.72)}
.hero .panel .pill{
  background:rgba(255,255,255,.78);
  border-color:var(--line);
  color:var(--text);
}
.hero .panel .tag{
  background:rgba(255,255,255,.85);
  border-color:var(--line);
  color:var(--muted);
}
.hero-content{
  position:relative;
  z-index:3;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
}
.hero h1{margin:0 0 14px;font-size:62px;line-height:1.06;letter-spacing:-0.02em;text-shadow:0 10px 30px rgba(0,0,0,.45)}
.hero p{margin:0 0 26px;max-width:720px;color:rgba(255,255,255,.90);font-size:19px;line-height:1.55;text-shadow:0 10px 24px rgba(0,0,0,.38)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hero-actions .btn.primary{
  background:linear-gradient(90deg, var(--accent), var(--accent2));
  color:#fff;
}
.hero-actions .hero-cta{
  gap:12px;
  padding:18px 26px;
  min-height:56px;
  min-width:min(420px, 92vw);
  border-radius:14px;
  letter-spacing:.01em;
  font-weight:900;
  border-color:rgba(255,255,255,.70);
}
.hero-actions .hero-cta .hero-cta-ico{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto}
.hero-actions .hero-cta .hero-cta-ico svg{width:22px;height:22px;display:block}
.hero-actions .hero-cta:hover{border-color:rgba(255,255,255,.86)}
.hero-secondary{
  border-color:rgba(255,255,255,.35);
  background:rgba(15,23,32,.30);
  color:#ffffff;
}
.hero-secondary:hover{
  border-color:rgba(255,255,255,.52);
  background:rgba(15,23,32,.40);
}

.page-hero{
  position:relative;
  min-height:52vh;
  display:flex;
  align-items:flex-end;
  padding:44px 0 30px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  color:#fff;
  background:#070b10;
}
.page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.02) contrast(1.03) brightness(.92)}
.page-hero-bg[autoplay]{filter:saturate(1.02) contrast(1.04) brightness(.80)}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(7,11,16,.26), rgba(7,11,16,.62) 64%, rgba(7,11,16,.76))}
.page-hero-content{position:relative;z-index:2}
.page-hero h1{margin:0 0 10px;font-size:40px;line-height:1.08;letter-spacing:-0.02em;text-shadow:0 10px 30px rgba(0,0,0,.45)}
.page-hero p{margin:0 0 18px;max-width:760px;color:rgba(255,255,255,.90);font-size:16.5px;line-height:1.55;text-shadow:0 10px 24px rgba(0,0,0,.38)}
.page-hero-content{text-align:left}
.page-hero-content h1{max-width:760px}
.hero-type{margin:0 0 18px;max-width:760px}
.hero-type-text{
  display:inline-block;
  font-size:20px;
  font-weight:600;
  letter-spacing:-0.01em;
  color:rgba(255,255,255,.92);
  text-shadow:0 10px 24px rgba(0,0,0,.38);
  clip-path:inset(0 100% 0 0);
  animation:heroReveal .55s cubic-bezier(.2,.9,.2,1) forwards;
}
@keyframes heroReveal{to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion: reduce){
  .hero-type-text{clip-path:none;animation:none}
  body[data-page="conseils"] .page-hero-content h1{clip-path:none;animation:none}
}

body[data-page="conseils"] .page-hero{align-items:flex-end}
body[data-page="conseils"] .page-hero-content{
  position:absolute;
  left:24px;
  right:24px;
  bottom:18px;
  margin:0;
  max-width:none;
}
body[data-page="conseils"] .page-hero-content h1{
  display:inline-block;
  font-size:44px;
  letter-spacing:-0.03em;
  line-height:1.03;
  clip-path:inset(0 100% 0 0);
  animation:conseilsType .62s steps(10, end) forwards;
}
body[data-page="conseils"] .hero-type-text{
  display:block;
  margin:8px 0 0;
  font-size:19px;
  color:rgba(255,255,255,.86);
}
@keyframes conseilsType{to{clip-path:inset(0 0 0 0)}}

@media (max-width: 720px){
  body[data-page="conseils"] .page-hero-content{
    left:16px;
    right:16px;
    bottom:22px;
  }
  body[data-page="conseils"] .page-hero-content h1{font-size:36px}
  body[data-page="conseils"] .hero-type-text{font-size:17px}
  body[data-page="conseils"] .page-hero{min-height:46vh}
  body[data-page="conseils"] .page-hero-bg{object-position:72% 32%}
}

@media (max-width: 640px){
  body[data-page="conseils"] .page-hero{min-height:44vh}
  body[data-page="conseils"] .page-hero-content{
    left:16px;
    right:16px;
    bottom:18px;
  }
  body[data-page="conseils"] .page-hero h1{font-size:36px}
  body[data-page="conseils"] .section{padding:34px 0}
  body[data-page="conseils"] .section h2{font-size:26px}
  body[data-page="conseils"] .advice-article{max-width:none}
  body[data-page="conseils"] .advice-sub{font-size:15.5px}
  body[data-page="conseils"] .advice-article h3{font-size:22px}
  body[data-page="conseils"] .advice-article p{font-size:15.5px;line-height:1.75}
  body[data-page="conseils"] .advice-article{padding-left:14px}
  body[data-page="conseils"] .advice-article{border-left-width:1px}
  body[data-page="conseils"] .advice-article::before{width:1px;left:-1px}
  body[data-page="conseils"] .advice-nav-inner{flex-wrap:nowrap;overflow:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  body[data-page="conseils"] .advice-nav-inner::-webkit-scrollbar{height:0}
}
@media (max-width: 420px){
  body[data-page="conseils"] .page-hero h1{font-size:32px}
  body[data-page="conseils"] .page-hero{min-height:40vh}
  body[data-page="conseils"] .page-hero-bg{object-position:72% 28%}
  body[data-page="conseils"] .section{padding:30px 0}
  body[data-page="conseils"] .section h2{font-size:24px}
  body[data-page="conseils"] .advice-article{padding-left:12px}
}

.advice-sub{color:rgba(15,23,32,.68);font-size:16px;line-height:1.6}
.advice-section .section-head h2{margin:0;font-family:var(--fontDisplay);letter-spacing:-0.02em}
.advice-section .section-head .advice-sub{margin:8px 0 0}
.advice-nav{padding:10px 0 0;background:transparent}
.advice-nav-inner{display:flex;gap:10px;flex-wrap:wrap}
.advice-chip{
  display:inline-flex;
  align-items:center;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(15,23,32,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88));
  color:rgba(7,17,28,.92);
  font-family:var(--fontDisplay);
  font-weight:850;
  letter-spacing:-0.015em;
  text-decoration:none;
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(15,23,32,.08), inset 0 1px 0 rgba(255,255,255,.75);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.advice-chip:hover{border-color:rgba(200,161,74,.34)}
.advice-chip.is-active{
  border-color:rgba(200,161,74,.48);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,251,245,.98));
  box-shadow:0 16px 40px rgba(15,23,32,.12);
}
.advice-chip::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.75) 18%, rgba(255,255,255,0) 36%);
  transform:translateX(-160%) skewX(-18deg);
  opacity:0;
  pointer-events:none;
}
.advice-chip:hover{transform:translateY(-1px);box-shadow:0 16px 42px rgba(15,23,32,.12)}
.advice-chip:hover::after{opacity:1;animation:adviceShine .9s cubic-bezier(.2,.9,.2,1) both}
.advice-chip.is-active::before{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:5px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(11,42,58,.65), rgba(200,161,74,.92), rgba(11,42,58,.35));
  opacity:.48;
}
@keyframes adviceShine{
  0%{transform:translateX(-160%) skewX(-18deg)}
  100%{transform:translateX(160%) skewX(-18deg)}
}
@media (prefers-reduced-motion: reduce){
  .advice-chip{transition:none}
  .advice-chip::after{display:none}
}
.advice-article{
  max-width:920px;
  margin-top:10px;
  padding-left:18px;
  border-left:2px solid rgba(200,161,74,.32);
  position:relative;
}
.advice-article::before{
  content:"";
  position:absolute;
  left:-2px;
  top:10px;
  bottom:10px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(200,161,74,.72), rgba(11,42,58,.18));
  opacity:.65;
}
.advice-article .lead{margin:0 0 12px;font-size:17px;line-height:1.75;color:rgba(7,17,28,.94)}
.advice-article h3{margin:18px 0 8px;font-family:var(--fontDisplay);font-size:24px;letter-spacing:-0.02em}
.advice-article p{margin:0 0 14px;font-size:16px;line-height:1.85;color:rgba(15,23,32,.72)}
.advice-article p:last-child{margin-bottom:0}
.advice-article a{
  font-weight:900;
  color:rgba(11,42,58,.92);
  text-decoration:none;
  background-image:linear-gradient(90deg, rgba(200,161,74,.92), rgba(11,42,58,.55));
  background-repeat:no-repeat;
  background-size:0 2px;
  background-position:0 100%;
  padding-bottom:2px;
  transition:background-size .18s ease, color .18s ease;
}
.advice-article a:hover{background-size:100% 2px;color:rgba(200,161,74,.98)}
@media (prefers-reduced-motion: reduce){
  .advice-article a{transition:none}
}

body[data-page="conseils"] .page-hero-bg{filter:saturate(1.06) contrast(1.10) brightness(1.04)}
body[data-page="conseils"] .page-hero-overlay{background:linear-gradient(180deg, rgba(7,11,16,.18), rgba(7,11,16,.54) 64%, rgba(7,11,16,.70))}
.advice-performance{
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(11,42,58,.08), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,246,243,.96));
  border-bottom:1px solid rgba(15,23,32,.08);
}
body[data-page="home"]{
  background:transparent;
  isolation:isolate;
}
body[data-page="home"]::before{
  content:"";
  position:fixed;
  left:0;
  top:-180px;
  width:100%;
  height:calc(100% + 360px);
  background:url("../assets/MAISON FORET.png");
  background-repeat:no-repeat;
  background-position:50% 44%;
  background-size:cover;
  opacity:.52;
  filter:saturate(1.08) contrast(1.12) brightness(1.06);
  transform:translate3d(0, var(--forest-shift, 0px), 0);
  will-change:transform;
  pointer-events:none;
  z-index:-2;
}
body[data-page="home"]::after{
  content:"";
  position:fixed;
  inset:0;
  background:rgba(247,246,243,.18);
  pointer-events:none;
  z-index:-1;
}
@media (max-width: 720px){
  body[data-page="home"]::before{
    opacity:.54;
    background-position:62% 44%;
    transform:translate3d(0, 0, 0);
    will-change:auto;
  }
  body[data-page="home"]::after{
    background:rgba(247,246,243,.22);
  }
}
@media (prefers-reduced-motion: reduce){
  body[data-page="home"]::before{transform:none}
}

body[data-page="conseils"]{
  background:transparent;
  isolation:isolate;
}
body[data-page="conseils"]::before{
  content:"";
  position:fixed;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background:url("../assets/photo conseils fond.png");
  background-repeat:no-repeat;
  background-position:50% 50%;
  background-size:cover;
  opacity:.68;
  filter:saturate(1.06) contrast(1.08) brightness(1.06);
  pointer-events:none;
  z-index:-2;
}
body[data-page="conseils"]::after{
  content:"";
  position:fixed;
  inset:0;
  background:rgba(247,246,243,.10);
  pointer-events:none;
  z-index:-1;
}
body[data-page="conseils"] .section.advice-block,
body[data-page="conseils"] .section.advice-cta{
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(1.02);
}
body[data-page="conseils"] .advice-tab,
body[data-page="conseils"] .advice-intro,
body[data-page="conseils"] .advice-step,
body[data-page="conseils"] .advice-cta-card,
body[data-page="conseils"] .advice-divider-line span{
  background:rgba(255,255,255,.98);
}
@media (max-width: 720px){
  body[data-page="conseils"]::before{
    opacity:.60;
    background-position:58% 52%;
  }
  body[data-page="conseils"]::after{
    background:rgba(247,246,243,.12);
  }
}

body[data-page="biens"],
body[data-page="listing"]{
  background:transparent;
  isolation:isolate;
}
body[data-page="biens"] header.topbar,
body[data-page="listing"] header.topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:300;
}
body[data-page="biens"] main,
body[data-page="listing"] main{
  position:relative;
  z-index:1;
}
body[data-page="biens"]::before,
body[data-page="listing"]::before{
  content:"";
  position:fixed;
  left:0;
  top:-180px;
  width:100%;
  height:calc(100% + 360px);
  background:url("../assets/MAISON FORET.png");
  background-repeat:no-repeat;
  background-position:50% 44%;
  background-size:cover;
  opacity:.52;
  filter:saturate(1.08) contrast(1.12) brightness(1.06);
  pointer-events:none;
  z-index:-2;
}
body[data-page="biens"]::after,
body[data-page="listing"]::after{
  content:"";
  position:fixed;
  inset:0;
  background:rgba(247,246,243,.18);
  pointer-events:none;
  z-index:-1;
}
@media (max-width: 720px){
  body[data-page="biens"]::before,
  body[data-page="listing"]::before{
    opacity:.54;
    background-position:62% 44%;
  }
  body[data-page="biens"]::after,
  body[data-page="listing"]::after{
    background:rgba(247,246,243,.22);
  }
}

@media (max-width: 720px){
  body[data-page="biens"] .catalog-hero-head{
    flex-direction:column;
    align-items:stretch;
  }
  body[data-page="biens"] .catalog-hero-total{
    width:min(100%, 360px);
    margin-left:auto;
    margin-right:auto;
    justify-content:space-between;
  }
  body[data-page="biens"] .catalog-hero-actions{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "search search"
      "sale rent";
    gap:10px;
    width:min(100%, 360px);
    margin-left:auto;
    margin-right:auto;
  }
  body[data-page="biens"] .catalog-hero-actions .btn{
    width:100%;
    justify-content:center;
    min-height:52px;
  }
  body[data-page="biens"] .catalog-action-search{grid-area:search}
  body[data-page="biens"] .catalog-action-sale{grid-area:sale}
  body[data-page="biens"] .catalog-action-rent{grid-area:rent}
}

body[data-page="biens"] #vendre,
body[data-page="biens"] #louer{
  scroll-margin-top:110px;
}
@media (max-width: 720px){
  body[data-page="biens"] #vendre,
  body[data-page="biens"] #louer{
    scroll-margin-top:92px;
  }
}

.pill.listing-pill{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  gap:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
}
.pill.listing-pill .listing-pill-sep{opacity:.65}
.pill.listing-pill .listing-pill-type{opacity:.85}
body[data-page="listing"] .pill.listing-pill{
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
body[data-page="listing"] .pill.listing-pill .listing-pill-main,
body[data-page="listing"] .pill.listing-pill .listing-pill-sub{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
body[data-page="listing"] .pill.listing-pill .listing-pill-sub{color:rgba(15,23,32,.78);font-size:13.5px}
body[data-page="listing"] .pill.listing-pill .listing-pill-state{font-weight:850}
.pill.listing-pill .listing-pill-main{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:nowrap;
}
.pill.listing-pill .listing-pill-dot{
  width:10px;
  height:10px;
  border-radius:999px;
}
.pill.listing-pill .listing-pill-status{
  letter-spacing:.02em;
}
body[data-page="listing"] .pill.listing-pill .listing-pill-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
body[data-page="listing"] .pill.listing-pill .listing-pill-status::before{
  content:"";
  width:10px;
  height:10px;
  flex:0 0 10px;
  background:linear-gradient(90deg, #c8a14a, #ff9f1c);
  border-radius:0;
  box-shadow:0 0 0 1px rgba(200,161,74,.18), 0 2px 6px rgba(200,161,74,.22);
}
.pill.listing-pill .listing-pill-sep{
  opacity:.65;
}
.pill.listing-pill .listing-pill-type{
  opacity:.85;
}
.pill.listing-pill .listing-pill-ref{
  opacity:.78;
  font-weight:800;
  letter-spacing:.12em;
  font-size:clamp(10px, 3.1vw, 12px);
  line-height:1.1;
  text-transform:uppercase;
  white-space:nowrap;
}
body[data-page="home"] .advice-performance{
  background:#fff;
  border-bottom:1px solid rgba(15,23,32,.08);
  position:relative;
  overflow:hidden;
}
body[data-page="home"] .advice-performance > .container{position:relative}
body[data-page="home"] .advice-performance > .container > *{position:relative;z-index:1}
body[data-page="home"] .advice-performance > .container::before{
  content:none;
}
@media (max-width: 980px){
  body[data-page="home"] .advice-performance > .container::before{
    content:none;
  }
}
@media (max-width: 640px){
  body[data-page="home"] .advice-performance > .container::before{
    content:none;
  }
}
.advice-performance-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.advice-performance-kicker-text{
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(15,23,32,.62);
}
.advice-performance-kicker .advice-hero-line{
  margin-top:0;
}
.advice-performance-head h2{
  margin:0;
  font-family:var(--fontText);
  font-size:52px;
  line-height:1.06;
  letter-spacing:-0.02em;
  font-weight:950;
  color:rgba(11,42,58,.95);
}
.advice-performance-head h2 span{color:rgba(200,161,74,.95)}
.advice-performance-head p{
  margin:12px 0 0;
  max-width:640px;
  color:rgba(15,23,32,.68);
  font-size:17px;
  line-height:1.5;
}
.advice-kpi{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:0;
  border:1px solid rgba(15,23,32,.10);
  border-radius:0;
  background:#fff;
  box-shadow:0 16px 46px rgba(15,23,32,.08);
  overflow:hidden;
}
.advice-kpi-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:24px 22px;
}
.advice-kpi-item:not(:last-child){border-right:1px solid rgba(15,23,32,.10)}
.advice-kpi-icon{
  width:54px;
  height:54px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(11,42,58,.96);
  color:#fff;
  flex:0 0 auto;
}
.advice-kpi-icon svg{width:25px;height:25px}
.advice-kpi-ring{
  position:relative;
  width:72px;
  height:72px;
  flex:0 0 auto;
}
.advice-kpi-ring .advice-kpi-svg{
  width:100%;
  height:100%;
  display:block;
  transform:rotate(-90deg);
}
.advice-kpi-ring .advice-kpi-bg{
  fill:none;
  stroke:rgba(11,42,58,.14);
  stroke-width:8;
}
.advice-kpi-ring .advice-kpi-fg{
  fill:none;
  stroke:rgba(11,42,58,.94);
  stroke-width:8;
  stroke-linecap:round;
  stroke-dasharray:264;
  stroke-dashoffset:264;
}
.advice-kpi-ring .advice-kpi-icon{
  position:absolute;
  inset:0;
  margin:auto;
  width:46px;
  height:46px;
}
.advice-kpi-value{font-size:48px;line-height:1;font-weight:950;letter-spacing:-0.03em;color:rgba(11,42,58,.94)}
.advice-kpi-label{margin-top:4px;font-size:20px;font-weight:850;color:rgba(15,23,32,.90)}
.advice-kpi-sub{margin-top:2px;font-size:14px;color:rgba(15,23,32,.56)}
.advice-map-cards{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
  background:#fff;
  border-radius:0;
  padding:18px;
}
.advice-map-card{
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:none;
  padding:0;
  position:relative;
  overflow:hidden;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.advice-map-card::after{
  display:none;
}
.advice-map-card > *{position:relative;z-index:1}
.advice-map-card{--mapAccent:rgba(47,90,115,.96);--mapAccentSoft:rgba(47,90,115,.12)}
.advice-map-card--jura{--mapAccent:rgba(47,90,115,.96);--mapAccentSoft:rgba(47,90,115,.12)}
.advice-map-card--jb{--mapAccent:rgba(47,90,115,.96);--mapAccentSoft:rgba(47,90,115,.12)}
.advice-map-layout{
  padding:24px 22px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr);
  gap:26px;
  align-items:center;
}
.advice-map-right{
  background:#fff;
  border-radius:14px;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.advice-map-left{min-width:0;display:flex;flex-direction:column}
.advice-map-icon{
  width:56px;height:56px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(47,90,115,.12);
  color:var(--mapAccent);
}
.advice-map-icon{display:none}
.advice-map-icon svg{width:24px;height:24px}
.advice-map-title{
  order:2;
  margin:12px 0 0;
  font-size:46px;
  letter-spacing:-0.03em;
  line-height:1.05;
  color:rgba(43,78,98,.96);
}
.advice-map-sector{
  order:1;
  margin-top:0;
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  color:rgba(11,42,58,.72);
}
.advice-map-sector-ico{
  width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.advice-map-sector-ico{display:none}
.advice-map-sector-ico svg{width:18px;height:18px}
.advice-map-sector-line{
  order:3;
  width:38px;
  height:2px;
  border-radius:999px;
  background:rgba(11,42,58,.86);
  margin:12px 0 0;
  opacity:.9;
}
.advice-map-lead{
  order:4;
  margin:14px 0 0;
  font-size:18px;
  line-height:1.65;
  color:rgba(57,90,112,.86);
}
.advice-map-note{
  order:5;
  margin-top:14px;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:0;
  border-radius:0;
  background:transparent;
  border:0;
  color:rgba(15,23,32,.82);
  line-height:1.55;
  font-size:15.5px;
}
.advice-map-note-ico{
  width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  border-radius:999px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(47,90,115,.22);
  color:rgba(11,42,58,.92);
  margin-top:0;
}
.advice-map-note-ico{display:none}
.advice-map-note-ico svg{width:18px;height:18px}
.advice-map-cta{
  order:6;
  margin-top:16px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 18px;
  border-radius:14px;
  border:0;
  background:rgba(11,42,58,.94);
  color:#ffffff;
  font-weight:900;
  box-shadow:none;
}
.advice-map-right img{
  width:100%;
  height:260px;
  object-fit:contain;
  display:block;
  image-rendering:auto;
}
.advice-map-bubble{
  position:absolute;
  top:auto;
  bottom:16px;
  left:50%;
  width:min(292px, 94%);
  box-sizing:border-box;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  border:1px solid rgba(47,90,115,.18);
  border-radius:14px;
  box-shadow:0 18px 44px rgba(15,23,32,.18);
  padding:13px 15px;
  opacity:0;
  transform:translate(-50%, 8px);
  transition:opacity .18s ease, transform .18s ease;
  pointer-events:none;
  backdrop-filter: blur(6px);
}
.advice-map-bubble::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  border-radius:14px 14px 0 0;
  background:linear-gradient(90deg, var(--mapAccent), rgba(47,90,115,.28));
  opacity:.95;
}
.advice-map-bubble::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:14px;
  height:14px;
  background:rgba(255,255,255,.94);
  border-right:1px solid rgba(47,90,115,.16);
  border-bottom:1px solid rgba(47,90,115,.16);
  transform:translate(-50%, -7px) rotate(45deg);
}
.advice-map-bubble-title{
  font-weight:950;
  letter-spacing:-0.01em;
  color:rgba(11,42,58,.94);
  font-size:17px;
  display:flex;
  align-items:center;
  gap:8px;
}
.advice-map-bubble-title::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--mapAccent);
  box-shadow:0 0 0 3px rgba(47,90,115,.12);
  flex:0 0 auto;
}
.advice-map-bubble-stats{
  margin-top:6px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:rgba(15,23,32,.78);
  font-size:13px;
}
.advice-map-bubble-stats > div{
  flex:1 1 140px;
  min-width:0;
  background:rgba(47,90,115,.08);
  border:1px solid rgba(47,90,115,.12);
  border-radius:12px;
  padding:6px 8px;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.advice-map-bubble-stats strong{font-weight:950;color:rgba(11,42,58,.94)}
.advice-map-bubble-services{
  margin-top:10px;
  width:100%;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(11,42,58,.78);
  background:rgba(47,90,115,.10);
  border:1px solid rgba(47,90,115,.14);
  border-radius:999px;
  padding:6px 10px;
  text-align:center;
  white-space:normal;
}
@media (hover: hover) and (pointer: fine){
  .advice-map-right:hover .advice-map-bubble{
    opacity:1;
    transform:translate(-50%, 0);
  }
}
.advice-map-right.is-bubble-on .advice-map-bubble{
  opacity:1;
  transform:translate(-50%, 0);
  pointer-events:auto;
}
.advice-map-right.is-bubble-peek .advice-map-bubble{
  opacity:1;
  transform:translate(-50%, 0);
}
@media (hover: none), (pointer: coarse){
  .advice-map-right{cursor:pointer}
}
@media (hover: hover) and (pointer: fine){
  .advice-map-card:hover{
    transform:translateY(-1px);
    box-shadow:none;
  }
  .advice-map-cta:hover{background:rgba(11,42,58,.98)}
}

.partners-panel{
  position:relative;
  width:100%;
  padding-left:18px;
  padding-right:18px;
  box-sizing:border-box;
}
.partners-grid{
  max-width:1480px;
  margin:0 auto;
}
@media (max-width: 640px){
  .partners-panel{padding-left:12px;padding-right:12px}
}
.advice-news-head{margin-top:18px}
.advice-news-head--row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.advice-news-head h3{
  margin:0;
  font-size:34px;
  letter-spacing:-0.02em;
  color:rgba(11,42,58,.94);
}
.advice-news-head p{
  margin:6px 0 0;
  color:rgba(15,23,32,.62);
  font-size:15px;
}
.advice-news-grid{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}
.advice-news-card{
  border:1px solid rgba(15,23,32,.10);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,32,.08);
  position:relative;
  display:block;
  text-decoration:none;
  color:inherit;
}
.advice-news-card img{width:100%;height:120px;object-fit:cover;display:block}
.advice-news-slide[aria-label="Conseils"] img{object-position:50% 8%}
.advice-news-tag{
  position:absolute;
  left:10px;
  top:8px;
  border-radius:999px;
  padding:4px 8px;
  background:rgba(11,42,58,.94);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.advice-news-copy{padding:10px 10px 12px}
.advice-news-copy h4{
  margin:0;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-0.02em;
  color:rgba(15,23,32,.92);
}
.advice-news-copy p{
  margin:5px 0 0;
  font-size:13px;
  color:rgba(15,23,32,.62);
}
.advice-news-slide .advice-news-copy h4{font-size:20px}
.advice-news-slide .advice-news-copy p{font-size:12px}
.advice-news-carousel{
  margin-top:10px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  position:relative;
}
.advice-news-carousel::before,
.advice-news-carousel::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:52px;
  pointer-events:none;
  z-index:2;
}
.advice-news-carousel::before{
  left:36px;
  background:linear-gradient(90deg, rgba(247,246,243,1), rgba(247,246,243,0));
}
.advice-news-carousel::after{
  right:36px;
  background:linear-gradient(270deg, rgba(247,246,243,1), rgba(247,246,243,0));
}
.advice-news-layout{
  margin-top:8px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:14px;
  align-items:stretch;
}
.advice-carousel-btn{
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(15,23,32,.12);
  background:#fff;
  color:rgba(15,23,32,.78);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.advice-news-track{
  display:flex;
  gap:14px;
  overflow-x:auto;
  scroll-snap-type:none;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding-bottom:0;
}
.advice-news-track::-webkit-scrollbar{display:none}
.advice-news-slide{
  min-width:290px;
  width:290px;
  flex:0 0 auto;
  cursor:pointer;
  transform:translateZ(0);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.advice-news-slide.is-active{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 44px rgba(15,23,32,.12);
}
.advice-news-track.is-paused .advice-news-slide{cursor:pointer}
.advice-news-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:14px;
}
.advice-side-card{
  border:1px solid rgba(15,23,32,.10);
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,32,.08);
  padding:16px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:120px;
  text-decoration:none;
  color:inherit;
  position:relative;
  overflow:hidden;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.advice-side-card::after{display:none}
.advice-side-k{font-size:13px;font-weight:850;color:rgba(15,23,32,.66)}
.advice-side-v{margin-top:2px;font-size:44px;font-weight:950;line-height:1;color:rgba(11,42,58,.95)}
.advice-side-snake{
  margin-top:8px;
}
.advice-side-snake svg{
  width:100%;
  height:20px;
  display:block;
}
.advice-side-cta{
  border-radius:12px;
  background:linear-gradient(100deg, rgba(11,42,58,.98), rgba(18,56,77,.98));
  color:#fff;
  box-shadow:0 16px 34px rgba(11,42,58,.26);
  padding:16px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:120px;
  text-decoration:none;
  color:#fff;
  position:relative;
  overflow:hidden;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.advice-side-cta::after{display:none}
.advice-side-cta-title{font-size:24px;font-weight:900;letter-spacing:-0.02em}
.advice-side-cta-sub{margin-top:4px;font-size:13px;color:rgba(255,255,255,.82)}
.advice-topic-links{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.advice-topic-chip{
  text-decoration:none;
  border:1px solid rgba(15,23,32,.13);
  background:#fff;
  color:rgba(15,23,32,.86);
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  line-height:1;
}
.advice-topic-chip:hover{border-color:rgba(11,42,58,.22);color:rgba(11,42,58,.96)}
@media (max-width: 980px){
  .advice-performance-head h2{font-size:48px}
  .advice-kpi{grid-template-columns:1fr}
  .advice-kpi-item:not(:last-child){
    border-right:0;
    border-bottom:1px solid rgba(15,23,32,.10);
  }
  .advice-map-cards{grid-template-columns:1fr}
  .advice-news-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .advice-side-card,.advice-side-cta{grid-column:auto}
  .advice-news-layout{grid-template-columns:1fr}
  .advice-news-side{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .advice-news-carousel{grid-template-columns:1fr}
  .advice-carousel-btn{display:none}
  .advice-news-slide{min-width:270px;width:270px}
}
@media (max-width: 640px){
  .advice-performance-head h2{font-size:34px}
  .advice-performance-head p{font-size:16px}
  .advice-kpi-item{padding:18px 14px}
  .advice-kpi-ring{width:62px;height:62px}
  .advice-kpi-ring .advice-kpi-icon{width:40px;height:40px}
  .advice-kpi-ring .advice-kpi-icon svg{width:20px;height:20px}
  .advice-kpi-value{font-size:32px}
  .advice-kpi-label{font-size:17px}
  .advice-kpi-sub{font-size:13px}
  .advice-map-layout{grid-template-columns:1fr;padding:18px 16px;gap:16px}
  .advice-map-title{font-size:34px}
  .advice-map-lead{font-size:16px}
  .advice-map-right img{height:220px}
  .advice-news-head h3{font-size:26px}
  .advice-news-grid{grid-template-columns:1fr}
  .advice-news-card img{height:150px}
  .advice-news-side{grid-template-columns:1fr}
  .advice-news-slide{min-width:240px;width:240px}
}
.advice-hero-line{
  display:block;
  width:58px;
  height:3px;
  border-radius:999px;
  margin-top:12px;
  background:linear-gradient(90deg, var(--adviceWarm), var(--adviceWarm2));
  opacity:.9;
}
.advice-block{
  --adviceIconColor:rgba(11,42,58,.88);
  --adviceIconBg:linear-gradient(135deg, rgba(200,161,74,.10), rgba(255,255,255,.32));
  --adviceIconBorder:rgba(200,161,74,.18);
  --adviceWarm:rgba(200,161,74,.72);
  --adviceWarm2:rgba(173,130,52,.72);
}
.advice-tabs{margin-top:14px;position:relative;z-index:4}
.advice-tabs-inner{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;max-width:620px;margin:0 auto}
.advice-tab{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  border-radius:999px;
  border:1px solid rgba(15,23,32,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,248,242,.94));
  box-shadow:0 10px 26px rgba(15,23,32,.06);
  text-decoration:none;
  min-width:260px;
  transform-origin:center;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
  position:relative;
  overflow:hidden;
}
.advice-tab::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 18%, rgba(255,255,255,0) 36%);
  transform:translateX(-160%) skewX(-18deg);
  opacity:0;
  pointer-events:none;
}
.advice-tab:focus-visible{outline:3px solid rgba(11,42,58,.18);outline-offset:2px}
@media (hover: hover) and (pointer: fine){
  .advice-tab:hover{
    transform:translateY(-1px) scale(1.035);
    border-color:rgba(11,42,58,.20);
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,246,243,.94));
    box-shadow:0 16px 40px rgba(15,23,32,.10);
  }
  .advice-tab:hover::after{opacity:1;animation:adviceShine .9s cubic-bezier(.2,.9,.2,1) both}
  .advice-tab:hover .advice-tab-ico{transform:scale(1.06)}
  .advice-tab:hover .advice-tab-title{color:rgba(15,23,32,.96)}
  .advice-tab:active{transform:translateY(0) scale(1.02)}
}
.advice-tab-ico{
  width:44px;
  height:44px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--adviceIconBg);
  color:var(--adviceIconColor);
  border:1px solid var(--adviceIconBorder);
  transition:transform .2s ease;
}
.advice-tab-ico svg{width:20px;height:20px;display:block}
.advice-tab-text{display:flex;flex-direction:column;gap:2px}
.advice-tab-title{font-family:var(--fontDisplay);font-weight:900;letter-spacing:-0.02em;color:rgba(15,23,32,.92);font-size:18px}
.advice-tab-sub{color:rgba(15,23,32,.66);font-size:13.5px;line-height:1.2}
.advice-block{padding-top:32px}
.advice-head h2{margin:0;font-family:var(--fontDisplay);letter-spacing:-0.02em}
.advice-head .advice-sub{margin:8px 0 0}
.advice-intro{
  margin-top:18px;
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px 18px;
  border-radius:18px;
  border:1px solid rgba(15,23,32,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,248,242,.94));
  box-shadow:0 10px 26px rgba(15,23,32,.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.advice-intro-ico{
  width:46px;
  height:46px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--adviceIconBg);
  border:1px solid var(--adviceIconBorder);
  color:var(--adviceIconColor);
  flex:0 0 auto;
}
.advice-intro-ico svg{width:22px;height:22px;display:block}
.advice-intro-title{font-family:var(--fontDisplay);font-size:22px;letter-spacing:-0.02em;font-weight:900;color:rgba(15,23,32,.92)}
.advice-intro-desc{margin-top:6px;color:rgba(15,23,32,.70);font-size:15.5px;line-height:1.65}
.advice-steps-head{margin-top:22px}
.advice-steps-title{margin:0;font-family:var(--fontDisplay);font-size:24px;letter-spacing:-0.02em}
.advice-steps-sub{margin:8px 0 0;color:rgba(15,23,32,.68);font-size:15.5px;line-height:1.6}
.advice-steps-grid{margin-top:18px;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:22px}
.advice-step{
  padding:22px 22px 18px;
  border-radius:18px;
  border:1px solid rgba(15,23,32,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,248,242,.93));
  box-shadow:0 10px 26px rgba(15,23,32,.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
  display:flex;
  flex-direction:column;
}
.advice-step::after{
  display:none;
}
.advice-step-top{display:flex;gap:14px;align-items:flex-start}
.advice-step-top-text{display:grid;gap:12px}
.advice-step-ico{
  width:46px;
  height:46px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--adviceIconBg);
  border:1px solid var(--adviceIconBorder);
  color:var(--adviceIconColor);
  flex:0 0 auto;
}
.advice-step-ico-btn{
  border:1px solid var(--adviceIconBorder);
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.advice-step-ico svg{width:22px;height:22px;display:block}
.advice-step-k{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(15,23,32,.62);
  background:rgba(200,161,74,.16);
  border:1px solid rgba(200,161,74,.22);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.advice-step-k::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--adviceWarm), var(--adviceWarm2));
  opacity:.18;
  transition:width .38s ease;
  z-index:-1;
}
.advice-step h4{margin:0;font-size:18px;letter-spacing:-0.015em;line-height:1.18;color:rgba(15,23,32,.92)}
.advice-calc-trigger{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(11,42,58,.72);
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.02em;
  text-align:left;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-color:rgba(200,161,74,.55);
  text-underline-offset:2px;
}
.advice-calc-trigger--corner{
  position:absolute;
  right:14px;
  bottom:14px;
  text-decoration:none;
  border:1px solid rgba(200,161,74,.26);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,248,242,.96));
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(15,23,32,.74);
  box-shadow:0 10px 22px rgba(15,23,32,.08);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.advice-step{position:relative}
.advice-step .advice-calc{margin-bottom:10px}
.advice-step ul{
  margin:12px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:1fr;
  column-gap:0;
  row-gap:10px;
  flex:1 1 auto;
}
.advice-step-cta{
  margin-top:18px;
  width:100%;
  min-height:56px;
  padding:12px 64px;
  border-radius:14px;
  border:1px solid rgba(15,23,32,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,248,242,.98));
  box-shadow:0 14px 34px rgba(15,23,32,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  cursor:pointer;
  color:rgba(11,42,58,.92);
  position:relative;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.advice-step-cta:focus{outline:none}
.advice-step-cta:focus-visible{box-shadow:0 0 0 3px rgba(11,42,58,.18), 0 14px 34px rgba(15,23,32,.08)}
.advice-step-cta-ico{
  position:absolute;
  left:14px;
  width:36px;
  height:36px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(200,161,74,.26);
  background:rgba(200,161,74,.10);
  color:rgba(11,42,58,.92);
}
.advice-step-cta-ico svg{width:20px;height:20px;display:block}
.advice-step-cta-text{
  font-family:var(--fontDisplay);
  font-size:16px;
  font-weight:900;
  letter-spacing:-0.01em;
  color:rgba(11,42,58,.92);
}
.advice-step-cta-arrow{
  position:absolute;
  right:14px;
  width:36px;
  height:36px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.70);
  color:rgba(11,42,58,.90);
}
.advice-step-cta-arrow svg{width:18px;height:18px;display:block}
.advice-calc{
  margin-top:10px;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(200,161,74,.26);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,248,242,.96));
}
.advice-calc-shell{display:grid;gap:10px}
.advice-calc-display input{
  width:100%;
  height:46px;
  border-radius:12px;
  border:1px solid rgba(15,23,32,.12);
  background:#fff;
  padding:0 12px;
  font-size:18px;
  font-weight:900;
  letter-spacing:-0.01em;
  color:rgba(15,23,32,.90);
  text-align:right;
}
.advice-calc-keys{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
}
.advice-calc-keys .k{
  height:40px;
  border-radius:12px;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.96);
  color:rgba(15,23,32,.86);
  font-weight:900;
  cursor:pointer;
}
.advice-calc-keys .k.op{
  background:linear-gradient(180deg, rgba(250,248,242,.96), rgba(255,255,255,.92));
  border-color:rgba(200,161,74,.26);
  color:rgba(15,23,32,.84);
}
.advice-calc-keys .k.util{
  background:rgba(250,248,242,.86);
  border-color:rgba(15,23,32,.10);
  color:rgba(15,23,32,.78);
}
.advice-calc-keys .k.eq{
  background:linear-gradient(90deg, var(--adviceWarm), var(--adviceWarm2));
  color:#fff;
  border-color:transparent;
}
.advice-calc-keys .k:active{transform:translateY(1px)}
.advice-calc-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.advice-calc label{
  display:grid;
  gap:6px;
  font-size:12px;
  font-weight:800;
  color:rgba(15,23,32,.68);
}
.advice-calc input{
  width:100%;
  height:40px;
  border-radius:10px;
  border:1px solid rgba(15,23,32,.12);
  background:#fff;
  padding:0 10px;
  color:rgba(15,23,32,.88);
}
.advice-calc-out{
  margin-top:10px;
  font-size:13px;
  color:rgba(15,23,32,.72);
}
.advice-calc-out strong{color:rgba(11,42,58,.92)}
.advice-calc-note{
  margin-top:8px;
  font-size:12.5px;
  line-height:1.55;
  color:rgba(15,23,32,.62);
}
.advice-step li{position:relative;padding-left:20px;color:rgba(15,23,32,.74);font-size:15px;line-height:1.55}
.advice-step li::before{
  content:"";
  position:absolute;
  left:0;
  top:7.5px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--adviceWarm), var(--adviceWarm2));
  opacity:.9;
}
.advice-step.is-last{
  grid-column:auto;
  max-width:none;
  justify-self:auto;
}
@media (hover: hover) and (pointer: fine){
  .advice-intro:hover{
    transform:translateY(-1px);
    border-color:rgba(200,161,74,.28);
    box-shadow:0 14px 34px rgba(15,23,32,.09);
  }
  .advice-intro:hover .advice-intro-ico{
    background:linear-gradient(135deg, rgba(255,225,142,.55), rgba(200,161,74,.30));
    border-color:rgba(200,161,74,.50);
    color:rgba(184,129,28,.98);
    box-shadow:0 0 0 6px rgba(200,161,74,.10), 0 8px 22px rgba(200,161,74,.24);
  }
  .advice-step:hover{
    transform:translateY(-2px);
    border-color:rgba(200,161,74,.24);
    background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(253,250,244,.96));
    box-shadow:0 16px 40px rgba(15,23,32,.10);
  }
  .advice-step-cta:hover{
    transform:translateY(-1px);
    border-color:rgba(200,161,74,.28);
    box-shadow:0 18px 44px rgba(15,23,32,.10);
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(253,250,244,.99));
  }
  .advice-step-ico-btn:hover{
    transform:translateY(-1px) scale(1.03);
    border-color:rgba(200,161,74,.50);
    box-shadow:0 8px 20px rgba(200,161,74,.22);
  }
  .advice-calc-trigger--corner:hover{
    transform:translateY(-1px);
    border-color:rgba(200,161,74,.40);
    box-shadow:0 12px 28px rgba(15,23,32,.09);
  }
  .advice-step:hover .advice-step-k::before{
    width:100%;
  }
}
@media (hover: none) and (pointer: coarse){
  body[data-page="conseils"] .advice-intro.is-touch .advice-intro-ico{
    background:linear-gradient(135deg, rgba(255,225,142,.55), rgba(200,161,74,.30));
    border-color:rgba(200,161,74,.50);
    color:rgba(184,129,28,.98);
    box-shadow:0 0 0 6px rgba(200,161,74,.10), 0 8px 22px rgba(200,161,74,.24);
  }
  body[data-page="conseils"] .advice-step.is-touch{
    border-color:rgba(200,161,74,.24);
    background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(253,250,244,.96));
    box-shadow:0 16px 40px rgba(15,23,32,.10);
  }
  body[data-page="conseils"] .advice-step.is-touch .advice-step-k::before{width:100%}
  body[data-page="conseils"] .advice-step-ico-btn:active{
    border-color:rgba(200,161,74,.50);
    box-shadow:0 8px 20px rgba(200,161,74,.22);
  }
}
@media (max-width: 980px){
  .advice-step.is-last{max-width:none}
  .advice-steps-grid{grid-template-columns:1fr}
  .advice-calc-grid{grid-template-columns:1fr}
}
@media (min-width: 981px){
  .advice-steps-grid > :last-child:nth-child(odd){
    grid-column:1 / -1;
    justify-self:center;
    width:100%;
    max-width:calc(50% - 11px);
  }
  .advice-step li{white-space:nowrap}
}
@media (max-width: 720px){
  .advice-step ul{grid-template-columns:1fr}
  .advice-step-cta-text{font-size:15.5px}
}
@media (max-width: 640px){
  .advice-tab{min-width:0;width:100%}
  .advice-tabs{margin-top:12px}
}

.advice-cta{padding-top:8px}
.advice-cta-card{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:stretch;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(15,23,32,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,248,242,.94));
  box-shadow:0 14px 36px rgba(15,23,32,.08);
}
.advice-divider{padding:10px 0 2px}
.advice-divider-line{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:24px;
}
.advice-divider-line::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:linear-gradient(90deg, rgba(200,161,74,0), rgba(200,161,74,.45), rgba(200,161,74,0));
}
.advice-divider-line span{
  position:relative;
  z-index:1;
  padding:0 12px;
  background:#faf8f2;
  color:rgba(15,23,32,.58);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.advice-cta-copy{
  padding:26px 26px 24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.advice-cta-k{
  margin:0 0 8px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(15,23,32,.62);
}
.advice-cta h3{
  margin:0 0 10px;
  font-family:var(--fontDisplay);
  font-size:40px;
  line-height:1.03;
  letter-spacing:-0.02em;
  color:rgba(15,23,32,.94);
}
.advice-cta p{
  margin:0;
  color:rgba(15,23,32,.72);
  line-height:1.65;
  max-width:46ch;
}
.advice-cta-actions{
  margin-top:16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.advice-cta-media{min-height:240px}
.advice-cta-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media (max-width: 980px){
  .advice-cta-card{grid-template-columns:1fr}
  .advice-cta-media{min-height:220px}
}
@media (max-width: 640px){
  .advice-cta h3{font-size:34px}
  .advice-cta-copy{padding:22px 18px 20px}
  .advice-cta-actions .btn{width:100%}
}

.contact-hero{
  padding:64px 0 42px;
  min-height:520px;
  border-bottom:0;
  background:url("../assets/photo contact haut.png") 78% 50% / cover no-repeat;
  backdrop-filter:blur(10px);
  position:relative;
}
.contact-hero::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-1px;
  transform:translateX(-50%);
  width:100%;
  height:96px;
  background:
    linear-gradient(90deg, rgba(200,161,74,.80), rgba(11,42,58,.70)) 50% 0 / min(180px, calc(100% - 48px)) 1px no-repeat,
    linear-gradient(180deg, rgba(247,246,243,0) 0%, rgba(247,246,243,.62) 100%) 0 0 / 100% 96px no-repeat;
  opacity:1;
  pointer-events:none;
}
.contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.90) 42%, rgba(255,255,255,.62) 58%, rgba(255,255,255,0) 76%),
    linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 40%);
  pointer-events:none;
}
.contact-hero > .container{position:relative;z-index:1}
.contact-hero-grid{
  display:block;
}
.contact-hero-copy{
  max-width:720px;
  border:0;
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
  padding:0;
}
.contact-hero-k{
  font-size:12px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(15,23,32,.62);
}
.contact-hero-title{
  margin:10px 0 0;
  font-family:var(--fontDisplay);
  font-size:56px;
  line-height:1.03;
  letter-spacing:-0.03em;
  color:rgba(7,17,28,.96);
}
.contact-hero-lead{
  margin:14px 0 0;
  max-width:720px;
  color:rgba(15,23,32,.72);
  font-size:16.5px;
  line-height:1.6;
}
.contact-hero-sub{
  margin:10px 0 0;
  max-width:760px;
  color:rgba(15,23,32,.68);
  font-size:15.5px;
  line-height:1.7;
}
.contact-hero-actions{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}
.contact-hero-actions .btn:hover{box-shadow:0 14px 34px rgba(15,23,32,.10)}
.contact-hero-visual{
  border-radius:22px;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 70px rgba(15,23,32,.10);
  overflow:hidden;
}
.contact-hero-visual img{display:block;width:100%;height:420px;object-fit:cover;object-position:50% 50%;transform:none;filter:saturate(1.02) contrast(1.06) brightness(1.01)}
body[data-page="contact"] .contact-hero-visual{display:none}

.contact-who{padding:48px 0 34px;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);position:relative;overflow:hidden}
body[data-page="contact"] .contact-team-showcase{
  padding-top:36px;
  padding-bottom:28px;
  border-bottom:0;
  background:transparent;
  backdrop-filter:none;
}
body[data-page="contact"] .contact-who + .contact-team-showcase{
  padding-top:0;
  margin-top:0;
}
body[data-page="contact"] .contact-who + .contact-team-showcase .panel{margin-top:0}
body[data-page="contact"] .contact-who{
  padding:24px 0 16px;
  background:transparent;
  backdrop-filter:none;
}
@media (min-width: 721px){
  body[data-page="contact"] .contact-team-showcase{
    padding-bottom:0;
  }
  body[data-page="contact"] .contact-who{padding-top:18px}
}
@media (max-width: 720px){
  body[data-page="contact"] .contact-team-showcase{padding-top:28px}
}
body[data-page="contact"] .contact-who::before{
  display:none;
}
body[data-page="contact"] .contact-who .container{
  position:relative;
  z-index:1;
}
@media (max-width: 720px){
  body[data-page="contact"] .contact-who::before{
    right:-220px;
    bottom:-160px;
    width:min(920px, 110vw);
    height:min(520px, 60vw);
    opacity:.18;
  }
}

body[data-page="contact"]{
  background:transparent;
  isolation:isolate;
}
body[data-page="contact"] main,
body[data-page="contact"] footer{
  position:relative;
}
body[data-page="contact"] header.topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
}
body[data-page="contact"] header{z-index:90}
body[data-page="contact"] main{z-index:1}
body[data-page="contact"] footer{z-index:20}
body[data-page="contact"] .panel{
  border:1px solid rgba(15,23,32,.10);
  background:#ffffff;
  box-shadow:0 18px 60px rgba(15,23,32,.08);
}
body[data-page="contact"]::before{
  content:"";
  position:fixed;
  left:0;
  top:-180px;
  width:100%;
  height:calc(100% + 360px);
  background:url("../assets/MAISON FORET.png");
  background-repeat:no-repeat;
  background-position:50% 44%;
  background-size:cover;
  opacity:.22;
  filter:saturate(.95) contrast(1.02) brightness(1.03);
  transform:scale(1.08);
  transform-origin:50% 50%;
  pointer-events:none;
  z-index:0;
}
body[data-page="contact"]::after{
  content:"";
  position:fixed;
  inset:0;
  background:rgba(247,246,243,.14);
  pointer-events:none;
  z-index:0;
}
@media (max-width: 720px){
  body[data-page="contact"]::before{
    opacity:.20;
    background-position:62% 44%;
  }
  body[data-page="contact"]::after{
    background:rgba(247,246,243,.16);
  }
  body[data-page="contact"] .contact-who-frame{border-radius:0;border:0;background:transparent;box-shadow:none;padding:0}
}

body[data-page="contact"] .contact-who-k{
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(15,23,32,.62);
  margin:0 0 6px;
}
body[data-page="contact"] .contact-who-title{font-size:28px;line-height:1.15;letter-spacing:-0.015em}
@media (max-width: 720px){
  body[data-page="contact"] .contact-who-title{font-size:28px}
}
.contact-who-title{
  margin:10px 0 0;
  font-family:var(--fontDisplay);
  font-size:56px;
  line-height:1.03;
  letter-spacing:-0.03em;
  color:rgba(7,17,28,.96);
  position:relative;
  display:inline-block;
}
.contact-who-frame{
  border-radius:0;
  border:0;
  background:#ffffff;
  box-shadow:none;
  padding:26px 26px 24px;
}
body[data-page="contact"] .contact-who-frame{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  background:transparent;
  text-align:left;
}
@media (max-width: 720px){
  body[data-page="contact"] .contact-who-frame{text-align:left}
  body[data-page="contact"] .contact-who-title{margin:0;display:block}
}

body[data-page="contact"] .contact-who-title{margin:0;display:block}

body[data-page="legal"],
body[data-page="privacy"]{
  background:rgba(230,230,230,1);
}
body[data-page="legal"] main.section,
body[data-page="privacy"] main.section{
  padding:74px 0 64px;
}
body[data-page="legal"] .panel,
body[data-page="privacy"] .panel{
  background:#ffffff;
  border:1px solid rgba(15,23,32,.10);
  border-radius:18px;
  box-shadow:0 22px 70px rgba(15,23,32,.10);
}
body[data-page="legal"] .panel .inner,
body[data-page="privacy"] .panel .inner{
  padding:34px 38px;
}
.legal-prose{
  max-width:980px;
}
.legal-prose h1{
  margin:0 0 12px;
  font-family:var(--fontDisplay);
  font-size:40px;
  line-height:1.06;
  letter-spacing:-0.03em;
  color:rgba(7,17,28,.96);
}
.legal-prose .lead{
  margin:8px 0 0;
  color:rgba(15,23,32,.68);
  font-size:14.5px;
  line-height:1.6;
}
.legal-prose h2{
  margin:22px 0 10px;
  font-size:17px;
  font-weight:950;
  letter-spacing:-0.01em;
  color:rgba(15,23,32,.92);
  padding-top:14px;
  border-top:1px solid rgba(15,23,32,.10);
}
.legal-prose h1 + h2{margin-top:18px}
.legal-prose h2:first-of-type{
  padding-top:0;
  border-top:0;
}
.legal-prose p,
.legal-prose li{
  color:rgba(15,23,32,.72);
  font-size:15px;
  line-height:1.72;
}
.legal-prose p{margin:0 0 16px}
.legal-prose ul{margin:10px 0 14px 18px;padding:0}
.legal-prose a{color:rgba(11,42,58,.92);text-decoration:underline;text-underline-offset:3px}
.legal-prose a:hover{text-decoration-thickness:2px}
@media (max-width: 720px){
  .legal-prose h1{font-size:28px}
  .legal-prose h2{font-size:16px}
  .legal-prose p,
  .legal-prose li{font-size:14.5px}
  body[data-page="legal"] main.section,
  body[data-page="privacy"] main.section{padding:56px 0 46px}
  body[data-page="legal"] .panel .inner,
  body[data-page="privacy"] .panel .inner{padding:22px 18px}
}
.contact-who-frame .contact-who-text{margin-top:18px}
.contact-who-frame .contact-who-title{margin-top:0}
.contact-who-cards-wrap{
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
  padding-left:max(22px, env(safe-area-inset-left));
  padding-right:max(22px, env(safe-area-inset-right));
  text-align:center;
}
.contact-who-cards-grid{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:0;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(15,23,32,.10);
  box-shadow:0 22px 70px rgba(15,23,32,.10);
}
.contact-who-card{
  min-height:240px;
  border-radius:0;
  border:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,1), rgba(252,250,245,1));
  padding:18px 20px 20px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.contact-who-card + .contact-who-card{
  border-left:1px solid rgba(15,23,32,.08);
}
@media (min-width: 981px){
  body[data-page="contact"] .contact-who.contact-who-cards .container{
    max-width:none;
    padding-left:0;
    padding-right:0;
  }
  body[data-page="contact"] .contact-who-cards-wrap{
    max-width:none;
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
  }
  body[data-page="contact"] .contact-who-cards-grid{
    border-radius:0;
    border-left:0;
    border-right:0;
    width:100%;
  }
}
.contact-who-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:16px;
  background:
    linear-gradient(90deg, rgba(15,23,32,.10), rgba(15,23,32,.00));
  opacity:.75;
}
.contact-who-card::after{
  content:"";
  position:absolute;
  right:-1px;
  top:0;
  bottom:0;
  width:12px;
  background:
    linear-gradient(90deg, rgba(15,23,32,0), rgba(15,23,32,.06));
  opacity:.65;
  pointer-events:none;
}
.contact-who-card h3{
  margin:0 0 10px;
  font-family:var(--fontDisplay);
  font-size:18px;
  letter-spacing:-0.015em;
  color:rgba(15,23,32,.94);
}
.contact-who-card h3::after{
  content:"";
  display:block;
  width:44px;
  height:2px;
  border-radius:999px;
  margin:10px auto 0;
  background:rgba(15,23,32,.92);
  opacity:.65;
}
.contact-who-card p{
  margin:0;
  color:rgba(15,23,32,.72);
  font-size:15px;
  line-height:1.65;
  max-width:34ch;
}
@media (max-width: 980px){
  .contact-who-cards-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .contact-who-card + .contact-who-card{border-left:0}
  .contact-who-card:nth-child(2n){border-left:1px solid rgba(15,23,32,.08)}
  .contact-who-card:nth-child(n+3){border-top:1px solid rgba(15,23,32,.08)}
}
@media (max-width: 640px){
  .contact-who-cards-wrap{padding-left:18px;padding-right:18px;text-align:left}
  .contact-who-cards-grid{grid-template-columns:1fr}
  .contact-who-card + .contact-who-card{border-left:0;border-top:1px solid rgba(15,23,32,.08)}
  .contact-who-card:nth-child(2n){border-left:0}
}
.contact-who-title::after{display:none}
.contact-who-text{margin-top:20px;max-width:920px}
body[data-page="contact"] .contact-who-text{
  margin-left:0;
  margin-right:0;
  max-width:none;
  padding:18px 18px 16px;
  border-radius:14px;
  border:1px solid rgba(15,23,32,.10);
  background:transparent;
  box-shadow:none;
  text-align:left;
  text-justify:auto;
  hyphens:none;
  -webkit-hyphens:none;
  overflow-wrap:normal;
  word-break:normal;
}

body[data-page="contact"] .contact-who-frame.reveal{
  opacity:0;
  transform:translateX(-56px);
  will-change:transform, opacity;
  transition:opacity 1.15s ease, transform 1.15s cubic-bezier(.2,.9,.2,1);
}
body[data-page="contact"] .contact-who-frame.reveal.is-visible{opacity:1;transform:none}
@media (max-width: 720px){
  body[data-page="contact"] .contact-who-text{padding:0;border-radius:0;border:0}
  body[data-page="contact"] .contact-who-frame.reveal .contact-who-text{opacity:1;transform:none;transition:none}
}
.contact-who-text p{
  margin:0 0 14px;
  color:rgba(15,23,32,.72);
  font-size:16.5px;
  line-height:1.75;
}
.contact-who-text p:last-child{margin-bottom:0}
.contact-values{margin-top:18px}
.contact-values-k{font-size:12px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:rgba(15,23,32,.62)}
.contact-values-list{
  margin:12px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 18px;
}
.contact-values-list li{
  position:relative;
  padding:10px 12px 10px 18px;
  border-radius:14px;
  border:1px solid rgba(15,23,32,.10);
  background:transparent;
  box-shadow:none;
  color:rgba(15,23,32,.72);
  font-weight:800;
  line-height:1.35;
  overflow:hidden;
  clip-path:none;
  transition:transform .18s ease, border-color .18s ease;
}
.contact-values-list li.values-slide{opacity:0;transform:translateX(-18px)}
.contact-values-list li.values-slide.is-visible{
  animation:valuesSlideIn .95s cubic-bezier(.2,.9,.2,1) both;
  animation-delay:var(--values-delay, 0ms);
}
@keyframes valuesSlideIn{
  from{opacity:0;transform:translateX(-18px)}
  to{opacity:1;transform:none}
}
.contact-values.reveal .contact-values-list li{clip-path:inset(0 100% 0 0);opacity:0}
.contact-values-list li::before{
  content:"";
  position:absolute;
  left:10px;
  top:50%;
  width:6px;
  height:6px;
  border-radius:999px;
  transform:translateY(-50%);
  background:linear-gradient(180deg, rgba(11,42,58,.92), rgba(200,161,74,.92));
  box-shadow:0 10px 22px rgba(15,23,32,.12);
}
.contact-values-list li:hover{
  transform:translateY(-1px);
  border-color:rgba(200,161,74,.26);
}
.contact-values.reveal.is-visible .contact-values-list li{
  animation:valueTypeIn .7s cubic-bezier(.2,.9,.2,1) both;
}
.contact-values.reveal.is-visible .contact-values-list li:nth-child(2){animation-delay:.08s}
.contact-values.reveal.is-visible .contact-values-list li:nth-child(3){animation-delay:.16s}
.contact-values.reveal.is-visible .contact-values-list li:nth-child(4){animation-delay:.24s}
@keyframes valueTypeIn{
  0%{clip-path:inset(0 100% 0 0);opacity:0;transform:translateY(8px);filter:blur(6px)}
  70%{opacity:1;transform:translateY(-1px);filter:blur(0)}
  100%{clip-path:inset(0 0 0 0);opacity:1;transform:none;filter:blur(0)}
}
@media (prefers-reduced-motion: reduce){
  .contact-values-list li{clip-path:none;transition:none}
  .contact-values.reveal.is-visible .contact-values-list li{animation:none}
}
.value-item{
  border-radius:18px;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.70);
  box-shadow:0 16px 44px rgba(15,23,32,.06);
  padding:14px 14px 12px;
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.value-item::before{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(11,42,58,.55), rgba(200,161,74,.85), rgba(11,42,58,.35));
  opacity:.35;
}
.value-item::after{
  content:"";
  position:absolute;
  inset:-30%;
  background:radial-gradient(closest-side, rgba(200,161,74,.14), transparent 62%);
  filter:blur(14px);
  opacity:.45;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .25s ease, transform .25s ease;
}
.value-item:hover{
  transform:translateY(-2px);
  border-color:rgba(200,161,74,.28);
  box-shadow:0 22px 60px rgba(15,23,32,.09);
}
.value-item:hover::after{opacity:.75;transform:translateY(0)}
.value-title{
  font-family:var(--fontDisplay);
  font-weight:850;
  letter-spacing:-0.02em;
  color:rgba(7,17,28,.96);
  font-size:20px;
  line-height:1.15;
  position:relative;
  z-index:1;
}
.value-desc{
  margin-top:8px;
  color:rgba(15,23,32,.68);
  font-size:14.5px;
  line-height:1.45;
  font-weight:750;
  position:relative;
  z-index:1;
}
.contact-values.reveal .value-item{opacity:0}
.contact-values.reveal.is-visible .value-item{animation:valueIn .75s cubic-bezier(.2,.9,.2,1) both}
.contact-values.reveal.is-visible .value-item:nth-child(2){animation-delay:.06s}
.contact-values.reveal.is-visible .value-item:nth-child(3){animation-delay:.12s}
.contact-values.reveal.is-visible .value-item:nth-child(4){animation-delay:.18s}
@keyframes valueIn{
  0%{opacity:0;transform:translateY(12px);filter:blur(8px)}
  70%{opacity:1;transform:translateY(-1px);filter:blur(0)}
  100%{opacity:1;transform:none;filter:blur(0)}
}

.contact-team{margin:18px 0}
.contact-team-card{
  display:block;
  padding:26px max(22px, env(safe-area-inset-right)) 26px max(22px, env(safe-area-inset-left));
  border-radius:0;
  border:0;
  background:#ffffff;
  box-shadow:none;
  position:relative;
  overflow:hidden;
}
.contact-team-card::before{display:none}
body[data-page="contact"] .contact-team-card{
  width:100%;
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}
.contact-team-photo{
  --team-photo:234px;
  width:var(--team-photo);
  height:var(--team-photo);
  border-radius:14px;
  overflow:hidden;
  background:#ffffff;
  border:0;
  flex:0 0 auto;
  position:relative;
  transition:transform .18s ease, border-color .18s ease;
  transform-origin:center;
}
.contact-team-photo:hover{
  transform:scale(1.06);
}
.contact-team-photo:active{transform:scale(1.03)}
.contact-team-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 8%;
  position:relative;
  z-index:1;
  display:block;
  background:#ffffff;
  border-radius:14px;
  image-rendering:auto;
  filter:none;
  transform:none;
}
.contact-team-media{
  position:relative;
  width:var(--team-photo);
  flex:0 0 auto;
}
.contact-team-badge-row{
  position:absolute;
  left:0;
  top:auto;
  bottom:0;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg, rgba(11,42,58,.96), rgba(7,17,28,.90));
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  color:rgba(255,255,255,.96);
  font-size:12px;
  font-weight:900;
  letter-spacing:.01em;
  z-index:2;
}
.contact-team-badge-row-ico{
  width:21px;
  height:21px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.10);
  color:rgba(200,161,74,.95);
  flex:0 0 auto;
}
.contact-team-badge-row-ico svg{width:15px;height:15px;display:block}
.contact-team-photo-badge{
  position:absolute;
  left:0;
  top:auto;
  bottom:0;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg, rgba(11,42,58,.96), rgba(7,17,28,.90));
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  color:rgba(255,255,255,.96);
  font-size:12px;
  font-weight:900;
  letter-spacing:.01em;
  z-index:2;
}
.contact-team-photo-badge-ico{
  width:21px;
  height:21px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.10);
  color:rgba(200,161,74,.95);
  flex:0 0 auto;
}
.contact-team-photo-badge-ico svg{width:15px;height:15px;display:block}
.contact-team-photo-tag{
  display:none;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:10px 12px;
  border-radius:0;
  border:0;
  background:#ffffff;
  position:relative;
  z-index:2;
  font-size:12px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(11,42,58,.92);
  box-shadow:none;
}
.contact-team-copy{min-width:0}
.contact-team-k{font-size:12px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:rgba(15,23,32,.62)}
.contact-team-name{margin-top:10px;font-weight:950;letter-spacing:-0.02em;font-size:26px;color:rgba(7,17,28,.96)}
.contact-team-role{margin-top:6px;color:rgba(15,23,32,.72);font-weight:800}
.contact-team-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.contact-team-main{display:flex;align-items:flex-start;gap:28px}
.contact-team-left{display:flex;align-items:flex-start;gap:18px;flex:1;min-width:0}
.contact-team-copy{min-width:0;max-width:340px;padding-top:6px}
.contact-team-divider{width:1px;align-self:stretch;background:rgba(200,161,74,.26)}
.contact-team-highlights{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:0;flex:1;min-width:0;align-items:start}
.contact-team-highlight{padding:8px 16px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;min-width:0}
.contact-team-highlight + .contact-team-highlight{border-left:1px solid rgba(200,161,74,.22)}
.contact-team-highlight .ico{
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  color:rgba(11,42,58,.92);
}
.contact-team-highlight .ico{display:none}
.contact-team-highlight .ico svg{width:28px;height:28px;display:block}
.contact-team-highlight .ico img{width:100%;height:100%;object-fit:contain;display:block}
.contact-team-highlight .k{font-weight:950;color:rgba(11,42,58,.92);font-size:13.5px;line-height:1.25}
.contact-team-highlight .v{color:rgba(15,23,32,.62);font-size:13px;line-height:1.5}
.contact-team-showcase.reveal .contact-team-highlight .v{
  opacity:0;
  transform:translateY(10px);
  filter:blur(8px);
  transition:opacity .55s ease, transform .9s cubic-bezier(.2,.8,.2,1), filter .9s cubic-bezier(.2,.8,.2,1);
}
.contact-team-showcase.reveal.is-visible .contact-team-highlight .v{opacity:1;transform:none;filter:blur(0)}
.contact-team-showcase.reveal.is-visible .contact-team-highlight:nth-child(1) .v{transition-delay:.26s}
.contact-team-showcase.reveal.is-visible .contact-team-highlight:nth-child(2) .v{transition-delay:.34s}
.contact-team-showcase.reveal.is-visible .contact-team-highlight:nth-child(3) .v{transition-delay:.42s}
.contact-team-sep{width:48px;height:3px;border-radius:999px;background:linear-gradient(90deg, var(--accent), var(--accent2));margin:12px 0;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.contact-team-showcase.reveal.is-visible .contact-team-sep{transform:scaleX(1)}
.contact-team-card .contact-team-actions{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;align-items:stretch;margin-top:22px}
.contact-team-card .contact-team-actions .btn{width:100%;justify-content:center}
@media (max-width: 980px){
  .contact-hero-title{font-size:44px}
  .contact-hero-visual img{height:360px}
  .contact-who-title{font-size:44px}
  .contact-team-main{flex-direction:column;align-items:stretch}
  .contact-team-main{flex-direction:column;align-items:stretch}
  .contact-team-left{flex-direction:column;align-items:flex-start}
  .contact-team-divider{display:none}
  .contact-team-highlights{grid-template-columns:repeat(3, minmax(0, 1fr));border-top:1px solid rgba(200,161,74,.22);padding-top:14px}
  .contact-team-highlight{min-width:0;padding:10px 12px}
  .contact-team-photo{--team-photo:200px;width:var(--team-photo);height:var(--team-photo)}
}

@media (min-width: 721px){
  body[data-page="contact"] #equipe > .container{
    max-width:none;
    padding-left:0;
    padding-right:0;
  }
  body[data-page="contact"] #equipe .contact-team-card{
    max-width:none;
    margin-left:0;
    margin-right:0;
  }
  body[data-page="contact"] #equipe .contact-team-main{align-items:center}
  body[data-page="contact"] #equipe .contact-team-highlights{
    align-self:center;
    justify-items:center;
  }
  body[data-page="contact"] #equipe .contact-team-highlight{
    align-items:center;
    text-align:center;
  }
}
@media (max-width: 720px){
  .contact-team-showcase.reveal .contact-team-highlight .v{opacity:1;transform:none;filter:none;transition:none}
  .contact-team-left{align-items:center}
  .contact-team-photo{align-self:center;height:auto;overflow:hidden;background:#ffffff;border-radius:14px;--team-photo:234px}
  .contact-team-media{width:var(--team-photo);max-width:100%;display:flex;flex-direction:column;align-items:center}
  .contact-team-copy{width:100%;text-align:center}
  .contact-team-k{display:none}
  .contact-team-photo-tag{display:flex}
  .contact-team-photo img{height:var(--team-photo);border-radius:14px}
  .contact-team-photo-badge{left:0;top:auto;bottom:0;padding:8px 10px;font-size:11.5px}
  .contact-team-badge-row{
    position:static;
    width:100%;
    justify-content:center;
    margin-top:12px;
    border-radius:12px;
  }
  .contact-team-badge-row.team-badge-slide{opacity:0;transform:translateX(-18px)}
  .contact-team-badge-row.team-badge-slide.is-visible{
    animation:teamBadgeIn .95s cubic-bezier(.2,.9,.2,1) both;
  }
  @keyframes teamBadgeIn{
    from{opacity:0;transform:translateX(-18px)}
    to{opacity:1;transform:none}
  }
  .contact-team-name{margin-top:18px}
  .contact-team-sep{margin-left:auto;margin-right:auto}
  .contact-team-showcase .team-proof{display:flex;justify-content:center}
  .contact-team-showcase .team-proof-item{justify-content:center;gap:10px}
  .contact-team-showcase .team-proof-ico{
    width:28px;
    height:28px;
    border-radius:999px;
    border:1px solid rgba(15,23,32,.14);
    background:rgba(255,255,255,.70);
    box-shadow:0 10px 24px rgba(15,23,32,.08);
  }
  .contact-team-showcase .team-proof-ico svg{width:16px;height:16px}
  .contact-team-highlights{grid-template-columns:1fr;border-top:0;padding-top:0}
  .contact-team-highlight + .contact-team-highlight{border-left:0;border-top:1px solid rgba(15,23,32,.10)}
  .contact-hero{
    padding:34px 0 24px;
    min-height:unset;
    background:transparent;
    backdrop-filter:none;
    position:relative;
  }
  .contact-hero::before{display:none}
  .contact-hero::after{display:none}
  .contact-hero-grid{
    display:flex;
    flex-direction:column;
    background:#ffffff;
    background-clip:content-box;
    border:0;
    box-shadow:none;
    overflow:hidden;
  }
  body[data-page="contact"] .contact-hero-visual{display:block;order:-1;border:0;border-radius:0;box-shadow:none;background:transparent;position:relative}
  body[data-page="contact"] .contact-hero-visual::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,0) 40%, rgba(255,255,255,.55) 78%, rgba(255,255,255,1) 100%);
    pointer-events:none;
  }
  .contact-hero-visual img{height:220px;border-radius:0}
  .contact-hero-copy{padding:18px;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
  .contact-hero-title{font-size:32px}
  .contact-hero-actions{width:100%;flex-wrap:wrap;overflow:visible}
  .contact-hero-actions .btn{width:100%;white-space:normal;flex:1 1 100%}      
  .contact-who{padding:30px 0 22px}
  .contact-who-title{font-size:28px}
  .contact-who-title::after{width:110px}
  .contact-who-text p{font-size:15.5px;line-height:1.7}
  .contact-values-section{padding:30px 0 22px}
  .contact-values-list{gap:10px}
  .contact-values-list{grid-template-columns:1fr}
  .value-title{font-size:19px}
  #contact .footer-grid{
    grid-auto-flow:row;
    grid-auto-columns:initial;
    grid-template-columns:1fr;
    overflow:visible;
    -webkit-overflow-scrolling:auto;
    scroll-snap-type:none;
    padding-bottom:0;
  }
  #contact .footer-grid::-webkit-scrollbar{height:0}
  #contact .footer-grid > .panel{scroll-snap-align:unset}
  .contact-team-showcase .team-showcase{flex-direction:column;align-items:stretch;gap:8px}
  .contact-team-showcase .team-info{flex:1}
  .contact-team-showcase .team-photo{max-width:100%;margin-left:0;margin-right:0;margin-top:-8px}
  .contact-team-showcase .team-name{font-size:26px}
  .contact-team-showcase .team-contact{flex-wrap:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}
  .contact-team-showcase .team-contact .btn{white-space:nowrap;flex:0 0 auto}
  .contact-team-showcase .team-contact::-webkit-scrollbar{height:0}
  .contact-team-card .contact-team-actions{grid-template-columns:1fr}
  .contact-team-highlights{grid-template-columns:1fr;justify-items:center}
  .contact-team-highlight{align-items:center;text-align:center}
  .contact-team-highlight + .contact-team-highlight{border-left:0;border-top:1px solid rgba(15,23,32,.10)}
}

@media (max-width: 720px){
  #actus .actus-actions{
    flex-wrap:wrap !important;
    overflow:visible;
    -webkit-overflow-scrolling:auto;
  }
}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.about-showcase{
  position:relative;
  border:1px solid rgba(15,23,32,.06);
  border-radius:24px;
  padding:26px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(140% 140% at 0% -10%, rgba(200,161,74,.22), transparent 42%),
    radial-gradient(120% 130% at 100% 110%, rgba(11,42,58,.18), transparent 52%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(252,248,240,.93));
  box-shadow:
    0 24px 70px rgba(15,23,32,.10),
    inset 0 1px 0 rgba(255,255,255,.88);
}
.about-showcase::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(120% 120% at 50% 50%, rgba(255,255,255,0) 58%, rgba(255,255,255,.65) 100%);
  opacity:.14;
  z-index:1;
  pointer-events:none;
}
.about-showcase > :not(.about-showcase-bg){position:relative;z-index:2}
.about-showcase-bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.about-showcase-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,.52) 45%, rgba(255,255,255,.34) 100%),
    linear-gradient(90deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.24) 55%, rgba(255,255,255,.52) 100%);
}
.about-showcase-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.52;
  filter:contrast(1.22) saturate(1.06);
  transform:none;
  backface-visibility:hidden;
  will-change:transform;
}
.about-showcase-video--mirror{
  inset:auto 0 0 0;
  height:68%;
  top:auto;
  transform:scaleY(-1) translateY(10px);
  opacity:.38;
  filter:contrast(1.16) saturate(1.04) brightness(.92) blur(.25px);
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.88) 0%, rgba(0,0,0,0) 72%);
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.88) 0%, rgba(0,0,0,0) 72%);
}
.about-showcase-head h2{
  margin:0;
  font-size:34px;
  letter-spacing:-0.02em;
  line-height:1.06;
  color:rgba(7,17,28,.98);
}
.about-copy{
  margin-top:14px;
  display:grid;
  gap:8px;
  max-width:920px;
}
.about-copy p{
  margin:0;
  color:rgba(15,23,32,.78);
  line-height:1.7;
  font-weight:520;
}
.about-top-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}
.about-block{
  border:1px solid rgba(15,23,32,.10);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.90));
  padding:18px;
  box-shadow:0 16px 40px rgba(15,23,32,.07);
}
.about-block h3{
  margin:0;
  font-size:22px;
  letter-spacing:-0.015em;
  color:rgba(7,17,28,.98);
}
.about-block p{
  margin:10px 0 0;
  color:rgba(15,23,32,.76);
  line-height:1.62;
}
.about-team-row{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.about-team-link{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:230px;
  flex:1 1 280px;
}
.about-avatar{
  width:50px;
  height:50px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(200,161,74,.34), rgba(11,42,58,.16));
  border:1px solid rgba(15,23,32,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.about-name{
  font-weight:850;
  letter-spacing:-0.01em;
  color:rgba(7,17,28,.95);
}
.about-team-link .fine{
  font-size:14.5px;
  line-height:1.6;
  color:rgba(15,23,32,.76);
}
.about-contact-btn{
  min-width:320px;
  height:48px;
  padding:0 20px;
  border-radius:12px;
}
.about-services-wrap{
  margin-top:20px;
}
.about-services-head{
  margin:0 0 10px;
}
.about-services-head h3{
  margin:0;
  font-size:28px;
  letter-spacing:-0.015em;
  color:rgba(7,17,28,.98);
}
.about-services-grid{
  gap:16px;
}
.home-services-grid{position:relative}
@media (min-width: 781px){
  .home-services-grid::before{
    content:"";
    position:absolute;
    top:12px;
    bottom:12px;
    left:50%;
    width:1px;
    background:rgba(15,23,32,.10);
    transform:translateX(-0.5px);
    pointer-events:none;
  }
}
.team-inline{border-radius:22px;border:1px solid rgba(15,23,32,.10);background:rgba(255,255,255,.86);box-shadow:0 18px 54px rgba(15,23,32,.08);padding:18px 18px 16px;position:relative;overflow:hidden}
.team-inline::before{content:"";position:absolute;inset:-40% -25% auto -25%;height:280px;background:radial-gradient(closest-side, rgba(200,161,74,.16), transparent 60%),radial-gradient(closest-side, rgba(11,42,58,.10), transparent 58%);filter:blur(18px);opacity:.85;pointer-events:none}
.team-inline::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg, rgba(15,23,32,.03) 0 7px, rgba(255,255,255,0) 7px 16px);opacity:.18;pointer-events:none}
.team-inline-head{position:relative;z-index:1;text-align:center}
.team-inline-title{font-family:var(--fontDisplay);font-size:34px;letter-spacing:-0.02em;color:rgba(7,17,28,.96)}
.team-inline-sub{margin-top:6px;color:rgba(15,23,32,.70);font-size:14.5px}
.team-inline-cta{margin-top:14px;display:flex;justify-content:center}
.team-inline-cta .btn{min-width:240px}
.team-inline-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px;margin-top:16px}
.team-member{border-radius:18px;border:1px solid rgba(15,23,32,.10);background:rgba(255,255,255,.92);box-shadow:0 14px 38px rgba(15,23,32,.06);padding:16px 14px 14px;text-align:center}
.team-member-photo{width:116px;height:116px;border-radius:999px;margin:0 auto 12px;background:radial-gradient(120% 140% at 20% 10%, rgba(255,255,255,.98), rgba(255,255,255,.56) 55%, rgba(255,255,255,.34) 100%),linear-gradient(135deg, rgba(200,161,74,.18), rgba(11,42,58,.10));border:1px solid rgba(15,23,32,.12);box-shadow:0 18px 46px rgba(15,23,32,.10);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.team-member-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.02) contrast(1.02)}
.team-member-initials{position:relative;z-index:1;width:74px;height:74px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:950;letter-spacing:.02em;color:rgba(11,42,58,.92);background:rgba(255,255,255,.78);border:1px solid rgba(15,23,32,.10)}
.team-member-name{font-weight:950;letter-spacing:-0.02em;color:rgba(7,17,28,.96)}
.team-member-role{margin-top:6px;font-size:12px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;color:rgba(200,161,74,1)}
.team-member-actions{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:10px}
.team-member-ico{width:36px;height:36px;border-radius:999px;border:1px solid rgba(15,23,32,.12);background:rgba(255,255,255,.86);display:flex;align-items:center;justify-content:center;color:rgba(11,42,58,.78);text-decoration:none;transition:transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease}
.team-member-ico svg{width:18px;height:18px}
.team-member-ico:hover{transform:translateY(-2px);border-color:rgba(200,161,74,.40);color:rgba(200,161,74,1)}
@media (max-width: 920px){.team-inline-grid{grid-template-columns:1fr;gap:14px}.team-inline-title{font-size:30px}}
.about-service-card{
  border:1px solid rgba(255,255,255,.48);
  box-shadow:
    0 18px 46px rgba(15,23,32,.08),
    inset 0 1px 0 rgba(255,255,255,.72);
}
.about-service-card .body h3{
  font-size:22px;
  color:rgba(7,17,28,.98);
}
.about-service-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:6px;
}
.about-service-head h3{
  margin:0;
}
.about-service-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.56);
  background:
    radial-gradient(120% 140% at 20% 10%, rgba(255,255,255,.98), rgba(255,255,255,.52) 55%, rgba(255,255,255,.30) 100%),
    linear-gradient(135deg, rgba(200,161,74,.12), rgba(255,45,109,.08));
  box-shadow:
    0 14px 34px rgba(15,23,32,.10),
    0 0 0 1px rgba(200,161,74,.12),
    inset 0 1px 0 rgba(255,255,255,.84);
  color:rgba(11,42,58,.92);
  backdrop-filter:blur(10px);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.about-service-icon::after{
  content:"";
  position:absolute;
  inset:-14px;
  background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.52), transparent 55%);
  opacity:.55;
  transform:rotate(12deg);
  pointer-events:none;
}
.about-service-icon svg{
  width:22px;
  height:22px;
  filter:drop-shadow(0 8px 16px rgba(15,23,32,.14));
}
.about-service-card .body .desc{
  font-size:14.5px;
  line-height:1.6;
  color:rgba(15,23,32,.76);
}
.values{display:grid;gap:10px;margin-top:14px}
.value{border:1px solid var(--line);border-radius:var(--radiusSm);background:rgba(255,255,255,.92);padding:12px}
.value .k{font-weight:800;letter-spacing:-0.01em}
.value .d{margin-top:6px;color:rgba(15,23,32,.70);font-size:13.5px;line-height:1.5}
.team-showcase{display:flex;flex-direction:column;gap:20px;height:100%}
.team-info{display:flex;flex-direction:column;gap:8px;height:100%}
.team-name{font-size:24px;margin:0;font-weight:800;letter-spacing:-0.02em;color:rgba(15,23,32,.92)}
.team-role{font-size:14px;color:rgba(200,161,74,1);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.team-desc{color:rgba(15,23,32,.78);line-height:1.6;margin:4px 0 0}
.team-contact{margin-top:auto;padding-top:20px}
.team-card{display:flex;align-items:center;gap:12px;margin-top:12px}
.team-card .avatar{width:46px;height:46px;border-radius:999px;background:linear-gradient(135deg, rgba(200,161,74,.35), rgba(11,42,58,.14));border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:800}
.team-card .name{font-weight:800;letter-spacing:-0.01em}
.team-photo{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.team-photo img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;object-position:top}
@media (min-width: 768px) {
  .team-showcase {flex-direction:row;align-items:center;gap:30px}
  .team-info {flex:1}
  .team-photo {flex:1;margin-top:0}
}

.contact-team-showcase .team-role{
  text-transform:none;
  letter-spacing:.08em;
  font-weight:900;
  color:rgba(15,23,32,.92);
}
.contact-team-showcase .team-badge{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(200,161,74,.34);
  background:rgba(200,161,74,.10);
  color:rgba(11,42,58,.92);
  font-size:12px;
  font-weight:850;
}
.contact-team-showcase .team-name{font-size:30px}
.contact-team-showcase .team-photo{
  border-radius:var(--radius);
  aspect-ratio:6/5;
  max-width:420px;
  margin-left:0;
  margin-right:0;
  background:rgba(255,255,255,.40);
  border:1px solid rgba(255,255,255,.70);
  position:relative;
  overflow:hidden;
  box-shadow:0 16px 40px rgba(15,23,32,.10);
}
.contact-team-showcase .team-photo::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(200,161,74,.28);
  pointer-events:none;
}
.contact-team-showcase .team-photo img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center top;
  transform:none;
}
@media (min-width: 768px){
  .contact-team-showcase .team-showcase{gap:14px;align-items:flex-end}
  .contact-team-showcase .team-photo{max-width:340px}
}
.contact-team-showcase .team-photo{
  transition:transform .22s ease, box-shadow .22s ease;
}
.contact-team-showcase .team-showcase:hover .team-photo{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,32,.14);
}
.contact-team-showcase .team-proof{
  margin-top:12px;
  color:rgba(15,23,32,.66);
  font-size:13.5px;
  font-weight:700;
  letter-spacing:.01em;
}
.contact-team-showcase .team-proof-item{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.contact-team-showcase .team-proof-ico{
  width:20px;height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(15,23,32,.66);
}
.contact-team-showcase .team-proof-ico svg{width:20px;height:20px}
body[data-page="contact"] .contact-team-showcase .team-proof-ico{color:rgba(11,42,58,.92)}
body[data-page="contact"] .contact-team-showcase .team-proof-ico svg.clock-ico .clock-face{stroke:rgba(15,23,32,.52)}
body[data-page="contact"] .contact-team-showcase .team-proof-ico svg.clock-ico .clock-hand{stroke:rgba(11,42,58,.96)}
.contact-team-showcase .team-contact{display:flex;gap:10px;flex-wrap:wrap}
.contact-team-showcase .team-panel{
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.contact-team-showcase .team-panel .inner{padding:0}

.quick-search{padding-top:24px}
body[data-page="home"] .quick-search{padding-top:0}
body[data-page="home"] .quick-search .is24-search{margin-top:0}
@media (max-width: 980px){
  body[data-page="home"] .quick-search .is24-search{margin-left:-22px;margin-right:-22px;width:calc(100% + 44px)}
}
@media (max-width: 720px){
  body[data-page="home"] .quick-search .is24-search{margin-left:-18px;margin-right:-18px;width:calc(100% + 36px)}
}
.area-strip{padding:16px 0 6px}
.area-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:18px;align-items:center}
.area-card{
  margin:0;
  border-radius:0;
  border:0;
  background:transparent;
  box-shadow:none;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.area-img{
  width:min(100%, 520px);
  height:auto;
  max-height:220px;
  object-fit:contain;
  display:block;
  margin:0 auto;
  transition:transform .18s ease, filter .18s ease;
}
.area-img--map{
  width:min(100%, 320px);
  max-height:220px;
  image-rendering:auto;
  image-rendering:-webkit-optimize-contrast;
  backface-visibility:hidden;
}
.area-card{position:relative}
@media (hover: hover) and (pointer: fine){
  .area-card:hover .area-img{
    transform:scale(1.03);
    filter:contrast(1.06) saturate(1.45) drop-shadow(0 18px 26px rgba(255,45,40,.18));
  }
}
@media (hover: none) and (pointer: coarse){
  .area-card:active .area-img{
    transform:scale(1.03);
    filter:contrast(1.06) saturate(1.45) drop-shadow(0 18px 26px rgba(255,45,40,.18));
  }
}
.area-img--map{transform:scale(.98);opacity:0;transform-origin:50% 55%;will-change:transform, opacity}
.area-img--map.is-inview{opacity:1;transform:none;animation:areaMapIn .85s cubic-bezier(.2,.9,.2,1) both}
@keyframes areaMapIn{
  0%{opacity:0;transform:scale(.98)}
  65%{opacity:1;transform:scale(1.02)}
  100%{opacity:1;transform:none}
}
@media (prefers-reduced-motion: reduce){
  .area-img--map{opacity:1;transform:none;animation:none}
}
@media (max-width: 720px){
  .area-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}
  .area-img{max-height:180px}
}
@media (max-width: 420px){
  .area-img{max-height:150px}
}
.quick-search .panel{margin-top:0}

body[data-page="dossier"] .dossier-head{display:grid;gap:12px}
body[data-page="dossier"] .dossier-head-text{display:flex;flex-direction:column;gap:10px}
body[data-page="dossier"] .dossier-title{
  margin:0;
  font-size:44px;
  line-height:1.05;
  letter-spacing:-.02em;
}
body[data-page="dossier"] .dossier-lead{
  margin:0;
  max-width:68ch;
}
body[data-page="dossier"]{overflow-x:hidden}
body[data-page="dossier"] .dossier-hero{margin-top:14px}
body[data-page="dossier"] .dossier-hero .media{aspect-ratio:3/1}
body[data-page="dossier"] .dossier-stack{margin-top:16px;gap:16px}
body[data-page="dossier"] .dossier-pills{gap:12px}
body[data-page="dossier"] .dossier-panel .inner{display:flex;flex-direction:column;gap:14px}
body[data-page="dossier"] .dossier-panel h2{margin:0}
body[data-page="dossier"] .dossier-panel h3{margin:0}
body[data-page="dossier"] .dossier-form .fine{margin:0}
body[data-page="dossier"] .dossier-form h2 + .fine{margin-top:-6px}
body[data-page="dossier"] .dossier-checklist{
  margin-top:16px;
  margin-bottom:12px;
  padding:16px;
  border:1px solid rgba(15,23,32,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
  box-shadow:0 18px 50px rgba(15,23,32,.10);
  grid-column:1 / -1;
}
body[data-page="dossier"] .dossier-checklist-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
body[data-page="dossier"] .dossier-checklist-title{
  margin:0;
  font-size:18px;
  font-weight:950;
  letter-spacing:-.01em;
  color:rgba(15,23,32,.92);
}
body[data-page="dossier"] .dossier-checklist-copy{
  font-size:12.5px;
  font-weight:900;
  letter-spacing:.01em;
  padding:10px 12px;
}
body[data-page="dossier"] .dossier-checklist-copy .btn-ico{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
body[data-page="dossier"] .dossier-checklist-copy .btn-ico svg{width:18px;height:18px}
body[data-page="dossier"] .dossier-checklist-note{margin:10px 0 12px}
body[data-page="dossier"] .dossier-checklist-list{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
body[data-page="dossier"] .dossier-checklist-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(15,23,32,.12);
  background:rgba(255,255,255,.92);
  color:rgba(15,23,32,.82);
  font-weight:850;
  line-height:1.25;
}
body[data-page="dossier"] .dossier-checklist-left,
body[data-page="dossier"] .dossier-checklist-right{
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(11,42,58,.14);
  background:rgba(11,42,58,.06);
  color:rgba(11,42,58,.90);
  flex:0 0 auto;
}
body[data-page="dossier"] .dossier-checklist-left svg{width:18px;height:18px}
body[data-page="dossier"] .dossier-checklist-right{
  background:rgba(200,161,74,.14);
  border-color:rgba(200,161,74,.22);
  color:rgba(11,42,58,.92);
}
body[data-page="dossier"] .dossier-checklist-right svg{width:18px;height:18px}
body[data-page="dossier"] .dossier-checklist-text{flex:1;min-width:0}
@media (max-width: 720px){
  body[data-page="dossier"] .dossier-checklist{padding:14px}
  body[data-page="dossier"] .dossier-checklist-head{margin-bottom:6px}
  body[data-page="dossier"] .dossier-checklist-item{padding:11px 12px}
  body[data-page="dossier"] .dossier-checklist-left,
  body[data-page="dossier"] .dossier-checklist-right{width:28px;height:28px}
}
body[data-page="dossier"] .dossier-docs{grid-column:1 / -1}
body[data-page="dossier"] .dossier-docs .body{padding:16px}
body[data-page="dossier"] .dossier-docs .meta{margin-top:10px}
body[data-page="dossier"] .dossier-docs .fine{margin:12px 0 0}
@media (max-width: 640px){
  body[data-page="dossier"] .dossier-title{font-size:32px}
  body[data-page="dossier"] .dossier-hero .media{aspect-ratio:16/9}
  body[data-page="dossier"] .dossier-form{order:1}
  body[data-page="dossier"] .dossier-contact{order:2}
  body[data-page="dossier"] .dossier-docs{order:3}
  body[data-page="dossier"] .dossier-docs .meta{justify-content:center}
}
body[data-page="dossier"] .dossier-panel .meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
body[data-page="dossier"] .dossier-panel .meta .tag{
  width:min(520px, 100%);
  justify-content:flex-start;
  padding:10px 14px;
}
body[data-page="dossier"] .dossier-pills .pill{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
body[data-page="dossier"] .dossier-pills .pill--full{
  grid-column:1 / -1;
}
body[data-page="dossier"] .dossier-pills .pill--email a{
  white-space:nowrap;
}
.map-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.map-actions .btn{width:100%}
@media (max-width: 640px){
  .map-actions{grid-template-columns:1fr}
}
.dossier-services .card{padding:0}
.dossier-services{
  gap:0;
  grid-template-columns:1fr;
  align-items:stretch;
  counter-reset:svc;
}
.dossier-service-card{
  border-radius:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  position:relative;
  transition:transform .18s ease;
  counter-increment:svc;
}
@media (hover: hover) and (pointer: fine){
  .dossier-service-card:hover{transform:scale(1.012)}
}
@media (hover: none) and (pointer: coarse){
  .dossier-service-card:active{transform:scale(1.012)}
}
.dossier-service-card .body{
  padding:18px 0 18px;
  position:relative;
  min-height:0;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto;
  column-gap:16px;
  row-gap:6px;
  border-bottom:1px solid rgba(15,23,32,.10);
}
.dossier-service-card .body::after{
  content:"voir →";
  position:absolute;
  right:0;
  top:16px;
  font-size:13px;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
  line-height:1;
  color:rgba(15,23,32,.55);
  transition:transform .18s ease, color .18s ease, opacity .18s ease;
  opacity:.95;
}
.dossier-service-card:hover .body::after{transform:translateX(2px)}
.dossier-service-icon{
  display:none;
}
.dossier-service-icon svg{width:22px;height:22px;color:#0b2a3a}
.dossier-service-title{
  margin:0;
  font-family:var(--fontDisplay);
  font-size:30px;
  letter-spacing:-0.03em;
  line-height:1.08;
  color:rgba(7,17,28,.96);
  grid-column:1;
  grid-row:1;
}
.dossier-service-title::before{
  content:counter(svc, decimal-leading-zero) " ";
  font-family:var(--fontText);
  font-size:13px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:none;
  color:rgba(200,161,74,.95);
  margin-right:8px;
}
.dossier-service-text{
  margin:0;
  color:var(--subtitle);
  font-size:15px;
  line-height:1.55;
  grid-column:1;
  grid-row:2;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dossier-service-card:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(200,161,74,.20), 0 26px 76px rgba(15,23,32,.12)}
.dossier-services.reveal .dossier-service-card{opacity:0}
.dossier-services.reveal.is-visible .dossier-service-card:nth-child(odd){animation:dossierSlideLeft 1.1s cubic-bezier(.2,.9,.2,1) both}
.dossier-services.reveal.is-visible .dossier-service-card:nth-child(even){animation:dossierSlideRight 1.1s cubic-bezier(.2,.9,.2,1) both}
.dossier-services.reveal.is-visible .dossier-service-card:nth-child(2){animation-delay:.12s}
.dossier-services.reveal.is-visible .dossier-service-card:nth-child(3){animation-delay:.24s}
.dossier-services.reveal.is-visible .dossier-service-card:nth-child(4){animation-delay:.36s}
@keyframes dossierSlideLeft{
  0%{opacity:0;transform:translateX(-36px);filter:blur(8px)}
  75%{opacity:1;transform:translateX(2px);filter:blur(0)}
  100%{opacity:1;transform:none;filter:blur(0)}
}
@keyframes dossierSlideRight{
  0%{opacity:0;transform:translateX(36px);filter:blur(8px)}
  75%{opacity:1;transform:translateX(-2px);filter:blur(0)}
  100%{opacity:1;transform:none;filter:blur(0)}
}
@media (prefers-reduced-motion: reduce){
  .dossier-services.reveal .dossier-service-card{
    opacity:1;
    transform:none;
    transition:none;
    animation:none;
  }
}
@media (max-width: 920px){
  .dossier-service-title{font-size:28px}
}
@media (max-width: 720px){
  .dossier-service-card .body{column-gap:12px}
  .dossier-service-title{font-size:24px}
  .dossier-service-text{-webkit-line-clamp:3}
}

.services-with-media{gap:18px}
.services-with-media .card.dossier-service-card{
  border-radius:28px;
  overflow:hidden;
  border:0;
  background:transparent;
  box-shadow:0 18px 56px rgba(15,23,32,.08);
  transition:transform .22s ease, box-shadow .22s ease;
}
.services-with-media{justify-items:stretch}
@media (min-width: 920px){
  .services-with-media .card.dossier-service-card{width:min(1100px, 92%)}
  .services-with-media .card.dossier-service-card:nth-child(odd){justify-self:start}
  .services-with-media .card.dossier-service-card:nth-child(even){justify-self:end}
}

.services-with-media .card.dossier-service-card:hover{transform:translateY(-2px);box-shadow:0 26px 76px rgba(15,23,32,.12)}
.services-with-media .card.dossier-service-card:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(200,161,74,.20), 0 26px 76px rgba(15,23,32,.12)}
.services-with-media .card.dossier-service-card .body{
  padding:0;
  display:block;
  border-bottom:0;
  position:relative;
}
.services-with-media .card.dossier-service-card .body::after{
  right:16px;
  top:16px;
  color:rgba(255,255,255,.92);
  opacity:.85;
  background:rgba(7,17,28,.28);
  border:1px solid rgba(255,255,255,.22);
  padding:10px 14px;
  border-radius:999px;
  backdrop-filter:blur(10px);
}
.services-with-media .card.dossier-service-card:hover .body::after{transform:translateX(2px)}
.services-with-media .card.dossier-service-card:focus-visible .body::after{opacity:1}
@media (hover: hover) and (pointer: fine){
  .services-with-media .card.dossier-service-card .body::after{opacity:0;transform:translateY(-2px)}
  .services-with-media .card.dossier-service-card:hover .body::after{opacity:1;transform:translateX(2px)}
}
.services-with-media .card.dossier-service-card .dossier-service-media{
  position:relative;
  z-index:0;
  width:100%;
  height:420px;
  border-radius:0;
  border:0;
  background:rgba(255,255,255,.12);
  box-shadow:none;
}
.services-with-media .card.dossier-service-card .dossier-service-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,17,28,.05) 0%, rgba(7,17,28,.12) 40%, rgba(7,17,28,.76) 100%);
  pointer-events:none;
  z-index:1;
}
.services-with-media .card.dossier-service-card .dossier-service-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  display:block;
  position:relative;
  z-index:0;
  transform:none;
  transition:transform .7s cubic-bezier(.2,.9,.2,1);
  will-change:transform;
  backface-visibility:hidden;
  filter:contrast(1.05) saturate(1.03) brightness(.98);
}
.services-with-media .card.dossier-service-card:nth-child(2) .dossier-service-media img{object-position:50% 40%}
.services-with-media .card.dossier-service-card:nth-child(4) .dossier-service-media img{object-position:50% 44%}
@media (hover: hover) and (pointer: fine){
  .services-with-media .card.dossier-service-card:hover .dossier-service-media img{transform:scale(1.035)}
}
.services-with-media .card.dossier-service-card .dossier-service-title{
  position:absolute;
  left:18px;
  right:18px;
  bottom:56px;
  color:rgba(255,255,255,.98);
  text-shadow:0 10px 26px rgba(0,0,0,.38);
  z-index:2;
  font-size:34px;
  letter-spacing:-0.02em;
}
.services-with-media .card.dossier-service-card .dossier-service-title::before{color:rgba(255,255,255,.92)}
.services-with-media .card.dossier-service-card .dossier-service-text{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  color:rgba(255,255,255,.90);
  text-shadow:0 10px 26px rgba(0,0,0,.38);
  z-index:2;
  -webkit-line-clamp:2;
  max-width:62ch;
}
.services-with-media.reveal.is-visible .dossier-service-media{animation:none}
@media (prefers-reduced-motion: reduce){
  .services-with-media .card.dossier-service-card .dossier-service-media img{transition:none;transform:none}
}
@media (max-width: 920px){
  .services-with-media .card.dossier-service-card .dossier-service-media{height:360px}
  .services-with-media .card.dossier-service-card .dossier-service-title{font-size:28px;bottom:54px}
}
@media (max-width: 640px){
  .services-with-media .card.dossier-service-card .dossier-service-media{height:320px}
  .services-with-media .card.dossier-service-card .dossier-service-title{font-size:24px;bottom:52px}
  .services-with-media .card.dossier-service-card .dossier-service-text{-webkit-line-clamp:3}
}
@media (max-width: 420px){
  .services-with-media .card.dossier-service-card .dossier-service-media{height:280px}
  .services-with-media .card.dossier-service-card{border-radius:22px}
  .services-with-media .card.dossier-service-card .dossier-service-title{left:16px;right:16px}
  .services-with-media .card.dossier-service-card .dossier-service-text{left:16px;right:16px}
}

.services-section .services-title{
  margin:0 0 12px;
  font-size:28px;
  letter-spacing:-0.015em;
  font-family:var(--fontDisplay);
  color:var(--text);
}
#bonnes-affaires .section-head h2,
#exemples-biens h2{
  color:var(--text);
}
.services-section .services-intro{
  margin:0 0 16px;
  max-width:760px;
  color:rgba(15,23,32,.70);
  font-size:16px;
  line-height:1.65;
}
.services-approach{margin-top:14px;max-width:920px}
.services-approach-k{font-size:12px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:rgba(15,23,32,.62)}
.services-approach-pills{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px}
.services-approach-pills .pill{background:transparent}
.services-showcase{
  margin-top:18px;
  display:grid;
  gap:18px;
}
.service-feature{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  min-height:320px;
  border:1px solid rgba(15,23,32,.10);
  border-radius:0;
  overflow:hidden;
  background:#ffffff;
  box-shadow:0 20px 58px rgba(15,23,32,.08);
}
.service-feature-copy{
  padding:24px 26px 22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.service-feature-copy h3{
  margin:0 0 10px;
  font-family:var(--fontDisplay);
  font-size:32px;
  letter-spacing:-0.02em;
  color:rgba(11,42,58,.94);
  display:flex;
  align-items:center;
  gap:12px;
}
.service-feature-copy h3 .num{
  width:36px;
  height:36px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  font-weight:900;
  color:#fff;
  background:rgba(15,23,32,.86);
  flex:0 0 auto;
}
.service-feature-lead{
  margin:0 0 14px;
  font-size:18px;
  line-height:1.5;
  color:var(--subtitle);
  max-width:34ch;
}
.service-feature-steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
.service-feature-steps li{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:12px;
  align-items:start;
  color:rgba(42,48,56,.88);
  font-size:17px;
  letter-spacing:0;
  position:relative;
}
.service-feature-steps .ico{
  width:30px;
  height:30px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(74,82,92,.96), rgba(56,64,74,.96));
  color:#fff;
  box-shadow:0 8px 20px rgba(56,64,74,.26);
  z-index:1;
}
.service-feature-steps .ico svg{
  width:14px;
  height:14px;
  stroke:#fff;
  stroke-width:2.2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.service-feature-steps li:not(:last-child)::after{
  content:"";
  position:absolute;
  left:14px;
  top:32px;
  width:1px;
  bottom:-12px;
  background:rgba(74,82,92,.34);
}
.service-feature-steps li strong{
  display:block;
  font-size:17px;
  line-height:1.25;
  color:rgba(36,42,50,.94);
}
.service-feature-steps li p{
  margin:3px 0 0;
  font-size:14px;
  line-height:1.45;
  color:rgba(56,62,70,.78);
}
.service-feature-cta{
  margin-top:14px;
  border-radius:999px;
  padding:11px 18px;
  border:0;
  background:linear-gradient(90deg, var(--accent), var(--accent2)) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff;
  font-size:18px;
  font-weight:850;
  box-shadow:0 8px 20px rgba(11,42,58,.22);
  transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;
  -webkit-tap-highlight-color: transparent;
}
.service-feature-cta:link,
.service-feature-cta:visited,
.service-feature-cta:hover,
.service-feature-cta:focus,
.service-feature-cta:focus-visible,
.service-feature-cta:active{
  background:linear-gradient(90deg, var(--accent), var(--accent2)) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff;
  border:0 !important;
  text-decoration:none;
  filter:none;
}
.service-feature-cta:active{
  transform:translateY(1px) scale(.985);
  box-shadow:0 8px 20px rgba(11,42,58,.22);
}
@media (hover: hover) and (pointer: fine){
  .service-feature-cta:hover{
    transform:translateY(-1px);
    border-color:transparent;
    filter:saturate(1.05) brightness(1.03);
    box-shadow:0 12px 24px rgba(11,42,58,.26);
  }
}
.service-feature-media{min-height:340px;background:rgba(11,42,58,.06);overflow:hidden}
.service-feature-media img{width:100%;height:100%;object-fit:cover;display:block}
.service-feature.reveal .service-feature-copy h3,
.service-feature.reveal .service-feature-lead,
.service-feature.reveal .service-feature-steps,
.service-feature.reveal .service-feature-cta,
.service-feature.reveal .service-feature-media{
  opacity:0;
  transform:translateY(-14px);
  transition:opacity .62s ease, transform .62s cubic-bezier(.2,.8,.2,1);
  will-change:opacity, transform;
}
.service-feature.reveal .service-feature-copy h3{transition-delay:.04s}
.service-feature.reveal .service-feature-lead{transition-delay:.11s}
.service-feature.reveal .service-feature-steps{transition-delay:.18s}
.service-feature.reveal .service-feature-cta{transition-delay:.27s}
.service-feature.reveal .service-feature-media{transition-delay:.10s}
.service-feature.reveal.is-visible .service-feature-copy h3,
.service-feature.reveal.is-visible .service-feature-lead,
.service-feature.reveal.is-visible .service-feature-steps,
.service-feature.reveal.is-visible .service-feature-cta,
.service-feature.reveal.is-visible .service-feature-media{
  opacity:1;
  transform:none;
}
@media (max-width: 920px){
  .service-feature{grid-template-columns:1.12fr .88fr}
  .service-feature-copy{padding:24px 26px 22px}
  .service-feature-copy h3{font-size:32px}
  .service-feature-lead{font-size:18px;max-width:34ch}
  .service-feature-steps li{font-size:17px}
  .service-feature-steps li strong{font-size:17px}
  .service-feature-cta{font-size:18px;padding:11px 18px}
  .service-feature-media{min-height:340px}
}
@media (max-width: 720px){
  .services-section .services-intro{font-size:15.5px}
}

@media (max-width: 720px){
  .services-section .service-feature.reveal{
    transition:opacity .38s ease, transform .55s cubic-bezier(.2,.8,.2,1), filter .55s cubic-bezier(.2,.8,.2,1);
  }
  .services-section .service-feature.reveal .service-feature-copy h3,
  .services-section .service-feature.reveal .service-feature-lead,
  .services-section .service-feature.reveal .service-feature-steps,
  .services-section .service-feature.reveal .service-feature-cta,
  .services-section .service-feature.reveal .service-feature-media{
    transform:translateY(-10px);
    transition:opacity .42s ease, transform .42s cubic-bezier(.2,.8,.2,1);
  }
  .services-section .service-feature.reveal .service-feature-copy h3{transition-delay:0s}
  .services-section .service-feature.reveal .service-feature-lead{transition-delay:.05s}
  .services-section .service-feature.reveal .service-feature-steps{transition-delay:.09s}
  .services-section .service-feature.reveal .service-feature-cta{transition-delay:.13s}
  .services-section .service-feature.reveal .service-feature-media{transition-delay:.05s}

  .services-showcase{gap:14px}
  .service-feature{
    grid-template-columns:1fr;
    min-height:0;
  }
  .service-feature-copy{order:2;padding:18px 18px 18px}
  .service-feature-media{order:1;height:clamp(240px, 56vw, 360px);min-height:0}
  .service-feature-media img{transform:none;object-position:50% 50%}
  .service-feature:nth-child(2) .service-feature-media img{object-position:50% 55%}
  .service-feature:nth-child(4) .service-feature-media img{object-position:50% 55%}
  .service-feature-copy h3{font-size:28px}
  .service-feature-lead{font-size:16px;max-width:none}
  .service-feature-steps li{font-size:15.5px}
  .service-feature-steps li strong{font-size:15.5px}
  .service-feature-steps li p{font-size:13.5px}
  .service-feature-cta{width:100%}
}

@media (hover: none) and (pointer: coarse){
  .topbar-menu-btn:active svg line:nth-of-type(1){transform:translateX(2px)}
  .topbar-menu-btn:active svg line:nth-of-type(2){transform:translateX(-2px)}
  .topbar-menu-btn:active svg line:nth-of-type(3){transform:translateX(2px)}

  .topbar-menu-footer-social .social-btn:active{
    border-color:rgba(11,42,58,.28);
    background:rgba(255,255,255,.98);
    color:rgba(15,23,32,.92);
    transform:translateY(0);
  }

  .advice-tab:active{
    transform:translateY(0) scale(1.02);
    border-color:rgba(200,161,74,.32);
    box-shadow:0 16px 40px rgba(15,23,32,.10);
  }
  .advice-intro-ico{
    background:linear-gradient(135deg, rgba(255,225,142,.55), rgba(200,161,74,.30));
    border-color:rgba(200,161,74,.50);
    color:rgba(184,129,28,.98);
    box-shadow:0 0 0 6px rgba(200,161,74,.10), 0 8px 22px rgba(200,161,74,.24);
  }
}


.section{padding:44px 0}
.section h2{margin:0 0 12px;font-size:28px;letter-spacing:-0.015em}
.section .lead{margin:0 0 22px;color:rgba(15,23,32,.72);max-width:840px;line-height:1.6}
.section.alt{
  background:#ffffff;
  border-top:0;
  border-bottom:0;
}
#bonnes-affaires.section.alt{
  background:var(--bg);
}
.section.alt{
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(1.02);
}
#bonnes-affaires.section.alt{
  background:rgba(247,246,243,.94);
}
@media (max-width: 720px){
  body[data-page="home"] .advice-performance{background:#fff}
  body[data-page="home"] .section.alt{background:transparent}
  body[data-page="home"] #bonnes-affaires.section.alt{background:transparent}
}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.section-subhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0 10px}

@media (max-width: 640px){
  #actus .section-head{flex-wrap:wrap;align-items:flex-start}
  #actus .actus-actions{
    flex-wrap:wrap !important;
    overflow:visible;
    -webkit-overflow-scrolling:auto;
    padding-bottom:2px;
  }
  #actus .actus-actions .btn{
    white-space:normal;
    width:100%;
  }
}

.kpi-divider{
  padding:18px 0 14px;
  display:flex;
  justify-content:center;
  position:relative;
}
.kpi-divider::before{
  content:"";
  position:absolute;
  left:50%;
  top:-14px;
  transform:translateX(-50%);
  width:min(var(--container), calc(100% - 36px));
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(11,42,58,0) 0%, rgba(11,42,58,.80) 22%, rgba(11,42,58,.80) 78%, rgba(11,42,58,0) 100%);
}
.kpi-divider-inner{
  width:min(1060px, calc(100% - 36px));
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  padding:22px 22px;
  border-radius:20px;
  border:0;
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
  position:relative;
  overflow:hidden;
}
.kpi-divider-inner::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(1200px 220px at 50% -20px, rgba(11,42,58,.06), transparent 60%),
    radial-gradient(700px 180px at 12% 120%, rgba(200,161,74,.07), transparent 62%);
  pointer-events:none;
}
.kpi-divider-inner::before{
  display:none;
}
.kpi-item{
  text-align:center;
  padding:10px 10px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  position:relative;
  z-index:1;
}
.kpi-item:not(:last-child)::after{
  content:"";
  position:absolute;
  right:-7px;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:66%;
  background:rgba(11,42,58,.12);
}
.kpi-ring{width:92px;height:92px;position:relative}
.kpi-svg{width:100%;height:100%;transform:rotate(-90deg)}
.kpi-bg{
  fill:none;
  stroke:var(--kpiColor);
  opacity:.28;
  stroke-width:8;
}
.kpi-fg{
  fill:none;
  stroke:var(--kpiColor);
  stroke-width:8;
  stroke-linecap:round;
  stroke-dasharray:264;
  stroke-dashoffset:264;
}
.kpi-icon{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(15,23,32,.86);
  pointer-events:none;
}
.kpi-icon svg{width:30px;height:30px}
.kpi-value{
  font-size:34px;
  font-weight:950;
  letter-spacing:-0.03em;
  color:rgba(15,23,32,.86);
}
.kpi-label{
  margin-top:6px;
  font-size:13px;
  color:rgba(15,23,32,.66);
  font-weight:800;
}
.kpi-item{--kpiColor:rgba(11,42,58,.92)}
.kpi-item--sale,.kpi-item--rent,.kpi-item--sat{--kpiColor:rgba(11,42,58,.92)}
.kpi-item .kpi-fg{stroke:var(--kpiColor)}
.kpi-item .kpi-icon,
.kpi-item .kpi-value{color:var(--kpiColor)}
@media (max-width: 980px){
  .kpi-value{font-size:38px}
}
@media (max-width: 640px){
  .kpi-divider{padding:12px 0 8px}
  .kpi-divider-inner{grid-template-columns:repeat(3, minmax(0, 1fr));gap:8px;padding:16px 12px}
  .kpi-ring{width:78px;height:78px}
  .kpi-bg,.kpi-fg{stroke-width:7}
  .kpi-icon svg{width:24px;height:24px}
  .kpi-value{font-size:26px}
  .kpi-label{font-size:11.5px}
  .kpi-item{gap:8px;padding:8px 6px 6px}
}
@media (max-width: 420px){
  .kpi-divider-inner{gap:6px;padding:12px 10px}
  .kpi-ring{width:72px;height:72px}
  .kpi-icon svg{width:22px;height:22px}
  .kpi-value{font-size:24px}
  .kpi-label{font-size:11px}
  .kpi-item{gap:7px;padding:8px 4px 6px}
}

.section-divider{
  position:relative;
  width:100%;
  margin:-18px 0 -22px;
  pointer-events:none;
  opacity:.98;
}
.section-divider::before{
  content:"";
  position:absolute;
  left:50%;
  top:34px;
  width:min(860px, 92vw);
  height:86px;
  transform:translateX(-50%);
  background:
    radial-gradient(closest-side, rgba(200,161,74,.16), transparent 62%),
    radial-gradient(closest-side, rgba(255,45,109,.12), transparent 62%),
    radial-gradient(closest-side, rgba(255,159,28,.12), transparent 62%);
  filter:blur(14px);
  opacity:.70;
}
.section-divider-svg{
  display:block;
  width:100%;
  height:110px;
}
@media (max-width: 640px){
  .section-divider{margin:-14px 0 -18px}
  .section-divider-svg{height:92px}
}

.hscroll{
  display:flex;
  gap:14px;
  overflow:auto;
  padding-bottom:8px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.hscroll::-webkit-scrollbar{height:8px}
.hscroll::-webkit-scrollbar-thumb{background:rgba(15,23,32,.16);border-radius:999px}
.hscroll > *{scroll-snap-align:start;flex:0 0 auto}
.scroll-indicator-wrap{position:relative;display:block}
.has-scroll-indicator{position:relative}
.has-scroll-indicator .scroll-indicator{
  position:absolute;
  left:0;
  right:0;
  bottom:6px;
  height:16px;
  pointer-events:auto;
  border-radius:999px;
  overflow:hidden;
  opacity:.92;
  z-index:5;
}
.has-scroll-indicator .scroll-indicator-track{
  position:absolute;
  inset:0;
  background:rgba(15,23,32,.10);
}
.has-scroll-indicator .scroll-indicator-thumb{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  background:rgba(11,42,58,.78);
  border-radius:999px;
  touch-action:none;
}
#bonnes-affaires .scroll-indicator{display:none}
@media (max-width: 720px){
  #bonnes-affaires .scroll-indicator{
    display:block;
    pointer-events:none;
  }
  #bonnes-affaires .scroll-indicator-thumb{
    width:38%;
    left:0;
  }
  #bonnes-affaires .hscroll{
    padding-bottom:26px;
    overflow-x:hidden;
    scrollbar-width:none;
    justify-content:center;
    touch-action:pan-y;
  }
  #bonnes-affaires .hscroll::-webkit-scrollbar{height:0}
  #bonnes-affaires .card.listing.compact{
    width:min(420px, calc(100vw - 44px));
    min-width:0;
  }
}
.card.listing.compact{width:min(420px, 92vw)}
.card.listing.compact .media{aspect-ratio:16/9}
body[data-page="home"] #bonnes-affaires .card.home-deal .media,
body[data-page="home"] #exemples-biens a[href*="id=JU-GLO-009"] .media{
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 0 0 1px rgba(255,255,255,.14);
}
body[data-page="home"] #exemples-biens .card.premium{
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
body[data-page="home"] #exemples-biens .card.premium:hover{
  border-color:rgba(11,42,58,.16);
  box-shadow:0 22px 60px rgba(15,23,32,.14);
}
body[data-page="home"] #exemples-biens .card.premium::after{display:none}
body[data-page="biens"] .card.listing[data-id="JU-GLO-009"] .media,
body[data-page="listing"][data-listing-id="JU-GLO-009"] .listing-gallery .media{
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 0 0 1px rgba(255,255,255,.14);
}
body[data-page="biens"] .card.listing[data-id="JU-GLO-009"] .media img{object-fit:cover;object-position:50% 50%;transform:none !important}
body[data-page="home"] #exemples-biens .card.listing .media img{object-position:50% 50%}
body[data-page="home"] #bonnes-affaires .card.home-deal .media img{object-fit:cover;object-position:50% 92%}
@media (max-width: 720px){
  #bonnes-affaires .hscroll{
    overflow-y:hidden;
    overscroll-behavior-y:auto;
  }
  body[data-page="biens"] .card.listing .media img{object-position:24% 50%}
  body[data-page="home"] #bonnes-affaires .card.home-deal .media,
  body[data-page="home"] #exemples-biens .card.listing .media,
  body[data-page="biens"] .card.listing .media{
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 0 0 1px rgba(255,255,255,.14);
  }
  body[data-page="home"] #bonnes-affaires .card.home-deal .media{
    border-color:rgba(255,255,255,.82);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.16),
      inset 1px 0 0 rgba(255,255,255,.84),
      inset -1px 0 0 rgba(255,255,255,.84),
      inset 0 2px 0 rgba(255,255,255,.72);
  }
  body[data-page="home"] #bonnes-affaires .card.home-deal .media img{object-fit:cover;object-position:50% 92%;transform:none !important}
  body[data-page="home"] #exemples-biens a[href*="id=JU-GLO-009"] .media img{object-fit:cover;object-position:42% 50%;transform:none !important}
  body[data-page="biens"] .card.listing[data-id="JU-GLO-009"] .media img{object-fit:cover;object-position:50% 50%;transform:none !important}
}
.deal-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:2px 0 10px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(84,91,98,.30);
  background:rgba(84,91,98,.12);
  color:rgba(15,23,32,.86);
  font-size:12px;
  font-weight:750;
  letter-spacing:.02em;
}
.deal-badge.featured{
  background:linear-gradient(90deg, #c8a14a, #ff9f1c);
  color:#fff;
  border:0;
  box-shadow:0 4px 10px rgba(200,161,74,.30);
}
.deal-badge.blue{
  border-color:rgba(84,91,98,.30);
  background:rgba(84,91,98,.12);
}
body[data-page="listing"] .pill.listing-pill .listing-pill-featured{
  font-weight:850;
  color:#c8a14a;
}

.stats-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  max-width:780px;
  margin:0 auto;
}
.stat-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
  padding:14px 14px 16px;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.stat-card .icon{
  width:44px;
  height:44px;
  border-radius:999px;
  background:rgba(11,42,58,.08);
  border:1px solid rgba(15,23,32,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(11,42,58,.90);
  flex:0 0 auto;
}
.stat-card .icon svg{width:20px;height:20px}
.stat-card .content{min-width:0}
.stat-card .k{font-size:12px;color:rgba(15,23,32,.60);font-weight:750;letter-spacing:.02em;text-transform:uppercase}
.stat-card .v{margin-top:6px;font-size:26px;font-weight:800;letter-spacing:-0.02em}
.stat-card .d{margin-top:6px;color:rgba(15,23,32,.68);font-size:13.5px;line-height:1.5}

.quote-card .quote{font-size:14.5px;line-height:1.6;color:rgba(15,23,32,.86)}
.quote-card .who{margin-top:12px;color:rgba(15,23,32,.65);font-size:13px;font-weight:650}
 .trust-testimonials .quote-card{height:100%}
 .trust-testimonials .quote-card .body{padding:20px 20px 20px;display:flex;flex-direction:column;min-height:240px}
 .trust-testimonials .quote-card .quote{font-size:17px;line-height:1.75;font-weight:650}
 .trust-testimonials .quote-card .who{margin-top:auto;font-size:14px;font-weight:750}

.partners{
  margin-top:18px;
  --partners-accent:rgba(47,90,115,.96);
  --partners-accent-soft:rgba(47,90,115,.22);
}
.partners-head{
  text-align:center;
  margin:0 auto 18px;
  max-width:980px;
}
.partners-k{
  font-size:12px;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text);
}
.partners-head h2{
  margin:10px 0 0;
  font-family:var(--fontDisplay);
  font-size:56px;
  letter-spacing:-0.02em;
  line-height:1.06;
  color:var(--text);
}
.partners-head p{
  margin:10px auto 0;
  max-width:62ch;
  color:rgba(15,23,32,.68);
  font-size:17px;
  line-height:1.65;
}
.partners-panel{
  border:1px solid rgba(15,23,32,.10);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  box-shadow:0 18px 60px rgba(15,23,32,.08);
  overflow:hidden;
}
.partners-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
}
.partners-grid > :nth-child(1){
  --partners-accent:rgba(92,84,154,.96);
  --partners-accent-soft:rgba(92,84,154,.22);
}
.partners-grid > :nth-child(2){
  --partners-accent:rgba(46,160,92,.96);
  --partners-accent-soft:rgba(46,160,92,.22);
}
.partners-grid > :nth-child(3){
  --partners-accent:rgba(224,64,56,.96);
  --partners-accent-soft:rgba(224,64,56,.22);
}
.partners-grid > :nth-child(4){
  --partners-accent:rgba(46,160,92,.96);
  --partners-accent-soft:rgba(46,160,92,.22);
}
.partner-card{
  padding:30px 26px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  min-height:auto;
  background:transparent;
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease, box-shadow .16s ease;
}
.partner-card--link{cursor:pointer}
.partner-card--link:focus-visible{
  outline:3px solid rgba(11,42,58,.22);
  outline-offset:-3px;
  border-radius:16px;
}
.partner-card:hover{
  transform:translateY(-1px);
}
.partner-card:not(:last-child){
  border-right:1px solid rgba(15,23,32,.08);
}
.partner-logo{
  width:min(320px, 100%);
  height:104px;
  object-fit:contain;
  align-self:center;
  image-rendering:auto;
  -webkit-image-rendering:auto;
  transition:none;
}
@media (min-width: 900px){
  .partner-logo:not(.partner-logo--hog){mix-blend-mode:multiply}
}
.partner-logo--hog{
  width:min(320px, 100%);
  height:104px;
  object-fit:cover;
  border-radius:0;
  background:transparent;
  transform:translateY(2px) scale(1.2);
  transform-origin:50% 50%;
  filter:brightness(.92) contrast(1.10) saturate(.92);
}
.partner-logo--dcki{
  width:min(320px, 100%);
  height:104px;
  object-fit:contain;
  transform:scale(1.1);
  transform-origin:50% 50%;
}
.partner-logo--dcki,
.partner-logo[alt="EICHENBERGER SA"]{
  -webkit-mask-image:radial-gradient(ellipse 92% 82% at 50% 50%, #000 76%, rgba(0,0,0,0) 100%);
  mask-image:radial-gradient(ellipse 92% 82% at 50% 50%, #000 76%, rgba(0,0,0,0) 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}
.partner-name{
  margin-top:6px;
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(11,42,58,.92);
  text-align:center;
}
.partner-name::after{
  content:"";
  display:block;
  width:30px;
  height:1px;
  background:rgba(15,23,32,.12);
  margin:10px auto 0;
}
.partner-name-strong{font-weight:950}
.partner-pill{
  order:4;
  margin-top:auto;
  width:100%;
  max-width:300px;
  padding-top:18px;
  border-top:1px solid rgba(15,23,32,.10);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  justify-content:center;
  color:rgba(15,23,32,.70);
  font-size:13.5px;
  font-weight:750;
}
.partner-pill span{line-height:1.35}
.partner-pill > span:last-child{
  text-align:center;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(11,42,58,.86);
}
.partner-pill::after{
  display:none;
}
.partners .partner-pill{display:none}
.partner-ico{
  width:46px;
  height:46px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--partners-accent-soft);
  background:rgba(255,255,255,.92);
  color:var(--partners-accent);
  box-shadow:none;
}
.partner-ico svg{width:20px;height:20px}
.partner-desc{
  order:3;
  text-align:center;
  color:rgba(15,23,32,.68);
  font-size:14.5px;
  line-height:1.7;
  max-width:38ch;
  min-height:auto;
}
.testimonials-all{
  margin-left:auto;
  font-size:14px;
  font-weight:850;
  color:rgba(11,42,58,.84);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.86);
  transition:transform .14s ease, border-color .14s ease, background .14s ease;
}
@media (hover: hover) and (pointer: fine){
  .testimonials-all:hover{
    transform:translateY(-1px);
    border-color:rgba(11,42,58,.22);
    background:#fff;
  }
}
.testimonials-all:active{transform:translateY(0)}
.testimonials-all:focus-visible{outline:3px solid rgba(11,42,58,.22);outline-offset:2px}

.testimonials{
  margin-top:18px;
  border-radius:0;
  border:0;
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
  padding:30px 30px 20px;
  position:relative;
  overflow:hidden;
}
.testimonials::before{
  display:none;
}
.testimonials::after{
  display:none;
}
.testimonials > *{position:relative;z-index:1}
.testimonials-head{
  display:flex;
  align-items:baseline;
  gap:14px;
  flex-wrap:wrap;
}
.testimonials-head h2{
  margin:0;
  font-size:56px;
  letter-spacing:-0.02em;
  line-height:1.06;
  color:var(--text);
}
.testimonials-line{
  height:3px;
  flex:1 1 180px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(11,42,58,.26), rgba(11,42,58,.12), rgba(255,255,255,0));
  max-width:420px;
}
.testimonials.is-paused .testimonials-line{
  background:linear-gradient(90deg, rgba(200,161,74,.70), rgba(11,42,58,.22), rgba(255,255,255,0));
  animation:testimonialsLine 1.15s ease-in-out infinite;
}
.testimonials-shell{
  margin-top:16px;
}
.testimonials-frame{
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(15,23,32,.10);
  background:transparent;
  backdrop-filter:none;
  min-height:220px;
}
.testimonials.is-paused .testimonials-frame{
  border-color:rgba(200,161,74,.28);
  box-shadow:0 18px 60px rgba(15,23,32,.08);
}
.testimonials.is-paused .testimonials-slide{
  animation:testimonialsLift .25s ease-out both;
}
@keyframes testimonialsLine{
  0%,100%{opacity:.9}
  50%{opacity:.55}
}
@keyframes testimonialsLift{
  from{transform:translateY(2px)}
  to{transform:translateY(0)}
}
.testimonials-track{
  display:flex;
  width:100%;
  transform:translateX(0);
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.testimonials-slide{
  flex:0 0 100%;
  padding:34px 36px 28px;
}
.testimonials-stars{
  font-size:14px;
  letter-spacing:.22em;
  color:rgba(200,161,74,.92);
  margin-bottom:14px;
  user-select:none;
}
.testimonials-quote{
  font-size:19px;
  line-height:1.8;
  color:rgba(15,23,32,.78);
  font-weight:650;
  font-style:italic;
  max-width:980px;
}
.testimonials-who{
  margin-top:18px;
  font-size:18px;
  font-weight:850;
  color:rgba(7,17,28,.96);
}
.testimonials-nav{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
.testimonials-arrow{
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(15,23,32,.12);
  background:rgba(255,255,255,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:rgba(15,23,32,.70);
  transition:transform .14s ease, border-color .14s ease, background .14s ease, color .14s ease;
}
.testimonials-arrow:hover{
  transform:translateY(-1px);
  border-color:rgba(200,161,74,.35);
  color:rgba(15,23,32,.86);
  background:rgba(255,255,255,.98);
}
.testimonials-arrow svg{width:18px;height:18px}
.testimonials-dots{
  display:flex;
  align-items:center;
  gap:10px;
}
.testimonials-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:0;
  background:rgba(15,23,32,.14);
  cursor:pointer;
  padding:0;
}
.testimonials-dot.active{
  background:rgba(123,194,71,.95);
  box-shadow:0 0 0 6px rgba(123,194,71,.16);
}
.testimonials-dot:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(11,42,58,.18);
}
@media (max-width: 980px){
  .partners-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .partner-card:nth-child(2n){border-right:0}
  .partner-card:nth-child(-n+2){border-bottom:1px solid rgba(15,23,32,.08)}
  .testimonials-head h2{font-size:42px}
  .testimonials-slide{padding:26px 24px 22px}
  .testimonials-quote{font-size:17px}
}
@media (max-width: 640px){
  .partners-head h2{font-size:32px}
  .partners-head p{font-size:15.5px}
  .partner-logo{width:min(270px, 100%);height:96px}
  .partner-logo--hog{width:min(270px, 100%);height:96px}
  .partner-logo--dcki{width:min(270px, 100%);height:96px}
  .partners-grid{grid-template-columns:1fr}
  .partner-card{min-height:auto;padding:22px 18px 20px}
  .partner-name{text-align:center}
  .partner-ico{width:46px;height:46px}
  .partner-desc{text-align:center;max-width:40ch}
  .partner-card{border-right:0 !important}
  .partner-card:not(:last-child){border-bottom:1px solid rgba(15,23,32,.08)}
  .testimonials{padding:18px 16px 14px}
  .testimonials-head h2{font-size:32px}
  .testimonials-slide{padding:20px 16px 18px}
  .testimonials-quote{font-size:15.5px;line-height:1.68}
  .testimonials-who{font-size:16px}
  .testimonials-nav{justify-content:center}
}

.grid{display:grid;gap:16px}
.grid.cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}
.grid.cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}

.card{
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.card.dossier-service-card{
  border:0;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.card.dossier-service-card .body{
  padding:18px 0 18px;
}
.card .media{aspect-ratio:16/10;background:#eeece7;position:relative;overflow:hidden}
.card .media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.card:hover .media img{transform:scale(1.05)}
.card.listing .media img{transition:none;transform:none !important}
.card.listing:hover .media img{transform:none !important}
body[data-page="listing"] .listing-gallery.card{border:0;background:transparent;box-shadow:none}
body[data-page="listing"] .listing-gallery.card .media{
  background:transparent;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 0 0 1px rgba(255,255,255,.14);
}
body[data-page="listing"] .listing-gallery.card .media img{transition:none;transform:none !important}
body[data-page="listing"] .listing-gallery.card:hover .media img{transform:none !important}
.fav-btn{
  position:absolute;
  top:auto;
  right:10px;
  bottom:10px;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.92);
  color:rgba(11,42,58,.92);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:4;
  backdrop-filter:blur(8px);
  box-shadow:0 10px 25px rgba(15,23,32,.14);
  transition:transform .12s ease, background .12s ease, border-color .12s ease, color .12s ease, box-shadow .12s ease;
}
.card.listing .media .fav-btn,
.listing-gallery .media .fav-btn{
  top:auto;
  right:10px;
  bottom:10px;
}
.fav-btn svg{width:19px;height:19px;display:block;fill:transparent;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fav-btn.is-on svg{fill:currentColor}
.card.listing.is-fav .fav-btn{background:rgba(255,255,255,.96);border-color:rgba(15,23,32,.10);color:#e11d48}
.fav-btn:focus-visible{outline:3px solid rgba(11,42,58,.22);outline-offset:2px}
@media (hover: hover) and (pointer: fine){
  .fav-btn:hover{transform:translateY(-1px) scale(1.03);background:#ffffff;box-shadow:0 14px 30px rgba(15,23,32,.16)}
}
.listing-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body[data-page="listing"] .listing-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body[data-page="listing"] .listing-top-row .pill{flex:1 1 auto;min-width:0}
body[data-page="listing"] .listing-top-row .fav-btn{
  position:relative;
  top:auto;
  right:auto;
  bottom:auto;
  width:44px;
  height:44px;
  border-radius:0 !important;
  background:#ffffff;
  border:1px solid rgba(15,23,32,.10);
  color:rgba(11,42,58,.92);
  backdrop-filter:none;
  box-shadow:0 12px 34px rgba(15,23,32,.12);
}
.listing-title-row .fav-btn{
  position:relative;
  top:auto;
  right:auto;
  bottom:auto;
  width:44px;
  height:44px;
  border-radius:0 !important;
  background:#ffffff;
  border-color:rgba(15,23,32,.10);
  color:rgba(11,42,58,.92);
  backdrop-filter:none;
  box-shadow:0 12px 34px rgba(15,23,32,.12);
}
.listing-title-row .fav-btn:focus-visible{outline:3px solid rgba(11,42,58,.22)}
.card .body{padding:14px 14px 16px}
.card h3{margin:0 0 8px;font-size:18px;letter-spacing:-0.01em}
.meta{display:flex;flex-wrap:wrap;gap:10px;color:rgba(15,23,32,.68);font-size:13.5px}
.card.listing .meta{align-items:center}
.card.listing .meta-ico{display:inline-flex;align-items:center;justify-content:center;color:rgba(11,42,58,.88);margin-right:6px}
.card.listing .meta-ico svg{width:16px;height:16px;display:block}
.desc{margin:10px 0 0;color:rgba(15,23,32,.70);font-size:14px;line-height:1.5}
.price{margin-top:12px;font-size:16px;font-weight:650}
.price span{color:rgba(15,23,32,.60);font-weight:500}
.chipRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.card.listing .chipRow{gap:7px;margin-top:14px}
.card.listing .tag{
  padding:6px 10px;
  font-size:12.5px;
  border-color:rgba(15,23,32,.10);
  background:rgba(15,23,32,.04);
  color:rgba(15,23,32,.74);
}
.card.listing{display:flex;flex-direction:column}
.card.listing .listing-link{display:flex;flex-direction:column;height:100%}
.card.listing .media{flex:0 0 auto}
.card.listing .body{display:flex;flex-direction:column;flex:1 1 auto}
.card.listing .media .card-gallery-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(15,23,32,.38);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:26px;
  line-height:1;
  user-select:none;
  cursor:pointer;
  opacity:0;
  transition:opacity .14s ease, transform .14s ease;
}
.card.listing .media .card-gallery-nav.prev{left:10px}
.card.listing .media .card-gallery-nav.next{right:10px}
.card.listing:hover .media .card-gallery-nav{opacity:1}
.card.listing:focus-within .media .card-gallery-nav{opacity:1}
.card.listing .media .card-gallery-nav:hover{transform:translateY(-50%) scale(1.04)}
.card.listing .media .card-gallery-nav:focus{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.22), 0 14px 34px rgba(0,0,0,.22)}
.card.listing .media .card-gallery-count{
  position:absolute;
  left:10px;
  bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(15,23,32,.42);
  backdrop-filter:blur(10px);
  color:rgba(255,255,255,.92);
  font-weight:850;
  font-size:12px;
  letter-spacing:.02em;
  user-select:none;
}
@media (max-width: 640px){
  .card.listing .media .card-gallery-nav{opacity:1}
}
.card.listing.is-unavailable{opacity:.82}
.card.listing.is-unavailable .media{filter:saturate(.92) contrast(.98)}
.status-ribbon{
  position:absolute;
  top:14px;
  right:-56px;
  width:200px;
  padding:9px 0;
  text-align:center;
  transform:rotate(45deg);
  background:linear-gradient(90deg, var(--accent), var(--accent2));
  color:#fff;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.22);
}
.listing-bottom{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.card.listing{cursor:pointer;transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease}
.card.listing:hover{transform:translateY(-2px);border-color:rgba(11,42,58,.16);box-shadow:0 22px 60px rgba(15,23,32,.14)}
.card.listing:focus{outline:none;box-shadow:0 0 0 3px rgba(11,42,58,.16), 0 22px 60px rgba(15,23,32,.14)}
body[data-page="listing"] .listing-gallery .media{cursor:default}

/* --- Effet Brillant Premium --- */
@keyframes shimmerSweep {
  0% { transform: translateX(-150%) skewX(-20deg); }
  100% { transform: translateX(300%) skewX(-20deg); }
}
.card.premium {
  position: relative;
  border: 1px solid rgba(200, 161, 74, 0.4);
  box-shadow: 0 12px 35px rgba(200, 161, 74, 0.15);
}
.card.premium:hover {
  border-color: rgba(200, 161, 74, 0.8);
  box-shadow: 0 22px 60px rgba(200, 161, 74, 0.25);
}
.card.premium::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
  transform: translateX(-150%) skewX(-20deg);
  animation: shimmerSweep 3.5s cubic-bezier(0.25, 0.8, 0.25, 1) infinite;
  pointer-events: none;
  z-index: 20;
}

/* Effet animé pour l'en-tête du catalogue */
@keyframes gradientMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.catalog-hero-panel {
  position: relative;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(15,23,32,.10);
  animation:none;
}
.catalog-hero-head h2{
  color:var(--text);
}
.catalog-hero-panel::before {
  display:none;
}

.shiny-title {
  background: linear-gradient(90deg, #0f1720, #c8a14a, #ff9f1c, #0f1720);
  background-size: 200% auto;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: shineText 4s linear infinite;
}
@keyframes shineText {
  to { background-position: 200% center; }
}
/* ------------------------------- */
 
 .category-card .body{display:flex;flex-direction:column;min-height:220px}
 .category-card .body .btn{margin-top:auto;align-self:flex-start}

.why-grid .body{display:flex;flex-direction:column;height:100%}
.why-grid .desc{margin:10px 0 18px}
.why-grid .btn{margin-top:auto;align-self:stretch;justify-content:center}

.contact-cards{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;margin-top:12px}
.contact-card{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.9);display:flex;flex-direction:column;gap:6px}
.contact-card .k{font-size:12px;color:rgba(15,23,32,.60);font-weight:650;letter-spacing:.02em;text-transform:uppercase}
.contact-card .v{font-size:14px;color:rgba(15,23,32,.92)}
.contact-card a{color:inherit;text-decoration:none}
.contact-card a:hover{text-decoration:underline}

@media (max-width: 768px){
  .contact-cards{grid-template-columns:1fr}
}

/* Premium filter chips for tags */
.filter-chips{display:flex;flex-wrap:wrap;gap:10px}
.filter-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer;user-select:none;transition:all .15s}
.filter-chip input{appearance:none;width:0;height:0;position:absolute;opacity:0}
.filter-chip:hover{box-shadow:0 0 0 3px rgba(0,0,0,.04)}
.filter-chip input:checked + span{color:#fff}
.filter-chip input:checked + span::before{content:''}
.filter-chip input:checked ~ span,
.filter-chip input:checked + span{background:linear-gradient(90deg, var(--accent), var(--accent2));color:#fff;border-color:transparent;padding:6px 12px;border-radius:999px}

.modal{
  position:fixed;inset:0;z-index:120;
  display:none;
}
.modal.show{display:block}
.modal .backdrop{position:absolute;inset:0;background:rgba(15,23,32,.55);backdrop-filter:blur(6px)}
.modal .dialog{
  position:relative;
  margin:clamp(18px, 4vh, 44px) auto;
  width:min(980px, calc(100% - 24px));
  border-radius:22px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.96);
  box-shadow:0 30px 90px rgba(15,23,32,.25);
  overflow:hidden;
}
.modal .dialog-grid{display:grid;grid-template-columns:1.1fr .9fr}
.modal .media{background:#e9edf3;min-height:320px}
.modal .media img{width:100%;height:100%;object-fit:cover}
.modal .media{position:relative}
.listing-gallery .media{position:relative}
.modal .media .nav, .listing-gallery .media .nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(15,23,32,.42);
  color:#ffffff;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  font-size:28px;
  line-height:1;
  z-index:3;
}
.modal .media .nav.prev, .listing-gallery .media .nav.prev{left:12px}
.modal .media .nav.next, .listing-gallery .media .nav.next{right:12px}
.modal .media .count, .listing-gallery .media .count{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(15,23,32,.35);
  color:rgba(255,255,255,.92);
  font-size:13px;
  backdrop-filter:blur(6px);
}
.modal .content{padding:18px 18px 20px}
.modal .titleRow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.modal .titleRow > div{min-width:0}
.modal .pill{max-width:100%;flex-wrap:wrap;white-space:normal;overflow-wrap:anywhere}
.modal h3{overflow-wrap:anywhere}
.modal .meta{overflow-wrap:anywhere}
.modal .facts,
.modal .features{max-width:100%}
.modal .facts .tag,
.modal .features .tag{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}
.modal h3{margin:8px 0 8px;font-size:22px;letter-spacing:-0.015em}
.modal .close{
  border:1px solid rgba(15,23,32,.14);
  background:#ffffff;
  border-radius:12px;
  width:42px;height:42px;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
}
.modal .facts{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px}
.modal .features{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}

.facts{margin-top:10px;display:flex;flex-wrap:wrap;gap:12px}
.features{margin-top:14px;display:flex;flex-wrap:wrap;gap:12px}
.amenities{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.modal .cta{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
@media (max-width: 900px){
  .modal .dialog-grid{grid-template-columns:1fr}
  .modal .media{min-height:220px}
  .modal .media .nav, .listing-gallery .media .nav{width:40px;height:40px;font-size:26px}
}

.coming-modal .dialog{width:min(860px, calc(100% - 24px))}
.coming-modal .dialog-grid{grid-template-columns:.85fr 1.15fr}
.coming-modal .media{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg, rgba(15,23,32,.06), rgba(15,23,32,.02))}
.coming-modal .media img{width:78%;height:auto;object-fit:contain}
@media (max-width: 900px){
  .coming-modal .media img{width:62%}
}

.panel{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
}
.panel .inner{padding:16px}

body[data-page="coming-soon"]{background:linear-gradient(180deg, #ffffff, rgba(248,250,252,1))}
body[data-page="coming-soon"] main.section{padding:92px 0 72px}
.coming-soon{max-width:720px;margin-left:auto;margin-right:auto}
.coming-soon-inner{padding:34px 22px;text-align:center;display:flex;flex-direction:column;align-items:center}
.coming-soon-logo{width:94px;height:94px;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 16px 50px rgba(15,23,32,.10);border:1px solid rgba(15,23,32,.08);display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;color:rgba(15,23,32,.92)}
.coming-soon-logo img{width:100%;height:100%;object-fit:contain;display:block}
.coming-soon-logo svg{width:100%;height:100%;display:block}
.coming-soon-title{margin-top:16px;font-size:22px;font-weight:700;letter-spacing:-0.02em}
.coming-soon-sub{margin-top:4px;font-size:14px;color:rgba(15,23,32,.72)}
.coming-soon-lead{margin-top:14px;font-size:15px;color:rgba(15,23,32,.78);max-width:460px}
.coming-soon-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
@media (max-width: 720px){
  .coming-soon-inner{padding:28px 18px}
  .coming-soon-logo{width:86px;height:86px;border-radius:20px}
}

.form{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:12px;
}
.field.form-consent{
  flex-direction:row;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(15,23,32,.14);
  background:rgba(15,23,32,.02);
}
.form-consent .consent-input{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.form-consent .consent-label{
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  user-select:none;
}
.form-consent .consent-copy{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  min-width:0;
  flex:1 1 auto;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  color:rgba(15,23,32,.72);
}
.form-consent .consent-text{
  color:inherit;
  font-size:inherit;
  line-height:inherit;
  font-weight:inherit;
}
.form-consent .consent-box{
  width:18px;
  height:18px;
  border-radius:5px;
  border:2px solid rgba(15,23,32,.32);
  background:#ffffff;
  box-shadow:0 1px 0 rgba(15,23,32,.04);
  flex:0 0 auto;
  margin-top:1px;
  position:relative;
}
.form-consent .consent-box::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:6px;
  border-left:2.4px solid #ffffff;
  border-bottom:2.4px solid #ffffff;
  transform:translate(-50%, -55%) rotate(-45deg);
  opacity:0;
}
.form-consent .consent-input:checked + .consent-label .consent-box{
  border-color:rgba(200,161,74,1);
  background:rgba(200,161,74,1);
}
.form-consent .consent-input:checked + .consent-label .consent-box::after{opacity:1}
.form-consent .consent-input:focus-visible + .consent-label .consent-box{
  outline:3px solid rgba(200,161,74,.28);
  outline-offset:2px;
}
.form-consent .consent-link{
  color:rgba(200,161,74,.72);
  font-weight:inherit;
  font-size:inherit;
  line-height:inherit;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.form-consent .consent-link:focus-visible{
  outline:3px solid rgba(200,161,74,.28);
  outline-offset:3px;
  border-radius:6px;
}

@media (max-width: 720px){
  .field.form-consent{
    display:grid;
    grid-template-columns:22px 1fr;
    column-gap:12px;
    row-gap:6px;
    align-items:start;
  }
  .form-consent .consent-label{align-self:start}
  .form-consent .consent-copy{
    display:block;
    text-align:left;
  }
  .form-consent .consent-box{margin-top:2px}
}

.is24-search{
  background: #ffffff;
  border-radius: var(--radius);
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  overflow: visible;
  margin-top: -30px;
  position: relative;
  z-index: 10;
}
.is24-tabs{
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--line);
}
.is24-tab-radio{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.is24-tab{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 16px 32px;
  font-size: 16px;
  font-weight: 600;
  background: #ffffff;
  border: none;
  border-right: 1px solid var(--line);
  color: var(--muted);
  cursor: pointer;
  border-radius: 0;
  transition: background 0.2s, color 0.2s;
}
.is24-tabs .is24-tab:first-of-type{
  border-radius: var(--radius) 0 0 0;
}
.is24-tabs .is24-tab:last-of-type{
  border-radius: 0 var(--radius) 0 0;
  border-right: none;
}
.is24-tab.active,
.is24-tab-radio:checked + .is24-tab{
  background: #ffffff;
  color: var(--text);
  border-bottom: 2px solid var(--accent);
  margin-bottom: -1px;
}
.is24-body{
  padding: 20px;
  display: flex;
  align-items: flex-end;
  gap: 16px;
  flex-wrap: wrap;
}
.is24-more{
  flex:0 0 auto;
}
.is24-more[open]{
  flex:1 0 100%;
}
.is24-more > summary{
  list-style:none;
}
.is24-more > summary::-webkit-details-marker{
  display:none;
}
.is24-more-panel{
  width:100%;
  margin-top:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.92);
}
.is24-field{
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 150px;
}
.is24-field.large{
  flex: 2;
  min-width: 200px;
}
.is24-label{
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
}
.is24-smartbar{
  margin-top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.is24-smart-pill{
  display:inline-flex;
  align-items:center;
  user-select:none;
  cursor:pointer;
}
.is24-smart-pill input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
}
.is24-smart-pill-ui{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(15,23,32,.14);
  background:rgba(11,42,58,.06);
  color:rgba(11,42,58,.86);
  font-weight:950;
  letter-spacing:-0.01em;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease, color .15s ease;
}
.is24-smart-pill-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(11,42,58,.28);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.85);
}
.is24-smart-pill input:focus-visible + .is24-smart-pill-ui{
  box-shadow:0 0 0 3px rgba(200,161,74,.22);
}
.is24-smart-pill input:checked + .is24-smart-pill-ui{
  background:rgba(11,42,58,.94);
  border-color:rgba(11,42,58,.94);
  color:#fff;
  box-shadow:0 10px 24px rgba(11,42,58,.18);
  transform:translateY(-1px);
}
.is24-smart-pill input:checked + .is24-smart-pill-ui .is24-smart-pill-dot{
  background:rgba(200,161,74,.95);
  box-shadow:0 0 0 3px rgba(200,161,74,.22);
}
.is24-smart-help{
  margin-top:0;
  font-size:12px;
  color:rgba(15,23,32,.62);
  line-height:1.35;
  opacity:0;
  transform:translateY(-4px);
  max-height:0;
  overflow:hidden;
  transition:opacity .18s ease, transform .18s ease, max-height .18s ease;
}
.is24-smart-help.is-on{
  margin-top:8px;
  opacity:1;
  transform:translateY(0);
  max-height:56px;
}
.is24-smart-title{
  font-weight:900;
  letter-spacing:-0.01em;
  color:rgba(11,42,58,.94);
}
.is24-smart-badge{
  margin-left:auto;
  font-size:12px;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(200,161,74,.12);
  border:1px solid rgba(200,161,74,.28);
  color:rgba(115,84,20,.95);
}
.is24-smart-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:850;
  color:rgba(15,23,32,.78);
  user-select:none;
  margin-left:-2px;
}
.is24-smart-toggle input{
  appearance:none;
  width:42px;
  height:24px;
  border-radius:999px;
  background:rgba(15,23,32,.14);
  border:1px solid rgba(15,23,32,.18);
  position:relative;
  outline:none;
  cursor:pointer;
  flex:0 0 auto;
  transition:background .15s ease, border-color .15s ease;
}
.is24-smart-toggle input::after{
  content:"";
  position:absolute;
  top:50%;
  left:3px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#fff;
  transform:translateY(-50%);
  box-shadow:0 6px 16px rgba(0,0,0,.16);
  transition:left .15s ease;
}
.is24-smart-toggle input:checked{
  background:rgba(11,42,58,.94);
  border-color:rgba(11,42,58,.94);
}
.is24-smart-toggle input:checked::after{left:21px}
@media (max-width: 768px){
  .is24-smartbar{flex-wrap:wrap}
  .is24-smart-badge{order:3;margin-left:0}
}
.is24-control{
  width: 100%;
  height: 48px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--text);
  padding: 0 14px;
  outline: none;
  font-size: 15px;
  transition: border-color 0.2s;
}
.is24-control:focus{
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(255,45,109,0.1);
}

/* Autocomplete styles */
.autocomplete-wrapper {
  position: relative;
  width: 100%;
}
.autocomplete-wrapper.has-voice .is24-control{
  padding-right:54px;
}
.is24-voice{
  position:absolute;
  top:24px;
  right:10px;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.92);
  color:rgba(11,42,58,.86);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .14s ease, background .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease;
  z-index:2;
}
.is24-voice:hover{
  border-color:transparent;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  color:#fff;
  box-shadow:0 14px 36px rgba(11,42,58,.18);
  transform:translateY(calc(-50% - 1px));
}
.is24-voice:focus-visible{
  outline:3px solid rgba(11,42,58,.26);
  outline-offset:3px;
}
.is24-voice.is-listening{
  border-color:transparent;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  color:#fff;
  box-shadow:0 14px 36px rgba(11,42,58,.18);
}
.is24-voice.is-listening svg{
  animation:voicePulse .9s ease-in-out infinite;
}
@keyframes voicePulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.12)}
}
.autocomplete-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
  max-height: 250px;
  overflow-y: auto;
  z-index: 80;
  margin-top: 4px;
  display: none;
}
.quick-search{position:relative;z-index:50}
.autocomplete-list.show {
  display: block;
}
.autocomplete-item {
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  color: var(--text);
  font-size: 14px;
}
.autocomplete-item:last-child {
  border-bottom: none;
}
.autocomplete-item:hover, .autocomplete-item.active {
  background: #ffffff;
  color: var(--accent);
}
.autocomplete-item .region {
  font-size: 12px;
  color: var(--muted);
  margin-left: 8px;
}

.is24-btn{
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 24px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--text);
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.is24-btn:hover{
  background: #ffffff;
}
.is24-btn.primary{
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  color: #ffffff;
  border-color: transparent;
}
.is24-btn.primary:hover{
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  filter: saturate(1.1);
}
@media (max-width: 768px){
  .is24-body { flex-direction: column; align-items: stretch; }
  .is24-field, .is24-btn { width: 100%; }
  .is24-tab{padding:14px 18px}
  .is24-search{margin-top:-16px}
  body[data-page="home"] .quick-search .is24-search{margin-top:0}
  body[data-page="home"] .quick-search .is24-search{
    position:sticky;
    top:118px;
    z-index:95;
  }
}
.field{grid-column:span 6;display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1 / -1}
.label{font-size:13px;color:rgba(15,23,32,.70)}
.control{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  border-radius:12px;
  border:1px solid rgba(15,23,32,.14);
  background:#ffffff;
  color:var(--text);
  padding:12px 12px;
  outline:none;
}
.control:focus{border-color:rgba(200,161,74,.55);box-shadow:0 0 0 3px rgba(200,161,74,.12)}
.control::placeholder{color:rgba(15,23,32,.45)}
.actions{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px}
.actions .btn{flex:1 1 240px}
.file-field{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(15,23,32,.14);
  background:#ffffff;
}
.file-input{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.file-field .btn{
  flex:0 0 auto;
  padding:10px 14px;
  border-radius:12px;
}
.file-meta{
  flex:1 1 220px;
  color:rgba(15,23,32,.62);
  font-size:14px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.appointment-planner{transition:opacity .2s ease, transform .2s ease}
.appointment-planner.is-open{animation:appointmentIn .22s ease-out both}
.appointment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:100%;min-width:0}
.appointment-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.appointment-k{font-size:12px;font-weight:850;color:rgba(15,23,32,.72);display:inline-flex;align-items:center;gap:8px}
.appointment-k::before{content:"";width:16px;height:16px;display:block;flex:0 0 auto;background:currentColor;opacity:.9}
.appointment-field:nth-child(1) .appointment-k::before{
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%274%27%20width%3D%2718%27%20height%3D%2718%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27M16%202v4M8%202v4M3%2010h18%27/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%274%27%20width%3D%2718%27%20height%3D%2718%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27M16%202v4M8%202v4M3%2010h18%27/%3E%3C/svg%3E") center/contain no-repeat;
}
.appointment-field:nth-child(2) .appointment-k::before{
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27/%3E%3Cpath%20d%3D%27M12%207v5l3%203%27/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27/%3E%3Cpath%20d%3D%27M12%207v5l3%203%27/%3E%3C/svg%3E") center/contain no-repeat;
}
.appointment-field .control[type="date"],
.appointment-field .control[type="time"]{
  color-scheme:light;
  -webkit-text-fill-color:var(--text);
  width:100%;
  max-width:100%;
  min-width:0;
}
@keyframes appointmentIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:none}
}
@media (max-width: 640px){
  .appointment-grid{grid-template-columns:1fr}
}

.tabs{display:flex;gap:10px;flex-wrap:wrap}
.tabs button{border-radius:999px}

.footer{
  border-top:0;
  background:linear-gradient(180deg, rgba(11,42,58,.96) 0%, rgba(7,22,32,.98) 100%);
  padding:54px 0 44px;
  color:rgba(255,255,255,.74);
  position:relative;
  z-index:20;
  overflow:hidden;
}
.footer .container{padding-left:22px;padding-right:22px}
.footer::before{
  content:"";
  display:none;
  position:absolute;
  inset:-20% 0 0 0;
  background:url("../assets/MAISON FORET.png") center/cover no-repeat;
  opacity:.22;
  filter:saturate(.92) contrast(1.02) brightness(.9);
  pointer-events:none;
}
.footer::after{
  content:"";
  position:absolute;
  inset:-40% -20% auto -20%;
  height:420px;
  background:
    radial-gradient(closest-side, rgba(143,149,156,.16), transparent 60%),
    radial-gradient(closest-side, rgba(120,127,135,.14), transparent 60%),
    radial-gradient(closest-side, rgba(84,91,98,.14), transparent 60%);
  filter:blur(18px);
  pointer-events:none;
  opacity:.75;
}
.footer-top{display:grid;grid-template-columns:minmax(320px, 1.05fr) 1.95fr;gap:34px;align-items:start;position:relative;z-index:1}
.footer-brand{max-width:460px;display:flex;flex-direction:column;gap:10px}
.footer-logo{display:none}
.footer-logo{
  width:clamp(240px, 26vw, 300px);
  padding:22px;
  border-radius:28px !important;
  background:rgba(240,244,247,.92);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 28px 74px rgba(0,0,0,.26);
  margin-top:-54px;
}
.footer-logo img{
  width:100%;
  height:auto;
  display:block;
  border-radius:18px !important;
  background:#ffffff;
  padding:26px;
  border:1px solid rgba(15,23,32,.06);
  box-shadow:0 10px 26px rgba(15,23,32,.10);
}
.footer-desc{margin-top:0;color:rgba(255,255,255,.68);line-height:1.65;max-width:520px}
.footer-desc > span:first-child{
  font-family:inherit;
  font-size:22px;
  line-height:1.3;
  letter-spacing:-0.01em;
  font-weight:850;
  color:rgba(255,255,255,.72);
}
.footer-desc > span:last-child{color:rgba(255,255,255,.74);font-size:14px;line-height:1.6}
.footer-desc > span{display:block}
.footer-desc .footer-desc-gap{height:10px}
.footer-desc .footer-desc-accent{color:inherit;font-weight:950}
.footer-social{
  margin-top:8px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
@supports not (gap: 12px){
  .footer-social .social-btn + .social-btn{margin-left:12px}
  .topbar-menu-footer-social .social-btn + .social-btn{margin-left:12px}
}
.footer-col .footer-social{margin-top:18px}
.footer-social--brand{display:none}
.footer-brand .footer-social--brand{margin-top:18px}
@media (min-width: 721px){
  .footer-social--brand{display:flex}
  .footer-cols .footer-col:nth-child(2) .footer-social{display:none}
}
.footer-social .k{
  display:block;
  width:100%;
  margin-top:2px;
  color:rgba(255,255,255,.86);
  font-size:13px;
  font-weight:850;
  letter-spacing:.01em
}
.social-btn{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  box-shadow:0 16px 46px rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.90);
  text-decoration:none;
  transition:transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.social-btn svg{width:18px;height:18px;display:block}
.social-btn:hover{
  transform:translateY(-2px);
  border-color:transparent;
  background:linear-gradient(90deg, var(--accent), var(--accent2));
  color:#ffffff;
  box-shadow:0 22px 54px rgba(11,42,58,.22);
}
.footer .footer-social .social-btn{
  width:32px;
  height:32px;
  background:transparent;
  border-color:rgba(255,255,255,.26);
  box-shadow:none;
  color:rgba(255,255,255,.86);
  transform:none;
  display:grid;
  place-items:center;
}
.footer .footer-social .social-btn svg{width:15px;height:15px;display:block;transform:translateY(.5px)}
.footer .footer-social .social-btn:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.42);
  box-shadow:none;
  color:#ffffff;
  transform:none;
}
.topbar-menu-footer .topbar-menu-footer-social .social-btn{
  width:46px;
  height:46px;
  background:rgba(255,255,255,.72);
  border-color:rgba(15,23,32,.12);
  box-shadow:0 14px 34px rgba(15,23,32,.10);
  color:rgba(11,42,58,.90);
  transform:none;
  display:grid;
  place-items:center;
}
.topbar-menu-footer .topbar-menu-footer-social .social-btn svg{width:18px;height:18px;display:block}
.topbar-menu-footer .topbar-menu-footer-social .social-btn:hover{
  background:linear-gradient(90deg, var(--accent), var(--accent2));
  border-color:transparent;
  box-shadow:0 18px 44px rgba(11,42,58,.24);
  color:#ffffff;
  transform:none;
}
.social-btn.social-btn--instagram{color:#E1306C}
.social-btn.social-btn--facebook{color:#1877F2}
.social-btn.social-btn--linkedin{color:#0A66C2}
.social-btn.social-btn--youtube{color:#FF0000}
.social-btn.social-btn--instagram:hover{
  background:rgba(225,48,108,.14);
  border-color:rgba(225,48,108,.30);
  box-shadow:0 22px 54px rgba(225,48,108,.18);
  color:#E1306C;
}
.social-btn.social-btn--facebook:hover{
  background:rgba(24,119,242,.14);
  border-color:rgba(24,119,242,.30);
  box-shadow:0 22px 54px rgba(24,119,242,.18);
  color:#1877F2;
}
.social-btn.social-btn--linkedin:hover{
  background:rgba(10,102,194,.14);
  border-color:rgba(10,102,194,.30);
  box-shadow:0 22px 54px rgba(10,102,194,.18);
  color:#0A66C2;
}
.social-btn.social-btn--youtube:hover{
  background:rgba(255,0,0,.12);
  border-color:rgba(255,0,0,.30);
  box-shadow:0 22px 54px rgba(255,0,0,.16);
  color:#FF0000;
}
.footer-cols{
  display:grid;
  grid-template-columns:minmax(170px, .85fr) minmax(360px, 1.35fr) minmax(300px, 1.1fr);
  gap:0;
  position:relative;
  z-index:1
}
.footer-cols .footer-col{justify-self:start}
.footer-col{
  border:0;
  background:transparent;
  backdrop-filter:none;
  border-radius:0;
  padding:0;
  box-shadow:none;
}
.footer-cols{
  padding-left:34px;
  border-left:1px solid rgba(255,255,255,.12);
}
.footer-cols .footer-col{padding:0 34px}
.footer-cols .footer-col:first-child{padding-left:0}
.footer-cols .footer-col:last-child{padding-right:0}
.footer-cols .footer-col + .footer-col{
  border-left:1px solid rgba(255,255,255,.12);
}
.footer-col .k{font-size:12px;color:rgba(255,255,255,.72);font-weight:950;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;display:inline-block}
.footer-col .k::after{
  content:"";
  display:block;
  width:42px;
  height:1px;
  margin-top:10px;
  background:rgba(255,255,255,.18);
}
.footer-col a{display:block;color:rgba(255,255,255,.78);text-decoration:none;padding:7px 0}
.footer-col a:hover{color:rgba(200,161,74,.95)}
.footer-cols .footer-col:first-child a{
  display:flex;
  align-items:center;
  gap:10px;
}
.footer-cols .footer-col:first-child a::before{
  content:"";
  width:18px;
  height:18px;
  flex:0 0 auto;
  opacity:.86;
  background-size:18px 18px;
  background-repeat:no-repeat;
  background-position:center;
}
.footer-cols .footer-col:first-child a:nth-of-type(1)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 12 4l8 6.5V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-9.5Z'/%3E%3Cpath d='M9.5 22v-7h5v7'/%3E%3C/svg%3E")}
.footer-cols .footer-col:first-child a:nth-of-type(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E")}
.footer-cols .footer-col:first-child a:nth-of-type(3)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19a2 2 0 0 0 2 2h14'/%3E%3Cpath d='M6 2h14v18H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z'/%3E%3Cpath d='M8 6h8'/%3E%3Cpath d='M8 10h8'/%3E%3C/svg%3E")}
.footer-cols .footer-col:first-child a:nth-of-type(4)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.footer-cols .footer-col:first-child a:nth-of-type(5)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M8 13h8'/%3E%3Cpath d='M8 17h6'/%3E%3C/svg%3E")}
.footer-cols .footer-col:first-child a{
  position:relative;
  padding:9px 0 14px;
  border-bottom:0;
}
.footer-cols .footer-col:first-child a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:6px;
  width:34px;
  height:1px;
  background:rgba(255,255,255,.18);
}
.footer-note{margin:2px 0 14px;max-width:44ch}
.footer-contact{display:flex;flex-direction:column;gap:14px;max-width:520px}
.footer-contact-item{display:flex;gap:16px;align-items:center;min-width:0}
.footer-contact-item + .footer-contact-item{
  border-top:0;
  padding-top:0;
}
.footer-contact-ico{
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  box-shadow:0 16px 46px rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.88);
  flex:0 0 auto;
}
.footer-contact-ico svg{width:20px;height:20px}
.footer-contact-text{
  min-width:0;
  display:grid;
  grid-template-columns:1fr;
  row-gap:4px;
}
.footer-contact-k{font-size:11px;color:rgba(255,255,255,.72);font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.footer-contact .footer-contact-text a{
  padding:0;
  display:block;
  margin-top:0;
  color:rgba(255,255,255,.78);
  line-height:1.35;
  word-break:normal;
  overflow-wrap:normal;
}
.footer-contact .footer-contact-text a{white-space:nowrap}
.footer-contact .footer-contact-text a[href^="mailto:"]{white-space:nowrap;overflow-wrap:normal}
@media (max-width: 420px){
  .footer-contact .footer-contact-text a[href^="mailto:"]{font-size:14px}
}
.footer-contact .footer-contact-text a:hover{color:rgba(255,255,255,.90)}
.footer-contact-v{margin-top:0;color:rgba(255,255,255,.86);line-height:1.35}
@media (max-width: 420px){
  .footer-contact .footer-contact-text a,
  .footer-contact-v{white-space:normal}
}

@media (min-width: 860px){
  .footer-contact{max-width:none}
  .footer-contact-ico{width:44px;height:44px}
  .footer-contact-ico svg{width:20px;height:20px}
}
.footer-privacy{
  margin-top:12px;
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.68);
  font-size:13px;
}
.footer-privacy-ico{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.62);
  flex:0 0 auto;
}
.footer-privacy-ico svg{width:18px;height:18px}
.footer-newsletter{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 10px 10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  box-shadow:0 18px 52px rgba(0,0,0,.22);
  width:100%;
  max-width:none;
}
.footer-newsletter .control{
  border:0;
  background:transparent;
  padding:0;
  height:48px;
  min-width:0;
  flex:1 1 auto;
  font-size:15px;
}
.footer-newsletter .control:focus{box-shadow:none}
.footer-newsletter .btn{
  height:48px;
  padding:0 20px;
  border-radius:999px;
  white-space:nowrap;
  min-width:132px;
}
.footer-newsletter .footer-newsletter-btn{
  width:48px;
  min-width:48px;
  padding:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.footer-newsletter .footer-newsletter-btn svg{width:18px;height:18px}
.footer-form{display:block}
.footer-form .control{
  padding:11px 12px;
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.92);
}
.footer-form .control::placeholder{color:rgba(255,255,255,.55)}
.footer-form .control:focus{border-color:rgba(200,161,74,.65);box-shadow:0 0 0 3px rgba(200,161,74,.16)}
.footer-legal{margin-top:10px}
.footer-bottom{
  margin-top:26px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.footer-bottom-left{position:relative;padding-left:54px}
.footer-bottom-left::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:22px;
  opacity:.38;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cpath d='M2 38 L40 8 L62 28 L80 14 L118 38' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:44px 22px;
  background-repeat:no-repeat;
  background-position:center;
}
.footer-bottom-right{text-align:right}
.footer-bottom-right a{
  display:inline-block;
  padding:4px 3px;
  text-decoration:none;
}
.footer-bottom-right a:active{transform:scale(.99)}
.footer .fine{color:rgba(255,255,255,.58)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch}
.footer-grid .panel{height:100%}
.footer-grid .panel .inner{height:100%;display:flex;flex-direction:column}
.fine{font-size:12.5px;color:rgba(15,23,32,.55)}

.toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  max-width:min(640px, calc(100% - 24px));
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(15,23,32,.14);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow);
  color:rgba(15,23,32,.82);
  display:none;
  z-index:60;
}
.toast.show{display:block}

.whatsapp-fab{
  position:fixed;
  right:max(14px, env(safe-area-inset-right));
  bottom:max(14px, env(safe-area-inset-bottom));
  width:56px;
  height:56px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#ffffff;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(135deg, rgba(37, 211, 102, .95), rgba(18, 140, 126, .95));
  box-shadow:0 18px 40px rgba(0,0,0,.20);
  z-index:200;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
  transition:opacity .2s ease, transform .22s ease;
}
.whatsapp-fab svg{width:24px;height:24px}
.whatsapp-fab:hover{transform:translateY(-2px)}
body.menu-open .whatsapp-fab{
  opacity:0;
  pointer-events:none;
  transform:translateY(10px) scale(.92);
}

.to-top-fab{
  position:fixed;
  right:max(14px, env(safe-area-inset-right));
  bottom:calc(14px + env(safe-area-inset-bottom) + 60px);
  width:54px;
  height:54px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:1px solid rgba(11,42,58,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.84));
  backdrop-filter:blur(12px);
  box-shadow:0 16px 40px rgba(0,0,0,.16);
  color:rgba(11,42,58,.90);
  z-index:210;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px) scale(.98);
  transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.to-top-fab:hover{transform:translateY(-2px)}

@media (max-width: 720px){
  .whatsapp-fab{
    bottom:calc(14px + env(safe-area-inset-bottom) + 84px);
  }
  .to-top-fab{
    bottom:calc(14px + env(safe-area-inset-bottom) + 60px + 84px);
  }
}
.to-top-fab.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.to-top-fab:hover{transform:translateY(-2px) scale(1)}
.to-top-fab:active{transform:translateY(0) scale(.98)}
body.menu-open .to-top-fab{
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateY(10px) scale(.92) !important;
}

.loader{
  position:fixed;inset:0;z-index:100;
  background:#ffffff;
  display:flex;align-items:center;justify-content:center;
}
.loader .box{
  width:min(560px, calc(100% - 32px));
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow);
  padding:22px 20px;
}
.loader .logo{display:flex;justify-content:center}
.loader .logo img{width:min(380px, 92%);height:auto}
.loader .bar{
  margin-top:16px;
  height:10px;
  border-radius:999px;
  background:rgba(15,23,32,.08);
  overflow:hidden;
  border:1px solid rgba(15,23,32,.10);
}
.loader .bar > div{
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(11,42,58,.96), rgba(200,161,74,.95));
  transition:width .22s ease;
  will-change:width;
}
.loader .hint{margin:12px 0 0;text-align:center;color:rgba(15,23,32,.68);font-size:13px}

.map{
  border:1px solid rgba(15,23,32,.12);
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  box-shadow:0 22px 58px rgba(15,23,32,.14);
  position:relative;
}
.map::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 28%);
  z-index:1;
}
.map::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(120% 120% at 20% 10%, rgba(255,255,255,.10), transparent 55%),
    linear-gradient(180deg, rgba(7,17,28,.06), rgba(7,17,28,0) 22%, rgba(7,17,28,0) 78%, rgba(7,17,28,.08));
  opacity:.7;
  z-index:2;
}
.map-pin{
  position:absolute;
  left:var(--map-pin-x, 50%);
  top:var(--map-pin-y, 50%);
  width:26px;
  height:26px;
  border-radius:999px !important;
  clip-path:circle(50% at 50% 50%);
  background:#e11d48;
  border:3px solid rgba(255,255,255,.95);
  transform:translate(-50%, -50%);
  pointer-events:none;
  z-index:3;
  box-shadow:0 0 0 1px rgba(15,23,32,.18), 0 14px 32px rgba(15,23,32,.22);
  animation:map-pin-pulse 1.1s ease-in-out infinite;
}
.map-pin::before{
  content:none;
}
@keyframes map-pin-pulse{
  0%,100%{transform:translate(-50%, -50%) scale(1)}
  50%{transform:translate(-50%, -50%) scale(1.18)}
}
.map-zoom{
  position:absolute;
  right:12px;
  bottom:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  z-index:4;
}
.map-zoom-btn{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(15,23,32,.18);
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 26px rgba(15,23,32,.18);
  font-weight:900;
  font-size:20px;
  color:rgba(15,23,32,.88);
  line-height:1;
  display:grid;
  place-items:center;
}
.map-zoom-btn:active{transform:translateY(1px)}
body[data-page="listing"] .map iframe{pointer-events:none}
.map iframe{width:100%;height:320px;border:0;display:block;filter:saturate(1.08) contrast(1.04)}
#contact .map{
  border-radius:22px;
  border-color:rgba(15,23,32,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  box-shadow:0 22px 58px rgba(15,23,32,.14);
  position:relative;
}
#contact .map::after{opacity:.9}
@media (max-width: 640px){
  .map iframe{height:220px}
}

@media (max-width: 980px){
  .grid.cols-3{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .stats-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .footer-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:repeat(2, minmax(0, 1fr));gap:34px;padding-left:0;border-left:0}
  .footer-cols .footer-col{padding:0;border-left:0}
  .hero h1{font-size:42px}
  .brand img{height:74px}
  .about-grid{grid-template-columns:1fr}
  .about-showcase-head h2{font-size:32px}
  .about-top-grid{grid-template-columns:1fr}
  .about-services-head h3{font-size:26px}
  .about-service-card .body h3{font-size:22px}
  .about-service-card .body .desc{font-size:14px}
  .about-team-link .fine{font-size:14px}
}
@media (max-width: 640px){
  body{background:var(--bg)}
  .grid.cols-3,.grid.cols-2{grid-template-columns:1fr}
  .field{grid-column:1 / -1}
  .hero{min-height:100vh;padding:26px 0 22px;align-items:center}
  .hero h1{font-size:38px;line-height:1.1}
  .hero p{font-size:16px;margin-left:auto;margin-right:auto}
  .hero .overlay{background:linear-gradient(180deg, rgba(7,11,16,.18), rgba(7,11,16,.46) 62%, rgba(7,11,16,.62))}
  .topbar{background:#ffffff;backdrop-filter:none}
  .topbar::before{background:#ffffff;backdrop-filter:none}
  .brand img{
    height:56px;
    filter:brightness(1.03) contrast(1.03);
    clip-path:inset(4px 3px 5px 3px);
    mix-blend-mode:multiply;
  }
  .topbar-inner{padding:8px 0}
  .topbar .nav{gap:4px}
  .topbar .nav a{padding:6px 6px;border-radius:9px;font-size:11px}
  .card{background:#ffffff}
  .panel{background:#ffffff}
  .stats-grid{grid-template-columns:1fr}
  .hero .pill{justify-content:center;flex-wrap:wrap;gap:6px;padding:7px 10px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  .quick-search .panel{margin-top:0}
  .page-hero{min-height:44vh;padding:30px 0 22px;align-items:flex-end}
  .page-hero h1{font-size:30px}
  .footer .container{padding-left:12px;padding-right:12px}
  .footer-logo{margin-top:0;width:260px;max-width:100%}
  .footer-cols{grid-template-columns:1fr}
  .footer-cols{padding-left:0;border-left:0}
  .footer-cols .footer-col + .footer-col{border-left:0}
  .footer-contact-item + .footer-contact-item{border-top:0;padding-top:0}
  .footer-top{justify-items:stretch;text-align:center}
  .footer-brand{align-items:center;text-align:center}
  .footer-desc{text-align:center}
  .footer-social{justify-content:flex-start;width:100%}
  .footer-cols{justify-items:start;text-align:left}
  .footer-cols .footer-col{justify-self:start}
  .footer-col .k{display:block;font-size:13px}
  .footer-cols .footer-col:nth-child(2) > .k{display:block;margin-bottom:14px}
  .footer-cols .footer-col:nth-child(2) .footer-social > .k{font-size:0}
  .footer-cols .footer-col:nth-child(2) .footer-social > .k::before{content:attr(data-label);font-size:13px;font-weight:850;letter-spacing:.01em}
  .footer-col .footer-social{margin-top:22px}
  .footer-col .k::after{margin-left:0;margin-right:0}
  .footer-col a{text-align:left}
  .footer-cols .footer-col:first-child a{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    max-width:none;
    margin-left:0;
    margin-right:0;
    font-size:16px;
    line-height:1.35;
  }
  .footer-cols .footer-col:first-child a::before{width:18px;height:18px;background-size:18px 18px}
  .footer-cols .footer-col:first-child a::after{left:0;transform:none}
  .footer-contact{align-items:flex-start}
  .footer-contact-item{justify-content:flex-start}
  .footer-contact-text{text-align:left}
  .footer-contact-k{font-size:12px}
  .footer-contact .footer-contact-text a,
  .footer-contact-v{font-size:16px;line-height:1.35}
  .footer-bottom{flex-direction:column;align-items:flex-start;text-align:left}
  .footer-bottom-left{display:none}
  .footer-bottom-right{width:100%;text-align:left}
  .footer-desc{max-width:none;overflow-wrap:anywhere}
  .about-showcase{padding:16px;border-radius:18px}
  .about-showcase-head h2{font-size:28px}
  .about-block h3,.about-services-head h3{font-size:21px}
  .about-copy p{line-height:1.62}
  .about-service-card .body .desc{font-size:13.5px;line-height:1.55}
  .about-service-icon{width:42px;height:42px;border-radius:13px}
  .about-team-link .fine{font-size:13.5px;line-height:1.55}
  .about-team-row .btn{width:100%}
}

@media (max-width: 720px){
  .footer .container{padding-left:12px;padding-right:12px}
  .footer-top{justify-items:stretch;text-align:center}
  .footer-brand{align-items:center;text-align:center}
  .footer-desc{text-align:center}
  .footer-social{justify-content:flex-start;width:100%}
  .footer-cols{grid-template-columns:1fr;justify-items:start;text-align:left;padding-left:0;border-left:0}
  .footer-cols .footer-col + .footer-col{border-left:0}
  .footer-cols .footer-col{justify-self:start}
  .footer-col .k{display:block;font-size:13px}
  .footer-cols .footer-col:nth-child(2) > .k{display:block;margin-bottom:14px}
  .footer-cols .footer-col:nth-child(2) .footer-social > .k{font-size:0}
  .footer-cols .footer-col:nth-child(2) .footer-social > .k::before{content:attr(data-label);font-size:13px;font-weight:850;letter-spacing:.01em}
  .footer-col .footer-social{margin-top:22px}
  .footer-col .k::after{margin-left:0;margin-right:0}
  .footer-col a{text-align:left}
  .footer-cols .footer-col:first-child a{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    max-width:none;
    margin-left:0;
    margin-right:0;
    font-size:16px;
    line-height:1.35;
  }
  .footer-cols .footer-col:first-child a::before{width:18px;height:18px;background-size:18px 18px}
  .footer-cols .footer-col:first-child a::after{left:0;transform:none}
  .footer-contact{align-items:flex-start}
  .footer-contact-item{justify-content:flex-start;position:relative;flex-direction:row;gap:16px}
  .footer-contact-ico{width:34px;height:34px}
  .footer-contact-ico svg{width:16px;height:16px}
  .footer-contact-ico{margin:0}
  .footer-contact-text{justify-items:start}
  .footer-contact .footer-contact-text a{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
  .footer-contact-k{font-size:12px}
  .footer-contact .footer-contact-text a,
  .footer-contact-v{font-size:16px;line-height:1.35}
  .footer-contact-item:not(:last-child){padding-bottom:0}
  .footer-contact-item:not(:last-child)::after{display:none}
  .footer-contact-text{text-align:left}
  .footer-bottom{flex-direction:column;align-items:flex-start;text-align:left}
  .footer-bottom-left{display:none}
  .footer-bottom-right{width:100%;text-align:left}
}
@media (max-width: 420px){
  .footer-desc{max-width:none;font-size:14.5px;line-height:1.7}
  .footer-desc > span:first-child{font-size:20px}
}

.reveal{
  opacity:0;
  transform:translateY(12px);
  will-change:transform, opacity;
  transition:opacity .24s ease, transform .24s cubic-bezier(.2,.9,.2,1);
}
.reveal.is-visible{opacity:1;transform:none}
@media (max-width: 720px){
  .reveal{transition:opacity .22s ease, transform .22s cubic-bezier(.2,.9,.2,1)}
}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  body[data-page="contact"] .contact-who-frame.reveal{opacity:1;transform:none;transition:none}
  .hero-content{animation:none}
}

 .hero-services{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 22px;
  color:rgba(255,255,255,.95);
  font-weight:800;
  font-size:15px;
  letter-spacing:.02em;
}
.hero-services .dot{opacity:.55}
@media (max-width: 640px){
  .hero-services{justify-content:center;font-size:13px}
}

.market-note{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:rgba(15,23,32,.72);
  font-size:13px;
}
.market-note .k{
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(15,23,32,.62);
}
.market-note .sep{opacity:.55}
.market-note a{
  text-decoration:none;
  color:rgba(15,23,32,.78);
}
.market-note a:hover{color:rgba(15,23,32,.92)}
.market-note strong{font-weight:950}

.trust-strip{
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(247,246,243,.92);
  box-shadow:none;
  color:rgba(15,23,32,.74);
  font-weight:850;
}
.trust-strip .dot{opacity:.55}
.trust-strip .item{white-space:nowrap}
.catalog-hero-panel .trust-strip .item{white-space:normal;text-align:center;flex:1 1 100%}
.trust-strip.trust-strip--quote{
  border:0;
  border-top:1px solid rgba(15,23,32,.10);
  border-radius:0;
  background:transparent;
  padding:26px 12px 0;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
}
.trust-strip--quote .dot{display:none}
.trust-strip--quote .trust-quote{
  font-size:56px;
  line-height:1;
  color:rgba(15,23,32,.26);
  font-weight:950;
}
.trust-strip--quote .item{
  white-space:normal;
  max-width:60ch;
  font-style:italic;
  font-weight:500;
  color:rgba(15,23,32,.72);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  line-height:1.35;
}
.trust-strip.trust-strip--steps{
  border:0;
  border-top:1px solid rgba(15,23,32,.10);
  border-radius:0;
  background:transparent;
  padding:22px 12px 0;
  justify-content:center;
}
.trust-steps{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:18px;
}
.trust-step{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-width:160px;
}
.trust-step-ico{
  width:86px;
  height:86px;
  border-radius:999px !important;
  clip-path:circle(50% at 50% 50%);
  border:1px solid rgba(15,23,32,.24);
  background:rgba(255,255,255,.92);
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(11,42,58,.92);
  position:relative;
  overflow:hidden;
}
.trust-step-ico svg{width:40px;height:40px}
.trust-step-text{
  margin-top:10px;
  font-size:12.5px;
  font-weight:650;
  color:rgba(11,42,58,.74);
}
.trust-step-sep{
  width:120px;
  height:1px;
  align-self:flex-start;
  margin-top:36px;
  background:repeating-linear-gradient(90deg, rgba(200,161,74,.82) 0 7px, rgba(200,161,74,0) 7px 14px);
  position:relative;
}
.trust-step-sep:after{
  content:"";
  position:absolute;
  right:-2px;
  top:50%;
  width:8px;
  height:8px;
  border-top:2px solid rgba(200,161,74,.82);
  border-right:2px solid rgba(200,161,74,.82);
  transform:translateY(-50%) rotate(45deg);
}
@media (max-width: 640px){
  .trust-strip{justify-content:center;font-size:12.5px}
  .trust-strip.trust-strip--quote{padding-top:22px}
  .trust-strip--quote .trust-quote{font-size:52px}
  .trust-strip.trust-strip--steps{padding-top:18px}
  .trust-steps{flex-direction:column;gap:12px}
  .trust-step{min-width:0}
  .trust-step-sep{display:none}
}

.trust-grid{
  display:grid;
  grid-template-columns:0.95fr 1.05fr;
  gap:16px;
  align-items:stretch;
  margin-top:14px;
}
.trust-visual{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(15,23,32,.10);
  min-height:0;
  box-shadow:0 22px 62px rgba(15,23,32,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  padding:14px;
}
.trust-visual img{
  position:static;
  width:100%;
  height:240px;
  object-fit:contain;
  object-position:center;
  border-radius:16px;
  border:1px solid rgba(15,23,32,.10);
  display:block;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.90));
}
.trust-overlay{
  display:none;
}
.trust-copy{
  position:static;
  margin-top:14px;
  color:#ffffff;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(120% 140% at 12% 10%, rgba(200,161,74,.14), transparent 55%),
    radial-gradient(110% 120% at 88% 0%, rgba(255,45,109,.10), transparent 58%),
    linear-gradient(180deg, rgba(11,42,58,.94), rgba(7,14,20,.90));
  box-shadow:
    0 28px 80px rgba(15,23,32,.26),
    inset 0 1px 0 rgba(255,255,255,.10);
  padding:18px 18px 16px;
  backdrop-filter:blur(16px);
  overflow:hidden;
}
.trust-copy::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg, rgba(200,161,74,.70), rgba(255,255,255,.12), rgba(11,42,58,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.92;
}
.trust-copy::after{
  content:"";
  position:absolute;
  inset:-40% -30%;
  background:
    radial-gradient(closest-side, rgba(255,255,255,.16), transparent 62%),
    radial-gradient(closest-side, rgba(200,161,74,.12), transparent 60%);
  transform:rotate(18deg);
  opacity:.45;
  pointer-events:none;
}
.trust-t{
  margin-top:0;
  font-family:var(--fontDisplay);
  font-size:28px;
  line-height:1.10;
  letter-spacing:-0.02em;
  color:#ffffff;
  text-shadow:0 18px 40px rgba(0,0,0,.35);
}
.trust-side-title{
  position:relative;
  z-index:1;
  margin:0 0 12px;
  font-size:13px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(15,23,32,.72);
  padding-left:2px;
}
.trust-content{display:block}
.trust-content .stats-grid{
  max-width:none;
  margin:0;
  height:100%;
  align-content:stretch;
  grid-auto-rows:1fr;
}
.trust-content .stat-card{
  position:relative;
  height:100%;
  border:1px solid rgba(15,23,32,.10);
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 46px rgba(15,23,32,.08);
  overflow:hidden;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.trust-content .stat-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg, rgba(200,161,74,.95), rgba(11,42,58,.85));
  opacity:1;
  transform:none;
}
.trust-content .stat-card:hover{
  transform:translateY(-2px);
  border-color:rgba(200,161,74,.28);
  box-shadow:0 22px 62px rgba(15,23,32,.12);
}
.trust-content .stat-card .icon{
  border-radius:14px;
  background:linear-gradient(135deg, rgba(11,42,58,.10), rgba(200,161,74,.10));
  border-color:rgba(15,23,32,.10);
}
.trust-content .stat-card .d{color:rgba(15,23,32,.72)}
.trust-testimonials{margin-top:8px}
@media (max-width: 980px){
  .trust-grid{grid-template-columns:1fr}
  .trust-t{font-size:24px}
}

@media (max-width: 640px){
  .hero .hero-video{object-fit:cover;object-position:center}
}

@media (max-width: 640px){
  .listing-gallery .media .nav.prev{left:max(10px, env(safe-area-inset-left))}
  .listing-gallery .media .nav.next{right:max(10px, env(safe-area-inset-right))}
  .listing-gallery .media .count{left:max(10px, env(safe-area-inset-left));bottom:10px}
}

/* Image lightbox */
.lightbox{
  position:fixed;inset:0;z-index:140;display:none;
  background:rgba(0,0,0,.88);
}
.lightbox.show{display:flex;align-items:center;justify-content:center}
.lightbox .inner{position:relative;max-width:90vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.lightbox img{max-width:90vw;max-height:86vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.lightbox .nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer}
.lightbox .prev{left:-60px}
.lightbox .next{right:-60px}
.lightbox .close{position:absolute;top:-54px;right:0;width:44px;height:44px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer}
@media (max-width: 780px){
  .lightbox .prev{left:10px}
  .lightbox .next{right:10px}
  .lightbox .close{top:10px;right:10px}
}

.lightbox.pano360 .inner{width:min(1100px, 92vw);height:min(640px, 78vh);max-width:92vw;max-height:78vh}
.lightbox.pano360 .pano360-stage{
  width:100%;
  height:100%;
  border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
  background:#000;
  background-size:auto 100%;
  background-repeat:repeat-x;
  background-position:0% 50%;
  cursor:grab;
  touch-action:none;
}
.lightbox.pano360 .pano360-stage:active{cursor:grabbing}
.lightbox.pano360 .pano360-hint{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(15,23,32,.46);
  backdrop-filter:blur(10px);
  color:rgba(255,255,255,.92);
  font-weight:900;
  font-size:12px;
  letter-spacing:.04em;
  user-select:none;
}

.admin-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(110px, 1fr));
  gap:10px;
}
.admin-thumb{
  position:relative;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 26px rgba(15,23,32,.08);
  cursor:grab;
  user-select:none;
}
.admin-thumb:active{cursor:grabbing}
.admin-thumb img{width:100%;height:86px;object-fit:cover;display:block}
.admin-thumb .bar{padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.admin-thumb .k{font-size:11px;color:rgba(15,23,32,.62);font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.admin-thumb .btns{display:flex;gap:6px}
.admin-mini-btn{
  border:1px solid rgba(15,23,32,.14);
  background:rgba(255,255,255,.86);
  border-radius:10px;
  padding:6px 8px;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
}
.admin-mini-btn:hover{border-color:rgba(200,161,74,.55)}
.admin-dropzone{
  border:1.5px dashed rgba(15,23,32,.22);
  border-radius:16px;
  padding:12px 14px;
  color:rgba(15,23,32,.74);
  background:rgba(255,255,255,.78);
}
.admin-dropzone.dragover{
  border-color:rgba(255,45,109,.55);
  box-shadow:0 0 0 3px rgba(255,45,109,.10);
}

@media (max-width: 980px){
  .admin-layout{grid-template-columns:1fr !important}
}

@media (max-width: 720px){
  .admin-gallery{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .admin-thumb img{height:112px}
  .admin-thumb .bar{padding:7px 8px}
  .admin-thumb .k{font-size:10px}
  .admin-thumb .btns{gap:5px}
  .admin-mini-btn{padding:5px 7px;font-size:11px;border-radius:9px}
}

@media (max-width: 420px){
  .admin-thumb img{height:122px}
  .admin-mini-btn{padding:5px 6px;font-size:11px}
}

body *{border-radius:0 !important}
.advice-kpi-icon,
.advice-kpi-ring .advice-kpi-icon,
.social-btn,
.whatsapp-fab,
.to-top-fab,
.footer-contact-ico,
.has-scroll-indicator .scroll-indicator-thumb,
.is24-smart-toggle input,
.is24-smart-toggle input::after{border-radius:999px !important}
.topbar-menu-card-head-ico,
.topbar-menu-card-chip-ico{border-radius:999px !important}
.topbar-menu-card,
.topbar-menu-card-chip,
.topbar-menu-card-cta{border-radius:14px !important}
.topbar-menu-panel{border-radius:0 !important}
.topbar-menu-panel .topbar-menu-footer{border-radius:0 !important}
