
/* ====================================================
   RESET
==================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Inter',-apple-system,sans-serif;color:#1c1009;background:linear-gradient(165deg,#fffdf8 0%,#fdf8f1 30%,#fff7ee 60%,#fdfaf5 100%);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100%}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* ====================================================
   DESIGN TOKENS — WARM BROWN PALETTE
==================================================== */
:root{
  /* Brown */
  --b950:#180b02;
  --b900:#3d1600;
  --b800:#6b2900;
  --b700:#8b3a10;
  --b600:#a84d1d;
  --b500:#c2632d;
  --b400:#d9864f;
  --b100:#f5ddc8;
  --b50:#fdf6ee;
  /* Amber accent */
  --am:#b45309;
  --am-h:#92400e;
  --am-l:#d97706;
  /* Red (emergency) */
  --rd:#dc2626;
  --rd-h:#b91c1c;
  /* Warm neutrals */
  --n900:#1c1009;
  --n800:#2d1f12;
  --n700:#4a3525;
  --n600:#6b5040;
  --n500:#8b7060;
  --n400:#b09280;
  --n300:#d4bfb0;
  --n200:#e8ddd6;
  --n100:#f5ede7;
  --n50:#fdf8f5;
  --white:#ffffff;
  /* Shadows */
  --sh-sm:0 1px 3px rgba(60,20,0,.10);
  --sh-md:0 4px 12px rgba(60,20,0,.10);
  --sh-lg:0 10px 30px rgba(60,20,0,.10);
  --sh-xl:0 20px 50px rgba(60,20,0,.12);
  --sh-am:0 8px 24px rgba(180,83,9,.28);
  --sh-rd:0 8px 24px rgba(220,38,38,.30);
  /* Radius */
  --r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px;--r-2xl:32px;--r-full:9999px;
}

/* ====================================================
   LAYOUT
==================================================== */
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.section{padding:5rem 0}
.section-alt{background:linear-gradient(145deg,var(--b50) 0%,#fef2e3 55%,var(--b50) 100%)}
.section-header{text-align:center;margin-bottom:4rem}
.section-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 14px;background:var(--b50);color:var(--b700);
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  border-radius:var(--r-full);border:1px solid rgba(168,77,29,.2);margin-bottom:1rem
}
.section-title{font-size:clamp(1.875rem,4vw,3rem);font-weight:900;color:var(--n900);line-height:1.08;letter-spacing:-.025em;margin-bottom:1.25rem}
.section-sub{font-size:1.0625rem;color:var(--n500);max-width:560px;margin:0 auto;line-height:1.75}

/* ====================================================
   BUTTONS
==================================================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:var(--r-full);font-size:1rem;font-weight:700;transition:all .22s ease;white-space:nowrap;cursor:pointer;border:none}
.btn-amber{background:var(--am);color:var(--white);box-shadow:var(--sh-am)}
.btn-amber:hover{background:var(--am-h);transform:translateY(-2px);box-shadow:0 12px 32px rgba(180,83,9,.38)}
.btn-red{background:var(--rd);color:var(--white);box-shadow:var(--sh-rd)}
.btn-red:hover{background:var(--rd-h);transform:translateY(-2px);box-shadow:0 12px 32px rgba(220,38,38,.40)}
.btn-ghost{background:rgba(255,255,255,.08);color:var(--white);border:2px solid rgba(255,255,255,.3)}
.btn-ghost:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.6);transform:translateY(-2px)}
.btn-white{background:var(--white);color:var(--rd-h);box-shadow:0 8px 32px rgba(0,0,0,.15)}
.btn-white:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(0,0,0,.2)}
.btn-lg{padding:18px 36px;font-size:1.125rem}
.btn-xl{padding:20px 44px;font-size:1.25rem}

/* ====================================================
   NAVIGATION
==================================================== */
/* Non-sticky header: overlays the hero at the top, scrolls away with the page. */
.nav{position:absolute;inset:0 0 auto 0;z-index:100;padding:16px 0}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.nav-logo{display:flex;align-items:center;gap:0;color:var(--white);font-weight:900;font-size:1.0625rem;letter-spacing:-.01em;flex-shrink:0}
.nav-logo-img{height:56px;width:auto;object-fit:contain;flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links a{color:rgba(255,255,255,.8);font-size:.875rem;font-weight:500;transition:color .15s}
.nav-links a:hover{color:var(--white)}
.nav-phone-btn{display:flex;align-items:center;gap:8px;background:var(--rd);color:var(--white);padding:10px 18px;border-radius:var(--r-full);font-weight:700;font-size:.9rem;transition:all .2s;box-shadow:0 4px 16px rgba(220,38,38,.35)}
.nav-phone-btn:hover{background:var(--rd-h);transform:translateY(-1px)}
.nav-phone-icon{animation:pulse-ring 2s infinite;border-radius:50%}
@keyframes pulse-ring{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.5)}50%{box-shadow:0 0 0 7px rgba(220,38,38,0)}}
.nav-hamburger{display:none;color:var(--white);padding:6px}

