:root{
  --vert-fonce:#1B6B3A;
  --vert-profond:#0B3B24;
  --vert-clair:#E8F5EC;
  --or:#F4A700;
  --or-clair:#FFF8E1;
  --noir-doux:#1A1A2E;
  --encre:#101828;
  --gris-texte:#6B7280;
  --gris-fond:#F9FAFB;
  --blanc:#FFFFFF;
  --rouge-erreur:#EF4444;
  --rouge-clair:#FEF2F2;
  --radius-card:8px;
  --radius-btn:8px;
  --shadow-card:0 4px 20px rgba(0,0,0,.08);
  --shadow-hover:0 12px 40px rgba(0,0,0,.15);
  --transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

[v-cloak]{display:none !important}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--noir-doux);
  background:var(--gris-fond);
}
h1,h2,h3,h4{
  font-family:"Playfair Display",Georgia,"Times New Roman",serif;
  margin:0 0 .5rem 0;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
.grid{display:grid;gap:16px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 24px;border-radius:var(--radius-btn);
  border:1px solid transparent;cursor:pointer;
  font-weight:700;transition:.2s ease-out;
}
.btn-primary{background:var(--vert-fonce);color:var(--blanc)}
.btn-primary:hover{filter:brightness(0.95)}
.btn-outline{background:transparent;border-color:var(--vert-fonce);color:var(--vert-fonce)}
.btn-outline:hover{background:var(--vert-clair)}
.badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px;
}
.badge-vente{background:var(--vert-clair);color:var(--vert-fonce);border:1px solid rgba(27,107,58,.2)}
.badge-location{background:var(--or-clair);color:#8a5b00;border:1px solid rgba(244,167,0,.25)}
.card{
  background:var(--blanc);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
.muted{color:var(--gris-texte)}
.input, select, textarea{
  width:100%;
  padding:12px 12px;
  border:1px solid #E5E7EB;
  border-radius:10px;
  background:var(--blanc);
  outline:none;
}
.input:focus, select:focus, textarea:focus{border-color:rgba(27,107,58,.5);box-shadow:0 0 0 3px rgba(27,107,58,.12)}
.row{display:flex;gap:12px;flex-wrap:wrap}

/* Navbar */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900}
.brand span{letter-spacing:.4px}
.brand b{color:var(--vert-fonce)}
.brand i{color:var(--or);font-style:normal}
.nav-links{display:none;gap:14px;align-items:center}
.nav-links a{padding:10px 10px;border-radius:10px}
.nav-links a:hover{background:var(--vert-clair)}
.nav-actions{display:flex;gap:10px;align-items:center}
.hamburger{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff}
.mobile-menu{display:none;padding:12px 0;border-top:1px solid rgba(0,0,0,.06)}
.mobile-menu a{display:block;padding:12px 10px;border-radius:10px}
.mobile-menu a:hover{background:var(--vert-clair)}

/* Shared site navigation */
body{
  padding-top:64px;
}

.navbar:not(.site-navbar){
  display:none;
}

.site-navbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(23,33,27,.08);
}

.site-navbar .navbar-inner{
  min-height:64px;
}

.site-navbar .brand img{
  width:140px;
  height:auto;
}

.site-brand{
  gap:10px;
}

.site-brand-icon{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,#1B6B3A,#0B3B24);
  box-shadow:0 8px 18px rgba(11,59,36,.16);
}

.site-brand-icon i{
  font-size:1.35rem;
  color:#FFF8E1;
}

.site-brand-text{
  display:grid;
  gap:0;
  color:#132019;
  font-size:.92rem;
  font-weight:950;
  line-height:1.02;
}

.site-brand-text b{
  color:#F4A700;
  letter-spacing:.08em;
}

.site-navbar .nav-links{
  display:flex;
  gap:24px;
}

.site-navbar .nav-links a{
  color:#25352b;
  font-weight:900;
  padding:10px 4px;
  border-radius:8px;
  display:flex;
  align-items:center;
  gap:8px;
}

.site-navbar .nav-links a:hover{
  color:#173d2a;
  background:transparent;
}

.site-navbar .nav-links a i{
  color:#1B6B3A;
}

.registration-page h2,
.registration-page label,
.registration-page .pill b,
.registration-page .muted,
.registration-page a{
  display:flex;
  align-items:center;
  gap:8px;
}

.registration-page i{
  color:#1B6B3A;
}

.auth-page{
  min-height:calc(100vh - 64px);
}

.auth-card{
  overflow:hidden;
  border:1px solid rgba(23,33,27,.08);
  box-shadow:0 18px 46px rgba(23,33,27,.1);
}

.auth-card-head{
  padding:22px 22px 8px;
}

.auth-card-head h2{
  display:flex;
  align-items:center;
  gap:10px;
  color:#132019;
}

.auth-card-head .muted,
.auth-field label,
.auth-options,
.auth-options label,
.auth-link{
  display:flex;
  align-items:center;
  gap:8px;
}

.auth-card i,
.auth-page i{
  color:#1B6B3A;
}

.auth-card-body{
  padding:14px 22px 22px;
}

.auth-field{
  margin-bottom:14px;
}

.auth-field label{
  font-weight:900;
  margin-bottom:7px;
}

.field-icon{
  position:relative;
}

.field-icon .input{
  padding-right:46px;
}

.field-icon > i{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:#1B6B3A;
  opacity:.85;
}

.password-toggle{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:8px;
  background:#eef5ef;
  color:#1B6B3A;
  cursor:pointer;
}

.password-toggle:hover{
  background:#e1eee4;
}

.field-icon .password-toggle i{
  color:#1B6B3A;
}

.auth-options{
  justify-content:space-between;
  flex-wrap:wrap;
  margin:4px 0 14px;
}

.site-navbar .nav-actions .btn{
  min-height:48px;
  padding:12px 22px;
  font-size:1rem;
}

.site-menu-toggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.site-menu-button{
  display:none;
  color:#fff;
  background:#0f5b33;
  border-color:#0f5b33;
  box-shadow:0 10px 24px rgba(15,91,51,.18);
  cursor:pointer;
}

.site-menu-button i{
  color:#fff;
  font-size:1.12rem;
  line-height:1;
}

.site-menu-close,
.site-mobile-menu{
  display:none;
}

/* Hero */
.hero{
  min-height:86vh;
  padding-top:84px;
  background:
    linear-gradient(180deg, rgba(26,26,46,.55), rgba(26,26,46,.25) 45%, rgba(249,250,251,1) 100%),
    url('https://images.unsplash.com/photo-1564013799919-ab600027ffc6?w=1600') center/cover no-repeat;
}
.hero-content{padding:60px 0 28px 0}
.hero h1{color:#fff;font-size:clamp(2rem,5vw,3.25rem);max-width:720px}
.hero p{color:rgba(255,255,255,.86);max-width:720px;font-size:1.05rem}
.hero-search{
  margin-top:18px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(0,0,0,.06);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  overflow:hidden;
}
.tabs{display:flex;gap:6px;padding:10px;background:rgba(232,245,236,.7)}
.tab{flex:1;padding:10px;border-radius:12px;border:1px solid transparent;background:transparent;font-weight:800}
.tab.active{background:#fff;border-color:rgba(27,107,58,.25)}
.hero-form{display:grid;gap:12px;padding:14px}

/* Stats band */
.stats-band{background:var(--vert-fonce);color:#fff;padding:18px 0}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stat{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.08)}
.stat b{display:block;font-size:1.25rem}

/* Cards grid */
.cards{grid-template-columns:repeat(1,1fr)}
.card{
  transition:var(--transition);
  cursor:pointer;
}
.card:hover{
  box-shadow:var(--shadow-hover);
  transform:translateY(-8px);
}
.prop-img{
  aspect-ratio:16/9;
  object-fit:cover;
  width:100%;
  transition:var(--transition);
}
.card:hover .prop-img{
  transform:scale(1.05);
}
.prop-body{padding:12px}
.prop-title{font-weight:900;margin:6px 0 4px 0}
.prop-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--gris-texte)}
.prop-price{font-weight:950;font-size:1.15rem}
.agent-row{display:flex;gap:10px;align-items:center;margin-top:10px}
.avatar{width:36px;height:36px;border-radius:999px;object-fit:cover}

/* Sections */
.section{padding:48px 0}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:32px;
  flex-wrap:wrap;
}
.section h2{
  font-size:clamp(1.75rem,4vw,2.5rem);
  color:var(--noir-doux);
}
.pill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pill{
  padding:24px;
  border-radius:var(--radius-card);
  background:#fff;
  box-shadow:var(--shadow-card);
  border:1px solid rgba(0,0,0,.05);
  transition:var(--transition);
  animation:fadeInUp 0.6s ease-out forwards;
}
.pill:nth-child(2){animation-delay:0.1s}
.pill:nth-child(3){animation-delay:0.2s}
.pill:nth-child(4){animation-delay:0.3s}
.pill:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-hover);
  border-color:var(--vert-fonce);
}
.pill b{
  display:block;
  font-size:1.1rem;
  color:var(--noir-doux);
  margin-bottom:8px;
}

