@font-face{font-family:CollegeNav;src:url('../fonts/PPMori-Regular.otf') format('opentype');font-weight:400;font-display:swap}
.glass-menu-space{height:0}
.glass-menu{position:fixed;z-index:1100;top:16px;left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:1180px;color:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(24,24,29,.72);box-shadow:0 10px 36px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.09);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);transition:max-width .3s ease,background .3s ease}
.glass-menu__inner{display:flex;align-items:center;gap:28px;min-height:70px;padding:12px 22px}
.glass-menu__logo{display:block;flex-shrink:0}
.glass-menu__logo img{display:block;width:100px;height:auto}
.glass-menu__links{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex:1;margin:0;padding:0;list-style:none}
.glass-menu__links a{display:block;color:#efeff2!important;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.3;text-decoration:none;padding:10px 0;white-space:nowrap;position:relative}
.glass-menu__links a:hover{color:#fff!important}
.glass-menu__links a[aria-current=page]:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;background:currentColor;border-radius:2px}
.glass-menu a:focus-visible,.glass-menu button:focus-visible{outline:2px solid #dbc3ff;outline-offset:5px}
.glass-menu__toggle{display:none;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;cursor:pointer;padding:10px}
.glass-menu__toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.glass-menu.is-compact{max-width:206px}
.glass-menu.is-compact .glass-menu__inner{justify-content:space-between;gap:18px}
.glass-menu.is-compact .glass-menu__links{display:none}
.glass-menu.is-compact .glass-menu__toggle{display:flex}
.glass-menu.is-compact.is-open{max-width:1180px}
.glass-menu.is-compact.is-open .glass-menu__links{display:flex}
.glass-menu.is-open .glass-menu__toggle{display:flex}
@media(max-width:1050px){.glass-menu{max-width:206px;width:calc(100% - 32px);top:12px;border-radius:999px}.glass-menu__inner{justify-content:space-between;gap:18px;padding:10px 18px;flex-wrap:wrap}.glass-menu__toggle{display:flex}.glass-menu__links{display:none}.glass-menu.is-open,.glass-menu.is-compact.is-open{max-width:500px}.glass-menu.is-open .glass-menu__links,.glass-menu.is-compact.is-open .glass-menu__links{display:flex;flex-direction:column;align-items:stretch;flex-basis:100%;gap:0;padding:8px 0 6px;border-top:1px solid rgba(255,255,255,.15)}.glass-menu__links a{font-size:16px;padding:14px 10px;border-radius:9px}.glass-menu__links a:hover{background:rgba(255,255,255,.08)}.glass-menu__links a[aria-current=page]:after{left:0;right:auto;top:15px;bottom:15px;height:auto;width:2px}.glass-menu-space{height:0}}
@supports not (backdrop-filter:blur(1px)){.glass-menu{background:rgba(24,24,29,.97)}}
@media(prefers-reduced-motion:reduce){.glass-menu{transition:none}}

.glass-content-start{padding-top:112px!important}
.privacy-page .privacy-hero{padding-top:140px}
.about-page .about-hero__copy{padding-top:140px}
.glass-menu.is-open{border-radius:999px}
@media(max-width:1050px){.glass-menu.is-open,.glass-menu.is-compact.is-open{border-radius:30px}}
@media(max-width:767px){.about-page .about-hero__copy{padding-top:124px}.privacy-page .privacy-hero{padding-top:124px}}

/* Open the glass shell first, then reveal the navigation. */
.glass-menu{transition:max-width .65s cubic-bezier(.22,1,.36,1),background .35s ease,border-radius .45s ease}
@media(min-width:1051px){
 .glass-menu__inner{position:relative}
 .glass-menu__links,.glass-menu.is-compact .glass-menu__links,.glass-menu.is-compact.is-open .glass-menu__links{display:flex;position:absolute;right:24px;top:50%;transform:translateY(-50%);flex:none}
 .glass-menu.is-compact .glass-menu__links{right:84px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s .18s}
 .glass-menu.is-compact.is-open .glass-menu__links{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s ease .32s,visibility 0s .32s}
 .glass-menu.is-compact .glass-menu__links a{opacity:0;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease}
 .glass-menu.is-compact.is-open .glass-menu__links a{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease;transition-delay:.34s}
 .glass-menu.is-compact.is-open .glass-menu__links a:nth-child(2){transition-delay:.38s}
 .glass-menu.is-compact.is-open .glass-menu__links a:nth-child(3){transition-delay:.42s}
 .glass-menu.is-compact.is-open .glass-menu__links a:nth-child(4){transition-delay:.46s}
 .glass-menu.is-compact.is-open .glass-menu__links a:nth-child(5){transition-delay:.50s}
 .glass-menu.is-compact.is-open .glass-menu__links a:nth-child(6){transition-delay:.54s}
 .glass-menu.is-compact .glass-menu__toggle{margin-left:auto}
 .glass-menu.is-compact:not(.is-open){transition-delay:.16s}
}
@keyframes glass-link-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.glass-menu.is-open .glass-menu__links a{animation:glass-link-reveal .35s ease .3s both}.glass-menu.is-open .glass-menu__links a:nth-child(2){animation-delay:.34s}.glass-menu.is-open .glass-menu__links a:nth-child(3){animation-delay:.38s}.glass-menu.is-open .glass-menu__links a:nth-child(4){animation-delay:.42s}.glass-menu.is-open .glass-menu__links a:nth-child(5){animation-delay:.46s}.glass-menu.is-open .glass-menu__links a:nth-child(6){animation-delay:.5s}}
@media(prefers-reduced-motion:reduce){.glass-menu,.glass-menu .glass-menu__links,.glass-menu .glass-menu__links a{transition:none!important;animation:none!important}}

/* Compact control fades out while the desktop navigation opens. */
@media(min-width:1051px){
 .glass-menu.is-compact .glass-menu__toggle{display:flex;opacity:1;visibility:visible;transform:scale(1);transition:opacity .24s ease .28s,transform .3s ease .28s,visibility 0s}
 .glass-menu.is-compact.is-open .glass-menu__toggle{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.85);transition:opacity .2s ease,transform .25s ease,visibility 0s .25s}
 .glass-menu.is-compact .glass-menu__links,.glass-menu.is-compact.is-open .glass-menu__links{right:24px}
}

