/* Seaside Business Solutions — blog stylesheet (shared across all posts).
   Tokens + type match the main site (index.html); this is the lean article layer. */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body, h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; cursor: pointer; }

:root {
  --navy-900:#0f2233; --navy-800:#16334a; --navy-700:#1e4560;
  --teal-700:#16584f; --teal-600:#1b6f63; --teal-500:#268a7c; --teal-100:#e2f1ed; --teal-050:#f2f9f7;
  --sand-050:#faf6ee; --sand-100:#f2ead9; --clay-500:#c17a49; --clay-600:#a35f30; --clay-100:#f4e3d3;
  --ink:#16232c; --gray-700:#3d4a52; --gray-600:#55636b; --gray-500:#798489; --gray-300:#cdd4d3; --gray-100:#e9ede9; --white:#fff;
  --font-serif:"Fraunces", ui-serif, Georgia, "Times New Roman", serif;
  --font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --radius-sm:8px; --radius-md:14px; --radius-lg:22px;
  --shadow-sm:0 1px 3px rgba(15,34,51,.08),0 1px 2px rgba(15,34,51,.06);
  --shadow-md:0 12px 32px rgba(15,34,51,.14);
}

body { font-family:var(--font-sans); color:var(--ink); background:var(--sand-050); -webkit-font-smoothing:antialiased; line-height:1.5; overflow-x:hidden; }
.container { width:100%; max-width:1180px; margin:0 auto; padding:0 24px; }

/* ---------- header ---------- */
.site-header { position:sticky; top:0; z-index:40; background:rgba(250,246,238,.94); backdrop-filter:blur(6px); border-bottom:1px solid var(--gray-100); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 24px; flex-wrap:wrap; }
.logo { display:flex; align-items:center; gap:12px; }
.logo-mark { width:38px; height:38px; flex:none; }
.logo-text { display:flex; flex-direction:column; line-height:1.15; }
.logo-name { font-family:var(--font-serif); font-weight:700; font-size:1.05rem; color:var(--navy-900); }
.logo-tag { font-size:.6875rem; letter-spacing:.05em; text-transform:uppercase; color:var(--teal-600); font-weight:600; }
.hnav { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.hnav a { text-decoration:none; font-size:.9rem; font-weight:600; color:var(--gray-700); }
.hnav a:hover { color:var(--teal-600); }
.hnav .nav-phone { display:inline-flex; align-items:center; gap:6px; }
.hnav .btn-cta { border:2px solid var(--navy-800); color:var(--navy-800); border-radius:var(--radius-sm); padding:8px 16px; }
.hnav .btn-cta:hover { background:var(--navy-800); color:#fff; }
.lang-switch { display:inline-flex; align-items:center; gap:6px; border:2px solid var(--teal-600); color:var(--teal-700); border-radius:999px; padding:5px 13px; font-weight:700; font-size:.8rem; text-decoration:none; }
.lang-switch:hover { background:var(--teal-600); color:#fff; }
.lang-switch svg { width:14px; height:14px; }

/* ---------- article ---------- */
.article-wrap { padding:40px 0 24px; }
.article { max-width:760px; margin:0 auto; }
.breadcrumb { font-size:.8125rem; color:var(--gray-500); margin-bottom:20px; }
.breadcrumb a { color:var(--teal-700); text-decoration:none; }
.breadcrumb a:hover { text-decoration:underline; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:.8125rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-600); margin-bottom:14px; }
.eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--clay-500); }
.article h1 { font-family:var(--font-serif); font-weight:700; font-size:clamp(1.7rem,4vw,2.5rem); line-height:1.12; letter-spacing:-.015em; color:var(--navy-900); margin-bottom:16px; }
.post-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; font-size:.85rem; color:var(--gray-600); padding-bottom:22px; margin-bottom:28px; border-bottom:1px solid var(--gray-100); }
.post-meta .sep { color:var(--gray-300); }
.post-meta .byline { color:var(--navy-800); font-weight:700; }
.post-meta a { color:var(--teal-700); font-weight:700; text-decoration:none; }
.post-meta a:hover { text-decoration:underline; }