/* Testimonials */
.testimonial-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:16px}
.testimonial{
  padding:24px;
  border-radius:var(--radius-card);
  background:linear-gradient(135deg, rgba(27,107,58,.05), rgba(244,167,0,.02));
  border:1px solid rgba(27,107,58,.1);
  transition:var(--transition);
}
.testimonial:hover{
  background:linear-gradient(135deg, rgba(27,107,58,.08), rgba(244,167,0,.04));
  box-shadow:var(--shadow-card);
}
.testimonial-text{
  font-style:italic;
  font-size:0.95rem;
  line-height:1.6;
  color:var(--noir-doux);
  margin-bottom:12px;
}
.testimonial-author{
  font-weight:800;
  color:var(--vert-fonce);
}
.testimonial-role{
  font-size:0.85rem;
  color:var(--gris-texte);
}

/* Features */
.features-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:24px}
.feature{
  display:flex;
  gap:16px;
  animation:fadeInUp 0.6s ease-out forwards;
}
.feature:nth-child(2){animation-delay:0.1s}
.feature:nth-child(3){animation-delay:0.2s}
.feature:nth-child(4){animation-delay:0.3s}
.feature-icon{
  width:56px;
  height:56px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--vert-clair);
  border-radius:12px;
  font-size:1.5rem;
}
.feature-content h3{
  margin-top:0;
  color:var(--noir-doux);
}
.feature-content p{
  margin:4px 0 0 0;
  color:var(--gris-texte);
  font-size:0.95rem;
  line-height:1.5;
}

