/* Shared finishing touches. Brand colours and the approved entrance stay intact. */
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}
.arrow-back{transform:rotate(180deg)}.arrow-up{transform:rotate(-90deg)}
.poster-card i{display:inline-flex;vertical-align:middle}.poster-card i .arrow{width:1.1em;height:1.1em}
.folio-back,.folio-bottom>a{display:inline-flex;align-items:center;gap:.5rem}
.identity-tools{justify-self:end;display:grid;justify-items:end;gap:0}
.identity-tools .identity-switch{font-size:.86rem;gap:.6rem}
.member-access{display:inline-flex;gap:.7rem;align-items:center;min-height:44px;font-size:.87rem;font-weight:600;color:var(--accent);border-bottom:1px solid var(--rule)}
.member-access .arrow{width:1.15rem;height:1.15rem}.member-access:hover{text-decoration:underline;text-underline-offset:.25em}
.identity-bar{grid-template-columns:minmax(150px,1fr) auto minmax(185px,1fr);gap:1.2rem}
.identity-foot-inner>a{min-height:44px}.m-footer{flex-wrap:wrap;font-size:14px}.m-footer nav{display:flex;gap:.5rem 1.5rem;flex-wrap:wrap;flex-basis:100%}.m-footer a{display:inline-flex;align-items:center;min-height:44px}
.external-service{display:block;font-size:.8rem;font-weight:400;line-height:1.45;color:var(--quiet,#53677b);margin-top:.3rem}.signup-link{flex-wrap:wrap}.signup-link .external-service{flex-basis:100%}
.intro-skip,.intro-replay{position:absolute;z-index:55;right:clamp(1.2rem,4vw,4rem);background:#fff;border:1px solid #d4e0e7;padding:.6rem 1rem;min-height:44px;cursor:pointer;font:14px/1.4 Arial;color:#254459}
.intro-skip{top:1.2rem;display:none}.jung-playing .intro-skip{display:block}.intro-replay{bottom:1rem;border:0;background:transparent}.jung-playing .intro-replay{visibility:hidden}
.archive-tools{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;margin:1.6rem 0 1.4rem;padding:1.3rem;background:#f0f5fb;border-top:2px solid #28629b;color:#173b62}
.archive-tools label{display:grid;gap:.5rem;font:600 .92rem/1.4 Arial}.archive-tools label:first-child{flex:1 1 260px}.archive-tools input,.archive-tools select{width:100%;min-height:48px;min-width:0;padding:.7rem .8rem;border:1px solid #9eafc0;background:#fff;color:#173b62;font:400 16px/1.4 Arial;border-radius:0}.archive-tools select{min-width:145px}
.archive-tools button{min-height:48px;border:1px solid #28629b;background:transparent;color:#173b62;padding:.65rem 1rem;font:600 14px/1.4 Arial;cursor:pointer}.archive-count{flex-basis:100%;margin:0;font:14px/1.5 Arial;color:#4f6274}.archive-empty{padding:1.5rem;background:#f0f5fb;font:16px/1.6 Arial}
.activity-note{border-left:3px solid var(--accent,#28629b);background:#f0f6fa;padding:1.3rem 1.5rem;margin:0 0 1.6rem;font:16px/1.65 Arial}.activity-note strong{display:block;color:var(--deep,#173b62)}.activity-note p{margin:.5rem 0}.activity-note a{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;font-weight:600;color:var(--accent,#28629b)}
.pdf-original{font:14px/1.6 Arial;color:#52697b;margin:1.5rem 0}.pdf-original a{text-decoration:underline;text-underline-offset:.2em}
.archive-viewer,.form-viewer{width:min(1080px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #9eafc0;color:#193f69;background:white;box-shadow:0 20px 70px #00163355}
.archive-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(940px,calc(100dvh - 32px))}
:is(.archive-viewer,.form-viewer):modal{overscroll-behavior:contain}
:is(.archive-viewer,.form-viewer)::backdrop{background:#071b30b8;overflow:hidden;overscroll-behavior:contain}
.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;padding:1rem 1.4rem;border-bottom:1px solid #d6e3ec;background:#fff;min-width:0}
.viewer-head>div{min-width:0}.viewer-head p{font:600 11px/1.4 Arial;text-transform:uppercase;letter-spacing:.11em;margin:0 0 .3rem}.viewer-head h2{font:500 clamp(1.35rem,2.4vw,1.9rem)/1.2 var(--serif,Georgia);margin:0;color:#193f69}.viewer-head form{flex:none;margin:0}
.viewer-head button,.viewer-foot button{min-height:44px;min-width:44px;display:inline-flex;justify-content:center;align-items:center;gap:.6rem;padding:.5rem .8rem;font:14px/1.4 Arial;color:#193f69;background:#fff;border:1px solid #bacbd9;cursor:pointer}.viewer-head button span{font-size:1.6rem;line-height:1}.viewer-image{overflow:auto;background:#edf2f7;min-height:0;position:relative;overscroll-behavior:contain}.viewer-image img{display:block;width:100%;height:100%;object-fit:contain;padding:1rem;box-sizing:border-box}.viewer-image.is-zoomed img{width:max(100%,1000px);height:auto;max-width:none;max-height:none}.viewer-error{padding:1rem;color:#193f69;background:white}
.viewer-foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem 1.4rem;border-top:1px solid #d6e3ec;font:14px/1.4 Arial;background:#fff}.viewer-foot a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:.2em}.viewer-pagination{display:flex;align-items:center;gap:.8rem}.viewer-pagination .arrow{width:20px;height:20px}.viewer-pagination [data-image-prev] .arrow{transform:rotate(180deg)}.viewer-foot button:disabled{opacity:.4;cursor:default}
.form-viewer[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:calc(100dvh - 32px)}.form-viewer iframe{width:100%;height:100%;border:0;min-height:280px}.form-provider{font:14px/1.6 Arial;margin:0;padding:.8rem 1.4rem;background:#f0f6fa}.form-provider a{text-decoration:underline;text-underline-offset:.2em}
.archive-tools :is(input,select,button):focus-visible,.archive-viewer :is(button,a):focus-visible,.form-viewer :is(button,a):focus-visible,.intro-skip:focus-visible,.intro-replay:focus-visible{outline:3px solid #135c96;outline-offset:3px}
.error-page{padding-block:clamp(3rem,8vw,8rem);min-height:60vh}.error-page h1{max-width:800px}.error-page>p:not(.folio-kicker){font-size:1.15rem;max-width:650px}.error-links{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0}.error-links a{display:inline-flex;align-items:center;gap:1rem;padding:1rem 1.4rem;background:#174d87;color:white;min-height:48px}
@media(max-width:1120px){.identity-bar{grid-template-columns:1fr auto}.identity-tools{grid-column:2;grid-row:1}.identity-nav{grid-column:1/-1;grid-row:2;gap:1.5rem}.identity-nav .nav-long{display:none}.identity-nav .nav-short{display:inline}}
@media(max-width:640px){
 .identity-bar{gap:0 1rem;padding-bottom:0}.identity-tools .identity-switch{font-size:.82rem;gap:.35rem}.member-access{font-size:.86rem;min-height:42px}.identity-nav{font-size:.94rem;gap:1.1rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.identity-nav a{flex:none;min-height:48px}.mast-logo img,.ijp .mast-logo img{height:auto;width:clamp(108px,29vw,145px)}
 .sp-index{font-size:.72rem}.sp-issue div>p:not(.sp-index){font-size:1rem;line-height:1.65}.sp-read{font-size:.94rem}.sp-issue{gap:1.1rem}.sp-issue .sp-issue-title{font-size:1.8rem}
 .m-rail nav a{font-size:14px;min-height:48px}.m-header .m-link{font-size:13px;min-height:44px}.m-button{font-size:14px;min-height:48px}.m-small,.m-source-note,.m-context>span:first-child{font-size:13px}.m-welcome p:not(.m-eyebrow){font-size:16px}.m-section-line{flex-wrap:wrap}.m-section-line .m-link{font-size:13px;max-width:none;min-height:44px}.m-bulletin-feature p:not(.m-eyebrow),.m-course p,.m-year p{font-size:14px}.m-bulletin-feature .m-link,.m-filters button{font-size:13px}.m-filters button{min-height:44px}.m-path-strip{grid-template-columns:1fr;gap:1rem}.m-path-strip h3{min-height:0;font-size:16px}.m-path-strip p{font-size:14px}.m-footer{font-size:13px}.m-footer nav{display:grid;gap:.2rem}.m-footer>a{display:inline-flex}
 .archive-tools{padding:1rem;gap:.8rem}.archive-tools label:first-child{flex-basis:100%}.archive-tools label:has(select){flex:1}.archive-viewer,.form-viewer{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.archive-viewer[open],.form-viewer[open]{height:calc(100dvh - 16px)}.viewer-head{padding:.85rem;align-items:start}.viewer-head button{padding:.4rem .6rem}.viewer-foot{padding:.5rem .7rem;flex-wrap:wrap;font-size:13px}.viewer-foot button{font-size:13px}.viewer-head h2{font-size:1.3rem}.viewer-image img{padding:.5rem}.viewer-pagination{gap:.4rem}
 .folio .member-photo{width:3.5rem;height:4.1rem}.folio-orgaos-sociais .roster>div{grid-template-columns:3.5rem minmax(0,1fr)}.folio .analyst summary{grid-template-columns:3.5rem minmax(0,1fr) auto}
}
@media(max-width:360px){.identity-bar{gap:0 .5rem}.identity-tools .identity-switch{font-size:.76rem}.member-access{font-size:.81rem}.identity-nav{gap:.9rem;font-size:.9rem}.sp-issue{grid-template-columns:68px minmax(0,1fr)}.m-bulletin-feature{grid-template-columns:65px minmax(0,1fr);gap:12px;padding:20px 15px}}
@media(prefers-reduced-motion:reduce){.intro-replay{display:none}}
@media print{.archive-tools,.intro-skip,.intro-replay,dialog{display:none!important}}
/* Keep the secondary links on their own line inside the header tools. */
.identity-tools .identity-switch{grid-column:auto;grid-row:auto;justify-self:end}
@media(max-width:640px){.identity-bar{grid-template-columns:minmax(105px,1fr) auto}.identity-tools{min-width:0}.identity-nav{gap:.6rem;justify-content:space-between;font-size:.91rem}.m-rail nav{flex-wrap:wrap;overflow:visible;padding:0 12px}.m-rail nav a{padding:12px 10px;font-size:14px}}
@media(max-width:360px){.ijp .identity-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;overflow:visible}.ijp .identity-nav a{min-height:44px}}

/* Compact external membership forms, including narrow mobile screens. */
.member-form-list{display:grid;gap:12px;list-style:none;padding:0;margin:24px 0}
.member-form-list li{padding:0!important;border:0!important;margin:0!important}
.member-form-list a[data-member-form]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid #c9dbe5;border-radius:8px;background:#f4f8fb;color:#245b82;text-decoration:none;font-size:17px;line-height:1.45;min-height:60px;box-sizing:border-box}
.member-form-list a[data-member-form]:hover{background:#e8f1f7;border-color:#245b82}
.member-form-list a[data-member-form]:focus-visible{outline:3px solid #245b82;outline-offset:3px}
.member-form-list .form-link-arrow{flex:none;font-size:22px;line-height:1}
@media(max-width:480px){.member-form-list a[data-member-form]{padding:16px;font-size:16px;gap:12px}}
