/* DryCore Restoration Pro — brand overrides on top of the Excel Contractor template */
:root{--primary:#1a6fd6;--on-primary:#fff;--accent:#e03333;--on-accent:#fff;--ink:#0e1a2b;--ink-2:#14243b;--ink-3:#1d3150}

/* Logo (DryCore logo is a wide badge) */
.logo-img.logo-header{max-height:84px;max-width:150px}
.is-scrolled .logo-img.logo-header{max-height:62px}
.f-brand .logo-img{max-height:110px;max-width:180px}

/* Red emergency call button, like the current DryCore site */
.header-call .hc-icon{background:var(--accent);color:var(--on-accent)}
.mobile-bar .mb-call{background:var(--accent);color:var(--on-accent)}
.cta-band .btn-light{background:var(--accent);color:var(--on-accent)}
.quote-sub a{color:#fff;font-weight:700}

/* Inner page heads */
.page-head{background-color:var(--ink)}
.page-head .h-display{font-size:clamp(2rem,4vw,3.4rem);margin:0}
.page-sub{max-width:44em;margin:14px 0 0;font-size:1.12rem;color:rgba(255,255,255,.88)}
.f-hours{margin:0;opacity:.85}

/* Generic content */
.dc-prose{max-width:860px}
.dc-prose h2,.dc-prose h3{text-transform:uppercase}
.dc-prose p,.dc-prose li{color:var(--muted);font-size:1.05rem}
.dc-post{padding:20px 0;border-bottom:1px solid var(--line)}

/* Quote form band on service pages */
.dc-quote-band{background:var(--ink);padding-top:60px;padding-bottom:60px}
.dc-quote-wrap{max-width:640px}
.side-links a[aria-current="page"]{background:var(--primary);color:var(--on-primary)}
.side-links a[aria-current="page"] svg{color:inherit}

/* Contact page */
.dc-contact-list{margin:26px 0;color:var(--text)}
.dc-contact-list li{align-items:flex-start}
.dc-contact-list small{display:block;font:800 .75rem/1.4 var(--font-head);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.dc-contact-list a{font-weight:700;font-size:1.1rem;text-decoration:none;color:var(--text)}
.dc-contact-list svg{color:var(--primary)}
.dc-contact-map{margin-top:10px}

/* Hero on inner pages */
.dc-hero-sm .hero-grid{min-height:0;grid-template-columns:1fr;padding-bottom:64px}
.dc-hero-crumbs .lsb-crumbs ol{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.9rem;font-weight:600}
.dc-hero-crumbs .lsb-crumbs li+li::before{content:"\203A";margin-right:6px;opacity:.6}
.dc-hero-crumbs .lsb-crumbs a{color:#fff;opacity:.85;text-decoration:none}
.dc-hero-crumbs .lsb-crumbs a:hover{opacity:1;text-decoration:underline}
.dc-hero-crumbs .lsb-crumbs [aria-current]{color:var(--primary)}

/* Location pages: facts + nearby cities */
.dc-facts{background:var(--bg-soft)}
.dc-facts .lsb-facts{margin:0}
.dc-facts .lsb-facts h2,.dc-nearby h2{font-family:var(--font-head);font-weight:900;text-transform:uppercase;font-size:clamp(1.6rem,2.8vw,2.4rem);margin:0 0 22px;color:var(--ink)}
.dc-facts .lsb-facts dl>div{background:#fff;border:0;border-radius:var(--radius);box-shadow:0 6px 20px rgba(10,20,36,.06);padding:18px}
.dc-facts .lsb-facts dd{font:900 1.35rem/1.2 var(--font-head);color:var(--ink)}
.dc-facts .lsb-src{color:var(--primary);font-family:var(--font-body)}
.dc-nearby .lsb-silo{margin:0}
.dc-nearby .lsb-links{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.dc-nearby .lsb-links a{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;font-weight:700;color:var(--text);text-decoration:none}
.dc-nearby .lsb-links a:hover{border-color:var(--primary);color:var(--primary)}
.dc-nearby .lsb-up a{color:var(--primary);font-weight:800}
.dc-hub .lsb-county{margin-bottom:34px}
.dc-hub .lsb-county h2 a{color:var(--ink);text-decoration:none}

/* Scan-to-call QR (desktop) */
.dc-qr{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(6,12,22,.72);padding:20px}
.dc-qr[hidden]{display:none}
.dc-qr-box{position:relative;background:#fff;color:var(--text);border-radius:var(--radius-lg);padding:34px 34px 28px;width:min(380px,100%);text-align:center;box-shadow:var(--shadow)}
.dc-qr-box h2{font-size:1.8rem;text-transform:uppercase;font-weight:900;margin:0 0 16px}
.dc-qr-box .eyebrow{margin-bottom:6px}
.dc-qr-code{display:grid;place-items:center;margin:0 auto 14px;width:232px;height:232px;padding:8px;border:1px solid var(--line);border-radius:12px}
.dc-qr-code img,.dc-qr-code svg{width:100%;height:100%}
.dc-qr-num{font:900 1.6rem/1 var(--font-head);margin:0 0 8px;color:var(--ink)}
.dc-qr-help{margin:0;color:var(--muted);font-size:.95rem}
.dc-qr-x{position:absolute;top:10px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:var(--bg-soft);font-size:1.6rem;line-height:1;cursor:pointer;color:var(--text)}
.dc-facts .lsb-facts dl{grid-template-columns:repeat(3,1fr)}
@media (max-width:820px){.dc-facts .lsb-facts dl{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.dc-facts .lsb-facts dl{grid-template-columns:1fr}}

/* ===== Hero v4: full image, no form (matches top-ranking restoration sites) ===== */
.hero .wrap.hero-grid,.hero-grid{grid-template-columns:minmax(0,780px);gap:0;min-height:min(86vh,760px);align-items:center;padding:calc(var(--header-h) + 48px) 0 64px}
.dc-hero-sm .hero-grid,.hero.dc-hero-sm .wrap.hero-grid{min-height:0;padding-bottom:64px}
.hero{background-position:center 40%}
.hero::before{background:linear-gradient(90deg,rgba(6,12,22,.92) 0%,rgba(6,12,22,.78) 30%,rgba(6,12,22,.35) 55%,rgba(6,12,22,.08) 75%,rgba(6,12,22,.05) 100%),linear-gradient(0deg,rgba(6,12,22,.5),transparent 30%),linear-gradient(180deg,rgba(6,12,22,.55),transparent 22%)}
.dc-hero-sm::before{background:linear-gradient(90deg,rgba(6,12,22,.9),rgba(6,12,22,.45) 70%,rgba(6,12,22,.2))}
.hero .h-hero{font-size:clamp(2.4rem,4.6vw,4.4rem);margin-bottom:18px}
.hero-sub{font-size:clamp(1.05rem,1.4vw,1.28rem);max-width:34em;margin-bottom:30px}

/* Neat 24/7 badge (replaces the old pipe-separated pill) */
.hero-badge{display:inline-flex;align-items:center;gap:10px;margin:0 0 20px;padding:.55em 1.05em .55em .85em;border-radius:99px;background:var(--accent);color:#fff;font:800 .86rem/1 var(--font-head);text-transform:uppercase;letter-spacing:.08em;box-shadow:0 8px 22px rgba(224,51,51,.35)}
.live-dot{position:relative;width:10px;height:10px;border-radius:50%;background:#fff;flex:none}
.live-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #fff;opacity:0;animation:dcPulse 1.8s ease-out infinite}
@keyframes dcPulse{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.live-dot::after{animation:none}}

/* Big call button + quote button */
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;margin:0 0 26px}
.hero-call{display:inline-flex;align-items:center;gap:14px;padding:12px 26px 12px 12px;border-radius:12px;background:var(--accent);color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(224,51,51,.38);transition:transform .15s,box-shadow .15s}
.hero-call:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(224,51,51,.45);color:#fff}
.hc-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:10px;background:rgba(255,255,255,.18)}
.hc-ic svg{width:26px;height:26px}
.hc-tx{display:flex;flex-direction:column;line-height:1.1}
.hc-tx small{font:700 .78rem/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.08em;opacity:.92}
.hc-tx strong{font:900 clamp(1.5rem,2.3vw,2rem)/1.1 var(--font-head);letter-spacing:.01em}
.hero-quote{align-self:stretch;display:inline-flex;align-items:center;border-radius:12px;padding-left:1.8em;padding-right:1.8em}

/* Trust row */
.hero-trust{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;list-style:none;margin:0;padding:0;font:700 .95rem/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.02em}
.hero-trust li{display:inline-flex;align-items:center;gap:7px}
.hero-trust li svg{width:18px;height:18px;color:var(--primary)}
.hero-icons{margin-top:30px}

/* BBB badge: official seal, text badge fallback */
.bbb-badge{display:inline-flex;align-items:center;text-decoration:none;background:#fff;border-radius:8px;padding:4px 6px;line-height:0}
.bbb-seal{display:block;height:42px;width:auto}
.bbb-text{display:none;align-items:center;gap:8px;line-height:1.1;color:#00456f;padding:3px 6px 3px 2px}
.bbb-text b{display:grid;place-items:center;width:40px;height:34px;border-radius:5px;background:#00456f;color:#fff;font:900 .95rem/1 var(--font-head);letter-spacing:.02em}
.bbb-text strong{display:block;font:800 .82rem/1.1 var(--font-head);text-transform:uppercase;letter-spacing:.02em}
.bbb-text small{display:block;font:600 .74rem/1.2 var(--font-body);color:#33495c;text-transform:none;letter-spacing:0}
.bbb-badge.no-seal .bbb-seal{display:none}
.bbb-badge.no-seal .bbb-text,.bbb-badge:not(:has(.bbb-seal)) .bbb-text{display:inline-flex}

/* Free quote band right under the hero */
.dc-quote-sec{background:var(--bg-soft)}
.dc-quote-grid{display:grid;grid-template-columns:1fr 440px;gap:56px;align-items:center}
.dc-quote-copy .checks{margin:22px 0 26px}
.dc-quote-copy .checks svg{color:var(--primary)}
.dc-quote-bbb{margin-top:20px}
.dc-quote-bbb .bbb-badge{box-shadow:0 4px 14px rgba(10,20,36,.1)}
.dc-quote-sec .quote-card,.dc-contact-form .quote-card{background:var(--ink);backdrop-filter:none;border:0;padding:30px 28px 24px;box-shadow:0 24px 60px rgba(10,20,36,.25)}
.quote-form{gap:10px}
.dc-quote-sec .quote-top{display:none}
.dc-quote-sec .quote-card{padding-top:26px}
.dc-quote-copy .lead-text{max-width:36em}
.fi textarea{min-height:70px}

/* "What to do right now" card fills the left column on service pages */
.dc-now{margin-top:34px;background:var(--bg-soft);border-left:5px solid var(--accent);border-radius:var(--radius-lg);padding:26px 28px}
.dc-now-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.dc-now-head .eyebrow{margin:0 0 2px}
.dc-now-head h3{margin:0;font-size:1.45rem;text-transform:uppercase;color:var(--ink)}
.dc-now-ic{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--accent);color:#fff;flex:none}
.dc-now-ic svg{width:28px;height:28px}
.dc-now-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.dc-now-list li{display:flex;gap:12px;align-items:flex-start;color:var(--text);font-size:1rem;line-height:1.45}
.dc-now-list li span{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font:800 .82rem/1 var(--font-head);margin-top:1px}
.dc-now-call{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--text);text-decoration:none}
.dc-now-call svg{color:var(--accent)}
.dc-now-call strong{color:var(--accent);font-family:var(--font-head);font-size:1.1rem}

@media (max-width:1080px){
  .dc-quote-grid{grid-template-columns:1fr;gap:36px}
  .hero .wrap.hero-grid,.hero-grid{min-height:0}
  .hero::before{background:linear-gradient(90deg,rgba(6,12,22,.88),rgba(6,12,22,.6)),linear-gradient(0deg,rgba(6,12,22,.5),transparent 30%)}
}
@media (max-width:640px){
  .hero-ctas{flex-direction:column}
  .hero-call,.hero-quote{width:100%;justify-content:center}
  .hero-call{justify-content:flex-start}
  .hero-trust{gap:10px 16px;font-size:.82rem}
  .hero-trust .ht-bbb{width:100%}
  .dc-now{padding:22px 18px}
}

/* =====================================================================
   MOBILE / TABLET LAYER (v1.3) — phones are where emergency calls happen
   ===================================================================== */
@media (max-width:1080px){
  .header-cta{margin-left:auto;gap:10px}
  .header-call .hc-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px}
  .nav-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0}
  .detail-grid .side-photo{display:none}          /* same photo as the hero */
  .dc-quote-grid{max-width:640px;margin-inline:auto}
}
@media (max-width:640px){
  :root{--header-h:70px}
  .logo-img.logo-header{max-height:50px}

  /* Hero: let the photo show at the top, darken toward the text */
  .hero{background-position:62% center}
  .hero::before{background:linear-gradient(180deg,rgba(6,12,22,.55) 0%,rgba(6,12,22,.62) 30%,rgba(6,12,22,.86) 62%,rgba(6,12,22,.94) 100%)}
  .hero .wrap.hero-grid,.hero-grid{padding:calc(var(--header-h) + 22px) 0 34px}
  .hero-badge{font-size:.72rem;padding:.5em .9em .5em .75em;margin-bottom:14px;gap:8px}
  .live-dot{width:8px;height:8px}
  .hero .h-hero{font-size:clamp(1.95rem,9.2vw,2.4rem);line-height:1.04;margin-bottom:14px}
  .hero-sub{font-size:1rem;line-height:1.5;margin-bottom:22px}
  .hero-ctas{gap:10px;margin-bottom:20px}
  .hero-call{padding:10px 16px 10px 10px;gap:12px;border-radius:12px}
  .hc-ic{width:46px;height:46px}
  .hc-ic svg{width:22px;height:22px}
  .hc-tx small{font-size:.7rem}
  .hc-tx strong{font-size:1.6rem;white-space:nowrap}
  .hero-quote{justify-content:center;padding:1em 1.2em;font-size:1rem}
  .hero-trust{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px;font-size:.78rem}
  .hero-trust .ht-bbb{grid-column:1/-1;width:auto}
  .bbb-text b{width:36px;height:30px;font-size:.85rem}
  .dc-hero-crumbs .lsb-crumbs ol{font-size:.8rem;margin-bottom:12px}

  /* Features: compact 2 x 2 */
  .feat-list{grid-template-columns:1fr 1fr;gap:20px 14px;padding:26px 0}
  .feat-list li,.feat-list li:first-child{flex-direction:column;gap:8px;padding:0;border:0}
  .feat-icon svg{width:34px;height:34px}
  .feat-list strong{font-size:.95rem;margin-bottom:3px}
  .feat-list small{font-size:.82rem}

  /* Quote band: straight to the form (sticky bar already has Call) */
  .dc-quote-sec{padding:48px 0}
  .dc-quote-grid{gap:24px}
  .dc-quote-copy .lead-text{font-size:1rem}
  .dc-quote-copy .checks{margin:16px 0 0}
  .dc-quote-copy .checks li{font-size:.95rem}
  .dc-quote-call,.dc-quote-bbb{display:none}
  .dc-quote-sec .quote-card,.dc-contact-form .quote-card{padding:22px 16px 18px;border-radius:14px}
  .fi input,.fi select,.fi textarea{font-size:16px}  /* stops iPhone zoom-on-focus */

  /* "Certified to restore" band: 2 x 2 photo tiles */
  .work-in{gap:22px;padding:8px 0}
  .work-copy .h-display{font-size:1.9rem}
  .work-tiles{grid-template-columns:1fr 1fr;gap:10px}
  .work-tiles figure{aspect-ratio:1/1;border-radius:10px}
  .work-tiles figcaption{left:6px;right:6px;bottom:6px;padding:6px 8px;font-size:.68rem;line-height:1.15;text-align:center}

  /* About */
  .about-grid{gap:28px}
  .about-media{min-height:230px;order:-1}
  .about-actions{display:grid;gap:10px}
  .about-actions .btn{justify-content:center;width:100%}

  /* Services: 2-up tiles, name only */
  .svc-grid{grid-template-columns:1fr 1fr;gap:10px}
  .svc-tile{min-height:170px;padding:14px;border-radius:12px}
  .svc-short{display:none}
  .svc-name{font-size:.9rem;line-height:1.2}
  .svc-name svg{width:16px;height:16px}

  /* Process */
  .step-icon{width:56px;height:56px}
  .step-icon svg{width:26px;height:26px}
  .step-chev{min-height:56px;padding:10px 16px;font-size:.85rem}

  /* FAQ */
  .faq details summary{font-size:1rem}

  /* Service areas: smaller map, 2-col list */
  .areas-grid{gap:26px}
  .map{aspect-ratio:16/10}
  .area-list{grid-template-columns:1fr 1fr;gap:8px}
  .area-list a{padding:10px;font-size:.84rem;gap:6px}
  .area-list a svg{width:15px;height:15px;flex:none}

  /* CTA band */
  .cta-band{padding:60px 0}
  .cta-band .h-display{font-size:1.8rem}
  .cta-actions{display:grid;gap:10px}
  .cta-actions .btn{width:100%;justify-content:center}

  /* Service detail + "What to do right now" */
  .detail-grid{gap:30px}
  .about-actions,.svc-detail .about-actions{margin-top:6px}
  .dc-now{margin-top:24px}
  .dc-now-head h3{font-size:1.2rem}
  .dc-now-ic{width:42px;height:42px}
  .dc-now-list li{font-size:.95rem}
  .side-card{padding:20px 16px}

  /* Location pages */
  .dc-nearby .lsb-links{grid-template-columns:1fr 1fr;gap:8px}
  .dc-nearby .lsb-links a{padding:10px;font-size:.85rem}
  .dc-facts .lsb-facts dl{grid-template-columns:1fr 1fr}
  .dc-facts .lsb-facts dd{font-size:1.1rem}

  /* Mobile bar: red call like the brand */
  .mobile-bar .mb-call{background:var(--accent)}
  .mobile-bar a{padding:16px 8px}
}
@media (max-width:360px){
  .hc-tx strong{font-size:1.4rem}
  .hero-trust{grid-template-columns:1fr}
  .area-list,.dc-nearby .lsb-links{grid-template-columns:1fr}
}
#estimate{scroll-margin-top:calc(var(--header-h) + 16px)}
@media (max-width:640px){
  .logo-img.logo-header{max-height:56px;max-width:120px}
  .site-footer{padding-top:44px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px;padding-bottom:36px}
  .footer-grid>.f-brand,.footer-grid>div:last-child{grid-column:1/-1}
  .f-brand .logo-img{max-height:80px}
  .site-footer h3{font-size:.85rem;margin-bottom:12px}
  .site-footer li,.site-footer a{font-size:.9rem}
  .footer-base .wrap{padding:16px 0;text-align:center;align-items:center}
}

/* =====================================================================
   HERO v5 — the photo starts BELOW the menu bar and is sized so every
   person is visible head-to-feet. Text sits on the open left side.
   ===================================================================== */
.hero{background-image:none!important}
.hero-bg{position:absolute;left:0;right:0;bottom:0;top:var(--header-h);z-index:-2;background-color:var(--ink);background-repeat:no-repeat;background-size:cover;background-position:var(--fx,70%) var(--hy,0%)}
.admin-bar .hero-bg{top:calc(var(--header-h) + 32px)}
.hero::before,.hero:not([style])::before{background:linear-gradient(90deg,rgba(6,12,22,.9) 0%,rgba(6,12,22,.74) 26%,rgba(6,12,22,.3) 40%,rgba(6,12,22,.04) 50%,rgba(6,12,22,0) 100%),linear-gradient(0deg,rgba(6,12,22,.35),transparent 18%)}
.dc-hero-sm::before{background:linear-gradient(90deg,rgba(6,12,22,.9),rgba(6,12,22,.55) 70%,rgba(6,12,22,.35))}
@media (min-width:1081px){
  /* image area height = 46% of screen width, so a 16:9 photo shows ~82% of its height */
  .hero .wrap.hero-grid,.hero-grid{min-height:calc(var(--header-h) + clamp(560px,46vw,860px));padding:calc(var(--header-h) + 36px) 0 48px;align-content:center}
  .admin-bar .hero .wrap.hero-grid,.admin-bar .hero-grid{min-height:calc(var(--header-h) + 32px + clamp(560px,46vw,860px))}
  .hero-copy{max-width:690px}
  .hero-ctas{flex-wrap:nowrap}
  .dc-hero-sm .hero-grid,.hero.dc-hero-sm .wrap.hero-grid{min-height:0;padding-bottom:64px}
}
/* Phones & tablets: full photo as a band on top, text below on dark — nobody is ever covered */
@media (max-width:1080px){
  .hero{padding-top:var(--header-h)}
  .admin-bar .hero{padding-top:calc(var(--header-h) + 32px)}
  .hero-bg,.admin-bar .hero-bg{position:relative;top:auto;left:auto;right:auto;bottom:auto;z-index:0;aspect-ratio:16/9;width:100%;background-size:cover;background-position:center}
  .hero-bg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:28%;background:linear-gradient(0deg,var(--ink),transparent)}
  .hero::before,.hero:not([style])::before{display:none}
  .hero .wrap.hero-grid,.hero-grid{padding:22px 0 40px;min-height:0}
  .dc-hero-sm .hero-bg{display:none}
  .dc-hero-sm .hero-grid{padding-top:36px}
}
@media (max-width:782px){.admin-bar .hero{padding-top:calc(var(--header-h) + 46px)}}
@media (max-width:600px){.admin-bar .hero{padding-top:var(--header-h)}}