/* Newsletter */
.newsletter{
  background:linear-gradient(135deg, var(--vert-fonce), #155a2f);
  color:white;
  padding:48px;
  border-radius:var(--radius-card);
  text-align:center;
}
.newsletter h2{color:white}
.newsletter-form{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  max-width:500px;
  margin:24px auto 0;
}
.newsletter-form input{
  padding:14px 16px;
  border:none;
  border-radius:8px;
}
.newsletter-form button{
  padding:14px 32px;
}

/* Footer */
.footer{
  background:#0f0f1e;
  color:#a0a0b8;
  padding:48px 0 24px 0;
  border-top:1px solid rgba(255,255,255,.1);
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(1,1fr);
  gap:32px;
  margin-bottom:32px;
}
.footer-col h3{
  color:white;
  font-size:0.95rem;
  font-weight:900;
  margin:0 0 16px 0;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.footer-col a{
  display:block;
  font-size:0.9rem;
  margin-bottom:10px;
  transition:var(--transition);
  color:#a0a0b8;
}
.footer-col a:hover{
  color:var(--vert-fonce);
}
.footer-socials{
  display:flex;
  gap:12px;
  margin-top:16px;
}
.footer-socials a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  background:rgba(255,255,255,.1);
  border-radius:50%;
  margin:0;
  font-size:1.1rem;
  transition:var(--transition);
}
.footer-socials a:hover{
  background:var(--vert-fonce);
  color:white;
  transform:translateY(-4px);
}
.footer-bottom{
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  font-size:0.85rem;
}

/* Animations */
@keyframes fadeInUp {
  from{
    opacity:0;
    transform:translateY(20px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes slideInLeft {
  from{
    opacity:0;
    transform:translateX(-30px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes pulse {
  0%, 100%{opacity:1}
  50%{opacity:0.7}
}

@keyframes softEnter {
  from{
    opacity:0;
    transform:translateY(14px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes softScaleIn {
  from{
    opacity:0;
    transform:translateY(10px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.hero h1{
  animation:slideInLeft 0.8s ease-out;
}
.hero p{
  animation:slideInLeft 0.8s ease-out 0.2s both;
}
.hero-search{
  animation:fadeInUp 0.8s ease-out 0.4s both;
}

.stat{
  animation:fadeInUp 0.6s ease-out forwards;
}
.stat:nth-child(2){animation-delay:0.1s}
.stat:nth-child(3){animation-delay:0.2s}
.stat:nth-child(4){animation-delay:0.3s}

/* Subtle site-wide motion */
.home-shell,
.annonces-hero,
.trust-section,
.home-section,
.featured-agents-section,
.city-section,
.guide-strip,
.owner-section,
.annonces-content,
.advertisers-hero,
.advertisers-list-section{
  animation:softEnter .5s ease both;
}

.search-card,
.filters-panel,
.results-toolbar,
.annonces-hero-card,
.owner-panel{
  animation:softScaleIn .5s ease both;
}

.quick-grid a,
.trust-cards article,
.listing-card,
.featured-agent-card,
.city-card,
.guide-strip article,
.advertiser-card,
.filter-checks label{
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background-color .22s ease,
    color .22s ease;
}

.quick-grid a:hover,
.trust-cards article:hover,
.featured-agent-card:hover,
.advertiser-card:hover,
.filter-checks label:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(23,33,27,.1);
  border-color:rgba(23,61,42,.18);
}

.home-metrics div,
.featured-agent-meta span,
.listing-meta span,
.advertiser-stats div{
  transition:background-color .2s ease, transform .2s ease;
}

.home-metrics div:hover,
.featured-agent-meta span:hover,
.listing-meta span:hover,
.advertiser-stats div:hover{
  transform:translateY(-1px);
  background:#eef5ef;
}

.listing-grid .listing-card,
.featured-agents-grid .featured-agent-card,
.trust-cards article,
.guide-strip-grid article,
.quick-grid a{
  animation:softScaleIn .48s ease both;
}

.listing-grid > *:nth-child(2),
.featured-agents-grid > *:nth-child(2),
.trust-cards > *:nth-child(2),
.guide-strip-grid > *:nth-child(2),
.quick-grid > *:nth-child(2){
  animation-delay:.06s;
}

.listing-grid > *:nth-child(3),
.featured-agents-grid > *:nth-child(3),
.trust-cards > *:nth-child(3),
.guide-strip-grid > *:nth-child(3),
.quick-grid > *:nth-child(3){
  animation-delay:.12s;
}

.listing-grid > *:nth-child(4),
.quick-grid > *:nth-child(4){
  animation-delay:.18s;
}

/* Responsive */
@media (min-width:768px){
  .nav-links{display:flex}
  .hamburger{display:none}
  .hero-form{grid-template-columns:repeat(4,1fr);align-items:end}
  .stats{grid-template-columns:repeat(4,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .pill-grid{grid-template-columns:repeat(4,1fr)}
  .testimonial-grid{grid-template-columns:repeat(2,1fr)}
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(4,1fr)}
  .newsletter-form{grid-template-columns:1fr auto}
}
@media (min-width:1024px){
  .cards{grid-template-columns:repeat(3,1fr)}
  .features-grid{grid-template-columns:repeat(2,1fr)}
}

/* Home refresh */
body{background:#f6f7f4}
.btn{min-height:44px}
.btn-primary{background:linear-gradient(135deg,var(--vert-fonce),var(--vert-profond));color:var(--blanc)}
.btn-primary:hover{filter:brightness(1.04);transform:translateY(-2px)}
.btn-glass{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.28);backdrop-filter:blur(12px)}
.btn-glass:hover{background:rgba(255,255,255,.22);transform:translateY(-2px)}

.home-hero{
  min-height:92vh;
  padding-top:92px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(110deg, rgba(9,38,25,.88) 0%, rgba(9,38,25,.7) 42%, rgba(9,38,25,.18) 100%),
    url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?w=1800') center/cover no-repeat;
  position:relative;
  overflow:hidden;
}
.home-hero::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:130px;
  background:linear-gradient(180deg,rgba(246,247,244,0),#f6f7f4 78%);
  pointer-events:none;
}
.hero-layout{
  position:relative;
  z-index:1;
  display:grid;
  gap:28px;
  padding:54px 16px 96px;
}
.hero-copy{max-width:760px}
.eyebrow{
  color:var(--or);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.home-hero h1{
  color:#fff;
  font-size:clamp(2.5rem,7vw,5.6rem);
  line-height:.98;
  max-width:760px;
}
.home-hero p{color:rgba(255,255,255,.86);max-width:620px;font-size:1.08rem;line-height:1.7}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.elevated-panel{animation:fadeInUp .75s ease-out .2s both}
.hero-search{
  margin-top:0;
  border-radius:8px;
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.form-label{display:block;font-size:.78rem;font-weight:900;color:var(--encre);margin-bottom:6px}
.search-btn{width:100%;align-self:end}

.stats-band{background:transparent;color:var(--encre);padding:0;position:relative;z-index:2;margin-top:-54px}
.stat{padding:20px;border-radius:8px;background:#fff;box-shadow:0 18px 46px rgba(15,23,42,.1);border:1px solid rgba(16,24,40,.06)}
.stat b{font-size:1.55rem;color:var(--vert-fonce)}
.stat span{color:var(--gris-texte);font-weight:700;font-size:.9rem}
.section{padding:68px 0}
.intro-section{padding-top:74px}

.category-grid{display:grid;grid-template-columns:1fr;gap:14px}
.category-card{
  min-height:190px;
  padding:22px;
  border-radius:8px;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(11,59,36,.88),rgba(27,107,58,.68)),
    url('https://images.unsplash.com/photo-1600566752355-35792bedcfea?w=900') center/cover;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(16,24,40,.12);
}
.category-card:nth-child(2){background-image:linear-gradient(135deg,rgba(11,59,36,.83),rgba(27,107,58,.6)),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?w=900')}
.category-card:nth-child(3){background-image:linear-gradient(135deg,rgba(11,59,36,.83),rgba(27,107,58,.6)),url('https://images.unsplash.com/photo-1502672260266-1c1ef2d93688?w=900')}
.category-card:nth-child(4){background-image:linear-gradient(135deg,rgba(11,59,36,.83),rgba(27,107,58,.6)),url('https://images.unsplash.com/photo-1600585154526-990dced4db0d?w=900')}
.category-card::after{
  content:'';
  position:absolute;
  inset:auto -20% -42% -20%;
  height:80%;
  background:radial-gradient(circle,rgba(244,167,0,.32),rgba(244,167,0,0) 62%);
  transition:.35s ease;
}
.category-card:hover::after{transform:translateY(-14px)}
.category-card span{font-weight:900;color:var(--or);margin-bottom:auto}
.category-card b{font-size:1.35rem;position:relative;z-index:1}
.category-card small{color:rgba(255,255,255,.84);line-height:1.5;position:relative;z-index:1;margin-top:8px}

.property-card{display:block;border:1px solid rgba(16,24,40,.07)}
.prop-media{position:relative;overflow:hidden}
.prop-badge{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.94)}
.prop-body{padding:16px}
.agent-name{font-weight:900}
.agent-role{font-size:12px}

.feature-band{background:#fff}
.feature-layout{display:grid;gap:32px}
.feature{
  padding:20px;
  border:1px solid rgba(16,24,40,.07);
  border-radius:8px;
  background:#fff;
}
.feature-icon{
  width:44px;
  height:44px;
  border-radius:8px;
  font-size:1rem;
  color:var(--vert-fonce);
  font-weight:950;
}

.location-grid{display:grid;grid-template-columns:1fr;gap:16px}
.location-card{
  min-height:260px;
  border-radius:8px;
  overflow:hidden;
  position:relative;
  display:flex;
  align-items:flex-end;
  color:#fff;
  box-shadow:0 18px 44px rgba(16,24,40,.14);
}
.location-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.45s ease}
.location-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(8,25,18,.74))}
.location-card div{position:relative;z-index:1;padding:22px}
.location-card b{display:block;font-size:1.5rem;margin-bottom:6px}
.location-card span{color:rgba(255,255,255,.82)}
.location-card:hover img{transform:scale(1.06)}

.process-section{background:#eef3ed}
.process-grid{display:grid;grid-template-columns:1fr;gap:14px}
.process-step{
  background:#fff;
  border-radius:8px;
  padding:22px;
  border:1px solid rgba(16,24,40,.06);
  transition:var(--transition);
}
.process-step:hover{transform:translateY(-5px);box-shadow:var(--shadow-card)}
.process-step span{display:block;color:var(--or);font-weight:950;margin-bottom:24px}
.process-step b{display:block;font-size:1.25rem}
.process-step p{color:var(--gris-texte);line-height:1.55;margin-bottom:0}

.cta-section{padding:40px 0;background:#fff}
.cta-panel{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  padding:34px 28px;
  border-radius:8px;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(11,59,36,.95),rgba(27,107,58,.85)),
    url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=1400') center/cover;
  box-shadow:0 24px 60px rgba(11,59,36,.22);
}
.cta-panel h2,.cta-panel p{color:#fff}
.cta-panel p{max-width:680px;margin:0;color:rgba(255,255,255,.82)}

.testimonials-section{background:#fff}
.guide-grid{display:grid;grid-template-columns:1fr;gap:16px}
.guide-card{
  background:#fff;
  border-radius:8px;
  padding:24px;
  border:1px solid rgba(16,24,40,.07);
  box-shadow:var(--shadow-card);
  transition:var(--transition);
}
.guide-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}
.guide-card span{font-weight:900;color:var(--vert-fonce);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.guide-card h3{font-size:1.35rem;margin-top:14px}
.guide-card p{color:var(--gris-texte);line-height:1.6;margin-bottom:0}

.newsletter-section{background:#f6f7f4}
.newsletter{
  background:
    linear-gradient(135deg, rgba(11,59,36,.96), rgba(16,24,40,.92)),
    url('https://images.unsplash.com/photo-1600607688969-a5bfcd646154?w=1400') center/cover;
  padding:34px;
  border-radius:8px;
  display:grid;
  gap:24px;
  align-items:center;
  box-shadow:0 24px 60px rgba(16,24,40,.18);
  text-align:left;
}
.newsletter p{margin:8px 0 0;color:rgba(255,255,255,.82)}
.newsletter-form{margin:0}

.footer{
  background:#071b12;
  color:#b7c7bd;
  padding:54px 0 24px 0;
}
.footer-shell{display:grid;gap:34px}
.footer-top{
  display:grid;
  gap:24px;
  align-items:end;
  padding-bottom:30px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-brand p{max-width:460px;line-height:1.7;margin:18px 0 0}
.footer-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-start}
.footer-cta span{font-size:1.25rem;color:#fff;font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:800}
.footer-grid{gap:24px;margin-bottom:0}
.footer-col a{color:#b7c7bd}
.footer-col a:hover{color:#fff;transform:translateX(4px)}
.footer-socials a{border-radius:8px}

.reveal-card{animation:fadeInUp .65s ease both}

@media (min-width:768px){
  .category-grid{grid-template-columns:repeat(4,1fr)}
  .feature-layout{grid-template-columns:.8fr 1.2fr;align-items:start}
  .location-grid{grid-template-columns:1.2fr .8fr;grid-auto-rows:260px}
  .location-card.large{grid-row:span 2}
  .process-grid{grid-template-columns:repeat(4,1fr)}
  .guide-grid{grid-template-columns:repeat(3,1fr)}
  .footer-top{grid-template-columns:1fr auto}
  .newsletter{grid-template-columns:1fr minmax(360px,.75fr);padding:44px}
}

@media (min-width:1024px){
  .hero-layout{grid-template-columns:1fr 460px;align-items:end}
}

@media (max-width:767px){
  .home-hero{min-height:auto}
  .hero-layout{padding-bottom:78px}
  .hero-actions .btn{width:100%}
  .stats-band{margin-top:-40px}
  .section{padding:52px 0}
  .category-card{min-height:170px}
  .newsletter{padding:26px 18px}
}

/* Mobile-first home polish */
@media (max-width:767px){
  body{
    background:#f7f8f5;
  }

  .container{
    padding:0 18px;
  }

  .navbar{
    background:rgba(255,255,255,.96);
  }

  .navbar-inner{
    min-height:62px;
  }

  .brand img{
    width:126px;
    height:auto;
  }

  .nav-actions > .btn{
    display:none;
  }

  .hamburger{
    width:auto;
    min-width:44px;
    height:40px;
    padding:0 12px;
    border-radius:8px;
    font-weight:800;
    color:var(--vert-profond);
  }

  .mobile-menu{
    padding:10px 18px 16px;
    background:#fff;
    box-shadow:0 18px 36px rgba(16,24,40,.08);
  }

  .mobile-menu a{
    padding:13px 10px;
    font-weight:800;
  }

  .home-hero{
    padding-top:62px;
    background:
      linear-gradient(180deg, rgba(7,27,18,.72) 0%, rgba(7,27,18,.62) 48%, rgba(7,27,18,.88) 100%),
      url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?w=1200') center/cover no-repeat;
  }

  .home-hero::after{
    height:72px;
  }

  .hero-layout{
    gap:22px;
    padding-top:42px;
    padding-bottom:76px;
  }

  .eyebrow{
    font-size:.72rem;
    letter-spacing:.1em;
  }

  .home-hero h1{
    font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    font-size:2.45rem;
    line-height:1.02;
    letter-spacing:0;
    max-width:12ch;
    margin-bottom:14px;
  }

  .home-hero p{
    font-size:1rem;
    line-height:1.58;
    max-width:34ch;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr 110px;
    gap:10px;
    margin-top:20px;
  }

  .hero-actions .btn{
    width:100%;
    padding:12px 14px;
    white-space:nowrap;
  }

  .hero-proof{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:16px 0 2px;
    scrollbar-width:none;
  }

  .hero-proof::-webkit-scrollbar{
    display:none;
  }

  .hero-proof span{
    flex:0 0 auto;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:8px;
    background:rgba(255,255,255,.1);
    color:rgba(255,255,255,.88);
    font-size:.78rem;
    font-weight:800;
  }

  .hero-search{
    border-radius:8px;
    box-shadow:0 22px 54px rgba(0,0,0,.24);
  }

  .search-heading{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-end;
    padding:16px 14px 4px;
  }

  .search-heading strong{
    color:var(--encre);
    font-size:1rem;
  }

  .search-heading span{
    color:var(--gris-texte);
    font-size:.78rem;
    font-weight:700;
    text-align:right;
  }

  .tabs{
    padding:10px 14px;
    background:#fff;
  }

  .tab{
    border-radius:8px;
    background:#eef3ed;
  }

  .tab.active{
    color:#fff;
    background:var(--vert-fonce);
    border-color:var(--vert-fonce);
  }

  .hero-form{
    padding:4px 14px 16px;
    gap:11px;
  }

  .input,
  select,
  textarea{
    border-radius:8px;
    min-height:46px;
  }

  .stats-band{
    margin-top:-34px;
  }

  .stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .stat{
    padding:14px 12px;
    box-shadow:0 14px 34px rgba(16,24,40,.11);
  }

  .stat b{
    font-size:1.28rem;
  }

  .stat span{
    font-size:.78rem;
    line-height:1.25;
  }

  .section{
    padding:46px 0;
  }

  .intro-section{
    padding-top:58px;
  }

  .section-head{
    display:block;
    margin-bottom:20px;
  }

  .section-head .btn{
    width:100%;
    margin-top:14px;
  }

  .section h2{
    font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    font-size:1.62rem;
    line-height:1.12;
    letter-spacing:0;
  }

  .category-grid,
  .cards,
  .features-grid,
  .location-grid,
  .process-grid,
  .testimonial-grid,
  .guide-grid{
    gap:12px;
  }

  .category-card{
    min-height:148px;
    padding:18px;
  }

  .category-card b,
  .location-card b{
    font-size:1.18rem;
  }

  .card:hover,
  .category-card:hover,
  .guide-card:hover,
  .process-step:hover{
    transform:none;
  }

  .prop-body{
    padding:14px;
  }

  .prop-title{
    line-height:1.25;
  }

  .feature-layout{
    gap:22px;
  }

  .feature{
    padding:16px;
    gap:12px;
  }

  .feature-content h3{
    font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    font-size:1rem;
  }

  .location-card{
    min-height:190px;
  }

  .process-step,
  .guide-card,
  .testimonial{
    padding:18px;
  }

  .cta-panel{
    padding:24px 18px;
  }

  .cta-panel .btn{
    width:100%;
  }

  .newsletter{
    padding:24px 18px;
  }

  .newsletter h2{
    font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  }

  .newsletter-form input,
  .newsletter-form .btn{
    width:100%;
  }

  .footer{
    padding-top:42px;
  }

  .footer-cta .btn{
    width:100%;
  }

  .footer-bottom{
    display:grid;
    gap:8px;
  }
}

@media (min-width:768px){
  .hero-proof{
    display:flex;
    gap:10px;
    margin-top:22px;
    flex-wrap:wrap;
  }

  .hero-proof span{
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:8px;
    background:rgba(255,255,255,.11);
    color:rgba(255,255,255,.88);
    font-weight:800;
    font-size:.86rem;
  }

  .search-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    padding:18px 18px 4px;
  }

  .search-heading strong{
    color:var(--encre);
    font-size:1.08rem;
  }

  .search-heading span{
    color:var(--gris-texte);
    font-size:.84rem;
    font-weight:700;
  }
}

/* Home v2 redesign */
.home-v2{
  color:#17211b;
  background:#f5f3ee;
}

.home-v2 .navbar{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(23,33,27,.08);
}

.home-v2 .nav-links a{
  font-weight:800;
  color:#25352b;
}

.home-v2 .btn{
  border-radius:8px;
  min-height:46px;
}

.home-v2 .btn-primary{
  background:#173d2a;
  color:#fff;
  box-shadow:none;
}

.home-v2 .btn-primary:hover{
  filter:none;
  background:#0f2f20;
  transform:translateY(-1px);
}

.home-v2 .btn-danger{
  background:#dc2626;
  color:#fff;
  border-color:#dc2626;
  box-shadow:none;
}

.home-v2 .btn-danger:hover{
  filter:none;
  background:#b91c1c;
  border-color:#b91c1c;
  transform:translateY(-1px);
}

.home-v2 .hamburger{
  color:#fff;
  background:#0f5b33;
  border-color:#0f5b33;
  box-shadow:0 10px 24px rgba(15,91,51,.18);
}

.home-v2 .hamburger i{
  font-size:1.15rem;
  line-height:1;
}

.home-v2 .mobile-logout-link{
  background:#dc2626;
  color:#fff;
  border-radius:8px;
  padding:12px 14px;
}

.home-v2 .mobile-logout-link:hover{
  background:#b91c1c;
  color:#fff;
}

.home-v2 .btn-soft{
  background:#fff;
  color:#173d2a;
  border:1px solid rgba(23,61,42,.16);
}

.home-shell{
  position:relative;
  overflow:hidden;
  padding:92px 0 30px;
  background:#efe9dd;
}

.home-shell::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(245,243,238,.98) 72%);
  z-index:1;
}

.home-visual{
  position:absolute;
  inset:0;
  background:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?w=1800') center/cover no-repeat;
  opacity:.34;
}

.home-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  gap:22px;
}

.home-copy{
  padding:34px 0 0;
}

.home-kicker{
  display:inline-flex;
  color:#9b6810;
  font-size:.75rem;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.home-kicker.dark{
  color:#2e6f4a;
}

.home-copy h1{
  margin:0;
  color:#132019;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:clamp(2.45rem,11vw,5.55rem);
  line-height:.96;
  max-width:900px;
}

.home-copy p{
  margin:18px 0 0;
  max-width:560px;
  color:#4d5b51;
  font-size:1.03rem;
  line-height:1.62;
}

.home-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:22px;
}

.home-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:24px;
}

.home-metrics div{
  padding:12px 10px;
  border-radius:8px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(23,33,27,.08);
}

.home-metrics strong{
  display:block;
  color:#173d2a;
  font-size:1.18rem;
}

.home-metrics span{
  display:block;
  color:#667169;
  font-size:.75rem;
  font-weight:800;
}

.search-card{
  background:#fff;
  border:1px solid rgba(23,33,27,.1);
  border-radius:8px;
  box-shadow:0 24px 60px rgba(23,33,27,.16);
  overflow:hidden;
}

.search-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px 16px 8px;
}

.search-card-head strong{
  color:#132019;
  font-size:1.12rem;
}

.search-card-head span{
  padding:6px 9px;
  border-radius:8px;
  background:#eef5ef;
  color:#173d2a;
  font-size:.76rem;
  font-weight:900;
}

.home-v2 .tabs{
  padding:8px 16px;
  background:#fff;
}

.home-v2 .tab{
  border-radius:8px;
  background:#f1f3ef;
  color:#34463a;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.home-v2 .tab.active{
  background:#173d2a;
  color:#fff;
  border-color:#173d2a;
}

.home-form{
  display:grid;
  gap:12px;
  padding:8px 16px 16px;
}

.home-form label{
  display:grid;
  gap:6px;
}

.home-form label span{
  color:#435046;
  font-size:.78rem;
  font-weight:900;
  display:flex;
  align-items:center;
  gap:7px;
}

.home-form label span i,
.search-card-head strong i{
  color:#2e6f4a;
}

.home-v2 .tab.active i{
  color:#F4A700;
}

.home-form input,
.home-form select{
  min-height:48px;
  border-radius:8px;
  border:1px solid #dde3dd;
  background:#fbfcfa;
}

.quick-section{
  padding:18px 0 8px;
  background:#f5f3ee;
}

.quick-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.quick-grid a{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(23,33,27,.08);
}

.quick-grid span{
  color:#9b6810;
  font-weight:950;
}

.quick-grid strong{
  color:#17211b;
  text-align:right;
}

.home-section{
  padding:48px 0;
  background:#f5f3ee;
}

.home-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}

.home-section-head h2,
.owner-panel h2{
  margin:0;
  color:#132019;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:clamp(1.7rem,6vw,3rem);
  line-height:1.05;
}

.text-link{
  color:#173d2a;
  font-weight:950;
  white-space:nowrap;
}

.listing-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.listing-card{
  display:block;
  overflow:hidden;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(23,33,27,.08);
  box-shadow:0 14px 36px rgba(23,33,27,.08);
}

.listing-card:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 44px rgba(23,33,27,.12);
}

.listing-media{
  position:relative;
  overflow:hidden;
}

.listing-media img,
.listing-photo{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

.listing-media span{
  position:absolute;
  left:12px;
  top:12px;
  padding:7px 10px;
  border-radius:8px;
  background:rgba(255,255,255,.92);
  color:#173d2a;
  font-size:.76rem;
  font-weight:950;
}

.listing-body{
  padding:15px;
}

.listing-body strong{
  color:#173d2a;
  font-size:1.12rem;
}

.listing-body h3{
  margin:7px 0 4px;
  color:#17211b;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:1rem;
  line-height:1.25;
}

.listing-body p{
  margin:0;
  color:#667169;
}

.listing-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}

.listing-meta span{
  padding:6px 8px;
  border-radius:8px;
  background:#f1f3ef;
  color:#435046;
  font-size:.75rem;
  font-weight:900;
}

.city-section{
  background:#fff;
}

.city-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.city-card{
  position:relative;
  display:flex;
  min-height:210px;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border-radius:8px;
  padding:18px;
  color:#fff;
  background:#173d2a;
}

.city-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.35s ease;
}

.city-card::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(9,24,17,.78));
}

.city-card strong,
.city-card span{
  position:relative;
  z-index:1;
}

.city-card strong{
  font-size:1.35rem;
}

.city-card span{
  color:rgba(255,255,255,.8);
  margin-top:4px;
}

.city-card:hover img{
  transform:scale(1.05);
}

.owner-section{
  padding:48px 0;
  background:#f5f3ee;
}

.owner-panel{
  display:grid;
  gap:22px;
  padding:28px 18px;
  border-radius:8px;
  background:#173d2a;
  color:#fff;
}

.owner-panel h2{
  color:#fff;
}

.owner-panel p{
  margin:12px 0 0;
  color:rgba(255,255,255,.78);
  line-height:1.62;
}

.owner-panel .btn-primary{
  background:#fff;
  color:#173d2a;
}

.home-v2 .footer{
  padding:28px 0;
  background:#102218;
  color:#cad6ce;
}

.home-v2 .footer-bottom{
  border-top:0;
  padding-top:0;
}

.home-v2 .footer-bottom a{
  color:#fff;
  font-weight:800;
  margin-left:14px;
}

.trust-section{
  padding:54px 0;
  background:#fff;
}

.trust-grid{
  display:grid;
  gap:24px;
}

.trust-grid h2{
  margin:0;
  max-width:620px;
  color:#132019;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:clamp(1.8rem,6vw,3.25rem);
  line-height:1.05;
}

.trust-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.trust-cards article{
  padding:20px;
  border-radius:8px;
  background:#f5f3ee;
  border:1px solid rgba(23,33,27,.08);
}

.trust-cards span,
.guide-strip article span{
  display:inline-flex;
  margin-bottom:22px;
  color:#9b6810;
  font-weight:950;
}

.trust-cards strong{
  display:block;
  color:#132019;
  font-size:1.12rem;
}

.trust-cards p,
.guide-strip article p{
  margin:8px 0 0;
  color:#5e6a61;
  line-height:1.58;
}

.featured-agents-section{
  background:#eef3ed;
}

.featured-agents-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.featured-agent-card{
  padding:18px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(23,33,27,.08);
  box-shadow:0 16px 38px rgba(23,33,27,.08);
}

.featured-agent-top{
  display:flex;
  align-items:center;
  gap:14px;
}

.featured-agent-top img{
  width:68px;
  height:68px;
  border-radius:8px;
  object-fit:cover;
}

.featured-agent-top span{
  color:#2e6f4a;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.featured-agent-top h3{
  margin:3px 0 2px;
  color:#132019;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:1.14rem;
}

.featured-agent-top p,
.featured-agent-bio{
  margin:0;
  color:#667169;
}

.featured-agent-bio{
  margin-top:14px;
  line-height:1.55;
}

.featured-agent-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:16px;
}

.featured-agent-meta span{
  padding:7px 9px;
  border-radius:8px;
  background:#f1f3ef;
  color:#435046;
  font-size:.76rem;
  font-weight:900;
}

.featured-agent-actions{
  display:grid;
  grid-template-columns:1fr 96px;
  gap:10px;
  margin-top:16px;
}

.guide-strip{
  padding:48px 0;
  background:#102218;
}

.guide-strip-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.guide-strip article{
  padding:22px;
  border-radius:8px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
}

.guide-strip article h3{
  margin:0;
  color:#fff;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:1.18rem;
  line-height:1.25;
}

.guide-strip article p{
  color:rgba(255,255,255,.72);
}

.rich-footer{
  background:#071b12;
  color:#b7c7bd;
  padding:44px 0 24px;
}

.footer-rich-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
}

.footer-rich-brand p{
  max-width:430px;
  line-height:1.7;
}

.footer-rich-grid h3{
  margin:0 0 14px;
  color:#fff;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:.9rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:8px;
}

.footer-rich-grid a{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:#b7c7bd;
  font-weight:700;
}

.footer-rich-grid i,
.rich-footer-bottom i{
  color:#F4A700;
}

.footer-rich-grid a:hover{
  color:#fff;
}

.rich-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#8fa196;
  font-size:.86rem;
}

.advertisers-page{
  background:#f5f3ee;
}

.advertisers-hero{
  padding:116px 0 46px;
  background:
    linear-gradient(90deg,rgba(245,243,238,.98),rgba(245,243,238,.78)),
    url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=1800') center/cover no-repeat;
}

.advertisers-hero-grid{
  display:grid;
  gap:24px;
  align-items:end;
}

.advertisers-hero h1{
  margin:0;
  max-width:850px;
  color:#132019;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:clamp(2.2rem,8vw,4.8rem);
  line-height:.98;
}

.advertisers-hero p{
  max-width:620px;
  color:#4d5b51;
  font-size:1.08rem;
  line-height:1.65;
}

.advertisers-summary{
  display:grid;
  gap:8px;
  padding:20px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(23,33,27,.08);
  box-shadow:0 18px 44px rgba(23,33,27,.1);
}

.advertisers-summary strong{
  color:#173d2a;
  font-size:2.4rem;
  line-height:1;
}

.advertisers-summary span{
  color:#667169;
  font-weight:900;
}

.advertisers-list-section{
  padding:42px 0 70px;
}

.advertisers-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.advertiser-card{
  padding:18px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(23,33,27,.08);
  box-shadow:0 18px 46px rgba(23,33,27,.08);
}

.advertiser-profile{
  display:flex;
  align-items:center;
  gap:14px;
}

.advertiser-profile img{
  width:76px;
  height:76px;
  border-radius:8px;
  object-fit:cover;
}

.advertiser-badge{
  color:#9b6810;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.advertiser-profile h2{
  margin:3px 0 2px;
  color:#132019;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:1.24rem;
}

.advertiser-profile p,
.advertiser-bio{
  margin:0;
  color:#667169;
}

.advertiser-bio{
  margin-top:16px;
  line-height:1.6;
}

.advertiser-stats{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:18px;
}

.advertiser-stats div{
  padding:12px;
  border-radius:8px;
  background:#f5f3ee;
}

.advertiser-stats strong{
  display:block;
  color:#173d2a;
}

.advertiser-stats span{
  color:#667169;
  font-size:.76rem;
  font-weight:900;
}

.advertiser-listings{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.advertiser-listings a{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:12px;
  align-items:center;
  padding:8px;
  border-radius:8px;
  background:#fbfcfa;
  border:1px solid rgba(23,33,27,.06);
}

.advertiser-listings img{
  width:78px;
  height:64px;
  border-radius:8px;
  object-fit:cover;
}

.advertiser-listings strong{
  display:block;
  color:#132019;
  font-size:.92rem;
  line-height:1.25;
}

.advertiser-listings small{
  display:block;
  margin-top:4px;
  color:#667169;
}

.advertiser-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}

.advertisers-page .btn-soft{
  background:#f5f3ee;
  color:#173d2a;
  border:1px solid rgba(23,61,42,.14);
}

@media (max-width:767px){
  .home-v2 .nav-actions > .btn{
    display:none;
  }

  .home-v2 .hamburger{
    width:auto;
    min-width:44px;
    height:40px;
    padding:0 12px;
    border-radius:8px;
    font-weight:900;
  }

  .home-v2 .mobile-menu{
    padding:10px 18px 16px;
    background:#fff;
  }

  .home-actions .btn,
  .search-card .btn,
  .owner-panel .btn{
    width:100%;
  }

  .home-section-head{
    display:block;
  }

  .text-link{
    display:inline-flex;
    margin-top:12px;
  }

  .listing-card:hover{
    transform:none;
  }

  .featured-agent-actions,
  .advertiser-actions{
    grid-template-columns:1fr;
  }

  .advertisers-page .nav-actions > .btn{
    display:none;
  }

  .advertisers-page .hamburger{
    width:auto;
    min-width:44px;
    height:40px;
    padding:0 12px;
    border-radius:8px;
    font-weight:900;
  }
}

@media (min-width:560px){
  .home-actions{
    grid-template-columns:auto auto;
    justify-content:start;
  }

  .quick-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .listing-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:768px){
  .home-shell{
    min-height:760px;
    display:flex;
    align-items:center;
    padding:104px 0 52px;
  }

  .home-shell::before{
    background:linear-gradient(90deg,rgba(245,243,238,.98) 0%,rgba(245,243,238,.9) 45%,rgba(245,243,238,.18) 100%);
  }

  .home-visual{
    left:43%;
    opacity:.88;
  }

  .home-hero-grid{
    grid-template-columns:minmax(0,1fr) 390px;
    align-items:end;
    gap:34px;
  }

  .home-copy{
    padding-top:0;
  }

  .home-copy p{
    font-size:1.12rem;
  }

  .home-metrics{
    max-width:520px;
  }

  .search-card{
    margin-bottom:16px;
  }

  .quick-section{
    margin-top:-50px;
    position:relative;
    z-index:4;
    background:transparent;
  }

  .quick-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .quick-grid a{
    display:grid;
    min-height:112px;
  }

  .quick-grid strong{
    text-align:left;
    align-self:end;
  }

  .home-section{
    padding:72px 0;
  }

  .listing-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }

  .city-grid{
    grid-template-columns:1.15fr .85fr;
    grid-auto-rows:240px;
  }

  .city-card{
    min-height:240px;
  }

  .city-card.main{
    grid-row:span 2;
  }

  .city-card:nth-child(4){
    grid-column:2;
  }

  .owner-panel{
    grid-template-columns:1fr auto;
    align-items:center;
    padding:42px;
  }

  .trust-grid{
    grid-template-columns:.9fr 1.1fr;
    align-items:start;
  }

  .trust-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .featured-agents-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }

  .guide-strip-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .footer-rich-grid{
    grid-template-columns:1.4fr .7fr .8fr 1fr;
  }

  .advertisers-hero-grid{
    grid-template-columns:1fr 280px;
  }

  .advertisers-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .advertiser-stats{
    grid-template-columns:.7fr 1.1fr 1.1fr;
  }
}

@media (min-width:1100px){
  .home-hero-grid{
    grid-template-columns:minmax(0,1fr) 430px;
  }
}

/* Unified Font Awesome icon and motion system */
.btn{
  gap:8px;
}

.btn i,
.text-link i,
.home-kicker i,
.quick-grid i,
.trust-cards i,
.listing-card i,
.featured-agent-card i,
.guide-strip i,
.owner-panel i,
.annonces-page aside i,
.annonces-page h2 i{
  color:currentColor;
}

.btn:not(:has(i))::after{
  content:"\f061";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:.9em;
  position:relative;
  z-index:1;
}

.navbar,
.section > .container,
.card,
.home-copy,
.search-card,
.quick-grid a,
.trust-cards article,
.listing-card,
.featured-agent-card,
.city-card,
.guide-strip article,
.owner-panel,
.annonces-page aside,
.annonces-page main{
  animation:fadeInUp .55s ease both;
}

.quick-grid a:nth-child(2),
.trust-cards article:nth-child(2),
.listing-grid .listing-card:nth-child(2),
.featured-agent-card:nth-child(2),
.guide-strip article:nth-child(2){
  animation-delay:.08s;
}

.quick-grid a:nth-child(3),
.trust-cards article:nth-child(3),
.listing-grid .listing-card:nth-child(3),
.featured-agent-card:nth-child(3),
.guide-strip article:nth-child(3){
  animation-delay:.16s;
}

.quick-grid a:nth-child(4),
.listing-grid .listing-card:nth-child(4){
  animation-delay:.24s;
}

.listing-card{
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.listing-card:hover{
  border-color:rgba(23,61,42,.18);
}

.listing-media img{
  transition:transform .35s ease;
}

.listing-card:hover .listing-media img{
  transform:scale(1.045);
}

.listing-body strong,
.listing-body p,
.listing-meta span,
.listing-agent,
.featured-agent-meta span,
.quick-grid span,
.trust-cards span{
  display:flex;
  align-items:center;
  gap:7px;
}

.listing-body strong i{
  color:#9b6810;
}

.listing-body p i,
.listing-meta i,
.listing-agent i,
.annonces-page aside i{
  color:#2e6f4a;
}

.listing-agent{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(23,33,27,.08);
}

.listing-agent .avatar{
  width:38px;
  height:38px;
}

.listing-agent > div > div{
  color:#17211b;
  font-size:.88rem;
  font-weight:900;
}

.listing-agent span{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:2px;
  color:#667169;
  font-size:.76rem;
  font-weight:800;
}

.annonces-page{
  background:#f5f3ee;
}

.annonces-page aside.card{
  border:1px solid rgba(23,33,27,.08);
}

.annonces-page .listing-body > .row,
.annonces-page .listing-body > .prop-meta,
.annonces-page .listing-body > .agent-row{
  display:none;
}

.annonces-page .listing-grid{
  grid-template-columns:1fr;
}

@media (min-width:560px){
  .annonces-page .listing-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:1024px){
  .annonces-page .listing-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (prefers-reduced-motion:reduce){
  .navbar,
  .section > .container,
  .card,
  .home-copy,
  .search-card,
  .quick-grid a,
  .trust-cards article,
  .listing-card,
  .featured-agent-card,
  .city-card,
  .guide-strip article,
  .owner-panel,
  .annonces-page aside,
  .annonces-page main{
    animation:none;
  }

  .home-shell,
  .annonces-hero,
  .trust-section,
  .home-section,
  .featured-agents-section,
  .city-section,
  .guide-strip,
  .owner-section,
  .annonces-content,
  .advertisers-hero,
  .advertisers-list-section,
  .filters-panel,
  .results-toolbar,
  .annonces-hero-card,
  .listing-grid .listing-card,
  .featured-agents-grid .featured-agent-card,
  .trust-cards article,
  .guide-strip-grid article,
  .quick-grid a{
    animation:none;
  }

  .listing-card,
  .listing-media img,
  .btn,
  .quick-grid a,
  .trust-cards article,
  .featured-agent-card,
  .advertiser-card,
  .filter-checks label,
  .home-metrics div,
  .featured-agent-meta span,
  .listing-meta span,
  .advertiser-stats div{
    transition:none;
  }
}

/* Annonces page rebuild */
.annonces-page{
  min-height:100vh;
  background:#f4f6f1;
}

.annonces-page .annonces-nav{
  position:sticky;
  top:0;
  background:rgba(255,255,255,.96);
  box-shadow:0 1px 0 rgba(23,33,27,.08);
}

.brand-text{
  gap:10px;
  color:#17211b;
}

.brand-text b{
  color:#173d2a;
}

.brand-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:8px;
  background:#173d2a;
  color:#fff;
}

.annonces-page .nav-links a.active{
  background:#eef5ef;
  color:#173d2a;
}

.annonces-main{
  padding-top:0;
}

.annonces-hero{
  padding:54px 0 34px;
  background:
    linear-gradient(100deg,rgba(245,243,238,.98),rgba(245,243,238,.88) 48%,rgba(245,243,238,.28)),
    url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=1800') center/cover no-repeat;
  border-bottom:1px solid rgba(23,33,27,.08);
}

.annonces-hero-inner{
  display:grid;
  gap:18px;
  align-items:end;
}

.annonces-hero h1{
  margin:0;
  max-width:780px;
  color:#132019;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:clamp(2.1rem,6vw,4.6rem);
  line-height:.98;
}

.annonces-hero p{
  max-width:620px;
  margin:14px 0 0;
  color:#4d5b51;
  font-size:1.04rem;
  line-height:1.6;
}

.annonces-hero-card{
  display:grid;
  gap:4px;
  width:100%;
  max-width:220px;
  padding:20px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(23,33,27,.08);
  box-shadow:0 18px 42px rgba(23,33,27,.12);
}

.annonces-hero-card strong{
  color:#173d2a;
  font-size:2.7rem;
  line-height:1;
}

.annonces-hero-card span{
  color:#667169;
  font-weight:900;
}

.annonces-content{
  padding:28px 0 70px;
}

.annonces-layout{
  display:grid;
  gap:22px;
}

.filters-panel{
  padding:18px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(23,33,27,.08);
  box-shadow:0 18px 42px rgba(23,33,27,.08);
}

.filters-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.filters-head h2,
.results-toolbar h2{
  margin:0;
  color:#132019;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.filters-head h2{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:1.18rem;
}

.filter-clear{
  border:0;
  background:transparent;
  color:#2e6f4a;
  font-weight:900;
  cursor:pointer;
}

.filter-group{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}

.filter-title{
  display:flex;
  align-items:center;
  gap:8px;
  color:#25352b;
  font-size:.86rem;
  font-weight:950;
}

.filter-title i,
.filters-head i{
  color:#2e6f4a;
}

.filter-checks{
  display:grid;
  gap:8px;
}

.filter-checks label{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:40px;
  padding:8px 10px;
  border-radius:8px;
  background:#f7f8f5;
  border:1px solid rgba(23,33,27,.06);
  color:#435046;
  font-weight:800;
}

.filter-checks span{
  display:flex;
  align-items:center;
  gap:8px;
}

.filter-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.filters-panel input,
.filters-panel select,
.results-toolbar select{
  min-height:46px;
  border-radius:8px;
  border:1px solid #dde3dd;
  background:#fbfcfa;
}

.filters-submit{
  width:100%;
  margin-top:4px;
}

.results-panel{
  min-width:0;
}

.results-toolbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}

.results-toolbar p{
  margin:4px 0 0;
  color:#667169;
  font-weight:800;
}

.results-toolbar label{
  display:grid;
  gap:6px;
  min-width:190px;
}

.results-toolbar label span{
  color:#667169;
  font-size:.78rem;
  font-weight:950;
}

.annonces-listing-grid{
  gap:18px;
}

.annonces-page:not(.vue-ready) .vue-listings{
  display:none;
}

.annonces-page.vue-ready .server-listings{
  display:none;
}

.annonces-listing-grid .listing-card{
  box-shadow:0 16px 38px rgba(23,33,27,.08);
}

.annonces-listing-grid .listing-media img{
  aspect-ratio:16/11;
}

.loading-panel,
.empty-state{
  display:grid;
  place-items:center;
  gap:12px;
  padding:28px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(23,33,27,.08);
  text-align:center;
}

.empty-state img{
  width:100%;
  max-width:560px;
  aspect-ratio:16/8;
  object-fit:cover;
  border-radius:8px;
}

.empty-state h3{
  margin:0;
  color:#132019;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.empty-state p{
  margin:0;
  color:#667169;
}

.pagination-bar{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}

.pagination-bar span{
  color:#667169;
  font-weight:900;
}

@media (min-width:768px){
  .annonces-hero-inner{
    grid-template-columns:1fr 220px;
  }

  .annonces-layout{
    grid-template-columns:290px minmax(0,1fr);
    align-items:start;
  }

  .filters-panel{
    position:sticky;
    top:88px;
  }

  .annonces-listing-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:1120px){
  .annonces-layout{
    grid-template-columns:310px minmax(0,1fr);
  }

  .annonces-listing-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:767px){
  .annonces-page .nav-actions > .btn{
    display:none;
  }

  .annonces-hero{
    padding:32px 0 24px;
  }

  .annonces-hero-card{
    max-width:none;
  }

  .results-toolbar{
    display:grid;
    align-items:stretch;
  }

  .filter-row{
    grid-template-columns:1fr;
  }
}

/* Final shared-nav spacing overrides */
#app{
  padding-top:0 !important;
}

.home-shell{
  padding-top:28px;
}

@media (min-width:768px){
  .home-shell{
    padding-top:40px;
  }
}

@media (max-width:767px){
  .site-navbar .nav-links{
    display:none;
  }

  .site-navbar .nav-actions .btn{
    min-height:40px;
    padding:9px 11px;
    font-size:.86rem;
  }

  .site-navbar .nav-actions{
    gap:6px;
  }

  .site-menu-button{
    display:inline-flex;
    width:44px;
    height:40px;
    border-radius:8px;
  }

  .site-menu-toggle:checked + .navbar-inner .site-menu-open{
    display:none;
  }

  .site-menu-toggle:checked + .navbar-inner .site-menu-close{
    display:inline-block;
  }

  .site-menu-toggle:checked ~ .site-mobile-menu{
    display:grid;
  }

  .site-mobile-menu{
    padding:10px 18px 16px;
    background:#fff;
    box-shadow:0 18px 36px rgba(16,24,40,.08);
    gap:4px;
  }

  .site-mobile-menu a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px 10px;
    border-radius:8px;
    color:#17211b;
    font-weight:800;
  }

  .site-mobile-menu a.active,
  .site-mobile-menu a:hover{
    background:var(--vert-clair);
    color:var(--vert-fonce);
  }

  .site-mobile-menu .site-mobile-logout{
    background:#dc2626;
    color:#fff;
  }

  .site-mobile-menu .site-mobile-logout:hover{
    background:#b91c1c;
    color:#fff;
  }

  .site-navbar .brand img{
    width:110px;
  }

  .site-brand-icon{
    width:36px;
    height:36px;
  }

  .site-brand-icon i{
    font-size:1.1rem;
  }

  .site-brand-text{
    font-size:.78rem;
  }
}

/* Legal pages */
.legal-page{
  background:linear-gradient(180deg,#f8f7f4 0%,#f0eeea 100%);
}

.legal-hero{
  position:relative;
  padding:72px 0 48px;
  background:
    linear-gradient(110deg,rgba(248,247,244,.97) 40%,rgba(245,243,238,.85) 70%,rgba(235,232,225,.6)),
    url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?w=1600') center/cover no-repeat;
  border-bottom:1px solid rgba(23,33,27,.06);
  overflow:hidden;
}

.legal-hero::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--vert-fonce),var(--or),var(--vert-fonce));
  opacity:.5;
}

