@font-face{font-family:"Barlow Condensed";src:url(fonts/BarlowCondensed-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/BarlowCondensed-Bold.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/BarlowCondensed-ExtraBold.ttf) format("truetype");font-weight:800;font-display:swap}
@font-face{font-family:"Source Sans Pro";src:url(fonts/SourceSansPro-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans Pro";src:url(fonts/SourceSansPro-It.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans Pro";src:url(fonts/SourceSansPro-Semibold.ttf) format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Source Sans Pro";src:url(fonts/SourceSansPro-Bold.ttf) format("truetype");font-weight:700;font-display:swap}

:root{
  --bg:#0A0C10; --bg2:#10131A; --card:#141821; --line:#232836;
  --ink:#F3F5F9; --muted:#9AA3B5; --dim:#6B7386;
  --shoresy:#1E86FC; --ai:#8E58F8; --referee:#FA2A3E; --warren:#14C06E;
  --scrum:#F83498; --magellan:#A06A38; --jocko:#949494;
  --display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --body:"Source Sans Pro",-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--display);font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:.85rem;color:var(--shoresy)}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:.95;letter-spacing:-.005em;text-transform:uppercase}
h2{font-size:clamp(2.4rem,5vw,4rem);margin:.35em 0 .4em}
.lead{color:var(--muted);font-size:1.15rem;max-width:62ch}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(10,12,16,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:var(--display);font-weight:800;font-size:1.6rem;letter-spacing:.02em;text-decoration:none;display:flex;align-items:baseline;gap:0}
.brand .dot{color:var(--shoresy)}
.nav ul{list-style:none;display:flex;gap:30px;align-items:center}
.nav ul a{text-decoration:none;font-family:var(--display);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.95rem;color:var(--muted);transition:color .2s}
.nav ul a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--display);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:1rem;text-decoration:none;padding:.85em 1.5em;border-radius:999px;border:1.5px solid transparent;transition:transform .2s,background .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--shoresy);color:#fff}
.btn-primary:hover{background:#3a97ff}
.btn-ghost{border-color:#3a4152;color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
.btn svg{width:1.05em;height:1.05em;fill:currentColor}
.nav .btn{padding:.6em 1.15em;font-size:.9rem}

/* hero */
.hero{position:relative;padding:110px 0 90px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:780px;height:780px;background:radial-gradient(circle,rgba(30,134,252,.22),transparent 62%);pointer-events:none}
.hero::after{content:"";position:absolute;left:-200px;bottom:-300px;width:640px;height:640px;background:radial-gradient(circle,rgba(142,88,248,.16),transparent 62%);pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(4.2rem,11vw,9.5rem);line-height:.84;margin:.18em 0 .22em}
.hero h1 span{display:block}
.hero h1 .outline{color:transparent;-webkit-text-stroke:2px var(--ink)}
.tagline{font-family:var(--display);font-weight:600;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;text-transform:uppercase;letter-spacing:.02em;max-width:22ch}
.tagline em{font-style:normal;color:var(--shoresy)}
.hero .lead{margin:22px 0 34px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}

.cluster{position:relative;aspect-ratio:1/1;width:100%;max-width:460px;justify-self:end}
.cluster img{position:absolute;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45));animation:bob 6s ease-in-out infinite}
.cluster .c1{width:44%;left:28%;top:26%;animation-delay:0s;z-index:3}
.cluster .c2{width:27%;left:4%;top:6%;animation-delay:-1s}
.cluster .c3{width:23%;right:4%;top:4%;animation-delay:-2s}
.cluster .c4{width:25%;right:0;top:46%;animation-delay:-3s}
.cluster .c5{width:24%;left:56%;bottom:0;animation-delay:-4s}
.cluster .c6{width:21%;left:12%;bottom:6%;animation-delay:-5s}
.cluster .c7{width:18%;left:0;top:44%;animation-delay:-2.5s}
.cluster .cap{position:absolute;left:50%;bottom:-38px;transform:translateX(-50%);white-space:nowrap;font-size:.85rem;color:var(--dim);letter-spacing:.04em}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(-2deg)}}
@media (prefers-reduced-motion:reduce){.cluster img,.team-card img{animation:none!important}}

/* stripe */
.stripe{display:flex;height:6px}
.stripe i{flex:1}

