
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --black: #0f0f0d; --cream: #f4f0e8; --warm-white: #faf8f4;
  --gold: #b8963a; --gold-light: #d4aa55;
  --text-mid: #4a4740; --text-muted: #8a8780;
  --border: rgba(184,150,58,0.22);
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', system-ui, sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--sans); background: var(--cream); color: var(--black); line-height: 1.6; font-size: 16px; }
a { text-decoration: none; cursor: pointer; }
.page { display: none; }
.page.active { display: block; animation: pageFadeIn 0.35s ease both; }
@keyframes pageFadeIn { from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)} }
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)} }
@keyframes pulseRing { 0%,100%{transform:scale(1);opacity:.35}50%{transform:scale(1.03);opacity:.65} }

/* NAV */
nav { position:sticky;top:0;z-index:100;background:var(--black);display:flex;align-items:center;justify-content:space-between;padding:0 3.5rem;height:68px;border-bottom:1px solid rgba(184,150,58,0.25); }
.nav-logo { font-family:var(--serif);font-size:1.35rem;color:var(--gold);letter-spacing:0.12em;text-transform:uppercase;cursor:pointer; }
.nav-center { display:flex;gap:2rem;list-style:none;align-items:center; }
.nav-center a { color:rgba(255,255,255,0.65);font-size:0.76rem;letter-spacing:0.1em;text-transform:uppercase;font-weight:500;transition:color 0.2s;cursor:pointer; }
.nav-center a:hover { color:var(--gold-light); }
.nav-phone { color:var(--gold-light);font-size:0.95rem;font-weight:500; }
.nav-cta { background:var(--gold)!important;color:var(--black)!important;padding:0.5rem 1.2rem;border-radius:2px;font-size:0.76rem!important;font-weight:500!important;transition:background 0.2s; }
.nav-cta:hover { background:var(--gold-light)!important; }

/* BUTTONS */
.btn-primary { background:var(--gold);color:var(--black);padding:0.95rem 2.1rem;font-size:0.84rem;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;border-radius:2px;display:inline-block;cursor:pointer;border:none;transition:background 0.2s;font-family:var(--sans); }
.btn-primary:hover { background:var(--gold-light); }
.btn-ghost { color:rgba(255,255,255,0.6);font-size:0.84rem;padding-bottom:2px;border:none;border-bottom:1px solid rgba(255,255,255,0.25);display:inline-block;cursor:pointer;background:none;transition:color 0.2s,border-color 0.2s;font-family:var(--sans); }
.btn-ghost:hover { color:white;border-bottom-color:white; }

/* HELPERS */
.section-label { font-size:0.7rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:1.1rem; }
.section-title { font-family:var(--serif);font-size:2.4rem;line-height:1.15;margin-bottom:1.4rem;font-weight:700; }

/* TRUST BAR */
.trust-bar { background:var(--warm-white);border-bottom:1px solid rgba(0,0,0,0.08);padding:1.2rem 5rem;display:flex;gap:2.5rem;align-items:center;justify-content:center;flex-wrap:wrap; }
.trust-item { display:flex;align-items:center;gap:0.65rem;font-size:0.81rem;color:var(--text-mid); }
.trust-dot { width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0; }

