/* ============================================================
   FRISCO EMERGENCY PET CARE — Design System
   style.css v1.1 — Brand colors: blue #1044a9 + green #62a11c
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }

:root {
  /* Brand Blues */
  --blue-deep:   #07296b;
  --blue-dark:   #0d3d8a;
  --blue-mid:    #1044a9;
  --blue-light:  #1e5ec8;
  --blue-bright: #2b72e8;
  --blue-pale:   #dde9fb;
  --blue-tint:   #f0f5fd;

  /* Brand Greens */
  --green-deep:   #2d5209;
  --green-dark:   #456e10;
  --green-mid:    #62a11c;
  --green-light:  #7bbf28;
  --green-bright: #8fd130;
  --green-pale:   #e6f4d0;
  --green-tint:   #f3fae8;

  /* Emergency Red */
  --urgent-red:    #c0312a;
  --urgent-dark:   #952520;
  --urgent-light:  #d9403a;
  --urgent-bg:     #fdf0ef;
  --urgent-border: #f0bfbb;

  /* Neutrals */
  --white:       #ffffff;
  --off-white:   #f8f9fc;
  --gray-1:      #f1f4f9;
  --gray-2:      #e2e8f4;
  --gray-3:      #c4cfe6;
  --gray-4:      #8fa0c0;
  --gray-5:      #596880;
  --ink:         #111827;
  --ink-light:   #1f2d45;
  --ink-muted:   #4b5a72;

  --font-display: 'DM Serif Display', Georgia, serif;
  --font-body:    'DM Sans', system-ui, sans-serif;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-md:   1.125rem;
  --text-lg:   1.25rem;
  --text-xl:   1.5rem;
  --text-2xl:  1.875rem;
  --text-3xl:  2.25rem;
  --text-4xl:  2.75rem;
  --text-5xl:  3.5rem;

  --space-1:  0.25rem;  --space-2:  0.5rem;   --space-3:  0.75rem;
  --space-4:  1rem;     --space-5:  1.25rem;  --space-6:  1.5rem;
  --space-8:  2rem;     --space-10: 2.5rem;   --space-12: 3rem;
  --space-16: 4rem;     --space-20: 5rem;     --space-24: 6rem;

  --max-width:     1160px;
  --content-width: 740px;
  --radius-sm:   4px;   --radius-md: 8px;
  --radius-lg:   14px;  --radius-xl: 22px;  --radius-full: 9999px;

  --shadow-sm: 0 1px 3px rgba(16,68,169,.08),0 1px 2px rgba(16,68,169,.05);
  --shadow-md: 0 4px 12px rgba(16,68,169,.12),0 2px 4px rgba(16,68,169,.06);
  --shadow-lg: 0 12px 32px rgba(16,68,169,.14),0 4px 8px rgba(16,68,169,.06);

  --ease:     cubic-bezier(.25,.46,.45,.94);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --dur-fast: 150ms; --dur-base: 250ms; --dur-slow: 400ms;
}

/* ── Base ───────────────────────────────────────────────────── */
body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--ink);
  background: var(--off-white);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.15;
  color: var(--blue-deep);
  letter-spacing: -.01em;
}
h1 { font-size: var(--text-4xl); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-xl); }
h4 { font-size: var(--text-lg); }
p  { margin-bottom: var(--space-4); color: var(--ink-muted); }
p:last-child { margin-bottom: 0; }
strong { font-weight: 600; color: var(--ink-light); }

/* ── Layout ─────────────────────────────────────────────────── */
.container { width:100%; max-width:var(--max-width); margin-inline:auto; padding-inline:var(--space-6); }
.container--narrow { max-width: var(--content-width); }
.section     { padding-block: var(--space-20); }
.section--sm { padding-block: var(--space-12); }
.section--lg { padding-block: var(--space-24); }

