:root {
  --landing-navy:#071c29;
  --landing-navy-deep:#061722;
  --landing-mint:#89e4c4;
  --landing-amber:#f0b65a;
  --landing-ink:#132a39;
  --landing-muted:#617583;
  --landing-line:#d8e2e4;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--landing-ink); background:#fff; font:16px/1.6 Inter,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:3px solid var(--landing-amber); outline-offset:4px; }
.landing-container { width:min(1336px,calc(100% - 112px)); margin-inline:auto; }
.landing-notice { display:flex; align-items:center; justify-content:center; gap:10px; min-height:29px; padding:5px 18px; background:#0c2b39; color:#c2d7dd; text-align:center; font:500 10px/1.4 "IBM Plex Mono",monospace; letter-spacing:.07em; }
.landing-notice-dot { width:6px; height:6px; flex:none; border-radius:50%; background:var(--landing-mint); box-shadow:0 0 12px var(--landing-mint); }
.landing-nav { position:relative; z-index:5; background:var(--landing-navy); border-bottom:1px solid rgba(137,228,196,.17); color:#fff; }
.landing-nav-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:76px; }
.landing-brand { display:inline-flex; align-items:center; gap:9px; white-space:nowrap; }
.landing-brand-mark { width:31px; height:31px; color:var(--landing-mint); }
.landing-brand strong,.landing-footer-brand { font:700 23px/1 "Space Grotesk",sans-serif; letter-spacing:-.055em; }
.landing-brand strong span,.landing-footer-brand span { color:var(--landing-mint); }
.landing-nav-links { display:flex; align-items:center; gap:clamp(20px,2.4vw,39px); color:#c5d3d8; font-size:12px; font-weight:600; }
.landing-nav-links a { transition:color .18s,background .18s; }
.landing-nav-links a:hover { color:var(--landing-mint); }
.landing-nav-admin { display:inline-flex; align-items:center; gap:18px; min-height:37px; padding:8px 14px; border:1px solid rgba(137,228,196,.55); border-radius:5px; color:var(--landing-mint) !important; }
.landing-nav-admin:hover { background:rgba(137,228,196,.09); }
.landing-hero { position:relative; isolation:isolate; min-height:614px; overflow:hidden; background:var(--landing-navy); color:#fff; }
.landing-hero-art { position:absolute; z-index:-2; inset:0; pointer-events:none; }
.landing-hero-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 57%; }
.landing-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(7,28,41,.7) 0%,rgba(7,28,41,.43) 28%,rgba(7,28,41,.08) 57%,transparent 76%); pointer-events:none; }
.landing-hero-content { position:relative; display:flex; min-height:614px; align-items:center; justify-content:space-between; gap:36px; padding-block:67px 64px; }
.landing-hero-copy { width:min(655px,62%); }
.landing-eyebrow { display:flex; align-items:center; gap:13px; margin:0 0 19px; color:var(--landing-mint); font:600 11px/1.4 "IBM Plex Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }
.landing-eyebrow-mark { width:28px; height:1px; background:currentColor; }
.landing-hero h1,.landing-section h2 { margin:0; font-family:"Space Grotesk",sans-serif; font-weight:700; letter-spacing:-.065em; }
.landing-hero h1 { font-size:clamp(54px,5.5vw,83px); line-height:1.015; text-shadow:0 2px 18px rgba(0,0,0,.11); }
.landing-hero h1 em,.landing-section h2 em { color:var(--landing-mint); font-style:normal; }
.landing-lede { max-width:460px; margin:22px 0 27px; color:#d1dde1; font-size:15px; line-height:1.75; }
.landing-actions { display:flex; flex-wrap:wrap; gap:12px; }
.landing-button { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-width:160px; min-height:48px; padding:11px 18px; border:1px solid transparent; border-radius:5px; font-size:13px; font-weight:700; transition:transform .18s,background .18s,border-color .18s; }
.landing-button:hover { transform:translateY(-2px); }
.landing-button.amber { background:var(--landing-amber); color:#09232e; }
.landing-button.amber:hover { background:#ffc977; }
.landing-button.outline { border-color:rgba(217,235,235,.7); background:rgba(7,28,41,.35); color:#fff; }
.landing-button.outline:hover { border-color:var(--landing-mint); background:rgba(137,228,196,.13); }
.landing-invite { margin:18px 0 0; color:#b2c7cc; font-size:11px; }
.landing-hero-index { display:flex; align-items:center; gap:10px; align-self:flex-end; margin-bottom:2px; color:#c7d9da; font:500 10px "IBM Plex Mono",monospace; letter-spacing:.08em; white-space:nowrap; }
.landing-hero-index-line { width:72px; height:1px; background:rgba(199,217,218,.55); }
.landing-country-strip { background:#092631; border-top:1px solid rgba(137,228,196,.25); color:#fff; }
.landing-country-strip .landing-container { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:69px; }
.landing-country-strip span { color:var(--landing-mint); font:600 10px "IBM Plex Mono",monospace; letter-spacing:.13em; text-transform:uppercase; white-space:nowrap; }
.landing-country-strip ul { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:clamp(14px,3.4vw,60px); margin:0; padding:0; list-style:none; color:#d3e2e4; font-size:12px; font-weight:600; }
.landing-country-strip li:not(:last-child)::after { content:""; display:inline-block; width:3px; height:3px; margin-inline-start:clamp(14px,3.4vw,60px); vertical-align:middle; border-radius:50%; background:var(--landing-mint); opacity:.7; }
.landing-section { padding:110px 0; }
.landing-section h2 { font-size:clamp(39px,4.4vw,63px); line-height:1.08; }
.landing-portals { background:#fff; }
.landing-portals-layout { display:grid; grid-template-columns:minmax(270px,.9fr) minmax(0,1.15fr); gap:clamp(55px,8vw,135px); }
.landing-portals-intro { padding-top:11px; }
.landing-portals-intro .landing-eyebrow { color:#278d76; }
.landing-portals-intro h2 em { color:#248b76; }
.landing-portals-intro > p:last-child { max-width:375px; margin:23px 0 0; color:var(--landing-muted); font-size:15px; line-height:1.75; }
.landing-portal-list { border-top:1px solid #a7b8bf; }
.landing-portal-row { display:grid; grid-template-columns:64px minmax(0,1fr) 32px; gap:18px; align-items:start; min-height:167px; padding:25px 0 23px; border-bottom:1px solid #a7b8bf; transition:background .2s,padding .2s; }
.landing-portal-row:hover { background:#f4fbf8; padding-inline:14px; }
.landing-portal-number { color:#4dad98; font:500 45px/.98 "Space Grotesk",sans-serif; letter-spacing:-.07em; }
.landing-portal-content { display:flex; flex-direction:column; align-items:flex-start; }
.landing-portal-role { margin:0 0 8px; color:#328d7a; font:600 10px "IBM Plex Mono",monospace; letter-spacing:.15em; text-transform:uppercase; }
.landing-portal-content strong { color:var(--landing-ink); font:700 23px/1.18 "Space Grotesk",sans-serif; letter-spacing:-.035em; }
.landing-portal-content > span:last-child { max-width:400px; margin-top:9px; color:var(--landing-muted); font-size:13px; line-height:1.65; }
.landing-portal-arrow { justify-self:end; color:#c1802a; font:500 28px/1 "Space Grotesk",sans-serif; transition:transform .2s; }
.landing-portal-row:hover .landing-portal-arrow { transform:translate(3px,-3px); }
.landing-why { position:relative; overflow:hidden; background:var(--landing-navy); color:#fff; }
.landing-why::after { content:""; position:absolute; top:-95px; right:-155px; width:480px; height:480px; border:1px solid rgba(137,228,196,.12); border-radius:50%; box-shadow:0 0 0 85px rgba(137,228,196,.023),0 0 0 168px rgba(137,228,196,.018); pointer-events:none; }
.landing-why-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(60px,9vw,150px); }
.landing-why-intro > p:not(.landing-eyebrow) { max-width:440px; margin:21px 0 26px; color:#bdcfd4; font-size:15px; line-height:1.75; }
.landing-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:43px; min-height:43px; padding:10px 14px; border-radius:4px; background:var(--landing-mint); color:#0b2c37; font-size:13px; font-weight:700; }
.landing-text-link:hover { background:#b0f0da; }
.landing-steps { display:grid; gap:0; align-self:center; margin:0; padding:2px 0 2px 3px; list-style:none; border-inline-start:1px solid rgba(137,228,196,.47); }
.landing-steps li { position:relative; display:grid; grid-template-columns:57px minmax(0,1fr); gap:19px; min-height:124px; padding:0 0 20px 31px; }
.landing-steps li:last-child { min-height:0; padding-bottom:0; }
.landing-steps li::before { content:""; position:absolute; top:2px; inset-inline-start:-14px; width:26px; height:26px; border:1px solid var(--landing-amber); border-radius:50%; background:var(--landing-navy); box-shadow:inset 0 0 0 8px var(--landing-navy),inset 0 0 0 11px var(--landing-amber); }
.landing-step-number { color:var(--landing-amber); font:600 15px "IBM Plex Mono",monospace; }
.landing-steps h3 { margin:0 0 7px; color:#fff; font:600 19px/1.25 "Space Grotesk",sans-serif; letter-spacing:-.02em; }
.landing-steps p { max-width:400px; margin:0; color:#bbccd0; font-size:13px; line-height:1.65; }
.landing-footer { padding:28px 0; border-top:1px solid rgba(137,228,196,.15); background:#061722; color:#a6bec6; font-size:12px; }
.landing-footer .landing-container { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.landing-footer-brand { color:#fff; font-size:20px; }
.landing-footer a { color:#fff; font-weight:700; }
.landing-footer a:hover { color:var(--landing-mint); }
@media(max-width:1100px) {
  .landing-container { width:min(100% - 64px,1336px); }
  .landing-hero-copy { width:min(600px,67%); }
  .landing-hero h1 { font-size:clamp(50px,6vw,74px); }
  .landing-portals-layout { gap:50px; }
}
@media(max-width:760px) {
  .landing-container { width:min(100% - 40px,1336px); }
  .landing-nav-inner { min-height:0; flex-direction:column; align-items:flex-start; gap:15px; padding-block:17px; }
  .landing-nav-links { width:100%; justify-content:space-between; gap:12px; font-size:11px; }
  .landing-nav-admin { min-height:32px; padding:6px 9px; }
  .landing-hero,.landing-hero-content { min-height:620px; }
  .landing-hero-art img { object-position:68% center; }
  .landing-hero::before { background:linear-gradient(90deg,rgba(7,28,41,.92) 0%,rgba(7,28,41,.78) 45%,rgba(7,28,41,.22) 100%); }
  .landing-hero-content { align-items:flex-start; padding-block:72px 40px; }
  .landing-hero-copy { width:min(570px,100%); }
  .landing-hero-index { display:none; }
  .landing-country-strip .landing-container { align-items:flex-start; flex-direction:column; justify-content:center; gap:8px; min-height:0; padding-block:20px; }
  .landing-country-strip ul { justify-content:flex-start; gap:10px 20px; }
  .landing-country-strip li:not(:last-child)::after { margin-inline-start:20px; }
  .landing-section { padding-block:76px; }
  .landing-portals-layout,.landing-why-grid { grid-template-columns:1fr; gap:37px; }
  .landing-portals-intro h2 br:nth-of-type(2) { display:none; }
  .landing-portals-intro > p:last-child { max-width:550px; }
  .landing-portal-row { min-height:145px; }
  .landing-steps { margin-inline-start:15px; }
}
@media(max-width:480px) {
  .landing-container { width:calc(100% - 32px); }
  .landing-notice { gap:7px; font-size:8px; }
  .landing-nav-inner { gap:13px; }
  .landing-nav-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 15px; }
  .landing-nav-admin { justify-self:start; }
  .landing-hero,.landing-hero-content { min-height:638px; }
  .landing-hero-art img { object-position:68% center; }
  .landing-hero::before { background:linear-gradient(90deg,rgba(7,28,41,.96) 0%,rgba(7,28,41,.82) 55%,rgba(7,28,41,.4) 100%); }
  .landing-hero-content { padding-block:58px 42px; }
  .landing-hero h1 { font-size:clamp(42px,12vw,57px); }
  .landing-hero h1 br { display:none; }
  .landing-lede { max-width:350px; font-size:14px; }
  .landing-actions { gap:9px; }
  .landing-button { min-width:0; gap:14px; padding-inline:13px; font-size:12px; }
  .landing-section h2 { font-size:clamp(38px,10vw,52px); }
  .landing-portal-row { grid-template-columns:42px minmax(0,1fr) 22px; gap:12px; padding-block:23px; }
  .landing-portal-number { font-size:31px; }
  .landing-portal-content strong { font-size:19px; }
  .landing-portal-content > span:last-child { font-size:12px; }
  .landing-portal-arrow { font-size:22px; }
  .landing-steps li { grid-template-columns:30px minmax(0,1fr); gap:10px; padding-inline-start:24px; }
  .landing-steps h3 { font-size:17px; }
  .landing-footer .landing-container { align-items:flex-start; flex-direction:column; gap:10px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .landing-button,.landing-nav-links a,.landing-portal-row,.landing-portal-arrow { transition:none; } }
