/* ============================================================
   Shared page layer. Extends the v4 design system for pages that
   have no approved per-page build (service pages, blog, utility).
   Uses v4 tokens and primitives only - no second design system.
   ============================================================ */
.hero-page{min-height:auto;padding:0;display:block;background:var(--navy-deep)}
.hero-page .hero-inner{padding:clamp(86px,11vw,132px) 28px clamp(56px,7vw,86px)}
.hero-page h1{color:#fff;margin-bottom:18px}
.hero-page .lede{color:#cfe2e6;max-width:62ch}
.hero-page .hero-cta{margin-top:30px}
.hero-page::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(95deg,rgba(8,28,38,.90) 0%,rgba(12,40,54,.74) 30%,rgba(15,46,62,.46) 52%,rgba(5,127,126,.20) 74%,rgba(118,185,184,0) 92%),
             linear-gradient(0deg,rgba(15,46,62,.48) 0%,transparent 42%);
}
.hero-page .hero-bg{animation:none;transform:none;object-position:62% 42%}
@media (min-width:1500px){ .hero-page .hero-inner{padding-block:clamp(96px,8vw,140px)} }

/* answer-first block: the direct answer AI systems extract */
.tc-answer{
  background:#EFF7F5;border:1px solid rgba(5,127,126,.22);border-left:4px solid var(--teal);
  border-radius:0 var(--radius) var(--radius) 0;padding:22px 26px;margin:0 0 34px;
  font-size:1.06rem;color:var(--navy);max-width:74ch;
}
.tc-answer strong{color:var(--teal-dark)}

.tc-prose{max-width:74ch;font-size:1.03rem}
.tc-prose h2{margin:2.1em 0 .55em;font-size:clamp(1.45rem,2.4vw,1.95rem)}
.tc-prose h3{margin:1.7em 0 .45em}
.tc-prose p{margin:0 0 1.05em;color:var(--muted)}
.tc-prose ul,.tc-prose ol{margin:0 0 1.3em;padding-left:1.25em;color:var(--muted)}
.tc-prose li{margin-bottom:.45em}
.tc-prose strong{color:var(--ink)}
.tc-prose a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.tc-prose img{border-radius:var(--radius);margin:1.8em 0}

/* blog listing */
.tc-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px)}
.tc-post-card{
  background:#fff;border:1px solid rgba(20,63,82,.10);border-radius:var(--radius);
  padding:26px 26px 28px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s var(--ease);
}
.tc-post-card:hover,.tc-post-card.fx{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:rgba(5,127,126,.35)}
.tc-post-card h3{margin-bottom:.5rem;color:var(--navy)}
.tc-post-card p{color:var(--muted);font-size:.95rem;margin:0}
.tc-post-card .more{margin-top:auto;padding-top:1.1rem;font-weight:700;font-size:.9rem;color:var(--teal)}
.tc-post-meta{font-size:.82rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.5rem}
@media (max-width:980px){ .tc-posts{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .tc-posts{grid-template-columns:1fr} }

.tc-pag{display:flex;gap:10px;flex-wrap:wrap;margin-top:2.6rem}
.tc-pag .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;
  padding:0 14px;border-radius:10px;border:1px solid rgba(20,63,82,.14);font-weight:600;color:var(--navy);
}
.tc-pag .page-numbers.current,.tc-pag .page-numbers:hover{background:var(--teal);color:#fff;border-color:var(--teal)}

/* GHL form embed */
.tc-formwrap{background:#fff;border:1px solid rgba(20,63,82,.10);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;padding:6px;max-width:780px;margin:0 auto}
.tc-formwrap iframe{display:block}