/* stats */
.stats{border-bottom:1px solid var(--line);background:var(--bg2)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:38px 24px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat b{display:block;font-family:var(--display);font-weight:800;font-size:3.2rem;line-height:1;letter-spacing:-.01em}
.stat span{color:var(--muted);font-size:1rem}

section{padding:110px 0}
/* about */
.about .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.about p+p{margin-top:1em}
.about p{color:#C7CDD9}
.focus{list-style:none;display:grid;gap:14px;margin-top:6px}
.focus li{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 24px 22px 26px;position:relative;overflow:hidden}
.focus li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}
.focus h3{font-size:1.55rem;letter-spacing:.02em;margin-bottom:6px}
.focus p{color:var(--muted);font-size:1.02rem}

/* education */
.edu{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.edu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.deg{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:32px 28px 30px;display:flex;flex-direction:column;gap:12px;position:relative}
.deg .tag{align-self:flex-start;font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;padding:.35em .85em;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted)}
.deg .tag.live{background:rgba(142,88,248,.16);color:#C3A6FF}
.deg .tag.live::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ai);margin-right:.5em;vertical-align:middle;box-shadow:0 0 0 0 rgba(142,88,248,.7);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(142,88,248,0)}100%{box-shadow:0 0 0 0 rgba(142,88,248,0)}}
.deg h3{font-size:2rem;line-height:1}
.deg .school{color:var(--muted);font-size:1.02rem;margin-top:auto}
.deg.ai{border-color:rgba(142,88,248,.45);background:linear-gradient(160deg,rgba(142,88,248,.14),var(--card) 55%)}

/* team */
.team{position:relative;overflow:hidden}
.team-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px}
.team-head .lead{max-width:48ch}
.team-grid{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:16px;margin-top:56px}
.team-card{text-align:center;padding:26px 10px 24px;border-radius:22px;background:var(--card);border:1px solid var(--line);transition:transform .25s,border-color .25s,background .25s;display:flex;flex-direction:column;align-items:center}
.team-card:hover{transform:translateY(-6px);border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,var(--card))}
.team-card img{width:86%;max-width:120px;aspect-ratio:1/1;margin-bottom:10px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.4))}
.team-card:hover img{animation:wiggle .6s ease}
@keyframes wiggle{25%{transform:rotate(-8deg) scale(1.05)}75%{transform:rotate(6deg) scale(1.05)}}
.team-card .letter{font-family:var(--display);font-weight:800;font-size:3.4rem;line-height:1;color:var(--c)}
.team-card h3{font-size:1.35rem;letter-spacing:.06em;margin:10px 0 6px}
.team-card p{color:var(--muted);font-size:.95rem;line-height:1.35}
.team-note{margin-top:34px;color:var(--dim);font-size:.95rem;text-align:center}

/* contact */
.contact{padding:0 0 110px}
.contact-card{border-radius:32px;padding:72px 56px;background:linear-gradient(135deg,#1E86FC 0%,#3c5ff0 45%,#8E58F8 100%);position:relative;overflow:hidden;display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center}
.contact-card h2{font-size:clamp(2.6rem,5.5vw,4.6rem);margin:.2em 0 .3em}
.contact-card p{color:rgba(255,255,255,.88);font-size:1.15rem;max-width:46ch}
.contact-card .eyebrow{color:rgba(255,255,255,.8)}
.contact-card .cta-row{margin-top:30px}
.contact-card .btn-primary{background:#fff;color:#0A0C10}
.contact-card .btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}
.contact-card .btn-ghost:hover{border-color:#fff}
.contact-card .big{justify-self:center;width:min(240px,70%);transform:rotate(-8deg);filter:drop-shadow(0 26px 40px rgba(0,0,0,.35));animation:bob 6s ease-in-out infinite}

footer{border-top:1px solid var(--line);padding:34px 0;color:var(--dim);font-size:.95rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center}
footer a{text-decoration:none;color:var(--muted)}
footer a:hover{color:var(--ink)}
footer nav{display:flex;gap:22px;flex-wrap:wrap}

/* responsive */
@media (max-width:1080px){
  .team-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:900px){
  .nav ul li:not(:last-child){display:none}
  .hero{padding:64px 0 80px}
  .hero .wrap{grid-template-columns:1fr}
  .cluster{justify-self:center;max-width:360px;order:-1}
  .stats .wrap{grid-template-columns:repeat(2,1fr)}
  .stat{padding:28px 18px}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .about .wrap{grid-template-columns:1fr;gap:36px}
  .edu-grid{grid-template-columns:1fr}
  .contact-card{grid-template-columns:1fr;padding:52px 30px}
  .contact-card .big{order:-1;width:140px;justify-self:start}
  section{padding:80px 0}
}
@media (max-width:560px){
  body{font-size:17px}
  .wrap{padding:0 20px}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .team-grid li:last-child{grid-column:1/-1;max-width:calc(50% - 6px);justify-self:center;width:100%}
  .stat b{font-size:2.5rem}
  .cluster{max-width:300px}
  .hero h1 .outline{-webkit-text-stroke:1.5px var(--ink)}
  .btn{font-size:.92rem}
}
