/* Study Beyond site. Layout: the brand's post look as a site. Night-navy ground, one
   cyan-to-pink gradient for CTAs and rules, heavy display type, stat tiles from the slides. */
:root{
  --night:#070b1f;
  --deep:#141236;
  --panel:#16163d;
  --line:#2c2a63;
  --ink:#f3f4ff;
  --muted:#a7aad0;
  --cyan:#2fd4f0;
  --violet:#a855f7;
  --pink:#ec4899;
  --grad:linear-gradient(90deg,var(--cyan),var(--violet) 55%,var(--pink));
  --display:"Archivo Black","Arial Black",Impact,sans-serif;
  --body:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:140px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--night);color:var(--ink);font:400 16px/1.6 var(--body);
  background-image:radial-gradient(1200px 700px at 100% -10%,#2a1660 0%,transparent 60%),radial-gradient(900px 600px at -10% 40%,#10204d 0%,transparent 60%);background-repeat:no-repeat}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--night)}
img{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.eyebrow{display:flex;align-items:center;gap:14px;margin:0;font:700 13px/1.4 var(--body);letter-spacing:.28em;text-transform:uppercase;color:var(--cyan)}
.eyebrow::before{content:"";width:48px;height:4px;border-radius:4px;background:var(--grad);flex:none}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.08;text-wrap:balance;margin:0}
h2{font-size:clamp(28px,4vw,44px)}
.lede{color:var(--muted);font-size:18px;max-width:64ch;margin:0}
.lede b{color:var(--ink)}
main>section,main section.group,.apanel>section,.corners>section{padding-block:72px}
.sec-head{display:grid;gap:16px;margin-bottom:40px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:999px;font:700 15px/1.1 var(--body);letter-spacing:.05em;text-decoration:none;border:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;text-align:center}
.btn.sm{padding:11px 18px;font-size:13px}
.btn-grad{background:var(--grad);color:#fff;box-shadow:0 10px 30px -10px rgba(168,85,247,.7)}
.btn-grad:hover{transform:translateY(-2px);box-shadow:0 14px 34px -10px rgba(236,72,153,.7)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--cyan)}
.btn-line:hover{background:rgba(47,212,240,.1)}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(7,11,31,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 21px/1 var(--body);flex:none}
.brand img{width:46px;height:46px;border-radius:50%;box-shadow:0 0 0 2px var(--violet),0 0 18px rgba(168,85,247,.5)}
.top-ctas{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.tabs{border-top:1px solid var(--line)}
.tabrow{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;padding-block:8px}
.tab{flex:none;display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;text-decoration:none;font:600 14px/1 var(--body);color:var(--muted);white-space:nowrap;border:1px solid transparent}
.tab:hover{color:var(--ink);background:rgba(255,255,255,.05)}
.tab.on{color:var(--ink);border-color:var(--cyan);background:rgba(47,212,240,.1)}
@media (min-width:1000px){.tabs .wrap{max-width:1360px}.tabrow{gap:1px}.tab{padding:8px 8px;gap:6px;font-size:13px}.tab-cf img{width:16px;height:16px}}
@media (min-width:1000px) and (max-width:1279px){.tab{padding:7px 6px;gap:5px;font-size:12.5px}.tab .flag{width:18px;height:13.5px}}
.flag{width:22px;height:16.5px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.25);flex:none}
.flag.mid{width:52px;height:39px;border-radius:6px}
.flag.big{width:72px;height:54px;border-radius:8px}
@media (max-width:640px){.top-ctas .btn-line{display:none}.brand span{font-size:18px}.brand img{width:40px;height:40px}}

/* hero */
.hero{padding-block:64px 56px}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(40px,5.4vw,68px);margin:22px 0}
.hero h1 span{color:var(--cyan)}
.hero .lede{margin-bottom:32px}
.ctas{display:flex;flex-wrap:wrap;gap:14px}
.tag{font:700 12px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:28px}
.tag em{font-style:normal;color:var(--ink)}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tiles.row4{grid-template-columns:repeat(4,1fr);margin-top:36px}
.tile{background:rgba(22,22,61,.75);border:1px solid var(--line);border-radius:22px;padding:24px 18px;text-align:center}
.tile strong{display:block;font:400 clamp(30px,3.6vw,44px)/1 var(--display);color:var(--cyan);font-variant-numeric:tabular-nums}
.tile span{display:block;margin-top:12px;font:700 12px/1.4 var(--body);letter-spacing:.18em;text-transform:uppercase}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.tiles.row4{grid-template-columns:1fr 1fr}}
.hero-visual{position:relative;width:100%;max-width:520px;justify-self:center}
.orb-wrap{position:relative;aspect-ratio:1}
.orb-wrap .orb{position:absolute;inset:0;width:100%;height:100%}
.float{position:absolute;background:rgba(17,16,50,.84);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.13);border-radius:18px;box-shadow:0 18px 48px rgba(0,0,0,.45);font-size:13px;line-height:1.3;animation:floaty 6s ease-in-out infinite alternate}
.float.match{left:-6%;bottom:4%;width:min(290px,66%);padding:14px 16px}
.float.match .t{display:flex;justify-content:space-between;gap:10px;font:700 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.float.match .t span:last-child{color:var(--muted)}
.mrow{display:grid;grid-template-columns:22px 1fr;gap:6px 10px;align-items:center;margin-top:12px;font-weight:600}
.mrow .flag{width:22px;height:16px}
.bar{grid-column:2;height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.bar i{display:block;height:100%;border-radius:inherit;background:var(--grad)}
.float.chip{display:flex;align-items:center;gap:8px;padding:10px 15px;border-radius:999px;font-weight:600;white-space:nowrap}
.float.c1{right:-4%;top:10%;animation-delay:-2s}
.float.c2{right:2%;top:52%;animation-delay:-4s}
.ok{color:#34d399;font-weight:700}
.dot{width:9px;height:9px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.2);flex:none}
@keyframes floaty{to{transform:translateY(-10px)}}
.hero .tiles.row4{margin-top:48px}
@media (max-width:900px){.hero-visual{max-width:440px}.float.match{left:0}.float.c1{right:0}.float.c2{right:0}}
@media (max-width:600px){.float.match{position:relative;left:auto;bottom:auto;width:auto;margin:-64px 6px 0}}
@media (max-width:480px){.float{font-size:12px}.float.chip{padding:8px 12px}}

/* AI guidance */
.ai-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:start}
.ai-left{display:grid;gap:14px}
.ai-scene{margin:0;border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.4)}
.ai-scene svg{display:block;width:100%;height:auto}
.ai-cols{display:grid;gap:26px}
.ai-col{display:grid;gap:10px}
.ai-col .who{margin-bottom:4px}
.who.cy{color:var(--cyan)}
.feat{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;padding:16px;border-radius:18px;border:1px solid var(--line);background:rgba(20,18,54,.6);transition:border-color .15s ease}
.feat:hover{border-color:rgba(47,212,240,.6)}
.ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:var(--cyan);background:linear-gradient(135deg,rgba(47,212,240,.16),rgba(168,85,247,.24));border:1px solid rgba(47,212,240,.35)}
.ico svg{width:24px;height:24px}
.feat b{display:block;font-size:16px;line-height:1.3;margin-bottom:4px}
.feat p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5}
.home-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:h}
.home-steps li{counter-increment:h;position:relative;padding:18px 20px 18px 76px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel),var(--deep))}
.home-steps li::before{content:counter(h);position:absolute;left:20px;top:18px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:400 18px/1 var(--display);color:var(--night);background:var(--grad)}
.home-steps b{display:block;font-size:16px;margin-bottom:4px}
.home-steps p{margin:0;color:var(--muted);font-size:14.5px}
@media (max-width:960px){.ai-grid{grid-template-columns:1fr}}

