/* SphereNexus Ultra v1.4 — refined editorial system */
:root {
    --sn-single-title-size: 40px;
    --sn-archive-title-size: 34px;
    --sn-article-size: 17px;
    --sn-ink: #10233b;
    --sn-copy: #34445b;
    --sn-subtle: #6d7b8f;
    --sn-line: #dfe7ee;
    --sn-mist: #f5f8fa;
    --sn-teal-soft: #e9f7f6;
}

body { color: var(--sn-copy); background: #fff; }
h1, h2, h3, h4, h5, h6 { color: var(--sn-ink); font-weight: 600; }
.site-main { overflow: hidden; }

/* Top bar */
.site-header--ultra .utility-bar { background: #f7fafb; border-color: #e7edf2; }
.site-header--ultra .utility-bar__inner { min-height: 34px; }
.site-header--ultra .utility-bar__left,
.site-header--ultra .utility-bar__right { gap: 13px; }
.site-header--ultra .utility-bar__left { min-width: 0; }
.site-header--ultra .utility-message { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-header--ultra .utility-bar__right a { position: relative; font-weight: 600; }
.site-header--ultra .utility-bar__right > a:not(.utility-social)::after {
    content: ""; position: absolute; left: 0; right: 100%; bottom: -2px; height: 1px;
    background: var(--sn-teal); transition: right .2s ease;
}
.site-header--ultra .utility-bar__right > a:hover::after { right: 0; }

/* Header */
.site-header--ultra .main-header { background: rgba(255,255,255,.985); }
.site-header--ultra .main-header__inner {
    min-height: 78px;
    grid-template-columns: minmax(180px, 225px) minmax(0, 1fr) auto;
    gap: 22px;
}
.site-header--ultra .custom-logo-link,
.site-header--ultra .custom-logo { max-width: 210px; max-height: 52px; }
.site-header--ultra .primary-navigation { justify-self: center; }
.site-header--ultra .primary-menu { gap: clamp(20px, 2vw, 34px); }
.site-header--ultra .primary-menu > li > a {
    padding: 29px 0 25px;
    color: #172941;
    font-size:var(--sn-nav-size);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}
.site-header--ultra .primary-menu > li > a::after { bottom: 19px; width: 0; height: 2px; }
.site-header--ultra .primary-menu > li.current-menu-item > a::after,
.site-header--ultra .primary-menu > li.current-menu-parent > a::after,
.site-header--ultra .primary-menu > li:hover > a::after { width: 20px; }
.site-header--ultra .primary-menu .sub-menu { border-radius: 10px; padding: 8px; min-width: 190px; }
.site-header--ultra .primary-menu .sub-menu a { font-size:12px; font-weight: 600; }
.site-header--ultra .header-actions { gap: 9px; }
.site-header--ultra .search-toggle,
.site-header--ultra .mobile-menu-toggle { width: 40px; height: 40px; }
.site-header--ultra .header-subscribe { border-radius: 8px 14px 8px 14px; }
.nav-drawer__header,
.nav-drawer__search,
.nav-drawer__footer { display: none; }

/* Header search */
.header-search {
    z-index: 40;
    padding: 24px 0 28px;
    border-bottom: 1px solid var(--sn-line);
    background: rgba(255,255,255,.99);
    box-shadow: 0 20px 50px rgba(16,35,59,.1);
}
.header-search__inner { position: relative; display: grid; grid-template-columns: 180px minmax(0, 1fr) 42px; align-items: center; gap: 22px; }
.header-search__label { display: flex; flex-direction: column; }
.header-search__label span { color: var(--sn-teal); font-size:10px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.header-search__label strong { color: var(--sn-ink); font-size:16px; }
.header-search__close,
.nav-drawer__close {
    display: grid; place-items: center; width: 40px; height: 40px; padding: 0;
    border: 1px solid var(--sn-line); border-radius: 50%; background: #fff; color: var(--sn-ink);
}
.header-search__close:hover,
.nav-drawer__close:hover { border-color: var(--sn-teal); color: var(--sn-teal); }

.sn-live-search { position: relative; width: 100%; }
.sn-live-search__form { position: relative; display: flex; align-items: center; width: 100%; }
.sn-live-search__icon { position: absolute; left: 15px; z-index: 1; color: #7a8798; }
.sn-live-search__icon .sn-icon { width: 18px; height: 18px; }
.sn-live-search__input {
    width: 100%; height: 50px; padding: 0 100px 0 44px;
    border: 1px solid #ccd8e2; border-radius: 9px; outline: none; background: #fff;
    color: var(--sn-ink); font-size:14px;
}
.sn-live-search__input:focus { border-color: var(--sn-teal); box-shadow: 0 0 0 3px rgba(19,143,139,.1); }
.sn-live-search__submit {
    position: absolute; right: 5px; top: 5px; height: 40px; padding: 0 16px;
    border: 0; border-radius: 7px; background: var(--sn-navy); color: #fff; font-size:12px; font-weight: 600;
}
.sn-live-search__results {
    position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 140;
    overflow: hidden; border: 1px solid var(--sn-line); border-radius: 12px;
    background: #fff; box-shadow: 0 22px 55px rgba(16,35,59,.16);
}
.sn-search-results-list { padding: 8px; }
.sn-search-result { display: grid; grid-template-columns: 66px 1fr; gap: 12px; padding: 9px; border-radius: 9px; }
.sn-search-result:hover { background: var(--sn-mist); color: inherit; }
.sn-search-result__image { overflow: hidden; width: 66px; height: 52px; border-radius: 7px; background: var(--sn-mist); }
.sn-search-result__image img { width: 100%; height: 100%; object-fit: cover; }
.sn-search-result__copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; }
.sn-search-result__copy small { color: var(--sn-teal); font-size:9px; font-weight: 600; text-transform: uppercase; }
.sn-search-result__copy strong { overflow: hidden; color: var(--sn-ink); font-size:12px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.sn-search-result__copy span { color: var(--sn-subtle); font-size:10px; }
.sn-search-view-all { display: block; padding: 12px 16px; border-top: 1px solid var(--sn-line); background: #f8fafb; color: var(--sn-teal-dark); font-size:11px; font-weight: 600; }
.sn-search-loading,
.sn-search-empty { padding: 22px; color: var(--sn-subtle); font-size:13px; text-align: center; }

/* Category pages */
.category-main { padding: 34px 0 54px; }
.category-layout { grid-template-columns: minmax(0, 1fr) 320px !important; gap: 38px !important; }
.category-intro {
    position: relative; display: grid; grid-template-columns: 58px 1fr; gap: 22px;
    margin-bottom: 28px; padding: 30px 34px;
    border: 1px solid var(--sn-line); border-radius: 14px 24px 14px 24px;
    background: linear-gradient(125deg, #f8fbfc, #fff); box-shadow: 0 10px 30px rgba(16,35,59,.035);
}
.category-intro::before { content: ""; position: absolute; left: 0; top: 26px; bottom: 26px; width: 3px; border-radius: 0 4px 4px 0; background: var(--category-page-accent); }
.category-intro__icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; background: color-mix(in srgb, var(--category-page-accent) 12%, white); color: var(--category-page-accent); }
.category-intro__icon .sn-icon { width: 28px; height: 28px; }
.category-intro h1 { max-width: 720px; margin: 2px 0 8px; font-size:var(--sn-archive-title-size); line-height: 1.2; letter-spacing: -.03em; }
.category-intro .eyebrow { margin-bottom: 4px; color: var(--category-page-accent); }
.category-intro__meta { display: flex; flex-wrap: wrap; gap: 8px; color: var(--sn-subtle); font-size:11px; }
.category-intro__description { margin-top: 12px; color: #5f6f83; font-size:14px; line-height: 1.7; }
.category-intro__description p:last-child { margin-bottom: 0; }

.category-feature {
    display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    overflow: hidden; margin-bottom: 34px; border: 1px solid var(--sn-line); border-radius: 16px;
    background: #fff; box-shadow: 0 16px 44px rgba(16,35,59,.065);
}
.category-feature__media { min-height: 350px; background: var(--sn-mist); }
.category-feature__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.category-feature:hover .category-feature__media img { transform: scale(1.025); }
.category-feature__content { display: flex; flex-direction: column; justify-content: center; padding: 34px; }
.category-feature__label { width: fit-content; margin-bottom: 12px; color: var(--category-page-accent); font-size:10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.category-feature h2 { margin-bottom: 13px; font-size:clamp(24px, 2.2vw, 26px); line-height: 1.24; }
.category-feature p { margin-bottom: 18px; color: #5d6d80; font-size:14px; line-height: 1.7; }
.category-feature__link { display: inline-flex; align-items: center; gap: 7px; width: fit-content; margin-top: 18px; color: var(--category-page-accent); font-size:12px; font-weight: 600; }
.category-feature__link .sn-icon { width: 16px; height: 16px; }
.category-section-heading { display: flex; justify-content: space-between; margin-bottom: 17px; padding-bottom: 12px; border-bottom: 1px solid var(--sn-line); }
.category-section-heading span { color: var(--sn-teal); font-size:9px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.category-section-heading h2 { margin: 3px 0 0; font-size:21px; }
.archive-grid--premium { gap: 28px 22px; }
.archive-grid--premium .story-card { padding-bottom: 5px; }
.archive-grid--premium .story-card__title { font-size:16px !important; font-weight: 600; line-height: 1.42; }
.archive-header--compact { margin-bottom: 26px; padding: 30px 34px; border: 1px solid var(--sn-line); border-radius: 14px 24px 14px 24px; background: #f8fbfc; }
.archive-header--compact h1 { font-size:var(--sn-archive-title-size) !important; }

/* Professional sidebar */
.site-sidebar--professional { position: sticky; top: 106px; display: grid !important; grid-template-columns: 1fr !important; gap: 18px; }
.sidebar-card {
    overflow: visible; padding: 21px; border: 1px solid var(--sn-line); border-radius: 12px 20px 12px 20px;
    background: #fff; box-shadow: 0 9px 28px rgba(16,35,59,.045);
}
.sidebar-card__heading { margin-bottom: 15px; }
.sidebar-card__heading--row { display: flex; align-items: center; justify-content: space-between; }
.sidebar-card__heading--row > a { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--sn-line); border-radius: 50%; color: var(--sn-teal); }
.sidebar-card__kicker { display: block; margin-bottom: 3px; color: var(--sn-teal); font-size:9px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.sidebar-card h2 { margin: 0; font-size:17px; line-height: 1.35; }
.sidebar-search-card .sn-live-search__input { height: 46px; padding-right: 76px; font-size:12px; }
.sidebar-search-card .sn-live-search__submit { height: 36px; padding: 0 12px; font-size:10px; }
.sidebar-search-card .sn-live-search__results { min-width: 390px; left: auto; right: 0; }
.sidebar-story-list { display: grid; gap: 13px; }
.sidebar-story { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding-bottom: 13px; border-bottom: 1px solid #edf1f4; }
.sidebar-story:last-child { padding-bottom: 0; border-bottom: 0; }
.sidebar-story__image { overflow: hidden; width: 76px; height: 62px; border-radius: 8px 13px 8px 13px; }
.sidebar-story__image img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-story span { display: block; color: var(--sn-teal); font-size:8px; font-weight: 600; text-transform: uppercase; }
.sidebar-story h3 { margin: 3px 0 4px; font-size:12px; line-height: 1.42; }
.sidebar-story small { color: var(--sn-subtle); font-size:9px; }
.sidebar-category-list--premium { display: grid; gap: 7px; margin: 0; padding: 0 !important; list-style: none; }
.sidebar-category-list--premium li { margin: 0 !important; }
.sidebar-category-list--premium a { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px; background: #f8fafb; }
.sidebar-category-list--premium a:hover { background: color-mix(in srgb, var(--sidebar-accent) 8%, white); color: var(--sn-ink); }
.sidebar-category-list__icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: var(--sidebar-accent); background: #fff; }
.sidebar-category-list__icon .sn-icon { width: 17px; height: 17px; }
.sidebar-category-list__label { font-size:11px; font-weight: 600; }
.sidebar-category-list--premium small { color: var(--sn-subtle); font-size:9px; }
.sidebar-newsletter-card { position: relative; overflow: hidden; color: #dce9f2; background: var(--sn-navy); }
.sidebar-newsletter-card::after { content: ""; position: absolute; right: -45px; top: -45px; width: 125px; height: 125px; border-radius: 50%; background: rgba(19,143,139,.2); }
.sidebar-newsletter-card h2 { position: relative; z-index: 1; color: #fff; font-size:18px; }
.sidebar-newsletter-card p { position: relative; z-index: 1; color: #bdcad5; font-size:12px; }
.sidebar-newsletter-card__icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 15px; border-radius: 10px; background: rgba(255,255,255,.1); color: #fff; }
.sidebar-newsletter-card .sidebar-card__kicker { color: #7dd6d1; }
.sidebar-newsletter-card input { border-color: rgba(255,255,255,.2); }
.sidebar-newsletter-card button { background: var(--sn-teal); }

/* Single article */
.single-main--premium { padding-top: 30px; }
.article-header-wrap--premium { max-width: 1160px; }
.article-header--premium { max-width: 930px; margin: 24px 0 28px; text-align: left; }
.article-header__topline { display: flex; align-items: center; gap: 13px; margin-bottom: 14px; }
.article-header__topline .category-label { margin: 0; }
.article-header__reading { color: var(--sn-subtle); font-size:10px; font-weight: 600; }
.article-header--premium h1 { max-width: 900px; margin: 0 0 16px; font-size:var(--sn-single-title-size) !important; font-weight: 600; line-height: 1.16; letter-spacing: -.035em; }
.article-header--premium .article-deck { max-width: 790px; margin: 0 0 20px; color: #5d6c80; font-size:17px; line-height: 1.65; }
.article-byline--premium { display: flex; align-items: center; max-width: 900px; padding-top: 17px; border-top: 1px solid var(--sn-line); }
.editorial-avatar { display: grid; place-items: center; width: 42px; height: 42px; margin-right: 11px; border-radius: 12px; background: var(--sn-teal-soft); color: var(--sn-teal-dark); }
.editorial-avatar .sn-icon { width: 21px; height: 21px; }
.article-byline__copy strong { display: block; color: var(--sn-ink); font-size:12px; }
.article-byline__meta { display: flex; gap: 7px; color: var(--sn-subtle); font-size:9px; }
.article-share--header { display: flex; align-items: center; gap: 7px; margin-left: auto; }
.article-share--header > span { margin-right: 3px; color: var(--sn-subtle); font-size:9px; font-weight: 600; text-transform: uppercase; }
.article-share--header a { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid var(--sn-line); border-radius: 50%; color: #536378; }
.article-share--header a:hover { border-color: var(--sn-teal); color: var(--sn-teal); }
.article-share--header .sn-icon { width: 14px; height: 14px; }
.article-hero--premium { overflow: hidden; aspect-ratio: 1.85 / 1; border-radius: 16px 28px 16px 28px; background: var(--sn-mist); }
.article-hero--premium img { width: 100%; height: 100%; object-fit: cover; }
.article-hero--premium figcaption { padding: 8px 4px 0; color: var(--sn-subtle); font-size:9px; }
.article-layout--premium { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 44px; margin-top: 39px; }
.article-main-column { min-width: 0; }
.article-content--premium { max-width: 800px; margin: 0; color: #293c53; font-size:var(--sn-article-size); line-height: 1.86; }
.article-content--premium > p:first-child { font-size:calc(var(--sn-article-size) + 1px); color: #26394f; }
.article-content--premium h2 { margin: 2em 0 .65em; padding-top: 7px; font-size:26px; font-weight: 600; scroll-margin-top: 105px; }
.article-content--premium h3 { margin: 1.7em 0 .6em; font-size:22px; font-weight: 600; scroll-margin-top: 105px; }
.article-content--premium a { color: var(--sn-teal-dark); text-decoration: underline; text-decoration-color: rgba(19,143,139,.35); text-underline-offset: 3px; }
.article-content--premium blockquote { margin: 30px 0; padding: 22px 26px; border-left: 3px solid var(--sn-teal); border-radius: 0 12px 12px 0; background: #f4f8f8; font-size:18px; }
.article-toc { max-width: 800px; margin-bottom: 28px; border: 1px solid var(--sn-line); border-radius: 12px 20px 12px 20px; background: #f8fafb; }
.article-toc__toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 19px; border: 0; background: transparent; text-align: left; }
.article-toc__toggle span:first-child { display: flex; flex-direction: column; }
.article-toc__toggle small { color: var(--sn-teal); font-size:9px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.article-toc__toggle strong { color: var(--sn-ink); font-size:15px; }
.article-toc__chevron { color: var(--sn-teal); font-size:22px; transition: transform .2s ease; }
.article-toc__list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 20px; margin: 0; padding: 0 19px 18px 38px; }
.article-toc__item { color: #526277; font-size:12px; }
.article-toc__item--level-3 { margin-left: 12px; font-size:11px; }
.article-toc__item a:hover { color: var(--sn-teal-dark); }
.article-toc.is-collapsed .article-toc__list { display: none; }
.article-toc.is-collapsed .article-toc__chevron { transform: rotate(-90deg); }
.article-tags--premium { max-width: 800px; }
.author-box--editorial { display: grid; grid-template-columns: 58px 1fr; gap: 18px; max-width: 800px; margin-top: 34px; padding: 24px; border: 1px solid var(--sn-line); border-radius: 12px 22px 12px 22px; background: #f7fafb; }
.author-box__mark { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 15px; background: var(--sn-navy); color: #fff; }
.author-box__mark .sn-icon { width: 27px; height: 27px; }
.author-box--editorial h2 { margin-bottom: 6px; font-size:19px; }
.author-box--editorial p { margin-bottom: 9px; color: #5d6d80; font-size:13px; }
.author-box--editorial a { color: var(--sn-teal-dark); font-size:11px; font-weight: 600; }
.post-navigation--premium { max-width: 800px; }
.post-navigation--premium a { min-height: 115px; padding: 20px; border-radius: 12px; }
.post-navigation--premium span { color: var(--sn-teal); font-size:9px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.post-navigation--premium strong { font-size:13px; line-height: 1.5; }
.related-section--premium { margin-top: 55px; padding: 48px 0; background: #f7fafb; }

/* Professional information pages */
.page-main--professional { padding: 34px 0 64px; }
.page-shell--professional { max-width: 1120px; }
.page-header--professional { position: relative; overflow: hidden; margin-bottom: 34px; padding: 44px 48px; border: 1px solid var(--sn-line); border-radius: 15px 28px 15px 28px; background: linear-gradient(130deg, #f4f9f9, #fff 70%); }
.page-header__accent { position: absolute; right: -55px; top: -75px; width: 210px; height: 210px; border-radius: 50%; background: rgba(19,143,139,.08); }
.page-header--professional h1 { position: relative; max-width: 760px; margin-bottom: 10px; font-size:26px !important; line-height: 1.2; }
.page-header--professional p { position: relative; max-width: 720px; margin: 0; color: #5f7084; font-size:16px; line-height: 1.7; }
.page-content-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 36px; }
.page-content-layout:has(.page-policy-toc) { grid-template-columns: 230px minmax(0, 1fr); align-items: start; }
.page-policy-toc { position: sticky; top: 108px; padding: 20px; border: 1px solid var(--sn-line); border-radius: 12px; background: #f8fafb; }
.page-policy-toc > span { display: block; margin-bottom: 11px; color: var(--sn-teal); font-size:9px; font-weight: 600; text-transform: uppercase; }
.page-policy-toc ol { display: grid; gap: 8px; margin: 0; padding-left: 18px; }
.page-policy-toc li { color: #5f7084; font-size:11px; }
.page-content--professional { max-width: 930px; margin: 0; color: #34465b; font-size:16px; line-height: 1.8; }
.page-content--professional h2 { margin: 0 0 14px; font-size:26px; scroll-margin-top: 105px; }
.page-content--professional h3 { font-size:17px; }
.page-content--professional a { color: var(--sn-teal-dark); }
.sn-page-lead { max-width: 850px; margin-bottom: 28px; padding: 24px 28px; border-left: 3px solid var(--sn-teal); border-radius: 0 12px 12px 0; background: #f4f8f8; }
.sn-page-lead p { margin: 0; color: #364a60; font-size:18px; line-height: 1.7; }
.sn-stat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin: 0 0 42px; }
.sn-stat-grid > div { padding: 22px; border: 1px solid var(--sn-line); border-radius: 12px 20px 12px 20px; background: #fff; }
.sn-stat-grid strong { display: block; margin-bottom: 5px; color: var(--sn-ink); font-size:24px; }
.sn-stat-grid span { color: var(--sn-subtle); font-size:11px; }
.sn-page-section { margin: 0 0 42px; }
.sn-page-section--soft { padding: 30px; border: 1px solid var(--sn-line); border-radius: 14px 24px 14px 24px; background: #f7fafb; }
.sn-page-kicker { display: block; margin-bottom: 7px; color: var(--sn-teal); font-size:9px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.sn-info-grid { display: grid; gap: 14px; margin-top: 22px; }
.sn-info-grid--two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.sn-info-card { padding: 23px; border: 1px solid var(--sn-line); border-radius: 12px; background: #fff; }
.sn-info-card h3 { margin-bottom: 7px; }
.sn-info-card p { margin: 0; color: #66758a; font-size:13px; }
.sn-value-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 20px; }
.sn-value-list strong { color: var(--sn-ink); font-size:14px; }
.sn-value-list p { margin: 6px 0 0; font-size:12px; }
.sn-page-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 28px 32px; border-radius: 14px 26px 14px 26px; background: var(--sn-navy); color: #fff; }
.sn-page-cta span { color: #75d4cf; font-size:9px; font-weight: 600; text-transform: uppercase; }
.sn-page-cta h2 { margin: 4px 0 0; color: #fff; font-size:21px; }
.sn-page-cta a { flex: 0 0 auto; padding: 12px 17px; border-radius: 8px; background: #fff; color: var(--sn-navy); font-size:11px; font-weight: 600; }
.sn-contact-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: 42px; }
.sn-contact-card { padding: 25px; border: 1px solid var(--sn-line); border-radius: 12px 22px 12px 22px; background: #fff; box-shadow: 0 10px 30px rgba(16,35,59,.04); }
.sn-contact-card > span { color: var(--sn-teal); font-size:9px; font-weight: 600; text-transform: uppercase; }
.sn-contact-card h2 { margin: 5px 0 8px; font-size:20px; }
.sn-contact-card p { color: #65758a; font-size:12px; }
.sn-contact-card a { font-size:12px; font-weight: 600; }
.sn-step-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 22px; }
.sn-step-grid b { color: var(--sn-teal); font-size:11px; }
.sn-step-grid h3 { margin: 5px 0; }
.sn-step-grid p { font-size:12px; }
.sn-policy-notice { margin-bottom: 32px; padding: 22px 25px; border: 1px solid #d9e8e7; border-radius: 12px; background: #f2f8f7; }
.sn-policy-notice strong { color: var(--sn-ink); }
.sn-policy-notice p { margin: 6px 0 0; font-size:12px; }
.sn-inline-button { display: inline-flex; margin-top: 8px; font-size:12px; font-weight: 600; }

/* Footer */
.footer-newsletter-strip { margin-top: 58px; padding: 28px 0; border-top: 1px solid var(--sn-line); border-bottom: 1px solid var(--sn-line); background: #f3f8f8; }
.footer-newsletter-strip__inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px, .9fr); align-items: center; gap: 42px; }
.footer-newsletter-strip__copy { display: flex; align-items: center; gap: 18px; }
.footer-newsletter-strip__icon { display: grid; place-items: center; flex: 0 0 auto; width: 52px; height: 52px; border-radius: 14px; background: #fff; color: var(--sn-teal); box-shadow: var(--sn-shadow-sm); }
.footer-newsletter-strip__copy span:not(.footer-newsletter-strip__icon) { color: var(--sn-teal); font-size:9px; font-weight: 600; text-transform: uppercase; }
.footer-newsletter-strip h2 { margin: 3px 0 3px; font-size:21px; }
.footer-newsletter-strip p { margin: 0; color: #657589; font-size:12px; }
.site-footer--ultra { margin-top: 0 !important; padding-top: 46px; border-top: 0; background: #f8fafb; }
.footer-grid--ultra { grid-template-columns: 1.3fr .72fr .9fr .75fr .92fr; gap: 34px; padding-bottom: 40px; }
.footer-brand--ultra .custom-logo-link { max-width: 190px; }
.footer-brand--ultra p { max-width: 330px; margin-top: 16px; color: #607084; font-size:12px; line-height: 1.75; }
.social-links--footer { margin-top: 17px; }
.footer-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 0; border: 0; background: none; color: var(--sn-ink); font-size:13px; font-weight: 600; text-align: left; pointer-events: none; }
.footer-toggle__icon { display: none; }
.footer-panel { margin-top: 16px; }
.footer-menu { display: grid; gap: 9px; }
.footer-menu a,
.footer-contact-link { position: relative; width: fit-content; color: #5b6b80; font-size:11px; line-height: 1.5; background-image: linear-gradient(var(--sn-teal),var(--sn-teal)); background-position: 0 100%; background-repeat: no-repeat; background-size: 0 1px; transition: color .2s ease, background-size .2s ease; }
.footer-menu a:hover,
.footer-contact-link:hover { color: var(--sn-teal-dark); background-size: 100% 1px; }
.footer-contact-column p { color: #657589; font-size:11px; }
.footer-contact-link { color: var(--sn-teal-dark); font-weight: 600; }
.footer-bottom--ultra { padding: 15px 0; background: var(--sn-navy); color: #cad5df; }
.footer-bottom__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-bottom__inner p { margin: 0; font-size:10px; }

/* Responsive */
@media (max-width: 1120px) {
    .site-header--ultra .main-header__inner { grid-template-columns: minmax(170px, 195px) minmax(0,1fr) auto; gap: 15px; }
    .site-header--ultra .custom-logo-link, .site-header--ultra .custom-logo { max-width: 185px; }
    .site-header--ultra .primary-menu { gap: 17px; }
    .footer-grid--ultra { grid-template-columns: 1.2fr repeat(4,.8fr); gap: 24px; }
}

@media (max-width: 1080px) {
    .site-header--ultra .main-header__inner { grid-template-columns: 1fr auto; min-height: 70px; }
    .site-header--ultra .primary-navigation {
        position: fixed; top: 0; right: 0; z-index: 300; display: block; width: min(390px, 92vw); height: 100dvh;
        padding: 0 24px 30px; background: #fff; box-shadow: -24px 0 60px rgba(16,35,59,.18);
        transform: translateX(105%); transition: transform .3s ease; overflow-y: auto;
    }
    .site-header--ultra .primary-navigation.is-open { transform: translateX(0); }
    .nav-drawer__header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; min-height: 78px; margin: 0 -24px; padding: 0 24px; border-bottom: 1px solid var(--sn-line); background: #fff; }
    .nav-drawer__brand .custom-logo-link { max-width: 170px; }
    .nav-drawer__search { display: block; margin: 22px 0 15px; }
    .nav-drawer__footer { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--sn-line); }
    .nav-drawer__footer a { color: #657589; font-size:11px; }
    .site-header--ultra .primary-menu { flex-direction: column; align-items: stretch; gap: 0; }
    .site-header--ultra .primary-menu > li { border-bottom: 1px solid #edf1f4; }
    .site-header--ultra .primary-menu > li > a { position: relative; padding: 14px 2px; font-size:13px; }
    .site-header--ultra .primary-menu > li.menu-item-has-children > a::before { content: "+"; position: absolute; right: 2px; font-size:18px; font-weight: 400; }
    .site-header--ultra .primary-menu > li.menu-item-has-children.submenu-open > a::before { content: "−"; }
    .site-header--ultra .primary-menu > li > a::after { display: none; }
    .site-header--ultra .primary-menu .sub-menu { display: none; position: static; padding: 0 0 11px 13px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
    .site-header--ultra .primary-menu .submenu-open > .sub-menu { display: block; }
    .site-header--ultra .header-actions { justify-self: end; }
    .site-header--ultra .mobile-menu-toggle { display: grid; }
    .nav-drawer-overlay { position: fixed; inset: 0; z-index: 290; background: rgba(8,22,38,.44); backdrop-filter: blur(2px); }
    .category-layout,
    .article-layout--premium { grid-template-columns: 1fr !important; }
    .site-sidebar--professional { position: static; grid-template-columns: repeat(2,minmax(0,1fr)) !important; align-items: start; }
    .sidebar-search-card .sn-live-search__results { min-width: 0; left: 0; }
    .footer-grid--ultra { grid-template-columns: 1.25fr repeat(2,1fr); }
    .footer-brand--ultra { grid-row: span 2; }
    .page-content-layout:has(.page-policy-toc) { grid-template-columns: 1fr; }
    .page-policy-toc { position: static; }
}

@media (max-width: 760px) {
    .sn-container { width: min(calc(100% - 28px), var(--sn-container)); }
    .site-header--ultra .utility-bar__inner { min-height: 32px; }
    .site-header--ultra .utility-date { display: none; }
    .site-header--ultra .utility-dot { display: none; }
    .site-header--ultra .utility-message { max-width: 62vw; font-size:9px; }
    .site-header--ultra .utility-bar__right > a { display: none; }
    .site-header--ultra .utility-bar__right > a:first-child { display: inline; font-size:9px; }
    .site-header--ultra .main-header__inner { min-height: 65px; }
    .site-header--ultra .custom-logo-link, .site-header--ultra .custom-logo { max-width: 165px; max-height: 45px; }
    .site-header--ultra .header-subscribe { display: none; }
    .site-header--ultra .search-toggle, .site-header--ultra .mobile-menu-toggle { width: 38px; height: 38px; }
    .header-search { padding: 17px 0 20px; }
    .header-search__inner { grid-template-columns: 1fr 38px; gap: 10px; }
    .header-search__label { display: none; }
    .sn-live-search__input { height: 46px; padding-right: 72px; font-size:12px; }
    .sn-live-search__submit { height: 36px; padding: 0 11px; font-size:10px; }
    .sn-live-search__results { position: fixed; left: 14px; right: 14px; top: 143px; max-height: calc(100dvh - 165px); overflow-y: auto; }
    .nav-drawer__search .sn-live-search__results { position: absolute; left: 0; right: 0; top: calc(100% + 8px); max-height: 360px; }

    .category-main { padding-top: 24px; }
    .category-intro { grid-template-columns: 42px 1fr; gap: 15px; padding: 23px 21px; }
    .category-intro__icon { width: 42px; height: 42px; border-radius: 12px; }
    .category-intro__icon .sn-icon { width: 22px; height: 22px; }
    .category-intro h1 { font-size:min(var(--sn-archive-title-size), 26px); }
    .category-intro__meta { font-size:9px; }
    .category-feature { grid-template-columns: 1fr; }
    .category-feature__media { min-height: 230px; }
    .category-feature__content { padding: 24px; }
    .category-feature h2 { font-size:24px; }
    .archive-grid--premium { grid-template-columns: 1fr 1fr; gap: 22px 13px; }
    .archive-grid--premium .story-card__title { font-size:14px !important; }
    .site-sidebar--professional { grid-template-columns: 1fr !important; }

    .single-main--premium { padding-top: 20px; }
    .article-header--premium { margin-top: 18px; }
    .article-header--premium h1 { font-size:min(var(--sn-single-title-size), 26px) !important; }
    .article-header--premium .article-deck { font-size:15px; }
    .article-byline--premium { align-items: flex-start; flex-wrap: wrap; }
    .article-share--header { width: 100%; margin: 13px 0 0 53px; }
    .article-hero--premium { aspect-ratio: 1.35 / 1; border-radius: 12px 20px 12px 20px; }
    .article-layout--premium { margin-top: 27px; }
    .article-toc__list { grid-template-columns: 1fr; }
    .article-content--premium { font-size:min(var(--sn-article-size), 16px); line-height: 1.8; }
    .article-content--premium h2 { font-size:23px; }
    .article-content--premium h3 { font-size:20px; }
    .author-box--editorial { grid-template-columns: 45px 1fr; padding: 20px; }
    .author-box__mark { width: 45px; height: 45px; }
    .post-navigation--premium { grid-template-columns: 1fr; }

    .page-header--professional { padding: 30px 24px; }
    .page-header--professional h1 { font-size:26px !important; }
    .page-header--professional p { font-size:14px; }
    .sn-page-lead { padding: 20px; }
    .sn-page-lead p { font-size:16px; }
    .sn-stat-grid,
    .sn-contact-grid,
    .sn-step-grid,
    .sn-value-list { grid-template-columns: 1fr; }
    .sn-info-grid--two { grid-template-columns: 1fr; }
    .sn-page-cta { align-items: flex-start; flex-direction: column; padding: 24px; }

    .footer-newsletter-strip__inner { grid-template-columns: 1fr; gap: 20px; }
    .footer-newsletter-strip__copy { align-items: flex-start; }
    .footer-newsletter-strip h2 { font-size:19px; }
    .footer-grid--ultra { display: block; padding-bottom: 28px; }
    .footer-brand--ultra { margin-bottom: 27px; }
    .footer-accordion { border-top: 1px solid var(--sn-line); }
    .footer-accordion:last-child { border-bottom: 1px solid var(--sn-line); }
    .footer-toggle { min-height: 49px; pointer-events: auto; }
    .footer-toggle__icon { position: relative; display: block; width: 16px; height: 16px; }
    .footer-toggle__icon::before,
    .footer-toggle__icon::after { content: ""; position: absolute; left: 2px; right: 2px; top: 7px; height: 1.5px; background: var(--sn-teal); transition: transform .2s ease; }
    .footer-toggle__icon::after { transform: rotate(90deg); }
    .footer-accordion.is-open .footer-toggle__icon::after { transform: rotate(0); }
    .footer-panel { display: none; margin: 0; padding: 0 0 18px; }
    .footer-accordion.is-open .footer-panel { display: block; }
    .footer-bottom__inner { align-items: flex-start; flex-direction: column; gap: 4px; }
}

@media (max-width: 520px) {
    .site-header--ultra .header-actions { gap: 6px; }
    .archive-grid--premium { grid-template-columns: 1fr; }
    .category-intro { grid-template-columns: 1fr; }
    .category-intro__icon { display: none; }
    .category-intro h1 { font-size:26px; }
    .article-header--premium h1 { font-size:26px !important; }
    .article-byline__meta { flex-wrap: wrap; }
    .article-share--header { margin-left: 0; }
    .sn-stat-grid > div { padding: 18px; }
}