/* Mobile drawer */
.nav-drawer{display:none;position:fixed;inset:0;background:var(--b950);z-index:200;padding:88px 24px 32px;flex-direction:column;gap:2rem}
.nav-drawer.open{display:flex}
.nav-drawer-links{display:flex;flex-direction:column}
.nav-drawer-links a{color:var(--white);font-size:1.75rem;font-weight:800;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.nav-drawer-close{position:absolute;top:20px;right:22px;color:var(--white);padding:8px}
.nav-drawer-cta{margin-top:auto}

/* ====================================================
   HERO
==================================================== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--b950)}
.hero-bg{position:absolute;inset:0;background:url('/images/hero-wide.webp') right center/cover no-repeat;background-color:#0c0501}
.hero-grid-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,5,1,.85) 0%,rgba(12,5,1,.62) 38%,rgba(12,5,1,.28) 62%,rgba(12,5,1,.08) 82%,transparent 100%),linear-gradient(0deg,rgba(12,5,1,.55) 0%,transparent 28%)}
.hero-glow{position:absolute;top:-20%;right:-10%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(180,83,9,.06) 0%,transparent 70%);animation:float 9s ease-in-out infinite}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(15px,-25px)}}

.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr 340px;gap:4rem;align-items:center;width:100%;padding-top:90px}
.hero-live-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(24,11,2,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(220,38,38,.45);border-radius:var(--r-full);color:#fecaca;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:1.5rem}
.live-dot{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:blink 1.6s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.hero-title{font-size:clamp(2.4rem,5.5vw,4.25rem);font-weight:900;color:var(--white);line-height:1.04;letter-spacing:-.03em;margin-bottom:1.5rem;text-shadow:0 2px 6px rgba(12,5,1,.45),0 8px 32px rgba(12,5,1,.35)}
.hero-title em{font-style:normal;color:#eda36a}
.city-highlight{color:var(--am);font-style:normal;display:inline-block}
@keyframes cityIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes cityOut{from{opacity:1}to{opacity:0}}
.city-highlight.city-in{animation:cityIn .35s ease-out forwards}
.city-highlight.city-out{animation:cityOut .25s ease-in forwards}
.hero-sub{font-size:clamp(1rem,1.8vw,1.125rem);color:rgba(255,255,255,.88);line-height:1.75;max-width:520px;margin-bottom:2.5rem;text-shadow:0 1px 4px rgba(12,5,1,.5)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:3.5rem}
.hero-trust-row{display:flex;flex-wrap:wrap;gap:1.5rem}
.hero-google-badge{margin-top:1.5rem}
.hero-google-badge img{display:block;width:290px;max-width:80%;height:auto;background:#fff;border-radius:var(--r-md);padding:10px 14px;box-shadow:var(--sh-md)}
.hero-trust-item{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.9);font-size:.875rem;font-weight:600;text-shadow:0 1px 4px rgba(12,5,1,.6)}
.hero-trust-item svg{color:var(--b400);flex-shrink:0}

/* Hero card */
.hero-card{background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-xl);padding:2rem}
.hero-card-title{color:var(--white);font-weight:800;font-size:1.0625rem;margin-bottom:1.25rem}
.hero-card-form{display:flex;flex-direction:column;gap:10px}
.hc-input,.hc-select{padding:11px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:var(--r-md);color:var(--white);font-size:.875rem;font-family:inherit;width:100%;transition:border-color .15s}
.hc-input::placeholder{color:rgba(255,255,255,.32)}
.hc-input:focus,.hc-select:focus{outline:none;border-color:rgba(217,134,79,.5)}
.hc-select{color:rgba(255,255,255,.65);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11'%3E%3Cpath fill='rgba(255,255,255,0.35)' d='M5.5 8L0 2h11z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.hc-select option{background:var(--b950);color:var(--white)}
.hc-submit{padding:12px;background:var(--am);color:var(--white);border-radius:var(--r-md);font-weight:700;font-size:.9375rem;display:flex;align-items:center;justify-content:center;gap:7px;transition:all .2s;margin-top:4px;border:none;cursor:pointer;width:100%}
.hc-submit:hover{background:var(--am-h);transform:translateY(-1px)}
.hc-note{font-size:.72rem;color:rgba(255,255,255,.35);text-align:center;margin-top:6px}

/* ====================================================
   STATS BAR
==================================================== */
.stats{background:linear-gradient(135deg,#5c2200 0%,var(--b800) 45%,#7a3008 100%);padding:2.5rem 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stat{text-align:center;padding:.75rem 1rem;border-right:1px solid rgba(255,255,255,.12)}
.stat:last-child{border-right:none}
.stat-val{display:block;font-size:clamp(2rem,3.5vw,3rem);font-weight:900;color:var(--white);letter-spacing:-.03em;line-height:1;margin-bottom:4px}
.stat-lbl{font-size:.8125rem;color:rgba(255,255,255,.65);font-weight:500;line-height:1.35}
.stats-ticker{display:none;overflow:hidden;width:100%}
.stats-ticker-track{display:flex;white-space:nowrap;animation:stats-scroll 18s linear infinite;width:max-content}
.ticker-item{color:var(--white);font-size:.875rem;font-weight:500;padding:0 .75rem}
.ticker-item strong{font-weight:900;font-size:1rem;margin-right:.25rem}
.ticker-sep{color:rgba(255,255,255,.35);padding:0 .25rem;font-size:.75rem}
@keyframes stats-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.stats-ticker{display:none;overflow:hidden;width:100%}
.stats-ticker-track{display:flex;white-space:nowrap;animation:stats-scroll 18s linear infinite;width:max-content}
.ticker-item{color:var(--white);font-size:.875rem;font-weight:500;padding:0 .75rem}
.ticker-item strong{font-weight:900;font-size:1rem;margin-right:.25rem}
.ticker-sep{color:rgba(255,255,255,.35);padding:0 .25rem;font-size:.75rem}
@keyframes stats-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ====================================================
   SERVICES
==================================================== */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.25rem}
.svc-card{background:var(--white);border:1.5px solid var(--n200);border-radius:var(--r-lg);padding:1.75rem 1.5rem;text-align:center;transition:all .25s ease;cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center}
.svc-card::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--b50) 0%,transparent 100%);opacity:0;transition:opacity .25s}
.svc-card:hover{border-color:var(--b500);box-shadow:var(--sh-lg),0 0 0 4px rgba(194,99,45,.07);transform:translateY(-5px)}
.svc-card:hover::after{opacity:1}
.svc-icon{width:68px;height:68px;margin:0 auto 1rem;background:var(--b50);border-radius:var(--r-xl);display:flex;align-items:center;justify-content:center;font-size:1.875rem;transition:all .25s;position:relative;z-index:1}
.svc-card:hover .svc-icon{background:var(--b500);transform:scale(1.1)}
.svc-name{font-weight:700;font-size:.9375rem;color:var(--n900);margin-bottom:6px;position:relative;z-index:1}
.svc-desc{font-size:.8125rem;color:var(--n500);line-height:1.55;position:relative;z-index:1}
.svc-cta{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:10px;font-size:.8125rem;font-weight:700;color:var(--am);position:relative;z-index:1}

/* ====================================================
   WHY US
==================================================== */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.why-visual img{display:block;width:100%;height:auto;border-radius:var(--r-lg);position:relative}
.why-features{display:flex;flex-direction:column;gap:1.75rem}
.why-feat{display:flex;gap:1.125rem;align-items:flex-start}
.why-feat-icon{width:50px;height:50px;flex-shrink:0;background:var(--b50);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;color:var(--am)}
.why-feat-title{font-weight:700;font-size:1.0625rem;color:var(--n900);margin-bottom:3px}
.why-feat-desc{font-size:.9rem;color:var(--n500);line-height:1.65}
.why-visual{background:linear-gradient(145deg,var(--b800) 0%,var(--b950) 100%);border-radius:var(--r-2xl);padding:2.5rem;position:relative;overflow:hidden}
.why-visual::before{content:'';position:absolute;top:-30%;right:-20%;width:280px;height:280px;border-radius:50%;background:rgba(180,83,9,.1)}
.why-visual-title{color:var(--white);font-weight:800;font-size:1.125rem;margin-bottom:1.5rem;position:relative}
.cert-list{display:flex;flex-direction:column;gap:12px;position:relative}
.cert-item{display:flex;align-items:center;gap:1rem;padding:14px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg)}
.cert-ico{width:42px;height:42px;flex-shrink:0;background:var(--am);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center}
.cert-txt h4{font-weight:700;font-size:.875rem;color:var(--white)}
.cert-txt p{font-size:.75rem;color:rgba(255,255,255,.45);margin-top:1px}

