/* F3 custom layer over Rakshak template — Theme 01 */
:root {
  --f3-navy:#122A46; --f3-navy-dark:#0C1D33; --f3-navy-light:#1D3E63;
  --f3-gold:#C9A257; --f3-gold-text:#1a1000;
}
body { padding-bottom: 0; }
@media (max-width: 767px) { body { padding-bottom: 58px; } }

/* Banner (inner pages) */
.f3-banner { background: linear-gradient(150deg,var(--f3-navy-dark) 0%,var(--f3-navy) 60%,var(--f3-navy-light) 100%) !important;
  padding: 90px 0 70px; }
.f3-banner .img-header-text { color:#fff; font-family:Georgia,'Times New Roman',serif;
  font-size: clamp(2rem,4.5vw,3.2rem); }
.f3-eyebrow { color: var(--f3-gold) !important; letter-spacing:.14em; font-weight:700;
  text-transform: uppercase; font-size:.8rem; }
.f3-banner-sub { color: rgba(255,255,255,.82); max-width: 680px; font-size: 1.05rem;
  margin: 14px 0 22px; line-height: 1.7; }
.f3-banner-call { background: var(--f3-gold) !important; color: var(--f3-gold-text) !important;
  font-weight: 800; display:inline-block; margin-bottom: 24px; }
.f3-banner .breadcrumb-group a { color: rgba(255,255,255,.65); font-size:.85rem; }

/* Trust bar */
.f3-trust-bar { background: var(--f3-navy-dark); border-top: 1px solid rgba(201,162,87,.35);
  padding: 12px 0; }
.f3-trust-inner { display:flex; flex-wrap:wrap; gap: 6px 30px; justify-content:center; }
.f3-trust-inner span { color: rgba(255,255,255,.75); font-size:.8125rem; font-weight:600;
  display:inline-flex; align-items:center; gap:7px; }
.f3-trust-inner span::before { content:""; width:6px; height:6px; background:var(--f3-gold);
  display:inline-block; transform:rotate(45deg); }

/* Prose content areas */
.f3-prose { max-width: 900px; margin: 0 auto; padding: 60px 15px; }
.f3-prose h2 { font-family:Georgia,'Times New Roman',serif; color: var(--f3-navy);
  font-size: clamp(1.4rem,2.6vw,1.9rem); margin: 34px 0 14px; line-height:1.3; }
