/* Clareza navigation: disclosure buttons on desktop, native groups in the mobile modal. */
.rich-nav>a.nav-direct{display:flex;align-items:center;min-height:48px;padding:12px 0;text-decoration:none;font-size:15px;line-height:1.4;white-space:nowrap}.rich-mobile .mobile-main-link{font-size:clamp(29px,6.4vw,45px);letter-spacing:-.035em;line-height:1.2;padding-block:24px;min-height:82px}.rich-mobile .mobile-main-link[aria-current=page]{text-decoration:underline;text-underline-offset:7px}@media(max-width:700px){.rich-mobile .mobile-main-link{padding-block:22px;min-height:77px}}
.rich-header .rich-nav{gap:18px}.rich-header .brand{width:232px}.rich-header .student-link{margin-left:6px;padding-left:20px;font-size:14px;gap:9px}.rich-nav .nav-section{position:static}.nav-trigger{display:flex;align-items:center;gap:6px;padding:12px 0;min-height:48px;background:none;border:0;color:var(--green);font-size:15px;line-height:1.4;position:relative;white-space:nowrap}.nav-trigger>svg{width:14px;height:14px;transition:transform .2s}.nav-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.nav-trigger:after{content:'';position:absolute;left:0;right:20px;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav-trigger:hover:after,.nav-trigger-current:after,.nav-trigger[aria-expanded=true]:after{transform:scaleX(1)}
.nav-panel[hidden]{display:none!important}.nav-panel{position:absolute;top:calc(100% - 1px);left:0;right:0;display:grid;grid-template-columns:.85fr 1.8fr;gap:45px;padding:38px 35px 36px;background:var(--ivory);color:var(--green);border:1px solid var(--line);border-top:2px solid var(--green);box-shadow:0 24px 34px #24332f12;max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain;z-index:4}.is-scrolled .nav-panel{max-height:calc(100dvh - 86px)}.nav-panel-intro{padding-right:32px;border-right:1px solid var(--line)}.nav-panel-label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}.nav-panel-heading{font-size:clamp(25px,2.3vw,34px);line-height:1.13;letter-spacing:-.04em;font-weight:500;margin-bottom:18px;max-width:20ch}.nav-panel-copy{font-size:14px;line-height:1.65;color:var(--ink);max-width:35ch}.desktop-nav .nav-overview{display:flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none;line-height:1.5;font-size:14px;font-weight:600;border-bottom:1px solid currentColor;padding:14px 0 11px;margin-top:18px}.desktop-nav .nav-overview:after{display:none}.nav-overview .icon{width:22px;height:22px}.nav-panel-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.nav-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-columns-1{grid-template-columns:1fr}.nav-group-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;line-height:1.6;margin-bottom:14px;color:#45695f}.rich-nav .nav-destination{display:block;padding:12px 0;min-height:48px;text-decoration:none;border-bottom:1px solid #a4bbb166;position:relative}.rich-nav .nav-destination:after{display:none}.nav-destination-title{display:block;font-size:16px;line-height:1.3;font-weight:500;letter-spacing:-.015em}.nav-destination-copy{display:block;font-size:12px;line-height:1.6;color:#4c6760;margin-top:5px}.rich-nav .nav-destination:hover .nav-destination-title,.rich-nav .nav-destination:focus-visible .nav-destination-title,.rich-nav .nav-destination[aria-current=page] .nav-destination-title{text-decoration:underline;text-underline-offset:5px}.nav-panel-desporto{grid-template-columns:.75fr 2.35fr;gap:35px}.nav-panel-desporto .nav-panel-intro{padding-right:28px}.nav-panel-desporto .nav-panel-sections{gap:25px}.nav-panel-desporto .nav-destination-title{font-size:15px}.nav-panel-recursos{grid-template-columns:1fr 1.5fr}.nav-panel-recursos .nav-destination{padding-block:15px}.nav-panel-recursos .nav-destination-title{font-size:19px}.rich-header:has(.nav-trigger[aria-expanded=true])::before{border-bottom-color:var(--line)}
.rich-mobile{background:var(--green);color:var(--ivory)}.rich-mobile .menu-top{position:sticky;top:0;background:var(--green);z-index:2;border-bottom:1px solid #ffffff35}.rich-mobile .mobile-groups{padding-block:20px 30px}.mobile-direct{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:19px;min-height:64px;border-bottom:1px solid #ffffff50;text-decoration:none;font-size:25px;letter-spacing:-.025em}.mobile-direct .icon{width:25px;height:25px}.mobile-nav-group{border-bottom:1px solid #ffffff50}.mobile-nav-group>summary{display:flex;justify-content:space-between;align-items:center;gap:25px;list-style:none;font-size:clamp(29px,6.4vw,45px);letter-spacing:-.035em;line-height:1.2;padding-block:24px;min-height:82px;cursor:pointer}.mobile-nav-group>summary::-webkit-details-marker{display:none}.mobile-group-mark{font-size:34px;font-weight:300;line-height:1;transition:transform .2s}.mobile-nav-group[open]>summary .mobile-group-mark{transform:rotate(45deg)}.mobile-nav-content{padding-bottom:22px}.mobile-group-intro{font-size:16px;line-height:1.7;max-width:48ch;margin-bottom:18px;color:#e7eee3}.mobile-overview{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;font-size:18px;line-height:1.4;font-weight:600;text-decoration:none;border-bottom:1px solid #ffffff80;padding:13px 0;margin-bottom:28px}.mobile-overview .icon{width:23px;height:23px}.mobile-link-group{margin-top:23px}.rich-mobile .nav-group-title{color:#c9d8c6;margin-bottom:8px}.rich-mobile .nav-destination{display:block;text-decoration:none;min-height:60px;padding:15px 0;border-bottom:1px solid #ffffff25}.rich-mobile .nav-destination-title{font-size:19px;line-height:1.4;color:var(--ivory)}.rich-mobile .nav-destination-copy{font-size:14px;line-height:1.55;color:#dce6d7;margin-top:5px}.rich-mobile .nav-destination[aria-current=page] .nav-destination-title,.rich-mobile .nav-destination:hover .nav-destination-title{text-decoration:underline;text-underline-offset:5px}.rich-mobile .menu-options{padding-top:8px;padding-bottom:36px}.mobile-student{font-size:24px;margin-top:12px}.mobile-contact{font-size:20px}.rich-mobile .menu-close{min-width:80px;justify-content:end}.rich-mobile .motion-toggle{min-height:48px}.rich-mobile .menu-top.container{width:100%;padding-inline:max(24px,calc((100vw - 1320px)/2));height:88px}.rich-mobile .menu-top>span{font-size:15px}.rich-mobile a:focus-visible,.rich-mobile summary:focus-visible,.rich-mobile button:focus-visible{outline-color:var(--ivory)}
@media(min-width:1181px){.rich-header .menu-button{display:none}.rich-header .rich-nav{display:flex}.rich-header .student-link{display:flex}}
@media(max-width:1180px){.rich-header .rich-nav,.rich-header .student-link{display:none}.rich-header .menu-button{display:flex}.rich-header .brand{width:242px}.rich-header{height:90px}.rich-header.is-scrolled{height:76px}}
@media(max-width:700px){.rich-mobile .mobile-groups,.rich-mobile .menu-options{width:calc(100% - 48px)}.rich-header{height:84px}.rich-header.is-scrolled{height:72px}.rich-header .brand{width:210px}.rich-header .brand-symbol{width:43px;height:49px}.rich-header .brand-words{font-size:23px}.rich-mobile .menu-top.container{height:76px}.mobile-nav-group>summary{padding-block:22px;min-height:77px}.rich-mobile .nav-destination-title{font-size:18px}.rich-mobile .nav-destination-copy{font-size:13px}.mobile-direct{font-size:23px}.mobile-group-intro{font-size:15px}.mobile-overview{font-size:17px}.rich-mobile .menu-top>span{font-size:13px}.mobile-contact{font-size:19px}}
@media(prefers-reduced-motion:reduce){.nav-trigger>svg,.nav-trigger:after,.mobile-group-mark{transition:none}}html.motion-reduced :is(.nav-trigger>svg,.nav-trigger:after,.mobile-group-mark){transition:none}