.legal-hero .container{
  position:relative;
  z-index:2;
}

.legal-hero h1{
  margin:12px 0 0;
  max-width:800px;
  color:#0f1d15;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:clamp(1.8rem,5vw,3.2rem);
  font-weight:950;
  line-height:1.08;
  letter-spacing:-.02em;
}

.legal-hero p{
  max-width:680px;
  margin-top:14px;
  color:#4d5b51;
  font-size:1.05rem;
  line-height:1.7;
}

.legal-divider{
  display:flex;
  justify-content:center;
  padding:0 0 6px;
  margin-top:-1px;
}
.legal-divider span{
  display:block;
  width:60px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--vert-fonce),var(--or));
  opacity:.6;
}

.legal-content{
  padding:44px 0 80px;
}

.legal-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.legal-card{
  position:relative;
  padding:24px 24px 26px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(23,33,27,.07);
  box-shadow:0 4px 12px rgba(23,33,27,.04);
  transition:transform .25s ease, box-shadow .3s ease, border-color .25s ease;
  animation:legalFadeIn .5s ease both;
}

.legal-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 40px rgba(23,33,27,.1);
  border-color:rgba(27,107,58,.18);
}

.legal-card > i{
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:linear-gradient(135deg,#e8f5ec,#d4ede0);
  color:var(--vert-fonce);
  font-size:1.2rem;
  margin-bottom:16px;
  transition:transform .25s ease, background .25s ease;
}

.legal-card:hover > i{
  transform:scale(1.06);
  background:linear-gradient(135deg,var(--vert-clair),#c8e5d4);
}

.legal-card h2{
  margin:0 0 10px;
  color:#0f1d15;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:1.1rem;
  font-weight:900;
  letter-spacing:-.01em;
}

.legal-card p{
  margin:0;
  color:#5a6b5e;
  line-height:1.7;
  font-size:.95rem;
}

.legal-card:nth-child(2){animation-delay:.07s}
.legal-card:nth-child(3){animation-delay:.14s}
.legal-card:nth-child(4){animation-delay:.21s}
.legal-card:nth-child(5){animation-delay:.28s}
.legal-card:nth-child(6){animation-delay:.35s}
.legal-card:nth-child(7){animation-delay:.42s}
.legal-card:nth-child(8){animation-delay:.49s}

@keyframes legalFadeIn{
  from{
    opacity:0;
    transform:translateY(18px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (min-width:640px){
  .legal-hero{
    padding:80px 0 52px;
  }
  .legal-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:1024px){
  .legal-content{
    padding:56px 0 96px;
  }
  .legal-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
  }
  .legal-card{
    padding:28px 28px 30px;
  }
}

.agent-detail-layout{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:18px;
  padding:10px 0;
}
.agent-detail-photo{
  width:120px;
  height:120px;
  border-radius:12px;
  overflow:hidden;
  background:#eef5ef;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  box-shadow:0 12px 28px rgba(18,53,34,.12);
}
.agent-detail-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.agent-detail-photo i{
  font-size:2.5rem;
  color:var(--vert-fonce);
}
.agent-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.agent-detail-field{
  padding:12px;
  border:1px solid #eef1ec;
  border-radius:8px;
  background:#fbfcfa;
}
.agent-detail-field span{
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--gris-texte);
  font-weight:800;
  font-size:.86rem;
}
.agent-detail-field b{
  display:block;
  margin-top:6px;
}

@media (max-width:640px){
  .agent-detail-layout{
    grid-template-columns:1fr;
    justify-items:center;
  }
  .agent-detail-grid{
    grid-template-columns:1fr;
  }
}

