@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800&family=Public+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --ink:#16233B; --blue:#2C5F8A; --blue-deep:#1F4566; --blue-pale:#E7EFF5;
  --slate:#5C6773; --paper:#F4F6F8; --white:#FFFFFF; --amber:#DE9B3A; --amber-deep:#C17F24;
  --line:#DDE3E9; --font-display:'Archivo',sans-serif; --font-body:'Public Sans',sans-serif;
  --font-mono:'IBM Plex Mono',monospace; --radius-sm:6px; --radius-md:10px; --radius-lg:18px;
  --shadow-md:0 8px 24px rgba(22,35,59,0.10); --shadow-lg:0 20px 48px rgba(22,35,59,0.20);
  --container:1160px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ *{ animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }
body{ margin:0; font-family:var(--font-body); color:var(--ink); background:var(--paper); line-height:1.55; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4{ font-family:var(--font-display); color:var(--ink); margin:0 0 .5em; line-height:1.12; letter-spacing:-0.01em; font-weight:800; }
p{ margin:0 0 1em; color:var(--slate); }
a{ color:inherit; text-decoration:none; }
img,svg{ display:block; max-width:100%; }
ul{ margin:0; padding:0; list-style:none; }
.container{ max-width:var(--container); margin:0 auto; padding:0 24px; }
.eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--blue-deep); }
.eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--amber); flex:none; }
.section{ padding:88px 0; }
.section--tight{ padding:56px 0; }
.section--pale{ background:var(--blue-pale); }
.section--ink{ background:var(--ink); color:var(--white); }
.section--ink h2,.section--ink h3,.section--ink p{ color:var(--white); }
.section--ink p{ color:#B8C3D2; }
.section--ink .eyebrow{ color:var(--amber); }
.lede{ font-size:1.1rem; max-width:620px; color:var(--slate); }
.section-head{ max-width:640px; margin-bottom:44px; }
.section-head .eyebrow{ margin-bottom:14px; }
.center-head{ margin-left:auto; margin-right:auto; text-align:center; }

.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 26px; border-radius:var(--radius-sm); font-weight:700; font-size:.95rem; border:2px solid transparent; cursor:pointer; transition:.15s ease; white-space:nowrap; }
.btn:focus-visible{ outline:3px solid var(--amber); outline-offset:2px; }
.btn--primary{ background:var(--amber); color:var(--ink); }
.btn--primary:hover{ background:var(--amber-deep); transform:translateY(-1px); }
.btn--ghost{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.4); }
.btn--ghost:hover{ border-color:var(--white); background:rgba(255,255,255,.08); }
.btn--outline{ background:transparent; color:var(--blue-deep); border-color:var(--blue); }
.btn--outline:hover{ background:var(--blue); color:var(--white); }

.site-header{ position:sticky; top:0; z-index:50; background:rgba(244,246,248,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.header-row{ display:flex; align-items:center; justify-content:space-between; padding:16px 24px; gap:24px; }
.brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:1.1rem; color:var(--ink); }
.brand small{ display:block; font-family:var(--font-mono); font-weight:600; font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); }
.main-nav ul{ display:flex; gap:26px; }
.main-nav a{ font-weight:600; font-size:.92rem; color:var(--ink); position:relative; padding:4px 2px; }
.main-nav a::after{ content:""; position:absolute; left:0; right:100%; bottom:-2px; height:2px; background:var(--amber); transition:right .18s ease; }
.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{ right:0; }
.main-nav a[aria-current="page"]{ color:var(--blue-deep); }
.header-actions{ display:flex; align-items:center; gap:16px; }
.header-phone{ display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-weight:600; font-size:.88rem; }
.nav-toggle{ display:none; background:none; border:1px solid var(--line); border-radius:8px; width:42px; height:42px; align-items:center; justify-content:center; cursor:pointer; }

