/*
Theme Name: Equitas Capital Advisors
Theme URI: https://equitas.capital
Author: Equitas Capital Advisors
Description: Custom theme for Equitas Capital Advisors, ported from the equitas-mockup static design.
Version: 0.1.0
Text Domain: equitas
*/

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
    --vault:           #0B1929;
    --institution:     #1A2774;  /* official equitas.capital brand blue */
    --footer-bg:       #070B21;
    --gold:            #C8A86B;
    --gold-light:      #DFC28E;
    --gold-accessible: #8C6D2F;
    --parchment:       #F5F3EF;
    --white:           #FFFFFF;
    --slate:           #7A90A6;
    --text-mid:        #4A5568;
    --text-faint:      rgba(255,255,255,0.82);
    --font-brand:      'Trajan Pro 3','Trajan Pro','Trajan',Cinzel,serif;
    --font-display:    'Cormorant Garamond',Georgia,serif;
    --font-body:       'DM Sans',system-ui,sans-serif;
    --font-mono:       'DM Mono','Courier New',monospace;
}

/* ─── RESET ─────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:17px;}
body{font-family:var(--font-body);background:var(--white);color:var(--vault);-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}

/* ─── SCROLL REVEALS ─────────────────────────────────── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal.revealed{opacity:1;transform:translateY(0);}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.revealed{opacity:1;transform:none;transition:none;}}

/* ─── NAV ────────────────────────────────────────────── */
.nav{
    position:fixed;top:0;left:0;right:0;z-index:200;
    display:flex;align-items:center;justify-content:space-between;
    padding:0 3rem;height:96px;
    background:rgba(255,255,255,0.97);
    backdrop-filter:blur(10px);
    border-bottom:none;
}
.nav-brand{display:flex;align-items:center;gap:0.75rem;flex-shrink:0;}
.nav-logo-full{height:80px;width:auto;border-radius:8px;background:#fff;padding:4px 10px;flex-shrink:0;}
.nav-logo-column{display:none;height:60px;width:auto;border-radius:8px;background:#fff;padding:4px 8px;flex-shrink:0;}
.nav-links{
    display:flex;gap:clamp(0.7rem,3vw - 1.6rem,1.5rem);list-style:none;flex-shrink:0;
    border-left:1px solid rgba(26,39,116,0.15);border-right:1px solid rgba(26,39,116,0.15);
    padding:0 0.9rem;
}
.nav-links li{flex-shrink:0;}
.nav-links > li > a{
    display:inline-block;
    font-size:clamp(0.72rem,2vw - 0.9rem,1.05rem);font-weight:500;letter-spacing:0.05em;
    text-transform:uppercase;color:var(--institution);transition:color 0.2s,border-color 0.2s;white-space:nowrap;
    border:none;border-radius:4px;padding:0.45rem 0.6rem;
}
.nav-links > li > a:hover, .nav-links > li > a.current{color:var(--gold-accessible);border-color:var(--gold-accessible);}
.nav-dropdown{position:relative;}
.nav-dropdown-toggle::after{content:'\25BE';font-size:0.7em;margin-left:0.4em;opacity:0.65;}
.nav-dropdown-menu{
    display:none;position:absolute;top:100%;left:0;min-width:200px;padding-top:10px;margin-top:-1px;
    background:var(--white);border:2px solid var(--institution);border-radius:6px;
    list-style:none;margin:0;padding:0.4rem;box-shadow:0 12px 30px rgba(11,25,41,0.2);z-index:250;
}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block;}
.nav-dropdown-menu a{
    display:block;font-size:0.85rem;font-weight:500;letter-spacing:0.02em;
    text-transform:none;color:var(--institution);padding:0.55rem 0.8rem;border-radius:4px;
    white-space:nowrap;transition:background 0.15s,color 0.15s;
}
.nav-dropdown-menu a:hover{background:rgba(26,39,116,0.07);color:var(--gold-accessible);}
.nav-dropdown-menu a.current{color:var(--gold-accessible);background:rgba(26,39,116,0.06);font-weight:600;}
.nav-btn{
    flex-shrink:0;
    font-size:1.05rem;font-weight:500;letter-spacing:0.06em;
    text-transform:uppercase;color:var(--vault);
    background:var(--gold);padding:0.8rem 1.9rem;
    border-radius:2px;transition:background 0.2s;white-space:nowrap;
}
.nav-btn:hover{background:var(--gold-light);}

.nav-hamburger{
    display:none;flex-direction:column;justify-content:center;gap:5px;
    width:28px;height:22px;cursor:pointer;background:none;border:none;padding:0;flex-shrink:0;
}
.nav-hamburger span{display:block;width:100%;height:2px;background:var(--institution);transition:transform 0.2s,opacity 0.2s;}
.nav-hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.active span:nth-child(2){opacity:0;}
.nav-hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-mobile-panel{
    display:none;flex-direction:column;
    position:fixed;top:96px;left:0;right:0;z-index:199;
    background:var(--institution);border-bottom:1px solid rgba(200,168,107,0.15);
    padding:1.4rem 1.5rem 1.8rem;gap:0.2rem;
    max-height:calc(100vh - 96px);overflow-y:auto;
}
.nav-mobile-panel.open{display:flex;}
.nav-mobile-panel a{
    font-family:var(--font-body);font-size:1.05rem;font-weight:500;letter-spacing:0.04em;
    text-transform:uppercase;color:rgba(255,255,255,0.82);
    padding:0.85rem 0.1rem;border-bottom:1px solid rgba(255,255,255,0.08);
}
.nav-mobile-panel a.current{color:var(--gold);}
.nav-mobile-panel a.nav-mobile-sub{
    font-size:0.9rem;font-weight:400;padding:0.6rem 0.1rem 0.6rem 1.1rem;
    color:rgba(255,255,255,0.62);border-bottom:1px solid rgba(255,255,255,0.06);
}
.nav-mobile-panel a.nav-mobile-sub.current{color:var(--gold);}
.nav-mobile-panel a.nav-mobile-btn{
    margin-top:0.9rem;text-align:center;border:none;border-radius:2px;
    color:var(--vault);background:var(--gold);text-transform:uppercase;
    font-size:0.85rem;letter-spacing:0.08em;padding:0.9rem;
}

/* ─── UTILITIES ──────────────────────────────────────── */
.eyebrow{
    display:block;font-family:var(--font-mono);
    font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;
    color:var(--gold-accessible);margin-bottom:1rem;
}
.eyebrow.on-dark{color:var(--gold);}
.btn-primary{
    display:inline-block;font-size:0.76rem;font-weight:500;letter-spacing:0.13em;
    text-transform:uppercase;color:var(--vault);
    background:var(--gold);padding:1rem 2.2rem;
    border-radius:2px;transition:background 0.2s;
}
.btn-primary:hover{background:var(--gold-light);}
.btn-ghost{
    display:inline-block;font-size:0.76rem;font-weight:500;letter-spacing:0.13em;
    text-transform:uppercase;color:rgba(255,255,255,0.72);
    border-bottom:1px solid rgba(200,168,107,0.35);padding-bottom:2px;
    transition:color 0.2s,border-color 0.2s;
}
.btn-ghost:hover{color:var(--gold);border-color:var(--gold);}
.section-h{
    font-family:var(--font-display);
    font-size:clamp(2rem,3.2vw,3.2rem);
    font-weight:300;font-style:italic;
    color:var(--vault);line-height:1.18;margin-bottom:1.2rem;
}
.section-h em{font-style:normal;color:var(--gold-accessible);}
.section-p{font-size:1rem;font-weight:400;color:var(--text-mid);line-height:1.82;}
.arrow-link{
    font-family:var(--font-mono);
    font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;
    color:var(--vault);border-bottom:1px solid var(--gold);
    padding-bottom:2px;display:inline-block;transition:color 0.2s;
}
.arrow-link:hover{color:var(--gold-accessible);}

/* ─── FOOTER ─────────────────────────────────────────── */
.footer{
    background:var(--footer-bg);padding:1.8rem 3rem;
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
}
.footer-copy{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.22);}
.footer-links{display:flex;gap:1.4rem;list-style:none;}
.footer-links a{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.22);transition:color 0.2s;}
.footer-links a:hover{color:var(--gold);}
.footer-client-links a{color:rgba(255,255,255,0.55);}
.footer-client-links a:hover{color:var(--gold);}