/* ====================================================
   PROCESS
==================================================== */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}
.process-grid::before{content:'';position:absolute;top:28px;left:calc(12.5% + 28px);right:calc(12.5% + 28px);height:2px;background:linear-gradient(90deg,var(--b500),var(--b400));opacity:.5}
.process-step{text-align:center}
.process-num{width:56px;height:56px;background:var(--am);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.25rem;color:var(--white);margin:0 auto 1.5rem;position:relative;z-index:1;box-shadow:0 0 0 8px var(--white),0 0 0 10px var(--n200)}
.process-title{font-weight:700;font-size:1.0625rem;color:var(--n900);margin-bottom:.625rem}
.process-desc{font-size:.875rem;color:var(--n500);line-height:1.65}

/* ====================================================
   REVIEWS — Infinite Scroll Columns
==================================================== */
.reviews-cols-wrap{max-height:720px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent)}
.reviews-cols{display:flex;justify-content:center;gap:1.25rem}
.reviews-col{flex:1;max-width:340px;overflow:hidden}
.reviews-col-inner{display:flex;flex-direction:column;gap:1.125rem;animation:colScroll linear infinite}
.reviews-col-inner:hover{animation-play-state:paused}
@keyframes colScroll{to{transform:translateY(-50%)}}
.review-col-card{background:var(--white);border:1.5px solid var(--n200);border-radius:var(--r-xl);padding:1.625rem;box-shadow:0 4px 18px rgba(60,20,0,.07)}
.review-col-stars{color:#f59e0b;font-size:.95rem;margin-bottom:.75rem}
.review-col-text{font-size:.875rem;color:var(--n700);line-height:1.7;font-style:italic;margin-bottom:1.125rem}
.review-col-author{display:flex;align-items:center;gap:10px}
.review-col-avatar{width:38px;height:38px;flex-shrink:0;background:var(--b50);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.775rem;color:var(--b700)}
.review-col-name{font-weight:700;color:var(--n900);font-size:.875rem}
.review-col-loc{font-size:.775rem;color:var(--n400);margin-top:1px}
/* Aggregate */
.review-agg{display:flex;justify-content:center;margin-top:2.5rem}
.review-agg-inner{display:inline-flex;align-items:center;gap:1.25rem;padding:1rem 2rem;background:var(--white);border:1.5px solid var(--n200);border-radius:var(--r-full);box-shadow:var(--sh-md)}
.review-agg-stars{color:#f59e0b;font-size:1.5rem;display:flex;gap:2px}
.review-agg-score{font-weight:900;font-size:1.75rem;color:var(--n900);line-height:1}
.review-agg-count{font-size:.8125rem;color:var(--n500);margin-top:2px}
@media(max-width:900px){.reviews-col:last-child{display:none}.reviews-col{max-width:none}}
@media(max-width:600px){.reviews-col:nth-child(2){display:none}}

/* ====================================================
   EMERGENCY
==================================================== */
.emergency{background:linear-gradient(140deg,var(--rd-h) 0%,#7f1d1d 100%);padding:5rem 0;position:relative;overflow:hidden}
.emergency::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px}
.emergency-inner{position:relative;text-align:center}
.emg-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:900;color:var(--white);letter-spacing:-.03em;line-height:1.08;margin-bottom:1.25rem}
.emg-sub{font-size:1.0625rem;color:rgba(255,255,255,.72);max-width:480px;margin:0 auto 2.5rem;line-height:1.75}
.emg-ctas{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}

/* ====================================================
   CONTACT
==================================================== */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:start}
.contact-left h2{font-size:2rem;font-weight:900;color:var(--n900);letter-spacing:-.025em;line-height:1.2;margin-bottom:1rem}
.contact-left p{color:var(--n500);line-height:1.75;margin-bottom:2rem}
.contact-details{display:flex;flex-direction:column;gap:1.25rem}
.cd{display:flex;align-items:center;gap:1rem}
.cd-icon{width:46px;height:46px;flex-shrink:0;background:var(--b50);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;color:var(--am)}
.cd-lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--n400);font-weight:700;margin-bottom:2px}
.cd-val{font-weight:700;font-size:1.0625rem;color:var(--n900)}
.form-card{background:var(--white);border:1.5px solid var(--n200);border-radius:var(--r-xl);padding:2.5rem;box-shadow:var(--sh-xl)}
.form-card h3{font-size:1.375rem;font-weight:900;color:var(--n900);letter-spacing:-.02em;margin-bottom:4px}
.form-sub{font-size:.875rem;color:var(--n500);margin-bottom:1.75rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.125rem}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group.span2{grid-column:1 / -1}
.form-label{font-size:.8125rem;font-weight:600;color:var(--n700)}
.form-label span{color:var(--rd)}
.form-input,.form-select,.form-textarea{padding:11px 14px;background:var(--n50);border:1.5px solid var(--n200);border-radius:var(--r-md);font-size:.9375rem;font-family:inherit;color:var(--n900);transition:all .15s;width:100%}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--am);background:var(--white);box-shadow:0 0 0 4px rgba(180,83,9,.1)}
.form-textarea{resize:vertical;min-height:110px}
.form-btn{width:100%;padding:15px;background:var(--am);color:var(--white);border-radius:var(--r-full);font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--sh-am);transition:all .22s;border:none;cursor:pointer}
.form-btn:hover{background:var(--am-h);transform:translateY(-2px)}
.form-note{font-size:.72rem;color:var(--n400);text-align:center;margin-top:10px}

/* ====================================================
   FOOTER
==================================================== */
.footer{background:#0e0602;color:rgba(255,255,255,.6);padding:4rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:2rem}
.footer-logo{display:flex;align-items:center;gap:10px;color:var(--white);font-weight:900;font-size:1.0625rem;margin-bottom:1rem}
.footer-logo-img{height:56px;width:auto;object-fit:contain;flex-shrink:0}
.footer-desc{font-size:.8125rem;line-height:1.75;margin-bottom:1.5rem}
.footer-phone-link{display:inline-flex;align-items:center;gap:8px;color:var(--white);font-weight:700;font-size:1.125rem;transition:color .15s}
.footer-phone-link:hover{color:var(--b400)}
.footer-col-head{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--white);margin-bottom:1.25rem}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{font-size:.875rem;color:rgba(255,255,255,.45);transition:color .15s}
.footer-links a:hover{color:var(--white)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:rgba(255,255,255,.28)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{color:rgba(255,255,255,.28);transition:color .15s}
.footer-legal a:hover{color:rgba(255,255,255,.65)}

/* ====================================================
   MOBILE STICKY BAR
==================================================== */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;padding:12px 1rem;background:#0e0602;border-top:1px solid rgba(255,255,255,.08);z-index:90;gap:10px}
.mobile-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:14px 10px;border-radius:var(--r-full);font-weight:700;font-size:.9375rem;color:var(--white)}
.mbar-call{background:var(--rd)}
.mbar-form{background:var(--am)}

