:root {
  --guardian-navy-950: #081923;
  --guardian-navy-900: #0a1d2b;
  --guardian-navy-800: #102b3f;
  --guardian-navy-700: #1a425a;
  --guardian-gold-600: #bd8617;
  --guardian-gold-500: #d8a62e;
  --guardian-gold-300: #f1cb70;
  --guardian-cream-100: #f7f3ea;
  --guardian-cream-50: #fbf9f4;
  --guardian-ink: #152731;
  --guardian-muted: #53636b;
  --guardian-line: #d9dedb;
  --guardian-shadow: 0 18px 50px rgba(8, 25, 35, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }
body.admin-bar .guardian-header { top: 32px; }
a { text-underline-offset: 0.16em; }
a:hover { text-decoration-thickness: 2px; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--guardian-gold-500);
  outline-offset: 4px;
}

.guardian-topbar {
  background: var(--guardian-navy-950);
  color: #fff;
  font-size: 0.79rem;
  letter-spacing: 0.02em;
  min-height: 36px;
  padding: 6px max(18px, 3vw);
}
.guardian-topbar p { margin: 0; }
.guardian-topbar a { color: var(--guardian-gold-300); font-weight: 700; }
.guardian-header {
  background: rgba(251, 249, 244, 0.98);
  border-bottom: 1px solid rgba(16, 43, 63, 0.12);
  position: sticky;
  top: 0;
  z-index: 100;
}
.guardian-header__inner { min-height: 82px; padding: 12px max(18px, 3vw); }
.guardian-brand a {
  color: var(--guardian-navy-900);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  font-weight: 700;
  line-height: 1.05;
  max-width: 240px;
  text-decoration: none;
}
.guardian-nav { font-size: 0.91rem; font-weight: 700; }
.guardian-header__cta .wp-block-button__link { white-space: nowrap; }
.guardian-main { min-height: 45vh; }
.guardian-section { padding: clamp(70px, 9vw, 120px) max(18px, 3vw); }
.guardian-section--cream { background: var(--guardian-cream-100); }
.guardian-section--dark { background: var(--guardian-navy-900); color: #fff; }
.guardian-section--dark :where(h1,h2,h3,h4) { color: #fff; }
.guardian-section--dark a:not(.wp-block-button__link) { color: var(--guardian-gold-300); }
.guardian-section--tight { padding-block: clamp(42px, 6vw, 76px); }
.guardian-eyebrow {
  color: var(--guardian-gold-600);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.17em;
  margin-bottom: 18px;
  text-transform: uppercase;
}
.guardian-section--dark .guardian-eyebrow { color: var(--guardian-gold-300); }
.guardian-hero {
  background: linear-gradient(110deg, var(--guardian-cream-50) 0 58%, var(--guardian-cream-100) 58% 100%);
  min-height: 690px;
  padding: clamp(54px, 7vw, 90px) max(18px, 3vw);
}
.guardian-hero h1 { font-size: clamp(3rem, 7vw, 5.5rem); letter-spacing: -0.045em; margin: 0 0 24px; max-width: 820px; }
.guardian-hero .guardian-lead { color: var(--guardian-muted); font-size: clamp(1.1rem, 1.8vw, 1.45rem); max-width: 680px; }
.guardian-hero__grid { gap: clamp(36px, 6vw, 90px); }
.guardian-hero__proof { border-left: 3px solid var(--guardian-gold-500); display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 30px; padding-left: 18px; }
.guardian-hero__proof strong { color: var(--guardian-navy-800); }
.guardian-concept-media {
  aspect-ratio: 4 / 3;
  background-color: var(--guardian-navy-800);
  background-image: linear-gradient(45deg, rgba(216,166,46,.14) 25%, transparent 25%), linear-gradient(-45deg, rgba(216,166,46,.14) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(216,166,46,.14) 75%), linear-gradient(-45deg, transparent 75%, rgba(216,166,46,.14) 75%);
  background-position: 0 0, 0 22px, 22px -22px, -22px 0;
  background-size: 44px 44px;
  border: 10px solid #fff;
  box-shadow: var(--guardian-shadow);
  min-height: 320px;
  position: relative;
}
.guardian-concept-media::before { background: var(--guardian-gold-500); content: ''; height: 4px; left: 8%; position: absolute; right: 8%; top: 50%; }
.guardian-concept-media::after { color: #fff; content: 'PREPARATION  •  PROTECTION'; font-size: .72rem; font-weight: 800; left: 50%; letter-spacing: .16em; position: absolute; text-align: center; top: 50%; transform: translate(-50%,-50%); width: 90%; }
.guardian-trust-strip { background: var(--guardian-navy-800); color: #fff; padding: 20px max(18px, 3vw); }
.guardian-trust-strip__grid { display: grid; gap: 1px; grid-template-columns: repeat(6, 1fr); }
.guardian-trust-item { align-items: center; border-right: 1px solid rgba(255,255,255,.15); display: flex; font-size: .78rem; font-weight: 800; justify-content: center; min-height: 56px; padding: 8px 12px; text-align: center; text-transform: uppercase; }
.guardian-trust-item:last-child { border-right: 0; }
.guardian-grid-4 { display: grid; gap: 22px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.guardian-grid-3 { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.guardian-grid-2 { display: grid; gap: clamp(28px, 5vw, 68px); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.guardian-card {
  background: #fff;
  border: 1px solid var(--guardian-line);
  border-top: 4px solid var(--guardian-gold-500);
  padding: clamp(24px, 3vw, 36px);
}
.guardian-card h3 { margin-top: 0; }
.guardian-card__number { color: var(--guardian-gold-600); font-family: Georgia,serif; font-size: 2rem; font-weight: 700; }
.guardian-process { counter-reset: process; }
.guardian-process .guardian-card { counter-increment: process; position: relative; }
.guardian-process .guardian-card::before { color: var(--guardian-gold-600); content: '0' counter(process); display: block; font-weight: 800; letter-spacing: .12em; margin-bottom: 18px; }
.guardian-faq details { border-top: 1px solid var(--guardian-line); padding: 20px 0; }
.guardian-faq details:last-child { border-bottom: 1px solid var(--guardian-line); }
.guardian-faq summary { color: var(--guardian-navy-800); cursor: pointer; font-size: 1.08rem; font-weight: 800; padding-right: 38px; position: relative; }
.guardian-faq summary::after { content: '+'; font-size: 1.5rem; position: absolute; right: 4px; top: -.35rem; }
.guardian-faq details[open] summary::after { content: '–'; }
.guardian-cta { background: var(--guardian-gold-500); color: var(--guardian-navy-950); padding: clamp(46px, 7vw, 76px) max(18px, 3vw); }
.guardian-cta h2 { color: var(--guardian-navy-950); }
.guardian-cta .wp-block-button__link { background: var(--guardian-navy-950); color: #fff; }
.guardian-footer { background: var(--guardian-navy-950); color: rgba(255,255,255,.78); padding: 70px max(18px,3vw) 94px; }
.guardian-footer :where(h2,h3,.wp-block-site-title a) { color: #fff; }
.guardian-footer a { color: var(--guardian-gold-300); }
.guardian-footer ul { list-style: none; margin-left: 0; padding-left: 0; }
.guardian-footer li { margin-bottom: 8px; }
.guardian-mobile-actions { display: none; }
.guardian-article { padding: clamp(70px, 9vw, 110px) max(18px, 3vw); }
.guardian-error { min-height: 62vh; }

@media (max-width: 1100px) {
  .guardian-header__cta { display: none !important; }
  .guardian-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guardian-trust-strip__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
  body { padding-bottom: 66px; }
  body.admin-bar .guardian-header { top: 46px; }
  .guardian-topbar__inner { justify-content: center !important; }
  .guardian-topbar__inner p:first-child { display: none; }
  .guardian-header__inner { min-height: 70px; }
  .guardian-hero { background: var(--guardian-cream-50); min-height: 0; padding-top: 64px; }
  .guardian-hero__grid { display: flex !important; flex-direction: column; }
  .guardian-grid-2, .guardian-grid-3 { grid-template-columns: 1fr; }
  .guardian-trust-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .guardian-trust-item { border-bottom: 1px solid rgba(255,255,255,.15); }
  .guardian-mobile-actions {
    align-items: stretch;
    background: var(--guardian-navy-950);
    bottom: 0;
    display: flex;
    gap: 0;
    height: 66px;
    left: 0;
    margin: 0 !important;
    position: fixed;
    right: 0;
    width: 100%;
    z-index: 999;
  }
  .guardian-mobile-actions a { align-items: center; display: flex; flex: 1; font-weight: 800; justify-content: center; min-height: 66px; text-decoration: none; }
  .guardian-mobile-actions__call { background: var(--guardian-navy-700); color: #fff; }
  .guardian-mobile-actions__estimate { background: var(--guardian-gold-500); color: var(--guardian-navy-950); }
}

@media (max-width: 560px) {
  .guardian-hero h1 { font-size: clamp(2.9rem, 15vw, 4.15rem); }
  .guardian-hero .wp-block-buttons, .guardian-hero .wp-block-button, .guardian-hero .wp-block-button__link { width: 100%; }
  .guardian-hero .wp-block-button__link { text-align: center; }
  .guardian-grid-4 { grid-template-columns: 1fr; }
  .guardian-trust-strip__grid { grid-template-columns: 1fr 1fr; }
  .guardian-footer .wp-block-columns { gap: 36px; }
}

@media (max-width: 359px) {
  .guardian-trust-strip__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

@media print {
  .guardian-topbar, .guardian-header, .guardian-mobile-actions { display: none !important; }
  body { padding-bottom: 0; }
}