/* ═══════════════════════════════════════════════════════
   INNER PAGES SHARED
   Used across institutional/family/navigator/dividend-income/
   knowrisk/etc. page templates. Per-page padding or copy tweaks
   are scoped with body classes (see body.page-slug overrides
   near the end of each block) rather than duplicated wholesale.
   ═══════════════════════════════════════════════════════ */

/* ─── PAGE HEADER ────────────────────────────────────── */
.page-header{
    background:var(--parchment);
    padding:100px 3rem 24px;
    position:relative;overflow:hidden;
}
.page-header::before{
    content:'';
    position:absolute;left:0;top:12%;bottom:12%;
    width:3px;
    background:linear-gradient(to bottom,transparent,var(--gold) 25%,var(--gold) 75%,transparent);
}
.page-header-eyebrow{
    font-family:var(--font-mono);
    font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;
    color:var(--gold-accessible);margin-bottom:1.2rem;display:block;
}
.page-header h1{
    font-family:var(--font-display);
    font-size:clamp(2.4rem,4.5vw,4.8rem);
    font-weight:300;font-style:normal;
    color:var(--vault);line-height:1.1;
    max-width:1200px;margin-bottom:1.4rem;
}
.page-header h1 em{font-style:italic;color:var(--gold-accessible);}
.page-header p{
    font-size:1.05rem;font-weight:400;line-height:1.8;
    color:var(--text-mid);max-width:1200px;
}
.page-header-sub{
    margin-top:2.4rem;padding-top:2.2rem;
    border-top:1px solid rgba(11,25,41,0.1);
    max-width:1200px;
}
.page-header-sub .eyebrow{margin-bottom:0.9rem;}
.page-header-sub .section-h{
    font-size:clamp(1.6rem,2.4vw,2.3rem);
    font-style:italic;margin-bottom:0.8rem;
}
.page-header-sub .section-p{max-width:1100px;font-size:1.05rem;}

/* ─── WHO WE SERVE STRIP ─────────────────────────────── */
.who-strip{background:var(--gold);padding:1.1rem 3rem;text-align:center;}
.who-strip p{
    font-family:var(--font-mono);
    font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--vault);
}

/* ─── SERVICES GRID ──────────────────────────────────── */
.services-section{background:var(--parchment);padding:56px 3rem 96px;}
.services-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:1px;
    max-width:1080px;margin:0 auto;
    background:rgba(11,25,41,0.08);
    border:1px solid rgba(11,25,41,0.08);
}
.service-card{background:var(--white);padding:2.6rem;}
.service-card:last-child:nth-child(odd){grid-column:1/-1;}
.service-name{
    font-family:var(--font-display);
    font-size:1.3rem;font-weight:400;font-style:italic;
    color:var(--vault);margin-bottom:0.8rem;line-height:1.3;
}
.service-desc{font-size:0.95rem;font-weight:400;color:var(--text-mid);line-height:1.78;}

/* ─── AUDIENCE / WHO WE SERVE LIST ───────────────────── */
.audience-section{background:var(--institution);padding:80px 3rem;}
.audience-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.audience-list{list-style:none;display:flex;flex-direction:column;gap:0.9rem;}
.audience-list li{
    font-size:0.98rem;font-weight:400;color:rgba(255,255,255,0.85);
    padding-left:0.9rem;border-left:2px solid var(--gold);line-height:1.6;
}
.section-h.light{color:var(--white);}
.section-h.light em{font-style:normal;color:var(--gold);}

/* ─── CLOSING CTA ────────────────────────────────────── */
.still-questions{
    background:var(--institution);padding:80px 3rem;
    text-align:center;position:relative;overflow:hidden;
}
.still-questions::before{
    content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:1px;height:52px;background:linear-gradient(to bottom,transparent,var(--gold));
}
.still-questions h2{
    font-family:var(--font-display);
    font-size:clamp(1.8rem,3vw,3rem);
    font-weight:300;font-style:normal;
    color:var(--white);line-height:1.2;margin-bottom:1rem;
}
.still-questions h2 em{font-style:italic;color:var(--gold);}
.still-questions p{
    font-size:1rem;font-weight:400;color:rgba(255,255,255,0.70);
    max-width:440px;margin:0 auto 2.2rem;line-height:1.78;
}

/* ─── DISCLOSURES ACCORDION ───────────────────────────
   Used on fund pages and will be reused by the article
   template (single-insight.php) once articles are ported. */
.article-disclosures{
    max-width:1080px;margin:2.4rem auto 0;
    font-family:var(--font-mono);font-size:0.68rem;line-height:1.9;color:var(--slate);
    padding:0 3rem;
}
.article-disclosures summary{cursor:pointer;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-accessible);margin-bottom:0.8rem;}
.article-disclosures p{margin-bottom:0.8rem;}

/* ─── INSIGHT CARD GRID ───────────────────────────────
   Reused across the KnowRisk hub's "latest" cards, and later
   the Guest Columns / Video & Webinar / archive listings. */
.insights-cards,.listing-cards{
    display:grid;grid-template-columns:repeat(3,1fr);
    max-width:1080px;margin:0 auto;
    border:1px solid rgba(11,25,41,0.08);
}
.insight-card{
    background:var(--white);
    display:flex;flex-direction:column;
    border-bottom:3px solid rgba(200,168,107,0.18);
    transition:border-color 0.25s;
}
.insight-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--parchment);}
.insight-body{padding:2rem 2.4rem 2.4rem;display:flex;flex-direction:column;gap:1rem;flex:1;}
.insights-cards .insight-card:not(:nth-child(3n)),
.listing-cards .insight-card:not(:nth-child(3n)){border-right:1px solid rgba(11,25,41,0.08);}
.insights-cards .insight-card:nth-child(n+4),
.listing-cards .insight-card:nth-child(n+4){border-top:1px solid rgba(11,25,41,0.08);}
.insight-card:hover{border-bottom-color:var(--gold);}
a.insight-card:hover h3{color:var(--gold-accessible);}
.insight-tag{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-accessible);}
.insight-card h3{font-family:var(--font-display);font-size:1.3rem;font-weight:400;font-style:italic;color:var(--vault);line-height:1.3;flex:1;}
.insight-card p{font-size:0.95rem;font-weight:400;color:var(--text-mid);line-height:1.76;}
.insight-date{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--slate);}

