/* ============================================================
   Inner-page styles — service, article, utility & location pages
   Depends on tokens in styles.css
   ============================================================ */

/* ---------- Page hero (banner) ---------- */
.page-hero{position:relative;color:#fff;isolation:isolate;padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2.5rem,5vw,3.5rem);
  background:linear-gradient(120deg,var(--navy-deep),var(--navy) 60%,#003b73)}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(90% 120% at 90% 0%,rgba(61,171,227,.28),transparent 60%)}
.page-hero .container{position:relative}
.breadcrumb{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.85rem;color:rgba(255,255,255,.72);margin-bottom:1rem}
.breadcrumb a{color:rgba(255,255,255,.8);transition:color .15s}
.breadcrumb a:hover{color:#fff;text-decoration:underline}
.breadcrumb .sep{opacity:.5}
.breadcrumb [aria-current]{color:#fff;font-weight:600}
.page-hero h1{color:#fff;margin:0;font-size:clamp(2.1rem,4.4vw,3.3rem)}
.page-hero .ph-sub{margin:.9rem 0 0;font-size:1.15rem;color:rgba(255,255,255,.85);max-width:60ch}
.page-hero .ph-actions{margin-top:1.6rem;display:flex;gap:.7rem;flex-wrap:wrap}

/* ---------- Page layout (main + sidebar) ---------- */
.page-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(2rem,4vw,3.5rem);
  padding-block:clamp(3rem,6vw,5rem);align-items:start}
@media(max-width:960px){.page-wrap{grid-template-columns:1fr}}
.page-narrow{max-width:820px;margin-inline:auto}

/* ---------- Prose (1:1 content) ---------- */
.prose{color:var(--ink);font-size:1.06rem;line-height:1.75;min-width:0}
.prose>*:first-child{margin-top:0}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:2.4rem 0 .9rem;color:var(--navy)}
.prose h3{font-size:1.3rem;margin:2rem 0 .7rem;color:var(--navy)}
.prose h4{font-family:var(--sans);font-size:1.02rem;font-weight:700;letter-spacing:.02em;
  color:var(--azure-deep);text-transform:uppercase;margin:1.8rem 0 .6rem}
.prose p{margin:0 0 1.15rem}
.prose a{color:var(--azure-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.prose a:hover{color:var(--blue)}
.prose strong{color:var(--navy)}
.prose ul,.prose ol{margin:0 0 1.2rem;padding-left:1.3rem;display:grid;gap:.45rem}
.prose li{padding-left:.2rem}
.prose ul li::marker{color:var(--azure)}
.prose blockquote{margin:1.5rem 0;padding:1rem 1.4rem;border-left:4px solid var(--azure);
  background:var(--mist);border-radius:0 12px 12px 0;font-family:var(--serif);font-size:1.15rem;color:var(--navy)}
.prose hr{border:none;border-top:1px solid var(--border);margin:2.4rem 0}
.prose>img,.prose figure img{border-radius:16px;margin:1.5rem 0;box-shadow:var(--sh-sm)}

/* coverage tag cloud (grouped bold items) */
.chips-list{list-style:none;display:flex!important;flex-wrap:wrap;gap:.55rem;padding:0!important;margin:.4rem 0 1.5rem}
.chips-list li{padding:.5rem .9rem;background:var(--azure-soft);color:var(--navy);border-radius:999px;
  font-size:.9rem;font-weight:600;border:1px solid #d7e8f5}
.chips-list li::marker{content:""}

/* section divider inside prose */
.prose .lead-in{font-size:1.2rem;color:var(--muted)}

/* ---------- Sidebar ---------- */
.page-side{position:sticky;top:100px;display:grid;gap:1.1rem}
@media(max-width:960px){.page-side{position:static}}
.side-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-card);padding:1.5rem;box-shadow:var(--sh-sm)}
.side-card.dark{background:linear-gradient(150deg,var(--navy),var(--navy-deep));color:#fff;border-color:transparent}
.side-card.dark h3{color:#fff}
.side-card h3{font-size:1.25rem;margin:0 0 .5rem}
.side-card p{font-size:.93rem;color:var(--muted);margin:0 0 1rem}
.side-card.dark p{color:rgba(255,255,255,.82)}
.side-card .btn{width:100%;justify-content:center;margin-bottom:.5rem}
.side-card .btn:last-child{margin-bottom:0}
.side-phone{display:flex;align-items:center;gap:.6rem;font-weight:700;color:#fff;font-size:1.2rem;margin:.2rem 0 1rem;justify-content:center}
.side-phone svg{width:1.1em;height:1.1em;color:var(--azure)}
.side-list{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.side-list a{display:flex;align-items:center;gap:.6rem;padding:.6rem .3rem;border-radius:8px;font-weight:600;
  color:var(--navy);font-size:.95rem;transition:background .15s,color .15s}
.side-list a:hover{background:var(--mist);color:var(--azure-deep)}
.side-list svg{width:1em;height:1em;color:var(--azure);flex-shrink:0}
.side-card h4{font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin:0 0 .7rem}

/* ---------- Article meta ---------- */
.article-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;color:rgba(255,255,255,.8);font-size:.9rem;margin-top:1rem}
.article-meta .pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);
  border-radius:999px;padding:.3rem .8rem;font-weight:600;color:#fff}

/* ---------- Report-a-claim carrier groups ---------- */
.claim-note{background:var(--azure-soft);border:1px solid #d7e8f5;border-radius:16px;padding:1.1rem 1.3rem;
  margin:1.5rem 0;font-size:.98rem;color:var(--navy)}
.prose .carrier-cols{columns:2;column-gap:2.5rem}
@media(max-width:560px){.prose .carrier-cols{columns:1}}

/* ---------- Insurance library accordion (reuses .faq visuals) ---------- */

/* ---------- Contact page ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}
.info-row{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:1.2rem}
.info-row .ic{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--azure-soft);
  display:grid;place-items:center;color:var(--azure-deep)}
.info-row .ic svg{width:22px;height:22px}
.info-row b{display:block;color:var(--navy);font-size:1rem}
.info-row span,.info-row a{color:var(--muted);font-size:.96rem}
.info-row a:hover{color:var(--azure-deep)}
.map-embed{border:0;width:100%;height:280px;border-radius:16px;margin-top:1rem;box-shadow:var(--sh-sm)}
.lead-form{display:grid;gap:.9rem}
.lead-form .frow{display:grid;gap:.9rem;grid-template-columns:1fr 1fr}
@media(max-width:520px){.lead-form .frow{grid-template-columns:1fr}}
.field label{display:block;font-size:.82rem;font-weight:600;color:var(--navy);margin-bottom:.35rem}
.field input,.field textarea,.field select{width:100%;border:1.5px solid var(--border);border-radius:var(--r-input);
  padding:.8rem 1rem;font-family:inherit;font-size:1rem;color:var(--ink);background:#fff}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(37,117,252,.14)}
.form-note{font-size:.8rem;color:var(--muted)}
.form-status{padding:.9rem 1rem;border-radius:12px;font-size:.95rem;font-weight:600;display:none}
.form-status.ok{display:block;background:#e7f7ee;color:#0f7a43;border:1px solid #b6e6cb}
.form-status.err{display:block;background:#fdeaea;color:#b02525;border:1px solid #f3c4c4}

/* ---------- Thank-you ---------- */
.thanks-wrap{max-width:680px;margin-inline:auto;text-align:center;padding-block:clamp(3rem,7vw,6rem)}
.thanks-badge{width:84px;height:84px;border-radius:50%;background:var(--azure-soft);color:var(--blue);
  display:grid;place-items:center;margin:0 auto 1.6rem}
.thanks-badge svg{width:44px;height:44px}

/* ---------- Team page (extends .team-grid/.member from styles.css) ---------- */
.team-hero-photo{margin-top:2.5rem;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh);max-width:900px;margin-inline:auto}
.team-hero-photo img{width:100%;display:block}
.member .m-contact{margin-top:.8rem;display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--azure-deep);font-size:.92rem}
.member .m-contact svg{width:1em;height:1em}

/* ============================================================
   Service landing-page components
   ============================================================ */
.svc-hero-trust{display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center;margin-top:1.6rem;
  color:rgba(255,255,255,.82);font-size:.9rem}
.svc-hero-trust .stars{color:var(--gold);letter-spacing:2px}
.svc-hero-trust b{color:#fff}
.svc-hero-trust .divider{width:1px;height:22px;background:rgba(255,255,255,.25)}

/* explainer trio reuses .cov-grid/.cov-card */

/* coverage check grid */
.check-grid{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}
.check-grid li{display:flex;gap:.7rem;align-items:center;font-weight:500;color:var(--ink);
  background:#fff;border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem;line-height:1.35}
.check-grid .chk{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--azure-soft);
  color:var(--azure-deep);display:grid;place-items:center}
.check-grid .chk svg{width:14px;height:14px}

/* why-choose value band (on navy) */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
@media(max-width:560px){.why-grid{grid-template-columns:1fr}}
.why-grid .wp{display:flex;gap:.9rem;align-items:flex-start}
.why-grid .wp .ic{flex-shrink:0;width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;color:var(--azure)}
.why-grid .wp .ic svg{width:22px;height:22px}
.why-grid .wp h4{font-family:var(--sans);font-size:1.02rem;font-weight:700;color:#fff;margin:0 0 .2rem}
.why-grid .wp p{font-size:.92rem;color:rgba(255,255,255,.75);margin:0}
.tint-navy .lead{color:rgba(255,255,255,.85)}
.tint-navy .eyebrow{color:var(--azure)}

/* editorial secondary content */
.editorial{max-width:820px}
.editorial h2{font-size:clamp(1.5rem,2.4vw,2rem)}
