:root{
    --blue:#0c1c30;
    --action-blue:#123f93;
    --action-blue-dark:#0d2f70;
    --gold:#c8a951;
    --gold-dark:#a9852f;
    --gold-light:#f3df9f;
    --ink-on-gold:#171719;

    --surface:#ffffff;
    --surface-alt:#f8fafc;
    --paper:#f4f6fa;
    --radius-card:14px;
    --shadow-card:0 4px 20px rgba(12,28,48,.08);
    --shadow-card-hover:0 20px 40px -15px rgba(12,28,48,.18);
    --ease-editorial:cubic-bezier(.2,.7,.2,1);
    --dur-fast:220ms;
    --dur-slow:600ms;
}

html, body {
    overflow-x: clip;
    max-width: 100%;
}


a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
    outline:2px solid var(--gold-dark);
    outline-offset:2px;
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important;
    }
}


.contact-map{
    max-width:1180px;
    margin:0 auto 3.5rem;
    display:grid;
    gap:1.1rem;
}
.contact-map__frame{
    aspect-ratio:16/6;
    min-height:220px;
    border-radius:var(--radius-card);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    filter:grayscale(.25) contrast(1.05);
}
.contact-map__cta{
    justify-self:center;
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    padding:.8rem 1.6rem;
    border-radius:999px;
    border:1px solid var(--gold);
    color:var(--gold);
    font-size:.95rem;
    font-weight:700;
    letter-spacing:.02em;
    text-decoration:none;
    transition:background-color var(--dur-fast) var(--ease-editorial),color var(--dur-fast) var(--ease-editorial);
}
.contact-map__cta:hover{
    background-color:var(--gold);
    color:var(--ink-on-gold);
}
.contact-map__nav-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    padding:.85rem 1.25rem;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    flex-wrap:wrap;
}
.contact-map__info{
    display:flex;
    align-items:center;
    gap:.8rem;
    min-width:0;
}
.contact-map__pin{
    width:36px;
    height:36px;
    border-radius:10px;
    background:rgba(200,169,81,.15);
    color:var(--gold,#c8a951);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1rem;
    flex-shrink:0;
}
.contact-map__text{
    line-height:1.35;
    min-width:0;
}
.contact-map__text strong{
    display:block;
    font-size:.9rem;
    color:#fff;
    font-weight:700;
}
.contact-map__text span{
    display:block;
    font-size:.78rem;
    color:#cbd5e1;
}
.contact-map__actions{
    display:flex;
    align-items:center;
    gap:.65rem;
    flex-wrap:wrap;
}
.contact-map__btn{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.55rem 1.2rem;
    border-radius:999px;
    font-size:.84rem;
    font-weight:700;
    text-decoration:none!important;
    transition:all .2s ease;
    white-space:nowrap;
    cursor:pointer;
}
.contact-map__btn--google{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.24);
    color:#fff!important;
}
.contact-map__btn--google:hover{
    background:#fff;
    color:#0c2340!important;
    transform:translateY(-1px);
    box-shadow:0 4px 14px rgba(255,255,255,.2);
}
.contact-map__btn--waze{
    background:rgba(51,204,255,.14);
    border:1px solid rgba(51,204,255,.45);
    color:#38bdf8!important;
}
.contact-map__btn--waze:hover{
    background:#33ccff;
    color:#0c2340!important;
    border-color:#33ccff;
    transform:translateY(-1px);
    box-shadow:0 4px 16px rgba(51,204,255,.35);
}
@media(max-width:768px){
    .contact-map__frame{
        aspect-ratio:16/10;
        min-height:200px;
        max-height:260px;
        border-radius:12px;
    }
    .contact-map__nav-card{
        flex-direction:column;
        align-items:stretch;
        gap:.85rem;
        padding:.9rem 1rem;
        border-radius:12px;
    }
    .contact-map__info{
        align-items:flex-start;
        gap:.75rem;
    }
    .contact-map__pin{
        width:34px;
        height:34px;
        font-size:.95rem;
        margin-top:2px;
    }
    .contact-map__text strong{
        font-size:.92rem;
        line-height:1.3;
    }
    .contact-map__text span{
        font-size:.78rem;
        line-height:1.45;
        color:#cbd5e1;
    }
    .contact-map__actions{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        width:100%;
        gap:.6rem;
    }
    .contact-map__btn{
        min-height:44px;
        padding:.6rem .65rem;
        font-size:.82rem;
        justify-content:center;
        text-align:center;
        width:100%;
    }
}
@media(max-width:370px){
    .contact-map__frame{
        aspect-ratio:16/10;
        min-height:180px;
        max-height:220px;
    }
    .contact-map__nav-card{
        padding:.75rem .85rem;
    }
    .contact-map__actions{
        grid-template-columns:1fr;
        gap:.5rem;
    }
}


.hero-institucional{
    position:relative;
    min-height:320px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    color:#fff;
}
.hero-institucional__media{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.02);
}
.hero-institucional__overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(11,11,12,.35),rgba(11,11,12,.72));
}
.hero-institucional__content{
    position:relative;
    z-index:1;
    padding:3rem 0 2.6rem;
    max-width:1180px;
    margin:0 auto;
}
.hero-institucional__breadcrumb{
    font-size:.78rem;
    letter-spacing:.04em;
    color:rgba(255,255,255,.72);
    margin-bottom:.9rem;
    display:flex;
    gap:.4rem;
    flex-wrap:wrap;
}
.hero-institucional__breadcrumb a{color:rgba(255,255,255,.72);text-decoration:none;}
.hero-institucional__breadcrumb a:hover{color:#fff;text-decoration:underline;}
.hero-institucional h1{
    font-family:'Cormorant Garamond',serif;
    letter-spacing:-.02em;
    font-size:clamp(2.2rem,4.5vw,3.6rem);
    line-height:1;
}
.hero-institucional p{
    margin-top:.6rem;
    color:rgba(255,255,255,.85);
    max-width:62ch;
    font-size:1.05rem;
}
@media(max-width:680px){
    .hero-institucional{min-height:260px;}
}


.card-premium{
    border-radius:var(--radius-card);
    border:1px solid var(--line);
    box-shadow:none;
    transition:transform var(--dur-fast) var(--ease-editorial),
               box-shadow var(--dur-fast) var(--ease-editorial),
               border-color var(--dur-fast) var(--ease-editorial);
}
.card-premium:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-card-hover);
    border-color:var(--charcoal);
}
.card-premium:focus-within{
    outline:2px solid var(--gold-dark);
    outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){
    .card-premium{transition:none;}
    .card-premium:hover{transform:none;}
}


.wa-widget{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:1000;
}
.wa-widget__toggle{
    width:56px;
    height:56px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(18,139,79,.55);
    backdrop-filter:blur(14px) saturate(140%);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
    box-shadow:0 14px 34px rgba(5,61,31,.22);
    color:#fff;
    font-size:26px;
    display:grid;
    place-items:center;
    cursor:pointer;
    transition:transform var(--dur-fast) var(--ease-editorial),
               background var(--dur-fast) var(--ease-editorial),
               box-shadow var(--dur-fast) var(--ease-editorial);
}
.wa-widget__toggle:hover{
    background:rgba(12,121,67,.75);
    transform:translateY(-3px) scale(1.04);
    box-shadow:0 18px 40px rgba(5,61,31,.3);
}
.wa-widget__toggle:focus-visible{
    outline:2px solid var(--gold-dark);
    outline-offset:3px;
}
.wa-widget.is-open .wa-widget__toggle{background:rgba(12,121,67,.9);}