@media(max-width:960px){
    .page-header{padding:100px 1.5rem 20px;}
    .page-header::before{display:none;}
    .services-section,.audience-section,.still-questions{padding:64px 1.5rem;}
    .services-grid{grid-template-columns:1fr;}
    .audience-inner{grid-template-columns:1fr;gap:2.2rem;}
    .article-disclosures{padding:0 1.5rem;}
    .insights-cards,.listing-cards{grid-template-columns:1fr;}
    .insights-cards .insight-card:not(:last-child),
    .listing-cards .insight-card:not(:last-child){border-right:none;border-bottom:1px solid rgba(11,25,41,0.08);}
}

/* ═══════════════════════════════════════════════════════
   ARTICLE TEMPLATE (single-insight.php)
   Shared by all ~85 KnowRisk Reports / Guest Columns /
   Video & Webinar entries.
   ═══════════════════════════════════════════════════════ */
body.single-insight .page-header{padding:112px 3rem 40px;}
body.single-insight .page-header h1{max-width:760px;}
.page-header-meta{
    font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.08em;
    text-transform:uppercase;color:var(--text-mid);
}
.page-header-meta a{color:var(--gold-accessible);border-bottom:1px solid var(--gold-accessible);padding-bottom:1px;}

.article-section{background:var(--parchment);padding:72px 3rem 96px;}
.article-body{max-width:700px;margin:0 auto;background:var(--white);padding:3.2rem 3.6rem;border:1px solid rgba(11,25,41,0.08);}
.article-hero{width:100%;margin-bottom:2.4rem;border:1px solid rgba(11,25,41,0.08);}
.article-body h2{
    font-family:var(--font-display);font-size:1.5rem;font-weight:400;font-style:italic;
    color:var(--vault);line-height:1.3;margin:2.2rem 0 1.1rem;
}
.article-body h2:first-child{margin-top:0;}
.article-body p{font-size:1rem;font-weight:400;color:var(--text-mid);line-height:1.85;margin-bottom:1.3rem;}
.article-body img{margin:1.8rem 0;border:1px solid rgba(11,25,41,0.08);}
.article-body ul{margin:0 0 1.3rem 1.3rem;}
.article-body li{font-size:1rem;color:var(--text-mid);line-height:1.85;margin-bottom:0.4rem;}
.article-quote{
    border-left:3px solid var(--gold);padding-left:1.3rem;margin:1.8rem 0;
    font-family:var(--font-display);font-size:1.25rem;font-style:italic;
    color:var(--vault);line-height:1.5;
}
.article-quote cite{
    display:block;margin-top:0.5rem;font-family:var(--font-mono);font-size:0.72rem;
    font-style:normal;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-accessible);
}
.article-about{
    font-size:0.92rem;color:var(--slate);line-height:1.8;
    border-top:1px solid rgba(11,25,41,0.08);padding-top:1.6rem;margin-top:2rem;
}
.article-cta{
    margin-top:2.4rem;padding-top:2rem;border-top:1px solid rgba(11,25,41,0.08);
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
}
body.single-insight .article-disclosures{max-width:700px;padding:0;}

@media(max-width:960px){
    body.single-insight .page-header{padding:112px 1.5rem 32px;}
    .article-section{padding:48px 1.5rem 72px;}
    .article-body{padding:2.2rem 1.6rem;}
}

/* ═══════════════════════════════════════════════════════
   KNOWRISK REPORTS ARCHIVE (page-knowrisk-reports.php)
   Real year-paginated WP_Query archive, not a JS toggle --
   see page-knowrisk-reports.php for the ?archive_year= logic.
   ═══════════════════════════════════════════════════════ */
body.page-knowrisk-reports .page-header{padding:112px 3rem 40px;}
body.page-knowrisk-reports .page-header h1{max-width:700px;}
body.page-knowrisk-reports .page-header p{max-width:560px;}

.archive-wrap{max-width:820px;margin:0 auto;scroll-margin-top:120px;}
.archive-year{
    font-family:var(--font-mono);font-size:0.8rem;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--gold-accessible);margin:0 0 0.6rem;padding-bottom:0.6rem;
    border-bottom:1px solid rgba(11,25,41,0.1);
}
.archive-row{
    display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
    padding:0.85rem 0.2rem;border-bottom:1px solid rgba(11,25,41,0.06);
    transition:background 0.15s;
}
.archive-row:hover{background:rgba(200,168,107,0.06);}
.archive-row-main{display:flex;align-items:center;gap:1rem;min-width:0;}
.archive-thumb{
    width:52px;height:52px;object-fit:cover;flex-shrink:0;
    border-radius:2px;border:1px solid rgba(11,25,41,0.08);
}
.archive-row-title{
    font-family:var(--font-display);font-size:1.05rem;font-style:italic;color:var(--vault);
    transition:color 0.2s;
}
.archive-row:hover .archive-row-title{color:var(--gold-accessible);}
.archive-row-date{
    font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--slate);white-space:nowrap;flex-shrink:0;
}

.archive-pager{
    display:flex;align-items:center;justify-content:center;gap:1.6rem;
    max-width:820px;margin:3rem auto 0;padding-top:2rem;
    border-top:1px solid rgba(11,25,41,0.1);
}
.archive-pager-btn{
    font-family:var(--font-mono);font-size:0.72rem;font-weight:500;letter-spacing:0.13em;
    text-transform:uppercase;color:var(--institution);
    background:none;border:1px solid rgba(26,39,116,0.25);border-radius:2px;
    padding:0.75rem 1.3rem;display:inline-block;transition:background 0.2s,color 0.2s,border-color 0.2s;
    min-width:130px;text-align:center;
}
a.archive-pager-btn:hover{background:var(--institution);color:var(--white);border-color:var(--institution);}
span.archive-pager-btn[aria-disabled]{opacity:0.3;}
.archive-pager-year{
    font-family:var(--font-display);font-size:1.8rem;font-weight:300;font-style:italic;
    color:var(--vault);min-width:80px;text-align:center;
}

@media(max-width:960px){
    body.page-knowrisk-reports .page-header{padding:112px 1.5rem 32px;}
    .archive-row{flex-wrap:wrap;}
    .archive-pager{gap:1rem;}
    .archive-pager-btn{min-width:0;padding:0.7rem 1rem;}
}

/* ═══════════════════════════════════════════════════════
   ECONOMY MONITOR PAGE (page-economy-monitor.php)
   Charts are hotlinked directly to FRED's public graph-image
   endpoint (fred.stlouisfed.org/graph/fredgraph.png?g=...) --
   no API key or server proxy needed, same hotlink pattern as
   the article thumbnail images.
   ═══════════════════════════════════════════════════════ */
body.page-economy-monitor .page-header{padding:112px 3rem 40px;}
body.page-economy-monitor .page-header h1{max-width:700px;}
body.page-economy-monitor .page-header p{max-width:560px;}

.press-bar{
    background:var(--institution);padding:1.3rem 3rem;
    display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;
    border-bottom:1px solid rgba(200,168,107,0.15);
}
.press-bar p{font-size:0.92rem;font-weight:400;color:rgba(255,255,255,0.85);text-align:center;}
.press-bar strong{color:var(--gold);font-weight:600;}
.press-bar a.press-link{
    font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;
    color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:2px;white-space:nowrap;
}
.press-bar a.press-link:hover{color:var(--gold-light);border-color:var(--gold-light);}

