:root{
  --navy:#0A1F4E; --navy-2:#0C2568; --ink:#08142F; --ink-2:#1B2742;
  --orange:#F5882E; --orange-2:#E2711A; --sand:#F5F2EC; --line:#E3E1DB; --mist:#EEF2F8;
  --muted:#5B6578; --white:#fff; --ok:#1E9E6A;
  --serif:"Newsreader", Georgia, serif; --sans:"Inter", system-ui, -apple-system, sans-serif;
  --r:14px; --shadow:0 20px 50px -20px rgba(8,20,47,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,textarea,select{font:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.serif{font-family:var(--serif)}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--orange)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:600;font-size:15px;transition:.2s}
.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{background:var(--orange-2);transform:translateY(-1px)}
.btn-ghost{border:1px solid rgba(255,255,255,.45);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:var(--ink)}
.btn-line{border:1px solid var(--line);color:var(--ink)}.btn-line:hover{border-color:var(--ink)}
.arrow::after{content:"→";transition:.2s}.arrow:hover::after{transform:translateX(3px)}

/* utility + header */
.utility{background:var(--ink);color:#C9D2E6;font-size:12.5px}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.utility a:hover{color:#fff}.utility .u-right{display:flex;gap:22px;align-items:center}
.badge501{display:inline-flex;gap:8px;align-items:center}.dot{width:6px;height:6px;border-radius:50%;background:var(--orange);display:inline-block}
header.site{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.logo img{height:40px;width:auto}
nav.main{display:flex;gap:30px;font-size:14.5px;font-weight:500}
nav.main a{position:relative;padding:6px 0;color:var(--ink-2)}
nav.main a.active,nav.main a:hover{color:var(--navy-2)}
nav.main a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--orange)}
.h-cta{display:flex;gap:10px;align-items:center}
.burger{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line);align-items:center;justify-content:center}
.mnav{display:none}

