/* Public identity: Air Force blue, open skies, and a welcoming clinical setting.
   The abstract flight lines are decorative; they are not an institutional crest. */
.public-site {
    --green: #1767ad;
    --green-dark: #154c80;
    --navy: #163e68;
    --ink: #203e5c;
    --muted: #536d85;
    --cream: #fbfdff;
    --line: #d9e6f2;
    --mint: #eaf3fc;
    background: var(--cream);
    color: var(--ink);
}
.public-site :is(a, button):focus-visible {
    outline-color: #1767ad;
}
.public-site .profile-notice {
    background: #eaf3fc;
    color: #345c80;
    border-top: 3px solid #1767ad;
    font-size: 11px;
}
.public-site .status-dot { background: #2680bc; }
.public-site .public-header {
    background: #fbfdfff5;
    border-color: var(--line);
    backdrop-filter: blur(14px);
}
.public-site .brand { color: var(--navy); }
.public-site .brand-mark {
    background: linear-gradient(145deg, #3189cc, #195b94);
    border-radius: 14px 14px 14px 5px;
}
.public-site .button { border-radius: 10px; }
.public-site .button-outline { border-color: #b9cfe3; }
.public-site .button-light:hover { background: #eaf3fc; }
.public-site :is(h1, h2) {
    font-family: var(--font);
    color: var(--navy);
    font-weight: 550;
    letter-spacing: -1.5px;
}
.public-site h2 { font-size: clamp(30px, 3.1vw, 42px); }
.public-site :is(.hero em, h2 em) {
    color: #2679b8;
    font-style: normal;
    font-weight: inherit;
}
.public-site .hero {
    position: relative;
    isolation: isolate;
}
.public-site .hero::before {
    content: '';
    position: absolute;
    inset: 0 -20px;
    z-index: -1;
    background: radial-gradient(ellipse at 85% 30%, #dceeff 0, #eff7ff80 38%, transparent 68%);
    border-radius: 0 0 100px 0;
    pointer-events: none;
}
.public-site .hero h1 {
    color: var(--navy);
    font-size: clamp(42px, 4.2vw, 60px);
    line-height: 1.12;
    font-weight: 550;
}
.public-site .hero-copy > p { color: var(--muted); }
.public-site .hero-caption { color: #536d85; font-size: 11px; }
.public-site .hero-visual > img {
    border-radius: 130px 24px 24px 24px;
    box-shadow: 0 20px 55px #24548012;
}
.public-site .image-label {
    background: #fffffff2;
    color: #284f73;
    letter-spacing: 1px;
    font-size: 9px;
}
.public-site .hero-float {
    border-color: #dceaf6;
    border-radius: 16px;
    box-shadow: 0 14px 40px #24548014;
}
.public-site .float-icon { background: #eaf3fc; }
.public-site .hero-float small { color: #536d85; font-size: 10px; }
.public-site .image-disclaimer { background: #fffffff0; color: #415f7b; }
.public-site .overview-strip { background: #edf5fd; border-color: var(--line); }
.public-site .overview-grid > p { color: #536d85; }
.public-site .overview-grid > p strong { color: #234f78; }
.public-site .overview-grid > div { border-color: #cfdfef; }
.public-site .overview-grid > div > strong { color: #205b90; }
.public-site .overview-grid strong span,
.public-site .overview-grid small { color: #536d85; }
.public-site .strip-note { color: #416a8f; }
.public-site .about-text { color: #536d85; }
.public-site .about-text .lead { color: #2e5375; }
.public-site .about-sign { color: #326c9e; }
.public-site .units-section { background: #f0f6fc; }
.public-site .section-heading > p { color: #536d85; }
.public-site .unit-card {
    background: #fff;
    border-color: #d9e6f2;
    border-radius: 16px;
}
.public-site .unit-card:hover { box-shadow: 0 12px 28px #24548012; }
.public-site .unit-icon { background: #eaf3fc; color: #2679b8; }
.public-site .unit-code { color: #536d85; }
.public-site .unit-card > p { color: #536d85; }
.public-site .unit-card-bottom { border-color: #d9e6f2; color: #536d85; }
.public-site .unit-card-bottom a { border-color: #c9dff1; color: #1767ad; }
.public-site .commitment-panel {
    background: linear-gradient(145deg, #286fa8, #164778);
    border-radius: 24px 70px 24px 24px;
}
.public-site .commitment-panel > .eyebrow { color: #d8edff; }
.public-site .commitment-panel h2 { color: #fff; font-size: clamp(32px, 3.3vw, 46px); }
.public-site .commitment-panel em { color: #bce1ff; }
.public-site .commitment-wings {
    position: absolute;
    top: 28px;
    left: 40px;
    width: 160px;
    height: 60px;
    color: #d6ecff;
    opacity: .65;
}
.public-site .orb { border-color: #8dc9f5; opacity: .25; }
.public-site .commitment-panel-bottom { border-color: #ffffff42; color: #e3f2ff; }
.public-site .commitment-panel-bottom .status-dot { background: #bce1ff; }
.public-site .value-row > span { color: #47749b; }
.public-site .value-row p { color: #536d85; }
.public-site .portal-band { background: #e9f3fd; border-color: #d4e5f5; }
.public-site .portal-symbol { background: #d8eafb; color: #236fa9; }
.public-site .portal-inner p { color: #536d85; }
.public-site .contact-grid > div > p { color: #536d85; }
.public-site .contact-item > .icon { color: #2679b8; }
.public-site .contact-item p { color: #536d85; }
.public-site .contact-link { color: #1767ad; font-size: 12px; }
.public-site .contact-item a:hover { color: #154c80; text-decoration: underline; }
.public-site .public-footer { background: #edf5fc; border-color: #d9e6f2; }
.public-site .footer-top p { color: #536d85; }
.public-site .footer-top .text-link { color: #32648f; }
.public-site .footer-bottom { color: #536d85; border-color: #d3e2f0; }
@media (max-width: 850px) {
    .public-site .public-nav { background: #fbfdff; border-color: #d9e6f2; }
}
@media (max-width: 600px) {
    .public-site .nav-row { gap: 10px; }
    .public-site .nav-login { padding: 8px 10px; gap: 8px; }
    .public-site .hero h1 { font-size: 42px; }
    .public-site .hero::before { inset: 0; border-radius: 0 0 60px 0; }
    .public-site .hero-visual > img { border-radius: 80px 20px 20px 20px; }
    .public-site .image-label { font-size: 8px; padding: 8px 10px; right: 12px; }
    .public-site .hero-float { left: -5px; padding: 14px; }
    .public-site .commitment-panel { border-radius: 20px 55px 20px 20px; }
    .public-site .commitment-wings { left: 30px; }
}
@media (max-width: 360px) {
    .public-site .brand { font-size: 17px; }
    .public-site .nav-login .icon { display: none; }
    .public-site .nav-login { gap: 0; padding-inline: 8px; }
    .public-site .hero h1 { font-size: 38px; }
    .public-site .hero-actions { flex-wrap: wrap; gap: 18px; }
}