/* HERO */
.hero { background:var(--black);color:white;min-height:92vh;display:grid;grid-template-columns:1fr 1fr;overflow:hidden; }
.hero-left { display:flex;flex-direction:column;justify-content:center;padding:7rem 4rem 7rem 5rem;z-index:2; }
.hero-eyebrow { font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;font-weight:500;animation:fadeUp 0.7s ease both; }
.hero-title { font-family:var(--serif);font-size:clamp(2.8rem,4.2vw,4.2rem);line-height:1.07;margin-bottom:1.75rem;font-weight:700;animation:fadeUp 0.7s 0.1s ease both; }
.hero-title em { font-style:italic;color:var(--gold-light); }
.hero-sub { font-size:1.02rem;color:rgba(255,255,255,0.6);max-width:440px;line-height:1.78;margin-bottom:2.75rem;font-weight:300;animation:fadeUp 0.7s 0.2s ease both; }
.hero-phone-block { margin-bottom:2.75rem;animation:fadeUp 0.7s 0.25s ease both; }
.hero-phone-label { font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:0.4rem; }
.hero-phone-num { font-family:var(--serif);font-size:2rem;color:var(--gold-light);letter-spacing:0.04em; }
.hero-actions { display:flex;gap:1rem;align-items:center;animation:fadeUp 0.7s 0.3s ease both; }
.hero-right { position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111109; }
.hero-divider { width:1px;background:linear-gradient(to bottom,transparent,rgba(184,150,58,0.4),transparent);position:absolute;left:0;top:0;bottom:0; }
.hero-monogram { font-family:var(--serif);font-size:12rem;font-weight:700;color:rgba(184,150,58,0.07);position:relative;z-index:2;user-select:none; }
.hero-ring { width:300px;height:300px;border-radius:50%;border:1px solid rgba(184,150,58,0.14);position:absolute;animation:pulseRing 5s ease-in-out infinite; }
.hero-ring:nth-child(2){width:470px;height:470px;opacity:0.55;animation-delay:1.2s}
.hero-ring:nth-child(3){width:640px;height:640px;opacity:0.25;animation-delay:2.4s}

/* ABOUT */
.about { display:grid;grid-template-columns:1fr 1fr; }
.about-left { background:var(--black);padding:7rem 4rem 7rem 5rem;display:flex;flex-direction:column;justify-content:center; }
.about-quote { font-family:var(--serif);font-size:1.55rem;font-style:italic;color:var(--gold-light);line-height:1.5;margin-bottom:1.75rem; }
.about-desc { color:rgba(255,255,255,0.55);font-size:0.97rem;line-height:1.8;font-weight:300;max-width:420px;margin-bottom:2rem; }
.about-details { display:flex;flex-direction:column;gap:0.6rem; }
.about-detail { display:flex;align-items:flex-start;gap:0.75rem;color:rgba(255,255,255,0.4);font-size:0.82rem; }
.about-detail-dot { width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:0.45rem; }
.about-right { background:var(--cream);padding:7rem 5rem 7rem 4rem;display:flex;flex-direction:column;justify-content:center; }
.about-body { color:var(--text-mid);font-size:0.97rem;line-height:1.85;font-weight:300;margin-bottom:2.5rem; }
.about-body p { margin-bottom:1.1rem; }
.about-body p:last-child { margin-bottom:0; }
.pillars { display:grid;grid-template-columns:1fr 1fr;gap:1.1rem; }
.pillar { padding:1.25rem;border:1px solid var(--border);border-radius:3px;background:var(--warm-white); }
.pillar-title { font-size:0.86rem;font-weight:500;margin-bottom:0.45rem; }
.pillar-body { font-size:0.81rem;color:var(--text-muted);line-height:1.6; }