/* ====================================================
   SCROLL REVEAL
==================================================== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.07s}
.reveal-d2{transition-delay:.14s}
.reveal-d3{transition-delay:.21s}

/* ====================================================
   FUNNEL MODAL
==================================================== */
.funnel-overlay{
  display:none;position:fixed;inset:0;z-index:200;
  background:rgba(24,11,2,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  align-items:center;justify-content:center;padding:1rem
}
.funnel-overlay.open{display:flex}
.funnel-modal{
  background:var(--white);border-radius:var(--r-2xl);width:100%;max-width:520px;
  box-shadow:0 32px 80px rgba(0,0,0,.25);overflow:hidden;position:relative
}
/* Progress bar */
.funnel-progress{height:4px;background:var(--n200)}
.funnel-progress-fill{height:100%;background:linear-gradient(90deg,var(--am),var(--am-l));transition:width .4s ease}
/* Header */
.funnel-header{padding:1.5rem 2rem 0;display:flex;align-items:center;justify-content:space-between}
.funnel-pest-chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;background:var(--b50);border:1.5px solid var(--b100);
  border-radius:var(--r-full);font-size:.875rem;font-weight:700;color:var(--b700)
}
.funnel-close{width:32px;height:32px;border-radius:50%;background:var(--n100);display:flex;align-items:center;justify-content:center;color:var(--n600);transition:all .15s;flex-shrink:0}
.funnel-close:hover{background:var(--n200);color:var(--n900)}
/* Steps container */
.funnel-steps{overflow:hidden;position:relative}
.funnel-step{padding:1.5rem 2rem 2rem;display:none}
.funnel-step.active{display:block}
.funnel-step h3{font-size:1.25rem;font-weight:900;color:var(--n900);letter-spacing:-.02em;margin-bottom:.5rem}
.funnel-step .funnel-hint{font-size:.875rem;color:var(--n500);margin-bottom:1.5rem}
/* Option cards */
.funnel-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}
.funnel-option{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:1.125rem 1rem;background:var(--n50);border:2px solid var(--n200);
  border-radius:var(--r-lg);cursor:pointer;transition:all .2s;text-align:center
}
.funnel-option:hover{border-color:var(--am);background:var(--b50)}
.funnel-option.selected{border-color:var(--am);background:var(--b50);box-shadow:0 0 0 3px rgba(180,83,9,.12)}
.funnel-option-icon{font-size:1.75rem}
.funnel-option-label{font-size:.875rem;font-weight:700;color:var(--n800)}
.funnel-option-sub{font-size:.75rem;color:var(--n500)}
/* Contact step */
.funnel-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem;margin-bottom:1.25rem}
.funnel-field{display:flex;flex-direction:column;gap:5px}
.funnel-field.full{grid-column:1/-1}
.funnel-field label{font-size:.8rem;font-weight:700;color:var(--n700)}
.funnel-field label span{color:var(--rd)}
.funnel-input{padding:10px 13px;background:var(--n50);border:1.5px solid var(--n200);border-radius:var(--r-md);font-size:.9375rem;font-family:inherit;color:var(--n900);width:100%;transition:all .15s}
.funnel-input:focus{outline:none;border-color:var(--am);background:var(--white);box-shadow:0 0 0 3px rgba(180,83,9,.1)}
/* Nav buttons */
.funnel-nav{display:flex;gap:.75rem}
.funnel-btn-next{flex:1;padding:14px;background:var(--am);color:var(--white);border-radius:var(--r-full);font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:7px;border:none;cursor:pointer;transition:all .2s}
.funnel-btn-next:hover{background:var(--am-h)}
.funnel-btn-next:disabled{opacity:.5;cursor:not-allowed;transform:none}
.funnel-btn-back{padding:14px 18px;background:var(--n100);color:var(--n700);border-radius:var(--r-full);font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:all .2s}
.funnel-btn-back:hover{background:var(--n200)}
/* Success step */
.funnel-success{padding:2.5rem 2rem;text-align:center}
.funnel-success-icon{width:72px;height:72px;background:var(--b50);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2rem}
.funnel-success h3{font-size:1.375rem;font-weight:900;color:var(--n900);margin-bottom:.75rem}
.funnel-success p{font-size:.9375rem;color:var(--n500);line-height:1.7;margin-bottom:2rem}
.funnel-success .big-phone{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--rd);color:var(--white);padding:15px 28px;border-radius:var(--r-full);font-size:1.125rem;font-weight:800;box-shadow:var(--sh-rd);transition:all .2s}
.funnel-success .big-phone:hover{background:var(--rd-h);transform:translateY(-2px)}

/* ====================================================
   RESPONSIVE
==================================================== */
@media(max-width:1024px){
  .hero-layout{grid-template-columns:1fr;padding-top:80px}
  .hero-card{display:none}
  .why-grid{grid-template-columns:1fr;gap:2.5rem}
  .why-visual{order:-1}
  .contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
}
@media(max-width:768px){
  .hero-bg{background-image:url('/images/hero.webp');background-position:center 25%;background-size:cover}
  .hero-grid-overlay{background:linear-gradient(180deg,rgba(12,5,1,.7) 0%,rgba(12,5,1,.45) 45%,rgba(12,5,1,.75) 100%)}
  .nav-links,.nav-cta-wrap{display:none}
  .nav-hamburger{display:block}
  .stats-desktop{display:none}
  .stats{padding:1rem 0}
  .stats-ticker{display:block}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid::before{display:none}

  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center}
  .mobile-bar{display:flex}
  .section{padding:3.5rem 0}
  body{padding-bottom:78px}
  .funnel-options{grid-template-columns:1fr 1fr}
  .funnel-form-grid{grid-template-columns:1fr}
  .funnel-modal{border-radius:var(--r-xl) var(--r-xl) 0 0;position:fixed;bottom:0;left:0;right:0;max-width:100%}
  .funnel-overlay{align-items:flex-end;padding:0}
  .hero-title{font-size:clamp(1.7rem,7vw,2.5rem);word-break:break-word;overflow-wrap:break-word}
  .hero-sub{max-width:100%;font-size:.9375rem}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%;justify-content:center;font-size:1rem;padding:15px 24px}
  .emg-ctas{flex-direction:column;align-items:center}
  .emg-ctas a{width:100%;max-width:340px;justify-content:center}
}
@media(max-width:480px){
  .funnel-options{grid-template-columns:1fr 1fr}
}

/* ====================================================
   PHOTO BLOCKS
==================================================== */
.photo-banner{border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-xl);margin-bottom:3.5rem;position:relative}
.photo-banner img{width:100%;height:auto;display:block}
.photo-banner-caption{position:absolute;bottom:0;left:0;right:0;padding:1.875rem 2.5rem;background:linear-gradient(to top,rgba(14,6,2,.92) 0%,rgba(14,6,2,.5) 60%,transparent 100%)}
.photo-banner-caption strong{display:block;color:var(--white);font-weight:800;font-size:1.125rem;letter-spacing:-.01em;margin-bottom:5px}
.photo-banner-caption span{color:rgba(255,255,255,.62);font-size:.875rem}