/* hero */
.hero{position:relative;min-height:720px;color:#fff;overflow:hidden;background:var(--ink)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);animation:slow 22s ease-out forwards}
@keyframes slow{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,16,40,.96) 0%,rgba(8,22,58,.82) 42%,rgba(8,22,58,.25) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:120px;padding-bottom:150px}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,6.4vw,84px);line-height:1.02;letter-spacing:-.02em;max-width:820px;margin:22px 0 26px}
.hero h1 em{font-style:italic;color:#FFC08A}
.hero p.lede{font-size:19px;max-width:600px;color:#D5DCEB}
.hero .ctas{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.hero-news{position:absolute;z-index:3;right:28px;bottom:36px;max-width:400px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);border-radius:var(--r);padding:16px 18px;display:flex;gap:14px;align-items:center}
.hero-news img{width:92px;height:58px;object-fit:cover;border-radius:8px}
.hero-news small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#FFC08A;font-weight:600}
.hero-news b{font-weight:500;font-size:14.5px;line-height:1.35;display:block;margin-top:3px}
.announce{background:var(--orange);color:#fff;text-align:center;font-size:14px;font-weight:500;padding:11px 20px}

/* stats */
.stats{background:var(--navy);color:#fff}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:38px 26px;border-right:1px solid rgba(255,255,255,.1)}.stat:last-child{border:0}
.stat .n{font-family:var(--serif);font-size:48px;line-height:1;color:#fff}
.stat .n sup{font-size:22px;color:var(--orange)}
.stat .l{color:#AEB9D2;font-size:14px;margin-top:10px;max-width:220px}

section.block{padding:110px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:54px}
.sec-head h2,.h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.015em;max-width:720px;margin-top:14px}
.sec-head p{max-width:420px;color:var(--muted)}
.bg-sand{background:var(--sand)}

.pillars{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.pillar{padding:32px 26px 10px 0;border-right:1px solid var(--line);margin-right:26px}
.pillar:last-child{border:0}
.pillar .num{font-family:var(--serif);color:var(--orange);font-size:15px}
.pillar h3{font-family:var(--serif);font-weight:500;font-size:25px;margin:14px 0 10px;line-height:1.15}
.pillar p{color:var(--muted);font-size:15px}

.paths{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.path{position:relative;border-radius:var(--r);overflow:hidden;min-height:400px;color:#fff;display:flex;align-items:flex-end;background:var(--navy)}
.path img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.path:hover img{transform:scale(1.05)}
.path::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,47,0) 30%,rgba(8,20,47,.92))}
.path .c{position:relative;z-index:2;padding:26px}
.path small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#FFC08A;font-weight:600}
.path h3{font-family:var(--serif);font-weight:400;font-size:28px;margin:6px 0 8px}
.path p{font-size:14px;color:#D5DCEB}

.feature{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center}
.video{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.video .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.video .play span{width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:26px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.press-list a{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.press-list a:hover h4{color:var(--navy-2);text-decoration:underline}
.outlet{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.press-list h4{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.3}

.quote{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.quote .wrap{display:grid;grid-template-columns:280px 1fr;gap:70px;align-items:center;padding-top:100px;padding-bottom:100px}
.quote img{border-radius:var(--r);filter:grayscale(.2)}
.quote blockquote{font-family:var(--serif);font-size:clamp(26px,3.2vw,40px);line-height:1.25;font-weight:300}
.quote blockquote::before{content:"“";color:var(--orange);font-size:90px;line-height:0;display:block;margin:40px 0 10px}
.quote cite{display:block;margin-top:26px;font-style:normal;color:#AEB9D2;font-size:15px}
.quote cite b{color:#fff;font-weight:600}

.events{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ev{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;transition:.25s}
.ev:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.ev img{aspect-ratio:1200/628;object-fit:cover;width:100%}
.ev .c{padding:22px}
.ev .meta{font-size:12.5px;color:var(--orange-2);font-weight:600;letter-spacing:.04em}
.ev h4{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.25;margin:8px 0}
.ev p{color:var(--muted);font-size:14.5px}

.join{background:linear-gradient(120deg,var(--navy-2),var(--ink));color:#fff;border-radius:22px;padding:70px;display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center;position:relative;overflow:hidden}
.join::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-120px;top:-180px;box-shadow:0 0 0 70px rgba(255,255,255,.02),0 0 0 140px rgba(255,255,255,.02)}
.join h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.6vw,48px);line-height:1.1}
.join ul{list-style:none;display:grid;gap:12px;position:relative}
.join li{display:flex;gap:12px;color:#D5DCEB}.join li::before{content:"✓";color:var(--orange);font-weight:700}

.partners{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#8A93A6;font-weight:700;letter-spacing:.08em;font-size:14px}

footer.site{background:var(--ink);color:#AEB9D2;padding:80px 0 30px;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px}
footer h5{color:#fff;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
footer li{list-style:none;margin:9px 0}footer a:hover{color:#fff}
.flogo{background:#fff;display:inline-block;padding:12px 16px;border-radius:10px;margin-bottom:18px}.flogo img{height:34px}
.fbottom{margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;font-size:12.5px;flex-wrap:wrap;gap:10px}

/* inner page hero */
.phero{background:var(--ink);color:#fff;padding:110px 0 90px;position:relative;overflow:hidden}
.phero .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 30%,rgba(8,20,47,.4))}
.phero .wrap{position:relative;z-index:2}
.phero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,68px);line-height:1.05;margin:16px 0 18px;max-width:820px}
.phero p{max-width:640px;color:#D5DCEB;font-size:18px}
.crumbs{font-size:13px;color:#AEB9D2}

.two{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.prose p{color:var(--ink-2);font-size:17px;margin-bottom:18px}
.goals{counter-reset:g;display:grid;gap:0}
.goals li{list-style:none;counter-increment:g;display:grid;grid-template-columns:54px 1fr;padding:20px 0;border-bottom:1px solid var(--line);font-size:16px}
.goals li::before{content:counter(g,decimal-leading-zero);font-family:var(--serif);color:var(--orange);font-size:20px}
.leaders{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.leader img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:var(--r);background:var(--mist)}
.leader h4{font-family:var(--serif);font-weight:500;font-size:22px;margin-top:16px}
.leader p{font-size:13.5px;color:var(--muted);margin-top:4px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:14px;background:#fff}

.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tier{border:1px solid var(--line);border-radius:var(--r);padding:26px;background:#fff;display:flex;flex-direction:column;gap:10px;transition:.25s}
.tier:hover{border-color:var(--navy-2);box-shadow:var(--shadow)}
.tier .t{font-family:var(--serif);font-size:24px}
.tier p{color:var(--muted);font-size:14px;flex:1}
.tier .go{font-weight:600;color:var(--navy-2);font-size:14px}
.tier.hl{background:var(--navy);color:#fff;border-color:var(--navy)}.tier.hl p{color:#C9D2E6}.tier.hl .go{color:#FFC08A}

.timeline{border-left:2px solid var(--line);margin-left:8px}
.tl{position:relative;padding:0 0 34px 34px}
.tl::before{content:"";position:absolute;left:-8px;top:6px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--orange)}
.tl .y{font-size:12.5px;font-weight:700;color:var(--orange-2);letter-spacing:.06em}
.tl h4{font-family:var(--serif);font-weight:500;font-size:21px;margin:4px 0}
.tl p{color:var(--muted);font-size:14.5px}

.news-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border-radius:22px;overflow:hidden;background:var(--ink);color:#fff;margin-bottom:60px}
.news-feature img{width:100%;height:100%;object-fit:cover;min-height:380px}
.news-feature .c{padding:56px;display:flex;flex-direction:column;justify-content:center}
.news-feature h2{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.12;margin:16px 0}
.news-feature p{color:#C9D2E6}
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ncard{border-top:3px solid var(--ink);padding-top:22px;display:flex;flex-direction:column;gap:10px}
.ncard h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.22}
.ncard p{color:var(--muted);font-size:15px;flex:1}
.ncard .more{font-weight:600;color:var(--navy-2);font-size:14px}
.ncard:hover h3{color:var(--navy-2)}
.mediakit{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:70px}
.mk{border:1px solid var(--line);border-radius:var(--r);padding:34px;background:#fff}
.mk h4{font-family:var(--serif);font-weight:500;font-size:24px;margin-bottom:8px}.mk p{color:var(--muted);margin-bottom:18px}

/* demo dock */
.dock{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:100;background:rgba(8,20,47,.92);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px;display:flex;gap:4px;box-shadow:0 20px 50px rgba(0,0,0,.35);align-items:center}
.dock a{color:#C9D2E6;font-size:13.5px;font-weight:600;padding:10px 16px;border-radius:999px;white-space:nowrap}
.dock a.on{background:#fff;color:var(--ink)}
.dock .lbl{color:#7F8BA6;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:0 10px 0 14px;font-weight:700}

/* ===== STUDIO ===== */
.studio{height:100vh;display:grid;grid-template-rows:60px 1fr;background:#F3F4F7}
.s-top{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:14px}
.s-top .l{display:flex;align-items:center;gap:14px}
.s-brand{display:flex;align-items:center;gap:10px;font-weight:700}
.s-brand .mark{width:30px;height:30px;border-radius:8px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px}
.pagesel{border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:#fff;font-size:13.5px}
.status{font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:#FFF3E7;color:var(--orange-2)}
.status.live{background:#E6F6EF;color:var(--ok)}
.s-top .r{display:flex;align-items:center;gap:10px}
.devsw{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.devsw button{padding:7px 12px;font-size:13px}.devsw button.on{background:var(--ink);color:#fff}
.avatars{display:flex}.avatars span{width:30px;height:30px;border-radius:50%;border:2px solid #fff;margin-left:-8px;background:var(--navy-2);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.avatars span:nth-child(2){background:var(--orange)}.avatars span:nth-child(3){background:#2D7D9A}
.s-body{display:grid;grid-template-columns:360px 1fr 300px;min-height:0}
.pane{background:#fff;display:flex;flex-direction:column;min-height:0}
.pane.chat{border-right:1px solid var(--line)}.pane.cm{border-left:1px solid var(--line)}
.pane h6{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.msgs{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:14px}
.msg{max-width:92%;font-size:14px;line-height:1.5;padding:11px 14px;border-radius:14px}
.msg.ai{background:var(--mist);border-top-left-radius:4px}
.msg.me{background:var(--navy);color:#fff;align-self:flex-end;border-top-right-radius:4px}
.msg .chg{margin-top:8px;font-size:12.5px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--ink-2)}
.msg .chg b{color:var(--ok)}
.typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#98A2B6;margin-right:4px;animation:b 1s infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes b{0%,100%{opacity:.3}50%{opacity:1}}
.sugg{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 10px}
.sugg button{font-size:12.5px;border:1px solid var(--line);border-radius:999px;padding:6px 11px;background:#fff;text-align:left}
.sugg button:hover{border-color:var(--navy-2);color:var(--navy-2)}
.composer{border-top:1px solid var(--line);padding:12px;display:flex;gap:8px}
.composer textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:12px;padding:10px 12px;height:46px;font-size:14px;outline:none}
.composer textarea:focus{border-color:var(--navy-2)}
.composer button{background:var(--orange);color:#fff;border-radius:12px;width:46px;font-size:18px}
.canvas{overflow:auto;padding:22px;display:flex;justify-content:center;min-height:0}
.frame{background:#fff;border-radius:12px;box-shadow:0 12px 40px -12px rgba(8,20,47,.25);overflow:hidden;width:100%;max-width:1100px;transition:max-width .35s;position:relative;align-self:flex-start}
.frame.mobile{max-width:390px}
.frame .bar{height:34px;background:#F0F1F4;display:flex;align-items:center;gap:6px;padding:0 12px;font-size:12px;color:var(--muted)}
.frame .bar i{width:10px;height:10px;border-radius:50%;background:#D7DAE0;display:inline-block}
.frame .bar .url{margin-left:10px;background:#fff;border-radius:6px;padding:3px 10px;flex:1}
.pv{position:relative}
.pv .hero{min-height:520px}
.pv .hero .wrap{padding-top:80px;padding-bottom:110px}
.frame.mobile .pv .hero h1{font-size:38px}.frame.mobile .pv .hero p.lede{font-size:16px}
.frame.mobile .pv .hero-news{display:none}
.frame.mobile .pv .stats .wrap{grid-template-columns:1fr 1fr}
.frame.mobile .pv nav.main,.frame.mobile .pv .h-cta .btn{display:none}
.frame.mobile .pv .stat{padding:22px 18px}.frame.mobile .pv .stat .n{font-size:34px}
.pin{position:absolute;width:30px;height:30px;border-radius:50% 50% 50% 4px;background:var(--orange);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.25);z-index:10;cursor:pointer;border:2px solid #fff}
.flash{animation:fl 1.6s ease}
@keyframes fl{0%{box-shadow:0 0 0 0 rgba(245,136,46,.0)}20%{box-shadow:0 0 0 6px rgba(245,136,46,.7)}100%{box-shadow:0 0 0 0 rgba(245,136,46,0)}}
.cmts{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px}
.cmt{border:1px solid var(--line);border-radius:12px;padding:12px;font-size:13.5px}
.cmt .who{display:flex;gap:8px;align-items:center;font-weight:600;font-size:13px;margin-bottom:6px}
.cmt .who span.n{width:22px;height:22px;border-radius:50%;background:var(--orange);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}
.cmt .who em{font-style:normal;font-weight:400;color:var(--muted);font-size:12px;margin-left:auto}
.cmt.done{opacity:.55}
.cmt .act{margin-top:8px;display:flex;gap:10px;font-size:12px;color:var(--navy-2);font-weight:600}
.history{border-top:1px solid var(--line);padding:14px;font-size:12.5px;color:var(--muted)}
.history div{display:flex;justify-content:space-between;padding:4px 0}
.mtabs{display:none}
.toast{position:fixed;top:76px;left:50%;transform:translateX(-50%) translateY(-20px);background:var(--ink);color:#fff;padding:13px 20px;border-radius:12px;font-size:14px;opacity:0;transition:.3s;z-index:200;box-shadow:var(--shadow);display:flex;gap:10px;align-items:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast b{color:#7EE2B4}

/* ===== PORTAL ===== */
.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.login .art{position:relative;background:var(--ink);color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.login .art .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35}
.login .art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,47,.3),rgba(8,20,47,.95))}
.login .art>*{position:relative;z-index:2}
.login .art h2{font-family:var(--serif);font-weight:400;font-size:46px;line-height:1.08;max-width:480px}
.login .form{display:flex;align-items:center;justify-content:center;padding:40px}
.login form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px}
.login form img{height:44px;width:auto;align-self:flex-start;margin-bottom:20px}
.login h3{font-family:var(--serif);font-weight:400;font-size:34px}
.field label{font-size:13px;font-weight:600;display:block;margin-bottom:6px}
.field input{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;outline:none}
.field input:focus{border-color:var(--navy-2)}
.sso{border:1px solid var(--line);border-radius:10px;padding:12px;font-weight:600;font-size:14px;text-align:center}
.secure{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center;justify-content:center;margin-top:8px}

.portal{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:#F5F6F9}
.side{background:var(--ink);color:#C9D2E6;padding:22px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}
.side .lg{background:#fff;border-radius:10px;padding:10px 12px;margin:0 6px 22px}.side .lg img{height:28px}
.side a{display:flex;gap:12px;align-items:center;padding:11px 14px;border-radius:10px;font-size:14.5px;font-weight:500}
.side a:hover{background:rgba(255,255,255,.06);color:#fff}
.side a.on{background:rgba(255,255,255,.1);color:#fff}
.side a .ic{width:20px;text-align:center;opacity:.9}
.side .sync{margin-top:auto;font-size:11.5px;background:rgba(255,255,255,.05);border-radius:10px;padding:12px;line-height:1.45}
.side .sync b{color:#7EE2B4;font-weight:600}
.pmain{padding:30px 38px 100px;min-width:0}
.ptop{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:16px}
.ptop h1{font-family:var(--serif);font-weight:400;font-size:34px}
.ptop .search{flex:1;max-width:380px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 14px;font-size:14px;color:var(--muted)}
.me{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600}
.me span{width:38px;height:38px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center}
.grid3{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.card h3{font-family:var(--serif);font-weight:500;font-size:21px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
.card h3 a{font-family:var(--sans);font-size:13px;color:var(--navy-2);font-weight:600}
.mcard{background:linear-gradient(130deg,var(--navy-2),var(--ink));color:#fff;border-radius:18px;padding:26px;position:relative;overflow:hidden;min-height:200px;display:flex;flex-direction:column;justify-content:space-between}
.mcard::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:30px solid rgba(245,136,46,.18)}
.mcard .tp{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#FFC08A;font-weight:700}
.mcard .nm{font-family:var(--serif);font-size:28px;margin-top:6px}
.mcard .row{display:flex;justify-content:space-between;font-size:13px;color:#C9D2E6}
.course{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.course:last-child{border:0}
.course img{width:70px;height:46px;object-fit:cover;border-radius:6px}
.course b{font-size:14px;font-weight:600;display:block;line-height:1.3}
.prog{height:6px;background:var(--mist);border-radius:6px;margin-top:6px;overflow:hidden}.prog i{display:block;height:100%;background:var(--orange)}
.course .pct{font-size:12.5px;color:var(--muted)}
.thread{display:grid;grid-template-columns:40px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center;cursor:pointer}
.thread:last-child{border:0}.thread:hover b{color:var(--navy-2)}
.av{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--navy-2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.thread b{font-size:14.5px;font-weight:600;display:block;line-height:1.3}
.thread small{color:var(--muted);font-size:12.5px}
.tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--mist);color:var(--navy-2);white-space:nowrap}
.evrow{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}.evrow:last-child{border:0}
.evdate{width:52px;text-align:center;border:1px solid var(--line);border-radius:10px;padding:6px 0;line-height:1.1}
.evdate b{display:block;font-family:var(--serif);font-size:22px}.evdate small{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-2);font-weight:700}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.kpi .n{font-family:var(--serif);font-size:30px}.kpi .l{font-size:12.5px;color:var(--muted)}
.forum-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.fcat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer}
.fcat:hover,.fcat.on{border-color:var(--navy-2)}
.fcat b{font-size:14px;display:block}.fcat small{color:var(--muted);font-size:12px}
.post{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.post .h{font-size:14px;font-weight:600}.post .h em{font-style:normal;color:var(--muted);font-weight:400;font-size:12.5px;margin-left:6px}
.post p{font-size:14.5px;margin-top:6px;color:var(--ink-2)}
.post .acts{display:flex;gap:16px;margin-top:8px;font-size:12.5px;color:var(--muted);font-weight:600}
.reply{display:flex;gap:10px;margin-top:16px}
.reply textarea{flex:1;border:1px solid var(--line);border-radius:12px;padding:12px;height:70px;resize:none;outline:none}
.dir{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;gap:14px;align-items:center}
.dcard img,.dcard .av{width:56px;height:56px;border-radius:50%;object-fit:cover}
.dcard b{display:block;font-size:15px}.dcard small{color:var(--muted);font-size:12.5px;display:block}
.ms{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.ms::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.mobtop{display:none}

/* ===== responsive ===== */
@media (max-width:1100px){
  .s-body{grid-template-columns:300px 1fr}.pane.cm{display:none}
  .paths{grid-template-columns:1fr 1fr}.tiers{grid-template-columns:1fr 1fr}
  .leaders{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .wrap{padding:0 20px}
  nav.main,.h-cta .btn-line,.utility .u-left{display:none}
  .burger{display:flex}
  .mnav.open{display:flex;flex-direction:column;position:fixed;top:116px;left:0;right:0;bottom:0;background:#fff;z-index:39;padding:24px;gap:6px}
  .mnav a{font-family:var(--serif);font-size:28px;padding:10px 0;border-bottom:1px solid var(--line)}
  .hero{min-height:640px}.hero .wrap{padding-top:70px;padding-bottom:200px}
  .hero-news{left:20px;right:20px;bottom:24px;max-width:none}
  .stats .wrap{grid-template-columns:1fr 1fr}.stat{border-bottom:1px solid rgba(255,255,255,.1);padding:26px 18px}.stat .n{font-size:38px}
  section.block{padding:70px 0}
  .sec-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:36px}
  .pillars{grid-template-columns:1fr 1fr}.pillar{margin-right:0;padding-right:18px;border-right:0;border-bottom:1px solid var(--line);padding-bottom:22px}
  .paths{grid-template-columns:1fr}.path{min-height:300px}
  .feature,.two,.news-feature,.mediakit,.join{grid-template-columns:1fr;gap:34px}
  .join{padding:40px 26px}
  .news-feature .c{padding:32px}
  .quote .wrap{grid-template-columns:1fr;gap:30px;padding-top:70px;padding-bottom:70px}.quote img{max-width:180px}
  .events,.ngrid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .tiers{grid-template-columns:1fr}
  .press-list a{grid-template-columns:1fr;gap:4px}
  /* studio mobile */
  .s-body{grid-template-columns:1fr;grid-template-rows:1fr}
  .studio{grid-template-rows:56px 46px 1fr}
  .mtabs{display:flex;background:#fff;border-bottom:1px solid var(--line)}
  .mtabs button{flex:1;font-size:13.5px;font-weight:600;color:var(--muted)}.mtabs button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--orange)}
  .pane.chat,.canvas,.pane.cm{display:none}
  .studio[data-tab=chat] .pane.chat{display:flex}
  .studio[data-tab=preview] .canvas{display:flex}
  .studio[data-tab=comments] .pane.cm{display:flex}
  .devsw,.avatars,.s-top .pagesel{display:none}
  .canvas{padding:10px}
  /* portal mobile */
  .login{grid-template-columns:1fr}.login .art{min-height:300px;padding:30px}.login .art h2{font-size:32px}
  .portal{grid-template-columns:1fr}
  .side{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;flex-direction:row;z-index:60;padding:8px;justify-content:space-around;gap:0}
  .side .lg,.side .sync{display:none}
  .side a{flex-direction:column;gap:2px;font-size:10.5px;padding:8px 6px}
  .pmain{padding:18px 16px 170px}
  .mobtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mobtop img{height:30px}
  .ptop .search{display:none}.ptop h1{font-size:28px}
  .grid3,.dir,.forum-cats{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}
  .dock{bottom:14px}.dock .lbl{display:none}.dock a{padding:8px 11px;font-size:12px}
  .portal-on .dock{bottom:78px}
  .studio-on .dock{display:none}
  .s-brand span:last-child{display:none}
  .s-top .btn-line{display:none}
  .backsite{display:inline-flex!important}
}

.backsite{display:none;font-size:13px;font-weight:600;color:var(--navy-2)}
.pv nav.main{display:none}
.pv .hero h1{font-size:clamp(40px,4.6vw,64px)}
.pv .hero p.lede{font-size:17px}
.pv .hero .wrap{padding-bottom:180px}
.pv .stat .n{font-size:40px}
@media (max-width:900px){.ptop .me{display:none!important}.thread{grid-template-columns:40px 1fr}.thread .tag{display:none}}

.s-brand .ws{font-size:11px;font-weight:700;letter-spacing:.08em;background:#FFF1E4;color:#B85A10;border-radius:5px;padding:2px 7px;margin-left:6px;vertical-align:2px}
.pv .phero{min-height:auto}

.side .signout{margin-top:auto;opacity:.8}
.mso{font-size:13px;font-weight:600;color:var(--navy-2)}
.apform{width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px}
.apform img{height:44px;width:auto;margin-bottom:12px}
.apsteps{display:flex;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.apsteps span{flex:1;border-top:3px solid #E3E6EC;padding-top:6px}
.apsteps span.on{border-color:#F5882E;color:var(--ink)}
.aptiers{display:grid;gap:8px;max-height:360px;overflow:auto}
.aptier{border:1.5px solid #E3E6EC;border-radius:10px;padding:11px 14px;cursor:pointer;display:block}
.aptier b{display:block;font-size:14.5px}.aptier small{color:var(--muted);font-size:12.5px;line-height:1.4}
.aptier.on{border-color:#0C2568;background:#F3F5FB}
.aprow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.apfile{border:1.5px dashed #CDD2DB;border-radius:8px;padding:12px;text-align:center;color:var(--muted);font-size:13.5px}
.aprev{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;border-bottom:1px solid #EEF0F3}.aprev:last-child{border:0}.aprev span{color:var(--muted)}
.apdone{width:56px;height:56px;border-radius:50%;background:#0C2568;color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px}
@media(max-width:900px){.apply .art{display:none}.aprow{grid-template-columns:1fr}}
@media(max-width:900px){.apform{padding-bottom:90px}}
