:root { --navy: #082b59; --navy-dark: #061d3d; --navy-deep: #04142b; --blue: #0879d9; --blue-bright: #1199ee; --charcoal: #383d42; --steel: #667085; --white: #fff; --soft: #f2f6f9; --line: #d9e2ea; --shadow: 0 20px 55px rgba(8,43,89,.13); --max-width: 1180px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0px; color: var(--charcoal); font-family: Inter, Arial, sans-serif; line-height: 1.7; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.container { width: min(calc(100% - 40px),var(--max-width)); margin-inline: auto; }
.skip-link { position: fixed; left: 18px; top: -90px; z-index: 3000; padding: 10px 14px; color: rgb(255, 255, 255); background: var(--blue); text-decoration: none; }
.skip-link:focus { top: 12px; }
.site-header { position: sticky; top: 0px; z-index: 1000; background: rgba(6, 29, 61, 0.97); border-bottom: 1px solid rgba(255, 255, 255, 0.1); backdrop-filter: blur(12px); }
.nav-wrap { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; color: rgb(255, 255, 255); text-decoration: none; }
.brand-icon { width: 52px; height: 52px; object-fit: contain; }
.brand-copy strong, .brand-copy small { display: block; }
.brand-copy strong { font-family: Montserrat, sans-serif; font-size: 0.92rem; line-height: 1.2; }
.brand-copy small { margin-top: 3px; color: rgb(143, 210, 255); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 23px; }
.main-nav a { color: rgb(230, 238, 246); font-size: 0.86rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.main-nav a:hover { color: rgb(143, 210, 255); }
.nav-login { padding: 10px 15px; border: 1px solid rgba(143, 210, 255, 0.75); }
.menu-toggle { display: none; border: 0px; background: transparent; cursor: pointer; padding: 8px; }
.menu-toggle span { display: block; width: 27px; height: 2px; margin: 5px 0px; background: rgb(255, 255, 255); }
.portal-hero { position: relative; overflow: hidden; color: rgb(255, 255, 255); background: radial-gradient(circle at 80% 20%,rgba(17,153,238,.3),transparent 28%),linear-gradient(118deg,var(--navy-deep),var(--navy) 60%,#0a4a88); padding: 110px 0px 100px; }
.portal-grid { position: absolute; inset: 0px; opacity: 0.12; background-image: linear-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.2) 1px, transparent 1px); background-size: 54px 54px; }
.hero-layout { position: relative; display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 70px; align-items: center; }
.eyebrow, .section-label, .mini-label { margin: 0px 0px 14px; color: var(--blue); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.eyebrow, .section-label.light, .mini-label { color: rgb(143, 210, 255); }
h1, h2, h3 { margin-top: 0px; font-family: Montserrat, sans-serif; line-height: 1.14; }
h1 { margin-bottom: 26px; font-size: clamp(2.75rem, 5.6vw, 5.2rem); letter-spacing: -0.048em; }
h2 { margin-bottom: 22px; font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -0.035em; }
h3 { margin-bottom: 11px; font-size: 1.25rem; }
p { margin-top: 0px; }
.hero-copy { max-width: 760px; color: rgb(225, 235, 245); font-size: 1.15rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.btn { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; border: 1px solid transparent; font-weight: 800; text-decoration: none; cursor: pointer; }
.btn-primary { color: rgb(255, 255, 255); background: var(--blue); }
.btn-primary:hover { background: var(--blue-bright); }
.btn-secondary { color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.55); }
.hero-note { margin-top: 45px; padding-left: 18px; border-left: 3px solid var(--blue-bright); font-weight: 700; }
.partner-highlight { padding: 38px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: var(--shadow); backdrop-filter: blur(8px); }
.partner-highlight h2 { font-size: 2rem; }
.partner-highlight p { color: rgb(213, 227, 240); }
.bridge { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.2); font-weight: 800; }
.bridge strong { color: rgb(143, 210, 255); }
.portal-facts { background: rgb(255, 255, 255); box-shadow: var(--shadow); }
.fact-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.fact-grid div { padding: 24px; border-right: 1px solid var(--line); }
.fact-grid div:last-child { border-right: 0px; }
.fact-grid strong, .fact-grid span { display: block; }
.fact-grid strong { color: var(--navy); font-family: Montserrat, sans-serif; }
.fact-grid span { color: var(--steel); font-size: 0.82rem; }
.section { padding: 105px 0px; }
.section-soft { background: var(--soft); }
.section-dark { color: rgb(255, 255, 255); background: var(--navy-deep); }
.section-heading { max-width: 830px; margin-bottom: 48px; }
.section-heading.centered { text-align: center; margin-inline: auto; }
.section-heading > p:last-child { color: var(--steel); }
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.path-card { position: relative; padding: 32px; border: 1px solid var(--line); background: rgb(255, 255, 255); box-shadow: rgba(8, 43, 89, 0.06) 0px 10px 35px; transition: transform 0.2s, border-color 0.2s; }
.path-card:hover { transform: translateY(-5px); border-color: rgb(154, 205, 241); }
.path-card.featured { color: rgb(255, 255, 255); background: linear-gradient(145deg,var(--navy),#0c5598); border-color: transparent; }
.path-card.featured p { color: rgb(216, 230, 243); }
.path-number { position: absolute; right: 22px; top: 20px; color: rgb(166, 180, 193); font-size: 0.72rem; font-weight: 800; }
.path-card.featured .path-number { color: rgb(143, 210, 255); }
.path-icon { font-size: 2rem; margin-bottom: 19px; }
.path-card p { color: var(--steel); }
.path-card a { color: var(--blue); font-weight: 800; text-decoration: none; }
.path-card.featured a { color: rgb(155, 216, 255); }
.partner-section-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 75px; align-items: center; }
.section-dark p { color: rgb(203, 217, 231); }
.lead-light { font-size: 1.12rem; }
.partner-values { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.partner-values span { padding: 9px 12px; border: 1px solid rgba(255, 255, 255, 0.18); color: rgb(220, 232, 243); font-size: 0.82rem; }
.partnership-model { display: grid; gap: 12px; }
.partnership-model div { display: grid; grid-template-columns: 55px 1fr; align-items: center; gap: 18px; padding: 18px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); }
.partnership-model strong { display: grid; place-items: center; width: 44px; height: 44px; color: var(--navy); background: rgb(143, 210, 255); font-family: Montserrat, sans-serif; }
.partnership-model span { font-weight: 700; }
.resource-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.resource-grid article { padding: 28px; background: rgb(255, 255, 255); border-top: 4px solid var(--blue); box-shadow: rgba(8, 43, 89, 0.08) 0px 10px 32px; }
.resource-grid article > span { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 20px; color: rgb(255, 255, 255); background: var(--navy); font-weight: 800; font-size: 0.72rem; }
.resource-grid p { color: var(--steel); }
.resource-grid button { padding: 0px; border: 0px; color: var(--blue); background: transparent; font-weight: 800; cursor: pointer; }
.process-layout { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 75px; align-items: start; }
.process-list { list-style: none; margin: 0px; padding: 0px; }
.process-list li { display: grid; grid-template-columns: 65px 1fr; gap: 20px; padding: 24px 0px; border-bottom: 1px solid var(--line); }
.process-list li:first-child { padding-top: 0px; }
.process-list > li > span { color: var(--blue); font-family: Montserrat, sans-serif; font-weight: 800; }
.process-list p { margin: 0px; color: var(--steel); }
.registration-section { color: rgb(255, 255, 255); background: linear-gradient(135deg,var(--navy-deep),var(--navy)); }
.registration-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 70px; align-items: start; }
.registration-grid > div > p:not(.section-label) { color: rgb(205, 219, 232); }
.privacy-note { margin-top: 30px; padding: 20px; border-left: 3px solid rgb(143, 210, 255); background: rgba(255, 255, 255, 0.06); }
.privacy-note strong, .privacy-note span { display: block; }
.privacy-note span { margin-top: 5px; color: rgb(205, 219, 232); font-size: 0.87rem; }
.interest-form { padding: 34px; color: var(--charcoal); background: rgb(255, 255, 255); box-shadow: var(--shadow); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.interest-form label { display: block; margin-bottom: 18px; color: var(--navy); font-size: 0.83rem; font-weight: 800; }
.interest-form input, .interest-form select, .interest-form textarea { width: 100%; margin-top: 7px; padding: 13px 14px; border: 1px solid rgb(201, 213, 223); outline: 0px; }
.interest-form input:focus, .interest-form select:focus, .interest-form textarea:focus { border-color: var(--blue); box-shadow: rgba(8, 121, 217, 0.12) 0px 0px 0px 3px; }
.consent { align-items: flex-start; gap: 10px; display: flex !important; }
.consent input { width: auto; margin-top: 5px; }
.consent span { font-weight: 500; color: var(--steel); }
.full { width: 100%; }
.form-status { margin: 13px 0px 0px; color: var(--blue); font-size: 0.82rem; font-weight: 700; }
.login-section { background: rgb(255, 255, 255); }
.login-card { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; padding: 48px; background: var(--soft); border: 1px solid var(--line); }
.login-placeholder { padding: 28px; background: rgb(255, 255, 255); }
.login-placeholder label { display: block; margin-bottom: 16px; color: var(--navy); font-size: 0.83rem; font-weight: 800; }
.login-placeholder input { width: 100%; margin-top: 7px; padding: 13px 14px; border: 1px solid var(--line); background: rgb(247, 249, 251); }
.btn-disabled { width: 100%; color: rgb(135, 148, 161); background: rgb(223, 229, 234); cursor: not-allowed; }
.site-footer { padding: 65px 0px 20px; color: rgb(204, 217, 229); background: rgb(3, 17, 38); }
.footer-grid { display: grid; grid-template-columns: 1.3fr 0.7fr 0.9fr; gap: 60px; }
.footer-brand img { width: 260px; max-height: 130px; object-fit: contain; object-position: left center; }
.footer-brand p { max-width: 490px; margin-top: 20px; }
.footer-brand strong { color: rgb(143, 210, 255); }
.site-footer h3 { color: rgb(255, 255, 255); font-size: 1rem; }
.site-footer a, .site-footer span { display: block; margin: 9px 0px; color: rgb(187, 203, 217); text-decoration: none; }
.footer-bottom { margin-top: 46px; padding-top: 20px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255, 255, 255, 0.11); font-size: 0.78rem; }
.footer-bottom span { margin: 0px; }
@media (max-width: 900px) {
  .menu-toggle { display: block; }
  .main-nav { position: absolute; top: 100%; left: 0px; right: 0px; display: none; flex-direction: column; align-items: stretch; gap: 0px; padding: 12px 20px 20px; background: var(--navy-dark); }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 12px 4px; }
  .hero-layout, .partner-section-grid, .process-layout, .registration-grid, .login-card { grid-template-columns: 1fr; }
  .path-grid { grid-template-columns: repeat(2, 1fr); }
  .resource-grid { grid-template-columns: repeat(2, 1fr); }
  .fact-grid { grid-template-columns: repeat(2, 1fr); }
  .fact-grid div:nth-child(2) { border-right: 0px; }
  .fact-grid div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px),var(--max-width)); }
  .portal-hero { padding: 85px 0px 75px; }
  .section { padding: 78px 0px; }
  .path-grid, .resource-grid, .field-row, .footer-grid, .fact-grid { grid-template-columns: 1fr; }
  .fact-grid div { border-right: 0px; border-bottom: 1px solid var(--line); }
  .partner-highlight, .interest-form, .login-card { padding: 26px; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}