.hero{ background:linear-gradient(180deg,var(--ink) 0%,var(--blue-deep) 100%); color:var(--white); position:relative; overflow:hidden; }
.hero::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:64px 64px; mask-image:radial-gradient(ellipse at 30% 30%,black 0%,transparent 70%); }
.hero-grid{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding:72px 0 60px; }
.hero-image-full{ width:100%; height:400px; overflow:hidden; }
.hero-image-full img{ width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
.hero-content{ position:relative; max-width:640px; padding:44px 0 56px; }
@media (max-width:720px){ .hero-image-full{ height:260px; } }
.hero h1{ color:var(--white); font-size:clamp(2rem,3.4vw,2.95rem); margin:.4em 0 .5em; }
.hero .lede{ color:#C7D2E0; }
.hero .eyebrow{ color:var(--amber); }
.hero .eyebrow::before{ background:var(--white); }
.hero-cta{ display:flex; gap:14px; margin-top:26px; flex-wrap:wrap; }
.trust-row{ display:flex; gap:26px; flex-wrap:wrap; margin-top:36px; padding-top:26px; border-top:1px solid rgba(255,255,255,.14); }
.trust-item{ display:flex; align-items:center; gap:9px; font-size:.86rem; color:#D7DEE8; font-weight:600; }
.trust-item svg{ flex:none; color:var(--amber); }

.receipt-card{ background:var(--white); border-radius:var(--radius-lg); padding:26px; box-shadow:var(--shadow-lg); color:var(--ink); }
.receipt-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:16px; }
.receipt-head h3{ font-size:1rem; margin:0; }
.receipt-tag{ font-family:var(--font-mono); font-size:.65rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--blue-deep); background:var(--blue-pale); padding:4px 9px; border-radius:100px; white-space:nowrap; }
.receipt-body{ border-top:1px dashed var(--line); padding-top:16px; }
.receipt-row{ display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:.92rem; padding:7px 0; color:var(--slate); }
.receipt-row--offset{ color:var(--amber-deep); }
.receipt-divider-line{ border-top:1px solid var(--line); margin:8px 0; }
.receipt-row--total{ font-family:var(--font-display); font-weight:800; font-size:1.1rem; color:var(--ink); padding-top:4px; }
.receipt-row--total .amount{ color:var(--amber-deep); }
.receipt-foot{ margin:16px 0 0; font-size:.78rem; color:var(--slate); border-top:1px solid var(--line); padding-top:14px; }

.stat-strip{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white); }
.stat-item{ padding:24px 18px; text-align:center; border-left:1px solid var(--line); }
.stat-item:first-child{ border-left:none; }
.stat-item strong{ display:block; font-family:var(--font-display); font-size:1.4rem; color:var(--blue-deep); font-weight:800; }
.stat-item span{ display:block; font-size:.8rem; color:var(--slate); margin-top:4px; font-weight:600; }

