:root{--ink:#102a43;--ink-soft:#243b53;--muted:#627d98;--paper:#f0f9ff;--surface:#fff;--line:#102a431a;--brand:#0d9488;--brand-deep:#0f766e;--teal:#134e4a;--teal-soft:#115e59;--accent:#f59e0b;--accent-ink:#78350f;--coral:#f43f5e;--sky:#38bdf8;--danger:#e11d48;--shadow:0 18px 40px #0d94881f;--shadow-soft:0 8px 20px #102a430f;--font-display:"Fraunces", Georgia, serif;--font-body:"Outfit", system-ui, sans-serif;--radius:20px;--max:1180px;--header-h:84px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(900px 420px at -5% -5%,#38bdf838,#0000 50%),radial-gradient(800px 380px at 105% 0,#f59e0b2e,#0000 48%),radial-gradient(700px 360px at 50% 100%,#0d94881f,#0000 55%),linear-gradient(#e0f2fe 0%,#f0f9ff 32%,#fff 100%);margin:0;line-height:1.55}#root{min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;font-weight:700;line-height:1.12}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.container{width:min(100% - 2rem, var(--max));margin-inline:auto}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin:0 0 .55rem;font-size:.78rem;font-weight:700}.brand-mark{align-items:center;gap:.85rem;min-width:0;max-width:min(100%,420px);display:flex}.brand-mark__logo{border:1px solid var(--line);width:56px;height:56px;box-shadow:var(--shadow-soft);background:#fff;border-radius:14px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.brand-mark__logo img{object-fit:contain;width:44px;height:44px}.brand-mark__text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.brand-mark__name{font-family:var(--font-display);color:var(--teal);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(.98rem,2.2vw,1.15rem);font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.brand-mark__place{color:var(--muted);font-size:.78rem;font-weight:500}.brand-mark--compact .brand-mark__logo{width:48px;height:48px}.brand-mark--compact .brand-mark__logo img{width:36px;height:36px}.site-header{z-index:50;-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);background:#ffffffe6;border-bottom:1px solid #0d94881f;position:sticky;top:0}.site-header__inner{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;display:flex}.nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem 1.15rem;display:flex}.nav-links a{color:var(--ink-soft);font-size:.95rem;font-weight:600;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--brand)}.nav-links--desktop{display:flex}.btn{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.72rem 1.25rem;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-lg{padding:.85rem 1.45rem;font-size:1.02rem}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 12px 28px color-mix(in srgb, var(--brand) 35%, transparent)}.btn-primary:hover{background:var(--brand-deep)}.btn-ghost{color:var(--teal);border:1px solid var(--line);background:#ffffffb3}.menu-toggle{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:.5rem .8rem;font-weight:700;display:none}.hero{padding:2.75rem 0 1.25rem;position:relative}.hero:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#f43f5e1f,#0000 70%);border-radius:50%;width:min(280px,40vw);height:min(280px,40vw);position:absolute;inset:8% 8% auto auto}.hero .container{z-index:1;position:relative}.hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.1fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);display:grid}.hero__copy h1{color:var(--teal);margin:0 0 .85rem;font-size:clamp(2.2rem,5vw,3.55rem);animation:.75s both rise}.hero__copy>p{color:var(--muted);max-width:34rem;margin:0 0 1.4rem;font-size:1.08rem;animation:.75s 80ms both rise}.hero__badge{border:1px solid var(--line);box-shadow:var(--shadow-soft);color:var(--ink-soft);background:#fff;border-radius:999px;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.35rem .85rem .35rem .35rem;font-size:.82rem;font-weight:600;animation:.75s both rise;display:inline-flex}.hero__badge img{object-fit:contain;background:#f8fafc;border-radius:50%;width:36px;height:36px}.hero__actions{flex-wrap:wrap;gap:.7rem;margin-bottom:1.75rem;animation:.75s .14s both rise;display:flex}.hero__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0;animation:.75s .2s both rise;display:grid}.hero__stats div{border:1px solid var(--line);background:#ffffffbf;border-radius:14px;padding:.85rem .9rem}.hero__stats dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .2rem;font-size:.72rem;font-weight:700}.hero__stats dd{color:var(--teal);margin:0;font-size:.92rem;font-weight:700}.hero__media{animation:.85s .1s both rise}.hero__media-frame{background:linear-gradient(#fff,#ecfeff);border:1px solid #0d94882e;border-radius:28px;padding:clamp(.65rem,1.8vw,1rem);overflow:hidden;box-shadow:0 24px 50px #0d948824}.hero__media-frame img{object-fit:contain;object-position:center;background:#fff;border-radius:18px;width:100%;height:auto;max-height:min(62vh,520px)}.section{padding:4rem 0}.section--tight{padding:2.5rem 0}.section--panel{background:linear-gradient(#ccfbf1 0%,#fff 70%);border-block:1px solid #0d94881f}.section-head{max-width:40rem;margin-bottom:2rem}.section-head h2{color:var(--teal);margin:0 0 .65rem;font-size:clamp(1.7rem,3.4vw,2.4rem)}.section-head p{color:var(--muted);margin:0;font-size:1.05rem}.pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.pillar{padding:.25rem .15rem}.pillar span{font-family:var(--font-display);color:var(--brand);margin-bottom:.7rem;font-weight:700;display:inline-block}.pillar h3{color:var(--teal);margin:0 0 .45rem;font-size:1.25rem}.pillar p{color:var(--muted);margin:0}.faculty-grid{grid-template-columns:repeat(2,minmax(0,320px));gap:1.25rem;display:grid}.faculty-grid--about{grid-template-columns:repeat(2,minmax(0,1fr))}.faculty-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fff;align-items:center;gap:1rem;padding:1rem;transition:transform .25s,box-shadow .25s;display:flex}.faculty-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.faculty-card__photo{border:3px solid color-mix(in srgb, var(--brand) 25%, white);background:#e2e8f0;border-radius:50%;flex-shrink:0;width:88px;height:88px;overflow:hidden}.faculty-card__photo img{object-fit:cover;object-position:center top;width:100%;height:100%}.faculty-card__body h3{color:var(--teal);margin:0 0 .25rem;font-size:1.1rem}.faculty-card__body p{color:var(--muted);margin:0}.cta-split{grid-template-columns:1.1fr .9fr;align-items:stretch;gap:1.5rem;display:grid}.cta-split h2{color:var(--teal);margin:0 0 1rem;font-size:clamp(1.7rem,3vw,2.3rem)}.branch-list{margin:0 0 1.25rem;padding:0;list-style:none}.branch-list li{border-top:1px solid var(--line);gap:.2rem;padding:.85rem 0;display:grid}.branch-list li:last-child{border-bottom:1px solid var(--line)}.branch-list strong{color:var(--teal)}.branch-list span{color:var(--muted)}.cta-card{background:linear-gradient(155deg, color-mix(in srgb, var(--brand) 92%, #000), var(--teal));color:#fff;box-shadow:var(--shadow);border-radius:28px;flex-direction:column;justify-content:center;padding:1.75rem 1.6rem;display:flex}.cta-card h3{margin:0 0 .55rem;font-size:1.55rem}.cta-card p{color:#ffffffe0;margin:0 0 1.25rem}.cta-card .btn-primary{color:var(--teal);box-shadow:none;background:#fff;align-self:flex-start}.page-hero{border-bottom:1px solid var(--line);background:#ffffff73;padding:2.75rem 0 1.5rem}.page-hero__inner{align-items:center;gap:1.15rem;display:flex}.page-hero__logo{object-fit:contain;border:1px solid var(--line);width:72px;height:72px;box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;flex-shrink:0;padding:.45rem}.page-hero h1{color:var(--teal);margin:0 0 .4rem;font-size:clamp(1.9rem,4vw,2.7rem)}.page-hero p{color:var(--muted);max-width:40rem;margin:0}.about-layout{gap:2.5rem;display:grid}.about-copy h2{color:var(--teal);margin:0 0 .75rem;font-size:clamp(1.5rem,3vw,2rem)}.about-copy p{color:var(--ink-soft);max-width:46rem;margin:0;font-size:1.08rem}.about-copy__extra{color:var(--muted)!important;margin-top:1rem!important}.contact-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;display:grid}.info-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fff;padding:1.4rem 1.35rem}.info-card__label{letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:.45rem;font-size:.72rem;font-weight:700;display:inline-block}.info-card h2{color:var(--teal);margin:0 0 .45rem;font-size:1.3rem}.info-card p{color:var(--muted);margin:0}.info-card__list{margin:0;padding:0;list-style:none}.info-card__list li+li{margin-top:.35rem}.info-card__list a{color:var(--ink-soft);font-weight:600}.info-card__list a:hover{color:var(--brand)}.prose{max-width:46rem;padding:2rem 0 3rem}.prose h2{color:var(--teal);margin:2rem 0 .6rem;font-size:1.35rem}.prose p,.prose li{color:var(--ink-soft)}.auth-layout{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.auth-visual{color:#fff;background:linear-gradient(160deg, color-mix(in srgb, var(--brand) 88%, #000), var(--teal));flex-direction:column;justify-content:flex-end;padding:3rem;display:flex}.auth-visual__logo{object-fit:contain;background:#fff;border-radius:18px;width:72px;height:72px;margin-bottom:1.25rem;padding:.5rem}.auth-visual .eyebrow{color:#ffffffbf}.auth-visual h1{margin:0 0 .65rem;font-size:clamp(2rem,4vw,2.9rem)}.auth-visual p{color:#ffffffe6;max-width:28rem;margin:0}.auth-panel{background:var(--paper);justify-content:center;align-items:center;padding:2.5rem 1.5rem;display:flex}.auth-card{border:1px solid var(--line);width:min(100%,420px);box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:1.7rem 1.5rem}.auth-card h2{color:var(--teal);margin:0 0 .35rem}.auth-card>p{color:var(--muted);margin:0 0 1.4rem}.auth-back{color:var(--muted);margin:1.2rem 0 0}.field{gap:.35rem;margin-bottom:1rem;display:grid}.field label{font-size:.92rem;font-weight:600}.field input{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.8rem .95rem}.field input:focus{outline:2px solid color-mix(in srgb, var(--brand) 30%, transparent);border-color:var(--brand)}.form-error{color:var(--danger);margin:0 0 1rem;font-size:.92rem}.portal-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 0;display:flex}.portal-bar__title{color:var(--teal);margin:0;font-size:1.55rem}.portal-bar__sub{color:var(--muted);margin:.35rem 0 0}.portal-nav{flex-wrap:wrap;gap:.5rem;display:flex}.portal-nav a{color:var(--ink-soft);border:1px solid #0000;border-radius:999px;padding:.45rem .9rem;font-weight:600}.portal-nav a.active,.portal-nav a:hover{background:color-mix(in srgb, var(--brand) 10%, white);color:var(--brand-deep);border-color:var(--line)}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.tile{border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fff;border:1px solid #0d948824;padding:1.15rem;transition:transform .2s,border-color .2s,box-shadow .2s}.tile:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));box-shadow:var(--shadow);transform:translateY(-3px)}.tile__chip{letter-spacing:.04em;text-transform:uppercase;color:var(--brand-deep);background:#ccfbf1;border-radius:999px;margin-bottom:.55rem;padding:.2rem .55rem;font-size:.7rem;font-weight:700;display:inline-block}.tile--material .tile__chip{color:#9a3412;background:#ffedd5}.tile h3{color:var(--teal);margin:0 0 .35rem;font-size:1.08rem}.tile p{color:var(--muted);margin:0;font-size:.92rem}.portal-back{margin-bottom:1rem}.portal-back a{color:var(--brand-deep);font-weight:600}.video-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.1rem;display:grid}.video-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fff;transition:transform .2s;overflow:hidden}.video-card:hover{transform:translateY(-2px)}.video-card__thumb{aspect-ratio:16/9;object-fit:cover;background:#0f172a;width:100%}.video-card__body{padding:.9rem 1rem 1.1rem}.video-card__body h3{color:var(--teal);margin:0 0 .3rem;font-size:1rem}.player-shell{border-radius:var(--radius);aspect-ratio:16/9;box-shadow:var(--shadow);background:#000;overflow:hidden}.player-shell iframe,.player-shell video{border:0;width:100%;height:100%;display:block}.viewer-shell{border:1px solid var(--line);border-radius:var(--radius);min-height:70vh;box-shadow:var(--shadow);background:#fff;overflow:hidden}.viewer-shell iframe{border:0;width:100%;height:75vh}.empty-state{color:var(--muted);padding:2.5rem 0}.site-footer{border-top:1px solid var(--line);background:#ffffffc7;margin-top:auto;padding:2.75rem 0 1.35rem}.footer-top{grid-template-columns:1.45fr 1fr .85fr;gap:1.75rem;margin-bottom:1.5rem;display:grid}.footer-brand p{color:var(--muted);max-width:28rem;margin:1rem 0 0}.site-footer h3{color:var(--teal);margin:0 0 .65rem;font-size:.95rem}.site-footer p,.site-footer a,.site-footer li{color:var(--muted);font-size:.95rem}.site-footer a:hover{color:var(--brand)}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:.4rem}.footer-copy{border-top:1px solid var(--line);color:var(--muted);padding-top:1rem;font-size:.86rem}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.hero__grid,.pillars,.cta-split,.footer-top,.auth-layout,.contact-cards{grid-template-columns:1fr}.hero__media-frame img{max-height:none}.auth-visual{min-height:240px;padding:2rem 1.25rem}.menu-toggle{display:inline-flex}.nav-links{left:1rem;right:1rem;top:var(--header-h);border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffffa;border-radius:16px;flex-direction:column;align-items:stretch;padding:1rem;display:none;position:absolute}.nav-links.open,.nav-links--desktop{display:flex}}@media (width<=640px){.faculty-grid,.faculty-grid--about,.hero__stats{grid-template-columns:1fr}.brand-mark{max-width:calc(100% - 5.5rem)}.page-hero__inner{align-items:flex-start}}