.wa-widget__card{
    position:absolute;
    right:0;
    bottom:70px;
    width:300px;
    max-width:calc(100vw - 48px);
    background:#fff;
    border-radius:var(--radius-card);
    box-shadow:0 24px 56px -16px rgba(17,17,17,.35);
    border:1px solid var(--line);
    overflow:hidden;
    animation:wa-pop var(--dur-fast) var(--ease-editorial);
}
@keyframes wa-pop{
    from{opacity:0;transform:translateY(8px) scale(.97);}
    to{opacity:1;transform:translateY(0) scale(1);}
}
.wa-widget__card-head{
    display:flex;
    align-items:center;
    gap:.7rem;
    padding:1rem 1.1rem;
    background:#128B4F;
    color:#fff;
    position:relative;
}
.wa-widget__avatar{
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    display:grid;
    place-items:center;
    font-size:20px;
    flex-shrink:0;
}
.wa-widget__card-head strong{display:block;font-size:.92rem;}
.wa-widget__card-head span{display:block;font-size:.72rem;color:rgba(255,255,255,.8);}
.wa-widget__close{
    position:absolute;
    top:.6rem;
    right:.6rem;
    width:26px;
    height:26px;
    border:none;
    background:rgba(255,255,255,.15);
    border-radius:50%;
    color:#fff;
    display:grid;
    place-items:center;
    cursor:pointer;
    font-size:.75rem;
}
.wa-widget__close:hover{background:rgba(255,255,255,.28);}
.wa-widget__message{
    padding:1rem 1.1rem;
    font-size:.88rem;
    color:#333;
    line-height:1.6;
    margin:0;
    background:var(--surface-alt);
}
.wa-widget__cta{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    margin:1rem;
    padding:.75rem 1rem;
    background:#128B4F;
    color:#fff;
    border-radius:999px;
    text-decoration:none;
    font-weight:700;
    font-size:.88rem;
    transition:background var(--dur-fast) var(--ease-editorial);
}
.wa-widget__cta:hover{background:#0e7a43;}

@media(max-width:560px){
    .wa-widget{right:14px;bottom:14px;}
    .wa-widget__toggle{width:52px;height:52px;font-size:24px;}
}
@media(prefers-reduced-motion:reduce){
    .wa-widget__toggle{transition:none;}
    .wa-widget__card{animation:none;}
}


.reveal{opacity:0;transform:translateY(52px) scale(.97);transition:opacity .95s var(--ease-editorial),transform .95s var(--ease-editorial);will-change:opacity,transform;}
.reveal.in{opacity:1;transform:none;}
.reveal-stagger > *{opacity:0;transform:translateY(38px) scale(.97);transition:opacity .85s var(--ease-editorial),transform .85s var(--ease-editorial);}
.reveal-stagger.in > *{opacity:1;transform:none;}
.reveal-stagger.in > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.in > *:nth-child(2){transition-delay:.13s;}
.reveal-stagger.in > *:nth-child(3){transition-delay:.21s;}
.reveal-stagger.in > *:nth-child(4){transition-delay:.29s;}
.reveal-stagger.in > *:nth-child(5){transition-delay:.37s;}
.reveal-stagger.in > *:nth-child(6){transition-delay:.45s;}
.reveal-stagger.in > *:nth-child(7){transition-delay:.53s;}
.reveal-stagger.in > *:nth-child(8){transition-delay:.61s;}

.reveal-clip > img,
.reveal-clip > .course-card-cover-fallback{clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease-editorial);}
.reveal-clip.in > img,
.reveal-clip.in > .course-card-cover-fallback{clip-path:inset(0 0 0% 0);}
@media(prefers-reduced-motion:reduce){
    .reveal,.reveal-stagger > *{opacity:1!important;transform:none!important;}
    .reveal-clip > img,.reveal-clip > .course-card-cover-fallback{clip-path:none!important;}
}


.video-classico{position:absolute;inset:0;width:100%;height:100%;}
.video-classico__poster{width:100%;height:100%;object-fit:cover;display:block;}
.video-classico__play{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(11,11,12,.1),rgba(11,11,12,.4));border:none;padding:0;cursor:pointer;}
.video-classico__play-icon{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.35rem;transition:transform var(--dur-fast) var(--ease-editorial),background var(--dur-fast) var(--ease-editorial),color var(--dur-fast) var(--ease-editorial),border-color var(--dur-fast) var(--ease-editorial);}
.video-classico__play-icon i{margin-left:4px;}
.video-classico__play:hover .video-classico__play-icon,
.video-classico__play:focus-visible .video-classico__play-icon{transform:scale(1.08);background:var(--gold);border-color:var(--gold);color:var(--ink-on-gold);}
.video-classico iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
@media(max-width:560px){
    .video-classico__play-icon{width:58px;height:58px;font-size:1.1rem;}
}
@media(prefers-reduced-motion:reduce){
    .video-classico__play-icon{transition:none;}
}