.proof-strip { display:inline-flex; flex-wrap:wrap; gap:6px 10px; align-items:center; font-size:.82rem; font-weight:600; color:var(--teal-700); background:var(--teal-050); border:1px solid var(--teal-100); border-radius:999px; padding:7px 15px; margin-bottom:30px; }

.article-body { font-size:1.075rem; line-height:1.72; color:var(--gray-700); }
.article-body > *:first-child { margin-top:0; }
.article-body p { margin:0 0 20px; }
.article-body .lead { font-size:1.22rem; line-height:1.6; color:var(--navy-900); font-weight:500; margin-bottom:26px; }
.article-body h2 { font-family:var(--font-serif); font-weight:600; font-size:1.5rem; line-height:1.2; color:var(--navy-900); letter-spacing:-.01em; margin:40px 0 14px; }
.article-body h3 { font-family:var(--font-serif); font-weight:600; font-size:1.18rem; color:var(--navy-800); margin:28px 0 10px; }
.article-body ul, .article-body ol { margin:0 0 20px; padding-left:24px; }
.article-body li { margin-bottom:10px; }
.article-body ul { list-style:disc; }
.article-body ol { list-style:decimal; }
.article-body a { color:var(--teal-700); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.article-body a:hover { color:var(--teal-600); }
.article-body strong { color:var(--navy-900); font-weight:700; }
.article-body blockquote { margin:24px 0; padding:16px 22px; background:var(--teal-050); border-left:4px solid var(--teal-500); border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-family:var(--font-serif); font-size:1.1rem; font-style:italic; color:var(--navy-900); }

/* ---------- FAQ ---------- */
.faq { max-width:760px; margin:44px auto 0; }
.faq h2 { font-family:var(--font-serif); font-weight:600; font-size:1.5rem; color:var(--navy-900); margin-bottom:18px; }
.faq details { background:var(--white); border:1px solid var(--gray-100); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); margin-bottom:12px; overflow:hidden; }
.faq summary { list-style:none; cursor:pointer; padding:18px 22px; font-weight:700; color:var(--navy-900); font-size:1.02rem; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; font-family:var(--font-serif); font-size:1.5rem; color:var(--teal-600); flex:none; line-height:1; }
.faq details[open] summary::after { content:"–"; }
.faq details p { padding:0 22px 20px; color:var(--gray-700); line-height:1.65; margin:0; }

/* ---------- CTA ---------- */
.post-cta { max-width:760px; margin:48px auto 0; background:radial-gradient(120% 140% at 15% 0%, var(--navy-700) 0%, var(--navy-800) 45%, var(--navy-900) 100%); color:var(--sand-050); border-radius:var(--radius-lg); padding:40px 36px; text-align:center; box-shadow:var(--shadow-md); }
.post-cta h2 { font-family:var(--font-serif); font-weight:700; font-size:clamp(1.4rem,3vw,1.9rem); color:#fff; line-height:1.18; margin-bottom:12px; }
.post-cta p { color:rgba(242,249,247,.85); max-width:52ch; margin:0 auto 22px; line-height:1.6; }
.post-cta .cta-row { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.post-cta .cta-trust { margin:18px auto 0; font-size:.82rem; font-weight:600; color:var(--teal-100); letter-spacing:.01em; }
.btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--teal-500); color:#fff; font-weight:700; font-size:.95rem; padding:14px 26px; border-radius:var(--radius-sm); text-decoration:none; border:2px solid var(--teal-500); transition:transform .15s ease, background .15s ease; }
.btn-primary:hover { background:var(--teal-600); border-color:var(--teal-600); transform:translateY(-1px); }
.btn-ghost { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:transparent; color:var(--teal-100); font-weight:700; font-size:.95rem; padding:14px 26px; border-radius:var(--radius-sm); text-decoration:none; border:2px solid rgba(226,241,237,.35); }
.btn-ghost:hover { background:rgba(226,241,237,.1); }

/* ---------- related ---------- */
.related { max-width:760px; margin:44px auto 0; }
.related h2 { font-family:var(--font-serif); font-weight:600; font-size:1.3rem; color:var(--navy-900); margin-bottom:16px; }
.related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr)); gap:14px; }
.related a { display:block; background:var(--white); border:1px solid var(--gray-100); border-left:3px solid var(--teal-500); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); padding:16px 18px; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease; }
.related a:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.related .rc-cat { font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--clay-600); }
.related .rc-title { display:block; margin-top:5px; font-weight:700; color:var(--navy-900); line-height:1.3; font-size:.98rem; }

