/* ==========================================================================
   Dirt Busters Carpet Cleaning Services — site styles
   Palette taken from the logo + van livery: navy panel, slime green, red.
   ========================================================================== */
:root{
  --navy:#13235f; --navy-2:#0b1640; --navy-3:#1f3590; --ink:#0c1230;
  --slime:#16c65a; --slime-d:#0ea84a; --slime-glow:#7dffa9;
  --red:#e2262c; --red-d:#b8161c;
  --paper:#f3f6fb; --white:#fff; --silver:#c9d0dd; --muted:#5b6485;
  --r:14px; --shadow:0 2px 10px rgba(11,22,64,.08);
  --wrap:1180px;
  --pad:max(20px, calc((100% - var(--wrap)) / 2));
  --f-display:"Bungee", "Arial Black", sans-serif;
  --f-body:"Barlow", system-ui, sans-serif;
  --f-cond:"Barlow Condensed", "Arial Narrow", sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.db{margin:0;font-family:var(--f-body);font-size:18px;line-height:1.65;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.db img{max-width:100%;height:auto;display:block}
.db a{color:var(--navy-3)}
.db p{margin:0 0 1.05em}
.db h1,.db h2,.db h3,.db h4{margin:0 0 .5em;line-height:1.08;color:inherit}
.db h1,.db h2{font-family:var(--f-display);font-weight:400;letter-spacing:.01em}
.db h1{font-size:clamp(2.3rem,5.4vw,4.3rem)}
.db h2{font-size:clamp(1.8rem,3.6vw,2.8rem)}
.db h3{font-family:var(--f-cond);font-weight:700;font-size:1.55rem;text-transform:uppercase;letter-spacing:.02em}
.db .db-hl{color:var(--slime)}
.db .db-hl-red{color:var(--red)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.db-skip{position:absolute;left:-9999px;top:0;background:var(--slime);color:var(--ink);padding:10px 16px;z-index:999}
.db-skip:focus{left:10px}

/* ---------- Top bar + header ---------- */
.db-topbar{background:var(--navy-2);color:#cfd6ea;font-family:var(--f-cond);font-size:.98rem;letter-spacing:.04em;text-transform:uppercase;padding:7px var(--pad);display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.db-topbar a{color:#fff;text-decoration:none}
.db-topbar .db-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--slime);margin-right:8px;vertical-align:middle}
@keyframes db-ping{0%{box-shadow:0 0 0 0 rgba(22,198,90,.7)}80%{box-shadow:0 0 0 10px rgba(22,198,90,0)}100%{box-shadow:0 0 0 0 rgba(22,198,90,0)}}
.db-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:3px solid var(--slime);padding:10px var(--pad);display:flex;align-items:center;gap:24px}
.db-logo{flex:0 0 auto;display:block}
.db-logo img{height:62px;width:auto;max-width:none}
.db-nav{margin-left:auto}
.db-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.db-nav a{display:block;padding:10px 14px;font-family:var(--f-cond);font-weight:700;font-size:1.12rem;text-transform:uppercase;letter-spacing:.05em;color:var(--navy);text-decoration:none;border-radius:10px;transition:background .2s,color .2s}
.db-nav a:hover,.db-nav .current-menu-item>a{background:var(--navy);color:#fff}
.db-call{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:#fff!important;text-decoration:none;font-family:var(--f-cond);font-weight:700;font-size:1.2rem;letter-spacing:.04em;padding:10px 18px;border-radius:999px;transition:background .2s}
.db-call:hover{background:var(--red-d)}
.db-call svg{width:20px;height:20px}
.db-burger{display:none;margin-left:auto;background:var(--navy);border:0;border-radius:10px;width:48px;height:44px;cursor:pointer;padding:12px}
.db-burger span{display:block;height:3px;background:#fff;border-radius:2px;margin:4px 0}

/* ---------- Generic section system (block groups) ---------- */
.db-main{display:block}
.db-main>.wp-block-group,.db-section{padding:92px var(--pad);position:relative;margin:0}
.db-main>*{margin-top:0;margin-bottom:0}
.db-dark{background:var(--navy);color:#e8ecf8}
.db-deep{background:var(--navy-2);color:#e8ecf8}
.db-paper{background:var(--paper)}
.db-dark a,.db-deep a{color:var(--slime-glow)}
.db-center{text-align:center}
.db-center>p{max-width:760px;margin-left:auto;margin-right:auto}
.db-eyebrow{display:inline-block;font-family:var(--f-cond)!important;font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.95rem!important;color:var(--slime-d);background:rgba(22,198,90,.1);border:1px solid rgba(22,198,90,.35);border-radius:999px;padding:5px 14px;margin-bottom:18px!important}
.db-dark .db-eyebrow,.db-deep .db-eyebrow{color:var(--slime-glow);background:rgba(125,255,169,.08);border-color:rgba(125,255,169,.3)}
.db-lead{font-size:1.22rem;color:var(--muted)}
.db-dark .db-lead,.db-deep .db-lead{color:#c3cbe6}

/* Slime drip divider under dark sections */
.db-drip{position:relative}
.db-drip::after{content:"";position:absolute;left:0;right:0;bottom:-38px;height:40px;z-index:3;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath fill='%2316c65a' d='M0 0h1200v8c-30 0-34 6-40 14-6 9-18 9-22 0-5-11-12-14-30-14-22 0-20 20-34 26-13 5-20-6-24-16-5-10-15-10-40-10-30 0-38 4-44 12-5 8-16 8-20-2-4-9-12-10-40-10H760c-20 0-28 6-32 18-4 13-20 14-24 1-3-10-8-19-30-19-40 0-46 3-52 10-6 8-16 7-19-1-4-8-12-9-35-9H420c-18 0-24 10-28 22-5 14-22 14-26 0-3-12-9-22-32-22-30 0-40 2-44 8-5 7-14 7-18 0-4-6-12-8-30-8H120c-20 0-26 8-30 16-4 9-16 9-20-1C66 11 58 8 40 8H0z'/%3E%3C/svg%3E") center top/100% 100% no-repeat}

/* ---------- Hero ---------- */
.db-hero{background:var(--navy)!important;color:#fff;padding-top:84px!important;padding-bottom:110px!important}
.db-hero>*{position:relative;z-index:1}
.db-hero h1{color:#fff}
.db-hero .wp-block-columns{align-items:center!important;gap:56px}
.db-hero p{color:#cdd5ee;font-size:1.2rem}
.db-hero-sm{padding-top:70px!important;padding-bottom:96px!important}
.db-hero-sm h1{font-size:clamp(2.1rem,4.6vw,3.6rem)}
.db-crumb{font-family:var(--f-cond);text-transform:uppercase;letter-spacing:.12em;font-size:.95rem!important;color:var(--slime-glow)!important}

/* Framed photo with hazard tape */
.db-frame{position:relative;border-radius:22px;padding:8px;background:var(--slime)}
.db-frame img{border-radius:14px;width:100%;aspect-ratio:4/3;object-fit:cover}
.db-frame::after{content:"STAIN CONTAINMENT CREW";position:absolute;left:-14px;bottom:24px;font-family:var(--f-cond);font-weight:700;letter-spacing:.14em;font-size:.95rem;color:#fff;padding:6px 16px;background:var(--red);border-radius:6px}
.db-frame figure{margin:0}

/* Grime-o-meter */
.db-meter{margin-top:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 18px;max-width:520px}
.db-meter-top{display:flex;justify-content:space-between;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.95rem;color:#aeb8da}
.db-meter-bar{height:14px;border-radius:99px;background:linear-gradient(90deg,var(--red),#ffb000 45%,var(--slime));margin-top:10px;position:relative}
.db-meter-needle{position:absolute;top:-6px;width:6px;height:26px;border-radius:4px;background:#fff;box-shadow:0 0 12px #fff;left:6%;animation:db-needle 3.6s cubic-bezier(.6,.05,.25,1) .6s forwards}
@keyframes db-needle{0%{left:6%}35%{left:30%}50%{left:22%}100%{left:calc(100% - 8px)}}
.db-meter-lbl{display:flex;justify-content:space-between;font-size:.85rem;color:#8f9bc4;margin-top:8px;font-family:var(--f-cond);text-transform:uppercase;letter-spacing:.08em}

/* ---------- Buttons ---------- */
.db .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 0}
.db .wp-block-button__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-cond);font-weight:700;font-size:1.2rem;text-transform:uppercase;letter-spacing:.06em;padding:14px 26px;border-radius:999px;text-decoration:none;background:var(--slime);color:var(--ink)!important;border:2px solid var(--slime);transition:background .2s,border-color .2s}
.db .wp-block-button__link:hover{background:var(--slime-d);border-color:var(--slime-d)}
.db .db-btn-red .wp-block-button__link{background:var(--red);border-color:var(--red);color:#fff!important}
.db .db-btn-red .wp-block-button__link:hover{background:var(--red-d);border-color:var(--red-d)}
.db .db-btn-ghost .wp-block-button__link{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.55);box-shadow:none}
.db .db-btn-ghost .wp-block-button__link:hover{background:rgba(255,255,255,.08)}
.db-paper .db-btn-ghost .wp-block-button__link,.db-main>.wp-block-group:not(.db-dark):not(.db-deep):not(.db-hero) .db-btn-ghost .wp-block-button__link{color:var(--navy)!important;border-color:var(--navy)}
.db-center .wp-block-buttons{justify-content:center}

/* ---------- Award / trust strip ---------- */
.db-trust{background:#fff!important;padding-top:56px!important;padding-bottom:56px!important;border-bottom:1px solid #e3e8f2}
.db-trust .wp-block-gallery,.db-badgerow{display:flex!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:26px!important}
.db-trust figure.wp-block-image,.db-badgerow figure{margin:0!important;width:118px!important;flex:0 0 auto!important}
.db-trust figure img,.db-badgerow img{width:118px!important;height:118px!important;object-fit:contain}
.db-trust .db-eyebrow{margin-bottom:26px!important}

/* ---------- Stats ---------- */
.db-stats{gap:18px!important;margin-top:36px!important}
.db-stats>.wp-block-column{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:22px;text-align:center}
.db-stats p{margin:0}
.db-stat-n{font-family:var(--f-display);font-size:2.4rem!important;line-height:1;color:var(--slime-glow)}
.db-stat-l{font-family:var(--f-cond);text-transform:uppercase;letter-spacing:.1em;font-size:1rem!important;color:#b9c3e3}

/* ---------- Cards ---------- */
.db-cards{gap:24px!important;margin-top:40px!important;flex-wrap:wrap!important}
.db-cards>.wp-block-column{flex:1 1 300px!important;background:#fff;border-radius:var(--r);padding:30px 28px 26px;box-shadow:var(--shadow);border-top:6px solid var(--slime);position:relative;transition:transform .25s,box-shadow .25s}

.db-cards>.wp-block-column:nth-child(3n+2){border-top-color:var(--red)}
.db-cards>.wp-block-column:nth-child(3n){border-top-color:var(--navy-3)}
.db-cards h3{color:var(--navy);margin-top:6px}
.db-cards p{color:#3d4668;font-size:1.02rem}
.db-cards .db-ico{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--navy);margin-bottom:14px}
.db-cards .db-ico svg{width:30px;height:30px;stroke:var(--slime-glow)}
.db-dark .db-cards>.wp-block-column{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-top:6px solid var(--slime);box-shadow:none}
.db-dark .db-cards h3{color:#fff}
.db-dark .db-cards p{color:#c3cbe6}
.db-card-link{font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:var(--red)!important}

/* ---------- Media + text split ---------- */
.db-split{gap:60px!important;align-items:center!important}
.db-split figure{margin:0}
.db-split figure img{border-radius:22px;box-shadow:var(--shadow);width:100%;object-fit:cover}
.db-photo-tall img{aspect-ratio:4/5}
.db-photo-wide img{aspect-ratio:4/3}

/* ---------- Tick list ---------- */
.db .db-checks{list-style:none;padding:0;margin:18px 0}
.db .db-checks li{position:relative;padding-left:40px;margin:0 0 12px;font-weight:500}
.db .db-checks li::before{content:"";position:absolute;left:0;top:3px;width:26px;height:26px;border-radius:8px;background:var(--slime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c1230' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/16px no-repeat}
.db .db-crosses li::before{background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/14px no-repeat}

/* ---------- Method compare (VLM vs HWE) ---------- */
.db-methods{gap:26px!important;margin-top:40px!important}
.db-methods>.wp-block-column{border-radius:24px;padding:34px;color:#fff;position:relative;overflow:hidden}
.db-methods>.wp-block-column:first-child{background:var(--navy-3)}
.db-methods>.wp-block-column:last-child{background:#0c7a3a}
.db-methods h3{color:#fff;font-size:1.8rem}
.db-methods p{color:rgba(255,255,255,.86)}
.db-tag{display:inline-block;font-family:var(--f-cond)!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.9rem!important;background:rgba(255,255,255,.14);padding:4px 12px;border-radius:99px}

/* ---------- Protection feature ---------- */
.db-protect{background:var(--navy)!important;color:#fff}
.db-price{display:flex;gap:16px;align-items:stretch;flex-wrap:wrap;margin:22px 0}
.db-price>div{border-radius:16px;padding:14px 20px;min-width:170px}
.db-price .old{background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.3)}
.db-price .new{background:var(--slime);color:var(--ink)}
.db-price small{display:block;font-family:var(--f-cond);text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.85rem;opacity:.85}
.db-price b{font-family:var(--f-display);font-weight:400;font-size:2.2rem;line-height:1.1}
.db-price .old b{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:4px;color:#aeb7d6}
.db-shorts{max-width:340px;margin:0 auto;border-radius:26px;overflow:hidden;border:6px solid var(--slime);aspect-ratio:9/16;background:#000}
.db-shorts iframe,.db-shorts video{width:100%;height:100%;border:0;display:block;object-fit:cover}

/* ---------- Hazard band ("cheap can be expensive") ---------- */
.db-hazard{background:#111!important;color:#fff;border-top:14px solid transparent;border-bottom:14px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--red) 0 22px,#111 22px 44px) 14}
.db-hazard h2{color:#fff}
.db-hazard .db-eyebrow{color:#ff8a8d;background:rgba(226,38,44,.14);border-color:rgba(226,38,44,.5)}
.db-hazard p{color:#d7d9e2}
.db-hazard .db-quote{font-family:var(--f-display);font-size:clamp(1.3rem,2.6vw,1.9rem)!important;line-height:1.25;color:#fff;border-left:6px solid var(--slime);padding-left:20px;margin-top:26px}

/* ---------- Before/after slider ---------- */
.db-compare{position:relative;max-width:520px;margin:0 auto;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:3/4;user-select:none;touch-action:none;background:#222}
.db-compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.db-compare .db-after{clip-path:inset(0 0 0 50%)}
.db-compare .db-handle{position:absolute;top:0;bottom:0;left:50%;width:4px;background:#fff;transform:translateX(-50%);box-shadow:0 0 16px rgba(0,0,0,.5)}
.db-compare .db-handle::after{content:"◀ ▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:var(--slime);color:var(--ink);display:grid;place-items:center;font-size:13px;letter-spacing:2px;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.db-compare .db-lab{position:absolute;top:14px;font-family:var(--f-cond);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;padding:5px 12px;border-radius:99px;z-index:2}
.db-compare .db-lab.b{left:14px;background:var(--red);color:#fff}
.db-compare .db-lab.a{right:14px;background:var(--slime);color:var(--ink)}
.db-compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:3}

/* ---------- Steps ---------- */
.db-steps{counter-reset:step;gap:20px!important;margin-top:40px!important;flex-wrap:wrap!important}
.db-steps>.wp-block-column{flex:1 1 220px!important;counter-increment:step;background:#fff;border-radius:var(--r);padding:28px 24px;box-shadow:var(--shadow);position:relative}
.db-steps>.wp-block-column::before{content:"0" counter(step);font-family:var(--f-display);font-size:2.2rem;color:var(--slime);display:block;line-height:1;margin-bottom:10px}
.db-steps h3{font-size:1.3rem;color:var(--navy)}
.db-steps p{font-size:1rem;color:#3d4668;margin:0}

/* ---------- Area chips ---------- */
.db .db-areas{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.db-center .db-areas{justify-content:center}
.db .db-areas li{font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#fff;color:var(--navy);border:2px solid var(--navy);padding:6px 14px;border-radius:999px;margin:0}
.db-dark .db-areas li,.db-deep .db-areas li{background:transparent;color:#fff;border-color:rgba(125,255,169,.5)}
.db .db-areas li:first-child{background:var(--slime);border-color:var(--slime);color:var(--ink)}

/* ---------- CTA band ---------- */
.db-cta{background:var(--slime)!important;color:var(--ink);text-align:center;padding-top:80px!important;padding-bottom:80px!important}
.db-cta h2{color:var(--ink)}
.db-cta p{font-size:1.2rem;max-width:720px;margin-left:auto;margin-right:auto}
.db-cta .wp-block-buttons{justify-content:center}
.db-cta .wp-block-button__link{background:var(--navy);border-color:var(--navy);color:#fff!important}
.db-cta .wp-block-button__link:hover{background:var(--navy-2);border-color:var(--navy-2)}
.db-cta .db-btn-red .wp-block-button__link{background:var(--red);border-color:var(--red)}
.db-cta .db-btn-ghost .wp-block-button__link{background:transparent;border-color:var(--navy);color:var(--navy)!important}

/* ---------- FAQ ---------- */
.db .wp-block-details{background:#fff;border-radius:14px;margin:0 0 12px;box-shadow:0 8px 24px -14px rgba(11,22,64,.35);border-left:5px solid var(--slime);overflow:hidden}
.db .wp-block-details summary{cursor:pointer;padding:18px 22px;font-family:var(--f-cond);font-weight:700;font-size:1.25rem;color:var(--navy);list-style:none;position:relative;padding-right:56px}
.db .wp-block-details summary::-webkit-details-marker{display:none}
.db .wp-block-details summary::after{content:"";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background-color:var(--navy);background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-size:12px 2px,2px 12px;background-position:center;background-repeat:no-repeat;transition:transform .2s,background-color .2s}
.db .wp-block-details[open] summary::after{transform:translateY(-50%) rotate(45deg);background:var(--red)}
.db .wp-block-details>*:not(summary){padding:0 22px;color:#3d4668}
.db .wp-block-details>*:last-child{padding-bottom:18px}
.db-faq{max-width:900px;margin:36px auto 0}

/* ---------- Gallery ---------- */
.db .db-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px!important;margin-top:36px!important}
.db .db-grid figure{margin:0!important;width:auto!important;position:relative;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px -16px rgba(11,22,64,.5);cursor:zoom-in;background:#ddd}
.db .db-grid figure img{width:100%!important;height:300px!important;object-fit:cover}
.db .db-grid figcaption{position:absolute;left:0;right:0;bottom:0;margin:0!important;padding:28px 14px 12px;background:linear-gradient(transparent,rgba(11,22,64,.92))!important;color:#fff!important;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;text-align:left!important}
.db-lightbox{position:fixed;inset:0;background:rgba(6,10,28,.93);z-index:200;display:none;align-items:center;justify-content:center;padding:30px}
.db-lightbox.on{display:flex}
.db-lightbox img{max-height:86vh;max-width:92vw;border-radius:12px}
.db-lightbox button{position:absolute;top:18px;right:22px;background:var(--red);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:24px;cursor:pointer}
.db-lightbox p{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-family:var(--f-cond);letter-spacing:.08em;text-transform:uppercase}
.db-video{max-width:420px;margin:0 auto;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:6px solid var(--navy)}
.db-video video{width:100%;display:block}

/* ---------- Contact ---------- */
.db-contact-cards{gap:20px!important;flex-wrap:wrap!important}
.db-contact-cards>.wp-block-column{flex:1 1 240px!important;background:#fff;border-radius:var(--r);padding:26px;box-shadow:var(--shadow);text-align:center}
.db-contact-cards h3{color:var(--navy);font-size:1.3rem}
.db-contact-cards p{margin:0;color:#3d4668}
.db-contact-cards a{font-weight:700;color:var(--red)}
.db-form{background:#fff;border-radius:24px;padding:34px;box-shadow:var(--shadow);border-top:8px solid var(--slime);color:var(--ink)}
.db-form h3{color:var(--navy);margin-bottom:4px}
.db-form .db-sub{color:var(--muted);font-size:1rem;margin-bottom:20px}
.db-form label{display:block;font-family:var(--f-cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;color:var(--navy);margin:14px 0 6px}
.db-form input[type=text],.db-form input[type=tel],.db-form input[type=email],.db-form select,.db-form textarea{width:100%;font:inherit;font-size:1rem;padding:13px 14px;border:2px solid #d8deea;border-radius:12px;background:#f8fafd;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.db-form input:focus,.db-form select:focus,.db-form textarea:focus{outline:none;border-color:var(--slime);box-shadow:0 0 0 4px rgba(22,198,90,.18);background:#fff}
.db-form .db-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.db-form .db-checks-in{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.db-form .db-checks-in label{margin:0;display:inline-flex;align-items:center;gap:8px;background:#f1f4fa;border:2px solid #d8deea;border-radius:999px;padding:7px 14px;text-transform:none;letter-spacing:0;font-family:var(--f-body);font-weight:600;font-size:.95rem;cursor:pointer}
.db-form .db-checks-in input{accent-color:var(--slime)}
.db-form button{margin-top:22px;width:100%;font-family:var(--f-cond);font-weight:700;font-size:1.3rem;text-transform:uppercase;letter-spacing:.08em;padding:16px;border:0;border-radius:999px;background:var(--red);color:#fff;cursor:pointer;box-shadow:0 12px 26px -10px rgba(226,38,44,.9);transition:transform .2s}
.db-form button:hover{transform:translateY(-2px)}
.db-form .db-hp{position:absolute;left:-9999px}
.db-note{border-radius:12px;padding:14px 16px;margin-bottom:16px;font-weight:600}
.db-note.ok{background:#e6fbef;color:#0b6b33;border:2px solid var(--slime)}
.db-note.err{background:#fde8e9;color:var(--red-d);border:2px solid var(--red)}
.db-map{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);line-height:0}
.db-map iframe{width:100%;height:420px;border:0}

/* ---------- Footer ---------- */
.db-footer{background:var(--navy-2);color:#b9c2e0;padding:80px var(--pad) 0;position:relative;border-top:6px solid var(--slime)}
.db-fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px}
.db-footer h4{font-family:var(--f-cond);text-transform:uppercase;letter-spacing:.12em;color:#fff;font-size:1.15rem;margin-bottom:16px}
.db-footer ul{list-style:none;margin:0;padding:0}
.db-footer li{margin:0 0 8px}
.db-footer a{color:#dfe5f7;text-decoration:none}
.db-footer a:hover{color:var(--slime-glow)}
.db-flogo{background:#fff;border-radius:16px;padding:12px 16px;display:inline-block;margin-bottom:18px}
.db-flogo img{height:56px;width:auto}
.db-fbadges{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.db-fbadges img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}
.db-social{display:flex;gap:10px;margin-top:14px}
.db-social a{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:background .2s}
.db-social a:hover{background:var(--slime)}
.db-social svg{width:20px;height:20px;fill:#fff}
.db-fbottom{margin-top:56px;border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.92rem;color:#8791b8}
.db-fcall{font-family:var(--f-display);font-size:1.5rem;color:var(--slime-glow)!important;display:block;margin:4px 0 8px}

/* Floating mobile call */
.db-float{display:none;position:fixed;right:16px;bottom:16px;z-index:90;width:62px;height:62px;border-radius:50%;background:var(--red);box-shadow:0 12px 30px -8px rgba(226,38,44,.9);place-items:center}
.db-float svg{width:28px;height:28px;fill:#fff}
@keyframes db-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* Reveal on scroll */

@media (prefers-reduced-motion:reduce){.db-reveal{opacity:1;transform:none}.db-meter-needle{animation:none;left:calc(100% - 8px)}.db-float,.db-topbar .db-dot{animation:none}}

/* Core block tidy-ups inside our sections */
.db .wp-block-group__inner-container{display:contents}
.db-hero h1{font-size:clamp(2.2rem,4.4vw,3.7rem)}
.db .wp-block-columns{display:flex;flex-wrap:nowrap;gap:40px;margin:0}
.db .wp-block-column{flex:1 1 0;min-width:0}
.db .wp-block-image{margin:0}
.db-maxw{max-width:820px}
.db-center .db-maxw{margin-left:auto;margin-right:auto}

/* ---------- Responsive ---------- */
@media (max-width:1100px){.db-nav a{padding:9px 10px;font-size:1.02rem}.db-call span{display:none}}
@media (max-width:960px){
  .db-burger{display:block}
  .db-topbar>span:last-child{display:none}
  .db-topbar{justify-content:center}
  .db-nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:3px solid var(--slime);display:none;padding:10px 20px 20px;margin:0}
  .db-nav.open{display:block}
  .db-nav ul{flex-direction:column}
  .db-call{display:none}
  .db-fgrid{grid-template-columns:1fr 1fr}
  .db .wp-block-columns{flex-wrap:wrap!important}
  .db .wp-block-columns>.wp-block-column{flex-basis:100%!important}
  .db-float{display:grid}
  .db .db-stats>.wp-block-column,.db .db-cards>.wp-block-column,.db .db-steps>.wp-block-column,.db .db-contact-cards>.wp-block-column{flex-basis:calc(50% - 12px)!important;flex-grow:1!important}
}
@media (max-width:640px){
  .db .db-cards>.wp-block-column,.db .db-steps>.wp-block-column,.db .db-contact-cards>.wp-block-column{flex-basis:100%!important}
  .db .db-stats{gap:12px!important}
  .db .db-stats>.wp-block-column{flex-basis:calc(50% - 6px)!important;padding:16px 10px}
  .db-stat-n{font-size:1.9rem!important}
}
@media (max-width:640px){
  body.db{font-size:17px}
  .db-main>.wp-block-group,.db-section{padding-top:64px;padding-bottom:64px}
  .db-logo img{height:48px}
  .db-topbar .db-hide-sm{display:none}
  .db-fgrid{grid-template-columns:1fr}
  .db-form{padding:24px}
  .db-form .db-row{grid-template-columns:1fr}
  .db-frame{transform:none}
  .db-frame::after{left:10px}
  .db-trust figure.wp-block-image,.db-badgerow figure{width:92px!important}
  .db-trust figure img,.db-badgerow img{width:92px!important;height:92px!important}
}
