.home-page, .home-login-page {
    --home-bg: #070c1e;
    --home-panel: #0c1730;
    --home-border: rgba(165, 190, 225, .14);
    --home-text: #e8eef8;
    --home-muted: #9aa8bf;
    --home-blue: #5b9cff;
    --home-teal: #73ead2;
    min-height: 100vh;
    color: var(--home-text);
    background: var(--home-bg);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}
.home-page *, .home-login-page * { box-sizing: border-box; }
.home-page a, .home-login-page a { color: inherit; text-decoration: none; }
.home-container { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.home-header { position: sticky; z-index: 20; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; padding: 10px max(24px, calc((100vw - 1160px) / 2)); border-bottom: 1px solid var(--home-border); background: rgba(7,12,30,.88); backdrop-filter: blur(16px); }
.home-brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.home-brand__mark { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(115,234,210,.45); border-radius: 12px; color: #071526; background: linear-gradient(140deg, var(--home-blue), var(--home-teal)); box-shadow: 0 8px 26px rgba(91,156,255,.2); font-size: 19px; font-weight: 900; }
.home-brand > span:last-child { display: grid; gap: 2px; }
.home-brand strong { color: #fff; font-size: 16px; letter-spacing: 1.5px; }
.home-brand small { color: #94a5bf; font-size: 8px; font-weight: 700; letter-spacing: 1.7px; }
.home-nav { display: flex; align-items: center; gap: clamp(14px, 2.4vw, 32px); }
.home-nav a, .home-footer nav a { color: #b7c2d4; font-size: 12px; transition: color .18s ease; }
.home-nav a:hover, .home-footer nav a:hover { color: var(--home-teal); }
.home-header__login { display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid rgba(91,156,255,.35); border-radius: 9px; color: #f4f8ff; background: rgba(28,55,98,.62); font-size: 11px; font-weight: 700; }
.home-header__login span { color: var(--home-teal); font-size: 16px; }
.home-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(350px, .9fr); align-items: center; min-height: 595px; padding: 70px 0 92px; overflow: hidden; background: radial-gradient(ellipse at 70% 48%, rgba(33,94,153,.22), transparent 39%), linear-gradient(180deg,#081225,#070c1e); }
.home-hero__grid { position: absolute; inset: 0; opacity: .14; background-image: radial-gradient(rgba(99,165,255,.7) .8px, transparent .8px); background-size: 19px 19px; mask-image: linear-gradient(90deg, transparent, #000 45%, #000); pointer-events: none; }
.home-hero__content, .home-hero__visual { position: relative; z-index: 1; }
.home-kicker, .home-eyebrow { color: var(--home-teal); font-size: 10px; font-weight: 800; letter-spacing: 1.8px; }
.home-kicker { display: inline-flex; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid rgba(115,234,210,.2); border-radius: 999px; background: rgba(34,107,111,.13); }
.home-kicker > span, .home-live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--home-teal); box-shadow: 0 0 13px var(--home-teal); }
.home-hero h1 { max-width: 720px; margin: 24px 0 18px; color: #fff; font-size: clamp(43px, 6vw, 76px); font-weight: 800; letter-spacing: -3.2px; line-height: 1.03; }
.home-hero h1 em, .home-section h2 em { color: transparent; background: linear-gradient(100deg,var(--home-blue),var(--home-teal)); background-clip: text; -webkit-background-clip: text; font-style: normal; }
.home-hero__content > p { max-width: 540px; margin: 0; color: #aebbd0; font-size: 16px; line-height: 1.8; }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 28px; }
.home-button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 46px; padding: 0 17px; border-radius: 9px; font-size: 12px; font-weight: 700; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.home-button:hover { transform: translateY(-2px); }
.home-button--primary { color: #071526 !important; background: linear-gradient(110deg,var(--home-blue),var(--home-teal)); box-shadow: 0 10px 28px rgba(65,145,194,.18); }
.home-button--quiet { border: 1px solid rgba(175,194,225,.2); color: #d7e0ef !important; background: rgba(255,255,255,.035); }
.home-hero__caption { display: flex; align-items: center; gap: 11px; margin-top: 48px; color: #8695ad; font-size: 8px; font-weight: 700; letter-spacing: 1.4px; }
.home-hero__caption i, .home-services-strip__inner i { width: 22px; height: 1px; background: linear-gradient(90deg,var(--home-blue),var(--home-teal)); }
.home-hero__visual { display: grid; min-height: 360px; place-items: center; }
.home-orbit { position: absolute; width: 340px; height: 340px; border: 1px solid rgba(91,156,255,.15); border-radius: 50%; }
.home-orbit--outer { width: 430px; height: 430px; border-style: dashed; opacity: .6; }
.home-orbit--inner { width: 280px; height: 280px; border-color: rgba(115,234,210,.16); }
.home-visual-glow { position: absolute; width: 230px; height: 230px; border-radius: 50%; background: rgba(41,135,180,.2); filter: blur(55px); }
.home-visual-card { position: relative; z-index: 2; width: min(100%, 360px); padding: 22px; border: 1px solid rgba(167,193,232,.23); border-radius: 18px; background: linear-gradient(145deg,rgba(17,34,65,.95),rgba(8,19,39,.94)); box-shadow: 0 28px 80px rgba(0,0,0,.4), inset 0 1px rgba(255,255,255,.06); transform: rotate(-3deg); }
.home-visual-card__top { display: flex; align-items: center; gap: 8px; color: #e8f0fc; font-size: 9px; font-weight: 800; letter-spacing: 1px; }
.home-visual-card__top > span:last-child { margin-left: auto; color: #8fa0b9; font-size: 8px; }
.home-route-line { display: flex; align-items: center; margin: 40px 6px 26px; }
.home-route-line b { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid rgba(115,234,210,.55); border-radius: 50%; color: var(--home-teal); background: rgba(115,234,210,.1); font-size: 10px; }
.home-route-line b:nth-of-type(2) { border-color: rgba(91,156,255,.65); color: #a6c8ff; background: rgba(91,156,255,.12); }
.home-route-line i { flex: 1; height: 1px; background: linear-gradient(90deg,rgba(115,234,210,.7),rgba(91,156,255,.5)); }
.home-visual-card__bottom { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; color: #9eacc1; font-size: 8px; text-align: center; }
.home-visual-tag { position: absolute; z-index: 3; display: flex; align-items: center; gap: 8px; padding: 10px 13px; border: 1px solid rgba(174,199,237,.18); border-radius: 10px; color: var(--home-teal); background: #101f39; box-shadow: 0 12px 30px #0005; font-size: 15px; }
.home-visual-tag span { color: #dce5f2; font-size: 9px; font-weight: 700; }
.home-visual-tag--one { top: 20%; right: 2%; }
.home-visual-tag--two { bottom: 17%; left: 0; }
.home-scroll { position: absolute; bottom: 20px; left: max(24px, calc((100vw - 1160px) / 2)); display: flex; align-items: center; gap: 9px; color: #8190a8 !important; font-size: 8px; font-weight: 700; letter-spacing: 1.4px; }
.home-scroll span { width: 1px; height: 25px; background: linear-gradient(var(--home-teal),transparent); }
.home-services-strip { border-top: 1px solid var(--home-border); border-bottom: 1px solid var(--home-border); background: #0a1429; }
.home-services-strip__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 13px 19px; min-height: 74px; }
.home-services-strip__inner > span { color: #71819a; font-size: 8px; font-weight: 800; letter-spacing: 1.6px; }
.home-services-strip__inner b { color: #c8d3e2; font-size: 10px; font-weight: 600; }
.home-section { padding: 88px 0; }
.home-about { border-bottom: 1px solid var(--home-border); background: #070c1e; }
.home-about__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }
.home-eyebrow { margin: 0 0 14px; }
.home-section h2 { margin: 0; color: #fff; font-size: clamp(28px,4vw,43px); letter-spacing: -1.6px; line-height: 1.17; }
.home-about__copy p { margin: 0 0 14px; color: #aab7ca; font-size: 13px; line-height: 1.85; }
.home-text-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 9px; color: var(--home-teal) !important; font-size: 11px; font-weight: 700; }
.home-text-link span { font-size: 16px; }
.home-capabilities { background: linear-gradient(180deg,#091226,#0a1429); }
.home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.home-section-heading > p { max-width: 340px; margin: 0; color: #95a4bb; font-size: 12px; line-height: 1.7; }
.home-capability-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.home-capability { position: relative; min-height: 225px; padding: 23px; border: 1px solid var(--home-border); border-radius: 13px; background: linear-gradient(145deg,rgba(18,34,63,.7),rgba(10,20,40,.8)); transition: transform .2s ease,border-color .2s ease; }
.home-capability:hover { transform: translateY(-4px); border-color: rgba(115,234,210,.38); }
.home-capability__number { position: absolute; top: 23px; right: 23px; color: #65748c; font: 10px Consolas,monospace; }
.home-capability__icon { display: grid; width: 39px; height: 39px; place-items: center; border: 1px solid rgba(115,234,210,.2); border-radius: 10px; color: var(--home-teal); background: rgba(115,234,210,.08); font-size: 19px; }
.home-capability h3 { margin: 22px 0 8px; color: #f3f6fb; font-size: 15px; }
.home-capability p { max-width: 300px; margin: 0; color: #93a2b8; font-size: 11px; line-height: 1.75; }
.home-capability__arrow { position: absolute; right: 22px; bottom: 18px; color: var(--home-teal); }
.home-portals { border-top: 1px solid var(--home-border); background: radial-gradient(ellipse at 50% 100%,rgba(36,88,133,.18),transparent 58%),#070c1e; }
.home-portal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.home-portal-card { padding: 21px; border: 1px solid var(--home-border); border-radius: 13px; background: rgba(13,25,48,.85); }
.home-portal-card__head { display: flex; align-items: center; justify-content: space-between; color: #8594ac; font-size: 8px; font-weight: 800; letter-spacing: 1.5px; }
.home-portal-card__icon { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid rgba(91,156,255,.25); border-radius: 10px; color: var(--home-blue); background: rgba(91,156,255,.08); font-size: 18px; }
.home-portal-card--partner .home-portal-card__icon { border-color: rgba(255,190,103,.25); color: #ffbe67; background: rgba(255,190,103,.08); }
.home-portal-card--field .home-portal-card__icon { border-color: rgba(115,234,210,.25); color: var(--home-teal); background: rgba(115,234,210,.08); }
.home-portal-card h3 { margin: 20px 0 7px; color: #fff; font-size: 17px; }
.home-portal-card p { min-height: 39px; margin: 0; color: #99a8bd; font-size: 11px; line-height: 1.7; }
.home-portal-card > a { display: flex; align-items: center; justify-content: space-between; margin-top: 20px; padding-top: 13px; border-top: 1px solid var(--home-border); color: #dce7f6; font-size: 11px; font-weight: 700; }
.home-portal-card > a span { color: var(--home-teal); font-size: 16px; }
.home-portal-card > a:hover { color: var(--home-teal); }
.home-portal-note { margin: 17px 0 0; color: #8493aa; font-size: 10px; line-height: 1.6; }
.home-footer { border-top: 1px solid var(--home-border); background: #050a17; }
.home-footer__main { display: grid; grid-template-columns: 1fr 1.4fr 1fr; align-items: center; gap: 26px; padding-top: 28px; padding-bottom: 28px; }
.home-footer__main > div p { margin: 0 0 7px; color: #97a5ba; font-size: 10px; }
.home-footer__main > div a { color: var(--home-teal); font-size: 10px; }
.home-footer nav { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 15px; }
.home-footer__bottom { display: flex; justify-content: space-between; gap: 15px; padding-top: 15px; padding-bottom: 15px; border-top: 1px solid var(--home-border); color: #728199; font-size: 9px; }
.home-footer__bottom strong { color: #aebbd0; }
.home-login-page { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: radial-gradient(ellipse at 50% 10%,rgba(36,101,153,.24),transparent 45%),#070c1e; }
.home-login-card { width: min(100%,470px); padding: clamp(24px,5vw,38px); border: 1px solid var(--home-border); border-radius: 18px; background: rgba(12,23,46,.96); box-shadow: 0 28px 90px rgba(0,0,0,.4); }
.home-login-card > .home-brand { margin-bottom: 30px; }
.home-login-card .home-eyebrow { margin-bottom: 8px; }
.home-login-card h1 { margin: 0; color: #fff; font-size: 29px; letter-spacing: -1px; }
.home-login-card__intro { margin: 10px 0 22px; color: #9aa8bf; font-size: 12px; line-height: 1.7; }
.home-login-form { display: grid; gap: 13px; }
.home-login-form label { display: grid; gap: 7px; color: #ccd6e5; font-size: 11px; font-weight: 700; }
.home-login-form input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid rgba(165,190,225,.2); border-radius: 8px; outline: none; color: #fff; background: #081327; }
.home-login-form input:focus { border-color: var(--home-teal); box-shadow: 0 0 0 3px rgba(115,234,210,.11); }
.home-login-form button { display: flex; align-items: center; justify-content: space-between; min-height: 45px; margin-top: 4px; padding: 0 14px; border: 0; border-radius: 8px; color: #071526; background: linear-gradient(110deg,var(--home-blue),var(--home-teal)); cursor: pointer; font-size: 12px; font-weight: 800; }
.home-login-form button span { font-size: 17px; }
.home-login-links { display: flex; flex-wrap: wrap; gap: 9px 17px; margin-top: 20px; }
.home-login-links a, .home-login-back { color: var(--home-teal) !important; font-size: 10px; font-weight: 700; }
.home-login-back { display: inline-block; margin-top: 24px; color: #99a8bd !important; }
.home-login-card .notice { margin: 0 0 14px; }
.home-login-card .notice.error { color: #ffd2d2; background: rgba(185,65,65,.18); }
.home-page a:focus-visible, .home-login-page a:focus-visible, .home-login-form button:focus-visible { outline: 2px solid var(--home-teal); outline-offset: 3px; }
@media (max-width: 850px) {
    .home-header { min-height: 68px; }
    .home-nav { gap: 13px; }
    .home-nav a { font-size: 10px; }
    .home-hero { grid-template-columns: minmax(0,1fr) minmax(250px,.8fr); min-height: 540px; }
    .home-hero__visual { transform: scale(.86); }
    .home-about__layout { gap: 36px; }
}
@media (max-width: 640px) {
    .home-container { width: min(100% - 32px, 500px); }
    .home-header { position: relative; flex-wrap: wrap; gap: 10px; padding: 12px 16px; }
    .home-brand__mark { width: 36px; height: 36px; }
    .home-nav { order: 3; width: 100%; justify-content: space-between; gap: 8px; padding: 8px 0 2px; }
    .home-nav a { font-size: 10px; }
    .home-header__login { margin-left: auto; padding: 8px 10px; font-size: 10px; }
    .home-hero { display: block; min-height: auto; padding: 68px 0 67px; }
    .home-hero h1 { font-size: clamp(42px,12vw,60px); letter-spacing: -2.2px; }
    .home-hero__content > p { font-size: 14px; }
    .home-hero__caption { margin-top: 30px; font-size: 7px; gap: 7px; }
    .home-hero__caption i { width: 13px; }
    .home-hero__visual { min-height: 290px; margin-top: 12px; transform: scale(.86); }
    .home-orbit--outer { width: 345px; height: 345px; }
    .home-orbit--inner { width: 230px; height: 230px; }
    .home-visual-card { width: min(90%,340px); }
    .home-visual-tag--one { right: 0; }
    .home-visual-tag--two { left: 0; }
    .home-scroll { left: 16px; }
    .home-services-strip__inner { justify-content: flex-start; min-height: auto; padding-top: 17px; padding-bottom: 17px; }
    .home-services-strip__inner > span { width: 100%; }
    .home-services-strip__inner b { font-size: 9px; }
    .home-services-strip__inner i { width: 12px; }
    .home-section { padding: 62px 0; }
    .home-about__layout, .home-capability-grid, .home-portal-grid { grid-template-columns: 1fr; gap: 13px; }
    .home-section-heading { align-items: flex-start; flex-direction: column; gap: 13px; margin-bottom: 22px; }
    .home-section-heading > p { max-width: none; }
    .home-capability { min-height: 190px; }
    .home-portal-card p { min-height: auto; }
    .home-footer__main { grid-template-columns: 1fr; gap: 18px; }
    .home-footer nav { justify-content: flex-start; }
    .home-footer__bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .home-page *, .home-login-page * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
