/* =====================================================================

   UNISORTED.CO.UK - STUDENT ZINE REDESIGN

   Friendly, honest, student-focused. No AI gradients, shadows, or emojis.

   ===================================================================== */



:root {

    --tg-paper: #ffffff;

    --tg-paper-2: #f7f7f7;

    --tg-paper-3: #eeeeee;

    --tg-ink: #1a1a1a;

    --tg-ink-soft: #2a2a2a;

    --tg-mute: #6b6864;

    --tg-mute-2: #9a9690;

    --tg-border: #1a1a1a;

    --tg-border-soft: #e5e5e5;

    --tg-orange: #FF5722;          /* logo orange - unchanged for brand */

    --tg-orange-dark: #E64A19;

    --tg-orange-tint: #fff5f0;

    --tg-cream: #ffffff;

    --tg-orange-text: #c2410c;     /* orange that meets text - AA safe (2026-06-01) */

    --tg-border-input: #cfcbc6;    /* form control hairline */

    --tg-radius: 0;

    --tg-radius-lg: 0;

}



html, body {

    background: #fff !important;

    color: var(--tg-ink) !important;

}



body,

.hfeed.site,

.site-content,

main#main,

#content,

.ast-container,

.ast-container-fluid,

.ast-page-builder-template .entry-content,

.site,

.ast-padded-layout .site {

    background: #fff !important;

    color: var(--tg-ink) !important;

    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;

}



/* Reset legacy Astra custom button → logo orange, chunkier */

.ast-custom-button {

    padding: 14px 28px !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    font-family: 'Inter', sans-serif !important;

    border-radius: var(--tg-radius) !important;

    background: var(--tg-orange) !important;

    color: #fff !important;

    text-transform: none !important;

    letter-spacing: 0.1em !important;

    border: none !important;

    box-shadow: none !important;

    transition: background 0.15s ease !important;

    white-space: nowrap !important;

}

.ast-custom-button:hover {

    background: var(--tg-orange-dark) !important;

    box-shadow: none !important;

    transform: none !important;

}



/* =====================================================================

   UNIVERSAL .tg-* NORMALISATION

   Every n8n-generated wrapper inherits the same tokens.

   ===================================================================== */



[class^="tg-"],

[class*=" tg-"] {

    box-shadow: none !important;

    text-shadow: none !important;

    backdrop-filter: none !important;

    -webkit-backdrop-filter: none !important;

}

[class^="tg-"]::before,

[class*=" tg-"]::before,

[class^="tg-"]::after,

[class*=" tg-"]::after {

    box-shadow: none !important;

    text-shadow: none !important;

    backdrop-filter: none !important;

    -webkit-backdrop-filter: none !important;

}





/* (gradient overrides removed - per-post CSS is clean) */



/* =====================================================================

   HOMEPAGE  (.tg-home)

   ===================================================================== */



.tg-home {

    font-size: 16px !important;

    line-height: 1.6 !important;

    max-width: 1200px !important;

    padding: 18px 28px 60px !important;

    margin: 0 auto !important;

    counter-reset: section !important;

}

.tg-home * {

    border-radius: 0!important;

    box-shadow: none !important;

    text-shadow: none !important;

}



/* Alert */

.tg-home .tg-alert {

    background: var(--tg-orange-tint) !important;

    border: none !important;

    border-top: 4px solid var(--tg-orange) !important;

    border-radius: var(--tg-radius) !important;

    padding: 14px 18px !important;

    margin: 0 0 28px !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    color: var(--tg-ink) !important;

    display: flex !important;

    gap: 14px !important;

    align-items: center !important;

}

.tg-home .tg-alert > span:first-child { display: none !important; }

.tg-home .tg-alert::before {

    content: 'HEADS UP' !important;

    font-family: 'Inter', sans-serif !important;

    font-weight: 800 !important;

    font-size: 10px !important;

    letter-spacing: 0.18em !important;

    color: var(--tg-orange) !important;

    background: #fff !important;

    padding: 5px 10px !important;

    border-radius: var(--tg-radius) !important;

    flex-shrink: 0 !important;

}

.tg-home .tg-alert strong { color: var(--tg-ink) !important; font-weight: 700 !important; }

.tg-home .tg-alert a {

    color: var(--tg-orange-dark) !important;

    font-weight: 700 !important;

    text-decoration: underline !important;

    text-underline-offset: 3px !important;

    text-decoration-thickness: 2px !important;

}



/* Hero */

.tg-home .tg-hero {

    display: grid !important;

    grid-template-columns: 1.5fr 1fr !important;

    gap: 18px !important;

    margin: 0 0 40px !important;

    border: none !important;

    padding: 0 !important;

}

.tg-home .tg-hero-main {

    position: relative !important;

    min-height: 480px !important;

    border-radius: var(--tg-radius-lg) !important;

    overflow: hidden !important;

    display: block !important;

    border: 1px solid var(--tg-ink) !important;

    padding: 0 !important;

    background: var(--tg-ink) !important;

}

.tg-home .tg-hero-img {

    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;

    height: 100% !important;

    object-fit: cover !important;

    filter: none !important;

    border: none !important;

}

.tg-home .tg-hero-overlay {

    display: block !important;

    position: absolute !important;

    inset: 0 !important;

    background: linear-gradient(to top, rgba(10,10,10,0.85) 0%, rgba(10,10,10,0.45) 45%, rgba(10,10,10,0.05) 100%) !important;

}

.tg-home .tg-hero-body {

    position: absolute !important;

    inset: auto 0 0 0 !important;

    z-index: 2 !important;

    padding: 34px 38px !important;

    background: transparent !important;

    color: #fff !important;

}

.tg-home .tg-tag {

    display: inline-block !important;

    background: var(--tg-orange) !important;

    color: #fff !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    padding: 6px 12px !important;

    margin: 0 0 16px !important;

    letter-spacing: 0.14em !important;

    text-transform: uppercase !important;

    border-radius: var(--tg-radius) !important;

    border: none !important;

}

.tg-home .tg-hero-body h1 {

    font-family: Archivo, sans-serif !important;

    font-size: 54px !important;

    font-weight: 900 !important;

    line-height: 0.98 !important;

    margin: 0 0 14px !important;

    color: #fff !important;

    letter-spacing: -0.03em !important;

    max-width: 640px !important;

}

.tg-home .tg-hero-body > p {

    font-family: 'Inter', sans-serif !important;

    font-size: 15px !important;

    line-height: 1.55 !important;

    color: rgba(255,255,255,0.85) !important;

    max-width: 560px !important;

    margin: 0 0 20px !important;

}

.tg-home .tg-hero-cta {

    display: inline-block !important;

    background: var(--tg-orange) !important;

    color: #fff !important;

    font-family: 'Inter', sans-serif !important;

    font-weight: 700 !important;

    font-size: 13px !important;

    padding: 12px 22px !important;

    border-radius: var(--tg-radius) !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    border: none !important;

}

.tg-home .tg-hero-cta:hover {

    background: var(--tg-orange-dark) !important;

    color: #fff !important;

}



.tg-home .tg-hero-stack {

    display: flex !important;

    flex-direction: column !important;

    gap: 14px !important;

    padding: 0 !important;

}

.tg-home .tg-hcard {

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 22px 22px !important;

    display: block !important;

    flex: 1 !important;

    transition: border-color 0.15s ease !important;

}

.tg-home .tg-hcard:hover { border-color: var(--tg-orange) !important; }

.tg-home .tg-hcard-label,

.tg-home .tg-hcard-label.green,

.tg-home .tg-hcard-label.orange {

    font-family: 'Inter', sans-serif !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    text-transform: uppercase !important;

    letter-spacing: 0.14em !important;

    margin: 0 0 10px !important;

    color: var(--tg-orange) !important;

    display: inline-block !important;

    background: var(--tg-orange-tint) !important;

    padding: 4px 10px !important;

    border-radius: var(--tg-radius) !important;

}

.tg-home .tg-hcard h2 {

    font-family: Archivo, sans-serif !important;

    font-size: 22px !important;

    font-weight: 800 !important;

    line-height: 1.1 !important;

    margin: 0 0 6px !important;

    color: var(--tg-ink) !important;

    letter-spacing: -0.02em !important;

}

.tg-home .tg-hcard h2 a { color: var(--tg-ink) !important; text-decoration: none !important; }

.tg-home .tg-hcard h2 a:hover { color: var(--tg-orange) !important; }

.tg-home .tg-hcard p {

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    color: var(--tg-mute) !important;

    line-height: 1.55 !important;

    margin: 0 !important;

}



/* Broadband callout */

.tg-home .tg-callout {

    background: var(--tg-ink) !important;

    border: none !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 28px 32px !important;

    margin: 0 0 44px !important;

    display: grid !important;

    grid-template-columns: 1.8fr auto auto !important;

    gap: 28px !important;

    align-items: center !important;

    color: #fff !important;

}

.tg-home .tg-callout-body h2 {

    font-family: Archivo, sans-serif !important;

    font-size: 24px !important;

    font-weight: 800 !important;

    color: #fff !important;

    margin: 0 0 4px !important;

    letter-spacing: -0.02em !important;

}

.tg-home .tg-callout-body p {

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    color: rgba(255,255,255,0.75) !important;

    margin: 0 !important;

}

.tg-home .tg-callout-checks {

    display: flex !important;

    flex-direction: column !important;

    gap: 4px !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 12px !important;

    font-weight: 600 !important;

    color: #fff !important;

    flex-shrink: 0 !important;

}

.tg-home .tg-callout-checks span::before {

    content: '2713' !important;

    display: inline-block !important;

    color: var(--tg-orange) !important;

    margin-right: 8px !important;

    font-weight: 900 !important;

}

.tg-home .tg-btn-green {

    display: inline-block !important;

    background: var(--tg-orange) !important;

    color: #fff !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 13px !important;

    font-weight: 700 !important;

    padding: 14px 24px !important;

    border-radius: var(--tg-radius) !important;

    border: none !important;

    flex-shrink: 0 !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

}

.tg-home .tg-btn-green:hover {

    background: var(--tg-orange-dark) !important;

    color: #fff !important;

    text-decoration: none !important;

}



/* Tools row */

.tg-home .tg-tools {

    display: grid !important;

    grid-template-columns: repeat(4, 1fr) !important;

    gap: 14px !important;

    margin: 0 0 56px !important;

    padding: 0 !important;

    border: none !important;

}

.tg-home .tg-tools::before { display: none !important; }

.tg-home .tg-tool {

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 18px 20px !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    font-weight: 700 !important;

    color: var(--tg-ink) !important;

    display: flex !important;

    align-items: center !important;

    gap: 10px !important;

    text-decoration: none !important;

    transition: border-color 0.15s ease !important;

    line-height: 1.3 !important;

}

.tg-home .tg-tool:hover {

    color: var(--tg-orange) !important;

    border-color: var(--tg-orange) !important;

    text-decoration: none !important;

}

.tg-home .tg-tool-ico { display: none !important; }

.tg-home .tg-tool::before {

    content: '→' !important;

    font-size: 16px !important;

    color: var(--tg-orange) !important;

    font-weight: 700 !important;

    flex-shrink: 0 !important;

}



/* Section banners */

.tg-home .tg-section { margin: 0 0 56px !important; }

.tg-home .tg-section-banner {

    border-radius: var(--tg-radius-lg) !important;

    overflow: hidden !important;

    position: relative !important;

    height: 260px !important;

    margin: 0 0 24px !important;

    border: 1px solid var(--tg-ink) !important;

    padding: 0 !important;

    background: var(--tg-ink) !important;

    counter-increment: section !important;

}

.tg-home .tg-section-banner img {

    display: block !important;

    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;

    height: 100% !important;

    object-fit: cover !important;

    filter: contrast(1.05) saturate(1.08) !important;

    z-index: 1 !important;

}

.tg-home .tg-section-banner::before {

    content: '' !important;

    position: absolute !important;

    inset: 0 !important;

    background: linear-gradient(to bottom, rgba(10,10,10,0.2) 0%, rgba(10,10,10,0.85) 100%) !important;

    z-index: 2 !important;

    pointer-events: none !important;

}

.tg-home .tg-section-banner-ov {

    position: absolute !important;

    inset: 0 !important;

    background: transparent !important;

    display: flex !important;

    flex-direction: column !important;

    justify-content: flex-end !important;

    align-items: flex-start !important;

    padding: 32px 36px !important;

    gap: 10px !important;

    color: #fff !important;

    z-index: 3 !important;

}

.tg-home .tg-section-banner h2 {

    font-family: Archivo, sans-serif !important;

    font-size: 52px !important;

    font-weight: 900 !important;

    color: #fff !important;

    letter-spacing: -0.028em !important;

    line-height: 1 !important;

    margin: 0 !important;

    max-width: 720px !important;

}

.tg-home .tg-stag {

    font-family: 'Inter', sans-serif !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    text-transform: uppercase !important;

    letter-spacing: 0.14em !important;

    padding: 5px 10px !important;

    border-radius: var(--tg-radius) !important;

    background: var(--tg-orange) !important;

    color: #fff !important;

    border: none !important;

    align-self: flex-start !important;

}



/* Directory grid */

.tg-home .tg-dir-grid {

    display: grid !important;

    grid-template-columns: repeat(3, 1fr) !important;

    gap: 16px !important;

    border: none !important;

}

.tg-home .tg-dbox {

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 24px 26px !important;

    transition: border-color 0.15s ease !important;

}

.tg-home .tg-dbox:hover { border-color: var(--tg-orange) !important; }

.tg-home .tg-dbox-head {

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 17px !important;

    font-weight: 800 !important;

    text-transform: none !important;

    letter-spacing: -0.01em !important;

    color: var(--tg-ink) !important;

    padding: 0 0 14px !important;

    margin: 0 0 14px !important;

    border-bottom: 2px solid var(--tg-orange) !important;

    display: block !important;

    gap: 0 !important;

}

.tg-home .tg-dbox-head .ico { display: none !important; }

.tg-home .tg-dlist { padding: 0 !important; margin: 0 !important; counter-reset: none !important; }

.tg-home .tg-dlist li {

    padding: 11px 0 !important;

    border-bottom: 1px solid var(--tg-border-soft) !important;

    position: relative !important;

    list-style: none !important;

}

.tg-home .tg-dlist li::before { display: none !important; content: none !important; }

.tg-home .tg-dlist li:last-child { border-bottom: none !important; padding-bottom: 0 !important; }

.tg-home .tg-dlist li:first-child { padding-top: 0 !important; }

.tg-home .tg-dlist a {

    font-family: 'Inter', sans-serif !important;

    font-weight: 700 !important;

    font-size: 15px !important;

    color: var(--tg-ink) !important;

    text-decoration: none !important;

    line-height: 1.3 !important;

}

.tg-home .tg-dlist a:hover {

    color: var(--tg-orange) !important;

    text-decoration: none !important;

}

.tg-home .tg-dlist .sub {

    display: block !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 13px !important;

    color: var(--tg-mute) !important;

    font-weight: 400 !important;

    margin-top: 3px !important;

    line-height: 1.5 !important;

}



/* Wellbeing */

.tg-home .tg-wellbeing {

    background: var(--tg-orange-tint) !important;

    border: 1px solid var(--tg-orange) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 36px 40px !important;

    color: var(--tg-ink) !important;

    margin: 0 !important;

}

.tg-home .tg-wellbeing h2 {

    font-family: Archivo, sans-serif !important;

    font-size: 36px !important;

    font-weight: 900 !important;

    margin: 0 0 8px !important;

    color: var(--tg-ink) !important;

    letter-spacing: -0.025em !important;

    line-height: 1 !important;

}

.tg-home .tg-wellbeing > p {

    font-family: 'Inter', sans-serif !important;

    font-size: 15px !important;

    color: var(--tg-ink) !important;

    margin: 0 0 24px !important;

    padding: 0 0 20px !important;

    border-bottom: 1px solid var(--tg-orange) !important;

    max-width: 680px !important;

    opacity: 0.85 !important;

}

.tg-home .tg-wb-label {

    font-family: 'Inter', sans-serif !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    text-transform: uppercase !important;

    letter-spacing: 0.18em !important;

    color: var(--tg-orange) !important;

    margin: 0 0 16px !important;

}

.tg-home .tg-wb-grid {

    display: grid !important;

    grid-template-columns: repeat(4, 1fr) !important;

    gap: 12px !important;

    border: none !important;

}

.tg-home .tg-wb-card {

    background: #fff !important;

    border: 1px solid var(--tg-orange-tint) !important;

    border-radius: var(--tg-radius) !important;

    padding: 20px 22px !important;

    color: var(--tg-ink) !important;

    display: block !important;

    text-decoration: none !important;

}

.tg-home .tg-wb-card:hover {

    background: #fff !important;

    border-color: var(--tg-orange) !important;

    text-decoration: none !important;

}

.tg-home .tg-wb-card strong {

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 17px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 6px !important;

    display: block !important;

    line-height: 1.2 !important;

    letter-spacing: -0.01em !important;

}

.tg-home .tg-wb-card span {

    font-family: 'Inter', sans-serif !important;

    font-size: 13px !important;

    color: var(--tg-mute) !important;

    line-height: 1.5 !important;

}



/* =====================================================================

   ARTICLE PAGES  (.tg-article)

   ===================================================================== */



.tg-progress { display: none !important; }

.tg-skip-link { background: var(--tg-ink) !important; border-radius: var(--tg-radius) !important; }



.tg-article {

    max-width: 760px !important;

    margin: 0 auto !important;

    padding: 36px 24px 64px !important;

    font-size: 17px !important;

    line-height: 1.78 !important;

}

.tg-article * { border-radius: 0!important; box-shadow: none !important; }

.tg-article h1 {

    font-family: Archivo, sans-serif !important;

    font-size: 52px !important;

    font-weight: 900 !important;

    line-height: 1 !important;

    letter-spacing: -0.03em !important;

    margin: 0 0 14px !important;

    color: var(--tg-ink) !important;

}

.tg-article h2 {

    font-family: Archivo, sans-serif !important;

    font-size: 30px !important;

    font-weight: 800 !important;

    letter-spacing: -0.02em !important;

    margin: 52px 0 18px !important;

    padding: 0 !important;

    border: none !important;

    color: var(--tg-ink) !important;

    line-height: 1.1 !important;

}

.tg-article h2::before {

    content: '' !important;

    display: block !important;

    width: 40px !important;

    height: 4px !important;

    background: var(--tg-orange) !important;

    margin: 0 0 14px !important;

    border-radius: 0!important;

}

.tg-article h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 22px !important;

    font-weight: 800 !important;

    letter-spacing: -0.01em !important;

    margin: 32px 0 10px !important;

    color: var(--tg-ink) !important;

}





/* (article component overrides removed - per-post CSS handles styling) */



/* Financial disclaimer: fine print, no box (owner directive 2026-07-05,
   minimal compliance). Matches the body:has(.tg-share) subtle variant. */

.tg-financial-disclaimer,

.wp-block-group.tg-financial-disclaimer {

    border: 0 !important;

    background: transparent !important;

    color: #6b7280 !important;

    border-radius: 0 !important;

    padding: 0 !important;

    margin: 24px auto !important;

    max-width: 760px !important;

}

.tg-financial-disclaimer p {

    font-family: 'Inter', sans-serif !important;

    font-size: 12.5px !important;

    color: #6b7280 !important;

    margin: 0 !important;

    line-height: 1.5 !important;

}

.tg-financial-disclaimer strong {

    color: #6b7280 !important;

    font-weight: 700 !important;

}

.tg-financial-disclaimer a { color: #6b7280 !important; text-decoration: underline !important; font-weight: 400 !important; }



/* Kill fade animations */

.tg-animate, .tg-article .tg-animate {

    opacity: 1 !important;

    transform: none !important;

    transition: none !important;

}



/* =====================================================================

   NON-ARTICLE WRAPPERS (About / Calc / Landing / Contact / Category…)

   ===================================================================== */



.tg-about, .tg-calc, .tg-landing, .tg-contact, .tg-category,

.tg-money, .tg-career, .tg-life, .tg-housing, .tg-index, .tg-deal {

    max-width: 880px !important;

    margin: 0 auto !important;

    padding: 36px 24px 64px !important;

    font-size: 17px !important;

    line-height: 1.75 !important;

}

.tg-about *, .tg-calc *, .tg-landing *, .tg-contact *, .tg-category *,

.tg-money *, .tg-career *, .tg-life *, .tg-housing *, .tg-index *, .tg-deal * {

    box-shadow: none !important;

    text-shadow: none !important;

}



.tg-about h1, .tg-calc h1, .tg-landing h1, .tg-contact h1,

.tg-category h1, .tg-money h1, .tg-career h1, .tg-life h1,

.tg-housing h1, .tg-index h1, .tg-deal h1 {

    font-family: Archivo, sans-serif !important;

    font-size: 52px !important;

    font-weight: 900 !important;

    letter-spacing: -0.03em !important;

    line-height: 1 !important;

    margin: 0 0 18px !important;

    color: var(--tg-ink) !important;

}

.tg-about h2, .tg-calc h2, .tg-landing h2, .tg-contact h2,

.tg-category h2, .tg-money h2, .tg-career h2, .tg-life h2,

.tg-housing h2, .tg-index h2, .tg-deal h2 {

    font-family: Archivo, sans-serif !important;

    font-size: 30px !important;

    font-weight: 800 !important;

    letter-spacing: -0.02em !important;

    margin: 48px 0 18px !important;

    padding: 0 !important;

    border: none !important;

    color: var(--tg-ink) !important;

}

.tg-about h2::before, .tg-calc h2::before, .tg-landing h2::before,

.tg-contact h2::before, .tg-category h2::before, .tg-money h2::before,

.tg-career h2::before, .tg-life h2::before, .tg-housing h2::before,

.tg-index h2::before, .tg-deal h2::before {

    content: '' !important;

    display: block !important;

    width: 40px !important;

    height: 4px !important;

    background: var(--tg-orange) !important;

    margin: 0 0 14px !important;

    border-radius: 0!important;

}

.tg-about h3, .tg-calc h3, .tg-landing h3, .tg-contact h3,

.tg-category h3, .tg-money h3, .tg-career h3, .tg-life h3,

.tg-housing h3, .tg-index h3, .tg-deal h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 21px !important;

    font-weight: 800 !important;

    letter-spacing: -0.01em !important;

    margin: 28px 0 10px !important;

    padding: 0 !important;

    border: none !important;

    color: var(--tg-ink) !important;

}



.tg-about p, .tg-calc p, .tg-landing p, .tg-contact p,

.tg-category p, .tg-money p, .tg-career p, .tg-life p,

.tg-housing p, .tg-index p, .tg-deal p {

    color: var(--tg-ink) !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 17px !important;

    line-height: 1.75 !important;

    margin: 0 0 18px !important;

}

.tg-about a, .tg-calc a, .tg-landing a, .tg-contact a,

.tg-category a, .tg-money a, .tg-career a, .tg-life a,

.tg-housing a, .tg-index a, .tg-deal a {

    color: var(--tg-orange-dark) !important;

    text-decoration: underline !important;

    text-decoration-color: var(--tg-orange) !important;

    text-underline-offset: 3px !important;

    font-weight: 600 !important;

}

.tg-about strong, .tg-calc strong, .tg-landing strong, .tg-contact strong,

.tg-category strong, .tg-money strong, .tg-career strong, .tg-life strong,

.tg-housing strong, .tg-index strong, .tg-deal strong {

    color: var(--tg-ink) !important;

    font-weight: 700 !important;

}



/* Hero - shared pattern across non-article pages */

.tg-about-hero, .tg-calc-hero, .tg-landing-hero,

.tg-contact-hero, .tg-category-hero, .tg-deal-hero,

.tg-money-hero, .tg-career-hero, .tg-life-hero,

.tg-housing-hero, .tg-index-hero {

    background: transparent !important;

    border: none !important;

    border-bottom: 1px solid var(--tg-border-soft) !important;

    border-radius: 0!important;

    padding: 4px 0 22px !important;

    margin: 0 0 30px !important;

    text-align: left !important;

    position: static !important;

    overflow: visible !important;

    color: var(--tg-ink) !important;

}

.tg-about-hero h1, .tg-calc-hero h1, .tg-calc-hero h2,

.tg-landing-hero h1, .tg-landing-hero h2,

.tg-contact-hero h1, .tg-contact-hero h2,

.tg-category-hero h1, .tg-deal-hero h1,

.tg-money-hero h1, .tg-career-hero h1, .tg-life-hero h1,

.tg-housing-hero h1, .tg-index-hero h1 {

    font-family: Archivo, sans-serif !important;

    font-size: 40px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    line-height: 1.1 !important;

    letter-spacing: -0.03em !important;

    margin: 0 0 12px !important;

    max-width: 720px !important;

}

.tg-about-hero h1::before, .tg-calc-hero h1::before, .tg-calc-hero h2::before,

.tg-landing-hero h1::before, .tg-landing-hero h2::before,

.tg-contact-hero h1::before, .tg-contact-hero h2::before,

.tg-category-hero h1::before, .tg-deal-hero h1::before { display: none !important; }

.tg-about-hero p, .tg-calc-hero p, .tg-landing-hero p,