/* ── Alert Bar ──────────────────────────────────────────────── */
.alert-bar {
  background: var(--blue-dark);
  color: rgba(255,255,255,.92);
  text-align: center;
  padding: var(--space-2) var(--space-6);
  font-size: var(--text-sm);
  font-weight: 400;
  letter-spacing: .02em;
  z-index: 200;
  position: relative;
  border-bottom: 2px solid var(--green-mid);
}
.alert-bar strong { color: var(--white); font-weight: 600; }
.alert-bar a { color:var(--green-bright); text-decoration:underline; text-underline-offset:3px; font-weight:500; }
.alert-bar a:hover { color:var(--white); }

/* ── Header ─────────────────────────────────────────────────── */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: var(--blue-deep);
  border-bottom: 1px solid rgba(255,255,255,.1);
  box-shadow: var(--shadow-md);
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 72px; gap: var(--space-6);
}
.site-logo { display:flex; align-items:center; flex-shrink:0; }
.site-logo img { height:52px; width:auto; }

/* Fallback text logo */
.site-logo-text { display:flex; flex-direction:column; line-height:1.2; }
.site-logo-text .logo-main { font-family:var(--font-display); font-size:var(--text-lg); color:var(--white); }
.site-logo-text .logo-sub  { font-size:var(--text-xs); color:rgba(255,255,255,.5); letter-spacing:.06em; text-transform:uppercase; }

/* ── Nav ────────────────────────────────────────────────────── */
.site-nav { display:flex; align-items:center; gap:var(--space-1); }
.site-nav > a,
.site-nav > .nav-item > a {
  font-size: var(--text-sm); font-weight:400;
  color: rgba(255,255,255,.78);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
  white-space: nowrap;
}
.site-nav > a:hover,
.site-nav > .nav-item > a:hover { color:var(--white); background:rgba(255,255,255,.1); }
.site-nav a.active { color:var(--white); }

.nav-item { position:relative; }
.nav-item:hover .nav-dropdown { opacity:1; pointer-events:all; transform:translateY(0); }
.nav-dropdown {
  position:absolute; top:calc(100% + 8px); left:0;
  background:var(--white); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg); min-width:230px; padding:var(--space-2);
  border:1px solid var(--gray-2);
  opacity:0; pointer-events:none; transform:translateY(-6px);
  transition: opacity var(--dur-base) var(--ease), transform var(--dur-base) var(--ease-out);
}
.nav-dropdown a { display:block; color:var(--ink-light)!important; padding:var(--space-2) var(--space-3)!important; border-radius:var(--radius-md)!important; font-size:var(--text-sm)!important; }
.nav-dropdown a:hover { background:var(--blue-tint)!important; color:var(--blue-mid)!important; }

.header-cta { display:flex; align-items:center; gap:var(--space-3); flex-shrink:0; }
.header-phone { font-size:var(--text-md); font-weight:600; color:var(--white); white-space:nowrap; }
.header-phone:hover { color:var(--green-bright); }

.mobile-menu-btn { display:none; flex-direction:column; gap:5px; padding:var(--space-2); border-radius:var(--radius-md); }
.mobile-menu-btn span { display:block; width:22px; height:2px; background:var(--white); border-radius:2px; transition:transform var(--dur-base) var(--ease); }

.mobile-nav {
  display:none; position:fixed; inset:0;
  background:var(--blue-deep); z-index:99;
  flex-direction:column; padding:var(--space-8) var(--space-6); overflow-y:auto;
}
.mobile-nav.open { display:flex; }
.mobile-nav-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:var(--space-8); }
.mobile-nav-close { color:var(--white); font-size:var(--text-xl); opacity:.7; }
.mobile-nav a { display:block; font-size:var(--text-xl); font-family:var(--font-display); color:var(--white); padding:var(--space-4) 0; border-bottom:1px solid rgba(255,255,255,.1); }
.mobile-nav-sub { padding-left:var(--space-4); }
.mobile-nav-sub a { font-family:var(--font-body); font-size:var(--text-base); color:rgba(255,255,255,.7); }
.mobile-nav .mobile-cta { margin-top:var(--space-8); display:flex; flex-direction:column; gap:var(--space-3); }