/* destinations */
.dest{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.d{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:rgba(20,18,54,.7);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.d:hover{border-color:var(--cyan);transform:translateY(-2px)}
.d b{display:block;font-size:19px;color:var(--ink)}
.d small{color:var(--cyan);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.d .go{margin-left:auto;font-size:22px;color:var(--violet)}

/* audience split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.aud{border-radius:26px;padding:36px;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel),var(--deep));display:grid;gap:16px;align-content:start}
.who{font:700 12px/1 var(--body);letter-spacing:.28em;text-transform:uppercase;color:var(--pink)}
.aud.students .who,.vm-card .who{color:var(--cyan)}
.vm-card .who.pink{color:var(--pink)}
.aud h3{font-size:30px}
.aud ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:var(--muted)}
.aud li{display:flex;gap:12px}
.aud li::before{content:"";flex:none;width:8px;height:8px;margin-top:9px;border-radius:50%;background:var(--grad)}
.aud .btn{justify-self:start;margin-top:8px}
@media (max-width:820px){.split{grid-template-columns:1fr}.aud{padding:28px}}

/* process */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s}
.steps li{counter-increment:s;padding:24px 20px;border-radius:20px;border:1px solid var(--line);background:rgba(20,18,54,.55);display:grid;gap:10px;align-content:start}
.steps li::before{content:counter(s);font:400 40px/1 var(--display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.steps b{font-size:17px}
.steps p{margin:0;color:var(--muted);font-size:14.5px}
@media (max-width:1000px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* register interest */
.interest-card{border-radius:30px;padding:48px;border:2px solid var(--cyan);background:linear-gradient(135deg,rgba(47,212,240,.12),rgba(168,85,247,.12));display:grid;gap:18px;justify-items:start}
.interest:target .interest-card{animation:pulse 1.6s ease 1}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(47,212,240,.6)}100%{box-shadow:0 0 0 24px rgba(47,212,240,0)}}
.form-link{font:400 clamp(20px,2.6vw,30px)/1.25 var(--display);color:var(--cyan);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;overflow-wrap:anywhere}
.form-link:hover{color:#fff}
.small{margin:0;color:var(--muted);font-size:14px}
@media (max-width:640px){.interest-card{padding:28px}}

/* register to know more */
.register{padding-block:40px 80px!important}
.reg-card{border-radius:30px;padding:44px;background:linear-gradient(135deg,#1b1450,#2a1258 60%,#3a0f4e);border:1px solid #4b2a86;display:grid;gap:18px}
.reg-card .lede{color:#d6d0f5}
.reg-btns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.btn.big{flex-direction:column;gap:6px;padding:24px;border-radius:22px}
.btn.big .who{font:400 28px/1 var(--display);letter-spacing:.08em;color:#fff}
.btn.big small{font-size:14px;font-weight:600;letter-spacing:.02em;opacity:.92}
.btn.big.alt{background:linear-gradient(90deg,var(--pink),var(--violet) 45%,var(--cyan))}
@media (max-width:640px){.reg-btns{grid-template-columns:1fr}.reg-card{padding:28px}}

/* country pages */
.c-hero{padding-block:56px 24px!important}
.c-title{display:flex;align-items:center;gap:20px;margin:20px 0}
.c-title h1{font-size:clamp(40px,6vw,72px)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{display:inline-flex;gap:8px;align-items:center;padding:9px 14px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-weight:600;font-size:14px;color:var(--muted)}
.chip b{color:var(--cyan)}
.chip:hover{border-color:var(--cyan);color:var(--ink)}
.search{display:grid;gap:8px;margin-top:26px;max-width:560px}
.search label{font:700 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.search input{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;width:100%}
main section.group{padding-block:36px}
.group-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.group-head h2{font-size:clamp(24px,3vw,32px)}
.group-head span{color:var(--cyan);font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.unis{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.uni{border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(22,22,61,.92),rgba(14,14,42,.92));padding:22px;display:grid;gap:14px;align-content:start;min-width:0}
.uni-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.uni h3{font-size:20px;line-height:1.2}
.pill{flex:none;padding:6px 11px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line);font:700 10.5px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);max-width:45%;text-align:center}
.uni dl{margin:0;display:grid;gap:9px;border-top:1px solid var(--line);padding-top:14px}
.uni dl div{display:grid;grid-template-columns:44% 1fr;gap:10px}
.uni dt{font:700 11px/1.45 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.uni dd{margin:0;font-size:14.5px;line-height:1.45;min-width:0;overflow-wrap:anywhere}
.uni dd.qs{color:var(--cyan);font-weight:700}
@media (max-width:420px){.unis{grid-template-columns:1fr}.uni dl div{grid-template-columns:1fr;gap:2px}}
.none{color:var(--muted);text-align:center;padding:30px 0}
.source{color:var(--muted);font-size:13px;margin:12px 0 0}
.eus{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.eu{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(20,18,54,.6);font-weight:600}
.eu .flag{width:32px;height:24px}
.more-eu{margin-top:8px;padding:22px;border-radius:18px;border:1px dashed var(--violet);color:var(--muted)}
.more-eu b{color:var(--ink)}

/* about */
.two{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start}
.block{display:grid;gap:18px}
.block p{margin:0;color:var(--muted)}
.vm{display:grid;gap:16px}
.vm-card{padding:26px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel),var(--deep));display:grid;gap:10px}
.vm-card h3{font-size:22px}
.vm-card p{margin:0;color:var(--muted)}
.svc{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.s{padding:22px;border-radius:18px;border:1px solid var(--line);background:rgba(20,18,54,.6);display:grid;gap:8px;align-content:start}
.s b{font-size:17px}
.s p{margin:0;color:var(--muted);font-size:15px}
blockquote{margin:0;font:400 clamp(22px,2.6vw,30px)/1.3 var(--display);color:var(--ink)}
.cite{color:var(--cyan)!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.people{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.person{padding:18px;border-radius:16px;border:1px solid var(--line);display:grid;gap:4px}
.person span{color:var(--muted);font-size:14px}
.offices{display:grid;gap:12px}
.office{padding:18px;border-radius:16px;border:1px solid var(--line);display:grid;gap:4px}
.office b{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)}
.office span{color:var(--muted);font-size:15px}
@media (max-width:860px){.two{grid-template-columns:1fr}.people{grid-template-columns:1fr}}

/* footer */
.rule{height:5px;background:var(--grad)}
footer.site{padding-block:40px 30px;color:var(--muted);font-size:14px}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:24px}
.foot-col{display:grid;gap:6px;align-content:start}
.foot-col b{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.foot-col p{margin:6px 0 0}
.legal{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:13px}
@media (max-width:860px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot{grid-template-columns:1fr}}

/* image tiles: square cut-out with the same image blurred behind the card */
.sq{position:relative;z-index:1;flex:none;width:96px;aspect-ratio:1;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(124,58,237,.55),rgba(30,27,94,.9));border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 16px 36px rgba(0,0,0,.35)}
.sq img{width:72%;height:auto;filter:drop-shadow(0 10px 16px rgba(0,0,0,.35))}
.sq.big{width:100%;max-width:200px;border-radius:30px}
.bgimg{position:absolute;z-index:0;inset:-25%;width:150%;height:150%;object-fit:contain;filter:blur(60px) saturate(1.5);opacity:.32;pointer-events:none}

/* services page */
.c-hero>.wrap>h1{font-size:clamp(36px,5vw,62px);margin:18px 0 16px}
.corners{position:relative}
.corners::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(520px 420px at 0 0,rgba(124,58,237,.42),transparent 70%),radial-gradient(520px 420px at 100% 0,rgba(124,58,237,.42),transparent 70%),radial-gradient(520px 420px at 0 100%,rgba(147,51,234,.4),transparent 70%),radial-gradient(520px 420px at 100% 100%,rgba(147,51,234,.4),transparent 70%)}
.svc-hero .lede{color:#e6e7ff;font-weight:500}
.idents{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.ident{position:relative;overflow:hidden;display:flex;gap:18px;align-items:flex-start;padding:22px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(17,15,48,.72)}
.ident>div:last-child{position:relative;z-index:1}
.ident h3{font:400 21px/1.15 var(--display);color:#fff;margin-bottom:8px}
.ident p{margin:0;color:#fff;font-size:15.5px;font-weight:500;line-height:1.55;opacity:.92}

.scard{position:relative;overflow:hidden;display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:start;padding:36px;border-radius:32px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(160deg,rgba(26,20,72,.86),rgba(12,12,40,.9))}
.scard-body{position:relative;z-index:1;display:grid;gap:12px}
.num{margin:0;font:400 15px/1 var(--display);letter-spacing:.2em;color:var(--cyan)}
.scard h2{color:#fff;font-size:clamp(26px,3.2vw,38px)}
.intro{margin:0;color:#fff;font-size:18px;font-weight:600;opacity:.9}
.backed{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.backed .bk{font:700 11px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.bchip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 7px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:13px;font-weight:700;color:#fff}
.bchip img{width:20px;height:20px}
.slist{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.slist li{position:relative;padding:16px 18px 16px 42px;border-radius:18px;background:rgba(7,6,28,.45);border:1px solid rgba(255,255,255,.1);display:grid;gap:4px}
.slist li::before{content:"";position:absolute;left:18px;top:22px;width:10px;height:10px;border-radius:50%;background:var(--grad)}
.slist b{font-size:17px;line-height:1.3;color:#fff;font-weight:800}
.slist span{color:#fff;font-size:15px;font-weight:500;line-height:1.5;opacity:.88}
.contact-rep{padding-top:40px!important}
.rep-card{position:relative;overflow:hidden;display:flex;gap:32px;align-items:center;padding:40px;border-radius:32px;border:2px solid rgba(37,211,102,.55);background:linear-gradient(135deg,rgba(23,62,52,.55),rgba(26,20,72,.9) 55%)}
.rep-card .sq{width:150px}
.rep-body{position:relative;z-index:1;display:grid;gap:14px;justify-items:start}
.rep-body h2{color:#fff}
.rep-body .lede{color:#e6e7ff}
.btn-wa{background:#25d366;color:#05250f;box-shadow:0 10px 30px -10px rgba(37,211,102,.8)}
.btn-wa:hover{transform:translateY(-2px);background:#2ee372}
.wa-ico{width:20px;height:20px;flex:none}
.rep-pick{display:grid;gap:12px}
.rep-pick summary{list-style:none;cursor:pointer;font-size:16px;padding:17px 28px}
.rep-pick summary::-webkit-details-marker{display:none}
.rep-pick[open] summary{box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.pick{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:900px){.scard{grid-template-columns:1fr;gap:20px;padding:26px}.sq.big{max-width:120px;border-radius:24px}.slist{grid-template-columns:1fr}}
@media (max-width:640px){.rep-card{flex-direction:column;align-items:flex-start;padding:26px}.rep-card .sq{width:96px}.ident{padding:18px}.sq{width:80px}.idents{grid-template-columns:1fr}}

/* register + contact band on every page */
.foot-cta{padding-block:48px}
.foot-cta-in{display:grid;grid-template-columns:1fr auto;gap:18px 32px;align-items:center;padding:30px 34px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(47,212,240,.08),rgba(168,85,247,.14))}
.foot-cta-text h2{font-size:clamp(22px,2.6vw,30px)}
.foot-cta-text p{margin:6px 0 0;color:var(--muted)}
.btn.glow{padding:13px 22px;font-size:14px;animation:glow 2.6s ease-in-out infinite}
@keyframes glow{0%,100%{box-shadow:0 0 16px rgba(168,85,247,.55),0 0 32px rgba(47,212,240,.25)}50%{box-shadow:0 0 26px rgba(236,72,153,.8),0 0 54px rgba(47,212,240,.45)}}
.foot-contact{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:16px;border-top:1px solid var(--line)}
.foot-contact a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:600;text-decoration:none}
.foot-contact a:hover{color:var(--cyan)}
.foot-contact .wa-ico{color:#25d366}
@media (max-width:700px){.foot-cta-in{grid-template-columns:1fr;padding:24px}.btn.glow{justify-self:start}}

/* about tabs */
.atabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.atab{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(20,18,54,.7);text-decoration:none;font-weight:700;font-size:15px;color:var(--muted)}
.atab img{width:28px;height:28px}
.atab:hover{color:var(--ink);border-color:rgba(47,212,240,.5)}
.atab.on{color:#fff;border-color:var(--cyan);background:linear-gradient(135deg,rgba(47,212,240,.18),rgba(168,85,247,.28))}
.apanel>section:first-child{padding-top:40px}
.corners>section.sgroup{padding-block:16px}
.core-intro .tiles.row4{margin-top:28px}
.ph{position:relative;overflow:hidden;display:flex;gap:28px;align-items:center;padding:32px;border-radius:30px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(150deg,rgba(26,20,72,.86),rgba(12,12,40,.9));margin-bottom:28px}
.ph .sq{width:140px}
.ph-text{position:relative;z-index:1;display:grid;gap:12px}
.ph-text h2{color:#fff}
.ph-text .lede{color:#e6e7ff;font-weight:500}
.prose{max-width:820px;display:grid;gap:14px;margin:8px 0 26px}
.prose p{margin:0;font-size:18px;line-height:1.65;color:#e6e7ff}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.pillar{padding:24px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel),var(--deep));display:grid;gap:8px;align-content:start}
.pillar b{font:400 20px/1.2 var(--display);color:#fff}
.pillar p{margin:0;color:#e6e7ff;font-size:15.5px}
.sub{font-size:22px;margin:30px 0 14px}
.tiles.mkt{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.tiles.mkt strong{font-size:clamp(26px,2.6vw,34px)}
.source+.prose{margin-top:18px}
.tile small{display:block;margin-top:10px;font-size:11.5px;line-height:1.4;color:var(--muted)}
.plats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.plat{padding:24px;border-radius:22px;border:1px solid rgba(236,72,153,.35);background:linear-gradient(160deg,rgba(60,16,70,.55),var(--deep));display:grid;gap:8px}
.plat strong{font:400 clamp(28px,3.4vw,40px)/1 var(--display);color:#fff}
.plat p{margin:0;color:#e6e7ff;font-size:15px}
.promise{position:relative;overflow:hidden;padding:32px;border-radius:28px;border:2px solid var(--cyan);background:linear-gradient(135deg,rgba(47,212,240,.1),rgba(168,85,247,.18));display:grid;gap:12px}
.promise>*:not(.bgimg){position:relative;z-index:1}
.promise .big{margin:0;font:400 clamp(20px,2.4vw,28px)/1.35 var(--display);color:#fff}
.eus.now .eu{border-color:var(--cyan)}
.eu b{display:block}
.eu small{display:block;color:var(--muted);font-size:12.5px;font-weight:600}
@media (max-width:640px){.ph{flex-direction:column;align-items:flex-start;padding:24px}.ph .sq{width:96px}.atab{font-size:14px}}
.eus+.prose{margin-top:26px}

/* course finder */
.tab-cf{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(168,85,247,.55)}
.tab-cf img{width:18px;height:18px;flex:none}
.uni:target{border-color:var(--cyan);box-shadow:0 0 0 2px var(--cyan),0 20px 50px -20px rgba(47,212,240,.5)}
.cf-hero h1 span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cf-search{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:30px;padding:18px;border-radius:24px;background:rgba(22,22,61,.78);border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.cf-field{display:grid;gap:7px;min-width:0}
.cf-field label{font:700 11.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.cf-field input,.cf-field select,.cf-sort select{font:500 16px/1.2 var(--body);color:var(--ink);background:var(--night);border:1px solid var(--line);border-radius:14px;padding:14px 16px;width:100%;min-width:0}
.cf-field select,.cf-sort select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232fd4f0' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.cf-field input:focus,.cf-field select:focus,.cf-sort select:focus{outline:2px solid var(--cyan);outline-offset:1px}
.cf-go{height:50px;padding-inline:24px}
.cf-go img{width:22px;height:22px}
.cf-popular{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.cf-popular>span{font:700 11.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.cf-popular .chip{padding:7px 13px;font-size:13.5px}
button.chip{background:none;font-family:inherit;cursor:pointer}
@media (max-width:900px){.cf-search{grid-template-columns:1fr 1fr}.cf-field.grow,.cf-go{grid-column:1/-1}}
@media (max-width:480px){.cf-search{grid-template-columns:1fr;padding:14px}}
main section.cf-results{padding-block:28px 56px}
.cf-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}
.cf-side{position:sticky;top:150px;max-height:calc(100vh - 170px);overflow:auto;padding:6px 16px 16px;border-radius:22px;border:1px solid var(--line);background:rgba(22,22,61,.7);scrollbar-width:thin}
.cf-side-head{display:flex;align-items:center;gap:10px;padding:12px 0 10px}
.cf-side-head b{font:400 20px/1 var(--display);margin-right:auto}
.cf-clear{background:none;border:0;color:var(--cyan);font:700 13px/1 var(--body);cursor:pointer;padding:6px}
.cf-close{display:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);font-size:24px;line-height:1;cursor:pointer}
.facet{border:0;border-top:1px solid var(--line);margin:0;padding:12px 0 10px;min-width:0}
.facet legend{float:left;width:100%;padding:0;margin-bottom:6px;font:700 11.5px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.fscroll{clear:both;max-height:310px;overflow:auto;margin-right:-8px;padding-right:6px;scrollbar-width:thin}
.fopt{clear:both;display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:10px;cursor:pointer;font-size:14.5px;line-height:1.25}
.fopt:hover{background:rgba(255,255,255,.05)}
.fopt input{width:17px;height:17px;margin:0;flex:none;accent-color:var(--violet);cursor:pointer}
.fopt img{width:22px;height:22px;flex:none}
.fopt img.flag{width:22px;height:16.5px}
.fopt span{flex:1;min-width:0}
.fopt .n{font:600 12.5px/1 var(--body);color:var(--muted)}
.fopt.zero{opacity:.42;cursor:default}
.fopt.zero input{cursor:default}
.cf-apply{display:none}
.cf-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.cf-view{display:inline-flex;padding:4px;border-radius:999px;border:1px solid var(--line);background:rgba(22,22,61,.7)}
.cf-view button{border:0;background:none;color:var(--muted);font:700 14px/1 var(--body);padding:10px 18px;border-radius:999px;cursor:pointer}
.cf-view button.on{background:var(--grad);color:#fff}
.cf-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cf-tools .btn.sm{padding:10px 16px}
.cf-short-btn img{width:18px;height:18px}
.cf-short-btn b,.cf-filters-btn b{color:var(--cyan)}
.cf-short-btn.on{background:rgba(236,72,153,.14);box-shadow:inset 0 0 0 2px var(--pink)}
.cf-filters-btn{display:none}
.cf-sort{display:flex;align-items:center;gap:8px;font:600 13px/1 var(--body);color:var(--muted)}
.cf-sort select{width:auto;padding:10px 38px 10px 14px;font-size:14px;border-radius:999px}
.cf-count{margin:18px 0 10px;color:var(--muted)}
.cf-count b{color:var(--ink)}
.cf-active{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.cf-active:empty{display:none}
.cf-active button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid rgba(47,212,240,.5);background:rgba(47,212,240,.08);color:var(--ink);font:600 13px/1 var(--body);cursor:pointer}
.cf-active button span{color:var(--cyan);font-size:16px;line-height:.8}
.cf-active button.clear{border-color:transparent;background:none;color:var(--cyan)}
.cf-sl-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:18px 20px;border-radius:20px;border:1px solid rgba(37,211,102,.45);background:rgba(37,211,102,.08)}
.cf-sl-cta p{margin:4px 0 0;color:var(--muted);font-size:14.5px;max-width:56ch}
.cf-sl-cta[hidden]{display:none}
.cf-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.cc{display:flex;flex-direction:column;gap:10px;min-width:0;padding:20px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(22,22,61,.94),rgba(14,14,42,.94));transition:border-color .15s ease,transform .15s ease}
.cc:hover{border-color:rgba(47,212,240,.5);transform:translateY(-2px)}
.cc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cc-loc{display:flex;align-items:center;gap:8px;min-width:0;font:600 13px/1.3 var(--body);color:var(--muted)}
.cc-heart{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;color:var(--muted)}
.cc-heart svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.cc-heart:hover{border-color:var(--pink);color:var(--pink)}
.cc-heart.on{border-color:var(--pink);background:rgba(236,72,153,.15);color:var(--pink)}
.cc-heart.on svg{fill:currentColor}
.cc-area{display:flex;align-items:center;gap:8px;margin:0;font:700 11.5px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
.cc-area img{width:22px;height:22px}
.cc h3{font-size:19px;line-height:1.22;overflow-wrap:anywhere}
.cc-inst{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:14.5px}
.cc-inst a,.ic h3 a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px}
.cc-inst a:hover,.ic h3 a:hover{text-decoration-color:var(--cyan)}
.cc-qs{flex:none;padding:4px 9px;border-radius:999px;background:rgba(47,212,240,.12);color:var(--cyan);font:700 12px/1.2 var(--body);white-space:nowrap}
.cc-qs.muted{background:rgba(255,255,255,.06);color:var(--muted)}
.cc-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.cc-meta dt{font:700 10px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cc-meta dd{margin:4px 0 0;font:600 14px/1.3 var(--body)}
.cc-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}
.cc-act .btn{flex:1 1 auto;padding:11px 14px}
.ic h3{font-size:21px}
.ic h3 a{text-decoration-thickness:1px}
.ic-facts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;color:var(--muted);font-size:13.5px}
.ic-n{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.ic-n b{color:var(--cyan);font-size:17px}
.ic-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ic-list li{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.35}
.ic-list small{color:var(--muted);white-space:nowrap}
.ic-areas{display:flex;flex-wrap:wrap;gap:6px}
.cc-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:var(--muted)}
.cc-chip img{width:18px;height:18px}
.cf-empty{text-align:center;padding:44px 20px;border:1px dashed var(--line);border-radius:22px}
.cf-empty[hidden]{display:none}
.cf-empty h3{font-size:24px;margin:12px 0 8px}
.cf-empty p{color:var(--muted);max-width:52ch;margin:0 auto}
.cf-empty div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.cf-more{text-align:center;margin-top:24px}
.cf-more .btn[hidden]{display:none}
.cf-results .source a{color:var(--cyan)}
main section.cf-how{padding-block:24px 64px}
@media (max-width:999px){
  .cf-layout{grid-template-columns:1fr}
  .cf-side{display:none;position:fixed;inset:0;z-index:60;max-height:none;border-radius:0;border:0;background:var(--night);padding:max(8px,env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px))}
  .cf-open .cf-side{display:block}
  .cf-close{display:grid;place-items:center}
  .cf-apply{display:flex;position:sticky;bottom:0;width:calc(100% + 40px);margin:8px -20px 0;border-radius:0;padding:18px;padding-bottom:max(18px,env(safe-area-inset-bottom,0px))}
  .fscroll{max-height:none}
  .cf-filters-btn{display:inline-flex}
}
html.cf-lock{overflow:hidden}
@media (max-width:640px){.cf-bar{align-items:stretch}.cf-view{align-self:flex-start}.cf-tools{width:100%}.cf-sort{margin-left:auto}.cf-list{grid-template-columns:1fr}.cc-meta{grid-template-columns:1fr 1fr}.cc-meta div:last-child{grid-column:1/-1}}
main section.cf-band{padding-block:8px 32px}
.cf-band-in{position:relative;padding:28px;border-radius:28px;border:1px solid rgba(168,85,247,.45);background:linear-gradient(135deg,rgba(124,58,237,.28),rgba(22,22,61,.88) 55%,rgba(47,212,240,.12));box-shadow:0 30px 70px -40px rgba(168,85,247,.8)}
.cf-band-head{display:flex;align-items:center;gap:16px}
.cf-band-head img{width:64px;height:64px;flex:none;filter:drop-shadow(0 10px 16px rgba(0,0,0,.35))}
.cf-band-head h2{font-size:clamp(26px,3.2vw,38px);margin-top:8px}
.cf-band .cf-search{margin-top:22px;background:rgba(7,11,31,.55)}
@media (max-width:640px){.cf-band-in{padding:20px}.cf-band-head img{width:48px;height:48px}}

/* logo N at the start of words */
.nm{position:relative;color:transparent!important;-webkit-text-fill-color:transparent}
.nm::after{content:"";position:absolute;left:-.06em;right:-.06em;top:50%;height:.86em;transform:translateY(-46%);background:url(n.svg) center/contain no-repeat;pointer-events:none}
.nm.lc::after{height:.64em;transform:translateY(-30%)}
.tagline{margin:10px 0 0;font:400 18px/1.2 var(--display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tagline .nm::after{height:.9em}

/* mascot pop-ups */
.mpop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:20px;background:rgba(7,11,31,.72);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease}
.mpop.in{opacity:1}.mpop.out{opacity:0}
.mpop-card{position:relative;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);align-items:center;gap:8px 24px;max-width:720px;width:100%;perspective:900px}
.mpop-img{width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5)) drop-shadow(0 0 40px rgba(168,85,247,.45));transform-origin:50% 100%}
.mpop.in .mpop-img{animation:pop3d .9s cubic-bezier(.2,1.4,.4,1) both,bob 3.2s ease-in-out .9s infinite}
@keyframes pop3d{0%{opacity:0;transform:translateY(45%) rotateX(65deg) rotateY(-25deg) scale(.25)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-1.5deg)}}
.mpop-bubble{position:relative;padding:26px 28px;border-radius:26px;background:linear-gradient(160deg,rgba(40,24,110,.97),rgba(18,16,56,.97));border:1px solid rgba(168,85,247,.6);box-shadow:0 30px 70px -30px rgba(168,85,247,.9);opacity:0;transform:scale(.8) translateX(-20px);transform-origin:left center}
.mpop.in .mpop-bubble{animation:bubble .5s cubic-bezier(.2,1.3,.4,1) .45s both}
@keyframes bubble{to{opacity:1;transform:none}}
.mpop-bubble::before{content:"";position:absolute;left:-12px;top:50%;width:24px;height:24px;background:inherit;border-left:1px solid rgba(168,85,247,.6);border-bottom:1px solid rgba(168,85,247,.6);transform:translateY(-50%) rotate(45deg);background:rgba(34,22,96,.97)}
.mpop-bubble h3{font-size:clamp(26px,3.4vw,38px);margin:8px 0 10px}
.mpop-bubble p{margin:0;color:var(--muted);font-size:16.5px}
.mpop-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.mpop-x{position:absolute;top:-6px;right:-6px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--night);color:var(--ink);font-size:24px;line-height:1;cursor:pointer;z-index:2}
.mpop-thanks{inset:auto 20px 20px auto;place-items:end;background:none;backdrop-filter:none;padding:0;pointer-events:none}
.mpop-thanks .mpop-card{pointer-events:auto;grid-template-columns:150px 260px;max-width:440px;gap:0 14px}
.mpop-thanks .mpop-bubble{padding:18px 20px}.mpop-thanks .mpop-bubble h3{font-size:22px;margin-top:0}.mpop-thanks .mpop-bubble p{font-size:14.5px}.mpop-thanks .tagline{font-size:15px}
.mpop-thanks .mpop-x{top:-14px;right:-10px;width:34px;height:34px;font-size:20px}
@media (max-width:640px){
  .mpop-card{grid-template-columns:1fr;justify-items:center;text-align:center}
  .mpop-img{max-width:200px}
  .mpop-bubble::before{left:50%;top:-12px;transform:translateX(-50%) rotate(135deg)}
  .mpop-act{justify-content:center}
  .mpop-thanks{inset:auto 12px 12px 12px}
  .mpop-thanks .mpop-card{grid-template-columns:96px 1fr;text-align:left;justify-items:stretch;max-width:none}
  .mpop-thanks .mpop-img{max-width:96px}.mpop-thanks .mpop-bubble::before{display:none}
}

/* chat assistant */
.sbchat-btn{position:fixed;z-index:70;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;padding:0;border:0;background:none;cursor:pointer;flex-direction:row-reverse}
.sbchat-face{display:grid;place-items:end center;width:68px;height:68px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 35%,#c4a3ff,#7c3aed 60%,#3b1786);box-shadow:0 0 0 3px rgba(255,255,255,.18),0 14px 34px -8px rgba(168,85,247,.9);animation:float 4s ease-in-out infinite}
.sbchat-face img{width:118%;height:auto;margin-bottom:-38%;}
.sbchat-face.sm{width:44px;height:44px;animation:none;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.sbchat-hint{padding:10px 14px;border-radius:16px 16px 4px 16px;background:#fff;color:#1b1250;font:700 14px/1.2 var(--body);white-space:nowrap;box-shadow:0 10px 30px -8px rgba(0,0,0,.5);opacity:0;transform:translateX(10px) scale(.9);transition:.3s ease;pointer-events:none}
.sbchat-btn.hint .sbchat-hint,.sbchat-btn:hover .sbchat-hint{opacity:1;transform:none}
.sbchat-btn.hide{opacity:0;pointer-events:none;transform:scale(.6);transition:.2s}
.sbchat{position:fixed;z-index:75;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));width:min(390px,calc(100vw - 36px));height:min(590px,calc(100vh - 120px));display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#0e0c2c;border:1px solid rgba(168,85,247,.5);box-shadow:0 30px 80px -20px rgba(0,0,0,.8),0 0 60px -20px rgba(168,85,247,.7);opacity:0;transform:translateY(20px) scale(.96);transform-origin:bottom right;pointer-events:none;transition:.25s ease}
.sbchat.open{opacity:1;transform:none;pointer-events:auto}
.sbchat header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(120deg,#5b21b6,#7c3aed 50%,#a21caf)}
.sbchat header div{flex:1;display:grid}.sbchat header b{font-size:15px}.sbchat header small{font-size:12px;opacity:.85;display:flex;align-items:center;gap:6px}
.sbchat header small i{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80}
.sbchat-x{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:22px;cursor:pointer}
.sbchat-log{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.msg{max-width:86%;padding:10px 14px;border-radius:18px;font-size:14.5px;line-height:1.45}
.msg.bot{align-self:flex-start;background:#1d1a4d;border:1px solid var(--line);border-bottom-left-radius:6px}
.msg.you{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:6px}
.msg .act{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.msg.typing{display:flex;gap:4px;padding:14px}
.msg.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:dot 1s infinite}
.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.sbchat-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}
.sbchat-chips:empty{display:none}
.sbchat-chips button{padding:8px 12px;border-radius:999px;border:1px solid rgba(47,212,240,.55);background:rgba(47,212,240,.08);color:var(--ink);font:600 13px/1.1 var(--body);cursor:pointer}
.sbchat-chips button:hover{background:rgba(47,212,240,.18)}
.sbchat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:#0b0a24}
.sbchat-form input{flex:1;min-width:0;font:inherit;font-size:15px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:11px 16px}
.sbchat-form button{width:44px;height:44px;border-radius:50%;border:0;background:var(--grad);color:#fff;font-size:17px;cursor:pointer}
@media (max-width:520px){.sbchat{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0}}

/* train loading screen */
html.tx-lock{overflow:hidden}
.trainx{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#6d28d9 0%,#3b1786 40%,#12082e 80%);opacity:0;transition:opacity .25s}
.trainx.go{opacity:1}
.tx-scene{position:relative;display:grid;justify-items:center;gap:22px;perspective:900px}
.tx-ticket{position:relative;display:grid;grid-template-columns:150px 220px 60px;height:170px;border-radius:16px;background:linear-gradient(120deg,#efe6ff,#d9c6ff);color:#2a145e;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);transform:rotate(-3deg)}
.tx-ticket::before,.tx-ticket::after{content:"";position:absolute;right:52px;width:18px;height:18px;border-radius:50%;background:#2c1170}
.tx-ticket::before{top:-9px}.tx-ticket::after{bottom:-9px}
.tx-tl{display:grid;align-content:center;padding:0 16px;gap:2px}
.tx-tl b{font:400 18px/1 var(--display);letter-spacing:.02em}.tx-tl span{font:400 30px/1 var(--display);color:#7c3aed}.tx-tl small{font:600 10px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;margin-top:6px}
.tx-window{position:relative;margin:14px 0;border-radius:10px;overflow:visible;background:#1a0c44;perspective:500px}
.tx-tunnel{position:absolute;inset:0;border-radius:10px;background:radial-gradient(circle at 50% 55%,#fff6d6 0%,#ffc56b 12%,#a855f7 38%,#1a0c44 75%);opacity:0}
.tx-door{position:absolute;inset:0;border-radius:10px;background:linear-gradient(90deg,#5b21b6,#7c3aed);border:3px solid #c4b5fd;transform-origin:left center;box-shadow:inset 0 0 0 6px rgba(255,255,255,.08)}
.tx-door i{position:absolute;right:14px;top:50%;width:10px;height:10px;border-radius:50%;background:#facc15;box-shadow:0 0 8px #facc15}
.tx-train{height:auto;position:absolute;left:50%;top:50%;width:120px;transform:translate(-50%,-50%) scale(.12);opacity:0;z-index:3;filter:drop-shadow(0 20px 30px rgba(0,0,0,.5))}
.tx-stub{display:grid;place-items:center;border-left:2px dashed #a78bfa}
.tx-stub span{transform:rotate(90deg);font:400 18px/1 var(--display);color:#7c3aed;letter-spacing:.2em}
.tx-hand{height:auto;position:absolute;width:110px;right:-150px;top:40px;opacity:0;z-index:4;transform:rotate(-20deg)}
.tx-label{margin:0;color:#fff;font:600 17px/1.4 var(--body);text-align:center}
.tx-bar{width:260px;height:6px;border-radius:6px;background:rgba(255,255,255,.18);overflow:hidden}
.tx-bar i{display:block;height:100%;width:0;background:var(--grad)}
.trainx.go .tx-hand{animation:txhand 1s ease-out .1s both}
.trainx.go .tx-door{animation:txdoor .6s ease-in .75s both}
.trainx.go .tx-tunnel{animation:txglow .5s ease .8s both}
.trainx.go .tx-train{animation:txtrain 1.5s cubic-bezier(.5,0,.8,.6) 1.15s both}
.trainx.go .tx-bar i{animation:txbar 2.6s linear both}
@keyframes txhand{0%{opacity:0;transform:translate(80px,20px) rotate(-20deg)}55%{opacity:1;transform:translate(-120px,30px) rotate(-10deg)}75%{transform:translate(-110px,30px) rotate(-30deg)}100%{opacity:0;transform:translate(60px,60px) rotate(-30deg)}}
@keyframes txdoor{to{transform:rotateY(100deg);opacity:.35}}
@keyframes txglow{to{opacity:1}}
@keyframes txtrain{0%{opacity:0;transform:translate(-50%,-50%) scale(.12)}15%{opacity:1}100%{opacity:1;transform:translate(-20%,40%) scale(9)}}
@keyframes txbar{to{width:100%}}
@media (max-width:520px){.tx-ticket{grid-template-columns:110px 160px 44px;height:140px}.tx-tl span{font-size:24px}.tx-ticket::before,.tx-ticket::after{right:36px}}

/* landmark squares */
.lm{flex:none;width:52px;height:52px;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.15),0 8px 18px -6px rgba(0,0,0,.6)}
.lm img{display:block;width:100%;height:100%}
.uni-top{align-items:center}
.uni-top h3{flex:1}
.cc-inst .lm{width:30px;height:30px;border-radius:8px}

/* country page: public / private picker */
.type-switch{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.type-switch button{padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--muted);font:700 14px/1 var(--body);cursor:pointer}
.type-switch button b{color:var(--cyan);margin-left:4px}
.type-switch button.on{color:#fff;border-color:transparent;background:var(--grad)}
.type-switch button.on b{color:#fff}
.cpick{position:fixed;inset:0;z-index:85;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 70% 40%,#6d28d9 0%,#2e1065 45%,#0b0726 85%);opacity:0;transition:opacity .35s}
.cpick.in{opacity:1}.cpick.out{opacity:0}
.cpick-stage{position:relative;display:grid;grid-template-columns:auto auto;align-items:end;gap:0;max-width:900px;width:100%;justify-content:center}
.cpick-girl{width:min(42vw,380px);height:auto;margin-right:-40px;position:relative;z-index:2;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5));animation:pop3d .9s cubic-bezier(.2,1.3,.4,1) both}
.cpick-x{position:absolute;top:0;right:0;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.25);color:#fff;font-size:24px;cursor:pointer;z-index:3}
.phone{position:relative;width:min(330px,80vw);aspect-ratio:9/18.5;border-radius:44px;padding:12px;background:linear-gradient(145deg,#2b2a3d,#0c0b18);box-shadow:0 0 0 2px #4b4a63,0 40px 80px -30px rgba(0,0,0,.9),0 0 90px -30px rgba(168,85,247,.9)}
.phone::before{content:"";position:absolute;left:50%;top:20px;width:90px;height:22px;border-radius:12px;background:#0c0b18;transform:translateX(-50%);z-index:2}
.phone-screen{height:100%;border-radius:34px;overflow:hidden;background:linear-gradient(180deg,#fff,#f3eeff);color:#1b1250;display:flex;flex-direction:column;padding:52px 18px 20px}
.phone-screen h3{font:400 22px/1.15 var(--display);text-align:center;margin:6px 0 4px;color:#2a145e}
.phone-screen p.sub{margin:0 0 18px;text-align:center;font-size:13.5px;color:#5b4b8a}
.glow-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:14px;padding:18px 20px;border:0;border-radius:18px;background:var(--grad);color:#fff;font:700 17px/1.1 var(--body);letter-spacing:.03em;cursor:pointer;box-shadow:0 0 0 0 rgba(168,85,247,.6),0 12px 28px -10px rgba(124,58,237,.9);animation:glowp 2.4s ease-in-out infinite;text-decoration:none}
.glow-opt:nth-of-type(2){animation-delay:.4s}.glow-opt:nth-of-type(3){animation-delay:.8s}
.glow-opt small{font:600 12.5px/1 var(--body);opacity:.9}
.glow-opt[disabled]{opacity:.45;cursor:not-allowed;animation:none}
.glow-opt.alt{background:linear-gradient(90deg,#1b1250,#4c1d95)}
@keyframes glowp{0%,100%{box-shadow:0 0 0 0 rgba(168,85,247,.55),0 12px 28px -10px rgba(124,58,237,.9)}50%{box-shadow:0 0 0 8px rgba(168,85,247,0),0 12px 34px -6px rgba(236,72,153,.9)}}
@media (max-width:640px){.cpick-stage{grid-template-columns:1fr;justify-items:center}.cpick-girl{width:150px;margin:0 0 -26px;order:-1}.phone{width:min(300px,86vw);aspect-ratio:auto;height:auto}.phone-screen{padding:44px 16px 18px}}

/* home hero phone with destinations */
.hero-phone{position:relative;display:grid;justify-items:end;align-items:end}
.hero-phone .phone{width:min(310px,72vw)}
.hero-phone .girl{height:auto;position:absolute;left:-30px;bottom:-10px;width:min(56%,280px);z-index:2;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55));animation:bob 4s ease-in-out infinite}
.dest-list{display:grid;gap:8px;overflow:auto;scrollbar-width:none}
.dest-row{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 8px;border-radius:14px;background:#fff;box-shadow:0 4px 14px -6px rgba(76,29,149,.35);text-decoration:none;color:#1b1250;font-weight:700;font-size:14px;transition:transform .15s}
.dest-row:hover{transform:translateX(-3px);box-shadow:0 6px 18px -6px rgba(124,58,237,.6)}
.dest-row .lm{width:40px;height:40px;border-radius:10px}
.dest-row .flag{margin-left:auto}
.dest-row small{display:block;font:600 11.5px/1.2 var(--body);color:#7c6aa8}
.hero-phone .float{z-index:3}
.hero-phone .float.c1{right:auto;left:2%;top:14%}
.hero-phone .float.c2{right:auto;left:-4%;top:34%}
@media (max-width:900px){.hero-phone .float.c1{left:0;top:4%}.hero-phone .float.c2{left:auto;right:0;top:auto;bottom:6%}}
@media (max-width:900px){.hero-phone{justify-items:center}.hero-phone .girl{left:0;width:44%}}

/* register keys (home) */
.keys{position:relative;margin-top:26px;padding:34px 28px 30px;border-radius:30px;background:linear-gradient(180deg,#1a1838,#0d0c22);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 60px -30px rgba(0,0,0,.8)}
.keys-deck{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;margin-bottom:18px;opacity:.55}
.keys-deck span{height:30px;border-radius:8px;background:linear-gradient(180deg,#2a2850,#1a1838);box-shadow:inset 0 -3px 0 rgba(0,0,0,.4),0 2px 0 #0a0918;font:700 11px/30px var(--body);color:#8a86b8;text-align:center}
.keys-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;align-items:stretch}
.key{position:relative;display:grid;align-content:center;justify-items:center;gap:6px;min-height:120px;padding:18px;border-radius:22px;text-decoration:none;color:#fff;background:linear-gradient(180deg,#34316a,#211e4a);box-shadow:inset 0 2px 0 rgba(255,255,255,.12),inset 0 -8px 0 rgba(0,0,0,.35),0 6px 0 #0a0918,0 20px 30px -12px rgba(0,0,0,.7);transition:transform .12s ease,box-shadow .12s ease}
.key:hover{transform:translateY(3px);box-shadow:inset 0 2px 0 rgba(255,255,255,.12),inset 0 -5px 0 rgba(0,0,0,.35),0 3px 0 #0a0918,0 14px 24px -12px rgba(0,0,0,.7)}
.key b{font:400 clamp(24px,3vw,34px)/1 var(--display);letter-spacing:.04em}
.key small{font:600 13px/1.3 var(--body);color:#c9c4f2;text-align:center}
.key.start{background:radial-gradient(circle at 50% 40%,#ff7ab8 0%,#c026d3 35%,#7c3aed 75%);box-shadow:inset 0 2px 0 rgba(255,255,255,.35),inset 0 -8px 0 rgba(76,29,149,.6),0 6px 0 #3b0764,0 0 50px -6px rgba(236,72,153,.9),0 0 90px -20px rgba(168,85,247,1);animation:keyglow 2.2s ease-in-out infinite}
.key.start small{color:#fff}
@keyframes keyglow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}
.key-finger{height:auto;position:absolute;width:86px;left:14%;top:-58px;z-index:3;pointer-events:none;filter:drop-shadow(0 16px 18px rgba(0,0,0,.5));animation:press 2.2s ease-in-out infinite}
@keyframes press{0%,100%{transform:translateY(-8px)}45%,55%{transform:translateY(12px)}}
@media (max-width:760px){.keys-row{grid-template-columns:1fr}.keys-deck{grid-template-columns:repeat(8,1fr)}.keys-deck span:nth-child(n+17){display:none}.key-finger{left:auto;right:12%;width:70px}}

/* vision bridge */
.bridge{position:relative;margin:34px 0 10px;border-radius:30px;overflow:hidden;aspect-ratio:16/9;background:linear-gradient(180deg,#bfe9ff 0%,#e9dcff 55%,#fbe4f2 100%);box-shadow:0 30px 60px -30px rgba(124,58,237,.6)}
.bridge svg.cliffs{position:absolute;inset:0;width:100%;height:100%}
.bridge .line{stroke-dasharray:1;stroke-dashoffset:1}
.bridge.play .line{animation:draw 2.4s cubic-bezier(.4,0,.3,1) forwards}
.bridge .pencil{position:absolute;width:22%;height:auto;left:24.2%;top:22%;z-index:3;filter:drop-shadow(0 20px 20px rgba(42,20,94,.35))}
.bridge.play .pencil{animation:pencil 2.4s cubic-bezier(.4,0,.3,1) forwards,scribble .18s linear 0s 13 alternate}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pencil{from{translate:216% 0}to{translate:0 0}}
@keyframes scribble{from{rotate:0deg}to{rotate:2deg}}
.runner{position:absolute;width:8%;height:auto;bottom:38.5%;z-index:2;opacity:0}
.runner.r1{left:35%}.runner.r2{left:46%}.runner.r3{left:55%}.runner.r4{left:64%}
.bridge.play .runner{animation:fadein .5s ease forwards,run .45s ease-in-out infinite alternate}
.bridge.play .r1{animation-delay:2.1s,2.1s}.bridge.play .r2{animation-delay:1.7s,1.8s}.bridge.play .r3{animation-delay:1.3s,1.5s}.bridge.play .r4{animation-delay:.9s,1.2s}
@keyframes fadein{to{opacity:1}}
@keyframes run{from{translate:0 0}to{translate:0 -5%}}
.runner-flag{position:absolute;left:41.6%;bottom:47%;width:4.6%;height:15%;border-left:3px solid #5b3a1a;z-index:2;opacity:0}
.runner-flag img{display:block;width:100%;height:auto;border-radius:2px;box-shadow:0 2px 6px rgba(0,0,0,.25);transform-origin:left center;animation:flagwave 1.4s ease-in-out infinite}
.bridge.play .runner-flag{animation:fadein .5s ease 2.1s forwards}
@keyframes flagwave{0%,100%{transform:skewY(0)}50%{transform:skewY(-6deg) scaleX(.94)}}
.bridge .pin{position:absolute;display:grid;justify-items:center;gap:6px;font:700 clamp(11px,1.5vw,17px)/1.1 var(--body);color:#2a145e;z-index:2;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.75)}
.bridge .pin i{display:none}
.pin.left{left:4%;top:50%}.pin.right{right:4%;top:50%}
.bridge-text{position:absolute;left:0;right:0;bottom:5%;margin:0;text-align:center;z-index:3;color:#2a145e}
.bridge-text em{display:block;font:italic 600 clamp(13px,2vw,24px)/1.1 var(--body);color:#fff;text-shadow:0 2px 10px rgba(59,23,134,.6)}
.bridge-text strong{display:block;font:400 clamp(40px,9vw,112px)/.95 var(--display);color:#fff;text-shadow:0 4px 0 #4c1d95,0 10px 30px rgba(59,23,134,.6)}
.bridge-text span{display:block;font:600 clamp(16px,2.8vw,34px)/1.1 var(--body);color:#fff;letter-spacing:.04em;text-shadow:0 2px 10px rgba(59,23,134,.6)}
@media (max-width:640px){.bridge{aspect-ratio:4/3.4;border-radius:22px}.bridge .pencil{top:34%}.runner{width:9%}.bridge .pin{top:auto;bottom:47%;padding:4px 8px}}
@media (prefers-reduced-motion:reduce){.bridge .line{stroke-dashoffset:0}.bridge .runner,.bridge .runner-flag{opacity:1}.bridge.play .pencil,.bridge.play .runner{animation:none}}

/* services art: passport and phone shop */
.art{position:relative;z-index:1;width:100%;max-width:200px;aspect-ratio:1;display:grid;place-items:center}
.passport{position:relative;width:100%;aspect-ratio:1.45;transform:perspective(500px) rotateX(16deg) rotateZ(-6deg)}
.pp-page{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(160deg,#fbf7ef,#e9e1d1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 18px 30px -12px rgba(0,0,0,.7)}
.pp-page.l{left:0;border-radius:10px 2px 2px 10px;background:linear-gradient(200deg,#fbf7ef,#e2d8c4)}.pp-page.r{right:0;border-radius:2px 10px 10px 2px}
.pp-lines{position:absolute;left:12%;right:12%;bottom:12%;height:30%;background:repeating-linear-gradient(180deg,transparent 0 7px,rgba(76,29,149,.25) 7px 8px)}
.stamp{position:absolute;padding:3px 5px;border:2px solid #be185d;border-radius:6px;color:#be185d;font:800 8.5px/1.05 var(--body);letter-spacing:.06em;opacity:.85;transform:rotate(-10deg);text-align:center}
.stamp.s2{border-color:#6d28d9;color:#6d28d9;transform:rotate(7deg)}
.popup-lm{position:absolute;bottom:40%;width:30%;height:auto;border-radius:8px;transform-origin:bottom center;box-shadow:0 10px 16px -6px rgba(0,0,0,.45)}
.popup-lm.p1{left:52%}.popup-lm.p2{left:68%;width:26%;bottom:34%}.popup-lm.p3{left:58%;bottom:66%;width:22%}
.reveal .popup-lm{transform:rotateX(90deg)}
.reveal.play .popup-lm{animation:popup .8s cubic-bezier(.2,1.4,.4,1) forwards}
.reveal.play .p2{animation-delay:.25s}.reveal.play .p3{animation-delay:.5s}
@keyframes popup{from{transform:rotateX(90deg)}to{transform:none}}
.art-fx{height:auto;position:absolute;width:42%;left:-8%;bottom:-6%;transform:rotate(-12deg);filter:drop-shadow(0 12px 14px rgba(0,0,0,.5))}
.shop{position:relative;width:56%;aspect-ratio:9/16;border-radius:20px;background:linear-gradient(160deg,#2b2a3d,#0c0b18);padding:5px;box-shadow:0 0 0 2px #4b4a63,0 20px 40px -14px rgba(0,0,0,.8);transform:rotate(-6deg);justify-self:start;margin-left:2%}
.shop-screen{position:relative;display:block;height:100%;border-radius:16px;background:linear-gradient(180deg,#f5f0ff,#ddd0ff);overflow:hidden}
.shop-sign{position:absolute;left:8%;right:8%;top:30%;padding:4px 0;border-radius:6px;background:#2a145e;color:#fff;font:400 9px/1.2 var(--display);text-align:center;letter-spacing:.04em}
.shop-win{position:absolute;left:10%;width:36%;top:48%;height:22%;border-radius:4px;background:linear-gradient(135deg,#a5f3fc,#c4b5fd)}
.shop-door{position:absolute;right:12%;width:30%;top:48%;bottom:8%;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#7c3aed,#4c1d95)}
.awning{position:absolute;top:13%;left:-12%;right:-12%;height:13%;background:repeating-linear-gradient(90deg,#c026d3 0 16.6%,#fff 16.6% 33.3%);border-radius:0 0 40% 40%/0 0 70% 70%;box-shadow:0 8px 12px -6px rgba(0,0,0,.35);z-index:2}
.scroll{position:absolute;left:46%;top:20%;display:grid;gap:5px;padding:9px 10px 12px;border-radius:10px;background:linear-gradient(180deg,#fff,#f3eeff);box-shadow:0 14px 24px -10px rgba(0,0,0,.6);transform:rotate(5deg);transform-origin:top center;z-index:3}
.scroll::before{content:"";position:absolute;left:-4px;right:-4px;top:-6px;height:10px;border-radius:6px;background:linear-gradient(180deg,#c4b5fd,#7c3aed)}
.scroll span{display:flex;align-items:center;gap:6px;color:#2a145e;font:700 11px/1 var(--body);white-space:nowrap}
.scroll img{width:24px;height:24px;padding:2px;border-radius:7px;background:#ede5ff}
.reveal .scroll{clip-path:inset(0 0 100% 0)}
.reveal.play .scroll{animation:unroll 1.1s ease-out .2s forwards}
@keyframes unroll{to{clip-path:inset(-10px -10px -10px -10px)}}
@media (max-width:900px){.art{max-width:180px}}
@media (prefers-reduced-motion:reduce){.reveal .popup-lm{transform:none}.reveal .scroll{clip-path:none}}

/* tool pages */
.tool-hero .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px;align-items:center}
.tool-hero .mascot-big{width:100%;max-width:230px;height:auto;justify-self:center;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5)) drop-shadow(0 0 50px rgba(168,85,247,.45));animation:pop3d .9s cubic-bezier(.2,1.3,.4,1) both,bob 3.6s ease-in-out .9s infinite}
@media (max-width:820px){.tool-hero .wrap{grid-template-columns:1fr}.tool-hero .mascot-big{max-width:150px;order:-1}}
.tool-card{padding:26px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(22,22,61,.94),rgba(14,14,42,.94))}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.tool-grid .tool-card h3{font-size:21px;margin:12px 0 8px}
.tool-grid .tool-card p{margin:0;color:var(--muted)}
.tool-grid .tool-card img{width:56px;height:56px}
.stages{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:st}
.stages li{position:relative;display:grid;grid-template-columns:48px 1fr;gap:16px;padding:0 0 26px}
.stages li::before{counter-increment:st;content:counter(st);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--panel);border:2px solid var(--line);font:400 18px/1 var(--display);color:var(--muted);position:relative;z-index:1;transition:.4s}
.stages li::after{content:"";position:absolute;left:23px;top:48px;bottom:0;width:2px;background:var(--line)}
.stages li:last-child::after{display:none}
.stages li::before{grid-row:1/span 2}
.stages li{row-gap:0}
.stages li b,.stages li p{grid-column:2}
.stages li b{display:block;font-size:17px;margin-top:4px}.stages li p{margin:4px 0 0;color:var(--muted)}
.stages li.done::before{background:var(--grad);border-color:transparent;color:#fff;content:"✓"}
.stages li.now::before{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 0 6px rgba(47,212,240,.15)}
.faq details{border:1px solid var(--line);border-radius:18px;padding:0 20px;background:rgba(22,22,61,.7);margin-bottom:10px}
.faq summary{cursor:pointer;padding:18px 0;font-weight:700;font-size:16.5px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";color:var(--cyan);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 18px;color:var(--muted)}
.checklist{display:grid;gap:8px;margin-top:18px}
.checklist label{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(22,22,61,.7);cursor:pointer}
.checklist input{width:18px;height:18px;margin-top:2px;accent-color:var(--violet);flex:none}
.checklist small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.checklist h4{margin:14px 0 2px;font:700 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.tool-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}
.tool-form .cf-field select,.tool-form .cf-field input{background:var(--night)}
.chipset{display:flex;flex-wrap:wrap;gap:8px}
.chipset label{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);cursor:pointer;font-weight:600;font-size:14px;color:var(--muted)}
.chipset input{accent-color:var(--violet)}
.chipset label:has(input:checked){color:#fff;border-color:var(--cyan);background:rgba(47,212,240,.12)}
.match-why{display:flex;flex-wrap:wrap;gap:6px}
.match-why span{padding:3px 9px;border-radius:999px;background:rgba(74,222,128,.12);color:#86efac;font:700 11.5px/1.3 var(--body)}

/* profile assessment chat */
.assess{position:relative;min-height:calc(100vh - 140px);display:grid;grid-template-rows:1fr auto;overflow:hidden}
.assess-stage{position:relative;display:grid;place-items:center;padding:20px 20px 0;perspective:900px}
.assess-mascot{height:min(64vh,640px);width:auto;max-width:90vw;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55)) drop-shadow(0 0 70px rgba(168,85,247,.55));animation:pop3d 1s cubic-bezier(.2,1.3,.4,1) both,wave 2.6s ease-in-out 1s infinite;transform-origin:50% 100%}
@keyframes wave{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}
.assess-glow{position:absolute;inset:auto 0 0;height:60%;background:radial-gradient(60% 70% at 50% 100%,rgba(168,85,247,.45),transparent 70%);pointer-events:none}
.assess-dock{position:relative;z-index:2;margin:-120px auto 0;width:min(760px,calc(100% - 24px));padding:18px;border-radius:28px 28px 0 0;background:rgba(14,12,44,.92);backdrop-filter:blur(10px);border:1px solid rgba(168,85,247,.5);border-bottom:0;box-shadow:0 -30px 60px -30px rgba(168,85,247,.7)}
.assess-log{max-height:34vh;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px 4px 12px;scrollbar-width:thin}
.assess-log .msg{font-size:16px}
.assess-opts{display:flex;flex-wrap:wrap;gap:8px}
.assess-opts button{padding:12px 18px;border-radius:999px;border:1px solid rgba(47,212,240,.6);background:rgba(47,212,240,.08);color:var(--ink);font:700 15px/1.1 var(--body);cursor:pointer;transition:.15s}
.assess-opts button:hover,.assess-opts button.sel{background:var(--grad);border-color:transparent;color:#fff}
.assess-opts .go{background:var(--grad);border-color:transparent}
.assess-in{display:flex;gap:8px;width:100%}
.assess-in input{flex:1;min-width:0;font:inherit;font-size:16px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:13px 18px}
.assess-in button{flex:none}
.assess-progress{height:4px;border-radius:4px;background:rgba(255,255,255,.1);margin-bottom:12px;overflow:hidden}
.assess-progress i{display:block;height:100%;width:0;background:var(--grad);transition:width .4s}
.assess-summary{display:grid;gap:4px;margin-top:6px;font-size:14.5px}
.assess-summary div{display:grid;grid-template-columns:42% 1fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.assess-summary dt{color:var(--muted)}.assess-summary dd{margin:0;font-weight:600}

/* 404 */
.oops{text-align:center;padding-block:40px 80px}
.oops img{width:min(280px,60vw);height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5));animation:pop3d .9s cubic-bezier(.2,1.3,.4,1) both,bob 3.4s ease-in-out .9s infinite}
.oops h1{font-size:clamp(44px,7vw,80px);margin:14px 0 10px}
.oops .eyebrow{justify-content:center}
.oops .lede{margin-inline:auto;max-width:620px}
.oops .ctas{justify-content:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* home feature cards as tool links */
a.feat{text-decoration:none;color:inherit}
a.feat:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(168,85,247,.7)}
.go-tool{display:inline-block;margin-top:8px;font:700 12.5px/1 var(--body);letter-spacing:.06em;color:var(--cyan)}
.lm-hero{width:72px;height:72px;border-radius:18px}
@media (max-width:600px){.lm-hero{width:52px;height:52px;border-radius:14px}}

/* tool pages: shared */
.tool-sec{padding-block:30px}
.tool-hero .ctas{margin-top:26px}
.tool-hero .wrap>div{min-width:0}
.tool-card h2{font-size:clamp(24px,3vw,32px);margin:6px 0 10px}
.tool-card fieldset{border:0;margin:20px 0 0;padding:0}
.tool-card legend{font:700 11.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.tool-card legend small{letter-spacing:0;text-transform:none;font-weight:500;margin-left:6px}
.tool-card .flag{width:22px;height:auto;border-radius:3px}
.tool-card>.btn{margin-top:22px}
.cf-field textarea{font:500 16px/1.4 var(--body);color:var(--ink);background:var(--night);border:1px solid var(--line);border-radius:14px;padding:14px 16px;width:100%;resize:vertical}
.cf-field label small{letter-spacing:0;text-transform:none;font-weight:500}
.tool-more{padding-block:40px 10px}
.tool-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.tool-link{display:grid;gap:8px;padding:18px;border-radius:20px;border:1px solid var(--line);background:rgba(20,18,54,.6);text-decoration:none;color:var(--ink);transition:.15s}
.tool-link:hover{border-color:rgba(47,212,240,.6);transform:translateY(-2px)}
.tool-link .who{color:var(--cyan);font-size:10.5px}.tool-link .who.pink{color:var(--pink)}
.tool-link b{font-size:16.5px;line-height:1.3}
.tool-grid.two-col{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}
.step{position:relative}
.step-n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--grad);font:400 18px/1 var(--display);color:#fff}

/* AI course match */
.match-form .tool-form{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
@media (max-width:640px){.match-form .tool-form{grid-template-columns:1fr}}
.match-out{margin-top:26px}
.match-out:empty{display:none}
.match-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.match-head img{flex:none;width:80px;height:auto;filter:drop-shadow(0 10px 16px rgba(0,0,0,.5))}
.match-head h2{font-size:clamp(24px,3vw,34px);margin:4px 0}.match-head p{margin:0;color:var(--muted)}
.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.match-card{display:grid;gap:12px;align-content:start;padding:20px;animation:rise .5s ease both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.match-top{display:flex;align-items:center;gap:12px}
.match-top h3{font-size:17px;line-height:1.25;margin:0}.match-top p{margin:2px 0 0;color:var(--muted);font-size:13.5px}
.match-top>div{flex:1;min-width:0}
.match-rank{font:400 20px/1 var(--display);color:var(--cyan)}
.match-courses{margin:0;padding-left:18px;color:var(--muted);font-size:14px;display:grid;gap:3px}
.match-act{display:flex;flex-wrap:wrap;gap:8px}
.match-send{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:18px 22px;border-radius:20px;border:1px solid rgba(37,211,102,.4);background:rgba(37,211,102,.08)}
.match-send p{margin:0;font-weight:600}
.match-none{display:flex;gap:18px;align-items:center}
.match-none img{width:110px;height:auto;flex:none}
.match-none h3{margin:0 0 6px}.match-none p{margin:0 0 12px;color:var(--muted)}
@media (max-width:520px){.match-none{flex-direction:column;text-align:center}}

/* counselling booking, tracking, documents, BDM questions */
.book-head{display:flex;gap:18px;align-items:center;margin-bottom:20px}
.book-head img{width:64px;height:64px;flex:none}
.book-head h2{margin:2px 0 6px}.book-head p{margin:0;color:var(--muted)}
.book-form .tool-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.track-wrap{align-items:center}
.track-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px}
.track-head h3{margin:4px 0 0;font-size:19px}
.track-live{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(74,222,128,.12);color:#86efac;font:700 12px/1 var(--body)}
.track-live i{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:dot 1.2s infinite}
.doc-wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.doc-form{display:grid;gap:14px;align-content:start;position:sticky;top:90px}
.doc-form h2{margin:0 0 4px}
.doc-score{display:flex;align-items:center;gap:16px;margin-top:6px}
.doc-score p{margin:0;color:var(--muted);font-size:14.5px}
.ring{--p:0;flex:none;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--cyan) calc(var(--p)*1%),rgba(255,255,255,.1) 0);transition:--p .4s}
.ring b{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:var(--night);font:400 18px/1 var(--display)}
.checklist label:has(input:checked){border-color:rgba(74,222,128,.6);background:rgba(74,222,128,.08)}
.checklist h4:first-child{margin-top:0}
.ask-form{position:relative;display:grid;gap:14px}
.ask-form h2{margin:0 0 4px;padding-right:90px}
.ask-mascot{position:absolute;right:14px;top:-40px;width:96px;height:auto;filter:drop-shadow(0 10px 16px rgba(0,0,0,.5));animation:bob 3.4s ease-in-out infinite}
@media (max-width:900px){.doc-wrap{grid-template-columns:1fr}.doc-form{position:static}}

/* assessment extras */
.assess-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.assess-title{font:700 11.5px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--cyan)}
.assess-restart{background:none;border:0;color:var(--muted);font:600 13px/1 var(--body);cursor:pointer;text-decoration:underline}
.assess-ctl{display:grid;gap:10px}
.assess-err{margin:0;color:#fca5a5;font-size:13.5px}
.assess-opts button[disabled]{opacity:.45;cursor:not-allowed}
.assess-final{display:flex;flex-wrap:wrap;gap:10px}
.assess-insight{margin:12px 0 4px;padding:10px 14px;border-radius:14px;background:rgba(47,212,240,.1);border:1px solid rgba(47,212,240,.35)}
.assess-tips{margin:8px 0 4px;padding-left:20px;display:grid;gap:4px;color:var(--muted)}
.msg small{display:block;margin-top:4px;color:var(--muted);font-size:13px}
.assess-mascot.nod{animation:nod .5s ease}
@keyframes nod{0%,100%{transform:none}40%{transform:translateY(10px) scale(1.02,.97)}}
.assess-summary div{grid-template-columns:40% 1fr}
@media (max-width:640px){.assess-mascot{height:52vh}.assess-dock{margin-top:-90px;padding:14px}.assess-log{max-height:40vh}}

.cpick .phone-screen{justify-content:center}
.phone-screen>.lm{align-self:center;margin-bottom:6px}
.tool-hero h1{font-size:clamp(34px,4.6vw,58px);margin:14px 0 16px}
.cc-inst .lm{flex:none}
.ic-head{display:flex;gap:12px;align-items:center}
.ic-head .lm{width:46px;height:46px;border-radius:12px}
.ic-head h3{margin:0}
.cf-empty .cf-mascot{width:110px;height:auto;filter:drop-shadow(0 12px 16px rgba(0,0,0,.5))}
/* the logo N on gradient and green buttons: plain white or dark so it stays readable */
.btn-grad .nm::after,.glow-opt .nm::after,.key.start .nm::after,.btn.big .nm::after,.type-switch .on .nm::after,.assess-opts button.sel .nm::after,.assess-opts .go .nm::after,.cf-view .on .nm::after,.atab.on .nm::after{filter:brightness(0) invert(1)}
.btn-wa .nm::after{filter:brightness(0) saturate(0) opacity(.85)}
/* real model photo: stands right of the phone, same height, elbow tucked behind it */
.hero-phone{--pw:min(260px,21vw);display:flex;justify-content:flex-start;align-items:flex-end}
.hero-phone .phone{width:var(--pw);flex:none;position:relative;z-index:2}
.hero-phone .float.c1{left:auto;right:-24px;top:6%}.hero-phone .float.c2{left:auto;right:-40px;top:auto;bottom:16%}
.hero-phone .girl{position:relative;left:auto;bottom:auto;width:calc(var(--pw)*1.246);max-width:none;flex:none;margin-left:calc(var(--pw)*-.2);z-index:1;animation:none;filter:drop-shadow(0 24px 30px rgba(0,0,0,.45))}
.cpick-stage{--pw:min(330px,34vw)}
.cpick-stage .phone{width:var(--pw);position:relative;z-index:2}
.cpick-girl{order:2;width:calc(var(--pw)*1.246);margin:0 0 0 calc(var(--pw)*-.2);z-index:1;align-self:end;animation:none}
.cpick-x{z-index:3}
@media (max-width:900px){.hero-phone{--pw:min(260px,50vw);justify-content:center}.hero-phone .girl{width:calc(var(--pw)*.95);margin-left:calc(var(--pw)*-.2)}.hero-phone .float.c1{left:0;top:2%}.hero-phone .float.c2{left:auto;right:0;top:auto;bottom:4%}}
@media (max-width:640px){.cpick-stage .phone{width:min(300px,86vw)}.cpick-girl{order:-1;width:150px;margin:0 0 -26px}}
@media (max-width:640px){.hero-phone{--pw:56vw}.hero-phone .girl{width:calc(var(--pw)*.85);margin-left:calc(var(--pw)*-.25)}.hero-phone .float.c1{left:0;right:auto;top:-2%}.hero-phone .float.c2{right:0;bottom:2%}}

/* mascot = the single, always-visible help button (assistant + support agent) */
.sbchat-btn{align-items:flex-end}
.sbchat-mascot{position:relative;display:block;width:92px;filter:drop-shadow(0 14px 22px rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(168,85,247,.55));animation:float 4s ease-in-out infinite}
.sbchat-mascot img{display:block;width:100%;height:auto}
.sbchat-live{position:absolute;right:10px;top:16px;width:16px;height:16px;border-radius:50%;background:#4ade80;border:3px solid #0e0c2c;box-shadow:0 0 10px #4ade80}
.sbchat-btn .sbchat-hint{margin-bottom:58px}
.sbchat-btn.active .sbchat-hint{opacity:0!important;transform:translateX(10px) scale(.9)!important}
.sbchat-btn.active .sbchat-mascot{animation:none;transform:scale(.92)}
.sbchat{bottom:calc(max(18px,env(safe-area-inset-bottom,0px)) + 118px);right:max(18px,env(safe-area-inset-right,0px));height:min(560px,calc(100vh - 170px))}
.sbchat-agent{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#25d366;color:#fff;margin-right:6px}
.uni-photo{margin:-18px -18px 14px;position:relative;border-radius:18px 18px 0 0;overflow:hidden;aspect-ratio:16/10;background:#16133d}
.uni-photo img{width:100%;height:100%;object-fit:cover;display:block}
.uni-photo figcaption{position:absolute;right:8px;bottom:6px;font-size:10.5px;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uni-photo figcaption a{color:#fff;background:rgba(7,11,31,.6);padding:2px 6px;border-radius:6px;text-decoration:none}
/* hide third-party floating chat / WhatsApp / support widgets so the mascot is the only one */
#tawk-chat-widget,.widget-visible iframe[title*="chat" i],#tidio-chat,#crisp-chatbox,.joinchat,.ht-ctc,#ht-ctc-chat,.chaty,.chaty-widget,.qlwapp,.wa__btn_popup,.wa__popup_chat_box,#wa-chat-button,.nta_wa_button,.wa-button,.whatsapp-float,.float-whatsapp,#whatsapp-chat,.wpp-chat,#chatway,.elfsight-app-whatsapp-chat{display:none!important}
@media (max-width:520px){.sbchat{bottom:0;right:0;height:100dvh}.sbchat-btn.active{opacity:0;pointer-events:none}.sbchat-mascot{width:74px}.sbchat-btn .sbchat-hint{margin-bottom:46px}}
/* inner pages: a smaller, calmer mascot */
.sbchat-btn.mini .sbchat-mascot{width:60px;animation:none;opacity:.9;filter:drop-shadow(0 8px 14px rgba(0,0,0,.45));transition:transform .25s ease,opacity .25s ease}
.sbchat-btn.mini:hover .sbchat-mascot,.sbchat-btn.mini:focus-visible .sbchat-mascot{opacity:1;transform:rotate(-6deg) translateY(-3px)}
.sbchat-btn.mini .sbchat-live{width:11px;height:11px;right:6px;top:10px;border-width:2px;box-shadow:none}
.sbchat-btn.mini .sbchat-hint{margin-bottom:36px;font-size:13px;padding:8px 12px}
.sbchat-btn.mini~.sbchat,.sbchat-btn.mini+.sbchat{bottom:calc(max(18px,env(safe-area-inset-bottom,0px)) + 88px)}
@media (max-width:520px){.sbchat-btn.mini .sbchat-mascot{width:50px}.sbchat-btn.mini .sbchat-hint{margin-bottom:30px}}
/* ---------- About: Study Beyond Team ---------- */
.team{padding:56px 0 72px}
.team-h{font:400 clamp(40px,6vw,76px)/1 var(--display,"Archivo Black"),sans-serif;margin:8px 0 34px;background:linear-gradient(90deg,#38bdf8,#a855f7 55%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.01em}
.team-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.team-intro .team-group{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;border:2px solid #38bdf8;box-shadow:0 0 26px -6px #38bdf8;margin-bottom:22px}
.team-intro h3{font-size:24px;line-height:1.25;margin:0 0 14px}
.team-intro p{color:var(--muted);font-size:16.5px;line-height:1.65;margin:0 0 14px}
.team-intro .btn{margin-top:8px}
.team-deck{position:relative;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(30,24,80,.75),rgba(14,12,44,.9));padding:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);min-width:0}
.tbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.tcount{font-size:14px;color:var(--muted)}.tcount b{color:#fff}
.thint{flex:1;font-size:13px;color:var(--muted);opacity:.8}
.tview{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font:700 13px var(--body);cursor:pointer}
.tview:hover{border-color:#38bdf8}
.ttrack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:14px;outline:none}
.ttrack::-webkit-scrollbar{display:none}
.tslide{flex:0 0 100%;scroll-snap-align:start;text-align:center;padding:4px 4px 8px;box-sizing:border-box}
.tphotos{display:grid;gap:10px;margin-bottom:16px}
.tphotos.n2{grid-template-columns:1fr 1fr}.tphotos.n3{grid-template-columns:1fr 1fr 1fr}
.tphotos img{width:100%;height:auto;aspect-ratio:3/4.4;object-fit:cover;object-position:50% 20%;border-radius:14px;border:2px solid}
.tphotos.n2 img{aspect-ratio:3/3.6}
.ring-pink{border-color:#ec4899!important;box-shadow:0 0 18px -6px #ec4899}.ring-purple{border-color:#a855f7!important;box-shadow:0 0 18px -6px #a855f7}.ring-cyan{border-color:#38bdf8!important;box-shadow:0 0 18px -6px #38bdf8}
.trole{font:400 clamp(20px,2.2vw,28px)/1.1 var(--display,"Archivo Black"),sans-serif;text-transform:uppercase;font-style:italic;margin:0 0 10px}
.tname{display:inline-block;margin:0 0 12px;padding:8px 22px;border-radius:999px;background:linear-gradient(90deg,#22d3ee,#a855f7 60%,#d946ef);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:14px;color:#fff}
.tdesc{color:var(--muted);font-size:15px;line-height:1.6;margin:0 auto 14px;max-width:52ch}
.tcontact{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.tnav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px}
.tprev,.tnext{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.tprev:hover,.tnext:hover{border-color:#a855f7}
.tdots{display:flex;gap:8px}
.tdot{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.25);cursor:pointer;transition:.2s}
.tdot.on{width:24px;border-radius:6px;background:linear-gradient(90deg,#38bdf8,#a855f7)}
.team-deck[data-mode=grid] .ttrack,.team-deck[data-mode=grid] .tnav,.team-deck[data-mode=grid] .thint{display:none}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tgrid[hidden]{display:none}
.tcell{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;border:0;background:none;color:#fff;cursor:pointer;font:700 12.5px/1.25 var(--body);text-align:center}
.tcell img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:12px;border:2px solid var(--line);transition:.2s}
.tcell:hover img{border-color:#a855f7;transform:translateY(-2px)}
@media (max-width:900px){.team-split{grid-template-columns:1fr}.team-deck{position:static}}
@media (max-width:520px){.tgrid{grid-template-columns:repeat(2,1fr)}.thint{display:none}.tphotos.n3{grid-template-columns:1fr 1fr}.tphotos.n3 img:nth-child(3){display:none}}
/* team v2: every photo lives in the slider, shown large */
@media (min-width:901px){.team-split{grid-template-columns:1fr 1.1fr;gap:44px}}
.team-intro{padding-top:6px}
.team-intro h3{font-size:clamp(24px,2.4vw,32px)}
.team-intro p{font-size:17px}
.tgroup{align-self:center}.tgroup img{width:100%;height:auto;aspect-ratio:auto;border-radius:16px;border:2px solid;margin-bottom:18px}
.tphotos{gap:12px}
.tphotos img{aspect-ratio:3/4.6;object-position:50% 15%}
.tphotos.n2 img{aspect-ratio:3/4}
.tphotos img:hover{transform:scale(1.02);transition:transform .25s}
@media (max-width:520px){.tphotos.n3{grid-template-columns:1fr 1fr 1fr}.tphotos.n3 img:nth-child(3){display:block}.tphotos{gap:6px}}
/* team v3: each slide is the member's poster */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tslide{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.tposter{display:block;width:100%;max-width:100%;height:auto;border-radius:14px;box-shadow:0 18px 40px -18px rgba(0,0,0,.8);margin-bottom:14px}
.tgrid{padding:2px}
/* ---------- founder's photos across the site ---------- */
.ph-fig{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#16133d;border:1px solid var(--line);box-shadow:0 24px 50px -28px rgba(0,0,0,.8)}
.ph-fig img{display:block;width:100%;height:100%;object-fit:cover}
.ph-fig figcaption{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:999px;background:rgba(7,11,31,.72);backdrop-filter:blur(6px);color:#fff;font:700 13px var(--body)}
.life{padding:72px 0}
.life-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:14px;margin-top:30px}
.life-grid .big{grid-row:span 2}
.life-grid .ph-fig:hover img{transform:scale(1.04);transition:transform .5s ease}
@media (max-width:820px){.life-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.life-grid .big{grid-column:span 2;grid-row:auto;aspect-ratio:3/2}.life-grid .ph-fig:not(.big){aspect-ratio:4/3}}
.c-photos{display:flex;gap:12px;margin:22px 0 6px;overflow-x:auto;scrollbar-width:none}
.c-photos .ph-fig{flex:0 0 auto;height:200px}
.c-photos .ph-fig img{width:auto;height:200px}
.tool-photo{position:relative;isolation:isolate;justify-self:center;margin:0;max-width:340px;width:100%}
.tool-photo>img:first-child{display:block;width:100%;border-radius:22px;border:2px solid var(--cyan);box-shadow:0 0 34px -8px var(--cyan),0 30px 50px -30px rgba(0,0,0,.8)}
.tool-photo.cut{max-width:290px}.tool-photo.cut figcaption{top:auto;bottom:34px;left:0}.tool-photo.cut>img:first-child{border:0;box-shadow:none;border-radius:0}
.tool-photo.cut::before,.svc-grad::before{content:"";position:absolute;z-index:-1;inset:6% -14% 10%;border-radius:50%;background:radial-gradient(closest-side,rgba(168,85,247,.42),rgba(47,212,240,.18) 58%,transparent);filter:blur(18px)}
.tool-photo figcaption{position:absolute;left:14px;top:14px;display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(7,11,31,.78);color:#fff;font:700 13px var(--body)}
.tool-photo figcaption i{width:9px;height:9px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80}
.tool-photo .peek{position:absolute;right:-26px;bottom:-22px;width:96px;height:auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.5))}
@media (max-width:820px){.tool-photo{max-width:250px;order:-1}.tool-photo .peek{width:70px;right:-14px}}
@media (max-width:820px){.tool-photo.cut{max-width:210px}}
.svc-hero.has-photo .wrap{position:relative}
@media (min-width:1100px){.svc-hero.has-photo .wrap{padding-right:280px}}
.svc-grad{position:absolute;isolation:isolate;right:0;bottom:-40px;width:236px;margin:0}.svc-grad img{display:block;width:100%;height:auto}
@media (max-width:1099px){.svc-grad{display:none}}

/* home: looping photo train above the five stages */
.train{padding:40px 0 0;overflow:hidden}
.train .eyebrow{margin-bottom:22px}
.train-view{overflow:hidden;padding-bottom:12px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.train-track{display:flex;width:max-content;animation:train 80s linear infinite}
.train-copy{display:flex}
.train-view:hover .train-track{animation-play-state:paused}
@keyframes train{to{transform:translateX(-50%)}}
.car{position:relative;flex:0 0 auto;margin:0 11px;padding:6px;border-radius:16px;background:linear-gradient(160deg,var(--panel),#0d0c2a);border:1px solid var(--line);box-shadow:0 18px 30px -18px rgba(0,0,0,.8)}
.car img{display:block;height:190px;width:auto;border-radius:11px}
.car::before{content:"";position:absolute;left:-17px;bottom:22px;width:12px;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--line),#4d49a3,var(--line))}
.car::after{content:"";position:absolute;left:14px;right:14px;bottom:-12px;height:12px;background:radial-gradient(circle,#b9bdf5 0 2px,#3a3785 3px 5px,transparent 5.5px) 0 0/12px 12px no-repeat,radial-gradient(circle,#b9bdf5 0 2px,#3a3785 3px 5px,transparent 5.5px) 18px 0/12px 12px no-repeat,radial-gradient(circle,#b9bdf5 0 2px,#3a3785 3px 5px,transparent 5.5px) calc(100% - 18px) 0/12px 12px no-repeat,radial-gradient(circle,#b9bdf5 0 2px,#3a3785 3px 5px,transparent 5.5px) 100% 0/12px 12px no-repeat}
.train-rail{height:8px;margin-top:-1px;background:linear-gradient(90deg,transparent,#4d49a3 8%,#4d49a3 92%,transparent) 0 0/100% 2px no-repeat,repeating-linear-gradient(90deg,var(--line) 0 5px,transparent 5px 24px) 0 2px/100% 6px no-repeat}
@media (max-width:640px){.car img{height:140px}.car{margin:0 9px;padding:5px}.train-track{animation-duration:60s}}
@media (prefers-reduced-motion:reduce){.train-view{overflow-x:auto}.train-copy{display:none}}

/* WordPress additions */
.admin-bar header.site{top:32px}
@media (max-width:782px){.admin-bar header.site{top:46px}}
@media (max-width:600px){.admin-bar header.site{top:0}}
.entry{padding-block:24px 72px}
.entry>*{max-width:760px}
.entry a{color:var(--cyan)}
.entry p,.entry li{color:var(--muted)}
.post-item{padding-block:20px;border-bottom:1px solid var(--line)}
.post-item h2{font-size:26px}
.post-item h2 a{text-decoration:none;color:var(--ink)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