.services-intro{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;margin-bottom:3.5rem}
.svc-intro-img{border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-xl)}
.svc-intro-img img{width:100%;height:380px;object-fit:cover;display:block}
.svc-intro-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;background:var(--b50);color:var(--b700);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--r-full);border:1px solid rgba(168,77,29,.2);margin-bottom:.875rem}
.svc-intro-title{font-size:1.625rem;font-weight:900;color:var(--n900);letter-spacing:-.025em;line-height:1.18;margin-bottom:.875rem}
.svc-intro-text{color:var(--n500);line-height:1.75;margin-bottom:1.625rem;font-size:.9375rem}
.svc-intro-list{display:flex;flex-direction:column;gap:.875rem}
.svc-intro-list li{display:flex;align-items:center;gap:.875rem;font-size:.9375rem;color:var(--n800);font-weight:500}
.svc-intro-dot{width:9px;height:9px;border-radius:50%;background:var(--am);flex-shrink:0}

/* Images carried over from the old pages, rendered inside the prose column. */
.content-img{margin:2.5rem auto;max-width:100%}
.content-img img{display:block;width:100%;height:auto;border-radius:var(--r-lg);box-shadow:var(--sh-md)}

.contact-photo-wrap{border-radius:var(--r-xl);overflow:hidden;margin-bottom:1.875rem;box-shadow:var(--sh-lg)}
.contact-photo-wrap img{width:100%;height:270px;object-fit:cover;object-position:center 18%;display:block}
.contact-photo-cap{padding:.875rem 1.25rem;background:var(--b50);border:1.5px solid var(--n200);border-top:none;border-radius:0 0 var(--r-xl) var(--r-xl)}
.contact-photo-cap strong{display:block;font-size:.875rem;font-weight:700;color:var(--n800)}
.contact-photo-cap span{font-size:.8125rem;color:var(--n500);margin-top:2px;display:block}

@media(max-width:768px){
  .photo-banner img{height:260px;object-fit:cover;object-position:center 30%}
  .photo-banner-caption{padding:1.25rem 1.5rem}
  .photo-banner-caption strong{font-size:1rem}
  .services-intro{grid-template-columns:1fr;gap:2rem}
  .svc-intro-img img{height:260px}
  .contact-photo-wrap img{height:220px}
}