/* ---------- blog index ---------- */
.index-hero { background:radial-gradient(120% 140% at 15% 0%, var(--navy-700) 0%, var(--navy-800) 45%, var(--navy-900) 100%); color:#fff; padding:64px 0 56px; text-align:center; }
.index-hero h1 { font-family:var(--font-serif); font-weight:700; font-size:clamp(2rem,4.4vw,2.8rem); color:#fff; margin-bottom:14px; letter-spacing:-.01em; }
.index-hero p { color:rgba(242,249,247,.85); max-width:60ch; margin:0 auto; font-size:1.05rem; }
.index-list { padding:48px 0 64px; }
.index-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr)); gap:22px; max-width:1080px; margin:0 auto; }
.card { display:flex; flex-direction:column; background:var(--white); border:1px solid var(--gray-100); border-top:3px solid var(--teal-500); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); padding:24px; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease; }
.card.pillar { border-top-color:var(--clay-500); box-shadow:var(--shadow-md); }
.card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.card .c-cat { font-size:.68rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--teal-700); margin-bottom:10px; }
.card.pillar .c-cat { color:var(--clay-600); }
.card h2 { font-family:var(--font-serif); font-weight:600; font-size:1.2rem; line-height:1.24; color:var(--navy-900); margin-bottom:10px; }
.card p { font-size:.92rem; color:var(--gray-600); line-height:1.55; margin-bottom:14px; }
.card .c-meta { margin-top:auto; font-size:.8rem; color:var(--gray-500); font-weight:600; }
.index-sec-h { max-width:1080px; margin:0 auto 20px; font-family:var(--font-serif); font-size:1.05rem; color:var(--gray-600); font-weight:600; }

/* ---------- footer ---------- */
.site-footer { background:var(--navy-900); color:rgba(242,249,247,.75); padding:56px 0 40px; margin-top:64px; }
.footer-inner { display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; }
.site-footer .logo-name { color:#fff; }
.site-footer .logo-tag { color:var(--teal-100); }
.footer-line { font-size:.875rem; color:rgba(242,249,247,.7); max-width:60ch; }
.footer-line a { color:var(--teal-100); }
.footer-credit { font-size:.8125rem; color:rgba(242,249,247,.5); }
.footer-credit a { color:var(--teal-100); }

@media (max-width:640px) {
  .article-wrap { padding:28px 0 16px; }
  .article-body { font-size:1.02rem; }
  .article-body .lead { font-size:1.12rem; }
  .post-cta { padding:32px 22px; }
  .hnav { gap:12px; }
  .hnav a.nav-link { display:none; }
}

/* the index, grouped by topic (2026-09-04) */
.index-grid { display:block; }
.index-grid .topic-h { font-family:"Fraunces", Georgia, serif; font-weight:500; font-size:1.35rem; color:#0c2448; margin:36px 0 12px; padding-top:18px; border-top:1px solid #e6ecf2; }
.index-grid .topic-h:first-child { border-top:0; padding-top:0; margin-top:0; }
.index-grid .card { margin-bottom:14px; }