.tg-contact-hero p, .tg-category-hero p, .tg-deal-hero p {

    color: var(--tg-mute) !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 17px !important;

    max-width: 660px !important;

    margin: 0 !important;

    line-height: 1.6 !important;

}

.tg-about-hero p span, .tg-calc-hero p span,

.tg-landing-hero p span, .tg-contact-hero p span {

    display: inline !important;

    background: transparent !important;

    color: var(--tg-orange-dark) !important;

    padding: 0 !important;

    border-radius: 0!important;

    font-size: 12px !important;

    font-weight: 800 !important;

    text-transform: uppercase !important;

    letter-spacing: 0.1em !important;

    margin-right: 0 !important;

    border: none !important;

}



/* About-specific blocks */

.tg-mission {

    background: var(--tg-orange-tint) !important;

    border: none !important;

    border-top: none !important;

    border-radius: 0!important;

    padding: 20px 24px !important;

    margin: 0 0 30px !important;

}

.tg-mission p {

    margin: 0 !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 17px !important;

    font-weight: 500 !important;

    color: var(--tg-ink) !important;

    font-style: normal !important;

    line-height: 1.6 !important;

}

.tg-mission strong {

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: inherit !important;

    text-transform: none !important;

    letter-spacing: normal !important;

    display: inline !important;

    margin-bottom: 0 !important;

}

.tg-pillars {

    display: grid !important;

    grid-template-columns: repeat(3, 1fr) !important;

    gap: 14px !important;

    margin: 20px 0 40px !important;

    border: none !important;

}

.tg-pillar {

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 24px 22px !important;

    transition: border-color 0.15s ease !important;

}

.tg-pillar:hover { border-color: var(--tg-orange) !important; transform: none !important; }

.tg-pillar-icon { display: none !important; }

.tg-pillar h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 20px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 10px !important;

    padding: 0 0 10px !important;

    border-bottom: 2px solid var(--tg-orange) !important;

    line-height: 1.15 !important;

}

.tg-pillar h3::before { display: none !important; }

.tg-pillar p {

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    color: var(--tg-mute) !important;

    margin: 0 0 12px !important;

    line-height: 1.55 !important;

}

.tg-pillar ul {

    margin: 0 !important;

    padding: 0 0 0 18px !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 13px !important;

    color: var(--tg-ink) !important;

    list-style: disc !important;

}

.tg-pillar li { margin: 0 0 5px !important; }

.tg-pillar li::marker { color: var(--tg-orange) !important; }



.tg-team-grid {

    display: grid !important;

    grid-template-columns: repeat(2, 1fr) !important;

    gap: 14px !important;

    margin: 20px 0 40px !important;

    border: none !important;

}

.tg-member {

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 22px 24px !important;

    transition: border-color 0.15s ease !important;

}

.tg-member:hover { border-color: var(--tg-orange) !important; }

.tg-member-name {

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 20px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 4px !important;

    line-height: 1.15 !important;

    letter-spacing: -0.01em !important;

}

.tg-member-role {

    font-family: 'Inter', sans-serif !important;

    font-size: 13px !important;

    font-weight: 600 !important;

    color: #c2410c !important;

    margin: 0 0 10px !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

}

.tg-member p {

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    color: var(--tg-mute) !important;

    margin: 0 !important;

    line-height: 1.6 !important;

}



.tg-editorial {

    background: var(--tg-paper-2) !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 32px 36px !important;

    margin: 40px 0 !important;

    color: var(--tg-ink) !important;

}

.tg-editorial h2 {

    color: var(--tg-ink) !important;

    border: none !important;

    padding: 0 !important;

    margin: 0 0 18px !important;

    font-family: Archivo, sans-serif !important;

    font-size: 28px !important;

}

.tg-editorial h2::before { display: none !important; }

.tg-editorial p { color: var(--tg-ink) !important; font-size: 15px !important; line-height: 1.7 !important; }

.tg-editorial strong { color: var(--tg-ink) !important; font-weight: 700 !important; }

.tg-editorial a { color: var(--tg-orange-dark) !important; text-decoration: underline !important; font-weight: 600 !important; }



/* --- CALC pages (budget, loan, salary tools) --- */

.tg-period-wrap { display: flex !important; justify-content: center !important; margin: 0 0 28px !important; }

.tg-period-toggle {

    display: inline-flex !important;

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 4px !important;

    gap: 2px !important;

}

.tg-period-btn {

    font-family: 'Inter', sans-serif !important;

    font-size: 13px !important;

    font-weight: 700 !important;

    padding: 10px 22px !important;

    border: none !important;

    border-radius: var(--tg-radius) !important;

    cursor: pointer !important;

    background: transparent !important;

    color: var(--tg-mute) !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

}

.tg-period-btn.active {

    background: var(--tg-ink) !important;

    color: #fff !important;

}

.tg-period-btn:hover:not(.active) {

    background: var(--tg-orange-tint) !important;

    color: var(--tg-orange-dark) !important;

}



.tg-calc-section {

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-top: 4px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 24px 28px !important;

    margin: 0 0 14px !important;

}

.tg-calc-section.income-section { border-top-color: #2e7d32 !important; }

.tg-calc-section.expense-section { border-top-color: var(--tg-orange) !important; }

.tg-section-header {

    display: flex !important;

    align-items: center !important;

    gap: 12px !important;

    margin: 0 0 16px !important;

}

.tg-section-icon { display: none !important; }

.tg-section-header h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 20px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

    letter-spacing: -0.01em !important;

}

.tg-section-header h3::before { display: none !important; }

.tg-section-header .tg-section-total {

    margin-left: auto !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-weight: 900 !important;

    font-size: 20px !important;

    color: var(--tg-orange) !important;

    font-feature-settings: "tnum" 1 !important;

}

.income-section .tg-section-total { color: #2e7d32 !important; }

.expense-section .tg-section-total { color: var(--tg-orange) !important; }



.tg-input-row {

    display: flex !important;

    align-items: center !important;

    gap: 14px !important;

    padding: 10px 0 !important;

    border-bottom: 1px solid var(--tg-border-soft) !important;

}

.tg-input-row:last-child { border-bottom: none !important; }

.tg-input-label {

    flex: 1 !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    color: var(--tg-ink) !important;

    font-weight: 500 !important;

}

.tg-input-label .tg-row-icon { display: none !important; }

.tg-input-field { position: relative !important; width: 140px !important; flex-shrink: 0 !important; }

.tg-input-field::before {

    content: '\00a3 ' !important;

    position: absolute !important;

    left: 12px !important;

    top: 50% !important;

    transform: translateY(-50%) !important;

    color: var(--tg-mute) !important;

    font-weight: 700 !important;

    font-size: 14px !important;

    z-index: 1 !important;

}

.tg-input-field input {

    width: 100% !important;

    padding: 10px 12px 10px 24px !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius) !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    color: var(--tg-ink) !important;

    background: #fff !important;

}

.tg-input-field input:focus {

    outline: 2px solid var(--tg-orange) !important;

    outline-offset: 0 !important;

    border-color: var(--tg-orange) !important;

    background: #fff !important;

}

.tg-add-row, .tg-remove-btn {

    background: var(--tg-orange-tint) !important;

    border: none !important;

    border-radius: var(--tg-radius) !important;

    color: var(--tg-orange-dark) !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 12px !important;

    font-weight: 700 !important;

    padding: 6px 12px !important;

    cursor: pointer !important;

}

.tg-add-row:hover, .tg-remove-btn:hover { background: var(--tg-orange) !important; color: #fff !important; }

.tg-custom-name {

    background: transparent !important;

    border: none !important;

    border-bottom: 1px solid var(--tg-border-soft) !important;

    border-radius: 0!important;

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    padding: 6px 0 !important;

    color: var(--tg-ink) !important;

}



.tg-summary {

    background: var(--tg-ink) !important;

    border: none !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 28px 32px !important;

    margin: 28px 0 !important;

    color: #fff !important;

}

.tg-summary-grid {

    display: grid !important;

    grid-template-columns: repeat(3, 1fr) !important;

    gap: 20px !important;

    border: none !important;

}

.tg-summary-item {

    background: transparent !important;

    border: none !important;

    border-right: 1px solid rgba(255,255,255,0.15) !important;

    padding: 0 20px 0 0 !important;

    border-radius: 0!important;

    text-align: left !important;

}

.tg-summary-grid .tg-summary-item:last-child { border-right: none !important; }

.tg-summary-label {

    font-family: 'Inter', sans-serif !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    text-transform: uppercase !important;

    letter-spacing: 0.14em !important;

    color: rgba(255,255,255,0.6) !important;

    margin: 0 0 6px !important;

    display: block !important;

}

.tg-summary-value {

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 32px !important;

    font-weight: 900 !important;

    color: #fff !important;

    line-height: 1 !important;

    font-feature-settings: "tnum" 1 !important;

    letter-spacing: -0.02em !important;

    display: block !important;

}

.tg-summary-item:last-child .tg-summary-value { color: var(--tg-orange) !important; }

.tg-summary-sub {

    font-family: 'Inter', sans-serif !important;

    font-size: 11px !important;

    color: rgba(255,255,255,0.6) !important;

    margin-top: 4px !important;

    display: block !important;

}

.tg-balance-bar-wrap {

    background: var(--tg-ink) !important;

    border: none !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 20px 28px !important;

    margin: 14px 0 !important;

    color: #fff !important;

}

.tg-balance-bar-label {

    font-family: 'Inter', sans-serif !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    text-transform: uppercase !important;

    letter-spacing: 0.14em !important;

    color: var(--tg-orange) !important;

    margin: 0 0 8px !important;

}

.tg-balance-bar {

    background: rgba(255,255,255,0.12) !important;

    border: none !important;

    border-radius: var(--tg-radius) !important;

    height: 20px !important;

    overflow: hidden !important;

    margin: 8px 0 !important;

}

.tg-balance-fill {

    background: var(--tg-orange) !important;

    height: 100% !important;

    border-radius: 0!important;

}



.tg-breakdown {

    background: var(--tg-paper-2) !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 20px 24px !important;

    margin: 20px 0 !important;

}

.tg-breakdown-bar {

    background: rgba(26,26,26,0.1) !important;

    border: none !important;

    border-radius: var(--tg-radius) !important;

    height: 12px !important;

    margin: 6px 0 !important;

    overflow: hidden !important;

}

.tg-breakdown-bar-fill {

    background: var(--tg-orange) !important;

    height: 100% !important;

    border-radius: 0!important;

}

.tg-breakdown-label {

    font-family: 'Inter', sans-serif !important;

    font-size: 12px !important;

    font-weight: 600 !important;

    color: var(--tg-ink) !important;

}

.tg-breakdown-pct {

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 12px !important;

    font-weight: 800 !important;

    color: var(--tg-orange-dark) !important;

    font-feature-settings: "tnum" 1 !important;

}

.tg-budget-tip {

    background: var(--tg-orange-tint) !important;

    border: none !important;

    border-top: 4px solid var(--tg-orange) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 14px 20px !important;

    margin: 18px 0 !important;

}

.tg-budget-tip-icon { display: none !important; }



/* Generic card / grid containers used by landing / contact / deal / category pages */

.tg-contact-grid, .tg-landing-grid, .tg-deal-grid, .tg-category-grid,

.tg-trust-grid, .tg-trust {

    display: grid !important;

    grid-template-columns: repeat(3, 1fr) !important;

    gap: 14px !important;

    margin: 24px 0 !important;

    border: none !important;

    background: transparent !important;

    padding: 0 !important;

}

.tg-trust > div, .tg-contact-card, .tg-landing-card, .tg-deal-card,

.tg-category-card, .tg-contact-box, .tg-landing-box,

.tg-crosshub-card {

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 22px 24px !important;

    transition: border-color 0.15s ease !important;

}

.tg-trust > div:hover, .tg-contact-card:hover, .tg-landing-card:hover,

.tg-deal-card:hover, .tg-category-card:hover { border-color: var(--tg-orange) !important; }

.tg-crosshub {

    background: var(--tg-paper-2) !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 28px 30px !important;

    margin: 32px 0 !important;

}



/* Scrub all remaining icon/emoji containers */

.tg-pillar-icon, .tg-section-icon, .tg-tool-ico,

.tg-callout-icon, .tg-verdict-icon, .tg-row-icon,

.tg-budget-tip-icon, .tg-dbox-head .ico,

.tg-card-icon { display: none !important; }



/* =====================================================================

   CATEGORY HUB PAGES  (Student Money, Housing, Deals, Tools, Careers,

   Life, Preparing, University Applications, Grad Money, etc.)

   ===================================================================== */



.tg-money-hub, .tg-housing-wrapper, .tg-deals-wrapper,

.tg-tools-wrapper, .tg-careers-wrapper, .tg-life-wrapper,

.tg-grad-money, .tg-index-wrapper, .tg-index-container,

.tg-wrapper {

    background: #fff !important;

    color: var(--tg-ink) !important;

    font-family: 'Inter', sans-serif !important;

    padding: 48px 24px 60px !important;

    line-height: 1.65 !important;

}

.tg-money-hub *, .tg-housing-wrapper *, .tg-deals-wrapper *,

.tg-tools-wrapper *, .tg-careers-wrapper *, .tg-life-wrapper *,

.tg-grad-money *, .tg-index-wrapper *, .tg-index-container *,

.tg-wrapper * {

    box-shadow: none !important;

    text-shadow: none !important;

    transform: none !important;

}



.tg-money-hub .tg-container,

.tg-housing-wrapper .tg-container,

.tg-deals-wrapper .tg-container,

.tg-tools-wrapper .tg-container,

.tg-careers-wrapper .tg-container,

.tg-life-wrapper .tg-container,

.tg-grad-money .tg-container,

.tg-index-wrapper .tg-container,

.tg-wrapper .tg-container {

    max-width: 1200px !important;

    margin: 0 auto !important;

    padding: 0 !important;

}



/* Hub header */

.tg-money-hub .tg-header,

.tg-housing-wrapper .tg-header,

.tg-deals-wrapper .tg-header,

.tg-tools-wrapper .tg-header,

.tg-careers-wrapper .tg-header,

.tg-life-wrapper .tg-header,

.tg-grad-money .tg-header,

.tg-index-wrapper .tg-header,

.tg-wrapper .tg-header {

    text-align: left !important;

    margin: 0 0 44px !important;

    padding: 0 0 32px !important;

    border-bottom: 1px solid var(--tg-border-soft) !important;

}

.tg-money-hub .tg-header h1,

.tg-housing-wrapper .tg-header h1,

.tg-deals-wrapper .tg-header h1,

.tg-tools-wrapper .tg-header h1,

.tg-careers-wrapper .tg-header h1,

.tg-life-wrapper .tg-header h1,

.tg-grad-money .tg-header h1,

.tg-index-wrapper .tg-header h1,

.tg-wrapper .tg-header h1 {

    font-family: Archivo, sans-serif !important;

    font-size: 56px !important;

    font-weight: 900 !important;

    color: var(--tg-ink) !important;

    letter-spacing: -0.03em !important;

    line-height: 1 !important;

    margin: 0 0 16px !important;

    text-transform: none !important;

}

.tg-money-hub .tg-header p,

.tg-housing-wrapper .tg-header p,

.tg-deals-wrapper .tg-header p,

.tg-tools-wrapper .tg-header p,

.tg-careers-wrapper .tg-header p,

.tg-life-wrapper .tg-header p,

.tg-grad-money .tg-header p,

.tg-index-wrapper .tg-header p,

.tg-wrapper .tg-header p {

    font-family: 'Inter', sans-serif !important;

    font-size: 18px !important;

    max-width: 720px !important;

    margin: 0 !important;

    color: var(--tg-mute) !important;

    line-height: 1.6 !important;

}



/* Hub hero (shared .tg-hero used on hub pages) */

.tg-money-hub .tg-hero,

.tg-housing-wrapper .tg-hero,

.tg-deals-wrapper .tg-hero,

.tg-tools-wrapper .tg-hero,

.tg-careers-wrapper .tg-hero,

.tg-life-wrapper .tg-hero,

.tg-grad-money .tg-hero,

.tg-index-wrapper .tg-hero,

.tg-wrapper .tg-hero {

    background: transparent !important;

    color: var(--tg-ink) !important;

    border: none !important;

    border-bottom: 1px solid var(--tg-border-soft) !important;

    border-radius: 0!important;

    padding: 4px 0 22px !important;

    margin: 0 0 32px !important;

    text-align: left !important;

    position: static !important;

    overflow: visible !important;

}

.tg-money-hub .tg-hero h1, .tg-money-hub .tg-hero h2,

.tg-housing-wrapper .tg-hero h1, .tg-housing-wrapper .tg-hero h2,

.tg-deals-wrapper .tg-hero h1, .tg-deals-wrapper .tg-hero h2,

.tg-tools-wrapper .tg-hero h1, .tg-tools-wrapper .tg-hero h2,

.tg-careers-wrapper .tg-hero h1, .tg-careers-wrapper .tg-hero h2,

.tg-life-wrapper .tg-hero h1, .tg-life-wrapper .tg-hero h2,

.tg-grad-money .tg-hero h1, .tg-grad-money .tg-hero h2,

.tg-index-wrapper .tg-hero h1, .tg-index-wrapper .tg-hero h2,

.tg-wrapper .tg-hero h1, .tg-wrapper .tg-hero h2 {

    font-family: Archivo, sans-serif !important;

    font-size: 40px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    line-height: 1.1 !important;

    letter-spacing: -0.03em !important;

    margin: 0 0 12px !important;

    padding: 0 !important;

    border: none !important;

}

.tg-money-hub .tg-hero h1::before, .tg-money-hub .tg-hero h2::before,

.tg-housing-wrapper .tg-hero h1::before,

.tg-deals-wrapper .tg-hero h1::before,

.tg-tools-wrapper .tg-hero h1::before,

.tg-careers-wrapper .tg-hero h1::before,

.tg-life-wrapper .tg-hero h1::before,

.tg-grad-money .tg-hero h1::before,

.tg-index-wrapper .tg-hero h1::before,

.tg-wrapper .tg-hero h1::before { display: none !important; }

.tg-money-hub .tg-hero p,

.tg-housing-wrapper .tg-hero p,

.tg-deals-wrapper .tg-hero p,

.tg-tools-wrapper .tg-hero p,

.tg-careers-wrapper .tg-hero p,

.tg-life-wrapper .tg-hero p,

.tg-grad-money .tg-hero p,

.tg-index-wrapper .tg-hero p,

.tg-wrapper .tg-hero p {

    color: var(--tg-mute) !important;

    font-size: 17px !important;

    max-width: 700px !important;

    margin: 0 !important;

    line-height: 1.6 !important;

}



/* Category blocks */

.tg-category-block, .tg-category-section { margin: 0 0 56px !important; padding: 0 !important; background: transparent !important; }

.tg-category-header, .tg-category-title {

    margin: 0 0 20px !important;

    border: none !important;

    border-top: 3px solid var(--tg-ink) !important;

    padding: 12px 0 0 !important;

    background: transparent !important;

}

.tg-category-header h2, .tg-category-title h2,

.tg-category-header h3, .tg-category-title h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 28px !important;

    font-weight: 900 !important;

    color: var(--tg-ink) !important;

    text-transform: none !important;

    letter-spacing: -0.02em !important;

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

    line-height: 1.1 !important;

}

.tg-category-header h2::before, .tg-category-title h2::before,

.tg-category-header h3::before, .tg-category-title h3::before { display: none !important; }



/* Card grid */

.tg-money-hub .tg-card-grid,

.tg-housing-wrapper .tg-card-grid,

.tg-deals-wrapper .tg-card-grid,

.tg-tools-wrapper .tg-card-grid,

.tg-careers-wrapper .tg-card-grid,

.tg-life-wrapper .tg-card-grid,

.tg-grad-money .tg-card-grid,

.tg-index-wrapper .tg-card-grid,

.tg-wrapper .tg-card-grid,

.tg-category-section .tg-grid,

.tg-category-block .tg-grid,

.tg-category-grid {

    display: grid !important;

    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;

    gap: 16px !important;

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

    background: transparent !important;

}



/* Individual cards */

.tg-money-card, .tg-housing-card, .tg-deal-card,

.tg-tool-card, .tg-career-card, .tg-life-card,

.tg-index-card, .tg-card {

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 26px 28px !important;

    text-decoration: none !important;

    color: var(--tg-ink) !important;

    display: flex !important;

    flex-direction: column !important;

    transition: border-color 0.15s ease, background 0.15s ease !important;

    box-shadow: none !important;

}

.tg-money-card:hover, .tg-housing-card:hover, .tg-deal-card:hover,

.tg-tool-card:hover, .tg-career-card:hover, .tg-life-card:hover,

.tg-index-card:hover, .tg-card:hover {

    background: var(--tg-cream) !important;

    border-color: var(--tg-orange) !important;

    transform: none !important;

    box-shadow: none !important;

}

.tg-money-card h3, .tg-housing-card h3, .tg-deal-card h3,

.tg-tool-card h3, .tg-career-card h3, .tg-life-card h3,

.tg-index-card h3, .tg-card h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 19px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 10px !important;

    padding: 0 !important;

    border: none !important;

    letter-spacing: -0.015em !important;

    line-height: 1.2 !important;

}

.tg-money-card h3::before, .tg-housing-card h3::before, .tg-deal-card h3::before,

.tg-tool-card h3::before, .tg-career-card h3::before, .tg-life-card h3::before,

.tg-index-card h3::before, .tg-card h3::before { display: none !important; }

.tg-money-card p, .tg-housing-card p, .tg-deal-card p,

.tg-tool-card p, .tg-career-card p, .tg-life-card p,

.tg-index-card p, .tg-card p {

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    color: var(--tg-mute) !important;

    margin: 0 0 18px !important;

    flex-grow: 1 !important;

    line-height: 1.55 !important;

}

.tg-card-cta, .tg-card-link, .tg-link-text, .tg-card-footer {

    font-family: 'Inter', sans-serif !important;

    font-weight: 600 !important;

    font-size: 13.5px !important;

    color: #c2410c !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    text-decoration: none !important;

    display: inline-flex !important;

    align-items: center !important;

    gap: 6px !important;

    margin: 0 !important;

    padding: 0 !important;

}

.tg-card-cta::after, .tg-card-link::after {

    content: '→' !important;

    transition: transform 0.15s !important;

    font-weight: 700 !important;

}

.tg-money-card:hover .tg-card-cta::after,

.tg-housing-card:hover .tg-card-cta::after,

.tg-deal-card:hover .tg-card-cta::after,

.tg-tool-card:hover .tg-card-cta::after,

.tg-career-card:hover .tg-card-cta::after,

.tg-life-card:hover .tg-card-cta::after,

.tg-index-card:hover .tg-card-cta::after,

.tg-card:hover .tg-card-link::after { transform: translateX(4px) !important; }



/* Cross-hub block */

.tg-crosshub-wrapper {

    margin: 56px 0 0 !important;

    padding: 40px 0 !important;

    border-top: 1px solid var(--tg-border-soft) !important;

    background: transparent !important;

}

.tg-crosshub-inner {

    max-width: 1200px !important;

    margin: 0 auto !important;

    padding: 0 !important;

}

.tg-crosshub-intro {

    text-align: left !important;

    margin: 0 0 28px !important;

}

.tg-crosshub-intro h2, .tg-crosshub-intro h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 28px !important;

    font-weight: 900 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 10px !important;

    padding: 0 !important;

    border: none !important;

    letter-spacing: -0.02em !important;

}

.tg-crosshub-intro h2::before, .tg-crosshub-intro h3::before { display: none !important; }

.tg-crosshub-intro p {

    font-family: 'Inter', sans-serif !important;

    font-size: 15px !important;

    color: var(--tg-mute) !important;

    margin: 0 !important;

    max-width: 680px !important;

}

.tg-crosshub-grid {

    display: grid !important;

    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;

    gap: 14px !important;

    margin: 0 !important;

    border: none !important;

}

.tg-crosshub-card {

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 20px 22px !important;

    text-decoration: none !important;

    color: var(--tg-ink) !important;

    transition: border-color 0.15s ease !important;

    display: block !important;

}

.tg-crosshub-card:hover { border-color: var(--tg-orange) !important; background: var(--tg-cream) !important; }

.tg-crosshub-card h3, .tg-crosshub-card h4 {

    font-family: Archivo, sans-serif !important;

    font-size: 16px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 6px !important;

    padding: 0 !important;

    border: none !important;

    letter-spacing: -0.01em !important;

}

.tg-crosshub-card h3::before, .tg-crosshub-card h4::before { display: none !important; }

.tg-crosshub-card p {

    font-family: 'Inter', sans-serif !important;

    font-size: 13px !important;

    color: var(--tg-mute) !important;

    margin: 0 !important;

    line-height: 1.5 !important;

}



/* SEO content panels */

.tg-seo-content, .tg-seo-article, .tg-seo-panel {

    background: var(--tg-paper-2) !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 36px 40px !important;

    margin: 48px 0 0 !important;

}

.tg-seo-content h2, .tg-seo-article h2, .tg-seo-panel h2 {

    font-family: Archivo, sans-serif !important;

    font-size: 26px !important;

    font-weight: 900 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 14px !important;

    padding: 0 !important;

    border: none !important;

    letter-spacing: -0.02em !important;

}