/* RESULTS */
.results-section { background:var(--black);padding:7rem 5rem; }
.results-section .section-title { color:white; }
.results-intro { color:rgba(255,255,255,0.5);font-size:0.96rem;line-height:1.8;font-weight:300;max-width:560px;margin-bottom:3rem; }
.results-layout { display:grid;grid-template-columns:160px 1fr;gap:3.5rem;align-items:start; }
.year-sidebar { position:sticky;top:6rem;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,0.08); }
.year-tab { background:transparent;border:none;border-left:2px solid transparent;color:rgba(255,255,255,0.3);padding:0.7rem 1.25rem;font-family:var(--serif);font-size:1.6rem;font-weight:700;cursor:pointer;transition:all 0.2s;text-align:left;margin-left:-1px;line-height:1; }
.year-tab:hover { color:rgba(255,255,255,0.65);border-left-color:rgba(184,150,58,0.35); }
.year-tab.active { color:var(--gold-light);border-left-color:var(--gold); }
.results-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.06);border-radius:4px;overflow:hidden; }
.result-card { background:#141410;padding:1.85rem 1.6rem;transition:background 0.2s; }
.result-card:hover { background:#1c1c14; }
.result-card.hidden { display:none; }
.result-ref { font-size:0.76rem;color:rgba(255,255,255,0.28);margin-bottom:0.6rem;letter-spacing:0.05em; }
.result-charge { font-size:0.9rem;color:rgba(255,255,255,0.65);line-height:1.55;margin-bottom:1.1rem;font-weight:300; }
.result-outcome { display:inline-block;background:rgba(184,150,58,0.12);border:1px solid rgba(184,150,58,0.3);color:var(--gold-light);font-size:0.72rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;padding:0.35rem 0.8rem;border-radius:2px; }
.results-note { margin-top:2.25rem;font-size:0.78rem;color:rgba(255,255,255,0.22);font-style:italic; }

/* SERVICES */
.services { background:var(--warm-white);padding:7rem 5rem; }
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem; }
.service-card { background:white;border:1px solid rgba(0,0,0,0.08);border-radius:4px;padding:2.2rem 2rem;display:flex;flex-direction:column;transition:border-color 0.2s,box-shadow 0.2s;cursor:pointer; }
.service-card:hover { border-color:var(--gold);box-shadow:0 4px 24px rgba(0,0,0,0.06); }
.service-num { font-family:var(--serif);font-size:0.9rem;color:var(--gold);margin-bottom:0.9rem;font-style:italic; }
.service-name { font-size:1.02rem;font-weight:500;margin-bottom:0.65rem; }
.service-desc { font-size:0.84rem;color:var(--text-muted);line-height:1.65;font-weight:300;flex:1;margin-bottom:1.5rem; }
.service-link { font-size:0.8rem;font-weight:500;color:var(--gold);letter-spacing:0.03em; }

/* GUIDES */
.guides { background:var(--cream);padding:6rem 5rem; }
.guides-intro { color:var(--text-muted);font-size:0.95rem;margin-bottom:3rem;font-weight:300;max-width:540px; }
.guides-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1rem; }
.guide-card { background:var(--warm-white);border:1px solid rgba(0,0,0,0.08);border-radius:4px;padding:1.6rem 1.5rem;cursor:pointer;transition:border-color 0.2s;display:flex;flex-direction:column; }
.guide-card:hover { border-color:var(--gold); }
.guide-icon { font-size:1.4rem;margin-bottom:0.9rem; }
.guide-title { font-size:0.9rem;font-weight:500;margin-bottom:0.5rem;line-height:1.35; }
.guide-desc { font-size:0.8rem;color:var(--text-muted);line-height:1.6;flex:1;margin-bottom:1rem; }
.guide-link { font-size:0.78rem;font-weight:500;color:var(--gold); }

/* FEES */
.fees-strip { background:var(--black);padding:5rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px; }
.fee-block { background:#141410;padding:2.5rem 2.25rem; }
.fee-block-title { font-family:var(--serif);font-size:1.1rem;color:white;margin-bottom:0.75rem;font-weight:700; }
.fee-block-body { font-size:0.85rem;color:rgba(255,255,255,0.5);line-height:1.75;font-weight:300; }
.fee-block-cta { margin-top:2rem;font-size:0.8rem;font-weight:500;color:var(--gold);letter-spacing:0.04em;cursor:pointer; }
.fee-block-cta:hover { color:var(--gold-light); }

/* TESTIMONIALS */
.testi-section { background:var(--warm-white);padding:7rem 5rem; }
.testi-sub { color:var(--text-muted);font-size:0.95rem;margin-bottom:3rem;font-weight:300; }
.testi-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.25rem; }
.testi-card { background:white;border:1px solid rgba(0,0,0,0.08);border-radius:4px;padding:1.85rem 1.7rem;display:flex;flex-direction:column; }
.testi-stars { color:var(--gold);font-size:0.9rem;letter-spacing:0.1em;margin-bottom:1rem; }
.testi-quote { font-size:0.9rem;color:var(--text-mid);line-height:1.72;font-weight:300;flex:1;margin-bottom:1.35rem;font-style:italic; }
.testi-author { font-size:0.82rem;font-weight:500; }
.testi-source { font-size:0.76rem;color:var(--text-muted);margin-top:3px; }

