/*
 * ALPLINE 4.0.35 visual convergence layer
 * ---------------------------------------
 * Human-readable final override for the approved white-premium public site
 * and network/genealogy areas. Existing release styles remain untouched so
 * rollback stays simple; this file is loaded last by the shared layout.
 */

/* =========================
   1. PUBLIC SITE FOUNDATION
   ========================= */
.release-435.public-body {
    background: #f7faf8 !important;
    color: #153a34 !important;
    font-size: 16px !important;
    line-height: 1.58 !important;
}
.release-435.public-body .alp-page,
.release-435.public-body .alp-public-435 {
    background: #f7faf8 !important;
}
.release-435.public-body .alp435-shell {
    width: min(1480px, calc(100% - 48px));
    margin-inline: auto;
}
.release-435.public-body .alp435-kicker,
.release-435.public-body .alp-overline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0d7a60 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
}
.release-435.public-body .alp435-kicker::before {
    content: "";
    width: 22px;
    height: 2px;
    border-radius: 4px;
    background: linear-gradient(90deg,#d9aa2b,#0d7a60);
}
.release-435.public-body h1,
.release-435.public-body h2,
.release-435.public-body h3 {
    color: #123f38 !important;
    letter-spacing: -.025em !important;
}
.release-435.public-body h1 { font-size: clamp(44px, 5vw, 76px) !important; line-height: 1.02 !important; }
.release-435.public-body h2 { font-size: clamp(30px, 3.2vw, 48px) !important; line-height: 1.08 !important; }
.release-435.public-body h3 { font-size: 21px !important; line-height: 1.2 !important; }
.release-435.public-body p { color: #58726c !important; font-size: 16px !important; }

/* =========================
   2. PUBLIC HEADER / NAV
   ========================= */
.release-435.public-body .alp435-site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,255,255,.96) !important;
    border-bottom: 1px solid #e2ebe7 !important;
    box-shadow: 0 8px 24px rgba(18,63,56,.07) !important;
    backdrop-filter: blur(16px);
}
.release-435.public-body .alp435-utility-bar {
    min-height: 34px !important;
    background: #0b463b !important;
    color: #eff9f5 !important;
    padding: 0 max(20px, calc((100vw - 1480px)/2)) !important;
}
.release-435.public-body .alp435-utility-bar nav {
    gap: 18px !important;
    align-items: center !important;
}
.release-435.public-body .alp435-utility-bar span,
.release-435.public-body .alp435-utility-bar a {
    color: #eff9f5 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}
.release-435.public-body .alp435-utility-bar .alp435-division-note { color: #dcebe5 !important; opacity: .82; }
.release-435.public-body .alp435-main-header {
    width: min(1540px, calc(100% - 32px)) !important;
    min-height: 82px !important;
    margin: 0 auto !important;
    padding: 10px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(250px, .85fr) minmax(500px, 1.45fr) auto !important;
    gap: 18px !important;
    align-items: center !important;
}
.release-435.public-body .alp435-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
    color: #123f38 !important;
    text-decoration: none !important;
}
.release-435.public-body .alp435-brand .crest {
    width: 56px !important;
    height: 56px !important;
    border-radius: 16px !important;
    background: #fff !important;
    border: 1px solid #e1ebe6 !important;
    box-shadow: 0 8px 18px rgba(15,68,57,.09) !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
}
.release-435.public-body .alp435-brand .crest img { width: 48px !important; height: 48px !important; object-fit: contain !important; }
.release-435.public-body .alp435-brand > span:last-child { display: grid !important; min-width: 0 !important; }
.release-435.public-body .alp435-brand b { font-size: 20px !important; line-height: 1 !important; color: #0b463b !important; letter-spacing: .03em !important; }
.release-435.public-body .alp435-brand small { margin-top: 3px !important; font-size: 10px !important; line-height: 1.15 !important; font-weight: 900 !important; letter-spacing: .12em !important; color: #607c75 !important; }
.release-435.public-body .alp435-brand em { margin-top: 4px !important; font-size: 9.5px !important; line-height: 1.2 !important; font-style: normal !important; color: #b18416 !important; font-weight: 800 !important; }
.release-435.public-body .alp435-primary-nav {
    display: flex !important;
    justify-content: center !important;
    gap: 4px !important;
    flex-wrap: wrap !important;
}
.release-435.public-body .alp435-primary-nav a {
    padding: 10px 11px !important;
    border-radius: 10px !important;
    color: #375f57 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: .2s ease !important;
}
.release-435.public-body .alp435-primary-nav a:hover,
.release-435.public-body .alp435-primary-nav a.active {
    color: #0a6e57 !important;
    background: #eaf7f2 !important;
}
.release-435.public-body .alp435-header-actions { gap: 8px !important; }
.release-435.public-body .alp435-header-actions summary,
.release-435.public-body .alp435-header-actions .header-join {
    min-height: 42px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}
.release-435.public-body .alp435-header-actions .header-join {
    background: linear-gradient(135deg,#0d7a60,#075a47) !important;
    color: #fff !important;
    box-shadow: 0 9px 20px rgba(13,122,96,.18) !important;
}

/* =========================
   3. HOME HERO
   ========================= */
.release-435.public-body .alp-home-hero,
.release-435.public-body .ap422-home-hero {
    width: min(1540px, calc(100% - 32px)) !important;
    min-height: 610px !important;
    margin: 18px auto 16px !important;
    padding: clamp(28px,4vw,62px) !important;
    border-radius: 30px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1.05fr) minmax(440px,.95fr) !important;
    align-items: center !important;
    gap: 38px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 10% 8%, rgba(222,178,59,.16), transparent 27%),
        radial-gradient(circle at 95% 10%, rgba(13,122,96,.13), transparent 28%),
        linear-gradient(135deg,#fbfdfc 0%,#f0f8f5 52%,#fffaf0 100%) !important;
    border: 1px solid #ddebe6 !important;
    box-shadow: 0 24px 60px rgba(18,63,56,.10) !important;
}
.release-435.public-body .ap422-hero-copy h1 { max-width: 830px !important; margin: 12px 0 18px !important; }
.release-435.public-body .ap422-hero-copy h1 em { color: #0d7a60 !important; font-style: normal !important; }
.release-435.public-body .ap422-hero-copy > p { max-width: 740px !important; font-size: 18px !important; line-height: 1.7 !important; }
.release-435.public-body .alp-actions,
.release-435.public-body .ap422-hero-actions,
.release-435.public-body .alp435-actions { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; align-items: center !important; }
.release-435.public-body .alp-btn,
.release-435.public-body .alp435-btn {
    min-height: 46px !important;
    padding: 12px 18px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border: 1px solid transparent !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
    text-decoration: none !important;
    cursor: pointer !important;
}
.release-435.public-body .alp-btn.primary,
.release-435.public-body .alp-btn.ink,
.release-435.public-body .alp435-btn.primary {
    background: linear-gradient(135deg,#0d7a60,#075a47) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(13,122,96,.17) !important;
}
.release-435.public-body .alp-btn.ghost,
.release-435.public-body .alp-btn.outline-ink,
.release-435.public-body .alp435-btn.secondary {
    background: #fff !important;
    color: #174c42 !important;
    border-color: #cfded8 !important;
}
.release-435.public-body .alp435-btn.gold { background: #deb23b !important; color: #153a34 !important; }
.release-435.public-body .alp435-btn.light { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.28) !important; color: #fff !important; }

.release-435.public-body .ap422-product-stage {
    min-height: 470px !important;
    border-radius: 26px !important;
    background: rgba(255,255,255,.92) !important;
    border: 1px solid #e0ebe6 !important;
    box-shadow: 0 22px 50px rgba(22,70,60,.13) !important;
    padding: 16px !important;
}
.release-435.public-body .ap422-stage-product {
    background: #fff !important;
    border: 1px solid #e4ece9 !important;
    box-shadow: 0 9px 22px rgba(25,72,63,.07) !important;
}
.release-435.public-body .ap422-stage-product img {
    object-fit: contain !important;
    object-position: center !important;
    background: #fff !important;
}
.release-435.public-body .ap422-stage-product--main img { max-height: 330px !important; width: 100% !important; }
.release-435.public-body .ap422-stage-stack img { width: 92px !important; height: 92px !important; object-fit: contain !important; }
.release-435.public-body .ap422-stage-seal { background: #0b463b !important; color: #fff4cf !important; }

.release-435.public-body .ap422-trust-ribbon { gap: 10px !important; margin-top: 20px !important; }
.release-435.public-body .ap422-trust-ribbon > span {
    min-height: 58px !important;
    background: #fff !important;
    border: 1px solid #dde8e3 !important;
    border-radius: 14px !important;
    padding: 10px 12px !important;
    box-shadow: 0 6px 18px rgba(18,63,56,.05) !important;
}
.release-435.public-body .ap422-trust-ribbon b { font-size: 11px !important; color: #173f38 !important; }
.release-435.public-body .ap422-trust-ribbon small { font-size: 9.5px !important; color: #6e8580 !important; }

.release-435.public-body .alp435-home-command,
.release-435.public-body .ap422-public-command {
    width: min(1480px, calc(100% - 48px)) !important;
    margin: 0 auto 22px !important;
    display: grid !important;
    grid-template-columns: repeat(6,minmax(0,1fr)) !important;
    background: #fff !important;
    border: 1px solid #dfe9e5 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 9px 24px rgba(18,63,56,.06) !important;
}
.release-435.public-body .alp435-home-command a,
.release-435.public-body .ap422-public-command a {
    min-height: 78px !important;
    padding: 12px 13px !important;
    display: grid !important;
    grid-template-columns: 38px 1fr !important;
    align-items: center !important;
    gap: 10px !important;
    background: #fff !important;
    border-right: 1px solid #ebf0ee !important;
    color: #153f38 !important;
    text-decoration: none !important;
}
.release-435.public-body .alp435-home-command a:last-child { border-right: 0 !important; }
.release-435.public-body .alp435-home-command i { width: 36px !important; height: 36px !important; border-radius: 11px !important; display: grid !important; place-items: center !important; background: #eaf7f2 !important; color: #0d7a60 !important; font-style: normal !important; }
.release-435.public-body .alp435-home-command b { font-size: 12px !important; color: #173f38 !important; }
.release-435.public-body .alp435-home-command small { font-size: 9.5px !important; color: #738a84 !important; }

/* =========================
   4. GENERIC PUBLIC SECTIONS
   ========================= */
.release-435.public-body .alp-section,
.release-435.public-body .alp435-section { padding: 74px 0 !important; }
.release-435.public-body .alp435-section.white,
.release-435.public-body .alp-section.light { background: #fff !important; }
.release-435.public-body .alp435-section.soft { background: #eef6f2 !important; }
.release-435.public-body .alp435-section-head,
.release-435.public-body .alp-section-head {
    display: grid !important;
    grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr) !important;
    gap: 42px !important;
    align-items: end !important;
    margin-bottom: 32px !important;
}
.release-435.public-body .alp435-section-head h2,
.release-435.public-body .alp-section-head h2 { margin: 8px 0 0 !important; max-width: 820px !important; }
.release-435.public-body .alp435-section-head > p,
.release-435.public-body .alp-section-head > p { margin: 0 !important; font-size: 15px !important; line-height: 1.7 !important; }
.release-435.public-body .alp435-feature-grid { display: grid !important; gap: 16px !important; }
.release-435.public-body .alp435-feature-grid.four { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
.release-435.public-body .alp435-feature-grid.five { grid-template-columns: repeat(5,minmax(0,1fr)) !important; }
.release-435.public-body .alp435-feature-grid > article,
.release-435.public-body .alp435-feature-grid > a {
    position: relative !important;
    min-height: 220px !important;
    padding: 24px !important;
    border-radius: 20px !important;
    background: #fff !important;
    border: 1px solid #dfe9e5 !important;
    box-shadow: 0 9px 24px rgba(18,63,56,.05) !important;
    color: #153f38 !important;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}
.release-435.public-body .alp435-feature-grid > a:hover { transform: translateY(-3px) !important; box-shadow: 0 16px 34px rgba(18,63,56,.10) !important; }
.release-435.public-body .alp435-feature-grid article > span,
.release-435.public-body .alp435-feature-grid a > span {
    width: 40px !important;
    height: 40px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    background: #eaf7f2 !important;
    color: #0d7a60 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}
.release-435.public-body .alp435-feature-grid h3 { margin: 22px 0 9px !important; }
.release-435.public-body .alp435-feature-grid p { margin: 0 !important; font-size: 14px !important; line-height: 1.65 !important; }
.release-435.public-body .alp435-feature-grid a > b { display: block !important; margin-top: 20px !important; color: #0d7a60 !important; font-size: 12px !important; }

/* =========================
   5. SUBPAGE HEROES
   ========================= */
.release-435.public-body .alp435-page-hero,
.release-435.public-body .alp-page-hero {
    padding: 78px 0 70px !important;
    background:
        radial-gradient(circle at 88% 8%, rgba(222,178,59,.14), transparent 30%),
        radial-gradient(circle at 7% 15%, rgba(13,122,96,.10), transparent 28%),
        linear-gradient(135deg,#fbfdfc,#f0f8f4) !important;
    border-bottom: 1px solid #dfe9e5 !important;
}
.release-435.public-body .alp435-page-hero__grid,
.release-435.public-body .alp-page-hero > .alp-shell {
    display: grid !important;
    grid-template-columns: minmax(0,1.12fr) minmax(340px,.58fr) !important;
    gap: 56px !important;
    align-items: center !important;
}
.release-435.public-body .alp435-page-hero h1,
.release-435.public-body .alp-page-hero h1 { margin: 12px 0 18px !important; max-width: 950px !important; }
.release-435.public-body .alp435-page-hero p,
.release-435.public-body .alp-page-hero p { max-width: 860px !important; font-size: 17px !important; line-height: 1.72 !important; }
.release-435.public-body .alp435-breadcrumb,
.release-435.public-body .alp-breadcrumb { display: flex !important; gap: 8px !important; align-items: center !important; margin-bottom: 22px !important; font-size: 12px !important; color: #789089 !important; }
.release-435.public-body .alp435-breadcrumb a,
.release-435.public-body .alp-breadcrumb a { color: #0d7a60 !important; text-decoration: none !important; font-weight: 800 !important; }
.release-435.public-body .alp435-page-hero aside,
.release-435.public-body .alp-page-hero aside,
.release-435.public-body .alp435-manufacturing-card,
.release-435.public-body .alp435-learning-card,
.release-435.public-body .alp435-help-card,
.release-435.public-body .alp435-contact-card {
    padding: 28px !important;
    border-radius: 24px !important;
    background: #0b463b !important;
    color: #fff !important;
    box-shadow: 0 20px 42px rgba(11,70,59,.18) !important;
}
.release-435.public-body .alp435-page-hero aside > span,
.release-435.public-body .alp-page-hero aside > small { color: #efd37f !important; font-size: 11px !important; font-weight: 900 !important; letter-spacing: .1em !important; }
.release-435.public-body .alp435-page-hero aside > b,
.release-435.public-body .alp-page-hero aside > strong { display: block !important; margin: 10px 0 !important; color: #fff !important; font-size: 22px !important; line-height: 1.25 !important; }
.release-435.public-body .alp435-page-hero aside p,
.release-435.public-body .alp435-page-hero aside span:not(:first-child) { color: #dcebe5 !important; font-size: 13px !important; }

.release-435.public-body .alp435-manufacturing-card ol { list-style: none !important; margin: 18px 0 0 !important; padding: 0 !important; display: grid !important; gap: 11px !important; }
.release-435.public-body .alp435-manufacturing-card li { display: grid !important; grid-template-columns: 34px 1fr !important; gap: 8px 12px !important; align-items: start !important; padding: 11px 0 !important; border-top: 1px solid rgba(255,255,255,.12) !important; }
.release-435.public-body .alp435-manufacturing-card li > b { grid-row: 1/3 !important; width: 30px !important; height: 30px !important; display: grid !important; place-items: center !important; border-radius: 9px !important; background: rgba(255,255,255,.11) !important; color: #f0d580 !important; font-size: 10px !important; }
.release-435.public-body .alp435-manufacturing-card li strong { color: #fff !important; font-size: 13px !important; }
.release-435.public-body .alp435-manufacturing-card li small { color: #bed5ce !important; font-size: 11px !important; line-height: 1.45 !important; }

/* =========================
   6. PRODUCTS / REAL MEDIA
   ========================= */
.release-435.public-body .alp-product-grid { gap: 18px !important; }
.release-435.public-body .alp-product-card {
    background: #fff !important;
    border: 1px solid #dfe9e5 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 9px 24px rgba(18,63,56,.06) !important;
}
.release-435.public-body .alp-product-image {
    height: 280px !important;
    min-height: 280px !important;
    max-height: 280px !important;
    background: linear-gradient(180deg,#fff,#f7faf8) !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    padding: 18px !important;
}
.release-435.public-body .alp-product-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}
.release-435.public-body .alp-product-body { padding: 22px !important; }
.release-435.public-body .alp-product-body h3 { margin: 6px 0 14px !important; }
.release-435.public-body .alp-product-body > small { font-size: 10px !important; color: #0d7a60 !important; font-weight: 900 !important; letter-spacing: .09em !important; }
.release-435.public-body .alp-product-actions { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; }
.release-435.public-body .alp435-product-strip { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 16px !important; }
.release-435.public-body .alp435-product-strip article { background: #fff !important; border: 1px solid #dfe9e5 !important; border-radius: 20px !important; overflow: hidden !important; box-shadow: 0 8px 22px rgba(18,63,56,.05) !important; }
.release-435.public-body .alp435-product-strip img { width: 100% !important; height: 250px !important; object-fit: contain !important; background: #fff !important; padding: 12px !important; }
.release-435.public-body .alp435-product-strip div { padding: 16px 18px 20px !important; display: grid !important; gap: 3px !important; }
.release-435.public-body .alp435-product-strip small { color: #0d7a60 !important; font-size: 9px !important; font-weight: 900 !important; letter-spacing: .08em !important; }
.release-435.public-body .alp435-product-strip b { color: #153f38 !important; font-size: 17px !important; }

/* =========================
   7. PUBLIC SPECIAL BLOCKS
   ========================= */
.release-435.public-body .alp435-split { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 18px !important; }
.release-435.public-body .alp435-story-card { min-height: 300px !important; padding: 34px !important; border-radius: 24px !important; background: #fff !important; border: 1px solid #dce9e4 !important; }
.release-435.public-body .alp435-story-card.accent { background: #0b463b !important; }
.release-435.public-body .alp435-story-card.accent h2 { color: #fff !important; }
.release-435.public-body .alp435-story-card.accent p { color: #cfe1db !important; }
.release-435.public-body .alp435-story-card.accent .alp435-kicker { color: #efd37f !important; }
.release-435.public-body .alp435-cta-band { padding: 52px 0 !important; background: linear-gradient(135deg,#0a463a,#0d6b56) !important; }
.release-435.public-body .alp435-cta-band .alp435-shell { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 24px !important; }
.release-435.public-body .alp435-cta-band h2 { color: #fff !important; margin: 8px 0 0 !important; }
.release-435.public-body .alp435-cta-band .alp435-kicker { color: #efd37f !important; }
.release-435.public-body .alp435-wellness-orbit { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
.release-435.public-body .alp435-wellness-orbit div { min-height: 130px !important; padding: 18px !important; border-radius: 18px !important; background: #fff !important; border: 1px solid #dfe9e5 !important; display: grid !important; align-content: center !important; gap: 8px !important; box-shadow: 0 8px 20px rgba(18,63,56,.05) !important; }
.release-435.public-body .alp435-wellness-orbit b { color: #d5a625 !important; font-size: 14px !important; }
.release-435.public-body .alp435-wellness-orbit span { color: #173f38 !important; font-size: 14px !important; font-weight: 850 !important; }
.release-435.public-body .alp435-product-focus { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 46px !important; align-items: center !important; }
.release-435.public-body .alp435-product-mini-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 12px !important; }
.release-435.public-body .alp435-product-mini-grid img { width: 100% !important; height: 260px !important; object-fit: contain !important; padding: 12px !important; border-radius: 18px !important; border: 1px solid #dce8e3 !important; background: #fff !important; }
.release-435.public-body .alp435-contact-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 18px !important; }
.release-435.public-body .alp435-contact-grid article { padding: 30px !important; border-radius: 22px !important; background: #fff !important; border: 1px solid #dde9e4 !important; }
.release-435.public-body .alp435-contact-grid article > span { color: #0d7a60 !important; font-size: 10px !important; font-weight: 900 !important; letter-spacing: .09em !important; }
.release-435.public-body .alp435-contact-summary { display: grid !important; grid-template-columns: minmax(0,.85fr) minmax(420px,1.15fr) !important; gap: 44px !important; align-items: start !important; }
.release-435.public-body .alp435-contact-summary dl { margin: 0 !important; padding: 8px !important; border-radius: 22px !important; background: #fff !important; border: 1px solid #dce8e3 !important; }
.release-435.public-body .alp435-contact-summary dl > div { display: grid !important; grid-template-columns: minmax(150px,.55fr) minmax(0,1fr) !important; gap: 16px !important; padding: 15px 16px !important; border-bottom: 1px solid #edf2f0 !important; }
.release-435.public-body .alp435-contact-summary dl > div:last-child { border-bottom: 0 !important; }
.release-435.public-body .alp435-contact-summary dt { color: #658079 !important; font-size: 11px !important; font-weight: 850 !important; }
.release-435.public-body .alp435-contact-summary dd { margin: 0 !important; color: #153f38 !important; font-size: 13px !important; font-weight: 800 !important; overflow-wrap: anywhere !important; }

.release-435.public-body .alp435-presence-grid { display: grid !important; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr) !important; gap: 44px !important; align-items: center !important; }
.release-435.public-body .alp435-state-cloud { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 10px !important; }
.release-435.public-body .alp435-state-cloud span { display: grid !important; gap: 3px !important; padding: 14px 15px !important; border-radius: 14px !important; background: #fff !important; border: 1px solid #dce8e3 !important; }
.release-435.public-body .alp435-state-cloud b { font-size: 12px !important; color: #153f38 !important; }
.release-435.public-body .alp435-state-cloud small { font-size: 9.5px !important; color: #6d857f !important; }

/* =========================
   8. PUBLIC FOOTER
   ========================= */
.release-435.public-body .alp435-site-footer {
    margin: 0 !important;
    padding: 56px max(24px,calc((100vw - 1480px)/2)) 22px !important;
    background: #092f28 !important;
    color: #d7e6e1 !important;
    min-height: 0 !important;
}
.release-435.public-body .alp435-footer-grid { display: grid !important; grid-template-columns: 1.45fr repeat(4,minmax(140px,.7fr)) !important; gap: 34px !important; align-items: start !important; }
.release-435.public-body .alp435-site-footer .footer-brand { display: grid !important; gap: 8px !important; }
.release-435.public-body .alp435-site-footer .footer-brand .crest { width: 52px !important; height: 52px !important; display: grid !important; place-items: center !important; border-radius: 15px !important; background: #fff !important; overflow: hidden !important; }
.release-435.public-body .alp435-site-footer .footer-brand img { width: 46px !important; height: 46px !important; object-fit: contain !important; }
.release-435.public-body .alp435-site-footer strong { color: #efd37f !important; font-size: 10px !important; letter-spacing: .09em !important; }
.release-435.public-body .alp435-site-footer a,
.release-435.public-body .alp435-site-footer span { color: #c5d9d2 !important; font-size: 12px !important; line-height: 1.45 !important; text-decoration: none !important; }
.release-435.public-body .alp435-site-footer > .alp435-footer-grid > div:not(.footer-brand) { display: grid !important; gap: 9px !important; }
.release-435.public-body .alp435-footer-legal { margin-top: 38px !important; padding-top: 18px !important; border-top: 1px solid rgba(255,255,255,.12) !important; display: flex !important; flex-wrap: wrap !important; justify-content: space-between !important; gap: 10px 20px !important; }

/* =========================
   9. WHITE-PREMIUM GENEALOGY
   ========================= */
.release-435 .network-page,
.release-435 .admin-network-page,
.release-435 .genealogy-command {
    --gene-ink: #173f38;
    --gene-muted: #6f8580;
    --gene-line: #dce7e3;
    --gene-green: #0d7a60;
    --gene-blue: #2e6ea6;
    --gene-gold: #d4a52a;
}
.release-435 .network-page,
.release-435 .admin-network-page { background: #f4f8f6 !important; }
.release-435 .genealogy-command {
    padding: 18px !important;
    border-radius: 22px !important;
    background: #f7faf8 !important;
    border: 1px solid #dce7e3 !important;
    color: var(--gene-ink) !important;
}
.release-435 .genealogy-command__head {
    padding: 18px !important;
    border-radius: 17px !important;
    background: #fff !important;
    border: 1px solid var(--gene-line) !important;
    box-shadow: 0 7px 20px rgba(18,63,56,.05) !important;
}
.release-435 .genealogy-command__head h2,
.release-435 .genealogy-command__head h3 { color: var(--gene-ink) !important; }
.release-435 .genealogy-command__nav a,
.release-435 .genealogy-command__nav button,
.release-435 .genealogy-command__depth select,
.release-435 .genealogy-command__search input {
    min-height: 40px !important;
    border-radius: 10px !important;
    border: 1px solid var(--gene-line) !important;
    background: #fff !important;
    color: var(--gene-ink) !important;
    font-size: 12px !important;
}
.release-435 .genealogy-command__root {
    width: min(700px,100%) !important;
    margin: 18px auto 0 !important;
    padding: 16px 18px !important;
    border-radius: 17px !important;
    background: linear-gradient(135deg,#fff,#f7fbf9) !important;
    border: 2px solid rgba(212,165,42,.42) !important;
    box-shadow: 0 12px 28px rgba(18,63,56,.08) !important;
}
.release-435 .genealogy-avatar { background: #e9f6f1 !important; color: #0d7a60 !important; border: 1px solid #cfe5dc !important; }
.release-435 .genealogy-command__identity strong,
.release-435 .genealogy-command__identity b { color: var(--gene-ink) !important; }
.release-435 .genealogy-command__status small { color: var(--gene-muted) !important; }
.release-435 .genealogy-command__connector { height: 34px !important; }
.release-435 .genealogy-command__connector::before,
.release-435 .genealogy-command__connector i { background: #bfd1ca !important; }
.release-435 .genealogy-command__branches { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 16px !important; align-items: start !important; }
.release-435 .genealogy-branch {
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #fff !important;
    border: 1px solid var(--gene-line) !important;
    box-shadow: 0 8px 22px rgba(18,63,56,.05) !important;
}
.release-435 .genealogy-branch[data-branch="A"] { border-top: 4px solid var(--gene-green) !important; }
.release-435 .genealogy-branch[data-branch="B"] { border-top: 4px solid var(--gene-blue) !important; }
.release-435 .genealogy-branch__head { padding: 14px 16px !important; background: #f8fbfa !important; border-bottom: 1px solid var(--gene-line) !important; }
.release-435 .genealogy-branch__head strong,
.release-435 .genealogy-branch__head b { color: var(--gene-ink) !important; }
.release-435 .genealogy-branch__filter { margin: 10px 12px !important; padding: 0 11px !important; min-height: 42px !important; border-radius: 11px !important; background: #fff !important; border: 1px solid var(--gene-line) !important; color: var(--gene-muted) !important; }
.release-435 .genealogy-branch__filter input { color: var(--gene-ink) !important; font-size: 12px !important; }
.release-435 .genealogy-branch__list { max-height: 520px !important; overflow: auto !important; padding: 0 10px 10px !important; }
.release-435 .genealogy-member-row {
    min-height: 64px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    background: #fff !important;
    color: var(--gene-ink) !important;
}
.release-435 .genealogy-member-row:hover { background: #f2f8f5 !important; border-color: #d7e8e1 !important; }
.release-435 .genealogy-member-row__number { color: #91a19d !important; font-size: 10px !important; }
.release-435 .genealogy-member-row__identity strong { color: var(--gene-ink) !important; font-size: 12px !important; }
.release-435 .genealogy-member-row__identity b { color: #0d7a60 !important; font-size: 10px !important; }
.release-435 .genealogy-member-row__metric small { color: var(--gene-muted) !important; font-size: 9px !important; }
.release-435 .genealogy-member-row__metric b { color: var(--gene-ink) !important; font-size: 11px !important; }
.release-435 .genealogy-member-row > em { color: #0d7a60 !important; font-size: 9px !important; }
.release-435 .genealogy-visual { margin-top: 18px !important; padding: 18px !important; border-radius: 18px !important; background: #fff !important; border: 1px solid var(--gene-line) !important; }
.release-435 .reference-tree__root { background: #fffdf6 !important; border: 1px solid #e7d7a7 !important; color: var(--gene-ink) !important; box-shadow: 0 8px 20px rgba(18,63,56,.05) !important; }
.release-435 .reference-tree__trunk i,
.release-435 .reference-tree__trunk::before,
.release-435 .reference-tree__branches::before { background: #bfd1ca !important; }
.release-435 .reference-branch { background: #f9fbfa !important; border: 1px solid var(--gene-line) !important; border-radius: 16px !important; }
.release-435 .reference-branch.is-a { border-top: 4px solid var(--gene-green) !important; }
.release-435 .reference-branch.is-b { border-top: 4px solid var(--gene-blue) !important; }
.release-435 .reference-level { border-top: 1px solid #edf2f0 !important; }
.release-435 .reference-node { background: #fff !important; border: 1px solid #e0e9e5 !important; color: var(--gene-ink) !important; border-radius: 12px !important; }
.release-435 .reference-node strong,
.release-435 .reference-node b { color: var(--gene-ink) !important; }
.release-435 .reference-node small { color: var(--gene-muted) !important; }

/* =========================
   10. PLAN / CONTROL READABILITY
   ========================= */
.release-435 .control-card,
.release-435 .team-section,
.release-435 .network-metrics article {
    background: #fff !important;
    border-color: #dce7e3 !important;
    box-shadow: 0 7px 20px rgba(18,63,56,.045) !important;
}
.release-435 .control-card h1,
.release-435 .control-card h2,
.release-435 .control-card h3,
.release-435 .team-section h2,
.release-435 .team-section h3 { color: #173f38 !important; }

/* =========================
   11. RESPONSIVE
   ========================= */
@media (max-width: 1280px) {
    .release-435.public-body .alp435-main-header { grid-template-columns: minmax(230px,.8fr) 1fr auto !important; }
    .release-435.public-body .alp435-primary-nav a { padding: 9px 8px !important; font-size: 11px !important; }
    .release-435.public-body .alp435-feature-grid.five { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
    .release-435.public-body .alp435-footer-grid { grid-template-columns: 1.4fr repeat(2,1fr) !important; }
}
@media (max-width: 1024px) {
    .release-435.public-body .alp435-shell { width: min(100% - 28px, 1480px) !important; }
    .release-435.public-body .alp435-primary-nav { display: none !important; }
    .release-435.public-body .alp435-main-header { grid-template-columns: 1fr auto !important; }
    .release-435.public-body .alp-home-hero,
    .release-435.public-body .ap422-home-hero { grid-template-columns: 1fr !important; min-height: 0 !important; }
    .release-435.public-body .ap422-product-stage { max-width: 760px !important; width: 100% !important; margin-inline: auto !important; }
    .release-435.public-body .alp435-home-command { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
    .release-435.public-body .alp435-page-hero__grid,
    .release-435.public-body .alp-page-hero > .alp-shell { grid-template-columns: 1fr !important; }
    .release-435.public-body .alp435-section-head,
    .release-435.public-body .alp-section-head { grid-template-columns: 1fr !important; gap: 16px !important; }
    .release-435.public-body .alp435-feature-grid.four { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .release-435.public-body .alp435-product-strip { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .release-435.public-body .alp435-presence-grid,
    .release-435.public-body .alp435-contact-summary { grid-template-columns: 1fr !important; }
    .release-435 .genealogy-command__branches { grid-template-columns: 1fr !important; }
}
@media (max-width: 720px) {
    .release-435.public-body h1 { font-size: clamp(38px,12vw,54px) !important; }
    .release-435.public-body h2 { font-size: 31px !important; }
    .release-435.public-body .alp435-utility-bar { display: none !important; }
    .release-435.public-body .alp435-main-header { width: calc(100% - 20px) !important; min-height: 70px !important; }
    .release-435.public-body .alp435-brand .crest { width: 46px !important; height: 46px !important; }
    .release-435.public-body .alp435-brand .crest img { width: 40px !important; height: 40px !important; }
    .release-435.public-body .alp435-brand em { display: none !important; }
    .release-435.public-body .alp435-header-actions > :not(.public-mobile-menu):not(.public-portal-menu) { display: none !important; }
    .release-435.public-body .alp-home-hero,
    .release-435.public-body .ap422-home-hero { width: calc(100% - 16px) !important; margin-top: 8px !important; padding: 24px 16px !important; border-radius: 22px !important; gap: 22px !important; }
    .release-435.public-body .ap422-product-stage { min-height: 0 !important; }
    .release-435.public-body .ap422-stage-stack { grid-template-columns: repeat(3,minmax(0,1fr)) !important; grid-template-rows: 1fr !important; }
    .release-435.public-body .ap422-stage-stack .ap422-stage-product { display: block !important; }
    .release-435.public-body .ap422-stage-stack img { width: 100% !important; height: 105px !important; }
    .release-435.public-body .alp435-home-command { width: calc(100% - 16px) !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .release-435.public-body .alp435-feature-grid.four,
    .release-435.public-body .alp435-feature-grid.five,
    .release-435.public-body .alp435-product-strip,
    .release-435.public-body .alp435-split,
    .release-435.public-body .alp435-product-focus,
    .release-435.public-body .alp435-contact-grid { grid-template-columns: 1fr !important; }
    .release-435.public-body .alp435-state-cloud { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .release-435.public-body .alp435-product-mini-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
    .release-435.public-body .alp435-product-mini-grid img { height: 150px !important; }
    .release-435.public-body .alp435-cta-band .alp435-shell { align-items: flex-start !important; flex-direction: column !important; }
    .release-435.public-body .alp435-footer-grid { grid-template-columns: 1fr 1fr !important; }
    .release-435.public-body .footer-brand { grid-column: 1/-1 !important; }
    .release-435.public-body .alp435-footer-legal { flex-direction: column !important; }
    .release-435 .genealogy-command { padding: 10px !important; border-radius: 15px !important; }
    .release-435 .genealogy-command__root { padding: 12px !important; }
    .release-435 .genealogy-member-row { grid-template-columns: 24px 34px minmax(0,1fr) auto !important; }
    .release-435 .genealogy-member-row__metric,
    .release-435 .genealogy-member-row > em { display: none !important; }
}

/* =========================
   12. PUBLIC INDIA PRESENCE
   =========================
   Public map uses only aggregated state-level coverage from TeamTerritoryService.
   Keep this presentation compact so it supports the corporate page rather than
   looking like an Admin dashboard.
*/
.release-435.public-body .alp435-presence-head { margin-bottom: 24px !important; }
.release-435.public-body .alp435-public-map .india-intelligence {
    margin-top: 0 !important;
    border-radius: 24px !important;
    border: 1px solid #dce8e3 !important;
    box-shadow: 0 16px 38px rgba(18,63,56,.07) !important;
}
.release-435.public-body .alp435-public-map .india-intelligence__head {
    padding: 16px 18px !important;
    background: linear-gradient(90deg,#eff8f4,#fffaf0) !important;
}
.release-435.public-body .alp435-public-map .india-intelligence__workspace {
    grid-template-columns: minmax(360px,1.35fr) minmax(250px,.65fr) !important;
    min-height: 360px !important;
}
.release-435.public-body .alp435-public-map .india-map-canvas { height: 360px !important; cursor: default !important; }
.release-435.public-body .alp435-public-map .india-intelligence__detail { padding: 24px !important; }
.release-435.public-body .alp435-public-map .territory-rank { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
.release-435.public-body .alp435-presence-actions { display: flex !important; gap: 10px !important; flex-wrap: wrap !important; margin-top: 18px !important; }

@media (max-width: 900px) {
    .release-435.public-body .alp435-public-map .india-intelligence__workspace { grid-template-columns: 1fr !important; }
    .release-435.public-body .alp435-public-map .india-map-canvas { height: 330px !important; }
    .release-435.public-body .alp435-public-map .territory-rank { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 560px) {
    .release-435.public-body .alp435-public-map .india-map-canvas { height: 300px !important; }
    .release-435.public-body .alp435-public-map .territory-rank { grid-template-columns: 1fr !important; }
}

/* Admin's own member preview uses a POST; keep its button aligned with the topbar. */
.release-435 .portal-top-actions .admin-member-preview-form { margin: 0; }
.release-435 .portal-top-actions .admin-member-preview-form button {
    min-height: 36px;
    padding: 0 11px;
    border: 1px solid #d9e2de;
    border-radius: 9px;
    background: #fff;
    color: #203a32;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.release-435 .portal-nav .admin-member-preview-menu { margin: 0; }
.release-435 .portal-nav .admin-member-preview-menu button {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
@media (max-width: 700px) {
    .release-435 .portal-top-actions .admin-member-preview-form { display: none; }
}

/* The readiness hero uses a dark background; retain readable text on mobile. */
.release-435 .readiness-hero h1 { color: #fff !important; }
.release-435 .readiness-hero h1 em { color: #f1cf72 !important; }
.release-435 .readiness-hero .eyebrow { color: #d4eae0 !important; }
.release-435 .readiness-hero p:not(.eyebrow) { color: #edf6f0 !important; }

/* Member workspace: readable values and a persistent, safe preview exit. */
.release-435.member-portal .seller-kpis {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
.release-435.member-portal .seller-kpis article {
    min-width: 0 !important;
    min-height: 116px !important;
    padding: 17px !important;
}
.release-435.member-portal .seller-kpis article small {
    font-size: 11px !important;
    line-height: 1.35 !important;
    letter-spacing: .04em !important;
}
.release-435.member-portal .seller-kpis article b {
    font-size: clamp(19px, 2.2vw, 27px) !important;
    overflow-wrap: anywhere !important;
}
.release-435.member-portal .seller-kpis article a,
.release-435.member-portal .seller-kpis article span {
    font-size: 11px !important;
    line-height: 1.35 !important;
}
.release-435.member-portal .impersonation-banner {
    position: sticky !important;
    top: 0 !important;
    z-index: 60 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
    padding: 10px 18px !important;
    background: #143c35 !important;
    color: #fff !important;
}
.release-435.member-portal .impersonation-banner button {
    min-height: 40px !important;
    padding: 8px 14px !important;
    border: 1px solid #f1cd72 !important;
    border-radius: 9px !important;
    background: #f1cd72 !important;
    color: #17352d !important;
    font-weight: 800 !important;
}
@media (max-width: 1000px) {
    .release-435.member-portal .seller-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
    .release-435.member-portal .seller-kpis { grid-template-columns: 1fr !important; }
    .release-435.member-portal .seller-kpis article { min-height: 98px !important; }
    .release-435 .genealogy-member-row {
        grid-template-columns: 23px 32px minmax(0, 1fr) auto !important;
        gap: 4px 7px !important;
        min-height: 72px !important;
    }
    .release-435 .genealogy-member-row__identity { grid-column: 3 !important; }
    .release-435 .genealogy-member-row__metric {
        display: flex !important;
        grid-column: 3 !important;
        grid-row: 2 !important;
        gap: 8px !important;
        align-items: center !important;
    }
    .release-435 .genealogy-member-row__metric small,
    .release-435 .genealogy-member-row__metric b { font-size: 10px !important; }
    .release-435 .genealogy-member-row > .status {
        display: inline-flex !important;
        grid-column: 4 !important;
        grid-row: 1 / span 2 !important;
        font-size: 9px !important;
    }
}