.tg-seo-content h2::before, .tg-seo-article h2::before, .tg-seo-panel h2::before { display: none !important; }

.tg-seo-content h3, .tg-seo-article h3, .tg-seo-panel h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 19px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    margin: 22px 0 8px !important;

}

.tg-seo-content p, .tg-seo-article p, .tg-seo-panel p {

    font-family: 'Inter', sans-serif !important;

    font-size: 15px !important;

    line-height: 1.65 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 14px !important;

}

.tg-seo-content a, .tg-seo-article a, .tg-seo-panel a {

    color: var(--tg-orange-dark) !important;

    text-decoration: underline !important;

    font-weight: 600 !important;

}



/* =====================================================================

   LANDING PAGES (For Parents / For Universities / Advertise)

   ===================================================================== */



.tg-landing {

    max-width: 1080px !important;

    margin: 0 auto !important;

    padding: 40px 24px 60px !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 17px !important;

    line-height: 1.7 !important;

    color: var(--tg-ink) !important;

    background: #fff !important;

}

.tg-landing * { box-shadow: none !important; transform: none !important; }



.tg-landing-hero {

    background: transparent !important;

    color: var(--tg-ink) !important;

    text-align: left !important;

    padding: 4px 0 22px !important;

    margin: 0 0 30px !important;

    border: none !important;

    border-bottom: 1px solid var(--tg-border-soft) !important;

    border-radius: 0!important;

    position: static !important;

    overflow: visible !important;

}

.tg-landing h1 {

    font-family: Archivo, sans-serif !important;

    font-size: 40px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    line-height: 1.1 !important;

    margin: 0 0 12px !important;

    letter-spacing: -0.03em !important;

}

.tg-landing h1::before { display: none !important; }

.tg-landing h1 span { color: var(--tg-orange) !important; }

.tg-landing-hero p {

    color: var(--tg-mute) !important;

    font-size: 17px !important;

    max-width: 720px !important;

    margin: 0 !important;

    line-height: 1.65 !important;

}

.tg-landing h2 {

    font-family: Archivo, sans-serif !important;

    font-size: 32px !important;

    font-weight: 900 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 14px !important;

    letter-spacing: -0.025em !important;

    line-height: 1.05 !important;

}

.tg-landing h2::before { display: none !important; }

.tg-landing h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 20px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 10px !important;

    letter-spacing: -0.01em !important;

}

.tg-landing h4 {

    font-family: Archivo, sans-serif !important;

    font-size: 16px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 8px !important;

}

.tg-landing p {

    color: var(--tg-ink) !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 16px !important;

    line-height: 1.7 !important;

    margin: 0 0 14px !important;

}

.tg-landing a {

    color: var(--tg-orange-dark) !important;

    text-decoration: underline !important;

    text-decoration-color: var(--tg-orange) !important;

    text-underline-offset: 3px !important;

    font-weight: 600 !important;

}

.tg-landing strong { color: var(--tg-ink) !important; font-weight: 700 !important; }



.tg-intro-box {

    background: #fafaf9 !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-top: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius) !important;

    padding: 24px 28px !important;

    margin: 0 0 32px !important;

    box-shadow: none !important;

}



.tg-section-title {

    text-align: left !important;

    margin: 0 0 24px !important;

}

.tg-section-title h2, .tg-section-title h3 {

    margin: 0 !important;

}



/* Landing card grid */

.tg-landing .tg-card-grid {

    display: grid !important;

    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;

    gap: 14px !important;

    margin: 0 0 44px !important;

    border: none !important;

}

.tg-landing .tg-card {

    background: #fff !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    padding: 26px 28px !important;

    box-shadow: none !important;

    transition: border-color 0.15s ease !important;

}

.tg-landing .tg-card:hover { border-color: var(--tg-orange) !important; transform: none !important; }

.tg-landing .tg-card-icon { display: none !important; }

.tg-landing .tg-card h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 18px !important;

    font-weight: 800 !important;

    color: var(--tg-ink) !important;

    margin: 0 0 8px !important;

    padding: 0 !important;

    border-bottom: none !important;

    letter-spacing: -0.01em !important;

}

.tg-landing .tg-card p {

    font-family: 'Inter', sans-serif !important;

    font-size: 14px !important;

    color: var(--tg-mute) !important;

    margin: 0 0 14px !important;

    line-height: 1.55 !important;

}

.tg-landing .tg-card-link {

    font-family: 'Inter', sans-serif !important;

    font-size: 13.5px !important;

    font-weight: 600 !important;

    color: #c2410c !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    text-decoration: none !important;

    border: none !important;

}

.tg-landing .tg-card-link:hover { color: var(--tg-orange-dark) !important; text-decoration: underline !important; }



/* Dark section */

.tg-dark-section {

    background: #fafaf9 !important;

    color: var(--tg-ink) !important;

    padding: 28px 32px !important;

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius) !important;

    margin: 0 0 32px !important;

    box-shadow: none !important;

    text-align: left !important;

    position: static !important;

    overflow: visible !important;

}

.tg-dark-section::before { display: none !important; }

.tg-dark-section h2 {

    color: var(--tg-ink) !important;

    font-family: Archivo, sans-serif !important;

    font-size: 24px !important;

    font-weight: 800 !important;

    margin: 0 0 10px !important;

    letter-spacing: -0.02em !important;

}

.tg-dark-section p {

    color: var(--tg-mute) !important;

    font-size: 15px !important;

    margin: 0 0 20px !important;

}



.tg-trust-grid {

    display: grid !important;

    grid-template-columns: repeat(2, 1fr) !important;

    gap: 24px !important;

    max-width: none !important;

    margin: 24px 0 0 !important;

    text-align: left !important;

}

.tg-trust-item {

    padding: 0 !important;

    background: transparent !important;

    border: none !important;

}

.tg-trust-item h4 {

    color: var(--tg-orange) !important;

    font-family: Archivo, sans-serif !important;

    font-size: 15px !important;

    font-weight: 800 !important;

    margin: 0 0 8px !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

}

.tg-trust-item p {

    color: var(--tg-mute) !important;

    font-size: 14px !important;

    margin: 0 !important;

    line-height: 1.55 !important;

}

.tg-trust-item a { color: var(--tg-orange-dark) !important; text-decoration: underline !important; }

.tg-trust-item a:hover { color: var(--tg-ink) !important; }



/* Contact section */

.tg-contact-section {

    text-align: left !important;

    padding: 36px 0 0 !important;

    border-top: 1px solid var(--tg-border-soft) !important;

    margin: 36px 0 0 !important;

}

.tg-contact-section h3 {

    font-size: 26px !important;

    margin: 0 0 10px !important;

}

.tg-contact-section p {

    color: var(--tg-mute) !important;

    font-size: 15px !important;

    max-width: 640px !important;

    margin: 0 0 20px !important;

}

.tg-contact-email {

    display: inline-block !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 22px !important;

    font-weight: 800 !important;

    color: #fff !important;

    background: var(--tg-ink) !important;

    text-decoration: none !important;

    padding: 14px 24px !important;

    border: none !important;

    border-radius: var(--tg-radius-lg) !important;

    letter-spacing: -0.01em !important;

    transition: background 0.15s ease !important;

}

.tg-contact-email:hover {

    background: var(--tg-orange) !important;

    color: #fff !important;

    text-decoration: none !important;

}



/* Landing buttons */

.tg-btn {

    display: inline-block !important;

    padding: 14px 26px !important;

    border-radius: var(--tg-radius) !important;

    font-family: 'Inter', sans-serif !important;

    font-weight: 700 !important;

    font-size: 13px !important;

    text-decoration: none !important;

    transition: background 0.15s ease !important;

    border: none !important;

}

.tg-btn-primary {

    background: var(--tg-orange) !important;

    color: #fff !important;

}

.tg-btn-primary:hover {

    background: var(--tg-orange-dark) !important;

    color: #fff !important;

    transform: none !important;

    text-decoration: none !important;

}



/* =====================================================================

   SITE CHROME  (Astra header / footer / archive / search)

   ===================================================================== */



.site-header, .ast-main-header-wrap, .main-header-bar,

.ast-primary-header-bar {

    background: #fff !important;

    border-bottom: none !important;

    box-shadow: none !important;

}

.ast-site-identity .site-title, .site-title, .site-title a {

    font-family: 'Inter', system-ui, sans-serif !important;

    font-weight: 900 !important;

    color: var(--tg-ink) !important;

    letter-spacing: -0.03em !important;

}

.main-header-menu > li > a,

.main-header-bar-navigation .menu-item > a,

.ast-masthead-custom-menu-items a,

.main-header-bar a {

    font-family: 'Inter', sans-serif !important;

    font-size: 13px !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    color: var(--tg-ink) !important;

    font-weight: 600 !important;

}

.main-header-menu > li > a:hover { color: var(--tg-orange) !important; }

.sub-menu, .sub-menu li, .sub-menu a {

    background: #fff !important;

    border-color: var(--tg-border-soft) !important;

}



.site-footer, .ast-small-footer, .ast-footer-overlay,

.footer-sml-layout-1,

.site-below-footer-wrap,

.site-above-footer-wrap,

.site-primary-footer-wrap,

.ast-builder-grid-row-container.site-footer-focus-item {

    background: var(--tg-ink) !important;

    color: var(--tg-paper) !important;

    box-shadow: none !important;

}

.site-footer { border-top: 4px solid var(--tg-orange) !important; }

.site-footer a, .ast-small-footer a,

.site-below-footer-wrap a, .site-primary-footer-wrap a,

.footer-navigation a, .footer-nav-wrap a,

.ast-footer-copyright a { color: var(--tg-paper) !important; }

.site-footer a:hover,

.site-below-footer-wrap a:hover,

.site-primary-footer-wrap a:hover,

.footer-navigation a:hover,

.footer-nav-wrap a:hover,

.ast-footer-copyright a:hover { color: var(--tg-orange) !important; }

.site-footer .menu-item a { color: var(--tg-paper) !important; }

.ast-footer-copyright p, .ast-footer-copyright span { color: var(--tg-paper) !important; }



/* Archive / search listings */

.archive .ast-archive-description,

.archive header.page-header,

.search .page-header {

    background: transparent !important;

    border-bottom: 2px solid var(--tg-orange) !important;

    padding: 28px 0 !important;

    margin-bottom: 28px !important;

}

.archive .ast-archive-title, .search .page-title, .page-header h1 {

    font-family: Archivo, sans-serif !important;

    font-size: 48px !important;

    font-weight: 900 !important;

    letter-spacing: -0.025em !important;

    color: var(--tg-ink) !important;

    margin: 0 !important;

}

.archive article.post, .search article.post {

    border: 1px solid var(--tg-border-soft) !important;

    border-radius: var(--tg-radius-lg) !important;

    background: #fff !important;

    box-shadow: none !important;

    padding: 24px 28px !important;

    margin: 0 0 14px !important;

}

.archive article.post:hover, .search article.post:hover { border-color: var(--tg-orange) !important; }

.archive article.post .entry-title, .search article.post .entry-title {

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 24px !important;

    font-weight: 800 !important;

    line-height: 1.15 !important;

    letter-spacing: -0.015em !important;

}

.archive article.post .entry-title a, .search article.post .entry-title a { color: var(--tg-ink) !important; }

.archive article.post .entry-title a:hover, .search article.post .entry-title a:hover { color: var(--tg-orange) !important; }

.archive article.post .entry-meta, .search article.post .entry-meta {

    font-family: 'Inter', sans-serif !important;

    font-size: 12px !important;

    color: var(--tg-mute) !important;

}



/* =====================================================================

   RESPONSIVE - every wrapper, every breakpoint

   ===================================================================== */



@media (max-width: 1024px) {

    .tg-home .tg-hero-body h1 { font-size: 44px !important; }

    .tg-home .tg-section-banner h2 { font-size: 42px !important; }

    .tg-home .tg-wellbeing h2 { font-size: 30px !important; }

}



