:root {
    --insurance-black: #111111;
    --insurance-ink: #252525;
    --insurance-muted: #666a70;
    --insurance-line: #d4d8dc;
    --insurance-paper: #eceff1;
    --insurance-white: #ffffff;
    --insurance-blue: #1d44b8;
    --insurance-blue-dark: #16358f;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--insurance-white); color: var(--insurance-ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.6; margin: 0; }
a { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.03em; line-height: 1.1; }
.insurance-net-za-eyebrow { color: var(--insurance-blue); font-size: .72rem; font-weight: 700; letter-spacing: .14em; margin: 0 0 1.25rem; text-transform: uppercase; }
.insurance-net-za-reveal-ready [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

.insurance-net-za-skip-link { background: var(--insurance-blue); color: var(--insurance-white); left: 1rem; padding: .75rem 1rem; position: fixed; top: -5rem; z-index: 20; }
.insurance-net-za-skip-link:focus { top: 1rem; }
.insurance-net-za-header { align-items: center; background: var(--insurance-white); border-bottom: 1px solid var(--insurance-line); display: flex; justify-content: space-between; padding: 1.5rem max(4vw, 1.5rem); position: sticky; top: 0; transition: padding .25s ease, box-shadow .25s ease; z-index: 15; }
.insurance-net-za-header.is-condensed { box-shadow: 0 8px 24px rgba(17, 17, 17, .08); padding-bottom: .85rem; padding-top: .85rem; }
.insurance-net-za-brand { align-items: center; display: inline-flex; min-height: 44px; }
.insurance-net-za-brand img { display: block; height: auto; transition: width .25s ease; width: 190px; }
.insurance-net-za-header.is-condensed .insurance-net-za-brand img { width: 148px; }
.insurance-net-za-navigation { display: flex; gap: 1.75rem; }
.insurance-net-za-navigation a { align-items: center; display: inline-flex; font-size: .72rem; font-weight: 700; letter-spacing: .12em; min-height: 44px; padding: .5rem; text-decoration: none; text-transform: uppercase; }
.insurance-net-za-footer-links a { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.insurance-net-za-navigation a:hover, .insurance-net-za-footer-links a:hover { color: var(--insurance-blue); }
.insurance-net-za-footer { background: var(--insurance-black); color: var(--insurance-white); display: block; padding: 2.5rem max(4vw, 1.5rem) 1.5rem; }
.insurance-net-za-footer-content { align-items: flex-start; display: grid; gap: 2rem; grid-template-columns: 1fr; }
.insurance-net-za-footer-brand img { display: block; height: auto; width: 180px; }
.insurance-net-za-footer-address { color: #d5d5d5; display: grid; font-size: .78rem; font-style: normal; gap: .35rem; }
.insurance-net-za-footer-address > * { display: block; }
.insurance-net-za-footer-links { display: flex; flex-direction: column; gap: .7rem; }
.insurance-net-za-footer strong { color: var(--insurance-white); font-size: .68rem; letter-spacing: .12em; margin-bottom: .25rem; text-transform: uppercase; }
.insurance-net-za-footer a { color: #d5d5d5; display: inline-flex; position: relative; text-decoration: none; transition: color .18s ease, transform .18s ease; width: fit-content; }
.insurance-net-za-footer a::after { background: var(--insurance-line); bottom: -.3rem; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left center; transition: transform .2s ease; width: 100%; }
.insurance-net-za-footer a:hover { color: var(--insurance-white); transform: translateX(.35rem); }
.insurance-net-za-footer a:hover::after, .insurance-net-za-footer a:focus-visible::after { transform: scaleX(1); }
.insurance-net-za-footer a:focus-visible { color: var(--insurance-white); outline: 2px solid var(--insurance-line); outline-offset: .35rem; transform: translateX(.35rem); }
.insurance-net-za-insights-footer-solutions { border-top: 1px solid #3e3e3e; grid-column: 1 / -1; margin-top: .5rem; padding-top: 1.5rem; }
.insurance-net-za-insights-footer-solutions ul { display: grid; gap: .75rem 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.insurance-net-za-insights-footer-solutions li { min-width: 0; }
.insurance-net-za-insights-footer-solutions a { font-size: .78rem; }
.insurance-net-za-footer-disclosure { align-items: center; border-top: 1px solid #3e3e3e; color: #bcbcbc; display: flex; font-size: .68rem; gap: 1rem; justify-content: space-between; margin: 1.75rem 0 0; padding-top: 1rem; width: 100%; }
.insurance-net-za-footer-disclosure > span { min-width: 0; }
.insurance-net-za-footer-disclosure > span > a { transition: color .18s ease; }
.insurance-net-za-footer-disclosure > span > a::after, .insurance-net-za-footer-rss::after { display: none; }
.insurance-net-za-footer-disclosure > span > a:hover, .insurance-net-za-footer-disclosure > span > a:focus-visible { color: var(--insurance-white); transform: none; }
.insurance-net-za-footer-rss { align-items: center; border: 1px solid #5a5a5a; display: inline-flex; flex: 0 0 36px; height: 36px; justify-content: center; margin-left: auto; width: 36px !important; }
.insurance-net-za-footer-rss:hover, .insurance-net-za-footer-rss:focus-visible { border-color: var(--insurance-white); }

/* Hub page */
.insurance-net-za-insights-hub-hero { background: var(--insurance-paper); overflow: hidden; padding: 6.5rem max(8vw, 1.5rem) 5rem; position: relative; }
.insurance-net-za-insights-hub-hero::before { background-image: linear-gradient(rgba(17, 17, 17, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(17, 17, 17, .05) 1px, transparent 1px); background-size: 32px 32px; content: ""; inset: 0; mask-image: linear-gradient(180deg, black, transparent 70%); position: absolute; }
.insurance-net-za-insights-hub-hero-content { max-width: none; position: relative; width: 100%; }
.insurance-net-za-insights-hub-hero h1 { font-size: clamp(2.8rem, 6vw, 5.4rem); margin-bottom: 1.25rem; }
.insurance-net-za-insights-hub-hero p { color: var(--insurance-muted); font-size: 1.15rem; width: 100%; }
.insurance-net-za-insights-empty-state h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); margin-bottom: 1rem; width: 100%; }
.insurance-net-za-insights-pillar-nav { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.5rem; position: relative; }
.insurance-net-za-insights-pillar-nav a { align-items: center; background: var(--insurance-white); border: 1px solid var(--insurance-line); border-radius: 999px; color: var(--insurance-ink); display: inline-flex; font-size: .74rem; font-weight: 700; gap: .4rem; letter-spacing: .06em; padding: .65rem 1.15rem; text-decoration: none; text-transform: uppercase; transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.insurance-net-za-insights-pillar-nav a:hover, .insurance-net-za-insights-pillar-nav a:focus-visible { background: var(--insurance-blue); border-color: var(--insurance-blue); color: var(--insurance-white); transform: translateY(-2px); }
.insurance-net-za-insights-pillar-section { padding: 4.5rem max(8vw, 1.5rem); scroll-margin-top: 5.5rem; }
.insurance-net-za-insights-pillar-section:nth-child(even) { background: var(--insurance-paper); }
.insurance-net-za-insights-pillar-heading { align-items: baseline; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 2.5rem; }
.insurance-net-za-insights-pillar-heading h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.insurance-net-za-insights-pillar-heading a { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.insurance-net-za-insights-card-grid { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.insurance-net-za-insights-card { background: var(--insurance-white); border: 1px solid var(--insurance-line); border-radius: .75rem; overflow: hidden; text-decoration: none; transition: box-shadow .2s ease, transform .2s ease; }
.insurance-net-za-insights-card:hover, .insurance-net-za-insights-card:focus-visible { box-shadow: 0 20px 40px -24px rgba(17, 17, 17, .25); transform: translateY(-4px); }
.insurance-net-za-insights-card img { aspect-ratio: 16 / 9; display: block; height: auto; object-fit: cover; width: 100%; }
.insurance-net-za-insights-card-body { padding: 1.5rem; }
.insurance-net-za-insights-card-body h3 { font-size: 1.15rem; line-height: 1.35; margin-bottom: .75rem; }
.insurance-net-za-insights-card-body p { color: var(--insurance-muted); font-size: .92rem; margin-bottom: 1rem; }
.insurance-net-za-insights-card-meta { color: var(--insurance-muted); font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
.insurance-net-za-insights-most-read { list-style: none; margin: 0; padding: 0; }
.insurance-net-za-insights-most-read li { border-bottom: 1px solid var(--insurance-line); padding: 1rem 0; }
.insurance-net-za-insights-most-read a { font-weight: 700; text-decoration: none; }
.insurance-net-za-insights-most-read a:hover { color: var(--insurance-blue); }

/* Hub empty state (no published articles yet) */
.insurance-net-za-insights-empty-state { padding: 4.5rem max(8vw, 1.5rem) 6rem; }
.insurance-net-za-insights-empty-state > p { color: var(--insurance-muted); font-size: 1.05rem; margin-bottom: 3rem; width: 100%; }
.insurance-net-za-insights-empty-grid { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.insurance-net-za-insights-empty-card { border: 1px solid var(--insurance-line); border-radius: .75rem; padding: 2rem; transition: box-shadow .2s ease, transform .2s ease; }
.insurance-net-za-insights-empty-card:hover { box-shadow: 0 20px 40px -24px rgba(17, 17, 17, .2); transform: translateY(-4px); }
.insurance-net-za-insights-empty-card-index { color: var(--insurance-blue); font-size: .72rem; font-weight: 700; letter-spacing: .14em; margin-bottom: 1.25rem; }
.insurance-net-za-insights-empty-card h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; font-weight: 400; margin-bottom: .75rem; }
.insurance-net-za-insights-empty-card p { color: var(--insurance-muted); font-size: .92rem; margin-bottom: 0; }

/* Article page */
.insurance-net-za-insights-article { margin: 0 auto; max-width: clamp(760px, 65%, 1400px); padding: 4rem max(6vw, 1.5rem); }
.insurance-net-za-insights-pillar-badge { color: var(--insurance-blue); font-size: .72rem; font-weight: 700; letter-spacing: .12em; margin-bottom: 1rem; text-transform: uppercase; }
.insurance-net-za-insights-article h1 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 1rem; }
.insurance-net-za-insights-byline { color: var(--insurance-muted); font-size: .85rem; margin-bottom: 2rem; }
.insurance-net-za-insights-article-hero { margin: 0 0 2.5rem; }
.insurance-net-za-insights-article-hero img { border-radius: .5rem; display: block; height: auto; width: 100%; }
.insurance-net-za-insights-article-hero figcaption { color: var(--insurance-muted); font-size: .8rem; margin-top: .6rem; }
.insurance-net-za-insights-article-body { font-size: 1.05rem; }
.insurance-net-za-insights-article-body p { margin-bottom: 1.5rem; }
.insurance-net-za-insights-article-body h2 { font-size: 1.6rem; margin: 2.5rem 0 1rem; }
.insurance-net-za-insights-article-body h3 { font-size: 1.25rem; margin: 2rem 0 1rem; }
.insurance-net-za-insights-article-body ul, .insurance-net-za-insights-article-body ol { margin-bottom: 1.5rem; padding-left: 1.5rem; }
.insurance-net-za-insights-article-body a { color: var(--insurance-blue); }
.insurance-net-za-insights-article-body blockquote { border-left: 3px solid var(--insurance-blue); color: var(--insurance-muted); margin: 0 0 1.5rem; padding-left: 1.25rem; }
.insurance-net-za-insights-disclosure { border-top: 1px solid var(--insurance-line); color: var(--insurance-muted); font-size: .8rem; margin-top: 3rem; padding-top: 1.5rem; }
.insurance-net-za-insights-back-link a { font-size: .8rem; font-weight: 700; text-decoration: none; }

/* MEDIA QUERIES */
@media (max-width: 900px) {
    .insurance-net-za-navigation { gap: 1rem; }
    .insurance-net-za-insights-pillar-heading { flex-direction: column; gap: .5rem; }
    .insurance-net-za-insights-footer-solutions ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .insurance-net-za-header { align-items: flex-start; flex-direction: column; gap: 1.2rem; }
    .insurance-net-za-navigation { gap: 1.1rem; }
    .insurance-net-za-navigation a { font-size: .65rem; }
    .insurance-net-za-insights-article { padding: 2.5rem 1.25rem; }
    .insurance-net-za-insights-hub-hero { padding: 4.5rem 1.25rem 3.5rem; }
    .insurance-net-za-insights-empty-state { padding: 3rem 1.25rem 4rem; }
    .insurance-net-za-insights-footer-solutions ul { grid-template-columns: 1fr; }
}