.f3-prose h2:first-of-type { margin-top: 0; }
.f3-prose p { color:#3c4450; line-height:1.75; margin-bottom: 18px; font-size:1rem; }
.f3-prose a { color: var(--f3-navy); font-weight:600; text-decoration: underline;
  text-decoration-color: var(--f3-gold); }
.f3-prose .f3-tel, .f3-tel { color: var(--f3-navy) !important; font-weight:700; }
.f3-prose table { width:100%; border-collapse:collapse; margin:20px 0; font-size:.92rem; }
.f3-prose th { background:var(--f3-navy); color:#fff; padding:10px 12px; text-align:left; }
.f3-prose td { border:1px solid #dfe3ea; padding:10px 12px; }
.f3-prose tr:nth-child(even) td { background:#f6f7f9; }
.f3-prose ul, .f3-prose ol { margin: 0 0 18px 22px; color:#3c4450; line-height:1.7; }

/* FAQ */
.f3-faq-section { background:#f6f7f9; padding: 60px 0; }
.f3-faq-list { max-width: 860px; margin: 30px auto 0; }
.f3-faq-item { border:1px solid #dfe3ea; background:#fff; margin-bottom: 10px; }
.f3-faq-question { width:100%; text-align:left; background:none; border:none;
  padding: 17px 20px; font-size:1rem; font-weight:700; color:var(--f3-navy);
  cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.f3-faq-icon { color: var(--f3-gold); font-size:1.35rem; font-weight:400; flex-shrink:0; }
.f3-faq-answer { max-height:0; overflow:hidden; transition:max-height .3s ease;
  padding: 0 20px; color:#5b6472; font-size:.94rem; line-height:1.7; }
.f3-faq-answer.is-open { max-height: 640px; padding: 0 20px 17px; }
.f3-faq-answer a { color: var(--f3-navy); font-weight:700; }
.f3-faq-more { text-align:center; margin-top: 26px; color:#5b6472; }
.f3-faq-more a { color: var(--f3-navy); font-weight:700; }

/* CTA band */
.f3-cta-band { padding: 60px 0; }
.f3-cta-band .f3-cta-sub { color: rgba(255,255,255,.75); text-align:center;
  max-width: 720px; margin: 22px auto 0; font-size:.92rem; line-height:1.7; }
.f3-cta-band .f3-cta-sub a { color: var(--f3-gold); font-weight:700; }

/* Related links */
.f3-rel-band { background:#f6f7f9; padding: 34px 0; }
.f3-rel-head { font-family:Georgia,serif; color:var(--f3-navy); font-size:1.05rem;
  margin-bottom: 14px; }
.f3-rel-links { display:flex; flex-wrap:wrap; gap: 8px; }
.f3-rel-link { padding: 9px 16px; background:#fff; border:1px solid #dfe3ea;
  font-size:.875rem; color:var(--f3-navy); font-weight:600; }
.f3-rel-link:hover { border-color: var(--f3-gold); color: var(--f3-gold); }

/* FTC */
.f3-ftc-band { border-top: 1px solid rgba(255,255,255,.15); margin-top: 34px; padding-top: 20px; }
.f3-ftc-text { font-size:.74rem; color: rgba(255,255,255,.5); line-height:1.65; margin:0; }


/* Location maps */
.loc-map-wrap{margin:2rem 0 1.5rem;border-radius:8px;overflow:hidden;border:1px solid #dfe3ea;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.loc-map-wrap iframe{display:block;width:100%;height:280px;border:0}
.loc-map-caption{font-size:.78rem;color:#5b6472;padding:.45rem .75rem;background:#f6f7f9;border-top:1px solid #dfe3ea;text-align:center;margin:0}
@media(max-width:600px){.loc-map-wrap iframe{height:220px}}

/* Mobile sticky call bar */
.f3-mobile-cta { display:none; position:fixed; bottom:0; left:0; right:0;
  background: var(--f3-gold); z-index: 1200; }
.f3-mobile-cta a { display:flex; align-items:center; justify-content:center;
  color: var(--f3-gold-text); font-weight:800; font-size:1rem; padding: 15px; }
@media (max-width: 767px) { .f3-mobile-cta { display:block; } body { padding-bottom: 52px; } }

/* Card grids (hub pages + home) */
.f3-loc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap: 16px; margin-top: 26px; }
.f3-loc-card { background:#fff; border:1px solid #dfe3ea; border-top:3px solid var(--f3-navy);
  padding: 22px; }
.f3-loc-card.gold { border-top-color: var(--f3-gold); }
.f3-loc-card h3 { font-family:Georgia,serif; color:var(--f3-navy); font-size:1.02rem;
  margin-bottom: 8px; }
.f3-loc-card p { font-size:.88rem; color:#5b6472; margin-bottom: 12px; line-height:1.6; }
.f3-loc-card a { color: var(--f3-gold); font-weight:700; font-size:.875rem; }
.f3-svc-hub-section { padding: 60px 0; }
.f3-svc-hub-section.alt { background:#f6f7f9; }
.f3-svc-hub-section .main-text-sec { margin-bottom: 8px; }

/* Stat band */
.f3-stat-band { background: var(--f3-navy); padding: 42px 0; }
.f3-stat-inner { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap: 24px; text-align:center; }
.f3-stat-big { font-family:Georgia,serif; font-size:1.55rem; color:var(--f3-gold);
  font-weight:700; display:block; margin-bottom:4px; }
.f3-stat-small { font-size:.8125rem; color:rgba(255,255,255,.75); }

/* Two-col contact layout */
.f3-two-col { display:grid; grid-template-columns:1fr 1fr; gap: 44px; padding: 60px 15px;
  max-width: 1140px; margin: 0 auto; }
@media (max-width: 850px) { .f3-two-col { grid-template-columns: 1fr; } }


/* ── v1 utility classes used by inner-page bodies ── */
.section { padding: 56px 15px; }
.section-inner { max-width: 1140px; margin: 0 auto; }
.section-alt { background:#f6f7f9; }
.section-inner.prose { max-width: 900px; }
.prose h2, .section-title { font-family:Georgia,'Times New Roman',serif; color: var(--f3-navy);
  font-size: clamp(1.4rem,2.6vw,1.9rem); line-height:1.3; margin: 30px 0 14px; }
.prose h2:first-child, .prose .section-title:first-of-type { margin-top: 0; }
.prose p { color:#3c4450; line-height:1.75; margin-bottom: 18px; font-size:1rem; }
.prose a { color: var(--f3-navy); font-weight:600; text-decoration: underline;
  text-decoration-color: var(--f3-gold); }
.prose ul, .prose ol { margin: 0 0 18px 22px; color:#3c4450; line-height:1.7; }
.prose table { width:100%; border-collapse:collapse; margin:20px 0; font-size:.92rem; }
.prose th { background:var(--f3-navy); color:#fff; padding:10px 12px; text-align:left; }
.prose td { border:1px solid #dfe3ea; padding:10px 12px; }
.prose tr:nth-child(even) td { background:#f6f7f9; }
.section-label { display:inline-block; color: var(--f3-gold); font-size:.78rem; font-weight:800;
  letter-spacing:.15em; text-transform:uppercase; margin-bottom: 8px; }
.section-head.centered { text-align:center; max-width: 720px; margin: 0 auto 34px; }
.svc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap: 18px; }
.svc-card { background:#fff; border:1px solid #dfe3ea; border-top:3px solid var(--f3-navy);
  padding: 24px; transition: box-shadow .18s, transform .18s; }
.svc-card:hover { box-shadow: 0 10px 28px rgba(12,29,51,.1); transform: translateY(-3px); }
.svc-card.fire { border-top-color: var(--f3-gold); }
.svc-card h3 { font-family:Georgia,serif; font-size:1.03rem; color: var(--f3-navy);
  margin-bottom: 8px; }
.svc-card p { font-size:.89rem; color:#5b6472; margin-bottom: 12px; line-height:1.65; }
.svc-card .card-link { color: var(--f3-gold); font-weight:700; font-size:.875rem; }
.svc-card .card-link:hover { text-decoration: underline; }
.steps-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap: 16px; }
.step-item { background:#fff; border:1px solid #dfe3ea; padding: 22px; }
.step-num { font-family:Georgia,serif; font-size:2.1rem; color: var(--f3-gold); font-weight:700;
  line-height:1; margin-bottom: 8px; display:block; }
.step-item h3 { font-size:1rem; color: var(--f3-navy); margin-bottom: 6px; font-weight:700; }
.step-item p { font-size:.875rem; color:#5b6472; margin:0; line-height:1.6; }
.rel-links { display:flex; flex-wrap:wrap; gap: 8px; }
.rel-links a { padding: 9px 16px; background:#fff; border:1px solid #dfe3ea;
  font-size:.875rem; color: var(--f3-navy); font-weight:600; }
.rel-links a:hover { border-color: var(--f3-gold); color: var(--f3-gold); }
.hero-phone { display:inline-flex; align-items:center; gap:9px; background: var(--f3-gold);
  color: var(--f3-gold-text) !important; font-weight:800; font-size:1rem;
  padding: 14px 26px; text-decoration:none !important; }
.hero-phone:hover { background:#b8934e; }
.hero-sub-link { display:inline-flex; align-items:center; gap:8px;
  border:1.5px solid var(--f3-navy); color: var(--f3-navy); font-weight:600;
  font-size:.95rem; padding: 13px 22px; margin-left: 10px; }

/* Preloader brand font */
.page-loader p { font-family: Georgia, serif; }
