.impact-public { background: #fff; }
/* Legacy public forms need an opaque surface for the shared ink input color. */
.impact-public .form-control { background-color: #fff; color: var(--ih-ink); backdrop-filter: none; }
.impact-public .form-control::placeholder { color: var(--ih-muted); opacity: 1; }
.impact-public .form-control:focus { background-color: #fff; color: var(--ih-ink); }
.impact-public .form-control:focus::placeholder { color: var(--ih-muted); opacity: 1; }
.impact-public .form-control:disabled, .impact-public .form-control[readonly] { background-color: #edf1f7; color: #526079; }
.impact-public .contact-footer-cta, .impact-public .bloodwork-footer-cta, .impact-public .footer-cta, .impact-public .ambassador-footer-cta { background-color: var(--ih-ink); }

.impact-public .ih-contact-section { padding: 80px 0; background: var(--ih-mist); color: var(--ih-ink); }
.impact-public .ih-contact-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: start; gap: 70px; margin: 0; }
.impact-public .ih-contact-grid > .col-md-6 { width: 100%; max-width: none; padding: 0; }
.impact-public .ih-contact-details { padding-top: 24px !important; }
.impact-public .ih-contact-details h1 { margin: 0 0 38px !important; padding: 0; color: var(--ih-ink); font: 600 clamp(40px, 4.6vw, 62px)/1.08 "Montserrat", Arial, sans-serif; letter-spacing: -.065em; text-transform: none; }
.impact-public .ih-contact-info { display: grid; gap: 20px; margin: 0; }
.impact-public .ih-contact-info > div { width: 100%; max-width: none; margin: 0 !important; padding: 0; }
.impact-public .ih-contact-details .hours-title { color: var(--ih-ink); font: 600 14px/1.5 "Montserrat", Arial, sans-serif; letter-spacing: 0; }
.impact-public .ih-contact-details .hours-text { color: #526079; opacity: 1; font: 400 14px/1.6 "Montserrat", Arial, sans-serif; letter-spacing: 0; }
.impact-public .ih-contact-details .contact-links { margin: 0; color: #1557be; font: 600 14px/1.7 "Montserrat", Arial, sans-serif; overflow-wrap: anywhere; }
.impact-public .ih-contact-details .contact-links a { color: #1557be; }
.impact-public .ih-contact-details .contact-links a:hover { color: #0e4092; opacity: 1; text-decoration: underline; }
.impact-public .ih-contact-details .contact-links i { width: 18px; color: var(--ih-blue); }
.impact-public .ih-contact-grid > .ih-contact-form-card { padding: 36px; border: 1px solid var(--ih-line); border-radius: var(--ih-radius); background: #fff; color: var(--ih-ink); box-shadow: 0 16px 45px #16274906; }
.impact-public .ih-contact-form-card h2 { margin: 0 0 12px; padding: 0; color: var(--ih-ink); font: 600 22px/1.4 "Montserrat", Arial, sans-serif; letter-spacing: -.035em; text-transform: none; }
.impact-public .ih-contact-form-card p { color: #526079; font: 400 14px/1.75 "Montserrat", Arial, sans-serif; }
.impact-public .ih-contact-form-card label { margin-bottom: 8px; color: var(--ih-ink); font: 600 12px/1.5 "Montserrat", Arial, sans-serif; }
.impact-public .ih-contact-form-card .form-group { margin-bottom: 20px; }
.impact-public .ih-contact-form-card .form-group:last-child { margin: 26px 0 0; }
.impact-public .ih-contact-form-card .form-control { min-height: 48px; height: auto; padding: 12px 14px; border-color: #bdc8d9; border-radius: 8px; font: 400 16px/1.5 "Montserrat", Arial, sans-serif; letter-spacing: 0; }
.impact-public .ih-contact-form-card .form-control:focus { border-color: var(--ih-blue); box-shadow: 0 0 0 3px #166bff1f; }
.impact-public .ih-contact-form-card textarea.form-control { min-height: 140px; resize: vertical; }
.impact-public .ih-contact-submit { min-height: 48px; padding: 12px 24px; border: 1px solid var(--ih-blue); border-radius: 8px; background: var(--ih-blue); color: #fff; font: 600 13px/1.5 "Montserrat", Arial, sans-serif; text-transform: none; }
.impact-public .ih-contact-submit:hover:not(:disabled), .impact-public .ih-contact-submit:focus-visible { border-color: #0954d6; background: #0954d6; color: #fff; }
.impact-public .ih-contact-submit:disabled { cursor: wait; opacity: .65; }
.impact-public .ih-contact-form-card #successMessage { padding: 20px 0; }
.impact-public .ih-contact-form-card #successMessage a { color: #1557be; text-decoration: underline; }
.impact-public .ih-contact-form-card .alert-danger { color: #7f2530; text-align: left; font-size: 13px; line-height: 1.65; }
.impact-public .ih-contact-form-card .alert-danger h5 { color: inherit; font: 600 15px/1.5 "Montserrat", Arial, sans-serif; }
.impact-public .ih-contact-form-card .alert-danger ul { padding-left: 20px; }
@media (max-width: 991px) { .impact-public .ih-contact-grid { gap: 35px; } .impact-public .ih-contact-grid > .ih-contact-form-card { padding: 28px; } }
@media (max-width: 767px) { .impact-public .ih-contact-section { padding: 40px 0 48px; } .impact-public .ih-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } .impact-public .ih-contact-details { padding-top: 0 !important; } .impact-public .ih-contact-details h1 { margin-bottom: 25px !important; } .impact-public .ih-contact-info { gap: 12px; } .impact-public .ih-contact-info .hours-text { margin-bottom: 8px !important; } .impact-public .ih-contact-grid > .ih-contact-form-card { padding: 24px 20px; } .impact-public .ih-contact-form-card h2 { font-size: 21px; } .impact-public .ih-contact-form-card .form-row .mb-3 { margin-bottom: 16px !important; } .impact-public .ih-contact-form-card .form-row > div:only-child { margin-bottom: 0 !important; } .impact-public .ih-contact-submit { width: 100%; } }
.ih-lifestyle-scene { position: relative; overflow: hidden; background: var(--ih-ink); }
.ih-lifestyle-poster { position: absolute; display: block; inset: 0; }
.ih-lifestyle-poster img, .ih-lifestyle-scene video { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ih-lifestyle-scene video { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.ih-lifestyle-scene.has-video video { opacity: 1; }
.ih-video-tools { position: absolute; z-index: 3; right: 5%; bottom: 24px; display: flex; align-items: center; gap: 12px; }
.ih-video-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; min-width: 40px; min-height: 40px; padding: 0; border: 1px solid #ffffff40; border-radius: 50%; background: #0b1529ad; color: #fff; font: 600 14px/1 Arial, sans-serif; cursor: pointer; }
.ih-video-toggle:hover:not(:disabled) { background: #0b1529e6; border-color: #ffffff80; }
.ih-video-toggle:focus-visible { outline: 3px solid #90b9ff; outline-offset: 4px; }
.ih-video-toggle [data-video-label] { line-height: 1; }
.ih-video-toggle:disabled { opacity: .8; cursor: default; }
.ih-video-toggle[hidden], .ih-video-status[hidden] { display: none; }
.ih-video-status { max-width: 150px; padding: 5px 8px; border-radius: 4px; background: #0b1529df; color: #fff; font-size: 10px; }
.ih-lifestyle-feature { display: grid; grid-template-columns: 1.2fr 1fr; background: #e7eef9; }
.ih-exercise-scene { min-height: 500px; }
.ih-exercise-scene::after { content: ""; position: absolute; inset: 65% 0 0; background: linear-gradient(transparent, #0b1529a6); pointer-events: none; }
.ih-lifestyle-copy { padding: 80px 12%; align-self: center; }
.ih-lifestyle-copy .ih-eyebrow { color: var(--ih-muted); margin-bottom: 24px; }
.ih-lifestyle-copy p { margin: 24px 0; max-width: 360px; color: #526079; }
.ih-lifestyle-caption { position: absolute; z-index: 2; bottom: 32px; left: 5%; max-width: calc(85% - 140px); color: #fff; font-size: 8px; letter-spacing: .13em; line-height: 1.6; }
@media (max-width: 767px) {
    .ih-lifestyle-feature { grid-template-columns: 1fr; }
    .ih-exercise-scene { min-height: 410px; }
    .ih-lifestyle-copy { padding: 48px 25px; }
    .ih-lifestyle-poster img, .ih-lifestyle-scene video { object-position: 48% center; }
    .ih-video-tools { right: 22px; bottom: 20px; }
    .ih-video-toggle { font-size: 14px; padding: 0; }
    .ih-lifestyle-caption { left: 22px; bottom: 28px; font-size: 7px; max-width: 155px; }
}
.impact-public .container { width: 100%; max-width: 1280px; padding-right: 28px; padding-left: 28px; }
.ih-public-header { position: sticky; top: 0; z-index: 1030; background: rgb(255 255 255 / 97%); border-bottom: 1px solid var(--ih-line); }
.ih-public-nav { display: flex; align-items: center; justify-content: space-between; min-height: 88px; max-width: 1500px; margin: auto; padding: 18px 4%; }
.ih-public-nav .navbar-collapse { flex-grow: 0; }
.ih-public-nav .navbar-nav { align-items: center; gap: 22px; }
.ih-public-nav .nav-link { color: var(--ih-ink) !important; font-size: 12px; font-weight: 600; padding: 12px 0 !important; }
.ih-public-nav .nav-link:hover, .ih-public-nav .nav-link.active, .ih-public-nav .nav-link[aria-current="page"] { color: var(--ih-blue) !important; }
.ih-public-nav .ih-button { min-height: 43px; padding: 11px 20px; font-size: 12px; }
.ih-public-nav .dropdown-menu { border: 1px solid var(--ih-line); border-radius: 10px; box-shadow: 0 12px 30px #0b152910; }
.ih-public-nav .dropdown-item { padding: 12px 18px; font-size: 13px; }
.ih-public-nav .dropdown-item[aria-current="page"] { color: var(--ih-blue); background: #edf3ff; }
.ih-nav-login { border-left: 1px solid var(--ih-line); padding-left: 24px; }
.ih-public-nav .navbar-toggler { border: 1px solid var(--ih-line); border-radius: 7px; font-size: 17px; padding: 10px; }
.ih-home h1, .ih-home h2, .ih-home h3, .ih-home p, .ih-home figure { margin: 0; }
.ih-home h1, .ih-home h2, .ih-home h3 { font-family: "Montserrat", Arial, sans-serif; color: inherit; font-weight: 600; }
.ih-home p { font-size: 14px; line-height: 1.8; }
.ih-home h2 { font-size: clamp(34px, 4vw, 57px); line-height: 1.06; letter-spacing: -.065em; }
.ih-hero { display: grid; grid-template-columns: minmax(0, .4fr) minmax(0, .6fr); background: var(--ih-ink); color: #fff; min-height: 820px; overflow: hidden; }
.ih-hero-copy { padding: 68px 8% 28px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; }
.ih-hero .ih-eyebrow { font-size: 10px; letter-spacing: .15em; color: #d1dbeb; }
.ih-status-dot { display: inline-block; width: 6px; height: 6px; background: var(--ih-blue); border-radius: 50%; margin-right: 8px; }
.ih-hero h1 { font-size: clamp(48px, 5.5vw, 84px); letter-spacing: -.072em; line-height: .99; margin: 25px 0; }
.ih-hero h1 em { font-weight: 500; font-style: normal; color: #77a6ff; }
.ih-hero-copy > p { max-width: 395px; color: #bdc8da; font-size: 13px; line-height: 1.85; }
.ih-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 28px; }
.ih-text-link { color: var(--ih-ink); font-size: 12px; font-weight: 700; text-decoration: none !important; display: inline-flex; align-items: center; gap: 24px; }
.ih-text-link:hover { color: var(--ih-blue); }
.ih-hero .ih-text-link { color: #fff; }
.ih-hero-caption { border-top: 1px solid #ffffff24; padding-top: 23px; margin-top: 48px; width: 100%; display: flex; justify-content: space-between; gap: 15px; font-size: 8px; letter-spacing: .12em; color: #8d9aaf; }
.ih-care-strip { display: flex; justify-content: center; gap: 9%; background: #eaf0fa; padding: 25px 4%; font-size: 11px; font-weight: 600; }
.ih-care-strip i { margin-right: 12px; color: var(--ih-blue); font-size: 16px; }
.ih-section { max-width: 1380px; margin: 0 auto; padding: 100px 5%; }
.ih-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 42px; }
.ih-section-heading .ih-eyebrow { color: var(--ih-muted); margin-bottom: 22px; }
.ih-section-heading > p { max-width: 310px; color: var(--ih-muted); }
.ih-program-grid { display: grid; grid-template-columns: 1fr 1fr .85fr; gap: 18px; }
.ih-program-card { border-radius: 12px; padding: 30px; overflow: hidden; display: flex; flex-direction: column; min-height: 400px; }
.ih-program-card .ih-eyebrow { font-size: 9px; letter-spacing: .14em; opacity: .7; }
.ih-program-card h3 { margin-top: 12px; font-size: 31px; letter-spacing: -.06em; line-height: 1.15; }
.ih-program-card p { font-size: 12px; line-height: 1.8; margin-top: auto; margin-bottom: 20px; opacity: .8; }
.ih-program-card a { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 11px; font-weight: 700; color: inherit; border-top: 1px solid #ffffff40; padding-top: 18px; text-decoration: none; }
.ih-program-card a:hover { text-decoration: underline; }
.ih-program-card a > span { font-size: 21px; }
.ih-program-dark { color: #fff; background: var(--ih-ink); }
.ih-program-blue { color: #fff; background: #1459d9; }
.ih-program-light { color: var(--ih-ink); background: var(--ih-mist); }
.ih-program-with-portrait { position: relative; isolation: isolate; }
.ih-program-with-portrait .ih-program-image { position: absolute; inset: 0; z-index: 0; display: block; pointer-events: none; }
.ih-program-with-portrait .ih-program-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; opacity: .5; }
.ih-program-with-portrait::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, #040e204d 0%, transparent 34%, #05122c2e 55%, #040e20cc 100%); pointer-events: none; }
.ih-program-with-portrait > :not(.ih-program-image) { position: relative; z-index: 2; }
.ih-program-with-portrait .ih-eyebrow, .ih-program-with-portrait p { opacity: 1; }
.ih-program-graphic { height: 140px; position: relative; display: flex; align-items: center; justify-content: center; margin: 8px 0; }
.ih-program-graphic > span { font-size: 100px; font-weight: 900; font-style: italic; opacity: .12; }
.ih-graphic-lines { position: absolute; inset: 42px 12px; transform: rotate(-22deg); display: grid; gap: 7px; }
.ih-graphic-lines i { background: linear-gradient(90deg, transparent, #6196ff, transparent); height: 1px; }
.ih-orbit { position: absolute; width: 160px; height: 80px; border: 1px solid #ffffff70; border-radius: 50%; transform: rotate(-28deg); }
.ih-orbit::after { content: ""; width: 11px; height: 11px; border-radius: 50%; background: #b8d2ff; position: absolute; top: 13px; right: 8px; }
.ih-program-options { margin: 28px 0; }
.ih-program-options a { border-color: var(--ih-line); padding: 16px 0; }
.ih-program-light p { margin-bottom: 0; color: var(--ih-muted); }
.ih-cinematic { padding: 30px 0; background: var(--ih-mist); }
.ih-cinematic-frame { position: relative; height: 590px; overflow: hidden; background: #192533; }
.ih-cinematic-frame > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.ih-cinematic-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #071018ed, #07101890 40%, transparent 78%); pointer-events: none; }
.ih-cinematic-copy { position: absolute; z-index: 1; left: 8%; top: 50%; transform: translateY(-50%); color: #fff; max-width: 460px; }
.ih-cinematic-copy .ih-eyebrow { margin-bottom: 24px; color: #b9cbec; }
.ih-cinematic-copy p { max-width: 330px; color: #d6dfed; margin: 24px 0; }
.ih-cinematic-caption { position: absolute; z-index: 1; left: 8%; bottom: 30px; font-size: 8px; letter-spacing: .15em; color: #fff; }
.ih-cinematic.ih-reveal-ready { height: 170svh; padding: 0; }
.ih-reveal-ready .ih-cinematic-frame { position: sticky; top: var(--ih-header-height, 88px); height: calc(100svh - var(--ih-header-height, 88px)); clip-path: inset(var(--ih-aperture, 0) 0); }
.ih-reveal-ready .ih-cinematic-copy, .ih-reveal-ready .ih-cinematic-caption { opacity: var(--ih-reveal-text, 1); }
.ih-reveal-ready .ih-cinematic-frame:focus-within { clip-path: none; }
.ih-reveal-ready .ih-cinematic-frame:focus-within .ih-cinematic-copy, .ih-reveal-ready .ih-cinematic-frame:focus-within .ih-cinematic-caption { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .ih-cinematic.ih-reveal-ready { height: auto; }
    .ih-reveal-ready .ih-cinematic-frame { position: relative; top: auto; height: 590px; clip-path: none; }
    .ih-reveal-ready .ih-cinematic-copy, .ih-reveal-ready .ih-cinematic-caption { opacity: 1; }
}
.ih-process-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px; list-style: none; padding: 0; margin: 54px 0 0; }
.ih-step-visual { display: flex; align-items: center; justify-content: space-between; height: 105px; border-top: 1px solid var(--ih-line); margin-bottom: 16px; }
.ih-step-visual span { color: #b8c4d7; font-size: 54px; font-weight: 500; letter-spacing: -.06em; }
.ih-step-visual i { color: var(--ih-blue); font-size: 25px; }
.ih-process-list h3 { font-size: 19px; letter-spacing: -.035em; margin-bottom: 15px; }
.ih-process-list p { font-size: 13px; color: var(--ih-muted); max-width: 290px; }
.ih-portal-section { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; padding: 90px 10%; background: var(--ih-mist); }
.ih-portal-copy { align-self: center; }
.ih-portal-copy .ih-eyebrow { color: var(--ih-muted); margin-bottom: 24px; }
.ih-portal-copy p { color: var(--ih-muted); max-width: 370px; margin: 23px 0 28px; }
.ih-portal-note { display: block; margin-top: 16px; color: var(--ih-muted); font-size: 10px; }
.ih-portal-map { background: #fff; border: 1px solid var(--ih-line); border-radius: 14px; padding: 22px; box-shadow: 0 22px 45px #142c5210; transform: rotate(-2deg); }
.ih-portal-map-header { display: flex; justify-content: space-between; align-items: center; padding: 5px 5px 22px; border-bottom: 1px solid var(--ih-line); }
.ih-portal-map-header .ih-eyebrow { font-size: 9px; }
.ih-portal-map-header i { color: var(--ih-blue); font-size: 12px; }
.ih-portal-map > a { display: grid; grid-template-columns: 43px 1fr 20px; align-items: center; gap: 15px; padding: 22px 5px; border-bottom: 1px solid #edf0f5; color: var(--ih-ink); text-decoration: none; }
.ih-portal-map > a:hover { color: var(--ih-blue); }
.ih-portal-map > a:last-child { border-bottom: 0; }
.ih-map-icon { display: grid; place-items: center; width: 43px; height: 43px; color: var(--ih-blue); background: #edf3ff; border-radius: 10px; }
.ih-portal-map strong { display: block; font-size: 12px; font-weight: 700; }
.ih-portal-map small { display: block; font-size: 10px; color: var(--ih-muted); margin-top: 5px; }
.ih-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 12%; }
.ih-faq > div > .ih-eyebrow { color: var(--ih-muted); margin-bottom: 20px; }
.ih-faq .ih-text-link { margin-top: 30px; }
.ih-faq-list details { border-bottom: 1px solid var(--ih-line); }
.ih-faq-list summary { padding: 24px 28px 24px 0; font-size: 13px; font-weight: 600; cursor: pointer; position: relative; list-style: none; }
.ih-faq-list summary::-webkit-details-marker { display: none; }
.ih-faq-list summary::after { content: "+"; position: absolute; right: 0; font-size: 20px; font-weight: 400; }
.ih-faq-list details[open] summary::after { content: "−"; }
.ih-faq-list details p { padding-bottom: 24px; font-size: 12px; color: var(--ih-muted); }
.ih-faq-list details a { color: #0755cf; text-decoration: underline; }
.ih-final-cta { padding: 80px 8%; background: #155bd9; color: #fff; display: grid; grid-template-columns: 1fr auto; align-items: center; }
.ih-final-cta .ih-eyebrow { grid-column: 1 / -1; margin-bottom: 25px; font-size: 9px; }
.ih-final-cta h2 { font-size: clamp(56px, 7vw, 96px); }
.ih-final-cta h2 em { font-weight: 400; }
.ih-footer { background: var(--ih-ink); color: #b7c3d7; padding: 60px 5% 22px; }
.ih-footer-top { max-width: 1240px; margin: auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 40px; padding-bottom: 50px; }
.ih-footer .ih-brand { color: #fff; }
.ih-footer p { font-size: 11px; line-height: 1.9; margin-top: 22px; }
.ih-footer h2 { color: #fff; font-size: 10px; letter-spacing: .12em; font-weight: 700; margin: 0 0 20px; text-transform: uppercase; }
.ih-footer a:not(.ih-brand) { display: block; font-size: 11px; line-height: 1.6; margin: 10px 0; color: #b7c3d7; }
.ih-footer a:hover { color: #fff; }
.ih-footer-bottom { max-width: 1240px; border-top: 1px solid #ffffff20; margin: auto; padding-top: 20px; display: flex; justify-content: space-between; gap: 20px; font-size: 9px; }
.ih-footer-bottom div { display: flex; gap: 22px; }
.ih-footer .ih-footer-bottom a { font-size: 9px; margin: 0; }
@media (min-width: 1550px) { .ih-hero { min-height: 880px; } .ih-hero-copy { padding-left: clamp(32px, 5vw, 96px); } }
@media (max-width: 1199px) { .ih-public-nav .navbar-nav { gap: 15px; } .ih-public-nav .nav-link { font-size: 10px; } .ih-hero-copy { padding-top: 50px; } .ih-hero { min-height: 620px; } .ih-program-card { padding: 24px; } .ih-portal-section { padding: 75px 6%; gap: 6%; } }
@media (max-width: 991px) { .ih-public-nav { flex-wrap: wrap; min-height: 76px; } .ih-public-nav .navbar-collapse { flex-basis: 100%; } .ih-public-nav .navbar-nav { align-items: stretch; gap: 0; padding: 20px 0 5px; } .ih-public-nav .nav-link { font-size: 13px; } .ih-nav-login { border: 0; padding: 0; } .ih-public-nav .ih-button { margin-top: 8px; } .ih-hero-copy { padding: 45px 8% 24px; } .ih-hero h1 { font-size: 58px; } .ih-hero-copy > p { font-size: 12px; } .ih-actions { gap: 20px; } .ih-hero-caption { margin-top: 30px; } .ih-hero-caption span:last-child { display: none; } .ih-program-grid { grid-template-columns: 1fr 1fr; } .ih-program-light { grid-column: 1 / -1; min-height: auto; } .ih-program-options { display: flex; gap: 30px; margin: 22px 0; } .ih-program-options a { flex: 1; } .ih-program-light h3 br { display: none; } .ih-care-strip { gap: 5%; font-size: 9px; } .ih-care-strip i { margin-right: 5px; } }
@media (max-width: 767px) { .impact-public .container { padding-left: 20px; padding-right: 20px; } .ih-public-nav { padding: 15px 22px; } .ih-hero { grid-template-columns: 1fr; } .ih-hero-copy { padding: 40px 25px 25px; } .ih-hero h1 { font-size: clamp(54px, 11vw, 76px); margin: 24px 0; } .ih-hero h1 br:nth-child(3) { display: none; } .ih-hero-copy > p { max-width: 380px; } .ih-hero-caption { margin-top: 30px; padding-top: 17px; } .ih-hero-caption span:last-child { display: block; } .ih-care-strip { display: grid; gap: 15px; font-size: 11px; justify-content: flex-start; padding: 25px; } .ih-care-strip i { width: 25px; margin-right: 10px; } .ih-section { padding: 65px 23px; } .ih-section-heading { align-items: flex-start; flex-direction: column; gap: 23px; margin-bottom: 30px; } .ih-section-heading > p { max-width: 100%; font-size: 13px; } .ih-home h2 { font-size: 39px; } .ih-program-grid { gap: 12px; } .ih-program-card { padding: 20px; min-height: 370px; } .ih-program-card h3 { font-size: 28px; } .ih-program-card a { font-size: 10px; } .ih-program-card p { font-size: 11px; } .ih-program-graphic { height: 125px; } .ih-orbit { width: 110px; } .ih-program-light { min-height: auto; } .ih-program-options { flex-direction: column; gap: 0; } .ih-program-options a { padding: 15px 0; font-size: 12px; } .ih-cinematic { padding: 0; } .ih-cinematic-frame { height: 560px; } .ih-cinematic-frame > img { object-position: 55% 25%; } .ih-cinematic-frame::after { background: linear-gradient(0deg, #071018ed, #07101870 60%, #07101820); } .ih-cinematic-copy { top: auto; bottom: 75px; left: 25px; right: 25px; transform: none; } .ih-cinematic-caption { left: 25px; font-size: 7px; } .ih-process-list { grid-template-columns: 1fr; gap: 24px; margin-top: 20px; } .ih-step-visual { height: 80px; } .ih-process-list p { max-width: 100%; } .ih-portal-section { grid-template-columns: 1fr; padding: 65px 25px; gap: 44px; } .ih-portal-map { transform: none; padding: 18px; } .ih-faq { grid-template-columns: 1fr; gap: 25px; } .ih-final-cta { grid-template-columns: 1fr; gap: 26px; padding: 60px 25px; } .ih-final-cta .ih-eyebrow { margin: 0; } .ih-final-cta h2 { font-size: 68px; } .ih-final-cta .ih-button { justify-self: start; } .ih-footer { padding: 50px 25px 25px; } .ih-footer-top { grid-template-columns: 1fr 1fr; gap: 35px 20px; } .ih-footer-top > div:first-child { grid-column: 1 / -1; } .ih-footer-bottom { flex-direction: column; } }
@media (max-width: 420px) { .ih-program-grid { grid-template-columns: 1fr; } .ih-program-card { min-height: 340px; } .ih-program-light { min-height: auto; } .ih-hero h1 { font-size: 55px; } .ih-actions { gap: 20px; } .ih-hero .ih-button { font-size: 11px; padding: 13px 17px; } .ih-hero .ih-text-link { font-size: 11px; gap: 9px; } .ih-portal-map small { font-size: 9px; } }
.ih-hero-art { display: flex; flex-direction: column; gap: 17px; min-width: 0; padding: 30px 24px 28px 0; }
.ih-hero-field { position: relative; display: grid; align-items: center; flex: 1; min-height: max(560px, calc(var(--ih-orbit-card-width) * 3.4 + 62px)); overflow: hidden; isolation: isolate; background: radial-gradient(ellipse closest-side at 50% 50%, #173b75b3 0, #10224666 42%, transparent 78%); --ih-orbit-x: calc(var(--ih-orbit-card-width) * 1.5); --ih-orbit-y: calc(var(--ih-orbit-card-width) * .55); --ih-orbit-z: calc(var(--ih-orbit-card-width) * 1.65); --ih-orbit-perspective: calc(var(--ih-orbit-card-width) * 6); --ih-orbit-card-width: clamp(108px, 12.3vw, 216px); }
.ih-hero-field::before { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: radial-gradient(ellipse closest-side at 50% 50%, #4a94ffff 0, #2678f5a6 24%, #166bff4d 46%, transparent 72%); opacity: .4; transform: scale(1); transform-origin: center; animation: ih-orbit-glow 18s ease-in-out infinite; animation-play-state: paused; }
.ih-field-label { position: absolute; z-index: 12; left: 24px; color: #8195b4; font-size: 8px; line-height: 1.5; font-weight: 600; letter-spacing: .18em; pointer-events: none; }
.ih-field-label { top: 15px; padding-left: 24px; }
.ih-field-label::before { content: ""; position: absolute; left: 0; top: 5px; width: 12px; height: 1px; background: #7ba8f2; }
.ih-orbit-stage { position: absolute; z-index: 1; inset: 34px 0; perspective: var(--ih-orbit-perspective); perspective-origin: 50% 50%; transform-style: preserve-3d; }
.ih-orbit-guide { position: absolute; top: 50%; left: 50%; width: calc(var(--ih-orbit-x) * 2); height: calc(var(--ih-orbit-y) * 2); border: 1px solid #769bd01c; border-radius: 50%; transform: translate(-50%, -50%); }
.ih-orbit-guide-outer { width: calc(var(--ih-orbit-x) * 2.25); height: calc(var(--ih-orbit-y) * 2.25); border-style: dashed; border-color: #769bd012; }
.ih-orbit-guide-inner::before, .ih-orbit-guide-inner::after { content: ""; position: absolute; left: 50%; width: 4px; height: 4px; border-radius: 50%; background: #7daafa; box-shadow: 0 0 15px #2d80ff; }
.ih-orbit-guide-inner::before { top: -2px; }
.ih-orbit-guide-inner::after { bottom: -2px; }
.ih-orbit-center { position: absolute; left: 50%; top: 50%; width: calc(var(--ih-orbit-card-width) * 1.6); aspect-ratio: 1; overflow: hidden; border: 1px solid #5697ff60; border-radius: 50%; background: radial-gradient(circle at 28% 22%, #9ac9ff 0, #388dff 15%, #1666eb 33%, #133d8a 65%, #091831 100%); box-shadow: inset -15px -18px 32px #05112799, 0 0 68px #166bff30, 0 30px 50px #030c2280; transform: translate3d(-50%, -50%, 0); }
.ih-orbit-center-light { position: absolute; inset: 7% 17% 63% 18%; border-top: 1px solid #e1f3ff80; border-radius: 50%; transform: rotate(-28deg); }
.ih-orbit-center-line { position: absolute; inset: 31% -10%; border: 1px solid #8bbdff45; border-radius: 50%; transform: rotate(-30deg); }
.ih-hero-field .ih-orbit-satellite { position: absolute; top: 50%; left: 50%; width: var(--ih-orbit-card-width); aspect-ratio: 4 / 5; transform: translate(-50%, -50%) translate3d(var(--ih-rest-x), var(--ih-rest-y), var(--ih-rest-z)); transform-origin: 50% 50%; animation: ih-portrait-orbit 48s linear infinite; animation-delay: var(--ih-orbit-delay); animation-play-state: paused; }
.ih-orbit-card { position: relative; width: 100%; height: 100%; overflow: hidden; border: 1px solid #dbeaff45; border-radius: 13px; background: var(--ih-portrait-tone, #cbd7e9); box-shadow: 0 12px 28px #020a2080, 0 0 0 4px #bcd6ff08; transform: rotate(var(--ih-card-tilt, 0deg)); }
.ih-orbit-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 18px #06163318; pointer-events: none; }
.ih-orbit-card picture { display: block; width: 100%; height: 100%; }
.ih-orbit-card img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.ih-orbit-satellite-1 { --ih-orbit-delay: 0s; --ih-rest-x: var(--ih-orbit-x); --ih-rest-y: 0px; --ih-rest-z: 0px; --ih-card-tilt: 4deg; --ih-portrait-tone: #d6dccb; }
.ih-orbit-satellite-2 { --ih-orbit-delay: -8s; --ih-rest-x: calc(var(--ih-orbit-x) * .5); --ih-rest-y: calc(var(--ih-orbit-y) * .866); --ih-rest-z: calc(var(--ih-orbit-z) * .866); --ih-card-tilt: -5deg; --ih-portrait-tone: #e6d4c2; }
.ih-orbit-satellite-3 { --ih-orbit-delay: -16s; --ih-rest-x: calc(var(--ih-orbit-x) * -.5); --ih-rest-y: calc(var(--ih-orbit-y) * .866); --ih-rest-z: calc(var(--ih-orbit-z) * .866); --ih-card-tilt: 3deg; --ih-portrait-tone: #c3dadd; }
.ih-orbit-satellite-4 { --ih-orbit-delay: -24s; --ih-rest-x: calc(var(--ih-orbit-x) * -1); --ih-rest-y: 0px; --ih-rest-z: 0px; --ih-card-tilt: -4deg; --ih-portrait-tone: #d4cbe3; }
.ih-orbit-satellite-5 { --ih-orbit-delay: -32s; --ih-rest-x: calc(var(--ih-orbit-x) * -.5); --ih-rest-y: calc(var(--ih-orbit-y) * -.866); --ih-rest-z: calc(var(--ih-orbit-z) * -.866); --ih-card-tilt: 5deg; --ih-portrait-tone: #c8d5e4; }
.ih-orbit-satellite-6 { --ih-orbit-delay: -40s; --ih-rest-x: calc(var(--ih-orbit-x) * .5); --ih-rest-y: calc(var(--ih-orbit-y) * -.866); --ih-rest-z: calc(var(--ih-orbit-z) * -.866); --ih-card-tilt: -3deg; --ih-portrait-tone: #e0d3c0; }
.ih-hero-field[data-hero-motion="running"]::before, .ih-hero-field[data-hero-motion="running"] .ih-field-motion { animation-play-state: running; }
.ih-hero-motion-tools { display: flex; justify-content: flex-end; align-items: center; min-height: 40px; padding: 0 5px; }
.ih-motion-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; min-width: 40px; min-height: 40px; padding: 0; border: 1px solid #4c6384; border-radius: 50%; background: #11213a; color: #e0eaff; font: 600 14px/1 Arial, sans-serif; cursor: pointer; }
.ih-motion-toggle[hidden] { display: none; }
.ih-motion-toggle:hover:not(:disabled) { color: #fff; background: #1b3559; border-color: #8cafdf; }
.ih-motion-toggle:focus-visible { outline: 3px solid #90b9ff; outline-offset: 4px; }
.ih-motion-toggle:disabled { cursor: default; color: #a9bbd4; border-color: #344b6a; background: transparent; }
.ih-motion-symbol { font-family: Arial, sans-serif; font-size: 14px; line-height: 1; text-align: center; }
.ih-hero-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #ffffff24; }
.ih-hero-options > a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 24px 20px 8px; color: #fff; text-decoration: none; }
.ih-hero-options > a:first-child { padding-left: 5px; border-right: 1px solid #ffffff24; }
.ih-hero-options > a:last-child { padding-right: 5px; }
.ih-hero-options strong { display: block; font-size: 21px; line-height: 1.3; font-weight: 500; letter-spacing: -.035em; }
.ih-hero-options small { display: block; margin-top: 6px; color: #a9bbd4; font-size: 9px; line-height: 1.6; }
.ih-hero-options > a > span:last-child { display: grid; place-items: center; flex-shrink: 0; width: 30px; height: 30px; border: 1px solid #6c86ad; border-radius: 50%; color: #c5dcff; font-family: Arial, sans-serif; font-size: 18px; }
.ih-hero-options > a:hover strong, .ih-hero-options > a:hover small { color: #a8cbff; }
.ih-hero-options > a:hover > span:last-child { color: #fff; background: #155bcd; border-color: #155bcd; }
.ih-hero-options > a:focus-visible { outline: 3px solid #90b9ff; outline-offset: -3px; }
@keyframes ih-orbit-glow {
    0%, 100% { opacity: .18; transform: scale(.84); }
    50% { opacity: .86; transform: scale(1.12); }
}
@keyframes ih-portrait-orbit {
    0%, 100% { transform: translate(-50%, -50%) translate3d(var(--ih-orbit-x), 0, 0); }
    8.333% { transform: translate(-50%, -50%) translate3d(calc(var(--ih-orbit-x) * .866), calc(var(--ih-orbit-y) * .5), calc(var(--ih-orbit-z) * .5)); }
    16.667% { transform: translate(-50%, -50%) translate3d(calc(var(--ih-orbit-x) * .5), calc(var(--ih-orbit-y) * .866), calc(var(--ih-orbit-z) * .866)); }
    25% { transform: translate(-50%, -50%) translate3d(0, var(--ih-orbit-y), var(--ih-orbit-z)); }
    33.333% { transform: translate(-50%, -50%) translate3d(calc(var(--ih-orbit-x) * -.5), calc(var(--ih-orbit-y) * .866), calc(var(--ih-orbit-z) * .866)); }
    41.667% { transform: translate(-50%, -50%) translate3d(calc(var(--ih-orbit-x) * -.866), calc(var(--ih-orbit-y) * .5), calc(var(--ih-orbit-z) * .5)); }
    50% { transform: translate(-50%, -50%) translate3d(calc(var(--ih-orbit-x) * -1), 0, 0); }
    58.333% { transform: translate(-50%, -50%) translate3d(calc(var(--ih-orbit-x) * -.866), calc(var(--ih-orbit-y) * -.5), calc(var(--ih-orbit-z) * -.5)); }
    66.667% { transform: translate(-50%, -50%) translate3d(calc(var(--ih-orbit-x) * -.5), calc(var(--ih-orbit-y) * -.866), calc(var(--ih-orbit-z) * -.866)); }
    75% { transform: translate(-50%, -50%) translate3d(0, calc(var(--ih-orbit-y) * -1), calc(var(--ih-orbit-z) * -1)); }
    83.333% { transform: translate(-50%, -50%) translate3d(calc(var(--ih-orbit-x) * .5), calc(var(--ih-orbit-y) * -.866), calc(var(--ih-orbit-z) * -.866)); }
    91.667% { transform: translate(-50%, -50%) translate3d(calc(var(--ih-orbit-x) * .866), calc(var(--ih-orbit-y) * -.5), calc(var(--ih-orbit-z) * -.5)); }
}
@media (max-width: 991px) {
    .ih-hero { grid-template-columns: minmax(0, 1fr); }
    .ih-hero-copy { padding-right: 25px; padding-left: 25px; }
    .ih-hero-art { padding: 0 12px 30px; gap: 16px; }
    .ih-hero-field { min-height: max(480px, calc(var(--ih-orbit-card-width) * 3.4 + 62px)); --ih-orbit-card-width: clamp(66px, calc((100vw - 50px) / 4.4), 190px); }
    .ih-field-label { left: 12px; }
    .ih-hero-options > a { padding: 22px 15px 6px; }
    .ih-hero-options strong { font-size: 19px; }
}
@media (max-width: 767px) {
    .ih-hero-art { padding-right: 0; padding-left: 0; }
    .ih-hero-field { min-height: max(400px, calc(var(--ih-orbit-card-width) * 4.4 + 48px)); --ih-orbit-card-width: calc((100vw - 24px) / 4.4); --ih-orbit-y: calc(var(--ih-orbit-card-width) * .9); }
    .ih-hero-motion-tools, .ih-hero-options { margin-right: 25px; margin-left: 25px; }
    .ih-field-label { top: 12px; left: 25px; }
    .ih-hero-options > a { padding-top: 20px; }
    .ih-hero-options strong { font-size: 22px; }
}
@media (max-width: 420px) {
    .ih-hero-options strong { font-size: 20px; }
    .ih-hero-options small { font-size: 8px; }
    .ih-hero-options > a { gap: 8px; padding-right: 12px; padding-left: 12px; }
    .ih-field-label { font-size: 7px; }
    .ih-orbit-card { border-radius: 9px; }
}
@media (prefers-reduced-motion: reduce) {
    .ih-hero-field .ih-field-motion { animation: none !important; }
    .ih-hero-field::before { animation: none !important; opacity: .4; transform: none; }
}