/* ── Buttons ─────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  font-family:var(--font-body); font-size:var(--text-base); font-weight:500; line-height:1;
  padding:var(--space-4) var(--space-6); border-radius:var(--radius-md);
  transition:all var(--dur-base) var(--ease); white-space:nowrap; cursor:pointer; text-decoration:none;
}
.btn--urgent { background:var(--urgent-red); color:var(--white); box-shadow:0 2px 0 var(--urgent-dark),var(--shadow-sm); }
.btn--urgent:hover { background:var(--urgent-light); transform:translateY(-1px); box-shadow:0 4px 0 var(--urgent-dark),var(--shadow-md); }
.btn--urgent:active { transform:translateY(1px); box-shadow:0 1px 0 var(--urgent-dark); }

.btn--primary { background:var(--blue-mid); color:var(--white); box-shadow:0 2px 0 var(--blue-dark),var(--shadow-sm); }
.btn--primary:hover { background:var(--blue-light); transform:translateY(-1px); box-shadow:0 4px 0 var(--blue-dark),var(--shadow-md); }

.btn--green { background:var(--green-mid); color:var(--white); box-shadow:0 2px 0 var(--green-dark),var(--shadow-sm); }
.btn--green:hover { background:var(--green-light); transform:translateY(-1px); }

.btn--outline { background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,.45); }
.btn--outline:hover { border-color:rgba(255,255,255,.85); background:rgba(255,255,255,.08); }

.btn--outline-dark { background:transparent; color:var(--blue-mid); border:1.5px solid var(--blue-mid); }
.btn--outline-dark:hover { background:var(--blue-tint); }

.btn--lg { font-size:var(--text-md); padding:var(--space-5) var(--space-8); border-radius:var(--radius-lg); }
.btn--sm { font-size:var(--text-sm); padding:var(--space-2) var(--space-4); }

/* ── Hero ────────────────────────────────────────────────────── */
.hero {
  background: var(--blue-deep);
  position: relative; overflow: hidden;
  padding-block: var(--space-20) var(--space-24);
}
.hero::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 70% at 85% 40%, rgba(16,68,169,.45) 0%, transparent 65%),
    radial-gradient(ellipse 45% 60% at 5%  90%, rgba(98,161,28,.18)  0%, transparent 60%),
    radial-gradient(ellipse 70% 50% at 50%  0%, rgba(7,41,107,.6)   0%, transparent 70%);
}
.hero::after {
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
}
.hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 380px; gap:var(--space-12); align-items:center; }

.hero-badge {
  display:inline-flex; align-items:center; gap:var(--space-2);
  background:rgba(98,161,28,.15); border:1px solid rgba(98,161,28,.35);
  color:var(--green-bright); font-size:var(--text-xs); font-weight:500;
  letter-spacing:.1em; text-transform:uppercase;
  padding:var(--space-2) var(--space-3); border-radius:var(--radius-full);
  margin-bottom:var(--space-6);
}
.hero-badge .dot { width:6px; height:6px; background:var(--green-mid); border-radius:50%; animation:pulse-dot 2s ease-in-out infinite; }
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.8)} }

.hero h1 { font-size:clamp(var(--text-3xl),4.5vw,var(--text-5xl)); color:var(--white); line-height:1.1; margin-bottom:var(--space-5); letter-spacing:-.02em; }
.hero h1 em { font-style:italic; color:var(--green-bright); }
.hero-sub { font-size:var(--text-md); color:rgba(255,255,255,.65); font-weight:300; line-height:1.6; margin-bottom:var(--space-8); max-width:460px; }
.hero-actions { display:flex; gap:var(--space-4); flex-wrap:wrap; margin-bottom:var(--space-10); }
.hero-meta { display:flex; gap:var(--space-6); flex-wrap:wrap; }
.hero-meta-item { display:flex; flex-direction:column; gap:var(--space-1); }
.hero-meta-item .label { font-size:var(--text-xs); color:rgba(255,255,255,.4); text-transform:uppercase; letter-spacing:.08em; font-weight:500; }
.hero-meta-item .value { font-size:var(--text-sm); color:rgba(255,255,255,.75); }