/* ====================================================
   WHATSAPP
==================================================== */
.btn-whatsapp{background:#25D366;color:var(--white);box-shadow:0 8px 24px rgba(37,211,102,.28)}
.btn-whatsapp:hover{background:#1da851;transform:translateY(-2px);box-shadow:0 12px 32px rgba(37,211,102,.42)}
.mbar-wa{background:#25D366}
/* Floating button — desktop only */
.wa-float{
  display:none;position:fixed;bottom:28px;right:24px;z-index:88;
  align-items:center;gap:9px;
  background:#25D366;color:#fff;
  padding:13px 20px 13px 16px;border-radius:var(--r-full);
  font-weight:700;font-size:.9375rem;
  box-shadow:0 6px 28px rgba(37,211,102,.45);
  transition:all .25s ease
}
.wa-float:hover{background:#1da851;transform:translateY(-3px);box-shadow:0 12px 40px rgba(37,211,102,.58)}
@media(min-width:769px){.wa-float{display:flex}}

/* Hinweis vor dem Absenden */
.vm-hinweis{font-size:.68rem;line-height:1.45;text-align:center;margin:8px 0 2px;opacity:.55}
.vm-hinweis--hell{color:rgba(255,255,255,.5);opacity:1}

/* Klarstellung Vermittlungsmodell im Footer */
.vm-vertragspartner{font-size:.66rem;line-height:1.5;opacity:.55;margin:0 0 14px;max-width:78ch}

/* SICHTBARKEITS-NETZ — Inhalte duerfen nie an JavaScript haengen.
   Ohne die js-Klasse (JS aus, Skriptfehler, Consent-Blocker) sind alle
   animierten Bloecke sofort sichtbar statt dauerhaft opacity:0. */
html:not(.js) .reveal, .rv, .rv-left, .rv-right, .reveal-left, .reveal-right, .tl-step, .hero-animate { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  .reveal, .rv, .rv-left, .rv-right, .reveal-left, .reveal-right, .tl-step, .hero-animate { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* HINTERGRUND-DESKTOP — background-attachment:fixed nur dort, wo es
   zuverlaessig neu gezeichnet wird. Auf iOS fuehrt es bei langen
   Seiten zu grossen leeren Flaechen. */
@media (min-width:1025px) and (hover:hover) and (pointer:fine){
  body{background-attachment:fixed}
}

/* ====================================================
   RELAUNCH ADDITIONS — inquiry form, honeypot, misc
   (uses the design tokens defined above)
==================================================== */

/* Honeypot — visually hidden but not display:none, so bots still fill it */
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* Reviews section can be hidden per page via [hidden] */
.reviews-section[hidden]{display:none!important}

/* Seamless review-column loop. site.js measures the exact offset between a
   card and its duplicate (flex gap included) and sets --kk-scroll-distance,
   so the loop restarts with no half-gap jump. */
@keyframes kkColScroll{to{transform:translateY(var(--kk-scroll-distance,-50%))}}

/* ---- Inquiry form (rendered into [data-inquiry-form] by inquiry.js) ---- */
.inquiry{background:var(--white);border:1.5px solid var(--n200);border-radius:var(--r-2xl);box-shadow:var(--sh-xl);overflow:hidden;max-width:560px;margin:0 auto}
.inquiry-progress{height:4px;background:var(--n200)}
.inquiry-progress-fill{height:100%;width:33.333%;background:linear-gradient(90deg,var(--am),var(--am-l));transition:width .4s ease}
.inquiry-steps{position:relative}
.inquiry-step{padding:1.75rem 2rem 2rem}
.inquiry-step[hidden]{display:none}
.inquiry-step h3{font-size:1.25rem;font-weight:900;color:var(--n900);letter-spacing:-.02em;margin-bottom:.5rem}
.inquiry-hint{font-size:.875rem;color:var(--n500);margin-bottom:1.5rem}

/* Option cards (steps 1 + 2) */
.inquiry-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}
.inquiry-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:1.125rem 1rem;background:var(--n50);border:2px solid var(--n200);border-radius:var(--r-lg);cursor:pointer;transition:all .2s;text-align:center;font-family:inherit;width:100%}
.inquiry-option:hover{border-color:var(--am);background:var(--b50)}
.inquiry-option:focus-visible{outline:none;border-color:var(--am);box-shadow:0 0 0 3px rgba(180,83,9,.25)}
.inquiry-option.selected{border-color:var(--am);background:var(--b50);box-shadow:0 0 0 3px rgba(180,83,9,.12)}
.inquiry-option-icon{font-size:1.75rem;line-height:1}
.inquiry-option-label{font-size:.875rem;font-weight:700;color:var(--n800)}
.inquiry-option-sub{font-size:.75rem;color:var(--n500)}

/* Contact step */
.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem;margin-bottom:1.25rem}
.inquiry-field{display:flex;flex-direction:column;gap:5px}
.inquiry-field.full{grid-column:1/-1}
.inquiry-field label{font-size:.8rem;font-weight:700;color:var(--n700)}
.inquiry-field label span{color:var(--rd)}
.inquiry-input{padding:10px 13px;background:var(--n50);border:1.5px solid var(--n200);border-radius:var(--r-md);font-size:.9375rem;font-family:inherit;color:var(--n900);width:100%;transition:all .15s}
.inquiry-input:focus{outline:none;border-color:var(--am);background:var(--white);box-shadow:0 0 0 3px rgba(180,83,9,.1)}
textarea.inquiry-input{resize:vertical;min-height:96px}
.inquiry-input.has-error{border-color:var(--rd);background:#fef2f2}
.inquiry-input.has-error:focus{border-color:var(--rd);box-shadow:0 0 0 3px rgba(220,38,38,.12)}

/* Inline field errors */
.inquiry-error{font-size:.775rem;font-weight:600;color:var(--rd);line-height:1.45}
.inquiry-error:empty{display:none}

/* Error box (429 / 5xx / network) */
.inquiry-errorbox{margin-bottom:1.125rem;padding:1rem 1.125rem;background:#fef2f2;border:1.5px solid rgba(220,38,38,.35);border-radius:var(--r-lg);color:var(--rd-h);font-size:.875rem;line-height:1.6}
.inquiry-errorbox a{display:inline-flex;align-items:center;gap:7px;margin-top:.625rem;background:var(--rd);color:var(--white);padding:10px 18px;border-radius:var(--r-full);font-weight:800;font-size:.9375rem;box-shadow:var(--sh-rd);transition:all .2s}
.inquiry-errorbox a:hover{background:var(--rd-h);transform:translateY(-1px)}

/* Nav buttons */
.inquiry-nav{display:flex;gap:.75rem}
.inquiry-btn-next{flex:1;padding:14px;background:var(--am);color:var(--white);border-radius:var(--r-full);font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:7px;border:none;cursor:pointer;font-family:inherit;transition:all .2s}
.inquiry-btn-next:hover{background:var(--am-h)}
.inquiry-btn-next:disabled{opacity:.5;cursor:not-allowed;transform:none}
.inquiry-btn-back{padding:14px 18px;background:var(--n100);color:var(--n700);border-radius:var(--r-full);font-weight:600;font-size:.9rem;border:none;cursor:pointer;font-family:inherit;transition:all .2s}
.inquiry-btn-back:hover{background:var(--n200)}
.inquiry-note{font-size:.72rem;color:var(--n400);text-align:center;margin-top:10px}

/* Success panel */
.inquiry-success{padding:2.5rem 2rem;text-align:center}
.inquiry-success-icon{width:72px;height:72px;background:var(--b50);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2rem}
.inquiry-success h3{font-size:1.375rem;font-weight:900;color:var(--n900);margin-bottom:.75rem}
.inquiry-success h3:focus{outline:none}
.inquiry-success h3:focus-visible{outline:2px solid var(--am);outline-offset:4px;border-radius:var(--r-sm)}
.inquiry-success p{font-size:.9375rem;color:var(--n500);line-height:1.7;margin-bottom:2rem}
.inquiry-success .big-phone{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--rd);color:var(--white);padding:15px 28px;border-radius:var(--r-full);font-size:1.125rem;font-weight:800;box-shadow:var(--sh-rd);transition:all .2s}
.inquiry-success .big-phone:hover{background:var(--rd-h);transform:translateY(-2px)}

@media(max-width:600px){
  .inquiry-step{padding:1.5rem 1.25rem 1.5rem}
  .inquiry-options{grid-template-columns:1fr}
  .inquiry-grid{grid-template-columns:1fr}
  .inquiry-success{padding:2rem 1.25rem}
}

@media(prefers-reduced-motion:reduce){
  .reviews-col-inner{animation:none}
  .inquiry-progress-fill{transition:none}
}

/* ====================================================
   IN DER NÄHE? — availability checker
==================================================== */
.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}
.near-box{max-width:640px;margin:0 auto;text-align:center}
.near-sub{color:var(--n500);line-height:1.7;margin-bottom:1.75rem}
.near-form{position:relative;max-width:420px;margin:0 auto}
.near-form input{width:100%;padding:16px 22px;border:2px solid var(--b200);border-radius:var(--r-full);font:inherit;font-size:1rem;background:var(--white);box-shadow:var(--sh-sm);transition:border-color .2s ease}
.near-form input:focus{outline:none;border-color:var(--am);box-shadow:var(--sh-am)}
.near-suggestions{list-style:none;margin:6px 0 0;padding:6px;position:absolute;inset-inline:0;top:100%;background:var(--white);border:1px solid var(--b200);border-radius:var(--r-lg);box-shadow:var(--sh-lg);z-index:20;text-align:left}
.near-suggestions li{padding:10px 16px;border-radius:var(--r-md);cursor:pointer;font-size:.9375rem}
.near-suggestions li:hover,.near-suggestions li:focus{background:var(--b100);outline:none}
.near-result{margin-top:1.75rem}
.near-result-text{font-weight:700;color:#1da851;margin-bottom:1rem}
.near-hint{margin-top:1.5rem;font-size:.875rem;color:var(--n500)}
.near-hint a{color:var(--am);font-weight:600}

/* Pre-footer CTA band */
.more-cta{padding-top:3rem;padding-bottom:5rem}

/* ====================================================
   INQUIRY WIZARD (5-step funnel, old-site flow)
==================================================== */
.inquiry{max-width:720px;margin:0 auto}
.inquiry-progress{display:flex;justify-content:center;gap:8px;margin-bottom:2rem}
.inquiry-progress-dot{width:34px;height:5px;border-radius:var(--r-full);background:var(--n200);transition:background .2s ease}
.inquiry-progress-dot.active{background:var(--am)}
.inquiry-step-title{font-size:clamp(1.25rem,2.6vw,1.75rem);font-weight:800;color:var(--n900);text-align:center;margin-bottom:.75rem;outline:none}
.inquiry-step-sub{color:var(--n500);text-align:center;margin-bottom:2rem;line-height:1.6}
.inquiry-pest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:2rem}
.inquiry-pest-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;background:var(--white);border:2px solid var(--n200);border-radius:var(--r-lg);transition:all .18s ease;font-family:inherit}
.inquiry-pest-card:hover{border-color:var(--am);transform:translateY(-3px);box-shadow:var(--sh-md)}
.inquiry-pest-card.selected{border-color:var(--am);background:var(--b50)}
.inquiry-pest-card img{width:72px;height:72px;object-fit:contain}
.inquiry-pest-emoji{font-size:3rem;line-height:72px}
.inquiry-pest-label{font-weight:700;font-size:.9375rem;color:var(--n800)}
.inquiry-loc-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:2rem}
.inquiry-loc-pill{padding:14px 26px;background:var(--white);border:2px solid var(--n200);border-radius:var(--r-lg);font-weight:700;font-size:.9375rem;color:var(--n800);transition:all .18s ease;font-family:inherit}
.inquiry-loc-pill:hover{border-color:var(--am);transform:translateY(-2px);box-shadow:var(--sh-sm)}
.inquiry-loc-pill.selected{border-color:var(--am);background:var(--b50)}
.inquiry-field{margin-bottom:1.25rem;text-align:left}
.inquiry-field label{display:block;font-weight:600;font-size:.875rem;color:var(--n700);margin-bottom:6px}
.inquiry-field input{width:100%;padding:14px 18px;border:2px solid var(--n200);border-radius:var(--r-md);font:inherit;background:var(--white);transition:border-color .18s ease}
.inquiry-field input:focus{outline:none;border-color:var(--am)}
.inquiry-next{display:flex;margin:0 auto 1.5rem}
.inquiry-drop{border:2px dashed var(--n300);border-radius:var(--r-lg);padding:2.5rem 1.5rem;text-align:center;background:var(--white);cursor:pointer;transition:all .18s ease;margin-bottom:1rem}
.inquiry-drop:hover,.inquiry-drop.drag{border-color:var(--am);background:var(--b50)}
.inquiry-drop-text{font-weight:700;color:var(--n800)}
.inquiry-drop-hint{font-size:.8125rem;color:var(--n500);margin-top:4px}
.inquiry-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.inquiry-contact-grid .inquiry-field{grid-column:1 / -1}
.inquiry-contact-grid .inquiry-field.half{grid-column:auto}
.inquiry-consent{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:14px 16px;background:var(--white);border:1px solid var(--n200);border-radius:var(--r-md);margin-bottom:.5rem;font-size:.875rem;color:var(--n700)}
.inquiry-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--am)}
.inquiry-consent a{color:var(--am);text-decoration:underline}
.inquiry-submit{display:flex;width:100%;margin-top:1rem}
.inquiry-footer{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:1.5rem}
.inquiry-back{font-family:inherit;font-weight:600;color:var(--n500);font-size:.9375rem}
.inquiry-back:hover{color:var(--n800)}
.inquiry-phone-fallback{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:2px solid var(--n800);border-radius:var(--r-md);font-weight:700;font-size:.9375rem;color:var(--n900);box-shadow:3px 3px 0 rgba(0,0,0,.55);transition:all .15s ease}
.inquiry-phone-fallback:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 rgba(0,0,0,.55)}
.inquiry-error{color:var(--rd);font-size:.8125rem;font-weight:600;min-height:1rem;margin-top:4px}
.inquiry-error-box{background:#fef2f2;border:1px solid #fca5a5;color:var(--rd-h);padding:14px 18px;border-radius:var(--r-md);margin-bottom:1.25rem;font-size:.9375rem}
.inquiry-error-phone{font-weight:800;text-decoration:underline}
.inquiry-note{text-align:center;color:var(--n500);font-size:.8125rem;margin-top:1rem}
.inquiry-success{text-align:center;padding:2rem 0}
.inquiry-success-icon{font-size:3rem;margin-bottom:1rem}
@media(max-width:768px){
  .inquiry-pest-grid{grid-template-columns:repeat(2,1fr)}
  .inquiry-contact-grid{grid-template-columns:1fr}
  .inquiry-contact-grid .inquiry-field.half{grid-column:1 / -1}
}

/* ====================================================
   SUBPAGE HERO — compact, per-page background
==================================================== */
.hero-page{min-height:56vh}
.hero-page .hero-bg{background-position:center 30%;background-size:cover;background-repeat:no-repeat}
.hero-page .hero-grid-overlay{background:linear-gradient(90deg,rgba(12,5,1,.72) 0%,rgba(12,5,1,.45) 45%,rgba(12,5,1,.25) 100%)}
.hero-page .hero-layout{padding-top:110px;padding-bottom:3rem}
.hero-page .hero-title{font-size:clamp(2rem,4.2vw,3.25rem)}

/* ====================================================
   SUBPAGE HEADER — slim dark title band (no hero)
==================================================== */
.page-head{background:#FDEFDC;padding:150px 0 3.5rem}
.page-head-title{font-size:clamp(1.875rem,3.6vw,2.75rem);font-weight:900;color:var(--white);line-height:1.1;letter-spacing:-.025em;margin:0}
.page-head-sub{color:rgba(255,255,255,.62);line-height:1.7;max-width:640px;margin-top:1rem}
.page-head .hero-live-badge{margin-bottom:1.25rem}

/* ====================================================
   SUBPAGE HEADER — text left, photo right (old-site layout)
==================================================== */
.page-head-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
.page-head.has-img .page-head-grid{grid-template-columns:1.1fr .9fr}
.page-head-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.75rem}
.page-head-img img{display:block;width:100%;height:auto;max-height:340px;object-fit:cover;border-radius:var(--r-xl);box-shadow:0 20px 50px rgba(0,0,0,.35)}

/* ====================================================
   PROSE — two-column sections (text left, image right)
==================================================== */
.prose-flow{max-width:1200px}
.prose-flow > .rv{max-width:none;margin:0 auto 3rem}
.split-row{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;margin:0 0 4rem}
.split-img .content-img{margin:0;max-width:100%}
.split-extra{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,420px));justify-content:center;gap:1.5rem;margin:0}
.split-extra .content-img{margin:0;max-width:100%}
/* Full-width photos stacked under the copy — the shape the old pages used
   when the image sat below the text rather than beside it. Three or more
   photos tile as .split-extra instead. */
