:root{
  --surface:#fff;
  --background:#f5faff;
  --surface-soft:#f5f9fd;
  --surface-low:#edf4fb;
  --border:#d3e1ed;
  --text:#0b243f;
  --muted:#526f89;
  --primary:#005ab6;
  --primary-hover:#0472e3;
  --navy:#0b2948;
  --success:#087653;
  --warning:#84520b;
  --danger:#9d2934;
  --shadow:0 18px 48px rgba(11,41,72,.08);
  --shadow-soft:0 7px 24px rgba(11,41,72,.07);
  --radius:16px;
  --container:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--background)}
body{margin:0;min-height:100vh;background:var(--background);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{max-width:100%;display:block}
.landing-container{width:min(var(--container),calc(100% - 64px));margin:0 auto}
.landing-header{position:sticky;z-index:100;top:0;border-bottom:1px solid var(--border);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);box-shadow:0 4px 18px rgba(11,41,72,.04)}
.landing-header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.landing-brand{display:inline-flex;align-items:center;gap:12px;color:var(--navy);font-weight:800;font-size:18px;white-space:nowrap}
.landing-brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(145deg,var(--primary),#1385ed);box-shadow:0 8px 20px rgba(0,90,182,.22)}
.landing-brand-logo{display:none;height:34px;width:auto}
.landing-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:650;color:var(--muted)}
.landing-nav a{position:relative;padding:28px 0 24px;transition:.2s ease}
.landing-nav a:hover,.landing-nav a.active{color:var(--primary)}
.landing-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--primary)}
.landing-header-actions{display:flex;align-items:center;gap:10px}
.landing-menu-button{display:none;width:42px;height:42px;border:0;border-radius:50%;color:var(--primary);background:#eaf4ff;cursor:pointer}
.landing-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 22px;border:1px solid transparent;border-radius:10px;font-weight:750;font-size:13px;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.landing-button:hover{transform:translateY(-2px)}
.landing-button.primary{color:#fff;background:var(--primary);box-shadow:0 9px 20px rgba(0,90,182,.18)}
.landing-button.primary:hover{background:var(--primary-hover);box-shadow:0 12px 26px rgba(0,90,182,.24)}
.landing-button.secondary{color:var(--primary);border-color:#abcdf0;background:#fff}
.landing-button.secondary:hover{background:#eaf4ff;border-color:var(--primary)}
.landing-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);align-items:center;gap:64px;padding:104px 0 112px}
.landing-hero-copy{display:flex;flex-direction:column;gap:24px}
.landing-eyebrow{display:inline-flex;width:max-content;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;color:var(--primary);background:#eaf4ff;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.landing-hero h1{max-width:670px;margin:0;color:var(--navy);font-size:clamp(38px,4vw,56px);line-height:1.08;letter-spacing:-.035em;font-weight:850}
.landing-hero p{max-width:650px;margin:0;color:var(--muted);font-size:16px;line-height:1.72}
.landing-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:8px}
.landing-hero-visual{position:relative;height:590px;padding:15px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 28px 64px rgba(11,41,72,.16);overflow:hidden}
.landing-hero-shot{position:absolute;left:15px;right:15px;height:calc(50% - 22px);overflow:hidden;border:1px solid #cad9e7;border-radius:12px;background:#dfe9f1;box-shadow:var(--shadow-soft)}
.landing-hero-shot:first-child{top:15px}
.landing-hero-shot:last-child{bottom:15px}
.landing-hero-shot img{width:100%;height:100%;object-fit:cover;object-position:top center}
.landing-mobile-hero{display:none}
.landing-section{padding:102px 0}
.landing-section.white{background:#fff}
.landing-section-heading{max-width:780px;margin:0 auto 52px;text-align:center}
.landing-section-heading h2{margin:0 0 14px;color:var(--navy);font-size:30px;line-height:1.25;letter-spacing:-.018em}
.landing-section-heading p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.landing-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.landing-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.landing-card{min-width:0;padding:28px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(11,41,72,.04);transition:.24s ease}
.landing-card:hover{transform:translateY(-4px);border-color:#afcce8;box-shadow:0 14px 34px rgba(11,41,72,.10)}
.landing-card-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:17px;border-radius:11px;color:var(--primary);background:#eaf4ff;font-size:20px}
.landing-card h3{margin:0 0 9px;color:var(--navy);font-size:16px;line-height:1.35}
.landing-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
.landing-program .landing-card{min-height:188px}
.landing-features .landing-card{min-height:206px}
.landing-spatial{padding:44px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}
.landing-spatial-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:54px}
.landing-device{position:relative;padding:13px 13px 30px;border-radius:16px 16px 8px 8px;background:linear-gradient(160deg,#0a1d33,#102f51);box-shadow:0 24px 52px rgba(11,41,72,.22)}
.landing-device:after{content:"";position:absolute;left:42px;right:42px;bottom:-16px;height:17px;border-radius:0 0 50% 50%;background:#ccd7df;box-shadow:0 7px 14px rgba(11,41,72,.14)}
.landing-device img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top;border-radius:9px;border:1px solid rgba(255,255,255,.2)}
.landing-spatial-copy h2{margin:0 0 16px;color:var(--navy);font-size:28px}
.landing-spatial-copy p{margin:0 0 24px;color:var(--muted);font-size:14px;line-height:1.75}
.landing-compact{padding-top:72px;padding-bottom:72px}
.landing-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.landing-mini-card{padding:25px;border:1px solid var(--border);border-radius:13px;background:#fff}
.landing-mini-card h3{margin:0 0 10px;color:var(--navy);font-size:14px}
.landing-mini-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}
.landing-ecosystem{padding-top:64px;text-align:center}
.landing-ecosystem h3{margin:0 0 25px;color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.landing-ecosystem-logos{display:flex;justify-content:center;gap:52px;flex-wrap:wrap;color:var(--navy);font-size:12px;font-weight:800}
.landing-cta{padding:110px 0;text-align:center;background:#fff}
.landing-cta-inner{max-width:720px;margin:auto}
.landing-cta h2{margin:0 0 15px;color:var(--navy);font-size:30px}
.landing-cta p{margin:0 0 27px;color:var(--muted);font-size:14px;line-height:1.7}
.landing-cta .landing-actions{justify-content:center}
.landing-footer{padding:50px 0 34px;border-top:1px solid var(--border);background:#fff}
.landing-footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(170px,.55fr) minmax(170px,.55fr);gap:70px}
.landing-footer-brand p{max-width:560px;margin:18px 0 20px;color:var(--muted);font-size:11px;line-height:1.65}
.landing-footer small{color:#7b91a6;font-size:9px}
.landing-footer h4{margin:5px 0 18px;color:var(--navy);font-size:12px}
.landing-footer-links{display:grid;gap:12px;color:var(--muted);font-size:11px}
.landing-footer-links a:hover{color:var(--primary)}
.landing-bottom-nav{display:none}
@media(max-width:980px){
  .landing-container{width:min(var(--container),calc(100% - 38px))}
  .landing-nav{gap:17px}
  .landing-header-actions>.landing-button{display:none}
  .landing-hero{grid-template-columns:1fr 1fr;gap:34px;padding:74px 0 82px}
  .landing-hero h1{font-size:38px}
  .landing-hero-visual{height:480px}
  .landing-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .landing-mini-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  body{padding-bottom:72px}
  .landing-container{width:calc(100% - 28px)}
  .landing-header-inner{height:64px}
  .landing-brand-mark,.landing-brand>span:last-child{display:none}
  .landing-brand-logo{display:block;height:30px}
  .landing-nav{position:fixed;z-index:110;top:64px;left:14px;right:14px;display:grid;gap:2px;padding:10px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(11,41,72,.16);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s ease}
  .landing-nav.open{opacity:1;visibility:visible;transform:none}
  .landing-nav a{padding:12px 14px;border-radius:9px}
  .landing-nav a.active:after{display:none}
  .landing-nav a.active{background:#eaf4ff}
  .landing-menu-button{display:grid;place-items:center}
  .landing-hero{display:block;padding:28px 0 36px}
  .landing-eyebrow{display:none}
  .landing-hero-copy{gap:14px}
  .landing-hero h1{font-size:21px;line-height:1.35;letter-spacing:-.018em}
  .landing-hero p{font-size:13px;line-height:1.6}
  .landing-actions{display:grid;gap:9px;padding-top:4px}
  .landing-button{width:100%;min-height:44px;font-size:11px}
  .landing-hero-visual{display:none}
  .landing-mobile-hero{display:block;margin-top:24px;height:210px;overflow:hidden;border-radius:13px;background:#e8eff6;box-shadow:var(--shadow-soft)}
  .landing-mobile-hero img{width:100%;height:100%;object-fit:cover}
  .landing-section{padding:36px 0}
  .landing-section-heading{margin-bottom:24px;text-align:left}
  .landing-section-heading h2{font-size:19px;line-height:1.35;text-align:center}
  .landing-section-heading p{font-size:12px;line-height:1.6;text-align:center}
  .landing-grid-3,.landing-grid-2{grid-template-columns:1fr;gap:11px}
  .landing-program{background:#fff}
  .landing-program .landing-card{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:13px;min-height:0;padding:14px;background:var(--surface-soft);border-radius:12px}
  .landing-program .landing-card-icon{grid-row:1/3;width:40px;height:40px;margin:0;border-radius:50%;font-size:15px}
  .landing-program .landing-card h3{margin:1px 0 3px;font-size:11px}
  .landing-program .landing-card p{font-size:10px;line-height:1.5}
  .landing-features .landing-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .landing-features .landing-card{min-height:105px;padding:14px;box-shadow:var(--shadow-soft)}
  .landing-features .landing-card-icon{width:30px;height:30px;margin:0 0 10px;background:transparent;font-size:17px}
  .landing-features .landing-card h3{font-size:10px;margin:0}
  .landing-features .landing-card p{display:none}
  .landing-spatial{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  .landing-spatial-grid{display:flex;flex-direction:column-reverse;gap:20px}
  .landing-spatial-copy h2{font-size:19px;margin-bottom:10px}
  .landing-spatial-copy p{font-size:11px;line-height:1.62;margin-bottom:18px}
  .landing-device{width:100%;padding:0;border-radius:12px;background:#dff5e8;box-shadow:none}
  .landing-device:after{display:none}
  .landing-device img{aspect-ratio:16/9;border-radius:12px;border:0;opacity:.82}
  .landing-compact{padding-top:32px;padding-bottom:32px}
  .landing-grid-2 .landing-card{padding:18px}
  .landing-mini-grid{gap:11px}
  .landing-mini-card{padding:17px}
  .landing-ecosystem{padding-top:34px}
  .landing-ecosystem-logos{gap:18px;font-size:9px}
  .landing-cta{padding:48px 0}
  .landing-cta h2{font-size:21px}
  .landing-cta p{font-size:12px}
  .landing-footer{padding:36px 0}
  .landing-footer-grid{grid-template-columns:1fr;gap:28px}
  .landing-footer-grid>div:not(:first-child){display:none}
  .landing-bottom-nav{position:fixed;z-index:99;left:0;right:0;bottom:0;height:68px;display:grid;grid-template-columns:repeat(5,1fr);padding:5px 5px calc(5px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 -8px 24px rgba(11,41,72,.08)}
  .landing-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:9px;color:var(--muted);font-size:8px;font-weight:650}
  .landing-bottom-nav a i{font-size:15px}
  .landing-bottom-nav a.active{color:var(--primary)}
}
@media(max-width:380px){
  .landing-features .landing-grid-3{grid-template-columns:1fr 1fr}
  .landing-card{padding:16px}
}

/* Local icon fallback: no CDN or font dependency. */
i[class*="fa-"]{display:inline-grid;place-items:center;font-style:normal;font-family:"Segoe UI Symbol","Arial Unicode MS",sans-serif;line-height:1}
i.fa-water:before{content:"≋"} i.fa-bars:before{content:"☰"} i.fa-xmark:before{content:"×"}
i.fa-droplet:before{content:"●"} i.fa-arrow-right:before{content:"→"} i.fa-map:before{content:"▧"}
i.fa-graduation-cap:before{content:"⌂"} i.fa-shield-heart:before{content:"♡"} i.fa-road:before{content:"↕"}
i.fa-bolt:before{content:"ϟ"} i.fa-hands-praying:before{content:"◇"} i.fa-wheat-awn:before{content:"♧"}
i.fa-people-group:before{content:"♟"} i.fa-hand-holding-heart:before{content:"◉"} i.fa-scale-balanced:before{content:"⚖"}
i.fa-table-columns:before{content:"⊞"} i.fa-database:before{content:"≡"} i.fa-list-check:before{content:"✓"}
i.fa-chart-line:before{content:"↗"} i.fa-arrows-to-circle:before{content:"⌘"} i.fa-compass:before{content:"⊙"}
i.fa-vector-square:before{content:"□"} i.fa-chart-column:before{content:"▥"} i.fa-house:before{content:"⌂"}
i.fa-user:before{content:"♙"}
