:root {
  --forest: #123a52;
  --forest2: #1d5369;
  --lime: #a9c94d;
  --gold: #d9a345;
  --ink: #182b36;
}
.brand-logo { display: block; width: 214px; height: 91px; object-fit: cover; object-position: 50% 57%; mix-blend-mode: multiply; }
.footer-brand { width: 214px; height: 91px; flex: 0 0 214px; }
.footer-brand > .brand-mark, .footer-brand > .brand-word { display: none; }
.section-kicker, .program-index, .pillar-symbol, .card-arrow, .row-arrow, .event-card a { color: #607b17; }
.pillar-card:hover { box-shadow: 0 16px 30px rgba(21, 60, 82, .1); }
.hero:after { background: radial-gradient(ellipse at 83% 12%, rgba(169, 201, 77, .16), transparent 31%), linear-gradient(135deg, transparent 52%, rgba(8, 36, 51, .36)); }
.hero-art-halo { border-color: rgba(169, 201, 77, .38); box-shadow: 0 0 0 28px rgba(169, 201, 77, .035), 0 0 0 74px rgba(169, 201, 77, .025); }
#hero-orbit .mesh, .course-fact strong, .payment-total strong { color: var(--forest); }
.event-grid { padding-top: 16px; padding-bottom: 62px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.events-intro { padding-top: 18px; padding-bottom: 10px; display: grid; grid-template-columns: .55fr 1fr; gap: 8%; align-items: start; }
.events-intro .section-kicker { color: #607b17; }
.events-intro p { max-width: 650px; margin: 0; color: var(--muted); }
.event-card { overflow: hidden; border: 1px solid #dfe4e3; background: #fff; box-shadow: 0 8px 28px rgba(18, 58, 82, .045); }
.event-card-featured { grid-column: span 2; display: grid; grid-template-columns: 1.05fr 1fr; }
.event-art { height: 245px; position: relative; overflow: hidden; background: #e8eff0; }
.event-card-featured .event-art { height: 100%; min-height: 400px; }
.event-art img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.event-card:hover .event-art img { transform: scale(1.035); }
.event-art-label { position: absolute; bottom: 16px; left: 17px; padding: 10px 13px; background: rgba(18, 58, 82, .92); color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .1em; }
.event-card-body { padding: 26px 28px 29px; }
.event-card-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; font-size: 13px; font-weight: 800; letter-spacing: .11em; color: #607b17; }
.event-status { border: 1px solid #d8e0cc; padding: 4px 8px; color: #59686d; font-size: 11.7px; letter-spacing: .08em; }
.event-card h2 { margin: 17px 0 9px; font: 600 36.4px/1.16 var(--sans); letter-spacing: -.04em; color: var(--forest); }
.event-card p { margin: 0; color: var(--muted); line-height: 1.75; }
.event-card dl { margin: 20px 0 0; border-top: 1px solid var(--rule); }
.event-card dl div { display: grid; grid-template-columns: 70px 1fr; gap: 13px; padding: 11px 0; border-bottom: 1px solid var(--rule); }
.event-card dt { color: #65716a; font-size: 18.2px; font-weight: 800; }
.event-card dd { margin: 0; color: var(--ink); font-size: 22.1px; }
.event-card a { display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; font-weight: 800; }
.events-footer { margin-top: 5px; margin-bottom: 90px; padding-top: 38px; padding-bottom: 38px; background: #eef0e5; display: grid; grid-template-columns: 1fr 1fr auto; gap: 35px; align-items: center; }
.events-footer h2 { margin: 0; font: 500 49.4px/1.1 var(--serif); letter-spacing: -.04em; color: var(--forest); }
.events-footer h2 em { color: #607b17; }
.events-footer p { max-width: 400px; color: var(--muted); }
.page-events .page-hero { background: #f1f3f2; }
.page-events .page-hero:after { color: rgba(18, 58, 82, .04); }
.nursing-art img, .learning-photo img, .feature-image img, .iwtc-callout img, .open-house > img { object-fit: cover; }
.nursing-art img, .learning-photo img, .feature-image img, .iwtc-callout img { background: #e8eff0; }
.open-house > img { object-fit: cover; }
.mobile-menu-head { display: none; }
.menu-backdrop { display: none; }
@media (max-width: 980px) {
  .site-header { z-index: 101; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 12px; border: 1px solid #d9e0df; background: #fff; color: var(--forest); padding: 12px 15px; font: 700 20px/1 var(--sans); cursor: pointer; }
  .menu-toggle b { font-size: 23px; line-height: 1; }
  .menu-toggle:focus-visible, .menu-close:focus-visible, .main-nav a:focus-visible { outline: 3px solid #a9c94d; outline-offset: 3px; }
  .main-nav { position: fixed; display: flex; top: 0; right: 0; bottom: 0; left: auto; width: min(90vw, 400px); height: 100dvh; max-height: 100dvh; padding: 25px 29px 36px; overflow: auto; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; background: #fff; box-shadow: -20px 0 60px rgba(12, 42, 59, .18); z-index: 102; transform: translateX(105%); visibility: hidden; transition: transform .32s cubic-bezier(.2,.8,.2,1), visibility 0s linear .32s; }
  .main-nav.is-open { transform: translateX(0); visibility: visible; transition: transform .32s cubic-bezier(.2,.8,.2,1), visibility 0s; }
  .mobile-menu-head { display: flex; justify-content: space-between; align-items: center; padding: 8px 0 23px; margin-bottom: 9px; border-bottom: 1px solid #e4e8e5; color: #65716a; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
  .menu-close { width: 43px; height: 43px; border: 1px solid #d9e0df; background: #f7f8f4; color: var(--forest); font: 400 33px/1 Arial,sans-serif; cursor: pointer; }
  .main-nav > a:not(.nav-donate) { padding: 16px 4px; border-bottom: 1px solid #e7eae6; color: var(--forest); font-size: 20px; }
  .main-nav > a:not(.nav-donate):hover { color: #607b17; }
  .main-nav .nav-donate { justify-content: space-between; margin: 20px 0 12px; padding: 16px 18px; font-size: 18px; }
  .menu-backdrop.is-visible { display: block; position: fixed; inset: 0; z-index: 100; border: 0; background: rgba(10, 31, 43, .45); backdrop-filter: blur(2px); }
  body.menu-open { overflow: hidden; }
}
@media (max-width: 800px) {
  .brand-logo { width: 174px; height: 74px; }
  .footer-brand { width: 174px; height: 74px; flex-basis: 174px; }
  .event-grid { grid-template-columns: 1fr; gap: 16px; }
  .event-card-featured { grid-column: auto; display: block; }
  .event-card-featured .event-art { height: 260px; min-height: 0; }
  .events-intro { display: block; }
  .events-intro p { margin-top: 12px; }
  .events-footer { grid-template-columns: 1fr; gap: 14px; margin-bottom: 65px; }
}

.course-philosophy { max-width: 900px; margin: 24px 0 0; padding: 20px 24px; border-left: 3px solid var(--lime); background: #f4f3ed; color: var(--muted); line-height: 1.8; }
.involved-why { display: grid; grid-template-columns: 1fr 1.2fr auto; gap: 35px; align-items: center; margin-bottom: 80px; padding-top: 32px; padding-bottom: 32px; background: #f1f0e9; }
.involved-why h2, .contact-form-section h2 { margin: 8px 0; font: 500 44px/1.12 var(--serif); color: var(--forest); letter-spacing: -.035em; }
.involved-why h2 em, .contact-form-section h2 em { color: #819545; }
.involved-why p { color: var(--muted); line-height: 1.8; }
.giving-options { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.giving-options span { padding: 9px 12px; border: 1px solid #dfe3d8; color: var(--forest); font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.donate-more { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; padding-bottom: 85px; }
.donate-more article { padding: 24px; background: #f1f0e9; }
.donate-more article>span { color: #819545; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.donate-more h2 { color: var(--forest); font: 500 28px/1.2 var(--serif); }
.donate-more p { color: var(--muted); line-height: 1.7; }
.contact-form-section { display: grid; grid-template-columns: .8fr 1fr; gap: 10%; padding-top: 8px; padding-bottom: 90px; }
.contact-form-section>div>p { max-width: 420px; color: var(--muted); line-height: 1.7; }
.contact-form { display: grid; gap: 9px; }
.contact-form label { color: var(--forest); font-size: 14px; font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid #d9e0dc; background: #fff; padding: 13px 14px; color: var(--ink); font: 16px/1.5 var(--sans); }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { outline: 3px solid rgba(169,201,77,.35); border-color: #819545; }
.contact-form .button { justify-self: start; margin-top: 8px; border: 0; cursor: pointer; }
.contact-form small { color: var(--muted); }
@media(max-width:800px){.course-philosophy{padding:17px}.involved-why,.contact-form-section{grid-template-columns:1fr;gap:18px}.involved-why{margin-bottom:55px}.involved-why h2,.contact-form-section h2{font-size:38px}.donate-more{grid-template-columns:1fr;padding-bottom:60px}}
.brand-logo { object-position: 50% 42%; }
.brand-logo-white { object-fit: contain; object-position: center; mix-blend-mode: normal; filter: none; }
.site-footer { background: #123a52; }
.site-footer .footer-top { border-bottom-color: rgba(255,255,255,.16); }
.site-footer .footer-links > div > span { color: #c9db82; }
.site-footer .social-links a:hover, .site-footer .footer-links a:hover { color: #d8ed91; }
.site-footer .footer-cta { border-color: rgba(255,255,255,.36); }

/* A shared icon language adds personality without competing with the photography and illustrations. */
.pillar-symbol { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid rgba(18,58,82,.1); border-radius: 14px; background: rgba(255,255,255,.88); box-shadow: 0 7px 20px rgba(18,58,82,.07); font-size: 25px; }
.program-detail { transition: background-color .24s, padding .24s; }
.program-detail:hover { background: linear-gradient(90deg, rgba(169,201,77,.08), transparent 68%); }
.detail-art { position: relative; overflow: hidden; border: 1px solid rgba(18,58,82,.08); box-shadow: 0 12px 30px rgba(18,58,82,.07); transition: transform .25s, box-shadow .25s; }
.program-detail:hover .detail-art { transform: translateY(-4px) rotate(1deg); box-shadow: 0 18px 34px rgba(18,58,82,.12); }
.detail-art span { width: 64px; height: 64px; display: grid; place-items: center; margin: auto; border-radius: 22px; background: rgba(255,255,255,.78); color: var(--forest); font-size: 37px; box-shadow: 0 12px 24px rgba(18,58,82,.08); }
.involve-grid article, .contact-card, .donate-more article, .value-grid article { transition: transform .24s, box-shadow .24s, border-color .24s; }
.involve-grid article:hover, .contact-card:hover, .donate-more article:hover, .value-grid article:hover { transform: translateY(-5px); border-color: rgba(129,149,69,.42); box-shadow: 0 18px 38px rgba(18,58,82,.09); }
.involve-grid article::before, .contact-card::before, .donate-more article::before { width: 49px; height: 49px; display: grid; place-items: center; margin-bottom: 22px; border: 1px solid rgba(18,58,82,.09); border-radius: 16px; background: #f3f4ec; color: #607b17; font-size: 26px; line-height: 1; }
.involve-grid article:nth-child(1)::before { content: '♡'; }
.involve-grid article:nth-child(2)::before { content: '↗'; }
.involve-grid article:nth-child(3)::before { content: '✳'; }
.contact-card:nth-child(1)::before { content: '⌖'; }
.contact-card:nth-child(2)::before { content: '✉'; font-size: 22px; }
.contact-card:nth-child(3)::before { content: '☎'; font-size: 21px; }
.donate-more article:nth-child(1)::before { content: '↗'; }
.donate-more article:nth-child(2)::before { content: '♡'; }
.donate-more article:nth-child(3)::before { content: '✳'; }
.event-card { border-radius: 4px 22px 4px 4px; transition: transform .24s, box-shadow .24s; }
.event-card:hover { transform: translateY(-5px); box-shadow: 0 20px 44px rgba(18,58,82,.13); }
.event-card-meta > span:first-child::before { content: '✳'; margin-right: 8px; color: #a9c94d; font-size: 14px; }
.event-card dl div:nth-child(1) dt::before { content: '◷'; margin-right: 9px; color: #819545; }
.event-card dl div:nth-child(2) dt::before { content: '⌖'; margin-right: 9px; color: #819545; }
.event-card dl div:nth-child(3) dt::before { content: '✳'; margin-right: 9px; color: #819545; }
.event-status { border-radius: 30px; }
.payment-step, .course-fact, .founder-card { transition: transform .24s, box-shadow .24s; }
.founder-card:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(18,58,82,.1); }
.founder-photo { filter: saturate(.72); }
.donate-panel { position: relative; overflow: hidden; border-radius: 4px 24px 4px 4px; box-shadow: 0 18px 42px rgba(18,58,82,.1); }
.donate-icon { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid rgba(18,58,82,.1); border-radius: 20px; background: #f4f4ec; color: #607b17; font-size: 31px; }
.value-grid article { position: relative; padding: 18px; border: 1px solid #e0e5dd; background: rgba(255,255,255,.68); }
.value-grid article span { display: inline-grid; width: 34px; height: 34px; place-items: center; border-radius: 12px; background: #f0f2e7; color: #607b17; }
.course-fact { padding: 18px; border-radius: 3px 15px 3px 3px; background: #f7f7f2; }
.course-fact:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(18,58,82,.08); }
@media (prefers-reduced-motion: reduce) { .program-detail, .detail-art, .involve-grid article, .contact-card, .donate-more article, .value-grid article, .event-card, .payment-step, .course-fact, .founder-card { transition: none; } }

/* About page: a clear story arc, from the reason we exist to the people and values behind it. */
.page-about .about-hero { position: relative; overflow: hidden; background: linear-gradient(115deg,#f0eee6 0%,#f8f7f1 58%,#e6eadc 100%); }
.page-about .about-hero::before { content: 'ICH'; position: absolute; right: 7vw; top: 16px; font: 800 clamp(120px,23vw,300px)/1 var(--sans); letter-spacing: -.11em; color: rgba(18,58,82,.045); pointer-events: none; }
.page-about .about-hero > * { position: relative; z-index: 1; }
.page-about .about-hero .text-link { margin-top: 4px; }
.page-about .about-story { padding-top: 90px; padding-bottom: 100px; }
.page-about .story-side { align-self: stretch; padding: 28px; background: #e9ece3; border: 0; }
.page-about .story-side .section-kicker { color: #607b17; }
.page-about .story-symbol { display: grid; width: 86px; height: 86px; place-items: center; margin: 48px 0 22px; border: 1px solid rgba(18,58,82,.13); border-radius: 27px; background: rgba(255,255,255,.68); color: #607b17; font-size: 50px; }
.page-about .story-main h2 { margin-bottom: 20px; }
.page-about .mission-vision > div { padding: 19px 21px; background: #f2f2eb; border-left: 3px solid #a9c94d; }
.page-about .mission-vision > div:nth-child(2) { background: #edf1f0; border-left-color: #123a52; }
.page-about .about-work { padding-top: 86px; padding-bottom: 96px; background: #f0eee6; }
.page-about .about-work .section-head { margin-bottom: 36px; }
.about-work-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.about-work-grid article { min-height: 292px; padding: 23px 21px; border: 1px solid #e0e4da; background: rgba(255,255,255,.78); transition: transform .25s,box-shadow .25s,border-color .25s; }
.about-work-grid article:hover { transform: translateY(-6px); border-color: rgba(129,149,69,.42); box-shadow: 0 18px 38px rgba(18,58,82,.09); }
.about-work-icon { display: grid; width: 50px; height: 50px; place-items: center; margin-bottom: 25px; border: 1px solid rgba(18,58,82,.08); border-radius: 17px; background: #f1f3e9; color: #607b17; font-size: 28px; }
.about-work-grid article:nth-child(even) .about-work-icon { background: #eaf0f0; color: #123a52; }
.about-work-grid small { color: #73864b; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.about-work-grid h3 { margin: 12px 0 8px; color: #123a52; font: 500 25px/1.2 var(--serif); }
.about-work-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.page-about .about-founders { padding-top: 98px; padding-bottom: 100px; }
.page-about .about-founders .section-head { align-items: end; }
.page-about .about-founders .section-head > p { max-width: 410px; }
.page-about .about-founders .founder-grid { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }
.page-about .about-founders .founder-photo { height: 300px; }
.page-about .about-founders .founder-info { padding: 23px 21px 25px; }
.page-about .about-founders .founder-info h3 { font-size: 27px; }
.page-about .about-founders .founder-info p { font-size: 13px; line-height: 1.8; }
.page-about .values-section { padding-top: 86px; padding-bottom: 92px; background: #f0eee6; }
.page-about .values-section h2 { max-width: 620px; }
.page-about .values-intro { max-width: 700px; }
.page-about .value-grid { gap: 15px; margin-top: 30px; }
.page-about .value-grid article { min-height: 205px; padding: 21px; background: #fbfaf6; }
.about-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 74px; margin-bottom: 100px; padding-top: 44px; padding-bottom: 44px; background: #123a52; color: #fff; }
.about-cta .section-kicker { color: #c9db82; }
.about-cta h2 { margin: 0; color: #fff; font: 500 clamp(38px,4.4vw,58px)/1.12 var(--serif); letter-spacing: -.04em; }
.about-cta h2 em { color: #c9db82; }
.about-cta p { margin: 12px 0 0; color: #d8e1e2; }
.about-cta-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.about-cta .button-green { background: #c9db82; color: #123a52; }
.about-cta .button-green span { color: #123a52; }
.about-cta .text-link { color: white; border-color: rgba(255,255,255,.42); }
@media(max-width:900px) { .about-work-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .page-about .about-founders .founder-photo { height: 250px; } }
@media(max-width:700px) { .page-about .about-story { padding-top: 62px; padding-bottom: 65px; } .page-about .story-side { padding: 19px; } .page-about .story-symbol { margin: 25px 0 13px; } .about-work-grid { grid-template-columns: 1fr; } .about-work-grid article { min-height: 0; padding: 21px; } .about-work-icon { margin-bottom: 16px; } .page-about .about-founders { padding-top: 68px; padding-bottom: 70px; } .page-about .about-founders .founder-grid { grid-template-columns: 1fr; } .page-about .about-founders .founder-photo { height: 285px; } .page-about .values-section { padding-top: 65px; padding-bottom: 67px; } .page-about .value-grid article { min-height: 0; padding: 15px; } .about-cta { margin-top: 50px; margin-bottom: 65px; padding-top: 30px; padding-bottom: 30px; flex-direction: column; align-items: flex-start; } .about-cta-actions { gap: 14px; } }


/* Keep the desktop nav on one line between the mobile-menu breakpoint and wide screens. */
@media (min-width: 981px) and (max-width: 1240px) { .main-nav { gap: 24px; } }
@media (min-width: 981px) and (max-width: 1100px) { .main-nav { gap: 18px; font-size: 14.6px; } .main-nav .nav-donate { padding: 12px 15px; } }