.charts-section{background:var(--parchment);padding:96px 3rem;}
.charts-intro{max-width:680px;margin:0 auto 3.5rem;text-align:center;}
.charts-meta{max-width:1080px;margin:0 auto 1.6rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.charts-category{
    font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.16em;text-transform:uppercase;
    color:var(--vault);background:var(--gold);padding:0.3rem 0.7rem;border-radius:2px;
}
.charts-date{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--slate);}
.charts-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
    max-width:1080px;margin:0 auto;
    background:rgba(26,39,116,0.1);border:1px solid rgba(26,39,116,0.1);
}
.chart-card{background:var(--white);padding:1.8rem;}
.chart-card img{
    width:100%;aspect-ratio:2/1;object-fit:contain;display:block;
    background:var(--parchment);border:1px solid rgba(11,25,41,0.08);
    cursor:zoom-in;transition:border-color 0.2s;
}
.chart-card img:hover{border-color:var(--gold);}
.chart-img-wrap{position:relative;}
.chart-spinner{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:30px;height:30px;border-radius:50%;
    border:3px solid rgba(11,25,41,0.12);border-top-color:var(--gold);
    animation:chart-spin 0.8s linear infinite;pointer-events:none;
}
.chart-img-wrap.loaded .chart-spinner{display:none;}
@keyframes chart-spin{to{transform:translate(-50%,-50%) rotate(360deg);}}
.chart-error-msg{
    display:none;position:absolute;inset:0;align-items:center;justify-content:center;
    text-align:center;padding:1.5rem;font-size:0.85rem;color:var(--text-mid);
    background:var(--parchment);border:1px solid rgba(11,25,41,0.08);
}
.chart-error-msg a{color:var(--gold-accessible);border-bottom:1px solid var(--gold-accessible);padding-bottom:1px;}
.chart-img-wrap.errored .chart-img{display:none;}
.chart-img-wrap.errored .chart-error-msg{display:flex;}
.chart-caption{
    font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--vault);margin-top:0.9rem;
}
.charts-source{
    max-width:1080px;margin:1.6rem auto 0;text-align:right;
    font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--slate);
}
.charts-source a{border-bottom:1px solid var(--slate);padding-bottom:1px;}

.chart-lightbox{
    position:fixed;inset:0;z-index:1000;display:none;
    align-items:center;justify-content:center;padding:2rem;
    background:rgba(11,25,41,0.92);cursor:zoom-out;
}
.chart-lightbox.active{display:flex;}
.chart-lightbox img{
    max-width:min(1100px,92vw);max-height:88vh;width:auto;height:auto;
    aspect-ratio:auto;object-fit:contain;background:var(--white);
    border-radius:2px;box-shadow:0 20px 60px rgba(0,0,0,0.5);cursor:default;
}
.chart-lightbox-close{
    position:absolute;top:1.4rem;right:1.8rem;
    background:none;border:none;color:var(--white);
    font-size:2.2rem;line-height:1;cursor:pointer;
}

.news-section{background:var(--white);padding:88px 3rem;border-top:1px solid rgba(11,25,41,0.07);}
.news-header{
    display:flex;align-items:flex-end;justify-content:space-between;
    max-width:1080px;margin:0 auto 2.5rem;flex-wrap:wrap;gap:1rem;
}
.news-cards{
    display:grid;grid-template-columns:repeat(4,1fr);
    max-width:1080px;margin:0 auto;
    border:1px solid rgba(11,25,41,0.08);
}
.news-cards .insight-card:not(:last-child){border-right:1px solid rgba(11,25,41,0.08);}
.news-cards .insight-body{padding:1.6rem 1.8rem 2rem;}

@media(max-width:960px){
    body.page-economy-monitor .page-header{padding:112px 1.5rem 32px;}
    .press-bar{padding:1.1rem 1.5rem;}
    .charts-section,.news-section{padding:64px 1.5rem;}
    .charts-grid{grid-template-columns:1fr;}
    .news-cards{grid-template-columns:1fr;}
    .news-cards .insight-card:not(:last-child){border-right:none;border-bottom:1px solid rgba(11,25,41,0.08);}
}

/* ═══════════════════════════════════════════════════════
   CONTACT PAGE (page-contact.php)
   Form fields/markup are hand-styled (not CF7's default output)
   -- see page-contact.php for the [text]/[email]/[tel]/[textarea]
   tags placed inside this markup.
   ═══════════════════════════════════════════════════════ */
body.page-contact .page-header{padding:112px 3rem 40px;}
body.page-contact .page-header h1{max-width:700px;}
body.page-contact .page-header p{max-width:560px;}

.contact-section{background:var(--parchment);padding:88px 3rem 104px;}
.contact-wrap{max-width:600px;margin:0 auto;}
.contact-card{
    background:var(--white);border:1px solid rgba(11,25,41,0.08);
    padding:3.2rem;position:relative;overflow:hidden;
}
.contact-card::before{
    content:'';position:absolute;top:0;left:0;
    width:3px;height:100%;background:var(--gold);
}
.form-row{margin-bottom:1.6rem;}
.form-row:last-of-type{margin-bottom:0;}
.form-row label{
    display:block;font-family:var(--font-mono);
    font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--gold-accessible);margin-bottom:0.6rem;
}
.form-row label .optional{color:var(--slate);letter-spacing:0.08em;}
.form-row input,.form-row textarea{
    width:100%;font-family:var(--font-body);font-size:0.98rem;color:var(--vault);
    background:var(--parchment);border:1px solid rgba(11,25,41,0.15);
    padding:0.9rem 1rem;border-radius:2px;transition:border-color 0.2s,background 0.2s;
}
.form-row input:focus,.form-row textarea:focus{
    outline:none;border-color:var(--gold-accessible);background:var(--white);
}
.form-row textarea{min-height:130px;resize:vertical;line-height:1.6;}
.form-submit{
    width:100%;margin-top:0.6rem;
    font-family:var(--font-body);font-size:0.8rem;font-weight:500;letter-spacing:0.13em;
    text-transform:uppercase;color:var(--vault);
    background:var(--gold);padding:1.05rem 2.2rem;border:none;border-radius:2px;
    cursor:pointer;transition:background 0.2s;
}
.form-submit:hover{background:var(--gold-light);}
.contact-note{
    font-size:0.82rem;color:var(--text-mid);line-height:1.7;
    margin-top:1.4rem;text-align:center;
}
.contact-alt{text-align:center;margin-top:2.4rem;font-size:0.92rem;color:var(--text-mid);}

.form-success{display:none;text-align:center;padding:2rem 0;}
.form-success.active{display:block;}
.contact-card.submitted .wpcf7,
.contact-card.submitted .contact-note{display:none;}
.form-success-mark{
    width:52px;height:52px;border-radius:50%;
    border:2px solid var(--gold);color:var(--gold-accessible);
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 1.4rem;font-family:var(--font-display);font-size:1.6rem;font-style:italic;
}
.form-success h3{
    font-family:var(--font-display);font-size:1.7rem;font-weight:400;font-style:italic;
    color:var(--vault);margin-bottom:0.8rem;
}
.form-success p{font-size:0.95rem;color:var(--text-mid);line-height:1.7;max-width:400px;margin:0 auto;}