.img-wide{margin:0}
.img-wide .content-img{margin:0 auto;max-width:780px}
.img-wide .content-img img{width:100%;height:auto}
@media(max-width:860px){
  .page-head.has-img .page-head-grid{grid-template-columns:1fr}
  .split-row{grid-template-columns:1fr;gap:1.75rem}
  .split-img{order:-1}
}

/* ====================================================
   INFO CARDS — h3/p pairs inside prose sections
==================================================== */
.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin:0 0 3.5rem}
.info-card{background:var(--white);border:1px solid var(--n200);border-radius:var(--r-lg);padding:1.5rem 1.5rem 1.25rem;box-shadow:var(--sh-sm);transition:all .2s ease}
.info-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.info-card h3{font-size:1.0625rem;font-weight:800;color:var(--n900);margin:0 0 .5rem;letter-spacing:-.01em}
.info-card p{color:var(--n500);font-size:.9375rem;line-height:1.65;margin:0}
.info-card p + p{margin-top:.5rem}

/* Header topic list (old pages' linked list) + image-side control */
.page-head-list{list-style:none;margin:1.5rem 0 0;padding:0;max-width:480px}
.page-head-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.85);font-size:.9375rem;font-weight:600}
.page-head-list li svg{color:var(--b400);flex-shrink:0}
.split-row.img-left .split-img{order:-1}
@media(max-width:860px){.split-row.img-left .split-img{order:-1}}