.hero-card { background:var(--white); border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-lg),0 0 0 1px rgba(16,68,169,.08); }
.hero-card-head { background:var(--urgent-red); padding:var(--space-4) var(--space-6); color:var(--white); }
.hero-card-head .eyebrow { font-size:var(--text-xs); letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.85); margin-bottom:var(--space-1); }
.hero-card-head .title { font-family:var(--font-display); font-size:var(--text-xl); color:var(--white); }
.hero-card-body { padding:var(--space-5) var(--space-6); }

.symptom-list { display:flex; flex-direction:column; gap:var(--space-2); margin-bottom:var(--space-5); }
.symptom-item { display:flex; align-items:center; gap:var(--space-3); font-size:var(--text-sm); color:var(--ink-light); padding:var(--space-2) 0; border-bottom:1px solid var(--gray-1); }
.symptom-item:last-child { border-bottom:none; }
.symptom-dot { width:8px; height:8px; border-radius:50%; background:var(--urgent-red); flex-shrink:0; }

.hero-card-foot { padding:var(--space-4) var(--space-6); background:var(--blue-tint); border-top:1px solid var(--blue-pale); }
.triage-link { font-size:var(--text-sm); color:var(--blue-mid); font-weight:500; display:flex; align-items:center; gap:var(--space-2); }
.triage-link:hover { color:var(--blue-light); }

/* ── Section headers ────────────────────────────────────────── */
.section-header { margin-bottom:var(--space-12); }
.section-header--center { text-align:center; max-width:600px; margin-inline:auto; margin-bottom:var(--space-12); }
.eyebrow { display:inline-block; font-size:var(--text-xs); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--green-mid); margin-bottom:var(--space-3); }
.eyebrow--red   { color:var(--urgent-red); }
.eyebrow--blue  { color:var(--blue-mid); }
.eyebrow--light { color:var(--green-bright); }
.section-header h2 { margin-bottom:var(--space-4); }
.section-header p  { font-size:var(--text-md); color:var(--ink-muted); }

/* ── Cards ───────────────────────────────────────────────────── */
.card { background:var(--white); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); border:1px solid var(--gray-2); overflow:hidden; transition:box-shadow var(--dur-base) var(--ease),transform var(--dur-base) var(--ease); }
.card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.card-body { padding:var(--space-6); }
.card-icon { width:48px; height:48px; border-radius:var(--radius-md); background:var(--blue-pale); display:flex; align-items:center; justify-content:center; margin-bottom:var(--space-4); }
.card-icon svg { width:22px; height:22px; stroke:var(--blue-mid); fill:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.card h3 { margin-bottom:var(--space-2); font-size:var(--text-lg); }
.card p  { font-size:var(--text-sm); line-height:1.6; }
.card-link { display:inline-flex; align-items:center; gap:var(--space-2); font-size:var(--text-sm); font-weight:500; color:var(--blue-mid); margin-top:var(--space-4); }
.card-link:hover { color:var(--green-mid); }

.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:var(--space-5); }

/* ── Trust strip ─────────────────────────────────────────────── */
.trust-strip { background:var(--blue-deep); padding-block:var(--space-8); border-top:3px solid var(--green-mid); }
.trust-items { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-6); text-align:center; }
.trust-item .number { font-family:var(--font-display); font-size:var(--text-3xl); color:var(--green-bright); display:block; line-height:1; margin-bottom:var(--space-1); }
.trust-item .label  { font-size:var(--text-sm); color:rgba(255,255,255,.55); font-weight:300; }