/* CONTACT */
.contact-strip { background:var(--black);padding:7rem 5rem;display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:start; }
.contact-strip .section-title { color:white;font-size:2.6rem; }
.contact-tagline { color:rgba(255,255,255,0.5);font-size:0.97rem;line-height:1.8;font-weight:300;margin-top:1.25rem;margin-bottom:2.5rem;max-width:360px; }
.contact-details { display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem; }
.contact-detail { display:flex;align-items:flex-start;gap:0.9rem; }
.contact-detail-label { font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.3);font-weight:500;min-width:60px;padding-top:2px; }
.contact-detail-value { font-size:0.95rem;color:rgba(255,255,255,0.75);font-weight:300; }
.contact-detail-value a { color:var(--gold-light); }
.contact-phone-block { border:1px solid rgba(184,150,58,0.28);border-radius:3px;padding:1.3rem 1.6rem;display:inline-block;margin-bottom:1.5rem; }
.contact-phone-label { font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:0.3rem; }
.contact-phone-num { font-family:var(--serif);font-size:1.7rem;color:var(--gold-light); }
.contact-note { font-size:0.79rem;color:rgba(255,255,255,0.28);font-style:italic; }
.contact-form { display:flex;flex-direction:column;gap:1.15rem; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.form-group { display:flex;flex-direction:column;gap:0.35rem; }
.form-group label { font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.4);font-weight:500; }
.form-group input,.form-group select,.form-group textarea { background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:2px;color:white;padding:0.75rem 1rem;font-family:var(--sans);font-size:0.92rem;outline:none;transition:border-color 0.2s;width:100%; }
.form-group input::placeholder,.form-group textarea::placeholder { color:rgba(255,255,255,0.18); }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:rgba(184,150,58,0.55); }
.form-group select option { background:#1a1814;color:white; }
.form-group textarea { resize:vertical;min-height:105px; }
.form-disclaimer { font-size:0.77rem;color:rgba(255,255,255,0.24);line-height:1.65; }
.form-submit { background:var(--gold);color:var(--black);border:none;border-radius:2px;padding:1.05rem;font-size:0.92rem;font-weight:500;font-family:var(--sans);letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;transition:background 0.2s;width:100%; }
.form-submit:hover { background:var(--gold-light); }

/* FOOTER */
footer { background:#070707;padding:2.25rem 5rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,0.05);flex-wrap:wrap;gap:1rem; }
.footer-logo { font-family:var(--serif);font-size:1.05rem;color:var(--gold);letter-spacing:0.12em;text-transform:uppercase;cursor:pointer; }
.footer-mid { font-size:0.78rem;color:rgba(255,255,255,0.25);text-align:center; }
.footer-links { display:flex;gap:1.75rem;list-style:none; }
.footer-links a { font-size:0.78rem;color:rgba(255,255,255,0.3);transition:color 0.2s;cursor:pointer; }
.footer-links a:hover { color:var(--gold); }

/* PRACTICE / GUIDE PAGES */
.page-hero { background:var(--black);color:white;padding:7rem 5rem 6rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center; }
.page-hero-eyebrow { font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;font-weight:500; }
.page-hero h1 { font-family:var(--serif);font-size:clamp(2.5rem,3.8vw,3.6rem);line-height:1.1;margin-bottom:1.5rem;font-weight:700; }
.page-hero h1 em { font-style:italic;color:var(--gold-light); }
.page-hero-sub { color:rgba(255,255,255,0.6);font-size:1rem;line-height:1.78;font-weight:300;max-width:440px;margin-bottom:2.5rem; }
.page-hero-right { border-left:1px solid rgba(184,150,58,0.2);padding-left:4rem; }
.quick-facts { list-style:none;display:flex;flex-direction:column;gap:1.1rem; }
.quick-facts li { display:flex;align-items:flex-start;gap:0.9rem;color:rgba(255,255,255,0.65);font-size:0.93rem;line-height:1.6;font-weight:300; }
.qf-bullet { width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:0.45rem; }
.breadcrumb { background:#0a0a08;padding:0 3.5rem;height:44px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,0.05); }
.breadcrumb a { font-size:0.77rem;color:rgba(255,255,255,0.35);cursor:pointer;transition:color 0.2s; }
.breadcrumb a:hover { color:var(--gold-light); }
.breadcrumb span { font-size:0.77rem;color:rgba(255,255,255,0.18);margin:0 0.6rem; }
.breadcrumb-current { font-size:0.77rem;color:rgba(255,255,255,0.5); }
.explainer { background:var(--warm-white);padding:6rem 5rem; }
.explainer-grid { display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;margin-top:3rem; }
.explainer-body p { color:var(--text-mid);font-size:0.97rem;line-height:1.85;font-weight:300;margin-bottom:1.25rem; }
.explainer-body p:last-child { margin-bottom:0; }
.explainer-aside { display:flex;flex-direction:column;gap:1.1rem; }
.aside-card { background:white;border:1px solid rgba(0,0,0,0.08);border-radius:4px;padding:1.5rem 1.6rem; }
.aside-card-title { font-size:0.87rem;font-weight:500;margin-bottom:0.5rem; }
.aside-card-body { font-size:0.82rem;color:var(--text-muted);line-height:1.65;font-weight:300; }
.related { background:var(--cream);padding:5rem; }
.related .section-title { font-size:1.7rem;margin-bottom:2.5rem; }
.related-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem; }
.related-card { background:white;border:1px solid rgba(0,0,0,0.08);border-radius:4px;padding:1.75rem 1.6rem;display:flex;flex-direction:column;transition:border-color 0.2s;cursor:pointer; }
.related-card:hover { border-color:var(--gold); }
.related-card-label { font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:0.6rem; }
.related-card-title { font-family:var(--serif);font-size:1.1rem;font-weight:700;margin-bottom:0.65rem;line-height:1.3; }
.related-card-body { font-size:0.83rem;color:var(--text-muted);line-height:1.65;font-weight:300;flex:1;margin-bottom:1.25rem; }
.related-card-link { font-size:0.8rem;font-weight:500;color:var(--gold); }

/* GUIDE PAGES */
.guide-page-body { background:var(--warm-white);padding:6rem 5rem; }
.guide-page-grid { display:grid;grid-template-columns:2fr 1fr;gap:5rem;align-items:start; }
.guide-content h3 { font-family:var(--serif);font-size:1.3rem;font-weight:700;margin:2rem 0 0.75rem;color:var(--black); }
.guide-content h3:first-child { margin-top:0; }
.guide-content p { font-size:0.97rem;color:var(--text-mid);line-height:1.85;font-weight:300;margin-bottom:1rem; }
.guide-content ul { list-style:none;margin:0.5rem 0 1rem;display:flex;flex-direction:column;gap:0.5rem; }
.guide-content ul li { display:flex;align-items:flex-start;gap:0.75rem;font-size:0.93rem;color:var(--text-mid);line-height:1.6;font-weight:300; }
.guide-content ul li::before { content:'';width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:0.5rem; }
.guide-sidebar { display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:6rem; }
.guide-cta-box { background:var(--black);border-radius:6px;padding:2rem; }
.guide-cta-box-title { font-family:var(--serif);font-size:1.1rem;color:white;margin-bottom:0.75rem; }
.guide-cta-box p { font-size:0.85rem;color:rgba(255,255,255,0.5);line-height:1.7;margin-bottom:1.5rem; }
.guide-cta-box-phone { font-family:var(--serif);font-size:1.4rem;color:var(--gold-light);margin-bottom:1rem;display:block; }
.guide-nav-box { background:white;border:1px solid rgba(0,0,0,0.08);border-radius:6px;padding:1.5rem; }
.guide-nav-box-title { font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);font-weight:500;margin-bottom:1rem; }
.guide-nav-links { list-style:none;display:flex;flex-direction:column;gap:0.35rem; }
.guide-nav-links a { font-size:0.85rem;color:var(--text-mid);cursor:pointer;padding:0.35rem 0;border-bottom:1px solid rgba(0,0,0,0.05);transition:color 0.2s;display:block; }
.guide-nav-links a:hover { color:var(--gold); }
.guide-nav-links a.current { color:var(--gold);font-weight:500; }

/* ============ MULTI-PAGE ADDITIONS ============ */
a { color: inherit; }
a.service-card, a.guide-card, a.related-card { color: inherit; text-decoration: none; }
a.btn-primary, a.btn-ghost, a.fee-block-cta, a.nav-cta { text-decoration: none; }
.nav-phone { text-decoration:none; }

/* Responsive nav with tap-to-call */
.nav-toggle { display:none; background:none; border:none; color:var(--gold); font-size:1.5rem; cursor:pointer; line-height:1; }
@media (max-width: 920px) {
  nav { padding:0 1.25rem; }
  .nav-toggle { display:block; order:3; }
  .nav-phone { order:2; margin-left:auto; margin-right:0.75rem; font-size:0.95rem; }
  .nav-center {
    position:absolute; top:68px; left:0; right:0; background:var(--black);
    flex-direction:column; gap:0; align-items:stretch; padding:0.5rem 1.25rem 1.25rem;
    border-bottom:1px solid rgba(184,150,58,0.25); display:none;
  }
  body.nav-open .nav-center { display:flex; }
  .nav-center li { padding:0.5rem 0; border-bottom:1px solid rgba(255,255,255,0.06); }
  .nav-center a { font-size:0.9rem; }
  .nav-cta { display:inline-block; margin-top:0.75rem; text-align:center; }
}

/* Footer extras */
.footer-disclaimer { max-width:720px; margin:1.5rem auto 0.5rem; font-size:0.72rem; line-height:1.6; color:rgba(255,255,255,0.28); text-align:center; }
.footer-copy { font-size:0.72rem; color:rgba(255,255,255,0.3); text-align:center; margin-top:0.5rem; }

/* Article / blog / prose */
.article-wrap { max-width:760px; margin:0 auto; padding:3.5rem 1.5rem 4rem; }
.article-meta { font-size:0.78rem; color:var(--text-muted); letter-spacing:0.04em; margin-bottom:1.2rem; }
.article-wrap h1 { font-family:var(--serif); font-size:2.5rem; line-height:1.15; margin-bottom:1.2rem; font-weight:700; }
.prose { color:var(--text-mid); font-size:1.05rem; line-height:1.8; }
.prose h2 { font-family:var(--serif); font-size:1.6rem; color:var(--black); margin:2.4rem 0 1rem; font-weight:700; line-height:1.25; }
.prose h3 { font-family:var(--serif); font-size:1.25rem; color:var(--black); margin:1.8rem 0 0.7rem; font-weight:600; }
.prose p { margin-bottom:1.15rem; }
.prose ul, .prose ol { margin:0 0 1.2rem 1.2rem; }
.prose li { margin-bottom:0.5rem; }
.prose strong { color:var(--black); }
.prose a { color:var(--gold); border-bottom:1px solid rgba(184,150,58,0.4); }
.prose blockquote { border-left:3px solid var(--gold); padding:0.4rem 0 0.4rem 1.4rem; margin:1.6rem 0; font-family:var(--serif); font-style:italic; font-size:1.2rem; color:var(--black); }
.callout { background:var(--warm-white); border:1px solid rgba(184,150,58,0.3); border-radius:6px; padding:1.5rem 1.6rem; margin:2rem 0; }
.callout p { margin-bottom:0.5rem; }
.callout .callout-cta { font-weight:600; color:var(--gold); }
.article-cta { background:var(--black); color:var(--cream); border-radius:8px; padding:2.4rem; margin:3rem 0 0; text-align:center; }
.article-cta h3 { font-family:var(--serif); font-size:1.6rem; color:var(--gold-light); margin-bottom:0.6rem; }
.article-cta p { color:rgba(255,255,255,0.7); margin-bottom:1.4rem; }

/* Blog index grid */
.blog-list { max-width:1080px; margin:0 auto; padding:3.5rem 1.5rem 4rem; }
.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:1.5rem; margin-top:2rem; }
.post-card { background:white; border:1px solid rgba(0,0,0,0.08); border-radius:6px; padding:1.9rem 1.7rem; display:flex; flex-direction:column; transition:border-color .2s, box-shadow .2s; color:inherit; }
.post-card:hover { border-color:var(--gold); box-shadow:0 4px 24px rgba(0,0,0,0.06); }
.post-card .pc-tag { font-size:0.7rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:0.7rem; }
.post-card h2 { font-family:var(--serif); font-size:1.3rem; line-height:1.25; margin-bottom:0.6rem; font-weight:700; }
.post-card p { font-size:0.92rem; color:var(--text-mid); line-height:1.6; }
.post-card .pc-more { margin-top:auto; padding-top:1rem; font-size:0.8rem; color:var(--gold); font-weight:600; }