@media (max-width: 860px) {

    .tg-money-hub, .tg-housing-wrapper, .tg-deals-wrapper,

    .tg-tools-wrapper, .tg-careers-wrapper, .tg-life-wrapper,

    .tg-grad-money, .tg-index-wrapper, .tg-index-container,

    .tg-wrapper, .tg-landing {

        padding: 32px 20px 56px !important;

    }

    .tg-money-hub .tg-header h1, .tg-housing-wrapper .tg-header h1,

    .tg-deals-wrapper .tg-header h1, .tg-tools-wrapper .tg-header h1,

    .tg-careers-wrapper .tg-header h1, .tg-life-wrapper .tg-header h1,

    .tg-grad-money .tg-header h1, .tg-index-wrapper .tg-header h1,

    .tg-wrapper .tg-header h1 { font-size: 42px !important; }

    .tg-money-hub .tg-hero, .tg-housing-wrapper .tg-hero,

    .tg-deals-wrapper .tg-hero, .tg-tools-wrapper .tg-hero,

    .tg-careers-wrapper .tg-hero, .tg-life-wrapper .tg-hero,

    .tg-grad-money .tg-hero, .tg-index-wrapper .tg-hero,

    .tg-wrapper .tg-hero,

    .tg-landing-hero, .tg-dark-section { padding: 32px 28px !important; }

    .tg-money-hub .tg-hero h1, .tg-money-hub .tg-hero h2,

    .tg-housing-wrapper .tg-hero h1, .tg-deals-wrapper .tg-hero h1,

    .tg-tools-wrapper .tg-hero h1, .tg-careers-wrapper .tg-hero h1,

    .tg-life-wrapper .tg-hero h1, .tg-grad-money .tg-hero h1,

    .tg-index-wrapper .tg-hero h1, .tg-wrapper .tg-hero h1,

    .tg-landing h1 { font-size: 38px !important; }

    .tg-category-header h2, .tg-category-title h2 { font-size: 24px !important; }

    .tg-trust-grid { grid-template-columns: 1fr !important; }

    .tg-landing h2 { font-size: 26px !important; }

    .tg-dark-section h2 { font-size: 24px !important; }

    .tg-intro-box { padding: 24px 26px !important; }

    .tg-seo-content, .tg-seo-article, .tg-seo-panel { padding: 28px 30px !important; }



    .tg-home { padding: 14px 20px 48px !important; }

    .tg-home .tg-hero {

        grid-template-columns: 1fr !important;

        gap: 14px !important;

    }

    .tg-home .tg-hero-main {

        min-height: 380px !important;

    }

    .tg-home .tg-hero-body {

        padding: 26px 28px !important;

    }

    .tg-home .tg-hero-body h1 { font-size: 38px !important; }

    .tg-home .tg-hero-stack { padding: 0 !important; gap: 12px !important; }

    .tg-home .tg-callout {

        grid-template-columns: 1fr !important;

        gap: 16px !important;

        padding: 24px 26px !important;

        text-align: left !important;

    }

    .tg-home .tg-callout-checks { flex-direction: row !important; flex-wrap: wrap !important; gap: 12px !important; }

    .tg-home .tg-tools { grid-template-columns: repeat(2, 1fr) !important; }

    .tg-home .tg-dir-grid { grid-template-columns: 1fr !important; }

    .tg-home .tg-section-banner { height: 220px !important; }

    .tg-home .tg-section-banner h2 { font-size: 36px !important; }

    .tg-home .tg-section-banner-ov { padding: 26px 28px !important; }

    .tg-home .tg-wb-grid { grid-template-columns: repeat(2, 1fr) !important; }

    .tg-home .tg-wellbeing { padding: 30px 28px !important; }

    .tg-home .tg-wellbeing h2 { font-size: 28px !important; }



    .tg-article { padding: 28px 20px 56px !important; }

    .tg-article h1, .tg-article .tg-hero h1 { font-size: 38px !important; }

    .tg-article .tg-hero { padding: 26px 28px !important; }

    .tg-article h2 { font-size: 26px !important; margin: 44px 0 16px !important; }

    .tg-article h3 { font-size: 20px !important; }

    .tg-article .tg-toc ol { columns: 1 !important; }

    .tg-article .tg-proscons { grid-template-columns: 1fr !important; }

    .tg-article .tg-stat-number { font-size: 2.4rem !important; color: #1a1a1a !important; }



    .tg-about, .tg-calc, .tg-landing, .tg-contact, .tg-category,

    .tg-money, .tg-career, .tg-life, .tg-housing, .tg-index, .tg-deal {

        padding: 28px 20px 56px !important;

    }

    .tg-about h1, .tg-calc h1, .tg-landing h1, .tg-contact h1,

    .tg-category h1, .tg-money h1, .tg-career h1, .tg-life h1,

    .tg-housing h1, .tg-index h1, .tg-deal h1,

    .tg-about-hero h1, .tg-calc-hero h1, .tg-calc-hero h2,

    .tg-landing-hero h1, .tg-landing-hero h2,

    .tg-contact-hero h1, .tg-contact-hero h2,

    .tg-category-hero h1, .tg-deal-hero h1 {

        font-size: 38px !important;

    }

    .tg-about-hero, .tg-calc-hero, .tg-landing-hero,

    .tg-contact-hero, .tg-category-hero, .tg-deal-hero,

    .tg-money-hero, .tg-career-hero, .tg-life-hero,

    .tg-housing-hero, .tg-index-hero {

        padding: 30px 28px !important;

    }

    .tg-pillars, .tg-team-grid, .tg-contact-grid, .tg-landing-grid,

    .tg-deal-grid, .tg-category-grid, .tg-trust-grid, .tg-summary-grid {

        grid-template-columns: 1fr !important;

    }

    .tg-summary-item {

        border-right: none !important;

        border-bottom: 1px solid rgba(255,255,255,0.12) !important;

        padding: 18px 0 !important;

    }

    .tg-summary-grid .tg-summary-item:last-child { border-bottom: none !important; }

}



@media (max-width: 560px) {

    .tg-money-hub, .tg-housing-wrapper, .tg-deals-wrapper,

    .tg-tools-wrapper, .tg-careers-wrapper, .tg-life-wrapper,

    .tg-grad-money, .tg-index-wrapper, .tg-index-container,

    .tg-wrapper, .tg-landing {

        padding: 24px 16px 48px !important;

    }

    .tg-money-hub .tg-header, .tg-housing-wrapper .tg-header,

    .tg-deals-wrapper .tg-header, .tg-tools-wrapper .tg-header,

    .tg-careers-wrapper .tg-header, .tg-life-wrapper .tg-header,

    .tg-grad-money .tg-header, .tg-index-wrapper .tg-header,

    .tg-wrapper .tg-header {

        margin-bottom: 32px !important;

        padding-bottom: 24px !important;

    }

    .tg-money-hub .tg-header h1, .tg-housing-wrapper .tg-header h1,

    .tg-deals-wrapper .tg-header h1, .tg-tools-wrapper .tg-header h1,

    .tg-careers-wrapper .tg-header h1, .tg-life-wrapper .tg-header h1,

    .tg-grad-money .tg-header h1, .tg-index-wrapper .tg-header h1,

    .tg-wrapper .tg-header h1 { font-size: 32px !important; }

    .tg-money-hub .tg-header p, .tg-housing-wrapper .tg-header p,

    .tg-deals-wrapper .tg-header p, .tg-tools-wrapper .tg-header p,

    .tg-careers-wrapper .tg-header p, .tg-life-wrapper .tg-header p,

    .tg-grad-money .tg-header p, .tg-index-wrapper .tg-header p,

    .tg-wrapper .tg-header p { font-size: 16px !important; }

    .tg-money-hub .tg-hero, .tg-housing-wrapper .tg-hero,

    .tg-deals-wrapper .tg-hero, .tg-tools-wrapper .tg-hero,

    .tg-careers-wrapper .tg-hero, .tg-life-wrapper .tg-hero,

    .tg-grad-money .tg-hero, .tg-index-wrapper .tg-hero,

    .tg-wrapper .tg-hero,

    .tg-landing-hero, .tg-dark-section { padding: 26px 22px !important; }

    .tg-money-hub .tg-hero h1, .tg-money-hub .tg-hero h2,

    .tg-housing-wrapper .tg-hero h1, .tg-deals-wrapper .tg-hero h1,

    .tg-tools-wrapper .tg-hero h1, .tg-careers-wrapper .tg-hero h1,

    .tg-life-wrapper .tg-hero h1, .tg-grad-money .tg-hero h1,

    .tg-index-wrapper .tg-hero h1, .tg-wrapper .tg-hero h1,

    .tg-landing h1 { font-size: 30px !important; }

    .tg-category-header h2, .tg-category-title h2 { font-size: 22px !important; }

    .tg-category-block, .tg-category-section { margin-bottom: 40px !important; }

    .tg-money-hub .tg-card-grid, .tg-housing-wrapper .tg-card-grid,

    .tg-deals-wrapper .tg-card-grid, .tg-tools-wrapper .tg-card-grid,

    .tg-careers-wrapper .tg-card-grid, .tg-life-wrapper .tg-card-grid,

    .tg-grad-money .tg-card-grid, .tg-index-wrapper .tg-card-grid,

    .tg-wrapper .tg-card-grid,

    .tg-category-grid, .tg-crosshub-grid, .tg-landing .tg-card-grid {

        grid-template-columns: 1fr !important;

    }

    .tg-money-card, .tg-housing-card, .tg-deal-card, .tg-tool-card,

    .tg-career-card, .tg-life-card, .tg-index-card, .tg-card,

    .tg-crosshub-card { padding: 20px 22px !important; }

    .tg-money-card h3, .tg-housing-card h3, .tg-deal-card h3,

    .tg-tool-card h3, .tg-career-card h3, .tg-life-card h3,

    .tg-index-card h3, .tg-card h3 { font-size: 17px !important; }

    .tg-landing h2 { font-size: 22px !important; }

    .tg-landing h3 { font-size: 18px !important; }

    .tg-dark-section h2 { font-size: 22px !important; }

    .tg-intro-box { padding: 20px 22px !important; }

    .tg-seo-content, .tg-seo-article, .tg-seo-panel { padding: 24px 22px !important; }

    .tg-seo-content h2, .tg-seo-article h2, .tg-seo-panel h2 { font-size: 22px !important; }

    .tg-contact-email { font-size: 18px !important; padding: 12px 20px !important; }

    .tg-crosshub-wrapper { padding: 32px 0 !important; margin-top: 40px !important; }



    .tg-home { padding: 12px 16px 40px !important; }

    .tg-home .tg-alert { flex-wrap: wrap !important; gap: 8px 12px !important; padding: 12px 14px !important; font-size: 13px !important; }

    .tg-home .tg-alert::before { font-size: 9px !important; padding: 4px 8px !important; }

    .tg-home .tg-hero-main { min-height: 340px !important; }

    .tg-home .tg-hero-body { padding: 22px 22px !important; }

    .tg-home .tg-hero-body h1 { font-size: 30px !important; }

    .tg-home .tg-hero-body > p { font-size: 14px !important; margin-bottom: 16px !important; }

    .tg-home .tg-hcard { padding: 18px !important; }

    .tg-home .tg-hcard h2 { font-size: 19px !important; }

    .tg-home .tg-callout { padding: 22px !important; }

    .tg-home .tg-callout-body h2 { font-size: 20px !important; }

    .tg-home .tg-tools { grid-template-columns: 1fr !important; }

    .tg-home .tg-tool { padding: 16px 18px !important; }

    .tg-home .tg-section { margin-bottom: 44px !important; }

    .tg-home .tg-section-banner { height: 180px !important; border-radius: var(--tg-radius) !important; }

    .tg-home .tg-section-banner h2 { font-size: 28px !important; line-height: 1 !important; }

    .tg-home .tg-section-banner-ov { padding: 22px 22px !important; }

    .tg-home .tg-dbox { padding: 20px 22px !important; }

    .tg-home .tg-dbox-head { font-size: 15px !important; }

    .tg-home .tg-dlist a { font-size: 14px !important; }

    .tg-home .tg-dlist .sub { font-size: 12px !important; }

    .tg-home .tg-wellbeing { padding: 28px 24px !important; }

    .tg-home .tg-wellbeing h2 { font-size: 26px !important; }

    .tg-home .tg-wb-grid { grid-template-columns: 1fr !important; gap: 10px !important; }

    .tg-home .tg-wb-card { padding: 18px 20px !important; }



    .tg-article { padding: 24px 18px 48px !important; font-size: 16px !important; }

    .tg-article h1, .tg-article .tg-hero h1 { font-size: 32px !important; }

    .tg-article .tg-hero { padding: 22px 24px !important; }

    .tg-article h2 { font-size: 22px !important; margin: 36px 0 14px !important; }

    .tg-article h3 { font-size: 18px !important; }

    .tg-article p { font-size: 16px !important; line-height: 1.7 !important; }

    .tg-article .tg-takeaways { padding: 20px 22px !important; }

    .tg-article .tg-toc { padding: 20px 22px !important; }

    .tg-article .tg-stat { padding: 1rem 0 !important; }

    .tg-article .tg-stat-number { font-size: 2rem !important; color: #1a1a1a !important; }

    .tg-article .tg-cta { padding: 26px 24px !important; }

    .tg-article .tg-cta p { font-size: 18px !important; }

    .tg-article .tg-tool-cta { padding: 22px 24px !important; }

    .tg-article .tg-author-box { padding: 18px 20px !important; flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }

    .tg-article .tg-step { display: flex !important; padding: 0 0 1.2rem !important; gap: 1rem !important; border-bottom: 1px solid #eee !important; }

    .tg-article .tg-step-number { width: 1.75rem !important; height: 1.75rem !important; min-width: 1.75rem !important; font-size: .8rem !important; display: flex !important; }

    .tg-article .tg-proscons { gap: 10px !important; }

    .tg-article blockquote { padding: 16px 20px !important; font-size: 16px !important; }



    .tg-about, .tg-calc, .tg-landing, .tg-contact, .tg-category,

    .tg-money, .tg-career, .tg-life, .tg-housing, .tg-index, .tg-deal {

        padding: 24px 18px 48px !important;

        font-size: 16px !important;

    }

    .tg-about h1, .tg-calc h1, .tg-landing h1, .tg-contact h1,

    .tg-category h1, .tg-money h1, .tg-career h1, .tg-life h1,

    .tg-housing h1, .tg-index h1, .tg-deal h1,

    .tg-about-hero h1, .tg-calc-hero h1, .tg-calc-hero h2,

    .tg-landing-hero h1, .tg-landing-hero h2,

    .tg-contact-hero h1, .tg-contact-hero h2,

    .tg-category-hero h1, .tg-deal-hero h1 {

        font-size: 30px !important;

    }

    .tg-about h2, .tg-calc h2, .tg-landing h2, .tg-contact h2,

    .tg-category h2, .tg-money h2, .tg-career h2, .tg-life h2,

    .tg-housing h2, .tg-index h2, .tg-deal h2 {

        font-size: 22px !important;

        margin: 36px 0 14px !important;

    }

    .tg-about h3, .tg-calc h3, .tg-landing h3, .tg-contact h3,

    .tg-category h3, .tg-money h3, .tg-career h3, .tg-life h3,

    .tg-housing h3, .tg-index h3, .tg-deal h3 { font-size: 18px !important; }

    .tg-about-hero, .tg-calc-hero, .tg-landing-hero,

    .tg-contact-hero, .tg-category-hero, .tg-deal-hero,

    .tg-money-hero, .tg-career-hero, .tg-life-hero,

    .tg-housing-hero, .tg-index-hero { padding: 26px 24px !important; }

    .tg-mission { padding: 20px 22px !important; }

    .tg-mission p { font-size: 15px !important; }

    .tg-pillar, .tg-member { padding: 20px 22px !important; }

    .tg-pillar h3, .tg-member-name { font-size: 18px !important; }

    .tg-calc-section { padding: 20px 22px !important; }

    .tg-input-row { flex-wrap: wrap !important; gap: 8px !important; }

    .tg-input-label { flex: 1 1 100% !important; }

    .tg-input-field { width: 100% !important; }

    .tg-summary { padding: 24px 22px !important; }

    .tg-summary-value { font-size: 26px !important; }

    .tg-editorial { padding: 24px 22px !important; }

    .tg-editorial h2 { font-size: 24px !important; }

    .archive .ast-archive-title, .search .page-title, .page-header h1 { font-size: 34px !important; }

    .archive article.post, .search article.post { padding: 18px 20px !important; }

    .archive article.post .entry-title, .search article.post .entry-title { font-size: 20px !important; }

}



/* Print */

@media print {

    .tg-progress, .tg-skip-link { display: none !important; }

    .tg-animate { opacity: 1 !important; transform: none !important; }

}



/* ============================================================

   WIDE LAYOUT - Full article layout with share rail and sidebar

   Applied to all posts that contain .tg-share (sitewide)

   ============================================================ */



body:has(.tg-share) {

    --tgt-ink: #1a1a1a;

    --tgt-ink-2: #2c2a27;

    --tgt-ink-soft: #3d3a36;

    --tgt-paper: #ffffff;

    --tgt-paper-2: #f7f7f7;

    --tgt-paper-3: #eeeeee;

    --tgt-orange: #FF5722;

    --tgt-orange-dark: #E64A19;

    --tgt-orange-tint: #fff5f0;

    --tgt-mute: #5a5652;

    --tgt-border: #e5e5e5;

}

/* Hide Astra default post entry-header (author/date meta) - hero handles this */

body:has(.tg-share) header.entry-header {

    display: none !important;

}

body:has(.tg-share) #primary {

    margin-top: 0 !important;

    margin-bottom: 0 !important;

}

body:has(.tg-share) article.ast-article-single {

    padding-top: 32px !important;

}





/* Full-bleed break-out for the trial article + breadcrumb.

   Astra's main container stays at its default ~1200px centered width so the

   header/theme chrome is unaffected. The breadcrumb, financial disclaimer and

   .tg-article use a negative-margin break-out trick to span the full viewport

   while their parent stays at default width. The breadcrumb aligns with the

   article's left padding so it sits at the same left edge as the share rail. */

body:has(.tg-share) .ast-breadcrumbs-wrapper {

    position: relative !important;

    left: 50% !important;

    right: 50% !important;

    margin-left: -50vw !important;

    margin-right: -50vw !important;

    width: 100vw !important;

    max-width: none !important;

    padding-left: 36px !important;

    padding-right: 36px !important;

    box-sizing: border-box !important;

}



/* Astra caps every .entry-content child at var(--wp--custom--ast-content-width-size)

   (~1200px) via .ast-page-builder-template .entry-content > * > * - override for

   this page so the full-bleed layout can actually fill the viewport. */

.tg-article:has(.tg-share),

.tg-article:has(.tg-share) > *,

body:has(.tg-share) .entry-content[data-ast-blocks-layout] > .tg-article,

body:has(.tg-share) .entry-content[data-ast-blocks-layout] > .tg-financial-disclaimer,

body:has(.tg-share) .entry-content[data-ast-blocks-layout] > .tg-article > *,

body:has(.tg-share) .entry-content[data-ast-blocks-layout] > .tg-financial-disclaimer > * {

    max-width: none !important;

}

.tg-article:has(.tg-share) {

    --wp--custom--ast-content-width-size: 100% !important;

}



/* Progress bar */

body:has(.tg-share) .tg-progress {

    height: 2px !important;

    background: var(--tgt-orange) !important;

    box-shadow: none !important;

}

body:has(.tg-share) .tg-skip-link {

    background: var(--tgt-orange) !important;

    color: #fff !important;

    border-radius: 0!important;

    font-weight: 800 !important;

}



/* Financial disclaimer (sits outside the article) - subtle single-line note */

body:has(.tg-share) .tg-financial-disclaimer {

    max-width: none !important;

    width: 100vw !important;

    position: relative !important;

    left: 50% !important;

    right: 50% !important;

    margin-left: -50vw !important;

    margin-right: -50vw !important;

    margin-top: 0.5rem !important;

    background: transparent !important;

    border: none !important;

    border-radius: 0!important;

    padding: 0.4rem 1.5rem !important;

    color: #8a857e !important;

    font-size: 0.72rem !important;

    line-height: 1.45 !important;

}

body:has(.tg-share) .tg-financial-disclaimer p {

    font-size: 0.72rem !important;

    margin: 0 !important;

    color: #8a857e !important;

    line-height: 1.45 !important;

}

body:has(.tg-share) .tg-financial-disclaimer strong { color: #6b6864 !important; font-weight: 700 !important; }

body:has(.tg-share) .tg-financial-disclaimer a { color: #6b6864 !important; text-decoration: underline !important; }



/* Reset article skin */

.tg-article:has(.tg-share),

.tg-article:has(.tg-share) * {

    box-sizing: border-box !important;

    text-shadow: none !important;

}

.tg-article:has(.tg-share) [class*="tg-"] {

    backdrop-filter: none !important;

    -webkit-backdrop-filter: none !important;

}

.tg-article:has(.tg-share) .tg-stat::before,

.tg-article:has(.tg-share) .tg-callout::before,

.tg-article:has(.tg-share) .tg-cta::before,

.tg-article:has(.tg-share) .tg-cta::after {

    display: none !important;

    content: none !important;

}



/* ============================================================

   LAYOUT - CSS Grid: share rail | main | sidebar

   ============================================================ */



.tg-article:has(.tg-share) {

    max-width: none !important;

    width: 100vw !important;

    position: relative !important;

    left: 50% !important;

    right: 50% !important;

    margin-left: -50vw !important;

    margin-right: -50vw !important;

    margin-top: 1.5rem !important;

    padding: 0 2.25rem 4rem !important;

    display: grid !important;

    grid-template-columns: 64px minmax(0, 1fr) 380px !important;

    column-gap: 2.75rem !important;

    row-gap: 0 !important;

    align-items: start !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    color: var(--tgt-ink-2) !important;

    line-height: 1.7 !important;

    font-size: 18px !important;

    background: transparent !important;

}



.tg-article:has(.tg-share) > * {

    grid-column: 2 !important;

    min-width: 0 !important;

}

.tg-article:has(.tg-share) > .tg-hero {

    grid-column: 1 / -1 !important;

}

.tg-article:has(.tg-share) > .tg-share {

    grid-column: 1 !important;

    grid-row: 2 / span 99 !important;

    position: sticky !important;

    top: 6.5rem !important;

    align-self: start !important;

}

.tg-article:has(.tg-share) > .tg-sidebar {

    grid-column: 3 !important;

    grid-row: 2 / span 99 !important;

    position: sticky !important;

    top: 6.5rem !important;

    align-self: start !important;

    max-height: none !important;

    overflow: visible !important;

    display: flex !important;

    flex-direction: column !important;

    gap: 0.75rem !important;

    padding: 0 !important;

    margin: 0 !important;

    background: transparent !important;

    border: none !important;

    box-shadow: none !important;

}

.tg-article:has(.tg-share) > .tg-sidebar > .tg-toc {

    margin: 0 !important;

}

.tg-article:has(.tg-share) > .tg-author-box {

    grid-column: 2 !important;

}

.tg-article:has(.tg-share) > .tg-more-guides {

    grid-column: 2 !important;

}



/* ============================================================

   MORE GUIDES - related articles card grid at article end

   ============================================================ */



.tg-article:has(.tg-share) .tg-more-guides {

    background: transparent !important;

    border: none !important;

    border-top: 2px solid var(--tgt-ink) !important;

    border-radius: 0!important;

    padding: 2rem 0 0 0 !important;

    margin: 3rem 0 0 0 !important;

    box-shadow: none !important;

}

.tg-article:has(.tg-share) .tg-more-head {

    margin: 0 0 1.5rem 0 !important;

    padding: 0 !important;

}

.tg-article:has(.tg-share) .tg-more-label {

    display: block !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.72rem !important;

    font-weight: 800 !important;

    color: var(--tgt-orange) !important;

    text-transform: uppercase !important;

    letter-spacing: 0.18em !important;

    margin: 0 0 0.4rem 0 !important;

}

.tg-article:has(.tg-share) .tg-more-title {

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 1.75rem !important;

    font-weight: 900 !important;

    color: var(--tgt-ink) !important;

    line-height: 1.1 !important;

    letter-spacing: -0.02em !important;

    margin: 0 !important;

    padding: 0 !important;

    border: none !important;

}

.tg-article:has(.tg-share) .tg-more-title::before {

    content: none !important;

    display: none !important;

}

.tg-article:has(.tg-share) .tg-more-grid {

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 1rem !important;

    margin: 0 !important;

}

.tg-article:has(.tg-share) .tg-more-card {

    display: block !important;

    background: var(--tgt-paper-2) !important;

    border: none !important;

    border-top: 4px solid var(--tgt-orange) !important;

    border-radius: 0!important;

    padding: 1rem 1.35rem 2.4rem 1.35rem !important;

    text-decoration: none !important;

    color: var(--tgt-ink) !important;

    font-weight: 400 !important;

    transition: background 0.15s ease, border-color 0.15s ease !important;

    position: relative !important;

}

.tg-article:has(.tg-share) .tg-more-card:hover {

    background: var(--tgt-orange-tint) !important;

    border-top-color: var(--tgt-orange-dark) !important;

    color: var(--tgt-ink) !important;

}

.tg-article:has(.tg-share) .tg-more-card::after {

    content: "→" !important;

    position: absolute !important;

    right: 1.1rem !important;

    bottom: 1.1rem !important;

    color: var(--tgt-orange) !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 1.3rem !important;

    font-weight: 900 !important;

    line-height: 1 !important;

    transition: transform 0.15s ease !important;

}

.tg-article:has(.tg-share) .tg-more-card:hover::after {

    transform: translateX(4px) !important;

}

.tg-article:has(.tg-share) .tg-more-card-kicker {

    display: block !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.66rem !important;

    font-weight: 800 !important;

    color: var(--tgt-orange) !important;

    text-transform: uppercase !important;

    letter-spacing: 0.14em !important;

    margin: 0 0 0.45rem 0 !important;

    line-height: 1 !important;

}

.tg-article:has(.tg-share) .tg-more-card-title {

    display: block !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 1.08rem !important;

    font-weight: 800 !important;

    color: var(--tgt-ink) !important;

    line-height: 1.22 !important;

    letter-spacing: -0.01em !important;

    margin: 0 0 0.5rem 0 !important;

    padding: 0 !important;

    border: none !important;

}

.tg-article:has(.tg-share) .tg-more-card-title::before {

    content: none !important;

    display: none !important;

}

.tg-article:has(.tg-share) .tg-more-card-meta {

    display: block !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.82rem !important;

    font-weight: 600 !important;

    color: var(--tgt-mute) !important;

    margin: 0 !important;

    padding-right: 2rem !important;

    line-height: 1.4 !important;

}

.tg-article:has(.tg-share) .tg-more-title {

    display: block !important;

}

.tg-article:has(.tg-share) .tg-more-label {

    display: block !important;

}



/* ============================================================

   HERO - wide block with title left and image right

   ============================================================ */



.tg-article:has(.tg-share) .tg-hero {

    position: relative !important;

    background: #fff !important;

    padding: 1.5rem 0 0 !important;

    margin: 0 0 2rem 0 !important;

    border: none !important;

    border-bottom: 2px solid #eee !important;

    border-radius: 0!important;

    overflow: visible !important;

    box-shadow: none !important;

    display: block !important;

    min-height: auto !important;

}

.tg-article:has(.tg-share) .tg-hero::before,

.tg-article:has(.tg-share) .tg-hero::after {

    display: none !important;

    content: none !important;

}



.tg-article:has(.tg-share) .tg-hero-body {

    position: static !important;

    inset: auto !important;

    z-index: auto !important;

    padding: 0 !important;

    display: flex !important;

    flex-direction: column !important;

    justify-content: flex-start !important;

    background: none !important;

}

.tg-article:has(.tg-share) .tg-hero-body::before { display: none !important; content: none !important; }

/* Per-category eyebrow overrides */















.tg-article:has(.tg-share) .tg-hero h1 {

    font-family: Archivo, sans-serif !important;

    font-size: clamp(1.8rem, 3.2vw, 2.6rem) !important;

    font-weight: 800 !important;

    color: #1a1a1a !important;

    line-height: 1.1 !important;

    margin: 0 0 0.75rem 0 !important;

    letter-spacing: -0.02em !important;

    max-width: none !important;

}

.tg-article:has(.tg-share) .tg-hero .tg-subtitle {

    font-family: 'Inter', sans-serif !important;

    font-size: 0.88rem !important;

    font-weight: 500 !important;

    color: #5f5c58 !important;

    margin: 0 !important;

}

.tg-article:has(.tg-share) .tg-hero .tg-subtitle a {

    color: #1a1a1a !important;

    font-weight: 700 !important;

    text-decoration: none !important;

}

.tg-article:has(.tg-share) .tg-hero .tg-subtitle a:hover,

.tg-article:has(.tg-share) .tg-hero .tg-subtitle a:focus-visible {

    color: #c2410c !important;

    text-decoration: underline !important;

}

.tg-article:has(.tg-share) .tg-hero .tg-subtitle .tg-type-badge {

    background: #f5f5f5 !important;

    color: #777 !important;

    border: none !important;

    border-radius: 0!important;

    font-weight: 700 !important;

    font-size: 0.75rem !important;

}



.tg-article:has(.tg-share) .tg-hero-media {

    position: static !important;

    max-height: 340px !important;

    margin-top: 1.25rem !important;

    overflow: hidden !important;

    z-index: 1 !important;

}

.tg-article:has(.tg-share) .tg-hero-media::after { display: none !important; }

.tg-article:has(.tg-share) .tg-hero-media img {

    width: 100% !important;

    height: auto !important;

    max-height: 350px !important;

    object-fit: cover !important;

    display: block !important;

    filter: none !important;

}



/* ============================================================

   SHARE RAIL - sticky vertical column

   ============================================================ */



.tg-article:has(.tg-share) .tg-share {

    display: flex !important;

    flex-direction: column !important;

    align-items: center !important;

    gap: 0.5rem !important;

    padding: 0 !important;

    margin: 0 !important;

    background: transparent !important;

    border: none !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-label {

    font-family: 'Inter', sans-serif !important;

    font-size: 0.62rem !important;

    font-weight: 800 !important;

    color: var(--tgt-mute) !important;

    letter-spacing: 0.2em !important;

    text-transform: uppercase !important;

    writing-mode: vertical-rl !important;

    transform: rotate(180deg) !important;

    margin: 0 0 0.5rem 0 !important;

    padding: 0 !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-list {

    list-style: none !important;

    margin: 0 !important;

    padding: 0 !important;

    display: flex !important;

    flex-direction: column !important;

    gap: 0.5rem !important;

    align-items: center !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-list li {

    list-style: none !important;

    margin: 0 !important;

    padding: 0 !important;

    display: block !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-list li::before {

    display: none !important;

    content: none !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-btn {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    width: 44px !important;

    height: 44px !important;

    padding: 0 !important;

    background: transparent !important;

    color: var(--tgt-ink) !important;

    border: 1.5px solid var(--tgt-ink) !important;

    border-radius: 0!important;

    text-decoration: none !important;

    cursor: pointer !important;

    transition: background 0.12s ease, color 0.12s ease !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0 !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-btn svg {

    width: 18px !important;

    height: 18px !important;

    display: block !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-btn:hover,

.tg-article:has(.tg-share) .tg-share .tg-share-btn:focus-visible {

    background: var(--tgt-orange) !important;

    color: #fff !important;

    border-color: var(--tgt-orange) !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-btn.is-copied {

    background: var(--tgt-ink) !important;

    color: var(--tgt-orange) !important;

    border-color: var(--tgt-ink) !important;

}



/* Divider between groups in the share rail */

.tg-article:has(.tg-share) .tg-share .tg-share-divider {

    width: 24px !important;

    height: 1px !important;

    background: var(--tgt-border) !important;

    margin: 0.65rem 0 !important;

    flex: 0 0 auto !important;

}



/* Reading progress circle */

.tg-article:has(.tg-share) .tg-share .tg-share-progress {

    position: relative !important;

    width: 44px !important;

    height: 44px !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    flex: 0 0 auto !important;

    color: var(--tgt-orange) !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-progress svg {

    width: 44px !important;

    height: 44px !important;

    display: block !important;

    position: absolute !important;

    top: 0 !important;

    left: 0 !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-progress-track {

    stroke: var(--tgt-border) !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-progress-bar {

    stroke: var(--tgt-orange) !important;

    transition: stroke-dashoffset 0.08s linear !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-progress-value {

    position: relative !important;

    z-index: 1 !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 0.85rem !important;

    font-weight: 900 !important;

    color: var(--tgt-ink) !important;

    line-height: 1 !important;

    letter-spacing: -0.02em !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-progress-value small {

    font-size: 0.55rem !important;

    font-weight: 700 !important;

    color: var(--tgt-mute) !important;

    margin-left: 1px !important;

    letter-spacing: 0 !important;

}



/* Secondary action group (print, back to top) */

.tg-article:has(.tg-share) .tg-share .tg-share-actions {

    list-style: none !important;

    margin: 0 !important;

    padding: 0 !important;

    display: flex !important;

    flex-direction: column !important;

    gap: 0.5rem !important;

    align-items: center !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-actions li {

    list-style: none !important;

    margin: 0 !important;

    padding: 0 !important;

    display: block !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-actions li::before {

    display: none !important;

    content: none !important;

}



/* "Updated" date stamp at the bottom of the rail */

.tg-article:has(.tg-share) .tg-share .tg-share-updated {

    margin-top: 0.65rem !important;

    padding: 0.5rem 0.3rem !important;

    border: 1px dashed var(--tgt-border) !important;

    background: transparent !important;

    text-align: center !important;

    line-height: 1.15 !important;

    width: 60px !important;

    flex: 0 0 auto !important;

    display: block !important;

    box-sizing: border-box !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-updated-label {

    display: block !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.55rem !important;

    font-weight: 800 !important;

    color: var(--tgt-orange) !important;

    text-transform: uppercase !important;

    letter-spacing: 0.03em !important;

    line-height: 1 !important;

    margin-bottom: 0.3rem !important;

    white-space: nowrap !important;

}

.tg-article:has(.tg-share) .tg-share .tg-share-updated b {

    display: block !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 0.64rem !important;

    font-weight: 900 !important;

    color: var(--tgt-ink) !important;

    text-transform: uppercase !important;

    letter-spacing: 0 !important;

    line-height: 1.15 !important;

    white-space: nowrap !important;

}



/* Hide the extras on mobile - share becomes horizontal and we keep it simple */

@media (max-width: 760px) {

    .tg-article:has(.tg-share) .tg-share .tg-share-divider,

    .tg-article:has(.tg-share) .tg-share .tg-share-progress,

    .tg-article:has(.tg-share) .tg-share .tg-share-actions,

    .tg-article:has(.tg-share) .tg-share .tg-share-updated {

        display: none !important;

    }

}



/* (takeaways overrides removed - per-post CSS handles this) */



/* ============================================================

   TOC - sidebar box

   ============================================================ */



.tg-article:has(.tg-share) .tg-toc {

    background: #f5f5f5 !important;

    border: 1px solid #e0e0e0 !important;

    border-radius: 0!important;

    padding: 0.85rem 1.1rem !important;

    margin: 0 !important;

    box-shadow: none !important;

    flex: 0 0 auto !important;

}

.tg-article:has(.tg-share) .tg-toc h3 {

    font-family: Archivo, sans-serif !important;

    font-size: 0.85rem !important;

    font-weight: 700 !important;

    color: var(--tgt-ink) !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    margin: 0 0 0.5rem 0 !important;

    padding: 0 !important;

    border: none !important;

}

.tg-article:has(.tg-share) .tg-toc ol {

    list-style: none !important;

    counter-reset: tgt-toc !important;

    padding: 0 !important;

    margin: 0 !important;

    columns: 1 !important;

    column-count: 1 !important;

    column-gap: 0 !important;

}

.tg-article:has(.tg-share) .tg-toc ol li {

    list-style: none !important;

    counter-increment: tgt-toc !important;

    margin: 0 !important;

    padding: 0.22rem 0 0.22rem 1.85rem !important;

    position: relative !important;

    border-bottom: 1px dotted var(--tgt-border) !important;

}

.tg-article:has(.tg-share) .tg-toc ol li:last-child { border-bottom: none !important; }

.tg-article:has(.tg-share) .tg-toc ol li::before {

    content: counter(tgt-toc, decimal-leading-zero) !important;

    position: absolute !important;

    left: 0 !important;

    top: 0.25rem !important;

    color: var(--tgt-orange) !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 0.74rem !important;

    font-weight: 900 !important;

    letter-spacing: 0 !important;

    margin: 0 !important;

    background: transparent !important;

    width: auto !important;

    height: auto !important;

    display: inline !important;

}

.tg-article:has(.tg-share) .tg-toc a {

    color: var(--tgt-ink) !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.78rem !important;

    font-weight: 600 !important;

    text-decoration: none !important;

    line-height: 1.25 !important;

    display: block !important;

}

.tg-article:has(.tg-share) .tg-toc a:hover {

    color: var(--tgt-orange) !important;

    text-decoration: underline !important;

}



/* ============================================================

   SIDEBAR EXTRAS - tool CTA + at-a-glance facts

   ============================================================ */



/* Tool CTA card */

.tg-article:has(.tg-share) .tg-sidebar-tool {

    display: block !important;

    background: var(--tgt-ink) !important;

    color: #f5f2e8 !important;

    border: none !important;

    border-top: 4px solid var(--tgt-orange) !important;

    border-radius: 0!important;

    padding: 0.95rem 1.2rem 1.1rem !important;

    text-decoration: none !important;

    transition: background 0.15s ease !important;

    position: relative !important;

}

.tg-article:has(.tg-share) .tg-sidebar-tool:hover {

    background: #000 !important;

    color: #fff !important;

}

.tg-article:has(.tg-share) .tg-sidebar-tool-kicker {

    display: block !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.74rem !important;

    font-weight: 700 !important;

    color: var(--tgt-orange-dark) !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    margin: 0 0 0.4rem 0 !important;

    line-height: 1 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-tool-title {

    display: block !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 1.1rem !important;

    font-weight: 900 !important;

    color: #fff !important;

    line-height: 1.1 !important;

    letter-spacing: -0.02em !important;

    margin: 0 0 0.5rem 0 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-tool-desc {

    display: block !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.78rem !important;

    font-weight: 500 !important;

    color: #d8d3c2 !important;

    line-height: 1.45 !important;

    margin: 0 0 0.75rem 0 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-tool-btn {

    display: inline-block !important;

    padding: 0.45rem 0.9rem !important;

    background: var(--tgt-orange) !important;

    color: #fff !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 0.8rem !important;

    font-weight: 700 !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    border: none !important;

    text-decoration: none !important;

    line-height: 1 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-tool:hover .tg-sidebar-tool-btn {

    background: var(--tgt-orange-dark) !important;

}



/* Key facts card - single clean list with number + label per row */

.tg-article:has(.tg-share) .tg-sidebar-keyfacts {

    display: block !important;

    background: var(--tgt-paper-2) !important;

    border: none !important;

    border-top: 4px solid var(--tgt-ink) !important;

    border-radius: 0!important;

    padding: 0.75rem 1.1rem 0.85rem !important;

    margin: 0 !important;

    flex: 0 0 auto !important;

}

.tg-article:has(.tg-share) .tg-sidebar-keyfacts-label {

    display: block !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.74rem !important;

    font-weight: 700 !important;

    color: var(--tgt-orange-dark) !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    margin: 0 0 0.25rem 0 !important;

    line-height: 1 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-keyfacts-title {

    display: block !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 0.95rem !important;

    font-weight: 900 !important;

    color: var(--tgt-ink) !important;

    line-height: 1.1 !important;

    letter-spacing: -0.015em !important;

    margin: 0 0 0.5rem 0 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-keyfacts-list {

    display: block !important;

    margin: 0 !important;

    padding: 0 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-keyfact {

    display: grid !important;

    grid-template-columns: minmax(0, auto) 1fr !important;

    gap: 0.55rem !important;

    align-items: baseline !important;

    padding: 0.22rem 0 !important;

    margin: 0 !important;

    border-bottom: 1px dotted var(--tgt-border) !important;

}

.tg-article:has(.tg-share) .tg-sidebar-keyfact:first-child {

    padding-top: 0 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-keyfact:last-child {

    border-bottom: none !important;

    padding-bottom: 0 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-keyfact-num {

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 0.88rem !important;

    font-weight: 900 !important;

    color: var(--tgt-orange) !important;

    line-height: 1.1 !important;

    letter-spacing: -0.015em !important;

    margin: 0 !important;

    padding: 0 !important;

    white-space: nowrap !important;

}

.tg-article:has(.tg-share) .tg-sidebar-keyfact-lbl {

    font-family: 'Inter', sans-serif !important;

    font-size: 0.74rem !important;

    font-weight: 600 !important;

    color: var(--tgt-ink-soft) !important;

    line-height: 1.25 !important;

    margin: 0 !important;

    padding: 0 !important;

}



/* Newsletter CTA card (sidebar block type) */

.tg-article:has(.tg-share) .tg-sidebar-newsletter {

    display: block !important;

    background: var(--tgt-orange-tint) !important;

    border: none !important;

    border-top: 4px solid var(--tgt-orange) !important;

    border-radius: 0!important;

    padding: 0.75rem 1.1rem 0.85rem !important;

    margin: 0 !important;

    flex: 0 0 auto !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter-kicker {

    display: block !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.74rem !important;

    font-weight: 700 !important;

    color: var(--tgt-orange-dark) !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    margin: 0 0 0.3rem 0 !important;

    line-height: 1 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter-title {

    display: block !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 0.98rem !important;

    font-weight: 900 !important;

    color: var(--tgt-ink) !important;

    line-height: 1.1 !important;

    letter-spacing: -0.02em !important;

    margin: 0 0 0.3rem 0 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter-desc {

    display: block !important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.73rem !important;

    font-weight: 500 !important;

    color: var(--tgt-ink-soft) !important;

    line-height: 1.35 !important;

    margin: 0 0 0.55rem 0 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter-field {

    display: block !important;

    margin: 0 0 0.4rem 0 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter-srlabel {

    position: absolute !important;

    width: 1px !important;

    height: 1px !important;

    padding: 0 !important;

    margin: -1px !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;

    border: 0 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter-field input {

    display: block !important;

    width: 100% !important;

    padding: 0.42rem 0.6rem !important;

    background: #fff !important;

    color: var(--tgt-ink) !important;

    border: 1.5px solid var(--tgt-ink) !important;

    border-radius: 0!important;

    font-family: 'Inter', sans-serif !important;

    font-size: 0.78rem !important;

    font-weight: 500 !important;

    box-sizing: border-box !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter-field input::placeholder {

    color: var(--tgt-mute) !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter-field input:focus {

    outline: 2px solid var(--tgt-orange) !important;

    outline-offset: 1px !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter-btn {

    display: block !important;

    width: 100% !important;

    padding: 0.5rem 0.9rem !important;

    background: var(--tgt-ink) !important;

    color: #fff !important;

    border: none !important;

    font-family: 'Inter', system-ui, sans-serif !important;

    font-size: 0.82rem !important;

    font-weight: 700 !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    cursor: pointer !important;

    line-height: 1 !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter-btn:hover {

    background: var(--tgt-orange) !important;

}



/* Graduate newsletter variant - navy tint, for graduate category pages */

.tg-article:has(.tg-share) .tg-sidebar-newsletter--graduate {

    background: #ebedf5 !important;

    border-top-color: var(--tgt-ink) !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter--graduate .tg-sidebar-newsletter-kicker {

    color: var(--tgt-ink) !important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter--graduate .tg-sidebar-newsletter-btn:hover {

    background: #2d3561 !important;

}



/* (sections/headings overrides removed) */



/* (article body overrides removed) */



@media (max-width: 1240px) {

    .tg-article:has(.tg-share) {

        max-width: 960px !important;

        grid-template-columns: 56px minmax(0, 1fr) !important;

        column-gap: 2rem !important;

        padding: 0 1.5rem 4rem !important;

    }

    body:has(.tg-share) .tg-financial-disclaimer { max-width: 960px !important; }

    .tg-article:has(.tg-share) > .tg-sidebar {

        grid-column: 2 !important;

        grid-row: auto !important;

        position: static !important;

        max-height: none !important;

        overflow: visible !important;

        margin: 0 0 2rem 0 !important;

        display: block !important;

    }

    .tg-article:has(.tg-share) > .tg-sidebar .tg-toc {

        margin: 0 0 1.25rem 0 !important;

    }

    /* Hide optional sidebar extras on tablet - sidebar inline would be too tall */

    .tg-article:has(.tg-share) .tg-sidebar-tool,

    .tg-article:has(.tg-share) .tg-sidebar-keyfacts,

    .tg-article:has(.tg-share) .tg-sidebar-newsletter {

        display: none !important;

    }

    .tg-article:has(.tg-share) > .tg-more-guides,

    .tg-article:has(.tg-share) > .tg-author-box {

        grid-column: 2 !important;

    }

    /* Share rail extras hidden on tablet too - keep rail simple */

    .tg-article:has(.tg-share) .tg-share .tg-share-divider,

    .tg-article:has(.tg-share) .tg-share .tg-share-progress,

    .tg-article:has(.tg-share) .tg-share .tg-share-actions,

    .tg-article:has(.tg-share) .tg-share .tg-share-updated {

        display: none !important;

    }

}



/* ============================================================

   RESPONSIVE mobile up to 760px: single column, share horizontal

   ============================================================ */



@media (max-width: 760px) {

    .tg-article:has(.tg-share) {

        grid-template-columns: minmax(0, 1fr) !important;

        column-gap: 0 !important;

        padding: 0 1rem 3rem !important;

        font-size: 16px !important;

        max-width: 100% !important;

    }

    .tg-article:has(.tg-share) > * { grid-column: 1 !important; }

    .tg-article:has(.tg-share) > .tg-share {

        grid-column: 1 !important;

        grid-row: auto !important;

        position: static !important;

        margin: 0 0 1.25rem 0 !important;

        flex-direction: row !important;

        align-items: center !important;

        justify-content: flex-start !important;

        gap: 0.75rem !important;

        padding: 0.65rem 0 !important;

        border-top: 1px solid var(--tgt-border) !important;

        border-bottom: 1px solid var(--tgt-border) !important;

    }

    .tg-article:has(.tg-share) .tg-share .tg-share-label {

        writing-mode: horizontal-tb !important;

        transform: none !important;

        margin: 0 0.5rem 0 0 !important;

        font-size: 0.7rem !important;

    }

    .tg-article:has(.tg-share) .tg-share .tg-share-list {

        flex-direction: row !important;

        gap: 0.5rem !important;

    }

    .tg-article:has(.tg-share) .tg-share .tg-share-btn { width: 40px !important; height: 40px !important; }

    .tg-article:has(.tg-share) > .tg-sidebar { grid-column: 1 !important; display: block !important; }

    /* Hide sidebar extras on mobile - only TOC remains */

    .tg-article:has(.tg-share) .tg-sidebar-tool,

    .tg-article:has(.tg-share) .tg-sidebar-keyfacts,

    .tg-article:has(.tg-share) .tg-sidebar-newsletter {

        display: none !important;

    }



    /* Hero stacks */

    .tg-article:has(.tg-share) .tg-hero {

        grid-template-columns: 1fr !important;

        grid-template-rows: 220px auto !important;

        min-height: auto !important;

        margin: 0 0 2rem 0 !important;

    }

    .tg-article:has(.tg-share) .tg-hero-media {

        order: 1 !important;

        min-height: 220px !important;

        height: 220px !important;

    }

    .tg-article:has(.tg-share) .tg-hero-media::after {

        background: linear-gradient(0deg, var(--tgt-paper-2) 0%, transparent 40%) !important;

    }

    .tg-article:has(.tg-share) .tg-hero-body {

        order: 2 !important;

        padding: 1.5rem 1.5rem 1.75rem !important;

    }

    .tg-article:has(.tg-share) .tg-hero-body::before {

        font-size: 0.66rem !important;

        margin-bottom: 0.7rem !important;

    }

    .tg-article:has(.tg-share) .tg-hero h1 { font-size: 1.85rem !important; color: #1a1a1a !important; }



    .tg-article:has(.tg-share) h2 { font-size: 1.35rem !important; margin-top: 2.2rem !important; }

    .tg-article:has(.tg-share) h3 { font-size: 1.08rem !important; }

    .tg-article:has(.tg-share) p,

    .tg-article:has(.tg-share) li { font-size: 16px !important; }

    .tg-article:has(.tg-share) .tg-takeaways { padding: 1.35rem 1.25rem 1.5rem !important; }

    .tg-article:has(.tg-share) .tg-takeaways li { font-size: 0.96rem !important; padding-left: 2.1rem !important; }

    .tg-article:has(.tg-share) .tg-stat {

        grid-template-columns: 1fr !important;

        gap: 0.6rem !important;

        padding: 1.1rem 1.25rem !important;

    }

    .tg-article:has(.tg-share) .tg-stat-number { font-size: 2rem !important; color: #1a1a1a !important; }

    .tg-article:has(.tg-share) table { font-size: 0.88rem !important; }

    .tg-article:has(.tg-share) thead th,

    .tg-article:has(.tg-share) tbody td { padding: 0.6rem 0.7rem !important; }

    .tg-article:has(.tg-share) .tg-author-box {

        flex-direction: column !important;

        align-items: flex-start !important;

        text-align: left !important;

    }

    .tg-article:has(.tg-share) .tg-faq summary { font-size: 0.98rem !important; padding: 0.8rem 0.9rem !important; }

    .tg-article:has(.tg-share) .tg-more-grid { grid-template-columns: 1fr !important; }

    .tg-article:has(.tg-share) .tg-more-title { font-size: 1.4rem !important; }

    .tg-article:has(.tg-share) .tg-more-card { min-height: 110px !important; padding: 1rem 1.15rem 1.1rem !important; }

    .tg-article:has(.tg-share) .tg-more-card-title { font-size: 1rem !important; }

    .tg-article:has(.tg-share) > .tg-author-box { grid-column: 1 !important; }

    .tg-article:has(.tg-share) > .tg-more-guides { grid-column: 1 !important; }

}

/* END TRIAL v2 */



/* ===========================================================

   REVAMP v4 - Visible design changes

   =========================================================== */



/* All headings use Inter */

.tg-home h1, .tg-home h2, .tg-home h3,

.tg-article h1, .tg-article h2, .tg-article h3,

.tg-about h1, .tg-about h2, .tg-about h3,

.tg-category h1, .tg-category h2, .tg-category h3 {

    font-family: Archivo, sans-serif !important;

}



/* Homepage section banners - simple dark bar, no image */

.tg-home .tg-section-banner {

    height: auto !important;

    min-height: 0 !important;

    background: #111 !important;

    border-radius: 0!important;

    overflow: visible !important;

    position: relative !important;

}

.tg-home .tg-section-banner img { display: none !important; }

.tg-home .tg-section-banner-ov {

    position: static !important;

    background: none !important;

    padding: 22px 28px !important;

    display: flex !important;

    align-items: center !important;

    gap: 12px !important;

}

.tg-home .tg-section-banner h2 {

    font-size: 28px !important;

    font-weight: 800 !important;

    color: #fff !important;

    letter-spacing: -0.01em !important;

    font-family: Archivo, sans-serif !important;

}

.tg-home .tg-stag {

    background: #FF5722 !important;

    color: #fff !important;

    font-size: 10px !important;

    font-weight: 700 !important;

    padding: 3px 8px !important;

    border-radius: 0!important;

    text-transform: uppercase !important;

    letter-spacing: 0.06em !important;

}



/* Wellbeing - light background, not dark */

.tg-home .tg-wellbeing,

.tg-wellbeing {

    background: #f5f5f5 !important;

    color: #111 !important;

    border-radius: 0!important;

    padding: 28px 28px 32px !important;

    border-top: 3px solid #FF5722 !important;

}

.tg-home .tg-wellbeing h2, .tg-wellbeing h2 { color: #111 !important; }

.tg-home .tg-wellbeing > p, .tg-wellbeing > p { color: #555 !important; border-color: #e0e0e0 !important; }

.tg-home .tg-wb-label, .tg-wb-label { color: #FF5722 !important; }

.tg-home .tg-wb-card, .tg-wb-card {

    background: #fff !important;

    border: 1px solid #e0e0e0 !important;

    color: #111 !important;

    border-radius: 0!important;

}

.tg-home .tg-wb-card:hover, .tg-wb-card:hover { border-color: #FF5722 !important; }

.tg-home .tg-wb-card strong, .tg-wb-card strong { color: #111 !important; }

.tg-home .tg-wb-card span, .tg-wb-card span { color: #555 !important; }



/* Homepage callout - light, not dark */

.tg-home .tg-callout {

    background: #f5f5f5 !important;

    color: #111 !important;

    border: 1px solid #e0e0e0 !important;

    border-top: 4px solid #FF5722 !important;

}

.tg-home .tg-callout-body h2 { color: #111 !important; }

.tg-home .tg-callout-body p { color: #555 !important; }

.tg-home .tg-callout-checks { color: #333 !important; }



/* Sidebar cards - light, no orange top border */

.tg-article:has(.tg-share) .tg-sidebar-tool {

    background: #f5f5f5 !important;

    color: #111 !important;

    border: 1px solid #e0e0e0 !important;

    border-top: none !important;

    border-radius: 0!important;

}

.tg-article:has(.tg-share) .tg-sidebar-tool h4 { color: #111 !important; }

.tg-article:has(.tg-share) .tg-sidebar-tool p { color: #555 !important; }

.tg-article:has(.tg-share) .tg-sidebar-newsletter {

    background: #f5f5f5 !important;

    color: #111 !important;

    border: 1px solid #e0e0e0 !important;

    border-top: none !important;

    border-radius: 0!important;

}

.tg-article:has(.tg-share) .tg-sidebar-newsletter h4 { color: #111 !important; }

.tg-article:has(.tg-share) .tg-sidebar-newsletter p { color: #555 !important; }



/* Remove orange top border from hero and all sidebar cards */

.tg-article:has(.tg-share) .tg-hero { border-top: none !important; }

.tg-article:has(.tg-share) .tg-toc { border-top: none !important; }

.tg-article:has(.tg-share) .tg-sidebar-keyfacts { border-top: none !important; background: #f5f5f5 !important; border: 1px solid #e0e0e0 !important; border-radius: 0!important; }



/* Homepage hero h1 - Inter */

.tg-home .tg-hero-body h1 {

    font-family: Archivo, sans-serif !important;

}



/* Homepage hero cards */

.tg-home .tg-hcard h2 {

    font-family: Archivo, sans-serif !important;

}



/* h2 inside articles - remove the orange bar ::before if still present */

.tg-article:has(.tg-share) h2::before { display: none !important; content: none !important; }





/* ============================================

   POST VISUAL CLEANUP - April 2026

   Fix: dark hero, AI boxes, image sizing

   ============================================ */



/* --- HERO: white background, dark text --- */

.tg-article .tg-hero {

    background: #fff !important;

    border-bottom: 2px solid #eee !important;

    padding: 2rem 0 1.5rem !important;

    margin: 0 0 2rem !important;

}

.tg-article h1 {

    color: #1a1a1a !important;

}

.tg-article .tg-subtitle {

    color: #777 !important;

}

.tg-article .tg-subtitle span {

    background: rgba(255,87,34,.08) !important;

    color: #FF5722 !important;

}

.tg-article .tg-type-badge {

    background: #f5f5f5 !important;

    color: #777 !important;

    border-color: #e0e0e0 !important;

}



/* --- STEP BOXES: v4 editorial --- */
.tg-article .tg-step {
    display: flex !important;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    background: none !important;
    padding: 0 0 1.5rem !important;
    margin: 0 0 1.5rem !important;
    box-shadow: none !important;
    gap: 1.25rem !important;
}
.tg-article .tg-step:last-of-type {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}
.tg-article .tg-step-number {
    display: flex !important;
    width: 1.75rem !important;
    height: 1.75rem !important;
    min-width: 1.75rem !important;
    border-radius: 0!important;
    background: #1a1a1a !important;
    color: #fff !important;
    font-size: .8rem !important;
    font-weight: 700 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-top: .15rem !important;
}
.tg-article .tg-step-content {
    padding: 0 !important;
    border: none !important;
    margin: 0 !important;
}

/* --- CALLOUT BOXES: v4 editorial left-border --- */
.tg-article .tg-callout {
    background: #fff !important;
    border: none !important;
    border-left: 2px solid #1a1a1a !important;
    border-radius: 0!important;
    box-shadow: none !important;
    padding: 1rem 1.25rem !important;
    margin: 1.5rem 0 !important;
}
.tg-article .tg-callout-tip {
    border-left-color: #1a1a1a !important;
}
.tg-article .tg-callout-warning {
    border-left-color: #1a1a1a !important;
}
.tg-article .tg-callout-note {
    border-left-color: #555 !important;
}
.tg-article .tg-callout-icon {
    display: none !important;
}
.tg-article .tg-callout-label {
    font-size: .85rem !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
}

/* --- STAT BOXES: v4 editorial --- */
.tg-article .tg-stat {
    background: none !important;
    border: none !important;
    border-top: 1px solid #e5e5e5 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    padding: 1.25rem 0 !important;
    margin: 1.75rem 0 !important;
    box-shadow: none !important;
}
.tg-article .tg-stat-number {
    font-size: 2.4rem !important;
    color: #1a1a1a !important;
}
.tg-article .tg-stat-label {
    display: none !important;
}

/* --- CTA BOXES: v4 editorial --- */
.tg-article .tg-cta {
    background: #f7f7f7 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 0!important;
    box-shadow: none !important;
}

/* --- IMAGES: inline sizing, not full-bleed --- */

.tg-article .tg-figure img,

.tg-article .tg-hero-media img {

    max-width: 100% !important;

    height: auto !important;

    border-radius: 0!important;

}

.tg-article .tg-hero-media {

    margin: 1rem 0 0 !important;

    max-height: 320px !important;

    overflow: hidden !important;

}

.tg-article .tg-figure {

    margin: 1.5rem 0 !important;

}

/* Inline image style - smaller, floated */

.tg-article .tg-img-inline {

    float: right !important;

    max-width: 280px !important;

    margin: 0 0 1rem 1.5rem !important;

    border-radius: 0!important;

}

.tg-article .tg-img-inline img {

    max-width: 100% !important;

    height: auto !important;

}

@media (max-width: 600px) {

    .tg-article .tg-img-inline {

        float: none !important;

        max-width: 100% !important;

        margin: 1rem 0 !important;

    }

}



/* --- DIVIDERS: subtle --- */

.tg-article .tg-divider,

.tg-article hr.tg-divider {

    border: none !important;

    border-top: 1px solid #eee !important;

    margin: 2rem 0 !important;

}



/* --- TAKEAWAYS: v4 dark top border --- */
.tg-article .tg-takeaways {
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    border-top: 2px solid #1a1a1a !important;
    box-shadow: none !important;
}

/* --- TABLES: clean --- */

.tg-article .tg-table {

    border-radius: 0!important;

    box-shadow: none !important;

    overflow: hidden !important;

}

.tg-article .tg-table thead {

    background: #f5f5f5 !important;

}

.tg-article .tg-table th {

    background: #f5f5f5 !important;

    color: #1a1a1a !important;

    font-weight: 600 !important;

    border-bottom: 2px solid #e0e0e0 !important;

}



/* --- FAQ: clean --- */

.tg-article .tg-faq-toggle::before,

.tg-article .tg-faq-toggle::after {

    background: #999 !important;

}



/* --- ANIMATIONS: disabled --- */

.tg-article .tg-animate {

    opacity: 1 !important;

    transform: none !important;

    transition: none !important;

}



/* --- RELATED POSTS: clean cards --- */

.tg-article .tg-related-card {

    border-radius: 0!important;

    box-shadow: none !important;

    border: 1px solid #e0e0e0 !important;

}







/* ============================================

   POST COMPONENT CLEANUP - April 2026

   ============================================ */



/* CTA boxes - v4 editorial */
.tg-article .tg-cta {
    background: #f7f7f7 !important;
    color: #1a1a1a !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 0!important;
    box-shadow: none !important;
    text-align: left !important;
}
.tg-article .tg-cta h3,
.tg-article .tg-cta p {
    color: #1a1a1a !important;
}
.tg-article .tg-cta a {
    color: #FF5722 !important;
}

/* Tool CTA - v4 editorial */
.tg-article .tg-tool-cta {
    background: #f7f7f7 !important;
    border: 1px solid #e5e5e5 !important;
    color: #1a1a1a !important;
}
.tg-article .tg-tool-cta h3,
.tg-article .tg-tool-cta h4 {
    color: #1a1a1a !important;
}
.tg-article .tg-tool-cta a {
    color: #1a1a1a !important;
}

/* Rating box - v4 editorial */
.tg-article .tg-rating {
    background: transparent !important;
    color: #1a1a1a !important;
    border: none !important;
    padding: 0 !important;
}
.tg-article .tg-rating-stars {
    display: none !important;
}

/* Table headers - v4 dark */
.tg-article thead th {
    background: #1a1a1a !important;
    color: #fff !important;
}

/* Callout icons hidden */
.tg-article .tg-callout-icon {
    display: none !important;
}

/* Step layout - v4 editorial */
.tg-article .tg-step-number {
    display: flex !important;
    width: 1.75rem !important;
    height: 1.75rem !important;
    min-width: 1.75rem !important;
    border-radius: 0!important;
    background: #1a1a1a !important;
    color: #fff !important;
    font-size: .8rem !important;
    align-items: center !important;
    justify-content: center !important;
}
.tg-article .tg-step {
    display: flex !important;
    background: none !important;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    padding: 0 0 1.5rem !important;
    box-shadow: none !important;
    gap: 1.25rem !important;
}
.tg-article .tg-step-content {
    padding: 0 !important;
}

/* Stat boxes - v4 editorial */
.tg-article .tg-stat {
    background: none !important;
    border: none !important;
    border-top: 1px solid #e5e5e5 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    box-shadow: none !important;
    padding: 1.25rem 0 !important;
}
.tg-article .tg-stat-label {
    display: none !important;
}

/* Callout boxes - v4 editorial */
.tg-article .tg-callout {
    background: #fff !important;
    border: none !important;
    border-left: 2px solid #1a1a1a !important;
    border-radius: 0!important;
    box-shadow: none !important;
    padding: 1rem 1.25rem !important;
}
.tg-article .tg-callout-tip {
    border-left-color: #1a1a1a !important;
}
.tg-article .tg-callout-warning {
    border-left-color: #1a1a1a !important;
}

/* Fix breadcrumb/content area background */

.ast-separate-container .entry-content,

.ast-separate-container .ast-article-single,

.ast-separate-container .ast-article-post {

    background: #fff !important;

}

.ast-separate-container .entry-content .tg-article {

    background: #fff !important;

}









/* ============================================

   CALCULATOR PAGE OVERRIDES - Clean Design

   ============================================ */



/* Calculator hero - white, not dark */

.tg-calc-hero {

    background: #fff !important;

    color: #1a1a1a !important;

    border: none !important;

    border-radius: 0!important;

    border-bottom: 2px solid #eee !important;

    padding: 2rem 2rem 1.5rem !important;

    overflow: visible !important;

}

.tg-calc-hero h1,

.tg-calc-hero h2 {

    color: #1a1a1a !important;

    font-family: Archivo, sans-serif !important;

}

.tg-calc-hero p {

    color: #777 !important;

}

.tg-calc-hero p span {

    background: rgba(255,87,34,0.08) !important;

    color: #FF5722 !important;

}

.tg-calc-hero::before,

.tg-calc-hero::after {

    display: none !important;

}



/* Calculator summary panels - light */

.tg-calc .tg-summary,

.tg-article .tg-salary-result,

.tg-article .tg-loan-results,

.tg-article .tg-rent-summary,

.bhs-summary,

.st-summary {

    background: #f5f5f5 !important;

    color: #1a1a1a !important;

    border: 1px solid #e0e0e0 !important;

    border-radius: 0!important;

    box-shadow: none !important;

    position: relative !important;

}



/* Summary labels */

.tg-summary-label,

.tg-salary-label {

    color: #777 !important;

}



/* Summary sub text */

.tg-summary-sub {

    color: #999 !important;

}



/* Calculator section cards - flat */

.tg-calc-section,

.tg-salary-section,

.tg-loan-section,

.tg-rent-section {

    border-radius: 0!important;

    box-shadow: none !important;

    border: 1px solid #e5e5e5 !important;

}



/* Period toggles - flat */

.tg-period-toggle {

    border-radius: 0!important;

}

.tg-period-btn {

    border-radius: 0!important;

}

.tg-period-btn.active {

    background: #FF5722 !important;

    color: #fff !important;

    box-shadow: none !important;

}



/* Input fields - flat */

.tg-input-field input,

.tg-custom-name {

    border-radius: 0!important;

}



/* Buttons - flat */

.tg-calc .tg-add-row .plus-icon {

    border-radius: 0!important;

}

.tg-remove-btn {

    border-radius: 0!important;

}



/* Bills/Subscription hero overrides */

.bhs-hero, .st-hero {

    background: #fff !important;

    color: #1a1a1a !important;

    border-radius: 0!important;

    border-bottom: 2px solid #eee !important;

}

.bhs-hero h2, .st-h1 {

    color: #1a1a1a !important;

}

.bhs-hero p, .st-hero p, .bhs-hero-sub, .st-sub {

    color: #777 !important;

}

.bhs-hero::before, .bhs-hero::after,

.st-hero::before, .st-hero::after {

    display: none !important;

}





/* Mobile homepage fix - hide section descriptions that go vertical */
@media (max-width: 680px) {
    .tg-home .tg-hp-sh .tg-hp-desc {
        display: none !important;
    }
}


/* --- TABLE SCROLL HINT (mobile) --- */
@media (max-width: 768px) {
    .tg-article .tg-table-wrap {
        position: relative !important;
    }
    .tg-article .tg-table-wrap::after {
        content: 'Scroll →' !important;
        display: block !important;
        text-align: right !important;
        font-size: .7rem !important;
        color: #999 !important;
        padding: 6px 2px 0 !important;
        letter-spacing: .03em !important;
        font-family: 'Inter', sans-serif !important;
    }
}
/* UniSorted Article v4 - Editorial Components */
.tg-skip-link{position:absolute;top:-40px;left:0;background:#FF5722;color:#fff;padding:.5rem 1rem;z-index:10000;text-decoration:none;font-weight:700;transition:top .15s}.tg-skip-link:focus{top:0}
.tg-article *,.tg-article *::before,.tg-article *::after{box-sizing:border-box}
.tg-article{max-width:780px;margin:0 auto;padding:2rem 1.25rem 3rem;font-family:'Inter',system-ui,sans-serif;color:#2c2a27;line-height:1.75;font-size:1.05rem}
.tg-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:#FF5722;z-index:9999;will-change:width}
@media(prefers-reduced-motion:reduce){.tg-progress{transition:none}}

/* Hero */
.tg-hero{padding:2.5rem 2rem 2rem;margin:0 -1.25rem 2rem;border-radius: 0;overflow:hidden;background:#1a1a1a}
.tg-article h1{font-family:'Archivo',sans-serif;font-size:2.5rem;font-weight:900;color:#fff;line-height:1.08;margin:0 0 .75rem;letter-spacing:-.03em}
.tg-subtitle{color:#5f5c58;font-size:.92rem;margin:0;line-height:1.5}
.tg-subtitle a{color:#1a1a1a;font-weight:600;text-decoration:none}
.tg-subtitle a:hover{color:#c2410c;text-decoration:underline}
.tg-type-badge{display:inline-block;background:rgba(255,255,255,.08);color:rgba(255,255,255,.55);padding:.15rem .6rem;border-radius: 0;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border:1px solid rgba(255,255,255,.1)}

/* Headings */
.tg-article h2{font-family:'Archivo',sans-serif;font-size:1.55rem;font-weight:800;color:#1a1a1a;margin:2.75rem 0 1rem;padding-bottom:.5rem;letter-spacing:-.02em;border-bottom:2px solid #eee}
.tg-article h3{font-family:'Archivo',sans-serif;font-size:1.2rem;font-weight:700;color:#1a1a1a;margin:1.75rem 0 .75rem}
.tg-article p{margin:0 0 1.25rem}
.tg-article a{color:#FF5722;text-decoration:underline;text-decoration-color:rgba(255,87,34,.3);text-underline-offset:2px}
.tg-article a:hover{text-decoration-color:#FF5722;color:#E64A19}
.tg-article a:focus-visible{outline:2px solid #FF5722;outline-offset:2px;border-radius: 0}
.tg-article strong{color:#1a1a1a}

/* Takeaways */
.tg-takeaways{background:#fff;border:1px solid #e5e5e5;border-top:2px solid #1a1a1a;padding:1.75rem 2rem;margin:0 0 2rem}
.tg-takeaways h2{font-size:1rem;margin:0 0 1rem;padding:0;border:none;color:#1a1a1a;font-family:'Archivo',sans-serif;font-weight:700;letter-spacing:0}
.tg-takeaways ul,.tg-takeaways ol{margin:0;padding:0;list-style:none!important;counter-reset:takeaway}
.tg-takeaways li{margin-bottom:.65rem;line-height:1.6;padding-left:1.75rem!important;font-size:.95rem;position:relative;list-style:none!important;color:#2c2a27}
.tg-takeaways li::marker{display:none!important;content:none!important}
.tg-takeaways li::before{counter-increment:takeaway;content:counter(takeaway);width:1.15rem;height:1.15rem;min-width:1.15rem;border-radius:50%;background:#1a1a1a;color:#fff;font-weight:700;font-size:.65rem;display:inline-flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;position:absolute;left:0;top:.3rem}

/* TOC */
.tg-toc{background:#f7f7f7;border:1px solid #e5e5e5;padding:1.5rem 2rem;margin:0 0 2.5rem}
.tg-toc h3{margin:0 0 .75rem;font-size:.85rem;color:#1a1a1a;font-family:'Archivo',sans-serif;font-weight:700}
.tg-toc ol{list-style:none!important;padding:0;margin:0;counter-reset:toc}
.tg-toc ol li{list-style:none!important;display:block;margin-bottom:.4rem;counter-increment:toc}
.tg-toc ol li::before{content:counter(toc,decimal-leading-zero);color:#999;font-weight:600;margin-right:.75rem;font-size:.8rem;font-family:'Inter',sans-serif}
.tg-toc a{color:#2c2a27;font-size:.95rem;font-weight:500;text-decoration:none}
.tg-toc a:hover{color:#FF5722}

/* Sections */
.tg-section{padding-left:0;border-left:none;margin-bottom:.5rem}

/* Animations - disabled */
.tg-animate{opacity:1!important;transform:none!important}
.tg-animate.tg-visible{opacity:1!important;transform:none!important}

/* Stat */
.tg-stat{background:#fff;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;padding:1.25rem 0;margin:1.75rem 0;display:flex;align-items:baseline;gap:.75rem}
.tg-stat-number{font-family:'Archivo',sans-serif;font-size:2.4rem;font-weight:900;color:#1a1a1a;white-space:nowrap;line-height:1}
.tg-stat-context{font-size:.92rem;line-height:1.5;color:#666}
.tg-stat-label{display:none}

/* Callouts */
.tg-callout{padding:1rem 1.25rem;margin:1.75rem 0;display:flex;gap:.75rem;align-items:flex-start;background:#fff}
.tg-callout-icon{display:none}
.tg-callout-body{flex:1}
.tg-callout-body p{margin:0;font-size:.95rem}
.tg-callout-label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.35rem}
.tg-callout-tip{border-left:2px solid #1a1a1a;color:#2c2a27}
.tg-callout-tip .tg-callout-label{color:#1a1a1a}
.tg-callout-warning{border-left:2px solid #1a1a1a;color:#2c2a27}
.tg-callout-warning .tg-callout-label{color:#c2410c}
.tg-callout-note{border-left:2px solid #555;color:#2c2a27}
.tg-callout-note .tg-callout-label{color:#555}

/* Tables */
.tg-table-wrap{overflow-x:auto;margin:1.75rem 0 2rem;border:1px solid #e5e5e5}
.tg-article table{width:100%;border-collapse:collapse;margin:0;font-size:.95rem;min-width:500px}
.tg-article thead th{background:#1a1a1a;color:#fff;font-weight:600;padding:.8rem 1rem;text-align:left;font-size:.88rem}
.tg-article tbody td{padding:.75rem 1rem;border-bottom:1px solid #eee}
.tg-article tbody tr:nth-child(even){background:#f9f9f9}
.tg-article tbody tr:last-child td{border-bottom:none}

/* Lists */
.tg-article ul,.tg-article ol{padding-left:1.5rem;margin:.75rem 0 1.5rem}
.tg-article li{margin-bottom:.4rem;padding-left:.25rem}
.tg-article ul li::marker{color:#FF5722}
.tg-article ol li::marker{color:#FF5722;font-weight:600}
.tg-article blockquote{border-left:2px solid #1a1a1a;background:#fff;margin:1.75rem 0;padding:1rem 1.5rem;font-style:italic;color:#555}
.tg-article blockquote p:last-child{margin-bottom:0}

/* FAQ */
.tg-faq{margin-top:2.5rem}
.tg-faq h2{margin-bottom:1rem}
.tg-faq .tg-faq-item{border:1px solid #e5e5e5;margin-bottom:.5rem;overflow:hidden;background:#fff}
.tg-faq .tg-faq-item:hover{border-color:#ccc}
.tg-faq .tg-faq-item[open]{border-color:#1a1a1a}
.tg-faq summary{font-weight:600;padding:1rem 1.25rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:1.02rem;color:#1a1a1a;line-height:1.4;text-transform:none!important;letter-spacing:normal!important}
.tg-faq summary:hover{color:#FF5722}
.tg-faq summary::-webkit-details-marker{display:none}
.tg-faq summary::marker{display:none;content:''}
.tg-faq summary::after{content:'+';font-size:1.3rem;font-weight:400;color:#999;flex-shrink:0;margin-left:1rem}
.tg-faq .tg-faq-item[open] summary::after{content:'\2212 '}
.tg-faq .tg-faq-item[open] summary{border-bottom:1px solid #eee}
.tg-faq .faq-answer{padding:1rem 1.25rem}
.tg-faq .faq-answer p{margin:0;color:#555;line-height:1.7}

/* CTA */
.tg-cta{background:#f7f7f7;border:1px solid #e5e5e5;padding:1.5rem 2rem;margin:2.5rem 0 1rem;text-align:left}
.tg-cta p{margin:0;font-size:1rem;color:#2c2a27}
.tg-cta a{color:#FF5722;font-weight:600;text-decoration-color:rgba(255,87,34,.4)}
.tg-cta a:hover{color:#E64A19;text-decoration-color:#E64A19}

/* Divider */
.tg-divider{height:1px;border:none;margin:2.75rem 0;background:#e5e5e5}

/* Checklist */
.tg-checklist{margin:1rem 0 1.5rem}
.tg-check-item{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0;margin-bottom:0;border:none;border-bottom:1px solid #f0f0f0}
.tg-check-item:last-child{border-bottom:none}
.tg-check-item:hover{background:transparent}
.tg-check-item input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:1.1rem;height:1.1rem;min-width:1.1rem;border:1.5px solid #ccc;border-radius: 0;margin-top:.2rem;cursor:pointer;position:relative}
.tg-check-item input[type="checkbox"]:checked{background:#1a1a1a;border-color:#1a1a1a}
.tg-check-item input[type="checkbox"]:checked::after{content:'\2713 ';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:.65rem;font-weight:700}
.tg-check-item input[type="checkbox"]:focus-visible{outline:2px solid #FF5722;outline-offset:2px}
.tg-check-item span{line-height:1.6;font-size:.95rem}
.tg-check-item.tg-checked span{text-decoration:line-through;color:#999}

/* Steps */
.tg-step{display:flex;gap:1.25rem;margin:1.5rem 0;padding:0 0 1.5rem;background:#fff;border:none;border-bottom:1px solid #eee;position:relative}
.tg-step::after{display:none}
.tg-step:last-of-type{border-bottom:none;padding-bottom:0}
.tg-step-number{width:1.75rem;height:1.75rem;min-width:1.75rem;border-radius: 0;background:#1a1a1a;color:#fff;font-family:'Inter',sans-serif;font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.15rem}
.tg-step-content{flex:1;min-width:0}
.tg-step-content h3{margin:0 0 .5rem;font-size:1.05rem;color:#1a1a1a}
.tg-step-content p{margin:0 0 .75rem}
.tg-step-content p:last-child{margin-bottom:0}

/* Pros/Cons */
.tg-proscons{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:1.75rem 0;border:1px solid #e5e5e5}
.tg-pros,.tg-cons{padding:1.25rem 1.5rem;background:#fff}
.tg-pros{border-right:1px solid #e5e5e5;border-top:2px solid #1a1a1a}
.tg-cons{border-top:2px solid #999}
.tg-pros h3,.tg-pros h4,.tg-cons h3,.tg-cons h4{font-family:'Inter',sans-serif;font-size:.9rem;margin:0 0 .85rem;font-weight:700;overflow:hidden}
.tg-pros h3,.tg-pros h4{color:#1a1a1a}
.tg-cons h3,.tg-cons h4{color:#666}
.tg-pros ul,.tg-cons ul{margin:0;padding:0;list-style:none}
.tg-pros li,.tg-cons li{padding:.35rem 0;position:relative;font-size:.93rem;margin-bottom:0;border-bottom:1px solid #f5f5f5;padding-left:0;line-height:1.55;color:#2c2a27}
.tg-pros li:last-child,.tg-cons li:last-child{border-bottom:none}
.tg-pros li::before{content:none}
.tg-cons li::before{content:none}

/* Verdict */
.tg-verdict{background:#fff;border-left:3px solid #1a1a1a;padding:.85rem 1.25rem;margin:1.25rem 0;display:block}
.tg-verdict-icon{display:none}
.tg-verdict p{margin:0;font-weight:500;color:#1a1a1a;line-height:1.6;font-size:.95rem}

/* Rating */
.tg-rating{display:inline-flex;align-items:baseline;gap:.5rem;background:transparent;color:#1a1a1a;padding:0;margin:.5rem 0 1.5rem;font-size:.95rem}
.tg-rating-score{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.4rem;color:#1a1a1a}
.tg-rating-stars{display:none}
.tg-rating-context{color:#999;font-size:.88rem}

/* Link cards */
.tg-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:1.5rem 0}
.tg-card-grid>p,.tg-card-grid>br{display:none!important}
.tg-link-card{display:block;padding:1.1rem 1.35rem;border:1px solid #e5e5e5;text-decoration:none;background:#fff;position:relative}
.tg-link-card:hover{border-color:#1a1a1a}
.tg-link-card h3,.tg-link-card h4{font-family:'Archivo',sans-serif;font-size:1.02rem;font-weight:700;color:#1a1a1a;margin:0 0 .3rem}
.tg-link-card p{margin:0;font-size:.88rem;color:#777;line-height:1.5}

/* Tool CTA */
.tg-tool-cta{background:#f7f7f7;border:1px solid #e5e5e5;padding:1.25rem 1.5rem;margin:1.75rem 0}
.tg-tool-cta a{text-decoration:none;display:block}
.tg-tool-cta h3,.tg-tool-cta h4{font-family:'Archivo',sans-serif;font-size:1.05rem;font-weight:700;color:#1a1a1a;margin:0 0 .2rem}
.tg-tool-cta p{margin:0;font-size:.88rem;color:#777;line-height:1.5}
.tg-tool-btn{display:inline-block;margin-top:.6rem;padding:.4rem 1rem;background:#1a1a1a;color:#fff;font-weight:600;font-size:.82rem;letter-spacing:.02em}
.tg-tool-cta:hover .tg-tool-btn{background:#FF5722}

/* Figures */
.tg-figure{margin:2rem 0;overflow:hidden;border:1px solid #e5e5e5}
.tg-figure img{width:100%;height:auto;display:block;object-fit:cover;max-height:420px}

/* Author box */
.tg-author-box{display:flex;align-items:flex-start;gap:1.25rem;background:#fff;padding:1.5rem;margin:2.5rem 0 0;border:1px solid #e5e5e5}
@media(max-width:500px){.tg-author-box{flex-direction:column;align-items:center;text-align:center}}
.tg-author-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}
.tg-author-info{flex:1}
.tg-author-label{font-size:.8rem;font-weight:600;color:#777;margin-bottom:.1rem}
.tg-author-name{font-family:'Archivo',sans-serif;font-size:1.05rem;font-weight:800;color:#1a1a1a;margin-bottom:.3rem}
.tg-author-bio{font-size:.88rem;color:#666;margin:0;line-height:1.6}

/* Mobile */
@media(max-width:640px){
.tg-article{padding:1.25rem 1rem}
.tg-hero{padding:1.75rem 1.25rem;margin:0 -1rem 1.5rem}
.tg-article h1{font-size:1.85rem}
.tg-article h2{font-size:1.3rem;margin-top:2rem}
.tg-article h3{font-size:1.08rem}
.tg-article p,.tg-article li{font-size:1rem}
.tg-takeaways{padding:1.25rem}
.tg-stat{flex-direction:column;gap:.25rem;padding:1rem 0}
.tg-stat-number{font-size:2rem}
.tg-article table{font-size:.85rem}
.tg-article thead th,.tg-article tbody td{padding:.6rem .7rem}
.tg-faq summary{font-size:.95rem;padding:.8rem 1rem}
.tg-toc{padding:1.25rem}
.tg-proscons{grid-template-columns:1fr;gap:0}
.tg-pros{border-right:none;border-bottom:1px solid #e5e5e5}
.tg-step{gap:.75rem}
.tg-card-grid{grid-template-columns:1fr}
.tg-figure{margin:1.5rem 0}
.tg-figure img{max-height:280px}
}

/* Print */
@media print{
.tg-progress,.tg-skip-link{display:none!important}
.tg-hero{background:#1a1a1a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.tg-stat,.tg-faq details{break-inside:avoid}
.tg-article a::after{content:' (' attr(href) ')';font-size:.8em;color:#666}
.tg-article a[href^="#"]::after{content:''}
.tg-figure{break-inside:avoid}
}
/* /win/ prize-draw page (moved from inline <style>, which tg-external-css strips; 2026-06-12) */
.tg-win{max-width:760px;margin:0 auto}
.tg-win-eyebrow{font-family:'Inter',sans-serif;font-size:0.9rem;color:#c2410c;font-weight:600;margin-bottom:18px}
.tg-win-hero{margin:0 0 28px;text-align:center;background:linear-gradient(180deg,#fff8f3 0%,#ffffff 100%);padding:32px 20px 24px;border-radius: 0}
.tg-win-hero img{max-width:360px;width:100%;height:auto;border-radius: 0}
.tg-win-hero figcaption{font-family:Archivo,sans-serif;font-size:1.1rem;color:#1a1a1a;margin-top:14px}
.tg-win-h1{font-family:Archivo,sans-serif;font-size:2rem;line-height:1.2;margin:0 0 22px;color:#1a1a1a}
.tg-win-h2{font-family:Archivo,sans-serif;font-size:1.5rem;margin-top:32px;margin-bottom:12px;color:#1a1a1a}
.tg-win p,.tg-win li{font-family:'Inter',sans-serif;color:#1a1a1a;line-height:1.6}
.tg-win ol li,.tg-win ul li{margin-bottom:8px}
.tg-win-meta{font-size:0.85rem;color:#666;margin-top:32px;padding-top:24px;border-top:1px solid #eee}

/* =====================================================================
   RESCUED RULES 2026-07-05: non-homepage rules (megamenu panel, reader
   quotes, roster, sources, header/search etc.) that were interleaved
   with the old homepage block and briefly removed with it during the
   revamp splice. Restored same day with fonts/radius transforms applied.
   ===================================================================== */
/* === Consent banner restyle (2026-07-16, humanness sweep item 1) ===
   Complianz ships a rounded, blue, material-shadowed banner that is every
   visitor's first impression of the site and reads as generic plugin
   furniture against the locked design language.

   Override surface is Complianz's own CSS custom properties, not its
   selectors: the plugin re-generates banner-1-optin.css from its settings on
   every save and an update is pending (7.4.6 -> 7.5.0), so variable
   overrides survive what selector overrides would not.

   These carry !important because Complianz injects that stylesheet from its
   own JS AFTER tg-custom.css. A later :root block beats an earlier one at
   equal specificity, so specificity alone loses the cascade race. */
html:root {
  --cmplz_banner_border_radius: 0 0 0 0 !important;
  --cmplz_button_border_radius: 0 0 0 0 !important;
  --cmplz_banner_background_color: #ffffff !important;
  --cmplz_banner_border_color: #1a1a1a !important;
  --cmplz_banner_border_width: 1px 1px 1px 1px !important;
  --cmplz_text_color: #1a1a1a !important;
  --cmplz_title_font_size: 17px !important;
  --cmplz_text_font_size: 14px !important;   /* was 12px: below our body floor */
  --cmplz_link_font_size: 13px !important;
  --cmplz_category_body_font_size: 13px !important;
  --cmplz_category_header_title_font_size: 14px !important;
  --cmplz_hyperlink_color: #c2410c !important;
  /* Accept is the one committed action, so it carries the accent. #c2410c and
     not brand #FF5722: white on #FF5722 is ~3.0:1 and fails AA for text
     (a11y rule, 2026-06-01). Deny and preferences are equal-weight outlines,
     because a greyed-out Deny beside a coloured Accept is a dark pattern. */
  --cmplz_button_accept_background_color: #c2410c !important;
  --cmplz_button_accept_border_color: #c2410c !important;
  --cmplz_button_accept_text_color: #ffffff !important;
  --cmplz_button_deny_background_color: #ffffff !important;
  --cmplz_button_deny_border_color: #1a1a1a !important;
  --cmplz_button_deny_text_color: #1a1a1a !important;
  --cmplz_button_settings_background_color: #ffffff !important;
  --cmplz_button_settings_border_color: #1a1a1a !important;
  --cmplz_button_settings_text_color: #1a1a1a !important;
  --cmplz_slider_active_color: #c2410c !important;
  --cmplz_slider_inactive_color: #9a9690 !important;  /* was #F56E28: an orange "off" reads as on */
  --cmplz_slider_bullet_color: #ffffff !important;
}
/* Typeface and the material double-shadow, which no variable exposes.
   The toggle pills keep their radius on purpose: square corners are the
   rule for panels and buttons, but a square switch reads as broken. */
#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-manage-consent .cmplz-manage-consent {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  box-shadow: none !important;
  padding: 18px 20px !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show:hover {
  box-shadow: none !important;
  transition: none !important;
}
/* Header: drop the centred title (plugin default) for a left-aligned
   publisher-dense one. The logo div renders empty here, so :empty collapses
   it and the two-column grid stays honest if a logo is ever configured. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
  grid-template-columns: 1fr auto !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo:empty { display: none !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
  font-family: Archivo, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  justify-self: start !important;
  grid-column-start: 1 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close { grid-column-start: 2 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider {
  border-top: 1px solid #e5e5e5 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  height: 42px !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category {
  background-color: #f7f7f7 !important;
}

/* === Consent banner mobile fix (2026-04-14) ===
   Complianz default banner fills viewport on narrow screens when the
   category list is expanded. Force a bottom-sheet style with capped
   height and internal scroll so the article H1 stays visible. */
@media (max-width: 640px) {
  .cmplz-cookiebanner.banner-1,
  #cmplz-cookiebanner-container .cmplz-cookiebanner {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 55vh !important;
    border-radius: 0!important;
    overflow-y: auto !important;
    margin: 0 !important;
    /* Flat top rule instead of the soft shadow (2026-07-16): the sheet is
       full-bleed on mobile, so the variable border only reads on this edge. */
    box-shadow: none !important;
    border-top: 1px solid #1a1a1a !important;
  }
.cmplz-cookiebanner .cmplz-categories { max-height: 28vh; overflow-y: auto; }
.cmplz-cookiebanner .cmplz-buttons { padding-bottom: env(safe-area-inset-bottom, 0); }
}
/* tg-global-overflow-safety — prevent wide tables/elements from causing viewport scroll on mobile */
html, body { overflow-x: clip; }
.tg-article { overflow-x: clip; max-width: 100%; }
.tg-article img, .tg-article table, .tg-article iframe, .tg-article pre { max-width: 100%; }
.tg-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
/* tg-cls-mitigation — reserve aspect ratio for Complianz blocked iframes to prevent CLS on consent/unblock */
.tg-article iframe,
.tg-article .cmplz-placeholder-parent,
.tg-article .cmplz-blocked-content-container {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  display: block;
}
.tg-article iframe[width][height] { aspect-ratio: auto; }
/* Hub hero catch-all — applies to any `.tg-hero` on any page that isn't the homepage.
   Guarantees that a wrapper-class typo cannot silently unstyle a hub header.
   Homepage keeps its bespoke `.tg-home .tg-hero` grid layout via higher specificity. */
body:not(.tg-home) header.tg-hero {
    background: transparent !important;
    color: var(--tg-ink) !important;
    border: none !important;
    border-bottom: 1px solid var(--tg-border-soft) !important;
    border-radius: 0!important;
    padding: 4px 0 22px !important;
    margin: 0 0 32px !important;
    text-align: left !important;
    position: static !important;
    overflow: visible !important;
}
body:not(.tg-home) header.tg-hero h1,
body:not(.tg-home) header.tg-hero h2 {
    font-family: Archivo, sans-serif !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    color: var(--tg-ink) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.03em !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: none !important;
}
body:not(.tg-home) header.tg-hero h1::before,
body:not(.tg-home) header.tg-hero h2::before { display: none !important; }
body:not(.tg-home) header.tg-hero p {
    color: var(--tg-mute) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 17px !important;
    max-width: 700px !important;
    margin: 0 0 12px !important;
    line-height: 1.6 !important;
}
body:not(.tg-home) header.tg-hero p:last-child { margin-bottom: 0 !important; }
body:not(.tg-home) header.tg-hero a {
    color: var(--tg-orange-dark) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
body:not(.tg-home) header.tg-hero h1,
    body:not(.tg-home) header.tg-hero h2 { font-size: 32px !important; }
body:not(.tg-home) header.tg-hero p { font-size: 15px !important; }
}
body.tg-home .tg-home {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
/* Hide .tg-skip-link offscreen more thoroughly — at top:-40 with ~43px
   height, 3px of its orange background was leaking into the viewport
   as a thin top bar on every page. */
.tg-skip-link {
    top: -100px !important;
}
/* Homepage mobile width — reclaim horizontal space by reducing the
   article's side padding and zeroing .tg-home's extra inner padding.
   Target Astra's actual article wrapper (.ast-article-single on pages). */
@media (max-width: 768px) {
    body.home .ast-article-single {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
body.home .tg-home {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
}
@media (max-width: 480px) {
    body.home .ast-article-single {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
body.home .tg-home {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
/* Nudge top menu (About us / For Universities / etc.) down a touch
   so it sits visually balanced with the logo instead of riding the
   top edge of the header. Desktop only, mobile nav is its own thing. */
@media (min-width: 922px) {
    .ast-primary-header-bar .ast-builder-menu-2,
    .ast-primary-header-bar .mega-menu-wrap,
    .ast-primary-header-bar #mega-menu-wrap-primary {
        padding-top: 10px !important;
    }
}
/* Mobile nav: ensure burger tap target meets 48x48 minimum (CWV) */
@media (max-width: 921px) {
    .mega-menu-toggle {
        min-width: 48px;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }
}
/* ============================================================
   TG PILLAR PAGES  (added 2026-04-17)
   ============================================================ */

/* Pillar hub: hero is just the page title + intro, rendered by page template.
   This styles the shortcode output injected into the page content. */
.tg-pillar-hub {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 20px;
}
.tg-pillar-section {
    margin: 48px 0;
    padding-top: 32px;
    border-top: 1px solid #eee;
}
.tg-pillar-section:first-child {
    border-top: none;
    padding-top: 0;
}
.tg-pillar-section-h {
    font-family: 'Archivo', sans-serif;
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 24px 0;
    color: #111;
    letter-spacing: -0.01em;
}
.tg-pillar-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}
.tg-pillar-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 0;
    overflow: hidden;
    transition: border-color 0.15s ease;
}
.tg-pillar-card:hover {
    border-color: #FF5722;
}
.tg-pillar-card-thumb {
    display: block;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #f6f6f6;
}
.tg-pillar-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tg-pillar-card-body {
    padding: 18px 20px 22px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.tg-pillar-card-title {
    font-family: 'Archivo', sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.25;
    margin: 0 0 10px 0;
}
.tg-pillar-card-title a {
    color: #111;
    text-decoration: none;
}
.tg-pillar-card-title a:hover {
    color: #FF5722;
}
.tg-pillar-card-excerpt {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #555;
    margin: 0;
}
/* Pillar index (/guides/) */
.tg-pillar-index {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}
.tg-pillar-index-card {
    display: block;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 0;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease;
}
.tg-pillar-index-card:hover {
    border-color: #FF5722;
}
.tg-pillar-index-card h3 {
    font-family: 'Archivo', sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 8px 0;
    color: #111;
    line-height: 1.2;
}
.tg-pillar-index-card p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #555;
    margin: 0 0 14px 0;
}
.tg-pillar-count {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #c2410c;
}
/* Mobile adjustments */
@media (max-width: 640px) {
    .tg-pillar-section { margin: 36px 0; padding-top: 24px; }
.tg-pillar-section-h { font-size: 22px; margin-bottom: 18px; }
.tg-pillar-list { grid-template-columns: 1fr; gap: 18px; }
.tg-pillar-card-title { font-size: 16px; }
.tg-pillar-index-card { padding: 22px 20px; }
}
/* Quick-answer block - injected by tg-quick-answer.php on single posts */
.tg-quick-answer{
  background:#fff5ea;
  border-left:4px solid #1a1a1a;
  padding:14px 18px;
  margin:20px 0 28px;
  font-size:16px;
  line-height:1.55;
  border-radius: 0;
}
.tg-quick-answer p{margin:0}
.tg-quick-answer strong{color:#c73d0a;font-weight:700}
/* ===== Mega Menu: Latest Guides 4th column ===== */
#mega-menu-primary .tg-mm-latest-col { padding-left: 16px; }
#mega-menu-primary .tg-mm-latest-col .mega-sub-menu { list-style: none; margin: 0; padding: 0; }
#mega-menu-primary .tg-mm-latest-heading > .mega-menu-link {
    font-family: 'Archivo', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #111 !important;
    padding-bottom: 8px !important;
    margin-bottom: 8px !important;
    border-bottom: 1px solid #e5e5e5;
    display: block;
}
#mega-menu-primary .tg-mm-latest-list { display: flex !important; flex-direction: column; gap: 12px; }
#mega-menu-primary .tg-mm-latest-item { margin: 0 !important; padding: 0 !important; background: none !important; }
#mega-menu-primary .tg-mm-latest-card {
    display: grid !important;
    grid-template-columns: 88px 1fr;
    gap: 10px;
    align-items: start;
    padding: 6px !important;
    border-radius: 0;
    background: #fff !important;
    text-decoration: none !important;
    transition: background 0.15s ease;
}
#mega-menu-primary .tg-mm-latest-card:hover { background: #f7f7f7 !important; }
#mega-menu-primary .tg-mm-latest-thumb {
    display: block;
    width: 88px;
    height: 66px;
    overflow: hidden;
    border-radius: 0;
    background: #eee;
}
#mega-menu-primary .tg-mm-latest-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
#mega-menu-primary .tg-mm-latest-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
#mega-menu-primary .tg-mm-latest-tag {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #c2410c;
}
#mega-menu-primary .tg-mm-latest-title {
    font-family: 'Archivo', sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    color: #111;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (max-width: 920px) {
    #mega-menu-primary .tg-mm-latest-col { display: none; }
}
/* Tools for this topic sidebar card (2026-04-18) */
.tg-sidebar-tools{background:#fff;border:1px solid #e5e5e5;border-radius: 0;padding:16px 18px;margin-bottom:16px}
.tg-sidebar-tools h3{font-family:"Archivo",system-ui,sans-serif;font-size:.95rem;font-weight:700;color:#111;margin:0 0 10px;letter-spacing:-.01em}
.tg-sidebar-tools ul{list-style:none;margin:0;padding:0}
.tg-sidebar-tools li{margin:0;border-top:1px solid #eee}
.tg-sidebar-tools li:first-child{border-top:0}
.tg-sidebar-tools a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;text-decoration:none;color:#111;font-family:"Inter",system-ui,sans-serif}
.tg-sidebar-tools a:hover{color:#FF5722}
.tg-sidebar-tools-title{font-size:.9rem;font-weight:500;line-height:1.3}
.tg-sidebar-tools-cta{font-size:.8rem;font-weight:600;color:#c2410c;white-space:nowrap}
/* === TG INTERACTIVE TOOLS (calculators + templates) === */
.tg-article .tg-tool{margin:28px 0;background:#fff;border:1px solid #eee;border-radius: 0;padding:22px;box-sizing:border-box;}
.tg-article .calc-wrapper{display:block;}
.tg-article .calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 18px;margin:12px 0 18px;}
.tg-article .calc-input-group{display:flex;flex-direction:column;gap:6px;}
.tg-article .calc-input-group label{font-family:"Inter",system-ui,sans-serif;font-size:.92rem;font-weight:600;color:#222;}
.tg-article .calc-input-group input[type="number"],
.tg-article .calc-input-group select{font:400 16px/1.3 "Inter",system-ui,sans-serif;padding:10px 12px;border:1px solid #ddd;border-radius: 0;background:#fff;color:#111;width:100%;box-sizing:border-box;min-height:44px;}
.tg-article .calc-input-group input[type="number"]:focus,
.tg-article .calc-input-group select:focus{outline:2px solid #FF5722;outline-offset:1px;border-color:#FF5722;}
.tg-article .calc-btn{font:600 1rem/1.1 "Archivo",system-ui,sans-serif;background:#FF5722;color:#fff;border:0;padding:12px 18px;border-radius: 0;cursor:pointer;min-height:44px;margin-top:4px;}
.tg-article .calc-btn:hover{background:#e04812;}
.tg-article .calc-btn:focus-visible{outline:3px solid #FFB39B;outline-offset:2px;}
.tg-article .calc-results{margin-top:20px;padding:16px 18px;background:#fff8f3;border:1px solid #ffd7c2;border-radius: 0;}
.tg-article .calc-results[hidden]{display:none;}
.tg-article .result-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-bottom:1px dashed #f1c9b0;}
.tg-article .result-row:last-of-type{border-bottom:0;}
.tg-article .result-label{font-family:"Inter",system-ui,sans-serif;font-size:.95rem;color:#333;}
.tg-article .result-value{font:700 1.05rem/1.2 "Archivo",system-ui,sans-serif;color:#111;}
.tg-article .result-note{font:400 .9rem/1.45 "Inter",system-ui,sans-serif;color:#555;margin:12px 0 0;}
@media (max-width:480px){
  .tg-article .tg-tool{padding:16px;}
.tg-article .calc-grid{grid-template-columns:1fr;gap:12px;}
}
/* tg-nested-block-safety: defence-in-depth against illegal nesting of structural
   flex containers. Any tg-step inside a tg-step (etc.) collapses to full-width
   block so a missing </div> can never produce skinny vertical-text columns. */
.tg-article .tg-step .tg-step,
.tg-article .tg-callout .tg-callout,
.tg-article .tg-cta .tg-cta,
.tg-article .tg-key-facts .tg-key-facts,
.tg-article .tg-stat .tg-stat,
.tg-article .tg-hero .tg-hero,
.tg-article .tg-figure .tg-figure,
.tg-article .tg-deal-card .tg-deal-card {
  display: block !important;
  width: 100% !important;
  flex: 0 0 100% !important;
  grid-column: 1 / -1 !important;
}
.tg-article * {
  min-width: 0;
}
/* --- Engagement: inline related, bookmarks, newsletter prompt, saved page --- */

.tg-inline-related{
  margin: 2.25rem 0;
  padding: 1.25rem 0;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}
.tg-inline-related__title{
  font-family: Archivo, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: #111;
  margin: 0 0 0.75rem;
}
.tg-inline-related__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 720px){
  .tg-inline-related__list{ grid-template-columns: 1fr; }
}
.tg-inline-related__link{
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 0.75rem;
  align-items: center;
  text-decoration: none;
  color: inherit;
  transition: color 0.15s;
}
.tg-inline-related__link:hover .tg-inline-related__heading{ color: #FF5722; }
.tg-inline-related__thumb{
  display: block;
  width: 72px; height: 54px;
  background-size: cover;
  background-position: center;
  background-color: #f5f5f5;
  border-radius: 0;
}
.tg-inline-related__heading{
  font-family: Archivo, sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.3;
  color: #111;
}
.tg-bookmark-btn{
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.65rem;
  margin-top: 0.5rem;
  background: transparent;
  border: 1px solid #ddd;
  border-radius: 0;
  color: #555;
  font: 500 0.85rem/1 'Inter', sans-serif;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
  text-transform: none;
  letter-spacing: 0;
}
.tg-bookmark-btn:hover{ border-color: #FF5722; color: #FF5722; }
.tg-bookmark-btn.is-saved{ border-color: #FF5722; color: #FF5722; }
.tg-bookmark-btn__icon{ display: inline-flex; }
.tg-bookmark-btn.is-saved svg path{ fill: currentColor; }
.tg-np{
  position: fixed;
  left: 1rem; right: 1rem;
  bottom: 1rem;
  max-width: 420px;
  margin-left: auto;
  background: #fff;
  border: 1px solid #111;
  box-shadow: 0 2px 0 #111;
  z-index: 9999;
  padding: 1.1rem 1.25rem;
  transform: translateY(150%);
  opacity: 0;
  transition: transform 0.25s ease, opacity 0.25s ease;
  font-family: 'Inter', sans-serif;
}
.tg-np.is-in{ transform: translateY(0); opacity: 1; }
.tg-np__close{
  position: absolute;
  top: 0.25rem; right: 0.5rem;
  background: transparent; border: 0;
  font-size: 1.5rem; line-height: 1;
  color: #888; cursor: pointer;
  padding: 0.25rem 0.4rem;
}
.tg-np__close:hover{ color: #111; }
.tg-np__title{
  font-family: Archivo, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  margin: 0 0 0.2rem;
  color: #111;
}
.tg-np__blurb{
  font-size: 0.85rem;
  line-height: 1.4;
  color: #555;
  margin: 0 0 0.75rem;
}
.tg-np__label{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.tg-np__form{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.5rem;
}
.tg-np__form input[type="email"]{
  padding: 0.55rem 0.7rem;
  border: 1px solid #ccc;
  border-radius: 0;
  font: inherit;
}
.tg-np__submit{
  padding: 0.55rem 1rem;
  background: #FF5722;
  color: #fff;
  border: 0;
  border-radius: 0;
  font: 600 0.9rem/1 'Inter', sans-serif;
  cursor: pointer;
}
.tg-np__submit:hover{ background: #e64a19; }
.tg-np__status{ grid-column: 1 / -1; margin: 0.4rem 0 0; font-size: 0.8rem; color: #555; }
.tg-saved{ margin: 1rem 0; }
.tg-saved__empty{ color: #555; font-style: italic; }
.tg-saved__list{
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: 0.5rem;
}
.tg-saved__item a{
  display: block;
  padding: 0.7rem 0.9rem;
  border: 1px solid #e5e5e5;
  border-radius: 0;
  color: #111;
  text-decoration: none;
  font-family: Archivo, sans-serif;
  font-weight: 600;
}
.tg-saved__item a:hover{ border-color: #FF5722; color: #FF5722; }
/* -------- Related Cluster (end-of-post 6-link block, growth plan step 1.3) ---------- */
.tg-related-cluster{
  margin: 2.4rem 0 0;
  padding: 1.6rem 0 0;
  border-top: 1px solid #e5e5e5;
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 1fr;
  font-family: 'Inter', system-ui, sans-serif;
}
@media (min-width: 720px){
  .tg-related-cluster{ grid-template-columns: 1fr 1fr; gap: 2.4rem; }
}
.tg-related-cluster__heading{
  font-family: Archivo, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #111;
  margin: 0 0 0.6rem;
}
.tg-related-cluster__list{
  list-style: none;
  padding: 0;
  margin: 0;
}
.tg-related-cluster__list li{
  padding: 0.35rem 0;
  border-bottom: 1px dashed #ececec;
}
.tg-related-cluster__list li:last-child{ border-bottom: 0; }
.tg-related-cluster__list a{
  color: #111;
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.4;
}
.tg-related-cluster__list a:hover{
  color: #FF5722;
  text-decoration: underline;
}
/* ---------------------------------------------------------------------------
 * tg-reader-voice.css — append to tg-custom.css after main rules.
 *
 * Three new block patterns introduced 2026-05-29 in support of the
 * humanness/E-E-A-T programme:
 *
 *   .tg-reader-quote   Visible reader voice pull-quote. Inserted as a real
 *                      reader's verbatim line. Distinct from generic
 *                      blockquote (which is for cited prose) — this block
 *                      has a left orange rule, a softer body face, and an
 *                      attribution caption.
 *
 *   .tg-roster         Definition list for "name → beat / role" data, used
 *                      on /methodology/ and author archive pages. Not a
 *                      bullet list (which the inline-header-list audit
 *                      treats as an AI fingerprint).
 *
 *   .tg-sources        Definition list for primary-source roster on
 *                      /methodology/. Similar shape to .tg-roster but
 *                      tighter vertical rhythm.
 *
 * No em dashes anywhere in the file (CLAUDE.md hard rule).
 * --------------------------------------------------------------------------- */

/* Reader quote */
.tg-reader-quote{
  margin: 2.4rem auto;
  max-width: 720px;
  padding: 1.2rem 1.6rem 1.2rem 1.8rem;
  background: #fff8f5;
  border-left: 4px solid #1a1a1a;
  border-radius: 0;
  font-family: 'Inter', system-ui, sans-serif;
}
.tg-reader-quote blockquote{
  margin: 0;
  padding: 0;
  font-size: 1.05rem;
  line-height: 1.55;
  color: #2a2a2a;
  font-style: normal;
}
.tg-reader-quote blockquote:before{ content: none; }
.tg-reader-quote blockquote:after{ content: none; }
.tg-reader-quote cite{
  display: block;
  margin-top: 0.6rem;
  font-size: 0.85rem;
  color: #777;
  font-style: normal;
  letter-spacing: 0.01em;
}
.tg-reader-quote cite{
  text-transform: none;
}
.tg-reader-quote cite:before{
  /* Attribution prefix. Em-dashes are banned sitewide (CLAUDE.md hard rule)
   * including as CSS chrome — the rule is absolute. Using a label instead
   * which actually reads better and is unambiguously the reader voice. */
  content: "Reader: ";
  font-weight: 600;
  color: #555;
}
/* Editor roster — used on /methodology/ and author landing */
.tg-roster{
  margin: 1.6rem 0;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.4rem 1.2rem;
  font-family: 'Inter', system-ui, sans-serif;
}
.tg-roster dt{
  font-family: Archivo, sans-serif;
  font-weight: 700;
  color: #111;
  padding-top: 0.05rem;
}
.tg-roster dd{
  margin: 0;
  color: #333;
  line-height: 1.5;
}
@media (max-width: 540px){
  .tg-roster{ grid-template-columns: 1fr; gap: 0.2rem 0; }
.tg-roster dt{ margin-top: 0.6rem; }
}
/* Sources roster — tighter rhythm, same shape */
.tg-sources{
  margin: 1.6rem 0;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.3rem 1.2rem;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.95rem;
}
.tg-sources dt{
  font-family: Archivo, sans-serif;
  font-weight: 700;
  color: #111;
}
.tg-sources dd{
  margin: 0;
  color: #555;
}
@media (max-width: 540px){
  .tg-sources{ grid-template-columns: 1fr; gap: 0.1rem 0; }
.tg-sources dt{ margin-top: 0.4rem; }
}
/* AI disclosure link (rendered by tg-ai-disclosure.php). Inline style is
 * already on the element; this rule just lifts the text-decoration colour
 * to match the rest of the site so it doesn't read as a footer afterthought. */
.tg-meta-link a{
  color: #FF5722;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.tg-meta-link a:hover{
  text-decoration-thickness: 2px;
}
/* ==========================================================================
   /tools/ FLAT SYSTEM - single source of truth (2026-05-31, R-10 + R-01)
   Owner feedback x3: the tools "look made with AI". The AI look was structural
   (boxed cards, dark hero panel, pill toggles, dashboard summary) and lived in
   an older tool design system earlier in this file (~L1547, L1935, L1995,
   L2209, L7435, L7559) plus re-boxing @media blocks (~L4243, L4535). Rather
   than delete those scattered live rules (high risk on a shared sheet), this
   block is scoped to the tool roots (.tg-calc / .bhs / .st) giving it higher
   specificity so it deterministically wins everywhere, at every breakpoint.
   The old rules are now dead weight: flag for physical deletion in a theme-CSS
   refactor. Treatment: no cards, no hero panel, no badges, hairline rules, ink
   text, ONE orange accent (the headline result), plain underline toggle.
   ========================================================================== */

/* Hero: plain editorial heading, no panel ---------------------------------- */
.tg-calc .tg-calc-hero,
.bhs .bhs-hero,
.st .st-hero,
.tg-calc-hero,
.bhs-hero,
.st-hero {
  background: none !important;
  border: none !important;
  border-radius: 0!important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 6px !important;
  text-align: left !important;
  color: var(--tg-ink) !important;
  overflow: visible !important;
}
.tg-calc-hero::before, .tg-calc-hero::after,
.bhs-hero::before, .bhs-hero::after,
.st-hero::before, .st-hero::after {
  display: none !important;
  content: none !important;
}
.tg-calc-hero h2, .bhs-hero h1, .bhs-hero h2, .st-hero .st-h1, .st-h1 {
  color: var(--tg-ink) !important;
  font-size: 2rem !important;
  margin: 0 0 4px !important;
  text-shadow: none !important;
}
.tg-calc-hero p, .bhs-hero-sub, .bhs-hero p, .st-hero .st-sub, .st-hero p {
  color: var(--tg-mute) !important;
  font-size: 0.95rem !important;
  text-align: left !important;
}
.tg-calc-hero p span, .bhs-badge, .st-hero .st-sub b, .tg-calc .tg-type-badge {
  display: none !important;
}
/* Section cards -> hairline-divided page sections -------------------------- */
.tg-calc .tg-calc-section,
.tg-calc .calc-card,
.bhs .bhs-card,
.st .st-box {
  background: none !important;
  border: none !important;
  border-top: 1px solid var(--tg-border) !important;
  border-radius: 0!important;
  box-shadow: none !important;
  padding: 22px 0 4px !important;
  margin: 0 !important;
}
.tg-calc .tg-calc-section.income-section,
.tg-calc .tg-calc-section.expense-section {
  border-top-color: var(--tg-border) !important;
}
.tg-calc .tg-section-header { margin: 0 0 14px !important; }
.tg-calc .tg-section-icon,
.tg-calc .tg-row-icon,
.tg-calc .lc-icon,
.tg-calc .tg-budget-tip-icon { display: none !important; }
.tg-calc .tg-section-header h3,
.tg-calc .calc-card h3 {
  font-size: 1.15rem !important;
  color: var(--tg-ink) !important;
}
.tg-calc .calc-card h3::before { display: none !important; }
.tg-calc .tg-section-header .tg-section-total,
.tg-calc .income-section .tg-section-total {
  color: var(--tg-ink) !important;
}
.tg-calc .expense-section .tg-section-total { color: var(--tg-ink) !important; }
/* Period / view toggle: plain underline switch, not pills ------------------ */
.tg-calc .tg-period-wrap { justify-content: flex-start !important; margin: 0 0 8px !important; }
.tg-calc .tg-period-toggle,
.bhs .bills-toggle,
.st .view-toggle,
.tg-calc .toggle-group {
  background: none !important;
  border: none !important;
  border-radius: 0!important;
  padding: 0 !important;
  gap: 20px !important;
  justify-content: flex-start !important;
}
.tg-calc .tg-period-btn,
.bhs .bills-btn,
.st .view-btn,
.tg-calc .toggle-group button {
  background: none !important;
  border: none !important;
  border-radius: 0!important;
  padding: 2px 0 !important;
  color: var(--tg-mute) !important;
  border-bottom: 2px solid transparent !important;
  box-shadow: none !important;
}
.tg-calc .tg-period-btn.active,
.bhs .bills-btn.active,
.st .view-btn.active,
.tg-calc .toggle-group button.active {
  background: none !important;
  color: var(--tg-ink) !important;
  border-bottom: 2px solid var(--tg-orange) !important;
}
.tg-calc .tg-period-btn:hover:not(.active),
.bhs .bills-btn:hover:not(.active),
.st .view-btn:hover:not(.active) {
  background: none !important;
  color: var(--tg-ink) !important;
}
/* Summary: de-panelled clean result block --------------------------------- */
.tg-calc .tg-summary,
.tg-calc .tg-balance-bar-wrap,
.bhs .bhs-settle,
.tg-calc .tg-result-card {
  background: none !important;
  border: none !important;
  border-top: 1px solid var(--tg-border) !important;
  border-radius: 0!important;
  box-shadow: none !important;
  padding: 22px 0 0 !important;
  margin: 8px 0 0 !important;
  color: var(--tg-ink) !important;
}
.tg-calc .tg-summary-grid { gap: 28px !important; }
.tg-calc .tg-summary-item {
  border-right: none !important;
  border-bottom: none !important;
  padding: 0 !important;
}
.tg-calc .tg-summary-label,
.tg-calc .tg-balance-bar-label,
.tg-calc .tg-breakdown h4 {
  color: var(--tg-mute) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 600 !important;
  font-size: 0.8rem !important;
}
.tg-calc .tg-summary-value { color: var(--tg-ink) !important; }
.tg-calc .tg-summary-item:last-child .tg-summary-value,
.tg-calc .tg-summary-value.balance { color: var(--tg-orange) !important; }
.tg-calc .tg-summary-sub { color: var(--tg-mute) !important; }
.tg-calc .tg-balance-bar,
.tg-calc .tg-breakdown-bar { background: var(--tg-paper-3) !important; }
.tg-calc .tg-balance-fill,
.tg-calc .tg-breakdown-bar-fill { background: var(--tg-ink) !important; }
.tg-calc .tg-breakdown {
  background: none !important;
  border: none !important;
  border-top: 1px solid var(--tg-border) !important;
  border-radius: 0!important;
  padding: 18px 0 0 !important;
  color: var(--tg-ink) !important;
}
.tg-calc .tg-breakdown-label,
.tg-calc .tg-breakdown-pct { color: var(--tg-mute) !important; }
/* Tip / verdict: plain, not a tinted callout ------------------------------- */
.tg-calc .tg-budget-tip,
.tg-calc .afford-verdict,
.tg-calc .banner-warning,
.tg-calc .outcome-badge {
  background: none !important;
  border: none !important;
  border-top: 1px solid var(--tg-border) !important;
  border-radius: 0!important;
  padding: 16px 0 0 !important;
}
/* Breakpoints: keep flat at tablet + mobile (beat old @media re-boxing) ----- */
@media (max-width: 768px) {
  .tg-calc .tg-calc-hero, .bhs .bhs-hero, .st .st-hero,
  .tg-calc-hero, .bhs-hero, .st-hero { padding: 0 !important; }
.tg-calc .tg-calc-section, .tg-calc .calc-card, .bhs .bhs-card, .st .st-box {
    padding: 20px 0 4px !important;
  }
.tg-calc .tg-summary, .tg-calc .tg-balance-bar-wrap, .bhs .bhs-settle {
    padding: 20px 0 0 !important;
  }
.tg-calc .tg-summary-item {
    border-bottom: none !important;
    padding: 0 !important;
  }
}
/* ==========================================================================
   AI-design component restyle (2026-06-01, R-10 + R-01)
   Owner: change any feature that reads as AI-designed. Audited live against
   the common AI-generator catalogue. Two confirmed tells remained after the
   emoji sweep:
   1. circular reading-progress ring in the share rail (a blog/AI flourish) -> hide
   2. the two-column tick/cross PROS|CONS box (signature AI-review-tool module)
      -> keep the info but render as plain stacked "Strengths / Weaknesses"
      with no boxed grid, no coloured tops, no glyph dependence.
   Star badges + scroll-animations were already neutralised earlier; CTA button
   is already a calm flat inline-block (left as-is, it converts and is not a tell).
   ========================================================================== */

/* 1. Reading-progress ring: remove. Must out-specify the existing
   `.tg-article:has(.tg-share) .tg-share .tg-share-progress{display:flex!important}`
   rule (spec 0,4,0), so match it with an equal :has() selector placed later. */
.tg-share-progress,
.tg-article .tg-share .tg-share-progress,
.tg-article:has(.tg-share) .tg-share .tg-share-progress {
  display: none !important;
}
/* 2. Pros/cons: drop the boxed two-column widget into plain prose columns */
.tg-article .tg-proscons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.5rem 2.5rem !important;
  border: none !important;
  margin: 1.5rem 0 !important;
}
.tg-article .tg-pros,
.tg-article .tg-cons {
  background: none !important;
  border: none !important;
  border-top: 1px solid #e5e5e5 !important;
  padding: 0.85rem 0 0 !important;
}
.tg-article .tg-pros h3,
.tg-article .tg-cons h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #444 !important;
  margin: 0 0 0.6rem !important;
  border: none !important;
}
.tg-article .tg-pros ul,
.tg-article .tg-cons ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.tg-article .tg-pros li,
.tg-article .tg-cons li {
  border-bottom: none !important;
  padding: 0 0 0.45rem !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}
@media (max-width: 600px) {
  .tg-article .tg-proscons { grid-template-columns: 1fr !important; gap: 0.5rem !important; }
}

/* =====================================================================
   DIRECTORY LISTS (de-AI pass 2026-07-05)
   Replaces the uniform card grids on hub/category landing pages with
   dense publisher rows: hairline separators, no boxes, no repeated CTAs.
   Same visual grammar as the /tools/ index directory.
   ===================================================================== */
ul.tg-dir {
  list-style: none !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 56px !important;
}
ul.tg-dir li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #e6e4e1 !important;
  list-style: none !important;
}
ul.tg-dir li::before { content: none !important; display: none !important; }
ul.tg-dir a {
  display: block !important;
  padding: 14px 0 15px !important;
  text-decoration: none !important;
  color: #121212 !important;
  background: none !important;
  border: none !important;
}
ul.tg-dir h3 {
  font-family: 'Archivo', sans-serif !important;
  font-size: 16.5px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  border: none !important;
  color: #121212 !important;
  transition: color 0.12s ease !important;
}
ul.tg-dir h3::before { content: none !important; display: none !important; }
ul.tg-dir a:hover h3,
ul.tg-dir a:focus-visible h3 { color: #c2410c !important; }
ul.tg-dir p {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #6b6864 !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 720px) {
  ul.tg-dir { grid-template-columns: 1fr !important; }
}

/* =====================================================================
   SITE REVAMP 2026-07-05 — publisher design language
   Archivo headings + Inter body, square corners, ink #121212 + orange
   #FF5722 (a11y hover/text tone #c2410c), hairline rules #e6e4e1.
   Homepage classes are hp-* scoped under .tg-home. Header/footer rules
   are global (Astra builder DOM). Old homepage block removed same day.
   ===================================================================== */

/* ---- header: black topbar (secondary menu moved to Astra above row) ---- */
.site-header .ast-above-header-bar,
.site-header .site-above-header-wrap,
[data-section="section-above-header-builder"].ast-above-header{background:#121212 !important;border-bottom:none}
.site-header .ast-above-header-bar{min-height:0}
.site-header .ast-above-header-bar .site-header-section{min-height:32px}
#mega-menu-wrap-secondary_menu{padding:2px 0}
/* primary bar: white, hairline rule, logo at 350px */
.ast-primary-header-bar{background:#fff;border-bottom:1px solid #e6e4e1}
.site-header .custom-logo-link img{width:350px !important;height:auto !important}
@media (max-width:640px){.site-header .custom-logo-link img{width:260px !important}}
/* search icon: ink, square focus */
.ast-header-search .astra-search-icon{color:#121212}
.ast-header-search .astra-search-icon:hover{color:#c2410c}

/* ---- homepage (page 4661) container ---- */
body.home.page .site-content .ast-container{max-width:100%;padding-left:0;padding-right:0}
body.home.page{overflow-x:hidden}
.tg-home{font-family:'Inter',system-ui,sans-serif;color:#121212;line-height:1.5;font-size:16px;padding-bottom:0 !important}
.tg-home h1,.tg-home h2,.tg-home h3,.tg-home h4{font-family:'Archivo',sans-serif;letter-spacing:-0.01em;color:#121212}
.tg-home a{text-decoration:none !important;color:inherit}
.tg-home .hp-fine a,.tg-home .hp-news p a{text-decoration:underline !important}
.tg-home button,.tg-home input[type="submit"]{text-transform:none !important;letter-spacing:normal !important}
body.home .entry-content{margin-bottom:0}
body.home .site-content .ast-container{margin-bottom:0}
body.home article,body.home .entry-content>:last-child{margin-bottom:0;padding-bottom:0}
.tg-home img{max-width:100%;display:block}
.tg-home .hp-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.tg-home .hp-im{display:block;overflow:hidden;background:#f6f5f3}
.tg-home .hp-im img{width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(1.03)}
.tg-home .hp-kick{font-family:'Archivo',sans-serif;font-weight:700;font-size:13.5px;color:#c2410c;text-transform:none;letter-spacing:normal}

/* top band */
.tg-home .hp-top{display:grid;grid-template-columns:1.9fr 1fr 1fr;gap:28px;padding:28px 0 30px}
.tg-home .hp-lead{display:block}
.tg-home .hp-lead .hp-im{aspect-ratio:16/9.5}
.tg-home .hp-lead .hp-kick{display:block;margin-top:14px}
.tg-home .hp-lead h2{font-size:clamp(28px,3vw,42px);font-weight:800;line-height:1.08;margin:6px 0 0;letter-spacing:-0.02em}
.tg-home .hp-lead:hover h2{color:#c2410c}
.tg-home .hp-lead p{font-size:16px;color:#454340;margin:10px 0 0;max-width:44em}
.tg-home .hp-secol{display:flex;flex-direction:column;gap:20px}
.tg-home .hp-sstory{display:block;border-bottom:1px solid #e6e4e1;padding-bottom:19px}
.tg-home .hp-sstory:last-child{border-bottom:none;padding-bottom:0}
.tg-home .hp-sstory .hp-im{aspect-ratio:16/9}
.tg-home .hp-sstory .hp-kick{display:block;margin-top:10px}
.tg-home .hp-sstory h3{font-size:17.5px;font-weight:700;line-height:1.22;margin:4px 0 0}
.tg-home .hp-sstory:hover h3{color:#c2410c}
.tg-home .hp-mr{border-left:1px solid #e5e5e5;padding-left:26px}
.tg-home .hp-mr h2{font-size:17px;font-weight:800;padding-bottom:10px;border-bottom:2px solid #121212;margin:0}
.tg-home .hp-mr ol{list-style:none;counter-reset:n;margin:0;padding:0}
.tg-home .hp-mr li{counter-increment:n;border-bottom:1px solid #e6e4e1;margin:0}
.tg-home .hp-mr li:last-child{border-bottom:none}
.tg-home .hp-mr a{display:flex;gap:12px;padding:12px 0;align-items:center;font-weight:600;font-size:15px;line-height:1.3}
.tg-home .hp-mr a::before{content:counter(n);font-family:'Archivo',sans-serif;font-weight:900;font-size:19px;color:#121212;min-width:20px}
.tg-home .hp-mr a:hover{color:#c2410c}
.tg-home .hp-th{width:76px;height:52px;flex:none;overflow:hidden;display:block}
.tg-home .hp-th img{width:100%;height:100%;object-fit:cover}

/* section frame */
.tg-home .hp-sec{padding:40px 0 10px}
.tg-home .hp-sh{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid #121212;padding-bottom:10px;margin-bottom:22px}
.tg-home .hp-sh h2{font-size:24px;font-weight:800;letter-spacing:-0.015em;margin:0}
.tg-home .hp-sh a{font-weight:600;font-size:14px;color:#c2410c}
.tg-home .hp-sh a:hover{text-decoration:underline}

/* rails and cards */
.tg-home .hp-rail{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:28px;padding-bottom:28px}
.tg-home .hp-bigc{display:block}
.tg-home .hp-bigc .hp-im{aspect-ratio:16/9}
.tg-home .hp-bigc h3{font-size:21px;font-weight:800;line-height:1.15;margin:12px 0 0}
.tg-home .hp-bigc:hover h3{color:#c2410c}
.tg-home .hp-bigc p{font-size:15px;color:#454340;margin:7px 0 0}
.tg-home .hp-smallc{display:block}
.tg-home .hp-smallc .hp-im{aspect-ratio:16/9}
.tg-home .hp-smallc h3{font-size:16.5px;font-weight:700;line-height:1.25;margin:10px 0 0}
.tg-home .hp-smallc:hover h3{color:#c2410c}
.tg-home .hp-stack{display:flex;flex-direction:column;gap:22px}
.tg-home .hp-mini{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #e6e4e1}
.tg-home .hp-mini:first-child{padding-top:0}
.tg-home .hp-mini:last-child{border-bottom:none}
.tg-home .hp-mini .hp-im{aspect-ratio:16/10}
.tg-home .hp-mini h4{font-size:15px;font-weight:700;line-height:1.28;margin:0}
.tg-home .hp-mini:hover h4{color:#c2410c}
.tg-home .hp-duo{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding-bottom:24px}
.tg-home .hp-duo .hp-sh{margin-bottom:16px}
.tg-home .hp-row4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-bottom:28px}
.tg-home .hp-row4 .hp-smallc .hp-im{aspect-ratio:16/10}

/* full-bleed bands */
.tg-home .hp-bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.tg-home .hp-band{background:#f6f5f3;border-top:1px solid #e6e4e1;border-bottom:1px solid #e6e4e1;padding:30px 0 34px;margin-top:8px}
.tg-home .hp-deal3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tg-home .hp-dealc{display:grid;grid-template-columns:150px 1fr;background:#fff;border:1px solid #e6e4e1}
.tg-home .hp-dealc .hp-im{height:100%}
.tg-home .hp-dealc .hp-bd{padding:14px 16px;display:block}
.tg-home .hp-dealc h3{font-size:16px;font-weight:700;line-height:1.25;margin:0}
.tg-home .hp-dealc:hover h3{color:#c2410c}
.tg-home .hp-dealc p{font-size:13.5px;color:#5f5c58;margin:5px 0 0}
.tg-home .hp-toolc{display:block;background:#fff;border:1px solid #e6e4e1}
.tg-home .hp-toolc .hp-im{height:180px;border-bottom:1px solid #e6e4e1;background:#faf9f7;display:flex;align-items:center;justify-content:center;padding:14px}
.tg-home .hp-toolc .hp-im img{width:100%;height:100%;object-fit:contain;filter:none}
.tg-home .hp-toolc .hp-bd{display:block;padding:14px 16px 16px}
.tg-home .hp-toolc h3{font-size:16px;font-weight:700;line-height:1.25;margin:0}
.tg-home .hp-toolc:hover h3{color:#c2410c}
.tg-home .hp-toolc p{font-size:13.5px;color:#5f5c58;margin:5px 0 0}

/* topic index */
.tg-home .hp-tpg{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-bottom:34px}
.tg-home .hp-tp{display:block}
.tg-home .hp-tp .hp-im{aspect-ratio:16/9}
.tg-home .hp-tp strong{font-family:'Archivo',sans-serif;font-weight:800;font-size:17px;display:block;margin-top:9px}
.tg-home .hp-tp:hover strong{color:#c2410c}

/* latest guides (tg_home_latest shortcode markup contract) */
.tg-home .tg-hp-sh{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid #121212;padding-bottom:10px;margin-bottom:22px}
.tg-home .tg-hp-sh h2{font-size:24px;font-weight:800;letter-spacing:-0.015em;margin:0;font-family:'Archivo',sans-serif}
.tg-home .tg-hp-sh .tg-hp-desc{font-size:14px;color:#5f5c58}
.tg-home .tg-hp-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:8px}
.tg-home .tg-hp-fcard{display:block;background:none;border:none;box-shadow:none}
.tg-home .tg-hp-fcard img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#f6f5f3;filter:saturate(1.06) contrast(1.03);height:auto}
.tg-home .tg-hp-fcard-body{display:block;padding:0}
.tg-home .tg-hp-fcard-tag{font-family:'Archivo',sans-serif;font-weight:700;font-size:13.5px;color:#c2410c;display:block;margin-top:12px;text-transform:none;letter-spacing:normal;background:none;padding:0}
.tg-home .tg-hp-fcard h3{font-size:17.5px;font-weight:700;line-height:1.22;margin:4px 0 0;color:#121212;font-family:'Archivo',sans-serif}
.tg-home .tg-hp-fcard:hover h3{color:#c2410c}
.tg-home .tg-hp-fcard p{font-size:14.5px;color:#454340;margin:7px 0 0;line-height:1.45}

/* newsletter band */
.tg-home .hp-news{background:#121212;color:#fff}
.tg-home .hp-news .hp-in{display:grid;grid-template-columns:1.4fr 1fr;gap:44px;align-items:center;padding:32px 0}
.tg-home .hp-news h2{font-size:23px;font-weight:800;color:#fff;margin:0}
.tg-home .hp-news p{color:#c9c5c0;font-size:15px;margin:6px 0 0}
.tg-home .hp-news p a{color:#ffb59e;text-decoration:underline}
.tg-home .hp-news .hp-fine{font-size:12px;color:#8b8781;margin-top:8px}
.tg-home .hp-news .hp-fine a{color:#8b8781;text-decoration:underline}
.tg-home .hp-news form{display:flex;gap:10px;margin:0}
.tg-home .hp-news input[type="email"]{flex:1;font:inherit;padding:12px 14px;border:none;min-width:0;background:#fff;color:#121212;border-radius:0}
.tg-home .hp-news button{font-family:'Archivo',sans-serif;font-weight:700;font-size:15px;padding:12px 22px;background:#FF5722;color:#fff;border:none;cursor:pointer;border-radius:0}
.tg-home .hp-news button:hover{background:#c2410c}

/* homepage responsive */
@media (max-width:980px){
 .tg-home .hp-top{grid-template-columns:1fr 1fr}
 .tg-home .hp-mr{grid-column:1/-1;border-left:none;padding-left:0}
 .tg-home .hp-rail{grid-template-columns:1fr 1fr}
 .tg-home .hp-duo{grid-template-columns:1fr}
 .tg-home .hp-row4{grid-template-columns:1fr 1fr}
 .tg-home .hp-deal3{grid-template-columns:1fr}
 .tg-home .hp-tpg{grid-template-columns:1fr 1fr}
 .tg-home .hp-news .hp-in{grid-template-columns:1fr}
 .tg-home .tg-hp-feat{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 .tg-home .hp-top,.tg-home .hp-rail,.tg-home .hp-row4{grid-template-columns:1fr}
 .tg-home .tg-hp-feat{grid-template-columns:1fr}
}
.tg-home a:focus-visible,.tg-home button:focus-visible,.tg-home input:focus-visible{outline:3px solid #c2410c;outline-offset:2px}

/* ---- footer: ink ground, Inter, plain links ---- */
.site-footer{background:#000}
.site-footer .site-below-footer-wrap{background:#000;padding:34px 0 30px}
.site-footer .tg-footer-trust{font-family:'Inter',sans-serif}
.site-footer .footer-bar-navigation .menu-link{color:#c9c5c0;font:500 13.5px/1.5 'Inter',sans-serif}
.site-footer .footer-bar-navigation .menu-link:hover{color:#fff}

/* =====================================================================
   GLOBAL CONTROL NORMALISATION (de-AI pass 2026-07-05)
   Astra's theme CSS uppercases buttons and rounds inputs; both fight the
   publisher language (sentence case, square). One root fix instead of
   per-class counters scattered through plugins.
   ===================================================================== */
button,
input[type="submit"],
input[type="button"],
.ast-button,
.ast-custom-button,
.wp-block-button__link {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
input[type="text"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="url"],
select,
textarea {
  border-radius: 0 !important;
}

/* Author archives (de-AI pass 2026-07-05): the tg-author-bio panel already
   carries avatar + name + bio; Astra's author box duplicated all three and
   added an orange rule + a second floating avatar. */
body.author .ast-author-box.ast-archive-description { display: none !important; }

/* Archive/blog/search listing cards: kill the cream tint and rounding;
   publisher grammar is white, square, hairlines. Selectors must out-rank
   Astra's .blog-layout-N .ast-article-inner (0,2,0). */
body .ast-article-inner,
body .blog-layout-4 .ast-article-inner,
body .ast-archive-description {
  background: #fff !important;
  border-radius: 0 !important;
}
body article.ast-article-post,
body .ast-article-post .post-thumb img {
  border-radius: 0 !important;
}

/* =====================================================================
   4-COLUMN FOOTER (2026-07-05, tg-footer-columns.php)
   Ink ground, Archivo headings, warm-neutral links. Sits above Astra's
   below-footer copyright/legal row, which shares the same ground.
   ===================================================================== */
.tg-footer-cols {
  background: #121212;
  border-top: 4px solid #FF5722;
  border-bottom: 1px solid #2a2a2a;
  font-family: 'Inter', system-ui, sans-serif;
}
/* The orange accent moved to the top of the column band; without this the
   4px orange rule cut the footer in half between columns and trust text. */
.site-footer { border-top: none !important; }
.tg-footer-cols-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 44px 24px 36px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
}
.tg-footer-brand-name {
  display: block;
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 20px;
  color: #fff;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
}
.tg-footer-brand p {
  font-size: 13.5px;
  line-height: 1.6;
  color: #a3a09b;
  margin: 0;
  max-width: 34ch;
}
.tg-footer-col h2 {
  font-family: 'Archivo', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px;
  padding: 0;
  border: none;
}
.tg-footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.tg-footer-col li {
  margin: 0 0 8px;
  padding: 0;
}
.tg-footer-col a {
  font-size: 13.5px;
  color: #b9b5b0;
  text-decoration: none;
  line-height: 1.5;
}
.tg-footer-col a:hover,
.tg-footer-col a:focus-visible {
  color: #fff;
  text-decoration: underline;
}
@media (max-width: 900px) {
  .tg-footer-cols-inner { grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 520px) {
  .tg-footer-cols-inner { grid-template-columns: 1fr; }
}

/* Footer trust text: swap the slate-blue palette for warm neutrals
   (inline styles on the stored block, so !important). */
.tg-footer-trust { color: #a3a09b !important; }
.tg-footer-trust strong { color: #d8d5d1 !important; }
.tg-footer-trust a { color: #ff8a3d !important; }

/* Astra prev/next post navigation: sentence case (theme uppercases it). */
.ast-post-nav, .post-navigation .nav-links, .ast-single-post-navigation {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* 404 page: white ground, not the Astra cream tint. */
section.error-404 { background: #fff !important; }

/* Reader Q&A form (tg-reader-qa.php). Auto-appended to single posts 2026-07-17.
   Flat editorial styling: hairline rule above, square corners, no tinted panel,
   no coloured left border. #c2410c (--tg-orange-text) on the button ground and
   error text, because white-on-#FF5722 is 3.16:1 and fails WCAG AA; the brand
   #FF5722 is kept for the focus ring only, which is a non-text element. */
.tg-qa-block {
  max-width: 780px;
  margin: 40px auto 8px;
  padding-top: 24px;
  border-top: 1px solid var(--tg-border-soft);
}
.tg-qa-h {
  font-family: 'Archivo', 'Inter', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--tg-ink);
  margin: 0 0 6px;
}
.tg-qa-intro {
  font-family: 'Inter', sans-serif;
  font-size: .9rem;
  line-height: 1.55;
  color: var(--tg-mute);
  margin: 0 0 14px;
  max-width: 60ch;
}
.tg-qa { margin: 0; }
.tg-qa-label {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: .8rem;
  font-weight: 600;
  color: var(--tg-ink);
  margin-bottom: 5px;
}
.tg-qa-text,
.tg-qa-select,
.tg-qa-email {
  font-family: 'Inter', sans-serif;
  font-size: .95rem;
  color: var(--tg-ink);
  background: var(--tg-paper);
  border: 1px solid var(--tg-border-input);
  border-radius: var(--tg-radius);
  padding: 9px 11px;
  width: 100%;
  box-sizing: border-box;
}
.tg-qa-text { line-height: 1.5; resize: vertical; min-height: 76px; }
.tg-qa-text::placeholder,
.tg-qa-email::placeholder { color: var(--tg-mute-2); }
.tg-qa-text:focus,
.tg-qa-select:focus,
.tg-qa-email:focus {
  outline: 2px solid var(--tg-orange);
  outline-offset: 1px;
  border-color: var(--tg-ink);
}
.tg-qa-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  margin-top: 10px;
}
.tg-qa-fine {
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--tg-mute);
  margin: 8px 0 0;
}
.tg-qa-fine a { color: var(--tg-mute); text-decoration: underline; }
.tg-qa-fine a:hover { color: var(--tg-ink); }
.tg-qa-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tg-qa-btn {
  font-family: 'Inter', sans-serif;
  font-size: .9rem;
  font-weight: 600;
  color: #fff;
  background: var(--tg-orange-text);
  border: 1px solid var(--tg-orange-text);
  border-radius: var(--tg-radius);
  padding: 10px 20px;
  margin-top: 12px;
  cursor: pointer;
}
.tg-qa-btn:hover { background: #9a3412; border-color: #9a3412; }
.tg-qa-btn:focus-visible { outline: 2px solid var(--tg-ink); outline-offset: 2px; }
.tg-qa-btn:disabled { opacity: .55; cursor: default; }
.tg-qa-status:empty { display: none; }
.tg-qa-status {
  font-family: 'Inter', sans-serif;
  font-size: .85rem;
  line-height: 1.5;
  color: var(--tg-ink);
  margin: 10px 0 0;
}
.tg-qa-status--ok  { color: var(--tg-ink); }
.tg-qa-status--err { color: var(--tg-orange-text); }
@media (max-width: 520px) {
  .tg-qa-row { grid-template-columns: 1fr; }
  .tg-qa-btn { width: 100%; }
}
