:root{
  --blue:#275B84; --blue-d:#1B415F; --blue-l:#4A81AC;
  --orange:#FF4F00; --orange-d:#ED5009; --green:#85C673;
  --ink:#14212B; --body:#3C4A54; --muted:#6B7B86;
  --line:#DFE6EB; --bg:#FFFFFF; --bg-soft:#F4F8FB; --bg-deep:#12303F;
  --radius:14px; --wrap:1140px;
  --sans:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--body);background:var(--bg);line-height:1.62;font-size:17px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--ink);line-height:1.22;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.1rem,4.4vw,3.15rem);letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,2.6vw,2.05rem);letter-spacing:-.015em}
h3{font-size:1.16rem}
p{margin:0 0 1.05em}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.sec{padding:76px 0}
.sec.soft{background:var(--bg-soft)}
.sec.tight{padding:52px 0}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin:0 0 .6em}
.lede{font-size:1.14rem;color:var(--body);max-width:68ch}
.small{font-size:.92rem;color:var(--muted)}

/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:20px;min-height:70px;flex-wrap:wrap}
.brand{display:flex;flex-direction:column;line-height:1.05;margin-right:auto;padding:10px 0}
.brand img{display:block;height:42px;width:auto;max-width:230px}
.brand .sub{font-size:.64rem;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.nav a.link{color:var(--body);font-size:.95rem;font-weight:600;padding:6px 0}
.nav a.link:hover,.nav a.link[aria-current="page"]{color:var(--blue);text-decoration:none;box-shadow:inset 0 -2px 0 var(--orange)}
.nav a.link.lang{color:var(--blue);font-weight:700}
.nav a.link.lang:before{content:"";display:inline-block;width:1px;height:14px;background:var(--line);margin-right:18px;vertical-align:-2px}
.chip{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-d);background:#E7F1D9;border:1px solid var(--green);border-radius:999px;padding:5px 12px}

/* hero */
.hero{background:linear-gradient(170deg,#FFFFFF 0%,#F4F8FB 62%,#EAF1F6 100%);border-bottom:1px solid var(--line)}
.hero .wrap{padding-top:78px;padding-bottom:70px}
.hero h1 span{color:var(--orange)}
.hero .lede{font-size:1.2rem;margin-top:.4em}
.btnrow{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-block;font-weight:700;font-size:.97rem;padding:13px 24px;border-radius:10px;border:2px solid var(--blue);background:var(--blue);color:#fff}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d);text-decoration:none}
.btn.ghost{background:transparent;color:var(--blue)}
.btn.ghost:hover{background:var(--blue);color:#fff}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.tag{font-size:.8rem;font-weight:600;color:var(--blue-d);background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 13px}

/* referral notice */
.referral{background:var(--bg-deep);color:#E8F1F6}
.referral h2{color:#fff}
.referral .wrap{padding:54px 24px}
.referral p{color:#C6D8E2;max-width:74ch}
.referral .mark{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:.8em}
.referral a{color:#fff;box-shadow:inset 0 -2px 0 var(--orange)}

/* grids */
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.card.soft{background:var(--bg-soft)}
.card h3{margin-bottom:.35em}
.card p:last-child{margin-bottom:0}
.card .kicker{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);display:block;margin-bottom:.5em}

/* pillars */
.pillar{border-top:4px solid var(--blue)}
.pillar:nth-child(2){border-top-color:var(--orange)}
.pillar:nth-child(3){border-top-color:var(--green)}
.pillar h3{text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;color:var(--blue)}

/* ladder */
.step{display:grid;grid-template-columns:76px 1fr 168px;gap:22px;align-items:start;padding:22px 0;border-top:1px solid var(--line)}
.step:last-child{border-bottom:1px solid var(--line)}
.step .n{font-size:1.5rem;font-weight:800;color:var(--orange);line-height:1}
.step h3{margin-bottom:.25em}
.step .dur{font-size:.88rem;font-weight:600;color:var(--muted);text-align:right}

/* dark hero with the animated mark */
.hero-dark{background:radial-gradient(1100px 620px at 76% 48%, #1B4257 0%, #143446 42%, #0E2634 100%);color:#D8E6EE;position:relative;overflow:hidden;border-bottom:none}
.hero-dark::before{content:"";position:absolute;inset:-45%;background-image:repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 1px, transparent 1px 46px);animation:gridMove 24s linear infinite;pointer-events:none}
.hero-dark h1{color:#fff}
.hero-dark .lede{color:#BCD0DC}
.hero-dark .tag{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#D2E2EC}
.hero-dark .btn.ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.hero-dark .btn.ghost:hover{background:#fff;color:var(--blue-d);border-color:#fff}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:40px;align-items:center;position:relative;z-index:1}
.hero-mark{position:relative;display:flex;align-items:center;justify-content:center;min-height:320px}
.markbox{position:relative;z-index:1;display:block;width:min(360px,80%);animation:float 7s ease-in-out infinite}
.hero-mark img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 20px rgba(255,79,0,.42)) drop-shadow(0 0 62px rgba(255,79,0,.2))}
.hero-mark .net{position:absolute;z-index:2;width:min(360px,80%);aspect-ratio:1021/1098;pointer-events:none;animation:float 7s ease-in-out infinite}
.hero-mark .glow{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle, rgba(255,79,0,.32) 0%, rgba(255,79,0,.10) 45%, rgba(255,79,0,0) 70%);animation:pulse 5.4s ease-in-out infinite}
@keyframes gridMove{from{transform:translate3d(0,0,0)}to{transform:translate3d(46px,46px,0)}}
@keyframes float{0%,100%{transform:translateY(-9px)}50%{transform:translateY(9px)}}
@keyframes pulse{0%,100%{opacity:.55;transform:scale(.93)}50%{opacity:1;transform:scale(1.07)}}
@media (prefers-reduced-motion: reduce){.hero-dark::before,.markbox,.hero-mark .net,.hero-mark .glow{animation:none}.hero-mark .net *{display:none}}

/* stats */
.stat{text-align:center;padding:24px 14px}
.stat b{display:block;font-size:2.05rem;color:var(--orange);letter-spacing:-.02em;line-height:1.1}
.stat span{font-size:.92rem;color:var(--muted)}

/* news */
.news{border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:18px;background:#fff}
.news .meta{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-l);margin-bottom:.5em}
.news h3{margin-bottom:.4em}
.news .so{font-weight:700;color:var(--ink)}
.edition{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.edition .when{font-size:.9rem;color:var(--muted)}

/* policy */
.policy h3{margin-top:1.8em;padding-top:.6em;border-top:1px solid var(--line);color:var(--blue)}
.policy ul{margin:0 0 1.1em;padding-left:1.15em}
.policy li{margin-bottom:.35em}
.toc{columns:2;column-gap:28px;font-size:.95rem}
.toc a{display:block;padding:3px 0}

ul.check{list-style:none;padding:0;margin:0}
ul.check li{position:relative;padding-left:26px;margin-bottom:.55em}
ul.check li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:2px;background:var(--orange)}

/* footer */
footer.site{background:var(--bg-deep);color:#B9CCD8;padding:56px 0 30px;font-size:.94rem}
footer.site h4{color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9em}
footer.site a{color:#D6E5EE;display:block;padding:3px 0}
footer.site a:hover{color:#fff}
footer .fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:30px}
footer .bar{border-top:1px solid rgba(255,255,255,.14);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem;color:#8FA9B8}

@media (max-width:600px){
  .brand img{height:34px}
  .brand .sub{font-size:.58rem;letter-spacing:.13em}
  .nav{gap:14px;min-height:60px}
  .nav a.link{font-size:.9rem}
  body{font-size:16px}
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:10px}
  .hero-mark{order:-1;min-height:0;margin-bottom:6px}
  .markbox,.hero-mark .net{width:200px}
  .g3,.g4,.g2,footer .fgrid{grid-template-columns:1fr}
  .g4{grid-template-columns:repeat(2,1fr)}
  .step{grid-template-columns:44px 1fr;}
  .step .dur{grid-column:2;text-align:left}
  .toc{columns:1}
  .sec{padding:56px 0}
}
