.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--bg: #0b1020;--bg-soft: #0f1530;--surface: #ffffff;--surface-2: #f5f7fc;--ink: #131a2e;--ink-soft: #4a5570;--line: #e6eaf3;--indigo: #5b6cff;--indigo-2: #8a6bff;--amber: #ffb43b;--amber-2: #ff8a3d;--teal: #2bd4b5;--grad: linear-gradient(120deg, #5b6cff 0%, #8a6bff 45%, #ff8a3d 100%);--grad-warm: linear-gradient(120deg, #ffb43b, #ff8a3d);--radius: 18px;--radius-lg: 28px;--shadow: 0 18px 50px -22px rgba(20, 28, 70, .35);--shadow-sm: 0 8px 24px -12px rgba(20, 28, 70, .28);--container: 1160px;--font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--display: "Sora", var(--font);--serif: "Fraunces", Georgia, serif}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--surface);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0}button{font:inherit;cursor:pointer;border:0;background:none}:focus-visible{outline:3px solid var(--indigo);outline-offset:3px;border-radius:6px}.container{width:min(100% - 2.4rem,var(--container));margin-inline:auto}h1,h2,h3,h4{font-family:var(--display);line-height:1.1;font-weight:700;letter-spacing:-.02em}h2{font-size:clamp(1.8rem,4vw,2.7rem)}h3{font-size:1.22rem}.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:999px;font-family:var(--display);font-weight:600;font-size:.95rem;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;will-change:transform}.btn:hover{transform:translateY(-3px)}.btn--primary{background:var(--grad);color:#fff;box-shadow:0 14px 30px -12px #5b6cffb3}.btn--ghost{border:1.5px solid var(--line);color:var(--ink);background:#fff}.btn--ghost:hover{border-color:var(--indigo);color:var(--indigo)}.btn--light{background:#ffffff14;border-color:#ffffff40;color:#fff}.btn--light:hover{color:#fff;border-color:#fff}.nav{position:fixed;inset:0 0 auto;z-index:50;padding:1rem 0;transition:background .3s ease,box-shadow .3s ease,padding .3s ease}.nav.scrolled{background:#ffffffd9;backdrop-filter:saturate(180%) blur(14px);box-shadow:0 1px 0 var(--line);padding:.55rem 0}.nav__inner{display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--display);font-weight:700;color:#fff}.nav.scrolled .brand{color:var(--ink)}.brand__mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--grad);color:#fff;font-weight:800;font-size:1.15rem;box-shadow:0 8px 20px -8px #5b6cffcc}.brand__name{font-size:1.02rem}.brand__name em{font-style:normal;opacity:.6;font-weight:500}.nav__links{display:flex;align-items:center;gap:1.7rem}.nav__links a{color:#ffffffd9;font-size:.92rem;font-weight:500;transition:color .2s}.nav.scrolled .nav__links a{color:var(--ink-soft)}.nav__links a:hover,.nav__links a.active{color:var(--amber)}.nav.scrolled .nav__links a:hover,.nav.scrolled .nav__links a.active{color:var(--indigo)}.nav__cta{background:var(--grad);color:#fff!important;padding:.55rem 1.1rem;border-radius:999px;box-shadow:0 10px 24px -12px #5b6cffcc}.nav__toggle{display:none;flex-direction:column;gap:5px;padding:8px}.nav__toggle span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s}.nav.scrolled .nav__toggle span{background:var(--ink)}.page-hero{position:relative;padding:9rem 0 4rem;color:#fff;overflow:hidden;background:radial-gradient(800px 500px at 85% -20%,rgba(138,107,255,.4),transparent 60%),radial-gradient(600px 400px at 0% 120%,rgba(255,138,61,.22),transparent 55%),var(--bg);text-align:center}.page-hero h1{font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:800;margin-bottom:.8rem}.page-hero p{color:#ffffffc7;max-width:56ch;margin-inline:auto}.page-hero .eyebrow{margin-bottom:1rem}.crumbs{font-size:.82rem;color:#ffffff8c;margin-top:1.2rem}.crumbs a:hover{color:var(--amber)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:7rem 0 4rem;background:radial-gradient(900px 600px at 80% -10%,rgba(138,107,255,.35),transparent 60%),radial-gradient(700px 500px at 0% 110%,rgba(255,138,61,.22),transparent 55%),var(--bg);color:#fff;overflow:hidden}.hero__bg{position:absolute;inset:0;pointer-events:none}.float-sym{position:absolute;left:var(--x);top:var(--y);font-family:var(--serif);font-size:clamp(2rem,5vw,4rem);color:#ffffff1a;font-weight:700;animation:floaty 7s ease-in-out infinite;animation-delay:var(--d)}@keyframes floaty{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-26px) rotate(8deg)}}.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}.eyebrow{display:inline-block;padding:.45rem .95rem;margin-bottom:1.2rem;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:.82rem;font-weight:500;letter-spacing:.01em}.hero h1{font-size:clamp(2.5rem,6vw,4.4rem);font-weight:800;margin-bottom:1.1rem}.hero__lead{font-size:clamp(1.02rem,1.6vw,1.22rem);color:#ffffffd1;max-width:34ch}.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 1.6rem}.hero__badges{display:flex;flex-wrap:wrap;gap:.6rem}.hero__badges li{font-size:.82rem;padding:.4rem .85rem;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}.hero__visual{display:grid;place-items:center}.figure{position:relative;width:min(420px,86vw);aspect-ratio:1;display:grid;place-items:end center}.figure__backdrop{position:absolute;bottom:6%;left:50%;transform:translate(-50%);width:86%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.3),transparent 46%),var(--grad);box-shadow:inset 0 0 70px #00000038,0 36px 70px -28px #5b6cffd9}.figure__ring{position:absolute;bottom:6%;left:50%;border-radius:50%}.figure__ring--1{width:96%;aspect-ratio:1;border:1.5px dashed rgba(255,255,255,.28);animation:spinX 26s linear infinite}.figure__ring--2{width:112%;aspect-ratio:1;border:1.5px solid rgba(255,180,59,.3);animation:spinX 40s linear infinite reverse}@keyframes spinX{0%{transform:translate(-50%) rotate(0)}to{transform:translate(-50%) rotate(360deg)}}.figure__img{position:relative;z-index:2;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45));animation:figFloat 6s ease-in-out infinite}@keyframes figFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.chip{position:absolute;z-index:3;padding:.5rem .9rem;border-radius:999px;background:#fffffff2;color:var(--ink);font-size:.78rem;font-weight:600;box-shadow:var(--shadow-sm);white-space:nowrap;animation:floaty 6s ease-in-out infinite}.chip--1{top:12%;left:-4%}.chip--2{top:44%;right:-8%;animation-delay:1s}.chip--3{bottom:12%;left:-2%;animation-delay:2s}.scroll-cue{position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%);width:26px;height:42px;border:2px solid rgba(255,255,255,.35);border-radius:14px;display:grid;justify-items:center;padding-top:8px;z-index:2}.scroll-cue span{width:4px;height:8px;background:#fff;border-radius:2px;animation:cue 1.6s infinite}@keyframes cue{0%{opacity:0;transform:translateY(-4px)}50%{opacity:1}to{opacity:0;transform:translateY(10px)}}.stats{margin-top:-1px;background:var(--bg);padding:0 0 3.5rem;color:#fff}.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat{text-align:center;padding:1.6rem 1rem;border-radius:var(--radius);background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.stat__num{display:block;font-family:var(--display);font-weight:800;font-size:clamp(2rem,4vw,2.8rem);background:var(--grad-warm);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.stat__label{font-size:.85rem;color:#ffffffa6}.section{padding:clamp(4rem,9vw,7rem) 0}.section--alt{background:var(--surface-2)}.section--dark{background:var(--bg);color:#fff}.section__head{max-width:640px;margin:0 auto 3rem;text-align:center}.section__sub{color:var(--ink-soft);margin-top:.7rem}.section--dark .section__sub{color:#ffffffb3}.kicker{display:inline-block;font-family:var(--display);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--indigo);margin-bottom:.7rem}.kicker--light{color:var(--amber)}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}.about__media{position:relative}.about__photo{aspect-ratio:4/5;border-radius:var(--radius-lg);background:radial-gradient(circle at 70% 20%,rgba(255,180,59,.35),transparent 50%),linear-gradient(160deg,#1a2350,#2b2070);box-shadow:var(--shadow);position:relative;overflow:hidden}.about__photo img{width:100%;height:100%;object-fit:cover}.about__photo--empty:after{content:"👦🏽📚";position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(3rem,9vw,5rem)}.about__quote{position:absolute;bottom:-22px;right:-10px;max-width:240px;background:#fff;padding:1rem 1.2rem;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}.about__quote p{font-family:var(--serif);font-style:italic;font-size:.98rem;color:var(--ink)}.about__copy h2{margin:.2rem 0 1rem}.about__copy p{color:var(--ink-soft);margin-bottom:1rem}.about__list{display:grid;gap:.6rem;margin-top:1.4rem}.about__list li{padding-left:.2rem;font-weight:500}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.card{background:#fff;padding:1.8rem;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease,border-color .3s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}.card__icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:1.6rem;margin-bottom:1.1rem;background:linear-gradient(135deg,#5b6cff1f,#ff8a3d24)}.card h3{margin-bottom:.5rem}.card p{color:var(--ink-soft);font-size:.95rem}.expertise{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.exp{position:relative;padding:2rem;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);overflow:hidden;transition:transform .3s ease}.exp:hover{transform:translateY(-4px)}.exp__no{font-family:var(--display);font-weight:800;font-size:3rem;color:transparent;-webkit-text-stroke:1.5px rgba(91,108,255,.3);position:absolute;top:.6rem;right:1.2rem;line-height:1}.exp h3{margin-bottom:.5rem}.exp p{color:var(--ink-soft);font-size:.95rem;max-width:40ch}.professor{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.professor__copy p{color:#ffffffc7;margin-bottom:1rem}.professor__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.professor__cards{display:grid;gap:1rem}.vcard{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:1rem 1.2rem;border-radius:var(--radius);transition:background .3s,transform .3s}.vcard:hover{background:#ffffff17;transform:translate(6px)}.vcard__thumb{grid-row:span 2;width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-size:1.2rem;color:#fff;background:var(--grad)}.vcard h4{font-family:var(--display);font-size:1.02rem}.vcard p{font-size:.88rem;color:#ffffffa6}.poems{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.poem{padding:2rem;border-radius:var(--radius);background:linear-gradient(180deg,#fff,var(--surface-2));border:1px solid var(--line);position:relative}.poem:before{content:"“";font-family:var(--serif);font-size:4.5rem;line-height:0;position:absolute;top:2.2rem;left:1.1rem;color:#5b6cff2e}.poem blockquote{font-family:var(--serif);font-style:italic;font-size:1.18rem;color:var(--ink);padding-top:1.4rem}.poem figcaption{margin-top:1rem;font-size:.85rem;color:var(--ink-soft);font-weight:500}.poems__note{text-align:center;margin-top:2rem;color:var(--ink-soft);font-size:.92rem}.impact{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.impact__copy p{color:var(--ink-soft);margin:1rem 0 1.4rem}.impact__goals{display:flex;flex-wrap:wrap;gap:.7rem}.goal{padding:.6rem 1rem;border-radius:999px;font-size:.85rem;font-weight:600;color:#fff}.goal--1{background:#e5243b}.goal--13{background:#3f7e44}.goal--4{background:#c5192d}.impact__visual{font-size:clamp(7rem,20vw,12rem);text-align:center;animation:floaty 8s ease-in-out infinite}.cta{background:var(--grad);color:#fff;text-align:center;padding:clamp(3rem,7vw,5rem) 2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.cta h2{margin-bottom:.8rem}.cta p{color:#ffffffe6;max-width:50ch;margin:0 auto 1.6rem}.cta .btn--ghost{background:#fff;border-color:#fff;color:var(--ink)}.contact__form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:720px;margin:0 auto}.field{display:grid;gap:.45rem}.field--full{grid-column:1 / -1}.field label{font-size:.85rem;font-weight:600;color:var(--ink-soft)}.field input,.field textarea{font:inherit;padding:.85rem 1rem;border-radius:12px;border:1.5px solid var(--line);background:var(--surface-2);color:var(--ink);transition:border-color .2s,background .2s}.field input:focus,.field textarea:focus{outline:none;border-color:var(--indigo);background:#fff}.field textarea{resize:vertical}.form__status{margin-top:.8rem;font-size:.9rem;font-weight:500;color:var(--teal)}.form__status.error{color:#e5243b}.contact__links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;margin-top:2.4rem}.contact__links a{font-weight:600;color:var(--ink-soft)}.contact__links a:hover{color:var(--indigo)}.footer{background:var(--bg);color:#ffffffb3;padding:3.5rem 0 3rem}.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;margin-bottom:2rem}.footer__about{max-width:34ch;font-size:.92rem;color:#fff9;margin-top:.9rem}.footer h4{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffff80;margin-bottom:1rem}.footer__links{display:grid;gap:.55rem}.footer__links a{font-size:.92rem;color:#ffffffbf}.footer__links a:hover{color:var(--amber)}.brand--footer{color:#fff}.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.4rem;text-align:center}.footer__copy{font-size:.85rem;color:#ffffff73}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}@view-transition{navigation:auto}::view-transition-old(root){animation:vt-fade-out .25s ease both}::view-transition-new(root){animation:vt-fade-in .35s ease both}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0;transform:translateY(10px)}}@media(max-width:900px){.nav__links{position:fixed;inset:0 0 0 auto;width:min(78vw,320px);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.6rem;background:var(--bg);padding:2rem;transform:translate(100%);transition:transform .35s ease;box-shadow:-20px 0 60px -20px #0009}.nav__links.open{transform:none}.nav__links a{color:#fff;font-size:1.1rem}.nav.scrolled .nav__links a{color:#fff}.nav__toggle{display:flex}.nav__toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav__toggle.open span:nth-child(2){opacity:0}.nav__toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav.scrolled .nav__toggle.open span{background:#fff}.hero__inner{grid-template-columns:1fr;text-align:center;gap:2.5rem}.hero__lead{margin-inline:auto}.hero__actions,.hero__badges{justify-content:center}.hero__visual{order:-1}.about,.professor,.impact{grid-template-columns:1fr}.about__media{max-width:420px;margin-inline:auto}.impact__visual{order:-1}.footer__grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.stats__grid{grid-template-columns:repeat(2,1fr)}.cards,.expertise,.poems,.contact__form{grid-template-columns:1fr}.about__quote{position:static;max-width:none;margin-top:1.4rem}.footer__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
