:root{
  --bg:#0d0f0e;
  --surface:#141716;
  --surface-2:#191c1a;
  --panel:rgba(255,255,255,.06);
  --panel-2:rgba(255,255,255,.08);
  --border:rgba(255,255,255,.07);
  --text:#e8e6e1;
  --text-muted:#7a7872;
  --text-dim:#4a4844;
  --muted:var(--text-muted);
  --rust:#c47a3a;
  --rust-2:#e2a36b;
  --accent-college:#c4a97d;
  --accent-student:#7bc4a0;
  --accent-outcome:#a0b4d4;
  --accent-alumni:#c49db0;
  --glow-college:rgba(196,169,125,.18);
  --glow-student:rgba(123,196,160,.18);
  --glow-outcome:rgba(160,180,212,.25);
  --glow-alumni:rgba(196,157,176,.18);
  --success:#2ecc71;
  --danger:#ff6b6b;
  --shadow:0 18px 55px rgba(0,0,0,.55);
  --shadow-soft:0 10px 32px rgba(0,0,0,.42);
  --inset:0 1px 0 rgba(255,255,255,.06) inset;
  --radius:18px;
  --radius-sm:14px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body.public-page{
  font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  line-height:1.68;
}

a{
  color:inherit;
  text-decoration:none;
}

.hero-bg{
  position:fixed;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:-1;
}

.hero-bg::before{
  content:"";
  position:absolute;
  top:-18%;
  left:50%;
  transform:translateX(-50%);
  width:860px;
  height:860px;
  background:radial-gradient(circle at 35% 40%, rgba(196,122,58,.14) 0%, transparent 62%);
  border-radius:50%;
}

.hero-bg::after{
  content:"";
  position:absolute;
  top:12%;
  right:8%;
  width:560px;
  height:560px;
  background:radial-gradient(circle at 60% 30%, rgba(255,255,255,.08) 0%, transparent 62%);
  border-radius:50%;
}

.vignette{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.25), transparent 30%, rgba(0,0,0,.55));
}

.glass{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--inset), var(--shadow-soft);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.glass-2{
  background:var(--panel-2);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--inset), var(--shadow-soft);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .glass,.glass-2{
    background:rgba(20,20,22,.88);
  }
}

.t{
  transition:all 180ms var(--ease);
}

.navbar{
  position:sticky;
  top:0;
  left:0;
  right:0;
  z-index:50;
  padding:14px 18px;
}

.nav-shell{
  max-width:1200px;
  margin:0 auto;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--text);
  min-width:0;
}

.brand span{
  min-width:0;
  max-width:260px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.brand-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--inset), 0 14px 36px rgba(0,0,0,.45);
  background:rgba(255,255,255,.03);
  padding:6px;
}

.public-nav{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.navlink{
  color:var(--muted);
  font-weight:500;
  font-size:13px;
  letter-spacing:.01em;
  padding:8px 10px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid transparent;
}

.navlink:hover{
  color:var(--text);
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.10);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:12px;
  padding:12px 18px;
  font-weight:600;
  font-size:14px;
  letter-spacing:.01em;
  line-height:1;
  user-select:none;
  white-space:nowrap;
}

.btn-primary{
  color:#0b0b0c;
  background:linear-gradient(180deg, var(--rust-2), var(--rust));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 25px rgba(196,122,58,.18);
}

.btn-primary:hover{
  filter:saturate(1.03) brightness(1.02);
}

.btn-secondary{
  color:var(--text);
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

.btn-secondary:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  color:var(--muted);
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

.badge-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--rust-2);
  box-shadow:0 0 0 4px rgba(196,122,58,.12);
}

.public-main{
  padding-top:10px;
}

.public-max{
  max-width:1120px;
  margin:0 auto;
  padding:0 20px;
}

.public-section{
  padding:40px 0;
}

.public-section-tight{
  padding:22px 0;
}