/* CF7 default chrome we don't want (the plugin's own not-sent/ok divs -- our .form-success replaces it) */
.wpcf7-response-output{display:none !important;}
.wpcf7-form-control-wrap{display:block;}
.wpcf7-not-valid-tip{display:block;font-size:0.78rem;color:#b3261e;margin-top:0.4rem;}

@media(max-width:960px){
    body.page-contact .page-header{padding:112px 1.5rem 32px;}
    .contact-section{padding:64px 1.5rem;}
    .contact-card{padding:2.2rem;}
}

/* ═══════════════════════════════════════════════════════
   LEGAL PAGES SHARED (page-privacy-policy.php, page-disclosures.php)
   Real content rendered via the_content(), editable from
   wp-admin -- unlike the marketing pages, this text changes
   over time and shouldn't require a developer to update.
   ═══════════════════════════════════════════════════════ */
body.page-privacy-policy .page-header,
body.page-disclosures .page-header{padding:112px 3rem 40px;}
body.page-privacy-policy .page-header h1,
body.page-disclosures .page-header h1{max-width:760px;}
body.page-privacy-policy .page-header p,
body.page-disclosures .page-header p{max-width:640px;}

.legal-section{background:var(--parchment);padding:72px 3rem 96px;}
.legal-body{max-width:760px;margin:0 auto;background:var(--white);padding:3.2rem 3.6rem;border:1px solid rgba(11,25,41,0.08);}
.legal-body h3{
    font-family:var(--font-display);font-size:1.5rem;font-weight:400;font-style:italic;
    color:var(--vault);line-height:1.3;margin:2.2rem 0 1.1rem;
}
.legal-body h3:first-child{margin-top:0;}
.legal-body h4{
    font-family:var(--font-display);font-size:1.15rem;font-weight:400;font-style:italic;
    color:var(--vault);line-height:1.3;margin:1.8rem 0 0.9rem;
}
.legal-body p{font-size:0.95rem;font-weight:400;color:var(--text-mid);line-height:1.85;margin-bottom:1.2rem;}
.legal-body ul{margin:0 0 1.2rem 1.3rem;}
.legal-body li{font-size:0.95rem;color:var(--text-mid);line-height:1.8;margin-bottom:0.4rem;}
.legal-body a{color:var(--gold-accessible);border-bottom:1px solid var(--gold-accessible);padding-bottom:1px;}
.legal-body strong{color:var(--vault);}

@media(max-width:960px){
    body.page-privacy-policy .page-header,
    body.page-disclosures .page-header{padding:112px 1.5rem 32px;}
    .legal-section{padding:48px 1.5rem 72px;}
    .legal-body{padding:2.2rem 1.6rem;}
}

/* ═══════════════════════════════════════════════════════
   FAMILY WEALTH PAGE (page-family.php)
   ═══════════════════════════════════════════════════════ */
body.page-family .page-header{padding:112px 3rem 40px;}

/* ─── SITUATIONS TIE-IN ──────────────────────────────── */
.tiein-section{background:var(--institution);padding:80px 3rem;}
.tiein-inner{max-width:780px;margin:0 auto;text-align:center;}
.section-p.light{color:var(--text-faint);}
.situations-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem 2.6rem;
    max-width:1080px;margin:3rem auto 0;text-align:left;
}
.situation-item{border-left:1px solid rgba(200,168,107,0.28);padding-left:1.3rem;}
.situation-name{
    font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--gold);margin-bottom:0.5rem;
}
.situation-text{font-size:0.92rem;font-weight:400;color:rgba(255,255,255,0.80);line-height:1.72;}

@media(max-width:960px){
    body.page-family .page-header{padding:112px 1.5rem 32px;}
    .tiein-section{padding:64px 1.5rem;}
    .situations-grid{grid-template-columns:1fr;}
}

/* ═══════════════════════════════════════════════════════
   FUND PAGES SHARED (Navigator, Dividend Income)
   ═══════════════════════════════════════════════════════ */
body.page-navigator .page-header,
body.page-dividend-income .page-header,
body.page-evergreen .page-header{padding:112px 3rem 40px;}
.page-header-logo{height:52px;width:auto;margin-bottom:1.6rem;}
body.page-navigator .page-header h1{max-width:700px;}
body.page-navigator .page-header p{max-width:560px;}
body.page-dividend-income .page-header h1{max-width:840px;}
body.page-dividend-income .page-header p{max-width:760px;}
body.page-evergreen .page-header h1{max-width:760px;}

.nav-section{background:var(--institution);padding:96px 3rem;position:relative;overflow:hidden;}
.nav-inner{
    max-width:1080px;margin:0 auto;
    display:grid;grid-template-columns:1fr 1fr;gap:5rem;
    align-items:start;position:relative;
}
.pillars{display:flex;flex-direction:column;gap:2.2rem;}
.pillar{border-left:1px solid rgba(200,168,107,0.28);padding-left:1.4rem;}
.pillar-name{
    font-family:var(--font-mono);
    font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--gold);margin-bottom:0.5rem;
}
.pillar-text{font-size:0.98rem;font-weight:400;color:rgba(255,255,255,0.80);line-height:1.76;}
button.btn-primary{border:none;font-family:var(--font-body);cursor:pointer;}
.arrow-link.light{color:var(--gold);border-bottom-color:var(--gold);}
.arrow-link.light:hover{color:var(--gold-light);}

/* ─── EMAIL CAPTURE (template-parts/ctc-form.php) ────── */
.email-gate-form{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;margin-top:0.5rem;}
.email-gate-form input{
    font-family:var(--font-body);font-size:0.92rem;
    padding:0.85rem 1.1rem;border:1px solid rgba(200,168,107,0.3);
    background:rgba(255,255,255,0.05);color:var(--white);
    border-radius:2px;min-width:240px;
}
.email-gate-form input::placeholder{color:rgba(255,255,255,0.45);}
.email-gate-form input:focus{outline:none;border-color:var(--gold);}
.email-gate-note{
    font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--gold);margin-top:0.9rem;
}
.email-gate-download{margin-top:1.1rem;}

/* Navigator-specific compass watermark (image lives in assets/img/) */
body.page-navigator .nav-section::before{
    content:'';
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:clamp(460px,60vw,820px);height:clamp(460px,60vw,820px);
    background:url('assets/img/navigator-compass.png') center/contain no-repeat;
    filter:invert(1);
    opacity:0.22;pointer-events:none;
}

@media(max-width:960px){
    body.page-navigator .page-header,
    body.page-dividend-income .page-header,
    body.page-evergreen .page-header{padding:112px 1.5rem 32px;}
    .nav-section{padding:64px 1.5rem;}
    .nav-inner{grid-template-columns:1fr;gap:2.5rem;}
}

/* ═══════════════════════════════════════════════════════
   EVERGREEN FUND PAGE (page-evergreen.php)
   Deliberately minimal -- see the template's own comment.
   Logo + awards + an accredited-investor notice, nothing else.
   ═══════════════════════════════════════════════════════ */
body.page-evergreen .page-header{
    background:linear-gradient(90deg,var(--parchment) 0%,var(--parchment) 42%,rgba(245,243,239,0.6) 62%,rgba(245,243,239,0.1) 85%),url('https://equitas.capital/wp-content/uploads/2022/06/EvergreenQ.jpg') right center/cover no-repeat;
}

.evergreen-gate-section{background:var(--parchment);padding:88px 3rem 104px;}
.evergreen-gate-inner{max-width:600px;margin:0 auto;text-align:center;}
.evergreen-logo{max-width:260px;margin:0 auto 3.4rem;height:auto;}
.evergreen-awards{
    display:flex;align-items:stretch;justify-content:center;gap:1.4rem;
    margin-bottom:2.8rem;flex-wrap:wrap;
}
.evergreen-award{
    display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem;
    background:var(--white);border:1px solid rgba(11,25,41,0.08);
    padding:1.7rem 1.6rem;width:190px;transition:border-color 0.2s;
}
.evergreen-award:hover{border-color:var(--gold);}
.evergreen-award-img-wrap{display:flex;align-items:center;justify-content:center;height:64px;}
.evergreen-award img{max-height:64px;max-width:100%;width:auto;object-fit:contain;}
.evergreen-award-label{
    font-family:var(--font-mono);font-size:0.64rem;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--slate);text-align:center;line-height:1.55;
}
.evergreen-notice{
    font-size:0.92rem;font-weight:500;color:var(--vault);line-height:1.7;
    border-top:1px solid rgba(11,25,41,0.1);padding-top:1.8rem;
}

