
:root{--navy:#0e3150;--navy2:#164966;--teal:#0e7c78;--teal2:#149890;--coral:#f4774a;--sand:#f7f3ec;--cream:#fffdf9;--ink:#152029;--muted:#65727b;--line:#dde5e7;--white:#fff;--shadow:0 18px 55px rgba(25,50,64,.12);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Manrope',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3{font-family:'Source Serif 4',Georgia,serif;line-height:1.08;letter-spacing:-.025em;margin:0;color:var(--navy)}h1{font-size:clamp(3rem,6vw,5.35rem)}h2{font-size:clamp(2.1rem,4vw,3.35rem)}h3{font-size:1.3rem}.section{padding:88px 0}.section.compact{padding:64px 0}.section.soft{background:#f4f8f8}.section-heading{max-width:760px;margin-bottom:38px}.section-heading.centered{text-align:center;margin:0 auto 40px}.section-heading p{color:var(--muted);font-size:1.05rem}.section-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.11em;font-size:.76rem;font-weight:800;color:var(--teal);margin-bottom:10px}.section-kicker.light{color:#ccefed}.small{font-size:.86rem;color:var(--muted)}
.site-header{position:sticky;top:0;z-index:1100;background:rgba(255,253,249,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(221,229,231,.9)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;color:var(--navy);font-weight:800;font-size:1.04rem}.brand span{color:var(--teal)}.navlinks{display:flex;gap:24px}.navlinks a{text-decoration:none;color:#44545f;font-weight:700;font-size:.9rem}.phone-btn,.primary-btn{display:inline-flex;align-items:center;justify-content:center;border:0;text-decoration:none;background:var(--navy);color:#fff;border-radius:14px;font:inherit;font-weight:800;cursor:pointer;padding:14px 20px;transition:.18s ease}.phone-btn{padding:11px 16px;white-space:nowrap}.primary-btn:hover,.phone-btn:hover{background:var(--teal);transform:translateY(-1px)}.primary-btn.warm{background:var(--coral)}
.hero-v10{padding:46px 0 56px;background:linear-gradient(180deg,#f5fbfa 0,#fffdf9 100%)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:38px}.hero-panel{padding:26px 0}.pill-top{display:inline-flex;background:#e9f7f5;color:#0c6d69;font-weight:800;font-size:.8rem;padding:8px 13px;border-radius:999px;margin-bottom:18px}.hero-sub{font-size:1.14rem;color:var(--muted);max-width:650px;margin:18px 0 24px}.address-box{display:flex;gap:10px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);max-width:720px}.address-box input{flex:1;min-width:0;border:0;background:transparent;padding:14px 13px;font:inherit;font-size:1rem;outline:none}.micro-proof{display:flex;gap:18px;flex-wrap:wrap;color:#53626b;font-size:.85rem;font-weight:700;margin:15px 2px 24px}.reviews-inline{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.reviews-inline>div{display:grid;grid-template-columns:auto auto auto auto;align-items:center;gap:8px}.reviews-inline img{width:auto;height:22px}.stars{color:#f0aa00;letter-spacing:1px}.reviews-inline small{color:var(--muted)}.hero-photo{position:relative;min-height:540px;border-radius:30px;overflow:hidden;box-shadow:0 30px 70px rgba(25,50,64,.2)}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(7,30,45,.25))}.hero-photo img{width:100%;height:100%;min-height:540px;object-fit:cover;object-position:center}
.steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps-row article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}.steps-row article>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7f6f4;color:var(--teal);font-weight:900;margin-bottom:17px}.steps-row p,.feature-grid p{color:var(--muted);margin-bottom:0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.feature-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:14px;font-size:1.25rem;margin-bottom:17px}
/* Estimator */
.estimator-section{background:#fff}.estimator-heading{max-width:780px}.estimator-shell{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.estimator-top{display:flex;justify-content:space-between;align-items:center;padding:19px 28px;background:#f7faf9;border-bottom:1px solid var(--line);color:var(--muted)}.estimator-top strong{color:var(--navy)}.est-progress{height:5px;background:#e9eff0}.est-progress>div{height:100%;background:linear-gradient(90deg,var(--teal),var(--coral));width:20%;transition:width .25s}.est-step{display:none;padding:34px 28px}.est-step.active{display:block}.est-step h3{font-size:1.65rem}.est-hint{color:var(--muted);margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:7px;margin-bottom:16px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.9rem}.field input,.field select,.field textarea{width:100%;padding:14px;border:1px solid #cfdadd;border-radius:12px;background:#fff;font:inherit;color:var(--ink)}.est-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.est-choice{appearance:none;text-align:left;border:1px solid var(--line);background:#fff;border-radius:15px;padding:17px;font:inherit;color:var(--ink);cursor:pointer}.est-choice strong{display:block;color:var(--navy)}.est-choice small{display:block;color:var(--muted);margin-top:3px}.est-choice.selected,.est-choice:hover{border-color:var(--teal);background:#eff9f8;box-shadow:0 0 0 2px rgba(14,124,120,.08)}.est-pills{display:flex;gap:9px;flex-wrap:wrap}.est-pill{appearance:none;border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer}.est-pill.selected{background:var(--navy);border-color:var(--navy);color:#fff}.est-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.est-checks label{border:1px solid var(--line);border-radius:13px;background:#f9fbfa;padding:12px;font-weight:700}.est-result{text-align:center;background:linear-gradient(135deg,#edf9f7,#fff5ef);border:1px solid var(--line);border-radius:18px;padding:27px;margin-bottom:25px}.est-result-range{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(2.1rem,5vw,3.4rem);font-weight:700;color:var(--navy);margin:8px 0}.est-result p{color:var(--muted)}.est-nav{display:flex;justify-content:space-between;gap:12px;padding:0 28px 28px}.est-nav .btn,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:13px 19px;background:var(--navy);color:#fff;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.btn.outline{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.gold{background:var(--coral)}
/* Map */
.sales-map-section{background:#f7faf9}.map-search-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}.map-search{display:flex;gap:10px;margin-bottom:18px}.map-search input{flex:1;min-width:0;padding:15px 16px;border:1px solid #cfdadd;border-radius:13px;font:inherit}.map-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}#dvfMap{height:520px;border-radius:18px;overflow:hidden;background:#e8eeee;border:1px solid var(--line)}.map-results{min-width:0}.notice{background:#eff8f7;color:#28505a;padding:13px 14px;border-radius:12px;border:1px solid #d3e8e5;margin-bottom:10px}.sales{display:grid;gap:9px;max-height:465px;overflow:auto;padding-right:3px}.sale{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px}.sale strong{color:var(--navy)}.source-note{margin-top:12px}.sale-chip{display:inline-flex;background:#edf7f6;color:#08746f;font-size:.72rem;font-weight:800;border-radius:999px;padding:4px 8px;margin-top:6px}
.cta-band{background:linear-gradient(135deg,var(--navy),#0f5d67);color:#fff}.cta-band h2{color:#fff}.cta-band p{color:#dbe8eb}.cta-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.cta-inner>div:first-child{max-width:720px}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}.ghost-light{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.5);border-radius:14px;padding:14px 18px;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}
/* Existing partners/newsletter/faq/seo compatibility */
.grid{display:grid;gap:24px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.partner-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.sponsored{display:inline-block;background:#fff2e8;color:#9a492b;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:800;text-transform:uppercase}.partner-icon{width:50px;height:50px;border-radius:14px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900;margin:16px 0}.newsletter-form{display:grid;gap:12px}.newsletter-form input[type=email]{padding:14px;border:1px solid var(--line);border-radius:12px;font:inherit}.consent-line{display:flex;gap:8px;align-items:flex-start;font-size:.9rem}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 17px;margin:10px 0}.faq summary{font-weight:800;cursor:pointer}.links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.links a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px;text-decoration:none}.content{max-width:860px}.breadcrumbs{font-size:.88rem;color:var(--muted)}
footer{background:#09263c;color:#fff;padding:54px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:35px}.footer-grid h3{color:#fff}.footer-grid a{color:#fff}.footer-links{display:grid;gap:9px}.cookie-manage{appearance:none;border:0;background:transparent;color:#fff;text-decoration:underline;font:inherit;padding:0;text-align:left;cursor:pointer}
/* Cookie: simple bottom panel, robust and non-blocking */
.cookie-banner[hidden]{display:none!important}.cookie-banner{position:fixed;z-index:5000;left:50%;bottom:18px;transform:translateX(-50%);width:min(820px,calc(100% - 28px));display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;background:#fff;border:1px solid #d7e0e3;border-radius:20px;padding:20px;box-shadow:0 26px 80px rgba(7,31,46,.28)}.cookie-copy h2{font-size:1.2rem;margin:0 0 5px}.cookie-copy p{margin:0;color:var(--muted);font-size:.9rem}.cookie-link{appearance:none;border:0;background:transparent;color:var(--teal);font:inherit;font-weight:800;text-decoration:underline;padding:7px 0;cursor:pointer}.cookie-details{margin-top:5px;border-top:1px solid var(--line);padding-top:10px}.cookie-details[hidden]{display:none!important}.cookie-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:18px}.cookie-toggle-row span{display:grid}.cookie-toggle-row small{color:var(--muted)}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cookie-btn{appearance:none;border:1px solid #cbd7da;background:#fff;color:var(--navy);border-radius:12px;padding:12px 15px;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.cookie-btn.accept{background:var(--navy);border-color:var(--navy);color:#fff}.cookie-btn.save{background:var(--teal);border-color:var(--teal);color:#fff}
@media(max-width:900px){.navlinks{display:none}.hero-grid,.map-layout,.grid.two,.grid.three,.footer-grid{grid-template-columns:1fr}.hero-v10{padding-top:20px}.hero-grid{gap:18px}.hero-photo{order:-1;min-height:270px}.hero-photo img{min-height:270px;height:270px}.hero-panel{padding:4px 0}.hero-panel h1{font-size:clamp(2.55rem,12vw,4rem)}.hero-sub{font-size:1rem}.address-box{flex-direction:column}.address-box .primary-btn{width:100%}.reviews-inline{gap:12px}.reviews-inline>div{grid-template-columns:auto auto auto;gap:6px}.reviews-inline small{grid-column:2/-1}.steps-row,.feature-grid{grid-template-columns:1fr 1fr}.est-choices{grid-template-columns:1fr 1fr}.est-checks{grid-template-columns:1fr 1fr}.partner-grid{grid-template-columns:1fr}.cta-inner{flex-direction:column;align-items:flex-start}.cookie-banner{grid-template-columns:1fr;align-items:stretch}.cookie-actions{justify-content:stretch}.cookie-btn{flex:1}.links{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1160px)}.nav{height:66px;gap:8px}.brand{font-size:.9rem}.phone-btn{font-size:.8rem;padding:9px 10px;white-space:nowrap}.hero-v10{padding-bottom:35px}.hero-photo{border-radius:20px}.pill-top{font-size:.7rem;margin-bottom:12px}.hero-sub{margin:12px 0 17px}.micro-proof{gap:8px 12px;font-size:.76rem;margin-bottom:18px}.reviews-inline>div{font-size:.82rem}.section{padding:58px 0}.section.compact{padding:46px 0}.section-heading{margin-bottom:26px}.steps-row,.feature-grid{grid-template-columns:1fr}.estimator-top{padding:15px 17px}.estimator-top span{display:none}.est-step{padding:24px 17px}.form-grid{grid-template-columns:1fr}.est-choices,.est-checks{grid-template-columns:1fr}.est-nav{padding:0 17px 20px}.est-nav .btn{flex:1;padding:12px 8px;font-size:.86rem}.map-search{flex-direction:column}.map-search .primary-btn{width:100%}#dvfMap{height:350px}.sales{max-height:none}.cta-actions{width:100%}.cta-actions>*{width:100%}.cookie-banner{bottom:10px;padding:16px;border-radius:16px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-btn.save{grid-column:1/-1}.cookie-copy h2{font-size:1.05rem}.cookie-copy p{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

body{font-family:'Inter',system-ui,sans-serif}h1,h2,h3,.est-result-range{font-family:'Manrope',system-ui,sans-serif;font-weight:800;letter-spacing:-.045em}.hero-panel h1{font-weight:800;letter-spacing:-.055em}.top-trust{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 0 22px;border-bottom:1px solid var(--line);margin-bottom:28px}.trust-score{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;box-shadow:0 8px 25px rgba(25,50,64,.07)}.trust-score img{width:auto;height:20px}.trust-score small,.trust-local{color:var(--muted);font-size:.82rem}.dvf-under-address{display:flex;gap:8px;flex-wrap:wrap;margin:10px 3px 0;color:var(--muted);font-size:.84rem}.dvf-under-address button{border:0;background:transparent;color:var(--teal);font:inherit;font-weight:800;padding:0;text-decoration:underline;cursor:pointer}.advisor-proof{display:grid;gap:3px;border-left:3px solid var(--teal);padding-left:13px;margin-top:20px}.advisor-proof strong{font-size:.9rem;color:var(--navy)}.advisor-proof span{font-size:.8rem;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:15px}.photo-grid figure{margin:0;position:relative;border-radius:20px;overflow:hidden;min-height:310px}.photo-grid img{width:100%;height:100%;min-height:310px;object-fit:cover}.photo-grid figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:800;color:var(--navy)}@media(max-width:900px){.photo-grid{grid-template-columns:1fr 1fr}.photo-grid figure:first-child{grid-column:1/-1}}@media(max-width:560px){.top-trust{gap:7px;padding:4px 0 15px}.trust-score{padding:6px 8px;gap:4px;font-size:.72rem}.trust-score img{height:16px}.trust-score small,.trust-local{font-size:.66rem}.hero-panel h1{font-size:clamp(2.2rem,10vw,3.1rem);line-height:1.02}.photo-grid{grid-template-columns:1fr}.photo-grid figure:first-child{grid-column:auto}.photo-grid figure,.photo-grid img{min-height:235px}.local-gallery .section-heading p{display:none}}
/* V10.3 — Hero, trust strip, CTA DVF and motion */
.hero-v10{
  position:relative;
  min-height:680px;
  overflow:hidden;
  display:flex;
  align-items:center;
  color:#fff;
  background:#0f2f33;
}
.hero-bg-image{
  position:absolute; inset:0;
  background:url('/assets/img/hero-local.webp') center 56%/cover no-repeat;
  transform:scale(1.015);
}
.hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(8,27,31,.78) 0%, rgba(8,27,31,.57) 44%, rgba(8,27,31,.23) 72%, rgba(8,27,31,.16) 100%),
    linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.18) 100%);
}
.hero-wrap{position:relative;z-index:2;width:100%}
.hero-content{max-width:760px;padding:44px 0 56px}
.hero-content h1{
  color:#fff;
  font-family:'Manrope',system-ui,sans-serif;
  font-weight:800;
  font-size:clamp(3rem,6.4vw,5.6rem);
  line-height:.96;
  letter-spacing:-.06em;
  text-shadow:0 6px 28px rgba(0,0,0,.22);
  max-width:10ch;
}
.hero-content .hero-sub{
  color:rgba(255,255,255,.92);
  font-weight:700;
  margin:16px 0 25px;
  font-size:1.02rem;
}
.compact-trust{
  padding-top:20px;
  margin-bottom:8px;
}
.trust-inline{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex-wrap:nowrap;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#16333a;
  box-shadow:0 8px 28px rgba(0,0,0,.14);
  font-size:.73rem;
}
.trust-inline img{width:auto;height:16px;display:block}
.trust-inline .stars{color:#f5b400;letter-spacing:0;font-size:.82rem}
.trust-inline strong{font-size:.78rem}
.trust-inline small{color:#65757a;font-size:.69rem}
.trust-sep{opacity:.35}
.hero-v10 .address-box{
  max-width:690px;
  background:rgba(255,255,255,.96);
  padding:7px;
  border-radius:15px;
  box-shadow:0 18px 50px rgba(0,0,0,.2);
}
.hero-v10 .address-box input{
  background:#fff;
  border:0;
  min-height:54px;
  border-radius:10px;
  font-size:1rem;
}
.hero-v10 .primary-btn{
  border-radius:10px;
  min-height:54px;
}
.address-privacy-note{
  margin:8px 3px 0;
  color:rgba(255,255,255,.74);
  font-size:.72rem;
  max-width:650px;
}
.hero-actions{margin-top:14px}
.secondary-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.48);
  background:rgba(255,255,255,.12);
  color:#fff;
  font-weight:800;
  font-size:.88rem;
  cursor:pointer;
  backdrop-filter:blur(8px);
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.secondary-action-btn:hover{
  background:rgba(255,255,255,.22);
  border-color:#fff;
  transform:translateY(-2px);
}
.hero-v10 .micro-proof{
  color:rgba(255,255,255,.88);
  margin-top:16px;
}

/* Motion */
.reveal-up,.reveal-section .section-heading,.reveal-section .method-card,.reveal-section .photo-grid figure,.reveal-section .estimator-card,.reveal-section .dvf-card{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1);
}
.is-visible{
  opacity:1!important;
  transform:translateY(0)!important;
}
.photo-grid figure:nth-child(2){transition-delay:.08s}
.photo-grid figure:nth-child(3){transition-delay:.16s}
.click-pop{animation:clickPop .28s ease}
@keyframes clickPop{0%{transform:scale(1)}50%{transform:scale(.98)}100%{transform:scale(1)}}

@media(max-width:760px){
  .hero-v10{min-height:620px;align-items:flex-end}
  .hero-bg-image{background-position:center 52%}
  .hero-overlay{
    background:
      linear-gradient(180deg,rgba(8,27,31,.18) 0%,rgba(8,27,31,.34) 34%,rgba(8,27,31,.82) 72%,rgba(8,27,31,.93) 100%);
  }
  .compact-trust{padding-top:15px}
  .trust-inline{gap:4px;padding:6px 8px;font-size:.65rem;max-width:100%}
  .trust-inline img{height:13px}
  .trust-inline .stars{font-size:.68rem}
  .trust-inline strong{font-size:.68rem}
  .trust-inline small{font-size:.61rem}
  .hero-content{padding:28px 0 35px}
  .hero-content h1{font-size:clamp(2.55rem,12vw,3.7rem);max-width:9ch}
  .hero-content .hero-sub{font-size:.82rem;margin:10px 0 17px}
  .hero-v10 .address-box{display:grid;grid-template-columns:1fr;padding:6px}
  .hero-v10 .address-box input,.hero-v10 .primary-btn{width:100%}
  .secondary-action-btn{width:100%;font-size:.82rem}
  .address-privacy-note{font-size:.66rem;line-height:1.35}
  .hero-v10 .micro-proof{font-size:.72rem;gap:8px}
}

@media(prefers-reduced-motion:reduce){
  .reveal-up,.reveal-section .section-heading,.reveal-section .method-card,.reveal-section .photo-grid figure,.reveal-section .estimator-card,.reveal-section .dvf-card{
    opacity:1!important;transform:none!important;transition:none!important;
  }
}

/* V10.4 — mobile hero, compact ratings, solid panel, burger */
.nav-actions{display:flex;align-items:center;gap:9px}
.menu-toggle{
  display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;
  align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer
}
.menu-toggle span{display:block;width:18px;height:2px;border-radius:4px;background:var(--navy);transition:.2s ease}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{
  position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
  box-shadow:0 18px 40px rgba(17,42,50,.14);padding:10px 18px 18px;z-index:1200
}
.mobile-menu[hidden]{display:none}
.mobile-menu a{display:block;padding:13px 8px;border-bottom:1px solid #edf1f2;text-decoration:none;color:var(--navy);font-weight:750}
.mobile-menu a:last-child{border-bottom:0}
.hero-title-line{display:inline}
.hero-form-solid{max-width:720px}
.hero-v10 .address-privacy-note{color:rgba(255,255,255,.8)}
.hero-v10 .secondary-action-btn{background:#fff;color:var(--navy);border-color:#fff}
.hero-v10 .secondary-action-btn:hover{background:#f3f8f7;color:var(--teal)}
.hero-v10 .micro-proof{color:rgba(255,255,255,.92)}

@media(max-width:900px){
  .menu-toggle{display:flex}
  .navlinks{display:none}
}

@media(max-width:760px){
  .hero-v10{
    min-height:auto;
    display:block;
    background:#fff;
    color:var(--navy);
    padding:0 0 34px;
  }
  .hero-bg-image{
    height:330px;
    bottom:auto;
    background-size:cover;
    background-position:center 52%;
    transform:none;
  }
  .hero-overlay{
    height:330px;
    bottom:auto;
    background:linear-gradient(180deg,rgba(8,27,31,.2) 0%,rgba(8,27,31,.3) 42%,rgba(8,27,31,.72) 100%);
  }
  .hero-wrap{padding-top:8px}
  .compact-trust{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:0;
    margin:0 auto 16px;
    position:relative;
    z-index:3;
  }
  .trust-inline{
    justify-content:center;
    gap:4px;
    padding:5px 7px;
    font-size:.62rem;
    box-shadow:0 6px 18px rgba(0,0,0,.14);
  }
  .trust-inline img{height:12px}
  .trust-inline .stars{font-size:.63rem}
  .trust-inline strong{font-size:.64rem}
  .trust-inline small{font-size:.58rem}
  .hero-content{
    padding:16px 0 0;
    max-width:none;
  }
  .hero-content .pill-top{
    background:rgba(255,255,255,.94);
    color:#0b6d69;
    font-size:.66rem;
    margin-bottom:9px;
  }
  .hero-content h1{
    color:#fff;
    max-width:none;
    font-size:clamp(2.45rem,11.5vw,3.35rem);
    line-height:.98;
    text-align:center;
    text-shadow:0 5px 20px rgba(0,0,0,.3);
    margin:0 auto;
  }
  .hero-title-line{display:block}
  .hero-content .hero-sub{
    color:rgba(255,255,255,.92);
    text-align:center;
    font-size:.76rem;
    margin:9px auto 0;
  }
  .hero-form-solid{
    margin-top:126px;
    background:#fff;
    border:1px solid #e3eaeb;
    box-shadow:0 14px 36px rgba(18,54,60,.13);
    border-radius:20px;
    padding:12px;
    color:var(--navy);
  }
  .hero-v10 .address-box{
    box-shadow:none;
    border:1px solid #dce5e7;
    background:#f9fbfb;
    padding:6px;
  }
  .hero-v10 .address-privacy-note{
    color:#6b7b80;
    margin:8px 4px 0;
  }
  .hero-actions{margin-top:11px}
  .hero-v10 .secondary-action-btn{
    background:#e9f5f3;
    color:#0b6d69;
    border:1px solid #cce4e0;
  }
  .hero-v10 .micro-proof{
    color:#53656a;
    justify-content:center;
    margin:12px 0 2px;
  }
}

@media(max-width:560px){
  .nav{height:64px}
  .brand{font-size:.83rem;line-height:1.05;max-width:120px}
  .phone-btn{font-size:.74rem;padding:8px 8px;white-space:nowrap}
  .menu-toggle{width:38px;height:38px}
  .hero-bg-image,.hero-overlay{height:310px}
  .compact-trust{margin-top:3px}
  .hero-form-solid{margin-top:106px;border-radius:18px}
}

/* V10.5 — Calendly */
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.calendly-hero-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;background:#fff;color:var(--navy);border:1px solid #fff;text-decoration:none;font-weight:800;font-size:.88rem;box-shadow:0 9px 26px rgba(0,0,0,.12);transition:transform .2s ease,box-shadow .2s ease}
.calendly-hero-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.18)}
.booking-section{padding-top:28px}
.booking-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border-radius:24px;background:#10383b;color:#fff;box-shadow:0 18px 44px rgba(16,56,59,.16)}
.booking-card h2{color:#fff;margin:.3rem 0 .55rem}
.booking-card p{margin:0;color:rgba(255,255,255,.84);max-width:680px}
.booking-primary{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:14px;background:#fff;color:#10383b;text-decoration:none;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.14)}
.estimator-calendly-cta{margin-top:20px;padding:18px;border:1px solid #d9e6e5;border-radius:16px;background:#f7fbfa;text-align:center}
.estimator-calendly-cta strong{display:block;margin-bottom:5px;color:var(--navy)}
.estimator-calendly-cta p{margin:0 0 12px;color:var(--muted);font-size:.9rem}
.estimator-calendly-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:12px;background:var(--teal);color:#fff;text-decoration:none;font-weight:800}
@media(max-width:760px){.hero-actions{display:grid;grid-template-columns:1fr}.calendly-hero-btn,.secondary-action-btn{width:100%}.booking-card{display:grid;padding:22px}.booking-primary{width:100%}}

/* V10.6 — identité visuelle Immo Local, basée sur le visuel fourni */
:root{
  --navy:#063866;
  --navy2:#0a4a7c;
  --teal:#00b8c7;
  --teal2:#17d1dc;
  --coral:#00b8c7;
  --sand:#f5f8fb;
  --cream:#ffffff;
  --ink:#0a3157;
  --muted:#667b8e;
  --line:#dce8ef;
  --shadow:0 18px 50px rgba(4,52,94,.12);
}
body{background:#fff;color:var(--ink)}
h1,h2,h3,.est-result-range{color:var(--navy)}
.site-header{background:rgba(4,49,88,.97);border-bottom:1px solid rgba(255,255,255,.1)}
.nav{height:78px}
.brand-logo{display:flex;align-items:center;width:150px;height:58px;overflow:hidden;border-radius:4px}
.brand-logo img{width:100%;height:auto;display:block}
.navlinks a{color:rgba(255,255,255,.9)}
.navlinks a:hover{color:#21d8e3}
.phone-btn,.primary-btn,.btn,.est-nav .btn{
  background:linear-gradient(135deg,#00aebb,#16cbd5);
  color:#fff;
  border-radius:999px;
  box-shadow:0 8px 22px rgba(0,184,199,.22);
}
.phone-btn:hover,.primary-btn:hover,.btn:hover,.est-nav .btn:hover{
  background:linear-gradient(135deg,#09c2cf,#20d6df);
  transform:translateY(-1px)
}
.menu-toggle{background:#fff;border-color:rgba(255,255,255,.3)}
.hero-v10{background:#063866}
.hero-bg-image{
  background-image:url('/assets/img/hero-immo-local.webp')!important;
  background-position:center 58%!important;
  background-size:cover!important;
  filter:saturate(1.03) contrast(1.02);
}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(3,42,78,.86) 0%,rgba(3,42,78,.66) 42%,rgba(3,42,78,.18) 76%,rgba(3,42,78,.08) 100%)!important;
}
.hero-content h1{
  font-family:'Manrope',system-ui,sans-serif;
  font-weight:800;
  letter-spacing:-.055em;
  color:#fff;
}
.hero-tagline{
  margin:-12px 0 22px;
  color:#fff;
  font-size:1.45rem;
  font-weight:800;
  letter-spacing:-.025em;
}
.hero-content .pill-top{
  background:rgba(0,190,205,.16);
  border:1px solid rgba(38,222,231,.35);
  color:#c9fbff;
}
.hero-v10 .primary-btn{
  background:linear-gradient(135deg,#00aebb,#16cbd5);
  border-radius:999px;
  padding-inline:26px
}
.hero-v10 .address-box{border-radius:999px;padding:7px}
.hero-v10 .address-box input{border-radius:999px;padding-left:18px}
.secondary-action-btn,.calendly-hero-btn{
  border-radius:999px!important;
  font-weight:800;
}
.hero-v10 .secondary-action-btn{
  background:#fff;color:#073d68;border-color:#fff
}
.calendly-hero-btn{
  background:linear-gradient(135deg,#00aebb,#16cbd5)!important;
  color:#fff!important;border-color:transparent!important
}
.trust-inline{border:1px solid rgba(255,255,255,.3)}
.section-kicker{color:#00aebb}
.steps-row article,.feature-grid article,.card,.partner-card,.map-search-card,.estimator-shell{
  border-color:#dbe8ef;
  box-shadow:0 12px 34px rgba(5,57,99,.07)
}
.feature-icon,.partner-icon{background:linear-gradient(135deg,#063866,#0a4a7c)}
.est-progress>div{background:linear-gradient(90deg,#00aebb,#18d1db)}
.est-choice.selected,.est-choice:hover{border-color:#00b8c7;background:#effcfd}
.est-pill.selected{background:#063866;border-color:#063866}
.sales-map-section,.section.soft{background:#f4f8fb}
.cta-band,.booking-card{background:linear-gradient(135deg,#063866,#0b4d7c)}
.booking-primary{
  background:linear-gradient(135deg,#00aebb,#16cbd5);
  color:#fff;border-radius:999px
}
.estimator-calendly-cta a{
  background:linear-gradient(135deg,#00aebb,#16cbd5);
  border-radius:999px
}
.brand-promise{
  text-align:center;
  display:grid;
  gap:2px;
  padding:0 0 34px;
  color:#063866
}
.brand-promise strong{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.04em}
.brand-promise span{font-size:clamp(1.15rem,2vw,1.55rem);font-weight:750}
.brand-promise small{color:#6d8192;font-size:.95rem}
footer{background:#042f57}
.cookie-btn.accept,.cookie-btn.save{
  background:linear-gradient(135deg,#00aebb,#16cbd5);
  border-color:transparent
}
@media(max-width:900px){
  .brand-logo{width:126px;height:50px}
}
@media(max-width:760px){
  .site-header{background:#063866}
  .hero-bg-image{
    background-image:url('/assets/img/hero-immo-local.webp')!important;
    height:310px!important;
    background-position:center 55%!important;
  }
  .hero-overlay{
    height:310px!important;
    background:linear-gradient(180deg,rgba(3,42,78,.08) 0%,rgba(3,42,78,.18) 44%,rgba(3,42,78,.72) 100%)!important
  }
  .hero-tagline{
    color:#fff;text-align:center;font-size:1.05rem;margin:8px 0 0
  }
  .hero-form-solid{
    background:#fff!important;
    border-color:#dce8ef!important;
  }
  .hero-v10 .address-box{
    border-radius:18px!important;
    background:#f7fafc!important
  }
  .hero-v10 .address-box input{border-radius:13px!important}
  .hero-v10 .primary-btn{border-radius:999px!important}
  .brand-promise{padding-bottom:24px}
}
@media(max-width:560px){
  .brand-logo{width:104px;height:45px}
  .nav{height:64px}
  .phone-btn{background:#00b8c7}
}

/* V10.7 */
.compact-trust,.top-trust{border-bottom:0!important}
.brand-logo{
  width:176px!important;
  height:auto!important;
  overflow:visible!important;
  display:grid!important;
  grid-template-columns:1fr;
  gap:0;
  text-decoration:none;
}
.brand-logo img{width:142px!important;height:auto!important;object-fit:contain}
.brand-zone{
  color:rgba(255,255,255,.78);
  font-size:.58rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-top:-4px;
  padding-left:3px;
  white-space:nowrap;
}
.project-reason{margin-top:20px}
@media(max-width:760px){
  .brand-logo{width:128px!important}
  .brand-logo img{width:112px!important}
  .brand-zone{font-size:.48rem;letter-spacing:.08em}
}

/* V10.9 — logo Immo Local intégré sans rectangle */
.brand-logo{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  width:190px!important;
  height:auto!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center;
}
.brand-logo img{
  display:block!important;
  width:100%!important;
  max-width:190px!important;
  height:auto!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.brand-zone{display:none!important}
@media(max-width:760px){
  .brand-logo{width:145px!important}
  .brand-logo img{max-width:145px!important}
}