.h1{
  font-size:clamp(34px, 4.3vw, 56px);
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:800;
}

.h2{
  font-size:clamp(26px, 3vw, 38px);
  line-height:1.12;
  letter-spacing:-.03em;
  font-weight:800;
}

.p{
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}

.public-sub{
  max-width:840px;
  margin-top:12px;
}

.public-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.public-tag-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.public-tag{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:var(--muted);
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:600;
}

.public-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;
}

.public-card{
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.03);
  box-shadow:var(--inset), var(--shadow-soft);
  padding:20px;
}

.public-card h2,
.public-card h3{
  margin-bottom:8px;
}

.public-card p,
.public-card li{
  color:var(--muted);
}

.public-card ul{
  margin:0;
  padding-left:18px;
}

.public-card li{
  margin:6px 0;
}

.public-card .meta{
  color:var(--muted);
  font-size:12px;
}

.public-faq details{
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(255,255,255,.03);
  padding:12px 14px;
  margin-bottom:10px;
}

.public-faq summary{
  cursor:pointer;
  font-weight:600;
}

.public-faq p{
  margin-top:9px;
  color:var(--muted);
}

.public-article{
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:rgba(255,255,255,.03);
  box-shadow:var(--inset), var(--shadow-soft);
  padding:24px;
}

.public-article h2{
  margin-bottom:10px;
}

.public-article h3{
  margin-top:18px;
  margin-bottom:6px;
}

.public-article p{
  color:var(--muted);
  margin:9px 0;
}

.public-article a{
  color:var(--rust-2);
  text-decoration:underline;
  text-underline-offset:2px;
}

.public-article a:hover{
  filter:brightness(1.05);
}

.public-footer{
  border-top:1px solid var(--border);
  padding:22px 0 34px;
  color:var(--muted);
  font-size:13px;
  margin-top:16px;
}

.section-font{
  font-family:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;
}

.marketing-footer{
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.02);
  padding:56px 24px;
  margin-top:24px;
}

.marketing-footer-inner{
  max-width:1200px;
  margin:0 auto;
}

.marketing-footer-grid{
  display:grid;
  gap:32px;
  grid-template-columns:repeat(1, minmax(0, 1fr));
}

.marketing-footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.marketing-footer-brand-name{
  font-size:14px;
  font-weight:600;
  color:var(--text);
}

.marketing-footer-title{
  font-size:13px;
  font-weight:600;
  color:var(--text);
}

.marketing-footer-copy{
  margin-top:12px;
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
}

.marketing-footer-links{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.marketing-footer-link{
  width:max-content;
}

.marketing-footer-cta{
  margin-top:16px;
}

.marketing-footer-bottom{
  margin-top:40px;
  display:flex;
  flex-direction:column;
  gap:10px;
  color:var(--muted);
  font-size:12px;
}

@media (max-width: 900px){
  .navbar{
    padding:12px;
  }

  .nav-shell{
    padding:10px 12px;
    flex-wrap:wrap;
    justify-content:flex-start;
  }

  .brand{
    width:100%;
  }

  .public-nav{
    width:100%;
  }

  .h1{
    font-size:clamp(30px, 8vw, 42px);
  }

  .h2{
    font-size:clamp(24px, 6vw, 32px);
  }

  .p{
    font-size:15px;
  }

  .marketing-footer{
    padding:44px 16px;
  }
}

@media (max-width: 520px){
  .public-max{
    padding:0 14px;
  }

  .public-section{
    padding:28px 0;
  }

  .btn{
    width:100%;
  }

  .brand span{
    max-width:190px;
  }

  .marketing-footer{
    padding:40px 14px;
  }

  .marketing-footer .btn{
    width:100%;
  }
}

@media (min-width: 768px){
  .marketing-footer-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .marketing-footer-bottom{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
}

@media (prefers-reduced-motion: reduce){
  *{
    transition:none !important;
    animation:none !important;
    scroll-behavior:auto !important;
  }
}