@media(max-width:960px){
    body.page-evergreen .page-header::after{display:none;}
    .evergreen-gate-section{padding:64px 1.5rem;}
    .evergreen-awards{gap:1.2rem;}
    .evergreen-award{width:150px;padding:1.3rem 1.2rem;}
}

/* ═══════════════════════════════════════════════════════
   DIVIDEND INCOME PAGE (page-dividend-income.php)
   Eyebrow/pillar-name text sizes were deliberately enlarged
   on this page only (not shared with Navigator).
   ═══════════════════════════════════════════════════════ */
body.page-dividend-income .eyebrow,
body.page-dividend-income .eyebrow.on-dark,
body.page-dividend-income .pillar-name{font-size:0.88rem;letter-spacing:0.14em;}

/* CSS-text ghost watermark (not an image, unlike Navigator's compass) */
body.page-dividend-income .nav-section::before{
    content:'INCOME';
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    font-family:var(--font-display);
    font-size:clamp(60px,10vw,140px);font-weight:300;letter-spacing:0.18em;
    color:rgba(255,255,255,0.025);white-space:nowrap;pointer-events:none;
}

.track-section{background:var(--parchment);padding:88px 3rem;text-align:center;}
.track-inner{max-width:640px;margin:0 auto;}
.track-stat{
    display:block;
    font-family:var(--font-display);font-size:clamp(3rem,6vw,5rem);
    font-weight:300;color:var(--institution);line-height:1;margin-bottom:0.6rem;
}
.track-label{
    font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--gold-accessible);margin-bottom:1.6rem;display:block;
}

.why-section{background:var(--white);padding:88px 3rem;}
.why-inner{max-width:820px;margin:0 auto;}
.why-inner .section-p{margin-bottom:1.3rem;}
.why-reading{
    margin-top:2.4rem;padding-top:2rem;border-top:1px solid rgba(11,25,41,0.08);
    display:flex;flex-direction:column;gap:0.7rem;
}

@media(max-width:960px){
    .track-section,.why-section{padding:64px 1.5rem;}
}

/* ═══════════════════════════════════════════════════════
   KNOWRISK HUB PAGE (page-knowrisk.php)
   ═══════════════════════════════════════════════════════ */
.knowrisk-section{background:var(--parchment);padding:88px 3rem 96px;}
.knowrisk-inner{
    max-width:1080px;margin:0 auto;
    display:grid;grid-template-columns:auto 1fr;gap:5rem;align-items:start;
}
.kr-monogram-wrap{position:relative;width:169px;height:169px;flex-shrink:0;}
.kr-monogram-wrap::after{
    content:'';position:absolute;top:9px;left:9px;
    width:160px;height:160px;border:2px solid var(--gold);
    pointer-events:none;z-index:0;
}
.kr-monogram{
    position:absolute;top:0;left:0;width:160px;height:160px;
    border:2px solid var(--vault);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    background:var(--white);z-index:1;
}
.kr-mono-letters{font-family:var(--font-display);font-size:4.5rem;font-weight:600;line-height:1;color:var(--vault);letter-spacing:-0.02em;}
.kr-mono-label{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold-accessible);margin-top:0.4rem;}
.kr-list{list-style:none;display:flex;flex-direction:column;gap:0.9rem;margin-top:1.4rem;}
.kr-list li{font-size:0.98rem;font-weight:400;color:var(--text-mid);padding-left:0.9rem;border-left:2px solid var(--gold);line-height:1.6;}
.kr-list strong{font-weight:500;color:var(--vault);}
.kr-list a{border-bottom:1px solid var(--gold);padding-bottom:1px;transition:color 0.2s,border-color 0.2s;}
.kr-list a:hover{color:var(--gold-accessible);border-color:var(--gold-accessible);}

.insights-section{background:var(--white);padding:88px 3rem;border-top:1px solid rgba(11,25,41,0.07);}
.insights-header{
    display:flex;align-items:flex-end;justify-content:space-between;
    max-width:1080px;margin:0 auto 2.5rem;flex-wrap:wrap;gap:1rem;
}

/* Boxed email-gate card -- distinct from the full-section
   .still-questions gate used by template-parts/ctc-form.php;
   this one redirects to another page after submit (see theme.js). */
.email-gate{
    max-width:680px;margin:0 auto 3.5rem;
    background:var(--institution);padding:3rem;text-align:center;
    border:1px solid rgba(200,168,107,0.2);
}
.email-gate h3{
    font-family:var(--font-display);font-size:1.7rem;font-weight:300;font-style:italic;
    color:var(--white);margin:0.6rem 0 0.8rem;
}
.email-gate p{font-size:0.95rem;color:rgba(255,255,255,0.75);line-height:1.7;max-width:480px;margin:0 auto 1.6rem;}

@media(max-width:960px){
    .knowrisk-section,.insights-section{padding:64px 1.5rem;}
    .knowrisk-inner{grid-template-columns:1fr;gap:2.5rem;}
}

/* ═══════════════════════════════════════════════════════
   TEAM PAGE (page-team.php)
   ═══════════════════════════════════════════════════════ */
body.page-team .page-header h1{max-width:700px;}
body.page-team .page-header p{max-width:560px;}

.team-section{background:var(--white);padding:96px 3rem;}
.team-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;
    max-width:1080px;margin:0 auto;
}
.team-card{text-align:center;}
.team-photo-wrap{
    width:100%;max-width:220px;aspect-ratio:5/6;
    overflow:hidden;
    background:var(--parchment);margin:0 auto 1.1rem;
}
.team-photo-wrap img{
    width:100%;height:100%;
    object-fit:cover;object-position:top center;
    filter:grayscale(15%);transition:filter 0.3s;
}
.team-card:hover .team-photo-wrap img{filter:grayscale(0%);}
.team-name{
    font-family:var(--font-brand);
    font-size:0.74rem;font-weight:600;letter-spacing:0.1em;
    text-transform:uppercase;color:var(--vault);
    margin-bottom:0.45rem;line-height:1.4;
}
.team-title{
    font-family:var(--font-mono);
    font-size:0.70rem;letter-spacing:0.1em;text-transform:uppercase;
    color:var(--gold-accessible);line-height:1.5;
}
.team-footer{
    text-align:center;margin-top:3rem;padding-top:2rem;
    border-top:1px solid rgba(11,25,41,0.08);
    max-width:1080px;margin-left:auto;margin-right:auto;
}
.team-footer p{
    font-family:var(--font-display);
    font-size:clamp(1.4rem,2.2vw,2rem);
    font-weight:300;font-style:italic;color:var(--text-mid);
}
.team-footer em{font-style:normal;font-weight:500;color:var(--vault);}

@media(max-width:960px){
    .team-section{padding:64px 1.5rem;}
    .team-grid{grid-template-columns:repeat(2,1fr);}
}

/* ═══════════════════════════════════════════════════════
   EQUITAS HISTORY PAGE (page-equitas-history.php)
   ═══════════════════════════════════════════════════════ */