.grid{ display:grid; gap:24px; }
.grid--3{ grid-template-columns:repeat(3,1fr); }
.card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:26px; transition:.18s ease; }
.card:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px); border-color:#C9D6E2; }
.card-icon{ width:44px; height:44px; border-radius:10px; background:var(--blue-pale); color:var(--blue-deep); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.card h3{ font-size:1.04rem; margin-bottom:8px; }
.card p{ font-size:.9rem; margin-bottom:12px; }
.card-link{ font-size:.84rem; font-weight:700; color:var(--blue-deep); display:inline-flex; align-items:center; gap:6px; }

.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.step{ position:relative; }
.step-num{ font-family:var(--font-mono); font-weight:600; font-size:.76rem; color:var(--white); background:var(--blue); width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.step h3{ font-size:1.02rem; }
.step p{ font-size:.9rem; }

.compassion-banner{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; }
.compassion-quote{ font-family:var(--font-display); font-weight:700; font-size:1.5rem; color:var(--white); line-height:1.3; margin-bottom:18px; }
.compassion-list li{ display:flex; gap:10px; font-size:.92rem; padding:7px 0; color:#C7D2E0; }
.compassion-list li svg{ flex:none; color:var(--amber); margin-top:2px; }

.coverage-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.coverage-map{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); }
.coverage-map iframe{ width:100%; height:400px; border:0; display:block; }
.town-list{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.town-chip{ font-family:var(--font-mono); font-size:.76rem; font-weight:600; padding:8px 14px; border-radius:100px; border:1px solid var(--line); background:var(--white); color:var(--ink); }
.town-chip--home{ background:var(--ink); color:var(--white); border-color:var(--ink); }
.radar{ position:relative; width:100%; aspect-ratio:1/1; max-width:360px; margin:0 auto; }
.radar-ring{ position:absolute; border-radius:50%; border:1px solid var(--line); }
.radar-center{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:15px; height:15px; border-radius:50%; background:var(--amber); box-shadow:0 0 0 6px rgba(222,155,58,.18); }
.radar-label{ position:absolute; transform:translate(-50%,-50%); font-family:var(--font-mono); font-size:.7rem; font-weight:600; color:var(--blue-deep); background:var(--white); border:1px solid var(--line); padding:5px 9px; border-radius:100px; white-space:nowrap; }

.cta-banner{ background:var(--blue-deep); color:var(--white); border-radius:var(--radius-lg); padding:44px; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.cta-banner h2{ color:var(--white); margin-bottom:6px; font-size:1.6rem; }
.cta-banner p{ color:#C7D2E0; margin:0; }
.cta-banner-actions{ display:flex; gap:14px; flex-wrap:wrap; }

.site-footer{ background:var(--ink); color:#B8C3D2; padding:56px 0 24px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-brand p{ color:#93A0B2; margin-top:12px; font-size:.88rem; max-width:270px; }
.footer-col h4{ color:var(--white); font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; font-family:var(--font-mono); font-weight:600; margin-bottom:14px; }
.footer-col ul li{ margin-bottom:9px; }
.footer-col a{ font-size:.88rem; color:#B8C3D2; }
.footer-col a:hover{ color:var(--amber); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:20px; font-size:.78rem; color:#7C8AA0; flex-wrap:wrap; gap:10px; }

/* Sticky UI (site-wide, injected on every page) */
.sticky-call-btn{ position:fixed; right:20px; bottom:20px; z-index:70; display:flex; align-items:center; gap:8px; background:#8f3d00; color:var(--white); padding:13px 18px; border-radius:100px; font-weight:700; font-size:.88rem; box-shadow:var(--shadow-lg); }
.sticky-contact-tab{ position:fixed; left:0; top:50%; transform:translateY(-50%) rotate(-90deg) translateX(50%); transform-origin:left center; z-index:60; background:var(--blue); color:var(--white); padding:10px 18px; border-radius:0 0 8px 8px; font-size:.8rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.cookie-badge{ position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:80; background:var(--ink); color:var(--white); padding:12px 18px; border-radius:100px; display:none; align-items:center; gap:14px; font-size:.82rem; box-shadow:var(--shadow-lg); max-width:92vw; }
.cookie-badge.is-visible{ display:flex; }
.cookie-badge a{ color:var(--amber); font-weight:600; }
.cookie-badge button{ background:var(--amber); color:var(--ink); border:none; border-radius:100px; padding:7px 14px; font-weight:700; font-size:.78rem; cursor:pointer; font-family:inherit; }

@media (max-width:980px){
  .hero-grid{ grid-template-columns:1fr; padding-top:48px; }
  .grid--3{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:1fr; }
  .stat-strip{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .coverage-wrap,.compassion-banner{ grid-template-columns:1fr; }
}
@media (max-width:720px){
  .main-nav{ display:none; }
  .nav-toggle{ display:flex; }
  .header-phone span{ display:none; }
  .grid--3{ grid-template-columns:1fr; }
  .cta-banner{ padding:30px; flex-direction:column; align-items:flex-start; }
  .footer-grid{ grid-template-columns:1fr; gap:26px; }
  body.nav-open .main-nav{ display:flex; position:fixed; inset:0; top:73px; background:var(--ink); z-index:60; flex-direction:column; padding:28px 22px; }
  body.nav-open .main-nav ul{ flex-direction:column; }
  body.nav-open .main-nav a{ color:var(--white); display:block; padding:14px 4px; border-bottom:1px solid rgba(255,255,255,.1); }
}

/* ===== Service page additions (house-clearance / probate-clearances / hoarder-clearances) ===== */
.breadcrumb{ font-family:var(--font-mono); font-size:.76rem; color:var(--amber); margin-bottom:14px; }
.breadcrumb a{ color:#C7D2E0; }
.breadcrumb a:hover{ color:var(--white); }

.grid--2{ grid-template-columns:repeat(2,1fr); }

.fast-answers{ background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.fast-answers-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.fast-answer-item{ padding:22px 20px; border-left:1px solid var(--line); }
.fast-answer-item:first-child{ border-left:none; }
.fast-answer-item strong{ display:block; font-family:var(--font-display); font-size:.92rem; margin-bottom:4px; color:var(--ink); }
.fast-answer-item span{ display:block; font-size:.82rem; color:var(--slate); }

.pricing-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:30px; box-shadow:var(--shadow-md); }
.pricing-row{ display:flex; justify-content:space-between; align-items:center; padding:13px 0; border-bottom:1px solid var(--line); font-family:var(--font-mono); font-size:.9rem; color:var(--slate); }
.pricing-row:last-of-type{ border-bottom:none; }
.pricing-row strong{ font-family:var(--font-body); color:var(--ink); font-weight:700; }
.pricing-note{ margin-top:16px; font-size:.8rem; color:var(--slate); padding-top:14px; border-top:1px dashed var(--line); }

.included-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.included-grid ul li{ display:flex; gap:10px; padding:8px 0; font-size:.92rem; color:var(--slate); }
.included-grid ul li svg{ flex:none; margin-top:2px; color:var(--blue-deep); }

.content-section-merged{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.merged-block h3{ font-size:1.15rem; margin-bottom:10px; }

.job-gallery-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px; }
.job-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:18px; }
.job-card-icon{ width:36px; height:36px; border-radius:8px; background:var(--blue-pale); color:var(--blue-deep); display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
.job-card strong{ display:block; font-size:.88rem; margin-bottom:3px; }
.job-card span{ display:block; font-size:.78rem; color:var(--slate); }

.service-box{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:24px; border-top:3px solid var(--amber); }
.service-box h3{ font-size:1rem; margin-bottom:8px; }
.service-box p{ font-size:.88rem; margin-bottom:10px; }

.faq-item{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:22px; border-top:3px solid var(--blue); }
.faq-item h3{ font-size:.95rem; margin-bottom:8px; display:flex; gap:8px; align-items:flex-start; }
.faq-item p{ font-size:.88rem; margin:0; }

.map-static{ position:relative; width:100%; aspect-ratio:16/9; background:var(--blue-pale); border-radius:var(--radius-lg); border:1px solid var(--line); overflow:hidden; }
.map-static .radar-ring{ border-color:#C9D6E2; }

@media (max-width:980px){
  .fast-answers-grid{ grid-template-columns:repeat(2,1fr); }
  .fast-answer-item:nth-child(3){ border-left:none; }
  .included-grid{ grid-template-columns:1fr; }
  .content-section-merged{ grid-template-columns:1fr; }
  .job-gallery-grid{ grid-template-columns:1fr; }
}
@media (max-width:720px){
  .fast-answers-grid{ grid-template-columns:1fr; }
  .fast-answer-item{ border-left:none; border-top:1px solid var(--line); }
  .fast-answer-item:first-child{ border-top:none; }
}