/* ── Urgency ─────────────────────────────────────────────────── */
.urgency-section { background:var(--urgent-bg); border-top:3px solid var(--urgent-red); }
.urgency-inner { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-16); align-items:start; }
.urgency-list { display:flex; flex-direction:column; gap:var(--space-2); }
.urgency-item { display:flex; align-items:center; gap:var(--space-3); padding:var(--space-3) var(--space-4); background:var(--white); border-radius:var(--radius-md); border:1px solid var(--urgent-border); font-size:var(--text-sm); color:var(--ink-light); transition:border-color var(--dur-fast) var(--ease); }
.urgency-item:hover { border-color:var(--urgent-red); }
.urgency-item .icon { width:8px; height:8px; border-radius:50%; background:var(--urgent-red); flex-shrink:0; }
.step-list { display:flex; flex-direction:column; gap:var(--space-4); }
.step-item { display:flex; gap:var(--space-4); align-items:flex-start; }
.step-num { width:36px; height:36px; border-radius:50%; background:var(--blue-mid); color:var(--white); font-family:var(--font-display); font-size:var(--text-lg); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
.step-body h4 { font-family:var(--font-body); font-weight:600; font-size:var(--text-base); color:var(--ink); margin-bottom:var(--space-1); }
.step-body p  { font-size:var(--text-sm); margin-bottom:0; }

/* ── Expect ──────────────────────────────────────────────────── */
.expect-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-1); }
.expect-item { background:var(--white); border-radius:var(--radius-md); padding:var(--space-6) var(--space-5); text-align:center; border:1px solid var(--gray-2); position:relative; }
.expect-item:not(:last-child)::after { content:'→'; position:absolute; right:calc(-1*var(--space-4)); top:50%; transform:translateY(-50%); color:var(--gray-3); font-size:var(--text-lg); z-index:1; }
.expect-num { font-family:var(--font-display); font-size:var(--text-4xl); color:var(--blue-pale); line-height:1; margin-bottom:var(--space-2); }
.expect-item h4 { font-family:var(--font-body); font-size:var(--text-sm); font-weight:600; color:var(--blue-mid); text-transform:uppercase; letter-spacing:.06em; margin-bottom:var(--space-2); }
.expect-item p  { font-size:var(--text-xs); line-height:1.6; margin-bottom:0; }

/* ── Areas ───────────────────────────────────────────────────── */
.areas-section { background:var(--blue-deep); color:var(--white); }
.areas-inner { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-16); align-items:center; }
.areas-list { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); margin-top:var(--space-6); }
.area-tag { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:var(--radius-md); padding:var(--space-3) var(--space-4); font-size:var(--text-sm); color:rgba(255,255,255,.8); transition:background var(--dur-fast) var(--ease); }
.area-tag:hover { background:rgba(98,161,28,.2); border-color:rgba(98,161,28,.4); }

.location-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-xl); padding:var(--space-8); }
.location-card .address-line { font-size:var(--text-md); color:rgba(255,255,255,.9); margin-bottom:var(--space-6); }
.hours-table { width:100%; margin-bottom:var(--space-6); }
.hours-table tr { display:flex; justify-content:space-between; padding:var(--space-2) 0; border-bottom:1px solid rgba(255,255,255,.07); font-size:var(--text-sm); }
.hours-table tr:last-child { border-bottom:none; }
.hours-table .day  { color:rgba(255,255,255,.5); }
.hours-table .time { color:var(--green-bright); font-weight:500; }

/* ── FAQ ─────────────────────────────────────────────────────── */
.faq-list { max-width:720px; margin-inline:auto; }
.faq-item { border-bottom:1px solid var(--gray-2); }
.faq-question { width:100%; display:flex; justify-content:space-between; align-items:center; padding:var(--space-5) 0; font-family:var(--font-body); font-size:var(--text-base); font-weight:500; color:var(--ink); text-align:left; cursor:pointer; background:none; border:none; gap:var(--space-4); }
.faq-question .chevron { flex-shrink:0; width:20px; height:20px; stroke:var(--gray-4); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform var(--dur-base) var(--ease),stroke var(--dur-base); }
.faq-item.open .faq-question .chevron { transform:rotate(180deg); stroke:var(--blue-mid); }
.faq-answer { display:none; padding-bottom:var(--space-5); font-size:var(--text-sm); color:var(--ink-muted); line-height:1.7; }
.faq-item.open .faq-answer { display:block; }