.history-section{background:var(--white);padding:96px 3rem;}
.history-timeline{
    max-width:760px;margin:0 auto;
    border-left:2px solid rgba(26,39,116,0.15);
}
.history-item{position:relative;padding:0 0 3rem 2.6rem;}
.history-item:last-child{padding-bottom:0;}
.history-item::before{
    content:'';position:absolute;left:-7px;top:0.35rem;
    width:12px;height:12px;border-radius:50%;
    background:var(--white);border:2px solid var(--gold-accessible);
}
.history-year{
    font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.12em;
    text-transform:uppercase;color:var(--gold-accessible);margin-bottom:0.4rem;
}
.history-item h3{
    font-family:var(--font-display);font-size:1.5rem;font-weight:400;
    color:var(--vault);margin-bottom:0.5rem;
}
.history-item p{font-size:0.98rem;line-height:1.75;color:var(--text-mid);max-width:640px;}
.history-source{
    text-align:center;margin-top:3rem;padding-top:2rem;
    border-top:1px solid rgba(11,25,41,0.08);
    max-width:760px;margin-left:auto;margin-right:auto;
}
.history-source p{font-size:0.85rem;line-height:1.7;color:var(--slate);}

.innovations-section{background:var(--parchment);padding:88px 3rem;}
.innovations-inner{max-width:1000px;margin:0 auto;}
.innovations-eyebrow{
    font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.22em;
    text-transform:uppercase;color:var(--gold-accessible);margin-bottom:0.8rem;
    display:block;text-align:center;
}
.innovations-section h2{
    font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);
    font-weight:300;color:var(--vault);text-align:center;margin-bottom:0.8rem;
}
.innovations-section h2 em{font-style:italic;color:var(--gold-accessible);}
.innovations-lede{
    font-size:1rem;line-height:1.8;color:var(--text-mid);
    max-width:720px;margin:0 auto 3rem;text-align:center;
}
.innovations-grid{display:flex;flex-wrap:wrap;gap:0.9rem;justify-content:center;}
.innovation-chip{
    background:var(--white);border:1px solid rgba(26,39,116,0.15);border-radius:6px;
    padding:1rem 1.3rem;min-width:150px;text-align:center;
}
.innovation-chip .yr{
    font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.08em;
    color:var(--gold-accessible);margin-bottom:0.35rem;
}
.innovation-chip .lbl{font-size:0.92rem;color:var(--vault);font-weight:500;line-height:1.35;}

@media(max-width:960px){
    .history-section{padding:64px 1.5rem;}
    .innovations-section{padding:56px 1.5rem;}
}

/* ═══════════════════════════════════════════════════════
   FAQ PAGE (page-faq.php)
   ═══════════════════════════════════════════════════════ */
body.page-faq .page-header h1{max-width:700px;}
body.page-faq .page-header h1 em{font-style:italic;color:var(--gold);}
body.page-faq .page-header p{max-width:520px;}

.qa-body{background:var(--institution);padding:0 3rem 96px;}
.qa-columns{
    max-width:1080px;margin:0 auto;
    display:grid;grid-template-columns:1fr 1fr;
    border:1px solid rgba(200,168,107,0.15);
}
.qa-col{border-right:1px solid rgba(200,168,107,0.12);}
.qa-col:last-child{border-right:none;}
.qa-track-label{
    font-family:var(--font-mono);
    font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--gold);padding:1.4rem 2rem;
    border-bottom:1px solid rgba(200,168,107,0.12);
    background:rgba(200,168,107,0.04);
    position:sticky;top:72px;z-index:10;
}
.qa-item{
    padding:2rem 2rem;
    border-bottom:1px solid rgba(200,168,107,0.08);
    transition:background 0.2s;
}
.qa-item:last-child{border-bottom:none;}
.qa-item:hover{background:rgba(200,168,107,0.03);}
.qa-q{
    font-family:var(--font-display);
    font-size:1.2rem;font-weight:400;font-style:italic;
    color:var(--white);margin-bottom:0.8rem;line-height:1.4;
}
.qa-a{font-size:0.96rem;font-weight:400;color:rgba(255,255,255,0.82);line-height:1.85;}

@media(max-width:960px){
    .qa-body{padding:0 1.5rem 72px;}
    .qa-columns{grid-template-columns:1fr;}
    .qa-col{border-right:none;}
    .qa-track-label{position:static;}
}

/* ═══════════════════════════════════════════════════════
   LISTING PAGES SHARED (Guest Columns, Video & Webinar)
   ═══════════════════════════════════════════════════════ */
.listing-section{background:var(--parchment);padding:88px 3rem;}
.listing-intro{max-width:680px;margin:0 auto 3.5rem;text-align:center;}

@media(max-width:960px){
    .listing-section{padding:64px 1.5rem;}
}

/* ═══════════════════════════════════════════════════════
   HOME PAGE (front-page.php)
   ═══════════════════════════════════════════════════════ */

/* ─── HERO ───────────────────────────────────────────── */
.hero{
    background:linear-gradient(90deg,var(--parchment) 0%,var(--parchment) 48%,rgba(245,243,239,0.55) 64%,rgba(245,243,239,0.05) 82%),url('assets/img/hero-column-sky.jpg') right center / cover no-repeat;
    padding:92px 3rem 8px;
    position:relative;overflow:hidden;
}
.hero::before{
    content:'';
    position:absolute;left:0;top:12%;bottom:12%;
    width:4px;
    background:linear-gradient(to bottom,transparent,var(--gold) 25%,var(--gold) 75%,transparent);
}
.hero-eyebrow{
    font-family:var(--font-mono);
    font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;
    color:var(--gold-accessible);margin-bottom:1.5rem;display:block;
}
.hero-headline{
    font-family:var(--font-display);
    font-size:clamp(1.9rem,3.3vw,3.9rem);
    font-weight:300;font-style:normal;
    color:var(--vault);line-height:1.15;
    max-width:1040px;margin-bottom:1.8rem;
}
.hero-headline em{color:var(--gold-accessible);}
.hero-sub{
    font-size:clamp(1.05rem,1.2vw,1.3rem);font-weight:400;line-height:1.82;
    color:var(--text-mid);max-width:700px;margin-bottom:0.8rem;
}
/* ─── REQUEST BAR ────────────────────────────────────── */
.request-bar{
    background:var(--institution);padding:0.7rem 3rem;
    display:flex;align-items:center;justify-content:center;gap:1.6rem;flex-wrap:wrap;
}
.request-bar p{
    font-family:var(--font-display);font-size:1.15rem;font-weight:300;font-style:italic;
    color:var(--gold-light);
}
.stat-val{
    font-family:var(--font-display);
    font-size:1.6rem;font-weight:300;color:var(--institution);
    line-height:1;margin-bottom:0.2rem;
}
.stat-val.stat-primary{font-size:2rem;}
.stat-val sup{font-size:0.9rem;vertical-align:super;}
.stat-lbl{
    font-family:var(--font-mono);
    font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-mid);
}

/* ─── CREDENTIALS BAR ────────────────────────────────── */
.credentials-bar{background:var(--white);padding:2rem 3rem;border-top:1px solid rgba(11,25,41,0.08);}
.credentials-stats{
    display:flex;gap:2.6rem;flex-wrap:wrap;justify-content:center;
    max-width:1080px;margin:0 auto;
}