/* FAQ hub accordion */
.faq-wrap { max-width:820px; margin:0 auto; padding:3.5rem 1.5rem 4rem; }
.faq-item { border-bottom:1px solid rgba(0,0,0,0.1); padding:1.4rem 0; }
.faq-item h3 { font-family:var(--serif); font-size:1.2rem; margin-bottom:0.6rem; font-weight:600; }
.faq-item p { color:var(--text-mid); line-height:1.7; }
.faq-item a { color:var(--gold); font-weight:600; }
.page-intro { max-width:820px; margin:0 auto; padding:3rem 1.5rem 0; text-align:center; }
.page-intro h1 { font-family:var(--serif); font-size:2.6rem; line-height:1.12; font-weight:700; margin-bottom:1rem; }
.page-intro p { color:var(--text-mid); font-size:1.08rem; line-height:1.7; }

/* ============ GAP FIXES FOR NEW PAGE TEMPLATES ============ */
.page-hero:has(.page-hero-left) { grid-template-columns:1fr; }
.page-hero-left { max-width:680px; }
.page-hero-left .hero-phone-block { border:1px solid rgba(184,150,58,0.28);border-radius:3px;padding:1.1rem 1.5rem;display:inline-block;margin-bottom:1.5rem; }
.page-hero-left .hero-phone-label { font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:0.3rem; }
.page-hero-left .hero-phone-num { font-family:var(--serif);font-size:1.6rem;color:var(--gold-light); }