.glass-menu__links a[aria-current=page]{font-weight:700;color:#fff!important}
/* Hover neutro: a linha aparece do centro; página ativa fica em negrito. */
.glass-menu .glass-menu__links a:after,.glass-menu .glass-menu__links a[aria-current=page]:after{content:'';position:absolute;left:0;right:0;top:auto;bottom:2px;width:auto;height:1px;background:currentColor;border-radius:0;transform:scaleX(0);transform-origin:center;transition:transform .32s ease}
.glass-menu .glass-menu__links a:hover:after,.glass-menu .glass-menu__links a:focus-visible:after{transform:scaleX(1)}
.back-to-top{background:rgba(24,24,29,.72)!important;border:1px solid rgba(255,255,255,.22);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.09);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);transition:opacity .4s,background .25s,transform .25s}
.back-to-top:hover{background:rgba(48,48,55,.82)!important;transform:translateY(-3px)}
.college-footer .college-footer__social a{transition:color .25s,transform .25s}
.college-footer .college-footer__social a:hover,.college-footer .college-footer__social a:focus-visible{color:#9600ff;transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.glass-menu .glass-menu__links a:after,.back-to-top,.college-footer .college-footer__social a{transition:none}.back-to-top:hover,.college-footer .college-footer__social a:hover{transform:none}}
@font-face{font-family:FooterMori;src:url('../fonts/PPMori-SemiBold.otf') format('opentype');font-weight:600 800;font-display:swap}
body{--footer-accent:#9000ff}
body[data-site-color=blue]{--footer-accent:#0060ff}
body[data-site-color=yellow]{--footer-accent:#ffd000}
body[data-site-color=selection]{--footer-accent:#9e06ec}
body[data-site-color=privacy]{--footer-accent:#1241ca}
.college-footer h2{font-family:FooterMori,Arial,sans-serif;font-weight:600;letter-spacing:.035em;text-transform:uppercase;font-size:16px}
.college-footer a{transition:color .25s}
.college-footer a:hover,.college-footer .college-footer__social a:hover,.college-footer a:focus-visible,.college-footer .college-footer__social a:focus-visible{color:var(--footer-accent)}
.college-footer a:focus-visible{outline-color:var(--footer-accent)}

/* Copyright and developer credit occupy one line each on phones. */
@media(max-width:575.98px){
 .copyright.fontmenor,.credits.fontmenor{font-size:clamp(11px,3.1vw,13px)!important;line-height:1.8!important;white-space:nowrap;letter-spacing:0}
}

@media(max-width:767px){
 .college-footer__grid{grid-template-columns:1fr;gap:30px}
 .college-footer__grid>div+div{border-top:1px solid rgba(255,255,255,.2);padding-top:30px}
 .college-footer h2{font-size:13px;letter-spacing:.1em;margin-bottom:20px}
 .college-footer .college-footer__links-title{border-top:1px solid rgba(255,255,255,.2);padding-top:30px;margin-top:30px;margin-bottom:20px}
}

.credit-heart{display:inline-block;width:.9em;height:.9em;color:#e53945;vertical-align:-.08em;animation:credit-heartbeat 1.7s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 50%}
svg.credit-heart{fill:currentColor;stroke:none}
@keyframes credit-heartbeat{0%,40%,100%{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}32%{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.credit-heart{animation:none}}

/* Keep the expanding glass shell, with stable link layout throughout the motion. */
@media(max-width:1050px){
 .glass-menu{--menu-closed-height:90px;--menu-open-height:460px;height:var(--menu-closed-height);overflow:hidden;transition:max-width .48s cubic-bezier(.22,1,.36,1),height .48s cubic-bezier(.22,1,.36,1),border-radius .48s cubic-bezier(.22,1,.36,1)}
 .glass-menu.is-open,.glass-menu.is-compact.is-open{height:var(--menu-open-height);max-height:calc(100svh - 24px);overflow:hidden;border-radius:30px}
 .glass-menu__inner{position:relative;flex-wrap:nowrap}
 .glass-menu .glass-menu__links,.glass-menu.is-open .glass-menu__links,.glass-menu.is-compact.is-open .glass-menu__links{display:flex;position:absolute;top:var(--menu-closed-height);left:50%;width:min(462px,calc(100vw - 70px));box-sizing:border-box;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 16px;max-height:calc(100svh - var(--menu-closed-height) - 36px);overflow-y:auto;border-top:1px solid rgba(255,255,255,.15);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-6px);transition:opacity .18s ease,transform .22s ease,visibility 0s .18s}
 .glass-menu.is-open .glass-menu__links,.glass-menu.is-compact.is-open .glass-menu__links{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition:opacity .28s ease .1s,transform .32s ease .1s,visibility 0s}
 .glass-menu.is-open .glass-menu__links a{animation:none}
}
@media(prefers-reduced-motion:reduce){.glass-menu,.glass-menu .glass-menu__links{transition:none!important}}