/* ─── WHO WE SERVE ───────────────────────────────────── */
.paths-section{background:var(--parchment);padding:32px 3rem 104px;}
.paths-eyebrow-wrap{text-align:center;margin-bottom:1.6rem;}
.paths-intro{text-align:center;max-width:680px;margin:0 auto 3rem;}
.paths-grid{
    display:grid;grid-template-columns:1fr 1fr;
    max-width:1080px;margin:0 auto;
    border:1px solid rgba(11,25,41,0.08);
}
.path-card{
    background:var(--white);padding:3.2rem;
    display:flex;flex-direction:column;
    position:relative;overflow:hidden;
}
.path-card:first-child{border-right:1px solid rgba(11,25,41,0.08);}
.path-card::after{
    content:'';position:absolute;top:0;left:0;
    width:3px;height:100%;background:var(--gold);
    transform:scaleY(0);transform-origin:top;transition:transform 0.3s ease;
}
.path-card:hover::after{transform:scaleY(1);}
.path-track{
    display:block;margin-bottom:0.5rem;
    font-family:var(--font-mono);
    font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-accessible);
}
.path-card h3{
    font-family:var(--font-display);
    font-size:clamp(2.1rem,2.6vw,2.5rem);font-weight:500;font-style:italic;
    color:var(--vault);line-height:1.2;
    display:inline-block;margin-bottom:1.3rem;padding-bottom:0.55rem;
    border-bottom:2px solid var(--gold);
}
.paths-intro .section-h{font-size:clamp(1.6rem,2.2vw,2.15rem);}
.path-card p{font-size:1rem;font-weight:400;color:var(--text-mid);line-height:1.82;flex:1;margin-bottom:1.4rem;}

/* ─── AWARDS ─────────────────────────────────────────── */
.awards-section{
    background:var(--institution);padding:48px 3rem;
    border-top:1px solid rgba(200,168,107,0.08);
}
.awards-inner{max-width:1080px;margin:0 auto;}
.awards-section-label{
    display:block;font-family:var(--font-display);
    font-size:clamp(1.7rem,2.4vw,2.3rem);font-weight:300;font-style:italic;
    color:var(--gold);margin-bottom:1.8rem;
    padding-bottom:0.9rem;border-bottom:1px solid rgba(200,168,107,0.15);
}
.awards-groups{display:flex;gap:5rem;flex-wrap:wrap;justify-content:center;}
.awards-group-label{
    font-family:var(--font-mono);
    font-size:0.82rem;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--slate);margin-bottom:0.9rem;display:block;
}
.awards-list{display:flex;flex-direction:column;gap:0.7rem;}
.award-item{display:block;text-decoration:none;}
.award-item:hover .award-name{color:var(--gold);}
.award-name{font-size:0.88rem;font-weight:400;color:var(--white);display:block;line-height:1.3;transition:color 0.2s;}
.award-org{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--slate);display:block;}

/* ─── PARTNERS ───────────────────────────────────────── */
.partners-section{
    background:var(--parchment);padding:56px 3rem;
    border-top:1px solid rgba(11,25,41,0.06);
}
.partners-eyebrow{
    display:block;text-align:center;
    font-family:var(--font-mono);
    font-size:0.88rem;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--gold-accessible);margin-bottom:2.4rem;
}
.partners-grid{
    display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
    gap:1.8rem 3rem;max-width:900px;margin:0 auto;
}
.partner-logo-box{height:40px;width:130px;display:flex;align-items:center;justify-content:center;}
.partner-logo{max-height:100%;max-width:100%;width:auto;height:auto;opacity:0.45;transition:opacity 0.2s;filter:grayscale(100%);}
.partner-logo:hover{opacity:1;filter:grayscale(0%);}

/* ─── FOUNDER VIDEO ──────────────────────────────────── */
.video-section{
    background:var(--institution);padding:96px 3rem;
    position:relative;
}
.video-section::before{
    content:'';
    position:absolute;left:0;top:12%;bottom:12%;
    width:4px;
    background:linear-gradient(to bottom,transparent,#E8C46A 25%,#E8C46A 75%,transparent);
}
.video-inner{
    max-width:1080px;margin:0 auto;
    display:grid;grid-template-columns:1fr 1fr;
    gap:5rem;align-items:center;
}
.video-label{
    font-family:var(--font-mono);
    font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;
    color:#E8C46A;margin-bottom:1.2rem;display:block;
}
.video-heading{
    font-family:var(--font-display);
    font-size:clamp(2rem,3.2vw,3.4rem);
    font-weight:300;font-style:normal;
    color:var(--white);line-height:1.15;margin-bottom:1.2rem;
}
.video-heading em{font-style:italic;color:#E8C46A;}
.video-desc{font-size:1rem;font-weight:400;line-height:1.82;color:rgba(255,255,255,0.75);}
.video-embed{
    position:relative;width:100%;padding-bottom:56.25%;
    border:1px solid rgba(200,168,107,0.15);
}
.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}

/* ─── CLOSING CTA ────────────────────────────────────── */
.cta-section{
    background:var(--institution);padding:112px 3rem;
    text-align:center;position:relative;overflow:hidden;
    border-top:1px solid rgba(200,168,107,0.08);
}
.cta-section::before{
    content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:1px;height:52px;background:linear-gradient(to bottom,transparent,var(--gold));
}
.cta-section::after{
    content:'"';
    position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);
    font-family:var(--font-display);
    font-size:clamp(200px,30vw,420px);
    font-weight:300;font-style:italic;
    color:rgba(200,168,107,0.04);
    line-height:1;pointer-events:none;user-select:none;
}
.cta-inner{position:relative;z-index:1;}
.cta-heading{
    font-family:var(--font-display);
    font-size:clamp(2rem,3.5vw,3.8rem);
    font-weight:300;font-style:normal;
    color:var(--white);line-height:1.18;
    max-width:600px;margin:0 auto 1.4rem;
}
.cta-heading em{font-style:italic;color:var(--gold);}
.cta-sub{
    font-size:1rem;font-weight:400;color:rgba(255,255,255,0.68);
    max-width:440px;margin:0 auto 2.6rem;line-height:1.78;
}

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media(max-width:1250px){
    .nav-links{display:none;}
    .nav-btn{display:none;}
    .nav-hamburger{display:flex;}
}
@media(max-width:960px){
    .nav{padding:0 1.5rem;}
    .nav-links{display:none;}
    .nav-logo-full{height:60px;}
    .hero{padding:104px 1.5rem 20px;background:var(--parchment);}
    .hero::before{display:none;}
    .hero-headline{max-width:calc(100% - 120px);}
    .paths-grid{grid-template-columns:1fr;}
    .path-card:first-child{border-right:none;border-bottom:1px solid rgba(11,25,41,0.08);}
    .awards-section,.partners-section{padding:36px 1.5rem;}
    .video-section{padding:64px 1.5rem;}
    .video-inner{grid-template-columns:1fr;gap:2.5rem;}
    .awards-groups{gap:2.5rem;}
    .cta-section{padding:80px 1.5rem;}
    .footer{padding:1.4rem 1.5rem;}
}
@media(max-width:600px){
    .hero-headline{max-width:100%;}
}
@media(max-width:420px){
    .nav-logo-full{display:none;}
    .nav-logo-column{
        display:block;height:52px;width:auto;border-radius:8px;
        background:#fff;padding:4px 8px;box-shadow:0 2px 10px rgba(0,0,0,0.18);flex-shrink:0;
    }
    .nav-btn{display:none;}
}