/* ============ RESPONSIVE / MOBILE-FIRST INDEXING ============ */
@media (max-width: 980px) {
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-left { padding:4rem 1.5rem 3rem; }
  .hero-right { min-height:300px; }
  .about { grid-template-columns:1fr; }
  .about-left { min-height:420px !important; padding:0; }
  .about-right { padding:3.5rem 1.5rem; }
  .results-section, .services, .testi-section { padding:3.5rem 1.5rem; }
  .results-layout { grid-template-columns:1fr; gap:1.75rem; }
  .year-sidebar { display:flex; flex-direction:row; flex-wrap:wrap; gap:0.25rem; border-left:none; }
  .year-tab { font-size:1.25rem; padding:0.4rem 0.9rem; border-left:none; border-bottom:2px solid transparent; }
  .year-tab.active { border-left:none; }
  .results-grid, .services-grid, .testi-grid, .related-grid { grid-template-columns:1fr; }
  .guides-grid { grid-template-columns:1fr 1fr; }
  .fees-strip { grid-template-columns:1fr; gap:1px; padding:3rem 1.5rem; }
  .contact-strip { grid-template-columns:1fr; gap:2.5rem; padding:3.5rem 1.5rem; }
  .contact-strip .section-title { font-size:2rem; }
  .page-hero { grid-template-columns:1fr; padding:3.5rem 1.5rem; gap:2rem; }
  .page-hero-right { display:none; }
  .explainer-grid, .guide-page-grid { grid-template-columns:1fr; gap:2.5rem; }
  .related { padding:3rem 1.5rem; }
  .section-title { font-size:2rem; }
  .trust-bar { flex-wrap:wrap; gap:0.75rem 1.25rem; padding:1rem 1.5rem; height:auto; }
}
@media (max-width: 560px) {
  .pillars { grid-template-columns:1fr; }
  .guides-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .hero-title { font-size:2.6rem !important; }
  .article-wrap h1, .page-intro h1 { font-size:2rem; }
  .blog-grid { grid-template-columns:1fr; }
}