/* ISPP-Kilamba: shared editorial system. Legacy aliases keep existing templates compatible. */
@font-face{font-family:Inter;src:url('/fonts/Inter-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/fonts/Inter-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('/fonts/Inter-600.ttf') format('truetype');font-weight:600 900;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/CormorantGaramond-Regular.ttf') format('truetype');font-weight:400 500;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/Cormorant-600.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--institutional-primary:#123f93;--institutional-secondary:#b3161c;--ink:#202629;--muted:#596168;--surface:#fff;--surface-alt:#f5f5f1;--background:#fff;--border:#d7dbd9;--accent:var(--institutional-primary);--paper:var(--background);--black:var(--ink);--line:var(--border);--container-wide:1440px;--container-default:1280px;--container-reading:68ch;--max:var(--container-default);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--section-space:112px;--radius-card:4px;--shadow-card-hover:none;--font-editorial:'Cormorant Garamond',Georgia,serif;--font-body:Inter,Arial,sans-serif}
.institutional-site{background:var(--background);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.7;overflow-wrap:break-word}
.institutional-site .container,.institutional-site .dx-shell{width:min(var(--container-default),calc(100% - 96px));margin-inline:auto}
.institutional-site :is(h1,h2,h3){text-wrap:balance}
.institutional-site :is(h1,h2,.serif){font-family:var(--font-editorial);font-weight:600;letter-spacing:-.025em}
.institutional-site :is(h1,h2){line-height:1.08}
.institutional-site p{max-width:var(--container-reading);text-wrap:pretty}
.institutional-site :is(button,input,select,textarea){font-family:var(--font-body)}
.institutional-site :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){border-radius:4px;font-size:1rem;max-width:100%}
.institutional-site :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--institutional-primary);outline-offset:4px}
.institutional-site :is(.btn,.dx-button,.contact-map__cta,.wa-widget__cta){border-radius:4px;min-height:44px;box-shadow:none;font-size:.9rem;letter-spacing:0;font-weight:600;transition:background-color 180ms,color 180ms,border-color 180ms}
.institutional-site :is(.btn,.dx-button):hover{transform:none;box-shadow:none}
.institutional-site :is(.btn-primary,.hero-cta,.dx-button){background:var(--institutional-primary);color:#fff;border:1px solid var(--institutional-primary);box-shadow:none}
.institutional-site :is(.btn-primary,.hero-cta,.dx-button):hover{background:var(--action-blue-dark);color:#fff}
.institutional-site :is(.btn-light,.btn-outline,.btn-secondary){background:transparent;border:1px solid var(--border);color:var(--institutional-primary)}
.institutional-site :is(.feature-link,.dx-card-link,.dx-all-results){color:var(--institutional-primary);background:none;box-shadow:none;border:0;border-radius:0;padding:8px 0;font-size:.9rem;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.institutional-site :is(.section-kicker,.dx-eyebrow,.badge-inline,.eyebrow,.kicker){font-size:.85rem;font-weight:600;letter-spacing:.02em;text-transform:none;border:0;border-radius:0;background:none;color:var(--muted);box-shadow:none}
.institutional-site :is(.section-kicker,.dx-eyebrow)::before{display:none}
.institutional-site :is(.badge-inline,.kicker) i{display:none}
.institutional-site :is(.reveal,.reveal-stagger > *){opacity:1;transform:none;transition:opacity 200ms;transition-delay:0;will-change:auto}
.institutional-site :is(.reveal-clip > img,.reveal-clip > .course-card-cover-fallback){clip-path:none;transition:none}
.skip-link{position:fixed;left:16px;top:8px;z-index:3000;padding:12px 20px;background:#fff;color:var(--institutional-primary);transform:translateY(-150%)}
.skip-link:focus{transform:none}
.institutional-home :is(.section-light,.section-dark,.digital-experience){padding:var(--section-space) 0;background:#fff;color:var(--ink)}
.institutional-home :is(.section-intro,.course-head,.dx-heading){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr);gap:80px;align-items:start;margin-bottom:48px}
.institutional-home :is(.section-intro,.course-head,.gallery-intro,.dx-heading) h2{font-size:clamp(2.2rem,3.6vw,3.75rem);line-height:1.08;margin:12px 0 0;color:var(--ink)}
.institutional-home :is(.section-intro,.course-head,.dx-heading) p{font-size:1.0625rem;line-height:1.85;color:var(--muted)}
.institutional-home .section-divider{margin:48px 0;border-color:var(--border);background:var(--border)}
.institutional-home .formados-cta{padding:48px 0;background:var(--surface-alt)}
.institutional-home .formados-cta-link{padding:0;border:0;align-items:center}
.institutional-home .formados-cta-kicker{font-size:.85rem;letter-spacing:0;text-transform:none;color:var(--muted)}
.institutional-home .formados-cta h2{font-size:clamp(2rem,3vw,3rem);margin:8px 0}
.institutional-home .institutional-statistics{padding:48px 0;border-bottom:1px solid var(--border)}
.institutional-home .statistics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px}
.statistics-grid>div+div{border-left:1px solid var(--border);padding-left:32px}
.statistics-grid [data-count-to]{font-family:var(--font-editorial);font-size:clamp(2.8rem,4.3vw,4.5rem);font-weight:600;line-height:1.1;color:var(--institutional-primary);font-variant-numeric:lining-nums tabular-nums}
.statistics-grid [data-count-to]+div{font-size:.85rem;color:var(--muted);margin-top:8px}
.institutional-home .integrity-section{padding:64px 0;background:var(--surface-alt)}
.integrity-section .container{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.integrity-section h2{font-size:clamp(1.9rem,3vw,2.7rem);max-width:30ch;margin:12px 0 16px}
.integrity-section p{color:var(--muted);font-size:.95rem}
.integrity-section i{display:none}
.institutional-home .feature-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:64px 48px}
.institutional-home .feature-card{min-height:0;border:0;background:none;overflow:visible;box-shadow:none;transform:none;align-self:start}
.institutional-home .feature-card::after,.institutional-home .feature-card::before{display:none}
.institutional-home .feature-card>img{position:static;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0;box-shadow:none;transform:none;transition:opacity 180ms}
.institutional-home .feature-card:nth-child(even)>img{aspect-ratio:3/2}
.institutional-home .feature-card>.video-classico{position:relative;inset:auto;aspect-ratio:3/2;height:auto}
.institutional-home .feature-content{position:static;inset:auto;padding:24px 0 0;background:none;color:var(--ink)}
.institutional-home .feature-content h3{font-size:clamp(1.75rem,2.6vw,2.6rem);line-height:1.12;color:var(--ink);max-width:27ch}
.institutional-home .feature-content p{color:var(--muted);font-size:.95rem;line-height:1.75;margin:12px 0;max-width:58ch}
.institutional-home .dept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px}
.institutional-home .dept-card{aspect-ratio:auto;min-height:0;display:block;background:none;border-radius:0;border:0;border-bottom:1px solid var(--border);padding:24px 0;box-shadow:none;transform:none}
.institutional-home .dept-card::before,.institutional-home .dept-card::after{display:none}
.institutional-home .dept-card-info{position:static;padding:0;display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:baseline}
.institutional-home .dept-card-sigla{padding:0;background:none;color:var(--muted);font-size:.8rem;letter-spacing:.03em;border:0}
.institutional-home .dept-card-title{font-family:var(--font-editorial);font-size:1.6rem;color:var(--ink);max-width:none}
.institutional-home .dept-card:hover .dept-card-title{color:var(--institutional-primary)}
.institutional-home .gallery-slideshow{border-radius:0;aspect-ratio:16/9}
.institutional-home .gallery-slide{transition:opacity 200ms}
.institutional-home .gallery-slide figcaption{background:#18232b;padding:16px 24px}
.institutional-home .gallery-slide-cat{color:#fff;letter-spacing:.02em;font-weight:500;text-transform:none}
.institutional-home .gallery-see-more{color:var(--institutional-primary);border-color:var(--border)}
.institutional-home .editorial-layout{gap:64px}
.institutional-home .editorial-main img{border-radius:0;box-shadow:none}
.institutional-home .story-item{border-radius:0;background:none;box-shadow:none;padding:24px 0;border-bottom:1px solid var(--border)}
.institutional-home .story-item img{border-radius:0;box-shadow:none}
.institutional-home .course-area-block{margin-top:48px;background:none;border-radius:0;padding:0;box-shadow:none}
.institutional-home .course-area-heading{padding-bottom:16px;border-bottom:1px solid var(--ink)}
.institutional-home .course-area-name{font-size:1.75rem;color:var(--ink)}
.institutional-home .course-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) 24px;gap:32px;padding:24px 0;transition:background-color 180ms}
.institutional-home .course-row-title{font-size:1.7rem;max-width:none}
.institutional-home .course-row-meta{font-size:.84rem;color:var(--muted);line-height:1.65;min-width:0}
.institutional-home .course-row:hover{padding-left:0;background:var(--surface-alt)}
.institutional-home .course-section-intro{border-bottom:0;gap:16px;justify-content:flex-start}
.institutional-home .course-section-intro .line{display:none}
.institutional-home .cta-shell{background:var(--surface-alt);color:var(--ink);padding:var(--section-space) 0;border-color:var(--border)}
.institutional-home .cta-shell::before{display:none}
.institutional-home .cta-shell :is(h2,h4){color:var(--ink)}
.institutional-home .cta-shell :is(p,.section-kicker){color:var(--muted)}
.institutional-home .admissao-passos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:48px}
.institutional-home .admissao-passos li{border:0;border-top:1px solid var(--border);border-radius:0;background:none;box-shadow:none;padding:24px 0;gap:16px}
.institutional-home .admissao-passos .num{background:none;border:0;border-radius:0;color:var(--institutional-primary);font-size:1.25rem;width:auto;min-width:32px;height:auto}
.institutional-site .vagas-mescti{background:#fff;padding:var(--section-space) 0}
.institutional-site .vagas-mescti__quadro{box-shadow:none;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0}
.institutional-site .vagas-mescti__quadro::before{display:none}
.institutional-site .vagas-mescti__tabela{min-width:0;table-layout:fixed;background:#fff}
.institutional-site .vagas-mescti__tabela th{background:var(--surface-alt);color:var(--ink);font-size:.85rem;letter-spacing:0;text-transform:none}
.institutional-site .vagas-mescti__tabela :is(th,td){padding:16px 12px;font-size:.9rem;border-color:var(--border)}
.institutional-site .vagas-mescti__tabela :is(th,td):first-child{width:44%}
.institutional-site .vagas-mescti__tabela tfoot td{background:var(--surface-alt);color:var(--ink);border-top:1px solid var(--ink)}

/* Working tools: preserve their controls, results and states, remove visual nesting. */
.institutional-site .digital-experience{background:var(--surface-alt);--dx-ink:var(--ink);--dx-gold:var(--institutional-primary)}
.institutional-site .digital-experience::before{display:none}
.institutional-site .dx-heading h2,.institutional-site .dx-panel h3{font-family:var(--font-editorial);letter-spacing:-.025em}
.institutional-site .dx-feature-rail{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0 0 64px;border-bottom:1px solid var(--border);padding-bottom:24px;overflow:visible}
.institutional-site .dx-feature-link{min-width:0;min-height:44px;border:0;border-radius:0;background:none;box-shadow:none;padding:8px 0;font-size:.9rem;transform:none;text-decoration:underline;text-underline-offset:5px}
.institutional-site .dx-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px 48px}
.institutional-site .dx-panel{border:0;border-radius:0;padding:0;background:none;box-shadow:none;color:var(--ink)}
.institutional-site .dx-panel-dark{padding:32px;border:1px solid var(--border);background:#fff}
.institutional-site .dx-panel h3{font-size:2.3rem;line-height:1.1}
.institutional-site .dx-panel-sub{font-size:.9rem;color:var(--muted);line-height:1.7}
.institutional-site .dx-course-picker{gap:0 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.institutional-site .dx-course-chip{border:0;border-bottom:1px solid var(--border);border-radius:0;min-height:48px;padding:12px 0;background:none;text-align:left;font-size:.86rem;box-shadow:none;color:var(--ink)}
.institutional-site .dx-course-chip.is-selected{color:var(--institutional-primary);box-shadow:none;background:none;border-bottom-color:var(--institutional-primary)}
.institutional-site .dx-course-chip.is-selected::before{color:var(--institutional-primary)}
.institutional-site .dx-compare-note{font-size:.8rem;color:var(--muted);margin:16px 0}
.institutional-site .dx-compare-board{gap:24px}
.institutional-site .dx-compare-card{border:0;border-top:2px solid var(--border);border-radius:0;background:none;padding:24px 0;box-shadow:none}
.institutional-site .dx-compare-card h4{font-family:var(--font-editorial);font-size:1.55rem}
.institutional-site .dx-compare-area{font-size:.8rem;color:var(--muted)}
.institutional-site .dx-fact{padding:8px 0;background:none;border-radius:0}
.institutional-site .dx-fact span{font-size:.75rem;text-transform:none;letter-spacing:0;color:var(--muted)}
.institutional-site .dx-fact strong{font-size:.86rem}
.institutional-site .dx-compare-card p{font-size:.84rem;color:var(--muted)}
.institutional-site :is(.dx-select,.dx-input){background:#fff;color:var(--ink);border:1px solid #9ca7ad;border-radius:4px;min-height:48px;box-shadow:none}
.institutional-site :is(.dx-sim-form,.dx-track-form,.dx-search-form) label{font-size:.86rem;font-weight:500;text-transform:none;letter-spacing:0;margin:16px 0 8px}
.institutional-site .dx-months-row output{color:var(--institutional-primary)}
.institutional-site .dx-range{accent-color:var(--institutional-primary);min-height:32px}
.institutional-site .dx-money-card{border-top:1px solid var(--border);margin-top:24px;gap:24px}
.institutional-site .dx-money{border:0;border-radius:0;padding:24px 0 8px;background:none}
.institutional-site .dx-money span{color:var(--muted);font-size:.82rem;letter-spacing:0;text-transform:none}
.institutional-site .dx-money strong{color:var(--ink);font-size:clamp(1.25rem,2vw,1.8rem);font-weight:600;font-variant-numeric:tabular-nums}
.institutional-site .dx-path{flex-wrap:wrap}
.institutional-site .dx-path-step{background:var(--surface-alt);color:var(--muted);border-radius:4px;min-height:44px;font-size:.76rem;transform:none}
.institutional-site .dx-path-step.is-active{background:var(--institutional-primary);color:#fff}
.institutional-site .dx-disclaimer,.institutional-site .dx-privacy{color:var(--muted);font-size:.8rem;line-height:1.7}
.institutional-site .dx-tour-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,.7fr);gap:32px}
.institutional-site .dx-tour-stage{min-height:520px;border-radius:0}
.institutional-site .dx-tour-stage img{transition:opacity 200ms;transform:none}
.institutional-site .dx-tour-shade{background:rgba(8,17,26,.25)}
.institutional-site .dx-tour-copy{left:0;right:0;bottom:0;padding:24px 160px 24px 24px;background:#18232be8}
.institutional-site .dx-tour-copy span{color:#fff;text-transform:none;letter-spacing:0;font-size:.82rem}
.institutional-site .dx-tour-copy h4{font-family:var(--font-editorial);font-size:1.8rem;line-height:1.15}
.institutional-site .dx-tour-copy p{color:#fff}
.institutional-site .dx-icon-btn{border-radius:4px;backdrop-filter:none;min-width:44px;min-height:44px;background:#18232b;color:#fff}
.institutional-site .dx-tour-stops{max-height:520px}
.institutional-site .dx-stop{grid-template-columns:80px minmax(0,1fr);border:0;border-bottom:1px solid var(--border);border-radius:0;background:none;padding:12px 0;box-shadow:none;transform:none}
.institutional-site .dx-stop img{border-radius:0;width:80px;height:64px}
.institutional-site .dx-stop span{font-size:.83rem;font-weight:500}
.institutional-site .dx-stop small{font-size:.76rem;color:var(--muted)}
.institutional-site .dx-stop.is-active{border-bottom-color:var(--institutional-primary);color:var(--institutional-primary)}
.institutional-site .dx-bottom-grid{gap:48px;margin-top:80px;padding-top:48px;border-top:1px solid var(--border)}
.institutional-site .dx-track-form{grid-template-columns:minmax(0,1fr) auto}
.institutional-site .dx-button{height:48px;padding:8px 24px;font-size:.88rem;font-weight:600}
.institutional-site :is(.dx-status-card,.dx-empty){border-radius:4px;background:#fff;box-shadow:none;font-size:.9rem;text-align:left}
.institutional-site .dx-status-pill{border-radius:4px;font-size:.8rem}
.institutional-site .dx-step{border-radius:0;font-size:.8rem}
.institutional-site .dx-privacy i{display:none}

/* Course and archive templates share the same reading measure and metadata. */
.institutional-inner :is(.curso-hero,.docs-hero,.galeria-hero,.qh-hero){padding:64px 0;background:var(--surface-alt);color:var(--ink);border-bottom:1px solid var(--border)}
.institutional-inner :is(.curso-hero,.docs-hero,.galeria-hero,.qh-hero)::before,.institutional-inner .docs-hero::after{display:none}
.institutional-inner :is(.curso-hero,.docs-hero,.galeria-hero,.qh-hero) h1{font-size:clamp(2.75rem,4.5vw,4.5rem);color:var(--ink);line-height:1.08}
.institutional-inner :is(.curso-crumb,.curso-crumb a,.curso-hero .meta span,.curso-seal-hero,.docs-kicker,.galeria-hero p,.docs-hero p){color:var(--muted);text-transform:none;letter-spacing:0}
.institutional-inner .curso-seal-hero{font-size:.86rem;margin:12px 0}
.institutional-inner .curso-seal-hero i{display:none}
.institutional-inner .curso-body{background:#fff;padding:80px 0}
.institutional-inner .curso-layout{grid-template-columns:minmax(0,1fr) 320px;gap:80px}
.institutional-inner :is(.curso-article,.curso-card-info,.relacionados){border:0;box-shadow:none;background:none;padding:0}
.institutional-inner .curso-article{max-width:var(--container-reading)}
.institutional-inner .curso-aside{top:32px;border-left:1px solid var(--border);padding-left:32px;gap:32px}
.institutional-inner .curso-card-info dt{font-size:.8rem;letter-spacing:0;text-transform:none;color:var(--muted)}
.institutional-inner .curso-card-info dd{font-size:.95rem;margin-bottom:16px}
.institutional-inner .curso-section{margin-top:40px}
.institutional-inner .curso-card-info .btn-row a{border-radius:4px;font-size:.86rem;letter-spacing:0;text-transform:none}
.institutional-inner .curso-card-info .btn-primary{background:var(--institutional-primary);border-color:var(--institutional-primary)}
.institutional-inner :is(.docs-page,.docs-body,.aud-page-body,.qh-page){background:#fff}
.institutional-inner :is(.docs-container,.doc-show-container,.jornal-content,.masthead-inner){max-width:var(--container-default);padding-inline:48px}
.institutional-inner .docs-body{padding:64px 0 96px}
.institutional-inner .docs-grid{display:grid;grid-template-columns:1fr;gap:0}
.institutional-inner .doc-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:32px;border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none;background:none;transform:none;padding:24px 0}
.institutional-inner .doc-card-capa{height:auto;min-height:80px;background:var(--surface-alt);border:0;display:grid;place-items:center;border-radius:0}
.institutional-inner .doc-card-capa::before,.institutional-inner .doc-card-capa::after,.institutional-inner .doc-cat-badge{display:none}
.institutional-inner .doc-pdf-mark{position:static;background:none;border:0;border-radius:0;box-shadow:none;font-size:.8rem;color:var(--muted)}
.institutional-inner .doc-card-body{padding:0;gap:8px}
.institutional-inner .doc-card-titulo{font-family:var(--font-editorial);font-size:1.75rem;font-weight:600}
.institutional-inner .doc-card-desc{font-size:.9rem;max-width:68ch;color:var(--muted)}
.institutional-inner :is(.docs-count,.qtd){border-radius:0;background:none;box-shadow:none;font-size:.9rem;color:var(--muted)}
.institutional-inner .doc-show-header{background:var(--surface-alt);color:var(--ink)}
.institutional-inner :is(.doc-show-header h1,.doc-show-header p){color:var(--ink)}
.institutional-inner :is(.doc-viewer,.doc-info-card,.doc-show-card){border-radius:4px;box-shadow:none}
.institutional-inner :is(.card-premium,.galeria-card,.vaga-card,.aud-item-card,.qh-card){border-radius:0;box-shadow:none;border:0;border-bottom:1px solid var(--border);transform:none}
.institutional-inner .hero-institucional__overlay{background:rgba(8,17,26,.5)}
.institutional-inner .hero-institucional__content{width:min(var(--container-default),calc(100% - 96px));padding:64px 0}
.institutional-inner .hero-institucional__media{transform:none!important}
.institutional-inner .jornal-masthead{background:var(--surface-alt);border-bottom:1px solid var(--border);padding:48px 0 0}
.institutional-inner :is(.jornal-nome,.jornal-slogan,.jornal-chancela,.jornal-nav a){color:var(--ink);text-transform:none;letter-spacing:0}
.institutional-inner .jornal-nome{font-family:var(--font-editorial);font-size:3.5rem;line-height:1.1}
.institutional-inner .jornal-nav{background:none;border-top:1px solid var(--border);padding:12px 0}
.institutional-inner .jornal-nav a{min-height:44px;display:inline-flex;align-items:center}
.institutional-inner :is(.destaque-principal,.noticia-card,.artigo-card,.artigo-capa){border-radius:0;box-shadow:none}
.institutional-inner :is(.noticia-card,.artigo-card){border:0;border-bottom:1px solid var(--border);background:none}
.institutional-inner :is(.artigo-corpo,.artigo-body,.noticia-corpo){max-width:var(--container-reading);font-size:1.0625rem;line-height:1.85}
.institutional-inner :is(.tag,.noticia-tag,.seccao-badge,.categoria-badge,.qh-resumo .pill){border-radius:0;box-shadow:none}

/* The university sound archive retains its existing player engine. */
.institutional-site .aud-section{padding:80px 0;background:var(--surface-alt);color:var(--ink);border-block:1px solid var(--border)}
.institutional-site .aud-section::before{display:none}
.institutional-site :is(.aud-header-title h2,.aud-title,.aud-card-title){color:var(--ink)}
.institutional-site :is(.aud-header-title p,.aud-desc,.aud-card-desc){color:var(--muted)}
.institutional-site :is(.aud-card,.aud-item-card){border-radius:0;background:none;border:0;border-bottom:1px solid var(--border);box-shadow:none;backdrop-filter:none;transform:none;padding:24px 0}
.institutional-site :is(.aud-card-vinyl,.aud-vinyl){display:none}
.institutional-site :is(.aud-categoria-tag,.aud-badge,.aud-tag){background:none;border:0;border-radius:0;color:var(--muted);font-size:.8rem;letter-spacing:0;text-transform:none}
.institutional-site :is(.aud-play,.aud-play-btn){background:var(--institutional-primary);color:#fff;border-radius:4px;border:0;box-shadow:none;min-width:44px;min-height:44px}
.institutional-site :is(.aud-time,.aud-duration){color:var(--muted)}
.institutional-site .video-classico__play{background:#10182020}
.institutional-site .video-classico__play-icon{backdrop-filter:none;background:#18232b;border:1px solid #fff;transform:none}

/* Footer: one clear identity, grouped services and readable contact details. */
.institutional-site footer#contactos{background:#18232b;color:#fff;padding:clamp(3.5rem,6vw,5rem) 0 clamp(3.2rem,6vw,4.5rem);border:0}
.institutional-site .footer-top{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,4.5vw,64px);max-width:none}
.institutional-site .footer-column{text-align:left;min-width:0}
.institutional-site .footer-column h4{font-size:clamp(.86rem,1.8vw,.95rem);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;border:0;padding:0;margin-bottom:20px}
.institutional-site .footer-links{display:flex;flex-direction:column;gap:4px;align-items:stretch}
.institutional-site .footer-links :is(a,p){color:#dce3e7;font-size:.9rem;line-height:1.65;overflow-wrap:anywhere;word-break:break-word;margin:0}
.institutional-site .footer-links a{display:inline-flex;align-items:center;min-height:38px;padding:3px 0;text-decoration:none;transition:color .2s ease,transform .15s ease;border-radius:4px}
.institutional-site .footer-links a:hover,.institutional-site .footer-links a:focus-visible{color:#fff;transform:translateX(3px)}
.institutional-site .footer-links p{padding:4px 0;color:#cbd5e1}
.institutional-site .footer-bottom{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;margin-top:clamp(36px,5vw,48px);padding-top:clamp(24px,4vw,32px);border-top:1px solid rgba(255,255,255,.18)}
.institutional-site .footer-brand{grid-column:1;grid-row:1;text-align:left;justify-items:start;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;row-gap:2px;align-items:center;min-width:0}
.institutional-site .footer-brand-logo{grid-column:1;grid-row:1/3;width:48px;height:48px;margin:0;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.institutional-site .footer-brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.institutional-site .footer-brand-logo i{font-size:1.65rem;color:#fff}
.institutional-site .footer-brand-name{grid-column:2;grid-row:1;font-family:var(--font-editorial);font-size:clamp(1.2rem,3.2vw,1.6rem);line-height:1.15;letter-spacing:0;color:#fff;word-break:break-word;overflow-wrap:break-word;min-width:0}
.institutional-site .footer-brand-subtitle{grid-column:2;grid-row:2;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:0}
.institutional-site .footer-copyright{grid-column:1/-1;grid-row:2;max-width:none;min-width:0}
.institutional-site .footer-copyright p{font-size:.78rem;color:#cbd5e1;line-height:1.6;margin:0;overflow-wrap:break-word}
.institutional-site .footer-copyright .footer-copyright-tagline{color:#94a3b8;font-size:.75rem;margin-top:4px}
.institutional-site .socials{grid-column:2;grid-row:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.institutional-site .socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:#dce3e7;font-size:1.1rem;box-shadow:none;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.institutional-site .socials a:hover,.institutional-site .socials a:focus-visible{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.45);color:#fff;transform:translateY(-2px)}
.institutional-site .contact-map{margin-bottom:clamp(32px,5vw,48px)}
.institutional-site .contact-map__frame{border-radius:14px;aspect-ratio:16/5;min-height:240px;max-height:380px;filter:none;border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 32px rgba(0,0,0,.25);overflow:hidden}
.institutional-site .contact-map__cta{display:none}
.institutional-site .wa-widget__toggle{width:62px;height:62px;background:#128b4f;border:2px solid #fff;box-shadow:0 5px 18px #063b2529;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;border-radius:50%;font-size:32px}
.institutional-site .wa-widget__toggle:hover{background:#096b3c;box-shadow:0 7px 22px #063b2540}
.institutional-site .wa-widget__card{border-radius:18px;box-shadow:0 8px 32px #063b2524;bottom:78px}
.institutional-site .wa-widget__cta{border-radius:999px}

/* Standalone admission forms and academic recognition: same system, same flows. */
.institutional-form :is(.reg-card,.section-card,.card,.meta-pill,.form-card,.notice,.alert){border-radius:4px;box-shadow:none}
.institutional-form :is(.reg-shell,.layout,.shell,.wrap){max-width:1280px}
.institutional-form :is(.inst-header,.topbar){background:#fff;border-bottom:1px solid var(--border);box-shadow:none}
.institutional-form :is(.inst-titles,.inst-titles h1,.topbar-titles){color:var(--ink)}
.institutional-form :is(.section-title,.card h2){font-family:var(--font-editorial);font-size:2rem}
.institutional-form :is(.rail-dot,.step-circle,.hero-chip,.pill){border-radius:4px;box-shadow:none}
.institutional-honour .hero{padding:48px 0 64px;background:var(--surface-alt);color:var(--ink)}
.institutional-honour .hero h1{font-size:clamp(2.75rem,4.5vw,4.5rem);color:var(--ink)}
.institutional-honour :is(.hero p,.back-link){color:var(--muted)}
.institutional-honour :is(.card,.spotlight,.meta-pill){border:0;border-radius:0;box-shadow:none;background:none;padding:24px 0;border-top:1px solid var(--border)}
.institutional-honour :is(.hero-chip,.rank){background:none;color:var(--ink);border-radius:0;border:0;box-shadow:none}
.institutional-honour .hero-meta{gap:24px}

@media(min-width:1600px){:root{--section-space:128px}}
@media(max-width:1180px){}
@media(max-width:1024px){:root{--section-space:80px}.institutional-site .container,.institutional-site .dx-shell{width:calc(100% - 64px)}.institutional-home :is(.section-intro,.course-head,.dx-heading){gap:40px}.institutional-site .dx-grid{grid-template-columns:1fr;gap:48px}.institutional-site .dx-panel-dark{max-width:none}.institutional-site .dx-sim-form{max-width:680px}.institutional-site .dx-tour-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr)}.institutional-site .dx-tour-stops{flex-direction:column;overflow-y:auto}.institutional-site .dx-stop{min-width:0}.institutional-inner .curso-layout{grid-template-columns:minmax(0,1fr) 280px;gap:40px}.institutional-home .admissao-passos{gap:24px}.institutional-site .footer-top{gap:32px}}
@media(max-width:767px){:root{--section-space:64px}.institutional-site .container,.institutional-site .dx-shell{width:calc(100% - 40px)}.institutional-home :is(.section-intro,.course-head,.dx-heading){grid-template-columns:1fr;gap:24px;margin-bottom:32px}.institutional-home :is(.section-intro,.course-head,.gallery-intro,.dx-heading) h2{font-size:clamp(2.1rem,7vw,3rem)}.institutional-home .statistics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.statistics-grid>div+div{padding:0;border:0}.statistics-grid>div{border-bottom:1px solid var(--border);padding-bottom:16px}.statistics-grid [data-count-to]{font-size:3.4rem}.integrity-section .container{grid-template-columns:1fr;gap:24px}.institutional-home .feature-grid{grid-template-columns:1fr;gap:48px}.institutional-home .feature-card>img,.institutional-home .feature-card:nth-child(even)>img{aspect-ratio:4/3}.institutional-home .dept-grid{grid-template-columns:1fr}.institutional-home .editorial-layout{grid-template-columns:1fr;gap:32px}.institutional-home .course-row{grid-template-columns:minmax(0,1fr) 24px;gap:8px 16px;padding:20px 0}.institutional-home .course-row-meta{grid-column:1;grid-row:2}.institutional-home .course-row-arrow{grid-column:2;grid-row:1/3}.institutional-home .course-row-title{font-size:1.6rem}.institutional-site .dx-feature-rail{gap:8px 24px;margin-bottom:32px}.institutional-site .dx-panel-dark{padding:24px 20px}.institutional-site .dx-compare-board{grid-template-columns:1fr 1fr}.institutional-site .dx-money-card{grid-template-columns:1fr 1fr;gap:16px}.institutional-site .dx-tour-layout{grid-template-columns:1fr}.institutional-site .dx-tour-stage{min-height:480px}.institutional-site .dx-tour-copy{padding:20px 20px 76px}.institutional-site .dx-tour-stops{flex-direction:row;max-height:none;overflow-x:auto;gap:20px;scroll-snap-type:x mandatory}.institutional-site .dx-stop{min-width:240px;scroll-snap-align:start}.institutional-site .dx-bottom-grid{grid-template-columns:1fr;gap:48px;margin-top:48px;padding-top:48px}.institutional-site .dx-track-form{grid-template-columns:minmax(0,1fr) auto}.institutional-site .dx-search-form{grid-template-columns:1fr}.institutional-home .admissao-passos{grid-template-columns:1fr}.institutional-site .vagas-mescti__tabela :is(th,td){font-size:.75rem;padding:12px 4px}.institutional-site .vagas-mescti__tabela :is(th,td):first-child{width:42%}.institutional-inner .curso-layout{grid-template-columns:1fr;gap:48px}.institutional-inner .curso-aside{position:static;padding:24px 0 0;border-left:0;border-top:1px solid var(--border)}.institutional-inner :is(.docs-container,.doc-show-container,.jornal-content,.masthead-inner){padding-inline:20px}.institutional-inner .doc-card{grid-template-columns:56px minmax(0,1fr);gap:16px}.institutional-inner .doc-card-titulo{font-size:1.5rem}.institutional-inner .hero-institucional__content{width:calc(100% - 40px)}.institutional-site .footer-top{grid-template-columns:1fr 1fr;gap:32px 24px}.institutional-site .footer-column:last-child{grid-column:1/-1}.institutional-site .footer-bottom{grid-template-columns:1fr;gap:22px;margin-top:32px;padding-top:24px}.institutional-site .footer-brand{grid-column:1;grid-row:1;grid-template-columns:42px minmax(0,1fr);column-gap:14px}.institutional-site .footer-brand-logo{width:42px;height:42px}.institutional-site .footer-brand-name{font-size:clamp(1.1rem,4.2vw,1.45rem)}.institutional-site .socials{grid-column:1;grid-row:2;justify-content:flex-start;gap:8px}.institutional-site .socials a{width:42px;height:42px;min-width:42px;min-height:42px;font-size:1.05rem}.institutional-site .footer-copyright{grid-column:1;grid-row:3}.institutional-site .contact-map__frame{aspect-ratio:16/10;min-height:200px;max-height:260px;border-radius:12px}.institutional-form .container,.institutional-honour .container{width:calc(100% - 32px)}}
@media(max-width:580px){.institutional-site .footer-top{grid-template-columns:1fr;gap:28px}.institutional-site .footer-column:last-child{grid-column:auto}.institutional-site .footer-column h4{margin-bottom:14px}.institutional-site .footer-links a{min-height:42px;padding:4px 0;font-size:.92rem}}
@media(max-width:430px){.institutional-site .dx-course-picker{grid-template-columns:1fr}.institutional-site .dx-compare-board{grid-template-columns:1fr}.institutional-site .dx-track-form{grid-template-columns:1fr}.institutional-site .dx-money strong{font-size:1.2rem}}
@media(max-width:360px){.institutional-site .container,.institutional-site .dx-shell{width:calc(100% - 28px)}.institutional-site .footer-bottom{gap:18px}.institutional-site .socials a{width:38px;height:38px;min-width:38px;min-height:38px;font-size:1rem}}
@media(prefers-reduced-motion:reduce){.institutional-site *,.institutional-site *::before,.institutional-site *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Intrinsic sizes must never force the grid wider than a tablet viewport. */
.institutional-site .contact-map,.institutional-site .contact-map__frame{min-width:0;width:100%;max-width:100%}
.institutional-site .contact-map__frame iframe{width:100%;max-width:100%}
.institutional-site .footer-links{text-align:left;justify-items:start;align-items:start}
.institutional-site .footer-copyright{text-align:left}
/* ── Indicador Luminoso e Slogan Institucional (Live Beacon) ── */
.hero-brand-name-row{display:flex;align-items:center;gap:.5rem;min-width:0}
.live-dot,.marquee-live-dot{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;background:#ff3540;flex-shrink:0;box-shadow:0 0 12px rgba(255,53,64,.95);animation:marquee-glow 1.25s ease-in-out infinite alternate}
.live-dot::before{content:'';position:absolute;inset:-3px;border-radius:50%;background:#ff3540;opacity:.7;animation:live-pulse 1.8s ease-out infinite}
@keyframes live-pulse{0%{transform:scale(1);opacity:.85}75%,100%{transform:scale(3.2);opacity:0}}
@keyframes marquee-glow{from{opacity:.6;transform:scale(.85);box-shadow:0 0 4px rgba(255,53,64,.5)}to{opacity:1;transform:scale(1.2);box-shadow:0 0 20px rgba(255,53,64,1),0 0 35px rgba(255,53,64,.6)}}

.hero-marquee{display:flex;align-items:center;gap:.85rem;padding:0 1.5rem;color:#fff;font-size:.95rem;letter-spacing:.02em;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.5);min-height:80px}
@media(max-width:880px){.hero-marquee{display:none}}

.institutional-home :is(.course-area-count,.admissao-intro .section-kicker){color:var(--muted);background:none;border:0;border-radius:0;letter-spacing:0;font-size:.85rem;text-transform:none}
.institutional-inner .jornal-masthead-wrap{background:var(--surface-alt);color:var(--ink);box-shadow:none}
.institutional-inner .jornal-masthead-top{border-color:var(--border);padding:24px 0}
.institutional-inner :is(.jornal-institution,.jornal-data,.jornal-periodo,.nc-meta,.nl-meta,.sidebar-meta,.galeria-sidebar .count){color:var(--muted)}
.institutional-inner .jornal-nome{white-space:normal;font-size:clamp(2rem,3.5vw,3.5rem)}
.institutional-inner .jornal-nav .jornal-masthead-inner{flex-wrap:wrap;overflow:visible}
.institutional-inner .galeria-hero input[type=search]{background:#fff;color:var(--ink);border-color:var(--border)}

/* Archive controls and narrow-screen reading. */
.institutional-site .pesquisa-input{min-width:0;box-shadow:none;border:1px solid var(--border)}
.institutional-site .pesquisa-filtros,.institutional-site .xp-categorias-bar-inner{flex-wrap:wrap;overflow:visible}
.institutional-site .filtro-btn,.institutional-site .xp-cat-pill{border-radius:0;white-space:normal;min-height:32px}
.institutional-site .res-meta,.institutional-site .outros-doc-item .tam{color:var(--muted)}
.institutional-site .doc-show-header .meta,.institutional-site .doc-show-header p{color:var(--muted)!important}
.institutional-site .doc-show-header .kicker a{color:var(--institutional-primary)!important;text-decoration:underline!important}
.institutional-site .sticky-volume-btn,.institutional-site .sticky-close-btn{min-width:32px;min-height:32px}
.institutional-site .pdf-toolbar button,.institutional-site .pdf-zoom-select{min-height:36px}
@media(max-width:600px){.institutional-site .pesquisa-form{flex-direction:column}.institutional-site .pesquisa-btn{align-self:flex-start}.institutional-site .res-img{width:64px}}

/* Recognition remains an academic archive, with the existing photographs. */
.institutional-site .admin-float-btn{display:none}
.institutional-site .xp-hero-foto{min-height:620px;height:72vh;max-height:800px}
.institutional-site .xp-hero-foto::before{background:rgba(8,17,26,.56)}
.institutional-site .xp-hero-foto::after,.institutional-site .hero-placeholder::before,.institutional-site .hero-placeholder::after{display:none}
.institutional-site .hero-placeholder{background:var(--institutional-primary)}
.institutional-site .xp-hero-foto .hero-bg img{animation:none;transform:none}
.institutional-site .xp-hero-foto :is(h1,.lede){text-shadow:none}
.institutional-site .xp-hero-foto .xp-container{animation:none}
.institutional-site .xp-hero-foto .hero-stats{gap:24px}
.institutional-site .xp-hero-foto .hero-stats .chip{border:0;border-radius:0;background:none;backdrop-filter:none;padding:0}
.institutional-site .xp-hero-foto .cue .seta{border:0;background:none;border-radius:0;width:32px;height:32px;animation:none}
.institutional-site .xp-categorias-bar{position:static;background:#fff;backdrop-filter:none}
.institutional-site .xp-cat-pill{border:0;border-bottom:1px solid var(--border);background:none;transform:none}
.institutional-site .xp-cat-pill i{display:none}
.institutional-site .xp-cat-pill.is-active{background:none;color:var(--institutional-primary);border-color:var(--institutional-primary)}
.institutional-site .xp-spotlight .portrait{background:var(--surface-alt);color:var(--ink)}
.institutional-site .xp-spotlight .meta .pill{padding:0;border-radius:0;background:none;color:var(--muted)}
.institutional-site .xp-reveal{opacity:1;transform:none;transition:none}
.institutional-site .xp-section-footer p{color:var(--muted)}
.institutional-site .qh-frame-foto{border:1px solid var(--border);border-radius:0;box-shadow:none}
.institutional-site .qh-frame:hover .qh-frame-foto{transform:none;box-shadow:none}
.institutional-site .galeria-sidebar-links .count{color:var(--muted);opacity:1;background:none;border-radius:0}
.institutional-site .galeria-sidebar-links .active .count{color:inherit}
.institutional-site .doc-viewer-wrap{background:var(--surface-alt)}
@media(max-width:767px){.institutional-site .xp-hero-foto{min-height:540px;height:70vh}.institutional-site .xp-hero-foto .xp-container{padding-bottom:48px}}

@media(max-width:600px){.institutional-form .period-dates{display:grid;grid-template-columns:1fr 1fr;gap:16px}.institutional-form .period-remaining{grid-column:1/-1;grid-row:2;min-width:0;text-align:left}.institutional-form .period-date.right{text-align:right}.institutional-form .period-remaining small{white-space:normal}}

.home-watermark{position:fixed;inset:0;z-index:3;display:grid;place-items:center;overflow:clip;pointer-events:none;user-select:none;opacity:0;mix-blend-mode:multiply;clip-path:inset(var(--watermark-top,100vh) 0 var(--watermark-bottom,0px));transition:opacity 300ms}
.home-watermark.is-visible{opacity:.065}
.home-watermark img{width:min(96vw,1120px);height:min(96vw,90vh);max-width:none;object-fit:contain;transform:none}
.institutional-home .home-formados{padding:80px 0;background:#f5f5f1;border-bottom:1px solid var(--border)}
.home-formados-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.institutional-home .home-formados h2{max-width:17ch;font-size:clamp(2.5rem,4.8vw,4.5rem);line-height:1.05;margin:16px 0 0}
.home-formados-link{display:inline-flex;gap:24px;align-items:center;padding:12px 0;border-bottom:1px solid var(--institutional-primary);color:var(--institutional-primary);white-space:nowrap;font-size:.9rem}
.home-formados-link span{font-size:1.6rem}
.home-formados-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:80px;margin-top:48px;align-items:start}
.home-formados-total{display:flex;flex-direction:column-reverse;gap:8px;margin:0}
.home-formados-total dt{font-size:.95rem;color:var(--muted);font-weight:400}
.home-formados-total dd{font-family:var(--font-editorial);font-size:clamp(5rem,9vw,9rem);line-height:.95;letter-spacing:-.055em;color:var(--institutional-primary);margin:0;font-variant-numeric:lining-nums tabular-nums}
.home-formados-areas{margin:0;border-top:2px solid var(--institutional-primary)}
.home-formados-areas>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--border)}
.home-formados-areas dt{font-size:1rem;font-weight:400;line-height:1.5}
.home-formados-areas dd{margin:0;color:var(--institutional-primary);font-family:var(--font-editorial);font-size:2rem;line-height:1;font-variant-numeric:lining-nums tabular-nums}
.home-formados-empty{color:var(--muted);align-self:center}
.institutional-home #galeria-destaque{padding-top:80px;padding-bottom:80px;border-top:1px solid var(--border)}
.institutional-home #galeria-destaque .gallery-intro h2{font-size:clamp(2.3rem,4vw,4rem);color:var(--ink)!important}
.institutional-home #homeGallery .gallery-slide{transition:opacity 650ms ease}
.home-gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:16px;color:var(--muted)}
.home-gallery-controls[hidden]{display:none}
.home-gallery-controls p{margin:0;font-variant-numeric:tabular-nums;font-size:.88rem}
.home-gallery-caption{margin-left:24px}
.home-gallery-controls>div{display:flex;gap:8px}
.home-gallery-controls button{background:transparent;border:1px solid var(--border);border-radius:4px;min-height:44px;min-width:44px;padding:8px 14px;color:var(--ink);font:inherit;font-size:.85rem;cursor:pointer}
.home-gallery-controls button:hover{border-color:var(--institutional-primary);color:var(--institutional-primary)}
@media(max-width:767px){.home-watermark img{width:132vw;height:132vw;transform:none}.home-watermark.is-visible{opacity:.05}.institutional-home .home-formados{padding:56px 0}.home-formados-heading{display:block}.home-formados-link{margin-top:20px}.home-formados-overview{grid-template-columns:1fr;gap:32px;margin-top:32px}.home-formados-areas>div{padding:16px 0}.institutional-home #galeria-destaque{padding:56px 0}.home-gallery-caption{display:none}.home-gallery-controls{gap:12px}.home-gallery-controls button{padding:8px 10px}.institutional-site .wa-widget__toggle{width:56px;height:56px;font-size:29px}.institutional-site .wa-widget__card{bottom:72px}}
@media(prefers-reduced-motion:reduce){.home-watermark,.institutional-home #homeGallery .gallery-slide{transition:none}}

.fmd-header{padding:48px 0 56px;background:var(--surface-alt);border-bottom:1px solid var(--border)}
.fmd-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:.82rem;color:var(--muted);margin-bottom:32px}
.fmd-breadcrumb a{color:var(--institutional-primary);text-decoration:underline;text-underline-offset:4px}
.fmd-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.institutional-inner .fmd-header h1{font-size:clamp(2.6rem,4.5vw,4.5rem);max-width:19ch;margin:0;line-height:1.07}
.fmd-total{display:flex;flex-direction:column;gap:8px;flex-shrink:0;margin:0}
.fmd-total strong{font-family:var(--font-editorial);font-size:3.5rem;font-weight:500;line-height:1;color:var(--institutional-primary);font-variant-numeric:lining-nums tabular-nums}
.fmd-total span{font-size:.85rem;color:var(--muted)}
.fmd-body{background:var(--surface);padding:48px 0 80px}
.fmd-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:32px}
.fmd-toolbar label{font-size:.9rem;color:var(--muted);font-weight:500}
.fmd-toolbar>div{display:flex;gap:12px;min-width:0}
.fmd-toolbar select{min-width:0;width:360px;max-width:100%;border:1px solid var(--border);padding:10px 12px;background:#fff;color:var(--ink)}
.fmd-directory-labels,.fmd-directory-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.25fr);gap:40px}
.fmd-directory-labels{padding:16px 0;border-top:2px solid var(--institutional-primary);border-bottom:1px solid var(--border);font-size:.8rem;color:var(--muted)}
.fmd-directory{list-style:none;padding:0;margin:0}
.fmd-directory-row{padding:28px 0;border-bottom:1px solid var(--border);align-items:start}
.institutional-inner .fmd-directory-row h2{font-size:1.65rem;line-height:1.18;margin:0;letter-spacing:-.015em}
.fmd-directory-row h2 a{color:var(--ink);text-decoration:none}
.fmd-directory-row h2 a:hover{text-decoration:underline;text-underline-offset:5px;color:var(--institutional-primary)}
.fmd-directory-row p{margin:0;font-size:.94rem;line-height:1.75}
.fmd-course{color:var(--institutional-primary)}
.fmd-field-label{display:none;font-size:.78rem;color:var(--muted);margin-bottom:4px}
.fmd-unavailable,.fmd-empty{color:var(--muted)}
.fmd-empty{padding:32px 0;border-top:1px solid var(--border)}
.fmd-pagination{margin-top:40px}
.fmd-pagination .pagination{flex-wrap:wrap;gap:4px}
.fmd-profile-header h1{max-width:23ch!important}
.fmd-profile-course{color:var(--institutional-primary);font-size:1.15rem;margin:24px 0 0}
.institutional-inner .fmd-profile-study h2{font-family:var(--font-body);font-size:.95rem;letter-spacing:0;color:var(--muted);margin:0 0 24px;font-weight:500}
.fmd-profile-study .fmd-thesis-title{font-family:var(--font-editorial);font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.25;max-width:38ch;margin:0 0 32px}
.fmd-repository-link,.fmd-back-link{color:var(--institutional-primary);text-decoration:underline;text-underline-offset:5px;display:inline-block;padding:12px 0}
.fmd-back-link{display:block;margin-top:48px;border-top:1px solid var(--border);padding-top:24px;font-size:.9rem}
@media(max-width:1024px){.fmd-directory-labels,.fmd-directory-row{gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr)}}
@media(max-width:767px){.fmd-header{padding:32px 0 40px}.fmd-heading{align-items:start;flex-direction:column;gap:24px}.fmd-total{flex-direction:row;gap:16px;align-items:baseline}.fmd-total strong{font-size:2.6rem}.fmd-body{padding:32px 0 56px}.fmd-toolbar{display:block}.fmd-toolbar label{display:block;margin-bottom:12px}.fmd-toolbar>div{flex-direction:column;align-items:stretch}.fmd-toolbar select{width:100%}.fmd-toolbar button{align-self:flex-start}.fmd-directory-labels{display:none}.fmd-directory{border-top:2px solid var(--institutional-primary)}.fmd-directory-row{grid-template-columns:1fr;gap:16px;padding:24px 0}.fmd-field-label{display:block}.institutional-inner .fmd-directory-row h2{font-size:1.8rem}.fmd-profile-course{font-size:1rem}}