/* ── CTA Band ─────────────────────────────────────────────────── */
.cta-band { background:var(--blue-mid); padding-block:var(--space-16); position:relative; overflow:hidden; }
.cta-band::before { content:''; position:absolute; top:0;left:0;right:0; height:4px; background:var(--green-mid); }
.cta-band-inner { text-align:center; }
.cta-band .eyebrow { color:var(--green-bright); }
.cta-band h2 { color:var(--white); font-size:var(--text-3xl); margin-bottom:var(--space-4); }
.cta-band p  { color:rgba(255,255,255,.75); font-size:var(--text-md); margin-bottom:var(--space-8); }
.cta-band .btn-group { display:flex; gap:var(--space-4); justify-content:center; flex-wrap:wrap; }

/* ── Footer ──────────────────────────────────────────────────── */
.site-footer { background:var(--blue-deep); color:rgba(255,255,255,.6); padding-block:var(--space-16) var(--space-8); border-top:3px solid var(--green-mid); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--space-10); margin-bottom:var(--space-12); }
.footer-brand .logo-main { font-family:var(--font-display); font-size:var(--text-xl); color:var(--white); margin-bottom:var(--space-3); display:block; }
.footer-brand p { font-size:var(--text-sm); line-height:1.65; color:rgba(255,255,255,.5); margin-bottom:var(--space-5); }
.footer-brand .footer-phone { font-size:var(--text-xl); font-weight:600; color:var(--green-bright); display:block; margin-bottom:var(--space-2); }
.footer-col h4 { font-family:var(--font-body); font-size:var(--text-xs); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.35); margin-bottom:var(--space-4); }
.footer-col ul { display:flex; flex-direction:column; gap:var(--space-3); }
.footer-col a { font-size:var(--text-sm); color:rgba(255,255,255,.55); transition:color var(--dur-fast) var(--ease); }
.footer-col a:hover { color:var(--green-bright); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:var(--space-6); display:flex; justify-content:space-between; align-items:center; gap:var(--space-4); flex-wrap:wrap; font-size:var(--text-xs); color:rgba(255,255,255,.28); }

/* ── Mobile Sticky CTA ───────────────────────────────────────── */
.mobile-sticky-cta { display:none; position:fixed; bottom:0;left:0;right:0; z-index:150; background:var(--urgent-red); padding:var(--space-3) var(--space-5); box-shadow:0 -4px 16px rgba(0,0,0,.25); }
.mobile-sticky-cta a { display:flex; align-items:center; justify-content:center; gap:var(--space-3); color:var(--white); font-size:var(--text-md); font-weight:600; }

/* ── Utilities ───────────────────────────────────────────────── */
.text-center { text-align:center; }
.text-white  { color:var(--white); }
.text-muted  { color:var(--ink-muted); }
.mt-4  { margin-top:var(--space-4); }
.mt-6  { margin-top:var(--space-6); }
.mt-8  { margin-top:var(--space-8); }
.mb-0  { margin-bottom:0; }
.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; }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width:1024px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero-card  { max-width:480px; }
  .trust-items { grid-template-columns:repeat(2,1fr); gap:var(--space-8); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .expect-grid { grid-template-columns:repeat(2,1fr); }
  .expect-item:nth-child(2)::after { display:none; }
}
@media (max-width:768px) {
  h1 { font-size:var(--text-3xl); }
  h2 { font-size:var(--text-2xl); }
  .site-nav { display:none; }
  .mobile-menu-btn { display:flex; }
  .header-phone { display:none; }
  .hero { padding-block:var(--space-12) var(--space-16); }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn { width:100%; justify-content:center; }
  .urgency-inner { grid-template-columns:1fr; gap:var(--space-8); }
  .areas-inner   { grid-template-columns:1fr; gap:var(--space-8); }
  .expect-grid   { grid-template-columns:1fr 1fr; }
  .expect-item::after { display:none!important; }
  .footer-grid   { grid-template-columns:1fr; }
  .mobile-sticky-cta { display:block; }
  body { padding-bottom:64px; }
  .section     { padding-block:var(--space-12); }
  .section--lg { padding-block:var(--space-16); }
}
@media (max-width:480px) {
  .container   { padding-inline:var(--space-4); }
  .trust-items { grid-template-columns:repeat(2,1fr); }
  .expect-grid { grid-template-columns:1fr; }
  .areas-list  { grid-template-columns:1fr; }
}
