/* Landing theme: black + orange, charcoal panels. No icons, no emojis. */
:root{--bg:#000000;--ink:#ffffff;--dim:#a3a3a3;--line:rgba(255,153,0,.26);--glow:#ff9900;--glow-2:#ffb84d;--green:#ffb84d;--gold:#ff9900;--gold-light:#ffc766;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",system-ui,-apple-system,Arial,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body.landing{background:linear-gradient(0deg,rgba(255,153,0,.12),transparent 22%) fixed,linear-gradient(180deg,#000 0%,#0a0a0a 45%,#121212 100%) fixed;color:var(--ink);font-family:var(--sans);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.muted,.dim{color:var(--dim)}
.glass{background:rgba(27,27,27,.92);box-shadow:0 10px 28px rgba(0,0,0,.5);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

.nav{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 4vw;font-size:.85rem;background:#000;color:#fff;border-bottom:3px solid var(--gold)}
.nav-brand{font-weight:600;letter-spacing:.04em}
.nav-links,.nav-actions{display:flex;gap:1.5rem;align-items:center}
.nav a:hover{color:var(--gold-light)}
.pill{border:1px solid rgba(255,255,255,.45);padding:.4rem 1rem;border-radius:99px}

.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:7rem 4vw 4rem}
.display{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,10vw,8.5rem);line-height:1;letter-spacing:-.02em;background:linear-gradient(#ffb84d,#ff9900);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;z-index:2}
.display em{font-style:italic}
.lead{margin-top:1rem;color:var(--dim);position:relative;z-index:2}
.orb{position:absolute;right:12vw;top:30%;width:min(34vw,420px);aspect-ratio:1;animation:float 7s ease-in-out infinite}
.orb span{position:absolute;inset:0;border-radius:50%;border:2px solid var(--glow);box-shadow:0 0 50px var(--glow),inset 0 0 50px #ff990055}
.orb span:nth-child(2){inset:14%;border-color:var(--green);box-shadow:0 0 40px var(--green);opacity:.7}
.orb span:nth-child(3){inset:34%;background:radial-gradient(#ff9900aa,transparent 70%);border:0;box-shadow:none}
@keyframes float{50%{transform:translateY(-18px)}}
.hero-card{position:relative;z-index:2;margin-top:2.5rem;padding:1.25rem 1.5rem;width:min(100%,340px)}
.big{font-family:var(--serif);font-size:2.8rem;line-height:1.1}
.big small{font-size:1rem;color:var(--dim)}
.btn{display:inline-block;margin-top:1rem;padding:.7rem 1.6rem;border-radius:99px;border:1px solid transparent;background:#ff9900;color:#000;font:700 .9rem var(--sans);cursor:pointer;transition:.25s;box-shadow:0 6px 18px rgba(255,153,0,.3)}
.btn:hover{background:#ffad33;box-shadow:0 10px 26px rgba(255,153,0,.45);transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line);box-shadow:none}
.btn.ghost:hover{background:rgba(255,153,0,.08);border-color:var(--glow);color:var(--glow);box-shadow:none}

.section{padding:6rem 4vw}
.heading{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,5vw,3.6rem);line-height:1.1;margin-bottom:2.5rem}
.grid-2,.grid-3{display:grid;gap:1.25rem}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.tile{padding:2rem;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end}
.tile .big{font-size:3.6rem}
.tile.green{background:linear-gradient(160deg,rgba(255,153,0,.24),rgba(27,27,27,.92) 70%)}
.tile.violet{background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(27,27,27,.92) 70%)}
.tile p,.card p{color:var(--dim);font-size:.9rem}
.card{padding:1.5rem;transition:.3s}
.card:hover{border-color:var(--glow);transform:translateY(-4px)}
.card h3{margin-bottom:.4rem;font-weight:600}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}

.slider{position:relative;min-height:230px}
.quote{display:none;padding:2rem;max-width:760px}
.quote.active{display:block;animation:fade .5s}
.quote blockquote{font-family:var(--serif);font-size:1.4rem;line-height:1.4}
.quote figcaption{margin-top:1rem;color:var(--glow);font-size:.85rem}
.slider-nav{display:flex;gap:.75rem}
@keyframes fade{from{opacity:0;transform:translateY(10px)}}

.foot{padding:4rem 4vw 0;overflow:hidden;position:relative}
.foot-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:2rem;padding:2rem;font-size:.9rem}
.foot-grid h4{margin-bottom:.6rem;font-size:.8rem;color:var(--dim);text-transform:uppercase;letter-spacing:.1em}
.foot-grid a{display:block;margin:.25rem 0}
.foot-grid a:hover{color:var(--glow)}
.giant{font-family:var(--serif);font-size:clamp(5rem,22vw,20rem);line-height:.9;text-align:center;color:#ff990022;margin-top:2rem;background:linear-gradient(rgba(255,153,0,.35),transparent 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s}
.reveal.in{opacity:1;transform:none}
@media(max-width:760px){.nav-links{display:none}.orb{right:-10vw;top:18%;width:60vw;opacity:.6}.foot-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Intro loader */
.intro{position:fixed;inset:0;z-index:99;background:#000000;display:flex;align-items:center;justify-content:center;transition:opacity .8s,visibility .8s}
.intro span{font-family:var(--serif);font-size:3rem;letter-spacing:.3em;color:#ff9900;animation:pulse 1.2s ease-in-out infinite}
.intro.done{opacity:0;visibility:hidden}
@keyframes pulse{50%{opacity:.35;text-shadow:0 0 30px var(--glow)}}
.hero-stats{position:relative;z-index:2;margin-top:1.5rem;color:var(--dim);font-size:.9rem}
.hero-stats b{color:var(--ink)}

/* Voices as 3-up row with highlighted card */
.slider.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;min-height:0}
.slider.row .quote{display:block;max-width:none;padding:1.5rem;opacity:.45;transition:.4s;animation:none}
.slider.row .quote blockquote{font-size:1.05rem}
.slider.row .quote.active{opacity:1;border-color:var(--glow);box-shadow:0 0 40px #ff990022}
.slider-nav{margin-top:1.5rem}

/* Showcase */
.showcase{position:relative;min-height:90vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(#1b1b1b 0,#0b0b0b 55%,rgba(255,153,0,.38) 100%);border-radius:28px;margin:2rem 4vw}
.showcase .display{font-size:clamp(4rem,16vw,13rem);position:relative;z-index:1}
.big-orb{right:auto;left:50%;top:15%;transform:translateX(-50%);width:min(46vw,460px);opacity:.8}
.panel{position:absolute;bottom:2rem;padding:1.25rem 1.5rem;max-width:280px;z-index:2}
.panel.left{left:2rem}.panel.right{right:2rem}
.panel h3{margin-bottom:.3rem}

/* Sticky feature list */
.sticky-wrap{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.feat{list-style:none;padding:0}
.feat li{font-family:var(--serif);font-size:clamp(1.6rem,3.5vw,2.6rem);color:rgba(255,255,255,.3);cursor:pointer;transition:.3s;padding:.15rem 0}
.feat li.on,.feat li:hover{color:#ff9900}
.feat-panel{padding:2rem;position:sticky;top:6rem;border-color:var(--glow);box-shadow:0 0 50px #ff990022}
@media(max-width:760px){.sticky-wrap{grid-template-columns:1fr}.panel{position:static;margin:.5rem}.showcase{flex-direction:column;padding:2rem}}

/* Login Portal button (opens the sign-in modal), same teal accent as the auth card */
.nav a.portal{padding:.5rem 1.3rem;border-radius:99px;font-weight:700;color:#000;background:linear-gradient(180deg,#ffb84d,#ff9900);box-shadow:0 6px 18px rgba(0,0,0,.18);transition:.25s}
.nav a.portal:hover{color:#000;background:linear-gradient(180deg,#ffd699,#ffb84d);transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.25)}

/* Logo (white badge so the dark-blue artwork stays readable on the dark theme) */
.brand-logo{display:inline-block;width:42px;height:42px;object-fit:contain;padding:0;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.25);vertical-align:middle;margin-right:.65rem}
.nav-brand,.auth-brand,.univ-header-brand{display:inline-flex;align-items:center}

/* Hero logo (replaces the glowing ring) */
.hero-logo{position:absolute;right:12vw;top:26%;width:min(34vw,460px);aspect-ratio:1;animation:float 7s ease-in-out infinite;border-radius:12%;background:#fff;padding:0;overflow:hidden;box-shadow:0 0 60px rgba(255,153,0,.28),0 0 120px rgba(255,153,0,.14),0 24px 60px rgba(0,0,0,.35)}
.hero-logo img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:760px){.hero-logo{position:relative;right:auto;top:auto;width:min(70vw,300px);margin:2rem auto 0;order:5}}

/* Two-tone wordmark: white text + orange rounded box (first page hero) */
.wordmark{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.14em;font:800 clamp(2.6rem,6vw,5.4rem)/1 var(--sans);letter-spacing:-.03em;color:#fff}
.wordmark .hl{display:inline-block;background:#ff9900;color:#000;padding:.04em .2em .12em;border-radius:.16em;box-shadow:0 10px 30px rgba(255,153,0,.28)}
.tagline{font-size:1.05rem;letter-spacing:.02em}