/* ====================================================
   LIGHT SUBPAGE THEME — cream header, alternating bands
==================================================== */
.nav-light .nav-links a{color:var(--n700)}
.nav-light .nav-links a:hover{color:var(--n900)}
.nav-light .nav-hamburger{color:var(--n900)}
.page-head .page-head-title{color:var(--n900);text-shadow:none}
.page-head .page-head-sub{color:var(--n600)}
.page-head .hero-live-badge{background:var(--am);border-color:var(--am);color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.page-head .hero-live-badge .live-dot{background:#fff}
.page-head-list li{color:var(--n800);border-bottom:1px solid rgba(60,20,0,.12)}
.page-head-list li svg{color:var(--am)}
.page-head-img img{box-shadow:var(--sh-lg);border:1px solid rgba(60,20,0,.08)}
.content-band{padding:4rem 0}
.band-white{background:#fff}
.band-cream{background:#FDEFDC}
/* The modern service template's own bands, matching the old site's palette:
   #F9F6F0 behind the centred aside, #AC885C behind the reassurance band. */
.band-interstitial{background:#F9F6F0;text-align:center}
.interstitial-line{margin:0;font-size:clamp(1.35rem,3vw,2rem);font-style:italic;font-weight:600;color:var(--n800);line-height:1.4}
.band-accent{background:#AC885C;color:#fff}
.accent-inner{text-align:center;max-width:820px}
.accent-title{margin:0 0 1rem;font-size:clamp(1.5rem,3.2vw,2.25rem);font-weight:800;color:#fff;line-height:1.25}
.accent-text{margin:0 auto 1.5rem;max-width:680px;color:#fff;opacity:.95;line-height:1.75}
.band-accent .btn-white{color:var(--n800)}

/* Three-up icon cards: each keeps the circular icon the old page paired it
   with, side by side rather than stacked. */
.icon-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;margin:0}
.icon-card{text-align:center}
.icon-card-icon{margin:0 auto 1.25rem;max-width:150px}
.icon-card-icon .content-img{margin:0}
.icon-card-icon img{width:100%;height:auto;border-radius:50%}
.icon-card-title{margin:0 0 .625rem;font-size:1.125rem;font-weight:800;color:var(--n800)}
.icon-card-text{margin:0 0 .75rem;color:var(--n600);line-height:1.7;font-size:.9375rem}
.icon-cards-cta{margin-top:2.5rem;text-align:center}

/* City template: the promise headline merged into the hero, under the
   smaller place-name h1. */
.page-head-title-sm{font-size:clamp(1.25rem,2.4vw,1.6rem);margin-bottom:.5rem;color:var(--am)}
.page-head-hl{margin:0 0 1rem;font-size:clamp(1.6rem,3.6vw,2.5rem);font-weight:900;line-height:1.15;color:var(--n800)}

/* Spezialgebiete: heading beside its intro, then labelled pest tiles. */
.tiles-head{display:grid;grid-template-columns:minmax(220px,1fr) 1.4fr;gap:2rem;align-items:start;margin-bottom:2.5rem}
.tiles-head-copy p{margin:0;color:var(--n600);line-height:1.8}
.pest-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin:0}
.pest-tile{margin:0;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.08)}
.pest-tile .content-img{margin:0}
.pest-tile img{width:100%;height:auto;display:block}
.pest-tile-cap{background:#AC885C;color:#fff;text-align:center;padding:.625rem .5rem;font-weight:700;font-size:.9375rem;letter-spacing:.02em;text-transform:uppercase}

/* The "25 +" experience card overlaid on the Über-uns photo. */
.split-img{position:relative}
.counter-card{position:absolute;left:1rem;bottom:1rem;background:#AC885C;color:#fff;border-radius:12px;padding:1rem 1.25rem;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.counter-val{display:block;font-size:2rem;font-weight:900;line-height:1}
.counter-plus{font-size:1.25rem;margin-left:.125rem}
.counter-lbl{display:block;margin-top:.25rem;font-size:.8125rem;font-weight:600;opacity:.95}

/* Closing cream band holding the CTA and the three feature cards. */
.band-feature{background:#FDEFDC;text-align:center}
.feature-band-lead p{margin:0 auto 1rem;max-width:640px;color:var(--n600);line-height:1.8}
.feature-band-cta{margin:1.5rem 0 2.5rem}
.feature-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin:0}
.feature-card{background:#fff;border-radius:14px;padding:2rem 1.5rem;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.feature-card-icon{margin:0 auto 1rem;width:72px;height:72px;border-radius:50%;background:#FDEFDC;display:grid;place-items:center;overflow:hidden}
.feature-card-icon img{width:100%;height:auto;border-radius:50%}
.feature-card-title{margin:0 0 .5rem;font-size:1.0625rem;font-weight:800;color:var(--n800)}
.feature-card-text{margin:0;color:var(--n600);line-height:1.7;font-size:.9375rem}

@media(max-width:860px){
  .tiles-head{grid-template-columns:1fr;gap:1rem}
}

/* About template: Mission | mascot | Vision, the artwork between the cards. */
.mission-lead{text-align:center}
.mission-lead p{margin:0 auto 1rem;max-width:680px;color:var(--n600);line-height:1.8}
.mission-row{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:2.5rem;align-items:center;margin:0}
.mission-row .icon-card-icon{max-width:96px}
.mission-art{margin:0}
.mission-art img{width:100%;height:auto;display:block}
@media(max-width:860px){
  .mission-row{grid-template-columns:1fr;gap:2rem}
  .mission-art{order:-1;max-width:260px;margin:0 auto}
}

/* Hero feature pills: bordered label rows under the header photo. */
.page-head-pills{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:.625rem}
.page-head-pills li{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fff;font-weight:600;font-size:.9375rem;color:var(--n800)}
.page-head-pills li svg{flex:none;color:var(--am)}
.content-band .rv{margin-bottom:0}

/* Definition list (old page style) + heading divider */
.def-list{list-style:disc;margin:1.5rem 0 0;padding-left:1.25rem}
.def-list li{margin-bottom:1.1rem;color:var(--n600);line-height:1.65}
.def-list li strong{display:block;color:var(--n900);font-weight:700}
.split-text h2:first-child:after,.rv > h2:first-of-type:after{content:'';display:block;width:64px;height:2px;background:var(--n900);margin-top:16px}

/* Pest tiles are links to their service pages */
.pest-tile-link{display:block;transition:transform .18s ease}
.pest-tile-link:hover{transform:translateY(-4px)}
.pest-tile-link:hover .pest-tile-cap{background:var(--am)}
