/* Cathedral City AC Replacement — shared stylesheet (v3, modern redesign)
   Palette: deep navy #0B2A4A / darker navy #071E36 / warm orange #F97316 / sky accent #0284C7
   Type: Sora (headings) + Inter (body) via Google Fonts. Mobile-first. One file, no frameworks. */

:root{
  --navy:#0B2A4A;
  --navy-dark:#071E36;
  --navy-mid:#123A63;
  --navy-soft:#1D4E79;
  --orange:#F97316;
  --orange-dark:#EA580C;
  --orange-soft:#FFEDD5;
  --orange-pale:#FFF6EC;
  --sky:#0284C7;
  --ink:#1C2B3A;
  --ink-soft:#526478;
  --bg:#FFFFFF;
  --bg-soft:#F4F8FC;
  --line:#E3ECF4;
  --radius:16px;
  --radius-lg:24px;
  --radius-xl:28px;
  --shadow-sm:0 1px 2px rgba(11,42,74,.05),0 6px 18px -8px rgba(11,42,74,.12);
  --shadow:0 2px 4px rgba(11,42,74,.05),0 16px 36px -16px rgba(11,42,74,.20);
  --shadow-lg:0 4px 8px rgba(7,30,54,.06),0 28px 56px -20px rgba(7,30,54,.30);
  --grad-orange:linear-gradient(135deg,#FB8B2E 0%,var(--orange) 52%,var(--orange-dark) 100%);
  --shadow-btn:0 14px 28px -10px rgba(249,115,22,.55);
  --header-h:78px;
  --font-head:"Sora",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.6 9.8 17.9 19.5 6.8'/%3E%3C/svg%3E");
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg);
  line-height:1.7;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
figure{margin:0}
img,svg{max-width:100%}
img{height:auto}
a{color:var(--sky);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:6px}
::selection{background:var(--orange);color:#fff}

.container{max-width:1200px;margin:0 auto;padding:0 24px}
.section{padding:104px 0}
.section.alt{background:linear-gradient(180deg,#F5F9FC 0%,#EDF4FA 100%);border-top:1px solid #E4EDF5;border-bottom:1px solid #E4EDF5}

h1,h2,h3,h4{font-family:var(--font-head);color:var(--navy);line-height:1.14;margin:0 0 .55em;font-weight:700;letter-spacing:-.022em}
h1{font-size:clamp(2.4rem,4.8vw,3.4rem)}
h2{font-size:clamp(1.95rem,3.4vw,2.6rem);margin-top:0}
h3{font-size:1.24rem;letter-spacing:-.014em}
.section>.container>h2{position:relative;padding-bottom:.42em;margin-bottom:.8em}
.section>.container>h2::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--orange),#FDBA74)}
p{margin:0 0 1.05em}
ul,ol{margin:0 0 1.1em;padding-left:1.35em}
li{margin-bottom:.4em}
.lede{font-size:1.16rem;color:var(--ink-soft);line-height:1.65}
.small{font-size:.92rem;color:var(--ink-soft)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--orange-dark);margin-bottom:1em}
.eyebrow::before{content:"";width:26px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--orange),#FDBA74)}
.eyebrow-pill{background:linear-gradient(120deg,#FFF1E1,#FFE7CF);border:1px solid #FBD9AE;color:var(--orange-dark);border-radius:999px;padding:8px 16px 8px 13px;box-shadow:var(--shadow-sm)}
.eyebrow-pill::before{width:8px;height:8px;border-radius:50%;background:var(--orange)}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:200;border-radius:0 0 10px 0}
.skip-link:focus{left:0;color:#fff}

/* Header — floating pill: sticky, but the bar itself is a detached glass
   capsule that floats over the page with a gap above it */
.site-header{position:sticky;top:0;z-index:100;padding:14px 0 0;background:transparent;pointer-events:none}
.header-pill{pointer-events:auto;position:relative;display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(11,42,74,.09);border-radius:999px;padding:9px 10px 9px 18px;box-shadow:0 2px 6px rgba(11,42,74,.05),0 18px 38px -18px rgba(7,30,54,.26);transition:box-shadow .25s ease}
.site-header.scrolled .header-pill{box-shadow:0 4px 10px rgba(11,42,74,.06),0 28px 52px -18px rgba(7,30,54,.40)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);flex-shrink:0}
.brand img{width:44px;height:44px;display:block}
.brand-text{font-family:var(--font-head);line-height:1.12;letter-spacing:-.01em}
.brand-text strong{display:block;font-weight:700;font-size:1.1rem;color:var(--navy)}
.brand-sub{display:block;font-size:.68rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--orange-dark);margin-top:2px}
.main-nav{margin-left:auto}
.nav-list{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav-list>li{margin:0}
.nav-item{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;color:var(--navy);text-decoration:none;font-weight:600;font-size:.94rem;white-space:nowrap;transition:background .15s ease,color .15s ease}
a.nav-link:hover{background:var(--bg-soft);color:var(--orange-dark)}
.nav-link[aria-current="page"]{color:var(--orange-dark);background:#FFF1E1}
.dropdown-toggle{background:none;border:0;cursor:pointer;font:inherit;font-weight:600;color:var(--navy)}
.dropdown-toggle:hover{background:var(--bg-soft);color:var(--orange-dark)}
.dropdown-toggle .chev{width:14px;height:14px;flex-shrink:0;transition:transform .2s ease}
.has-dropdown:hover .chev,.has-dropdown:focus-within .chev,.has-dropdown.open .chev{transform:rotate(180deg)}
/* Dropdown panel — rounded glass card matching the pill */
.dropdown{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,8px);min-width:274px;list-style:none;margin:0;padding:8px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(11,42,74,.09);border-radius:20px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:110}
.dropdown::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.dropdown li{margin:0}
.dropdown a{display:block;padding:10px 12px;border-radius:12px;color:var(--navy);text-decoration:none;font-weight:600;font-size:.94rem;white-space:nowrap;transition:background .15s ease,color .15s ease}
.dropdown a:hover{background:var(--bg-soft);color:var(--orange-dark)}
.dropdown a[aria-current="page"]{color:var(--orange-dark);background:#FFF1E1}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown,.has-dropdown.open .dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}
.header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}
.header-phone{display:inline-flex;align-items:center;gap:8px;color:var(--navy);text-decoration:none;font-family:var(--font-head);font-weight:700;font-size:1rem;letter-spacing:-.01em;white-space:nowrap}
.header-phone svg{width:19px;height:19px;color:var(--orange-dark);flex-shrink:0}
.header-phone:hover{color:var(--orange-dark)}
.nav-toggle{display:none;align-items:center;gap:9px;background:var(--navy);color:#fff;border:0;border-radius:999px;padding:11px 17px;font-family:var(--font-body);font-size:.95rem;font-weight:700;cursor:pointer}
.nav-toggle-bars{display:inline-flex;flex-direction:column;gap:3.5px}
.nav-toggle-bars span{display:block;width:16px;height:2px;border-radius:2px;background:currentColor}

/* Buttons — pill, gradient, soft colored shadow */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:15px 28px;font-weight:700;font-size:1rem;text-decoration:none;border:2px solid transparent;cursor:pointer;line-height:1.25;text-align:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.btn-call{background:var(--grad-orange);color:#fff;box-shadow:var(--shadow-btn)}
.btn-call:hover{background:linear-gradient(135deg,var(--orange) 0%,var(--orange-dark) 100%);color:#fff;transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(249,115,22,.6)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:#fff}
.btn-outline:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--navy);border-color:rgba(11,42,74,.16);box-shadow:var(--shadow-sm)}
.btn-white:hover{background:#F2F7FB;color:var(--navy);border-color:rgba(11,42,74,.3);transform:translateY(-2px)}
.header-call{padding:12px 22px;font-size:.95rem;white-space:nowrap}
.header-call .ph{display:none}
.header-call::after{content:"Now"}
.btn .ph{font-weight:800}

/* Hero (homepage) — light split layout over a soft gradient mesh */
.hero{
  padding:88px 0 100px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(560px 420px at 90% -8%,rgba(249,115,22,.20),rgba(249,115,22,0) 62%),
    radial-gradient(760px 540px at -14% 110%,rgba(2,132,199,.15),rgba(2,132,199,0) 60%),
    radial-gradient(900px 620px at 52% -34%,rgba(29,78,121,.10),rgba(29,78,121,0) 65%),
    linear-gradient(180deg,#F8FBFE 0%,#EFF6FC 54%,#FFFFFF 100%);
}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center}
.hero h1{font-size:clamp(2.85rem,5.4vw,4.02rem);line-height:1.05;letter-spacing:-.03em;margin-bottom:.42em}
.hero .lede{font-size:1.22rem;max-width:35em}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 18px}
.hero-cta .btn{font-size:1.05rem;padding:17px 30px}
.hero-note{font-size:.94rem;color:var(--ink-soft);max-width:44em}
.hero-points{display:flex;flex-wrap:wrap;gap:10px 12px;list-style:none;padding:0;margin:28px 0 0}
.hero-points li{margin:0;display:inline-flex;align-items:center;font-weight:600;color:var(--navy);background:#fff;border:1px solid rgba(11,42,74,.09);border-radius:999px;padding:8px 16px 8px 9px;font-size:.94rem;box-shadow:var(--shadow-sm)}
.hero-points li::before{content:"";flex-shrink:0;width:21px;height:21px;border-radius:50%;margin-right:9px;background-image:var(--check),var(--grad-orange);background-size:11px 11px,cover;background-position:center;background-repeat:no-repeat}
.hero-media{position:relative}
.hero-media::before{content:"";position:absolute;inset:auto -28px -28px auto;width:58%;height:52%;border-radius:var(--radius-xl);background:linear-gradient(140deg,#FFE3C2,#FFD0A1);opacity:.65;transform:rotate(4deg)}
.hero-frame{position:relative;border-radius:230px 230px var(--radius-xl) var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.hero-frame img{display:block;width:100%;height:100%;aspect-ratio:4/4.35;object-fit:cover}
.hero-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);pointer-events:none}
.hero-call-card{position:absolute;left:-30px;bottom:36px;display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.75);border-radius:18px;padding:13px 20px 13px 13px;box-shadow:var(--shadow-lg);text-decoration:none;transition:transform .18s ease}
.hero-call-card:hover{transform:translateY(-2px)}
.hcc-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:var(--grad-orange);color:#fff;box-shadow:0 8px 16px -6px rgba(249,115,22,.6);flex-shrink:0}
.hcc-icon svg{width:23px;height:23px;display:block}
.hcc-text{display:flex;flex-direction:column;line-height:1.2}
.hcc-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.hcc-num{font-family:var(--font-head);font-weight:700;font-size:1.14rem;color:var(--navy)}

/* Page hero band (sub-pages) — light, big title, breadcrumb feel */
.page-hero{
  padding:74px 0 66px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(620px 340px at 92% -30%,rgba(249,115,22,.16),rgba(249,115,22,0) 62%),
    radial-gradient(700px 420px at -10% 120%,rgba(2,132,199,.10),rgba(2,132,199,0) 60%),
    linear-gradient(180deg,#F8FBFE 0%,#EEF5FB 100%);
  border-bottom:1px solid #E4EDF5;
}
.page-hero-img{
  background:
    radial-gradient(620px 340px at 92% -30%,rgba(249,115,22,.16),rgba(249,115,22,0) 62%),
    linear-gradient(93deg,rgba(248,251,253,.97) 0%,rgba(248,251,253,.88) 52%,rgba(248,251,253,.60) 100%),
    url("/assets/img/hero-ac-replacement.jpg") center 55%/cover no-repeat,
    #EFF5FB;
}
.page-hero h1{max-width:17em;margin-bottom:0}
.page-hero .container{position:relative;z-index:1}

/* Lead photo (service pages) */
.lead-photo{margin:0 0 30px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}
.lead-photo img{display:block;width:100%;aspect-ratio:16/6.8;object-fit:cover}
.lead-photo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(11,42,74,.07);border-radius:var(--radius-xl);pointer-events:none}

/* Breadcrumb */
.breadcrumb{background:#fff;border-bottom:1px solid var(--line);font-size:.89rem}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:13px 0}
.breadcrumb li{margin:0;color:var(--ink-soft)}
.breadcrumb li+li::before{content:"›";margin-right:7px;color:#9FB2C6}
.breadcrumb a{color:var(--navy);text-decoration:none;font-weight:600}
.breadcrumb a:hover{color:var(--orange-dark);text-decoration:underline}

/* Cards & grids */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card h3{margin-bottom:.4em}
.card p:last-child{margin-bottom:0}
.card .card-link{font-weight:700}
.sign-card{background:linear-gradient(180deg,#F8FBFD,#F1F6FA);border-color:#E2EBF3}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--grad-orange);color:#fff;font-family:var(--font-head);font-weight:700;font-size:1.06rem;margin-bottom:14px;box-shadow:0 10px 18px -6px rgba(249,115,22,.55)}

/* Image-topped service cards */
.card-media{padding:0;overflow:hidden;display:flex;flex-direction:column}
.card-media .card-img{display:block;width:100%;aspect-ratio:16/9.8;object-fit:cover;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.card-media:hover .card-img{transform:scale(1.06)}
.card-media .card-body{padding:26px 28px 28px;display:flex;flex-direction:column;flex:1}
.card-media .card-body p:last-child{margin-top:auto}

/* Icon accents (inline SVG) */
.card-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:15px;background:linear-gradient(150deg,#FFF4E8,var(--orange-soft));color:var(--orange-dark);margin-bottom:15px;box-shadow:inset 0 0 0 1px #FED7AA}
.card-icon svg{width:27px;height:27px;display:block}
.sign-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:var(--grad-orange);color:#fff;margin-bottom:13px;box-shadow:0 10px 18px -8px rgba(249,115,22,.6)}
.sign-icon svg{width:25px;height:25px;display:block}

/* Dark navy band (homepage "how it works" / transparency) */
.band-navy{position:relative;overflow:hidden;background:linear-gradient(155deg,#081D33 0%,var(--navy) 56%,var(--navy-mid) 115%);color:#DCE8F4}
.band-navy::before{content:"";position:absolute;inset:0;background:url("/assets/img/hero-ac-replacement.jpg") center 60%/cover no-repeat;opacity:.13}
.band-navy .container{position:relative;z-index:1}
.band-navy h2,.band-navy h3{color:#fff}
.band-navy a{color:#FDBA74}
.band-navy .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#E8EFF7}
.band-navy .card:hover{box-shadow:0 22px 40px -18px rgba(0,0,0,.5)}
.band-navy .note-box{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.15);color:#DCE8F4}

/* Callout / CTA band */
.cta-band{position:relative;overflow:hidden;border-radius:var(--radius-xl);padding:58px 46px;color:#E8EFF7;text-align:center;box-shadow:var(--shadow-lg);background:linear-gradient(118deg,var(--navy-dark) 0%,var(--navy) 50%,#8A3B0E 132%,var(--orange-dark) 168%)}
.cta-band::before{content:"";position:absolute;inset:0;background:url("/assets/img/hero-ac-replacement.jpg") center 62%/cover no-repeat;opacity:.16}
.cta-band>*{position:relative;z-index:1}
.cta-band h2{color:#fff}
.cta-band h2::after{display:none}
.cta-band p{max-width:44em;margin-left:auto;margin-right:auto}
.cta-band .btn{margin-top:8px}
.answer-box{background:linear-gradient(150deg,#FFFBF4,#FFF3E2);border:1px solid #FBE0B9;border-left:6px solid var(--orange);border-radius:20px;padding:26px 28px;margin-bottom:30px;box-shadow:var(--shadow-sm)}
.answer-box p:last-child{margin-bottom:0}
.note-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:20px;padding:26px 28px}
.note-box p:last-child{margin-bottom:0}

/* Tables */
.table-wrap{overflow-x:auto;margin-bottom:1.4em;border-radius:20px;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;background:#fff}
th,td{border:1px solid var(--line);padding:13px 16px;text-align:left;vertical-align:top}
th{background:linear-gradient(150deg,var(--navy),var(--navy-mid));color:#fff;font-family:var(--font-head);font-weight:600;letter-spacing:-.01em}
tr:nth-child(even) td{background:#F8FAFC}

/* FAQ — accordion-style cards */
.faq-item{border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:14px;padding:5px 26px;box-shadow:var(--shadow-sm);transition:box-shadow .18s ease,border-color .18s ease}
.faq-item:hover{box-shadow:var(--shadow);border-color:#CFDEEC}
.faq-item summary{cursor:pointer;font-family:var(--font-head);font-weight:600;letter-spacing:-.01em;color:var(--navy);padding:17px 0;font-size:1.04rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:#FFF1E1;color:var(--orange-dark);font-weight:700;font-size:1.2rem;line-height:1;transition:transform .25s ease,background .25s ease}
.faq-item details[open ] summary::after{transform:rotate(45deg);background:var(--grad-orange);color:#fff}
.faq-item summary:hover{color:var(--orange-dark)}
.faq-item .faq-a{padding-bottom:18px}
.faq-item .faq-a p:last-child{margin-bottom:0}

/* Lists */
.check-list{list-style:none;padding-left:0}
.check-list li{padding-left:34px;position:relative}
.check-list li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background-image:var(--check),var(--grad-orange);background-size:11px 11px,cover;background-position:center;background-repeat:no-repeat}
.area-list{columns:2;column-gap:32px}

/* Footer */
.site-footer{position:relative;background:linear-gradient(160deg,var(--navy-dark) 0%,#061829 100%);color:#C7D6E8;padding:60px 0 32px}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--orange),#FDBA74,var(--orange))}
.site-footer h3{color:#fff;font-size:1.05rem}
.site-footer a{color:#C7D6E8;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:30px}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{margin-bottom:7px}
.footer-brand{display:flex;align-items:center;gap:11px;color:#fff;font-family:var(--font-head);font-weight:700;margin-bottom:12px}
.footer-brand img{width:38px;height:38px}
.disclosure{border-top:1px solid #1D3F61;margin-top:36px;padding-top:22px;font-size:.88rem;color:#93A9C2}
.copyright{font-size:.88rem;color:#93A9C2;margin-top:10px}

/* Sticky mobile call bar */
.call-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:120;background:rgba(7,30,54,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 22px rgba(0,0,0,.28)}
.call-bar a{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--grad-orange);color:#fff;font-weight:800;font-size:1.05rem;text-decoration:none;border-radius:999px;padding:14px 10px}
.call-bar a:hover{background:var(--orange-dark);color:#fff}

/* Contact form (front-end only demo form styling) */
.form-grid{display:grid;gap:16px;max-width:560px}
.form-grid label{font-weight:700;color:var(--navy);display:block;margin-bottom:5px}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:14px;font:inherit;background:#fff}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:var(--sky);outline:3px solid rgba(2,132,199,.25)}

/* Reveal on scroll (class added by JS only when motion is OK) */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
.rv.in{opacity:1;transform:translateY(0)}

/* Responsive */
@media (max-width:1280px){
  /* Phone text yields to the full-number call button on medium screens */
  .header-phone{display:none}
  .header-call .ph{display:inline}
  .header-call::after{content:none}
}
@media (max-width:1100px){
  .nav-link{padding:9px 9px}
}
@media (max-width:1020px){
  /* Tight widths: button shortens to "Call Now" again */
  .header-call .ph{display:none}
  .header-call::after{content:"Now"}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  /* Mobile: pill keeps brand + call button + hamburger; the menu opens as a
     separate rounded glass card under the pill; dropdowns become accordions */
  .header-pill{gap:10px;padding:8px 8px 8px 14px}
  .nav-toggle{display:inline-flex}
  .header-call{padding:11px 18px;font-size:.92rem}
  .main-nav{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;margin-left:0;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(11,42,74,.09);border-radius:24px;box-shadow:var(--shadow-lg);padding:10px;z-index:105}
  .main-nav.open{display:block}
  .nav-list{flex-direction:column;align-items:stretch;gap:2px}
  .nav-item{position:static}
  .nav-link{display:flex;width:100%;padding:12px;font-size:1rem}
  .dropdown-toggle{justify-content:space-between}
  .dropdown{position:static;transform:none;opacity:1;visibility:visible;display:none;min-width:0;box-shadow:none;border:0;background:var(--bg-soft);border-radius:16px;margin:2px 0 6px;padding:6px;-webkit-backdrop-filter:none;backdrop-filter:none}
  .dropdown::before{display:none}
  .has-dropdown.open .dropdown{display:block;transform:none}
  .dropdown a{padding:11px 12px;white-space:normal}
}
@media (max-width:560px){
  .brand img{width:36px;height:36px}
  .brand-text strong{font-size:.95rem}
  .brand-sub{font-size:.6rem}
  .header-pill{gap:8px;padding:8px 6px 8px 12px}
  .header-actions{gap:8px}
  .header-call{padding:10px 14px;font-size:.88rem}
  .nav-toggle{padding:10px 12px}
  .nav-toggle-text{display:none}
}
@media (max-width:980px){
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .hero-grid{grid-template-columns:1fr;gap:52px}
  .hero-media{max-width:580px}
  .hero-call-card{left:18px;bottom:22px}
}
@media (max-width:760px){
  body{font-size:16px;padding-bottom:76px}
  h1{font-size:2.15rem}
  h2{font-size:1.65rem}
  .section{padding:64px 0}
  .hero{padding:54px 0 64px}
  .hero h1{font-size:2.55rem}
  .hero-cta .btn{width:100%}
  .page-hero{padding:50px 0 44px}
  .lead-photo img{aspect-ratio:16/10}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .call-bar{display:block}
  .cta-band{padding:40px 24px}
  .area-list{columns:1}
  .hero-frame img{aspect-ratio:4/3.6}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn,.card,.faq-item,.card-media .card-img,.hero-call-card,.dropdown,.chev,.header-pill{transition:none}
  .btn:hover,.card:hover,.card-media:hover .card-img,.hero-call-card:hover{transform:none}
  .rv{opacity:1;transform:none;transition:none}
}
