/* Preserve the quiet space between the main title and search. */
.portal-v2 .welcome-search{margin-top:68px}

/* Black and gold give the supplied centenary mark a clear focal point. */
.portal-v2 .centenary-banner{background:linear-gradient(110deg,#151410 0%,#050505 58%,#0d0c09 100%);border-color:#b88b3e66;color:#f4ead8;box-shadow:0 10px 26px #20180d16}
.portal-v2 .centenary-mark{border-color:#cda34945}
.portal-v2 .centenary-mark img{width:152px;height:auto;aspect-ratio:2047/1904;object-fit:contain}
.portal-v2 .centenary-copy>.eyebrow{color:#d2ac5c}
.portal-v2 .centenary-copy h2{color:#f4ead8}
.portal-v2 .centenary-banner .outline-light{color:#e0be76;border-color:#cda34999;background:#cda34908;transition:background .2s,color .2s,border-color .2s}
.portal-v2 .centenary-banner .outline-light:hover{background:#d4af5c;border-color:#d4af5c;color:#15110a}
.portal-v2 .centenary-banner .outline-light:focus-visible{outline-color:#e0be76}
@media(max-width:1200px){.portal-v2 .centenary-mark img{width:136px}}
@media(max-width:1020px){.portal-v2 .centenary-mark img{width:120px}}
@media(max-width:760px){.portal-v2 .centenary-mark img{width:92px}}

/* Reserve the logo's own box, independent of image intrinsic/flex sizing. */
.portal-v2 .brand{display:block;width:300px;flex:0 0 auto}
.portal-v2 .brand img{display:block;width:100%;height:auto;aspect-ratio:1918/515;object-fit:contain;mix-blend-mode:normal}
.portal-v2 .footer-logo{width:260px;flex:0 0 auto}
.portal-v2 .footer-logo img{display:block;width:100%;height:auto;aspect-ratio:1918/515;mix-blend-mode:normal}
@media(max-width:1200px){.portal-v2 .brand{width:250px}}
@media(max-width:760px){.portal-v2 .brand{width:clamp(180px,55vw,240px)}.portal-v2 .footer-logo{width:240px}}

/* A spherical panorama replaces the still photograph only when ready. */
.portal-v2 #visit-panorama-poster{z-index:-4;object-position:50% 50%}
.portal-v2 #visit-panorama-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-3;pointer-events:none}
.portal-v2 #visit-panorama-canvas[hidden],.portal-v2 #visit-panorama-toggle[hidden]{display:none}
.portal-v2 .panorama-ready #visit-panorama-poster{visibility:hidden}
.portal-v2 .visit .visit-shade{pointer-events:none;background:linear-gradient(180deg,#27180d88 0%,#34241a12 30%,#34241a55 52%,#281309eb 100%)}
.visit-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:20px}
.portal-v2 .visit-actions .coming-soon{margin:0;font-size:12px}
.visit-motion-button{padding:9px 13px;min-height:38px;border:1px solid #ffffff66;border-radius:5px;background:#faf6eeed;color:#620c19;font-size:12px;line-height:1.4}
.visit-motion-button:hover{background:#fffaf2}
.visit-motion-button:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Horizontal news rail; the hidden tab must not inherit grid/flex display. */
.portal-v2 #news-grid[hidden],.portal-v2 #all-news[hidden],
.portal-v2 #boletim-link[hidden],.portal-v2 #codigo-aberto-link[hidden],.portal-v2 #formacao-link[hidden],
.portal-v2 .bulletin-feed-panel[hidden]{display:none}
.boletim-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-5px 0 18px}
.boletim-toolbar p{font-size:12px;color:var(--muted);line-height:1.6}
.boletim-arrows{display:flex;gap:8px;flex-shrink:0}
.boletim-arrows button{border:1px solid #dfcbb3;color:var(--wine);background:#fbf8f3}
.boletim-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ad8261 #eae1d5;padding:4px 0 18px;scroll-padding-inline:2px}
.boletim-track:focus-visible{outline:2px solid #ad8261;outline-offset:5px}
.portal-v2 .boletim-card{scroll-snap-align:start;min-width:0;height:100%;min-height:370px}
.boletim-card:focus-visible{outline-offset:-4px}
.portal-v2 .boletim-card h3{font-size:27px;line-height:1.18;overflow-wrap:anywhere}
.portal-v2 .boletim-card .news-source{margin-top:auto;padding-top:22px}
.boletim-visual{position:relative;background:#ece1d1;isolation:isolate}
.boletim-image-label{position:absolute;inset:0;display:grid;place-items:center;font:28px var(--serif);color:var(--wine);z-index:-1}
.boletim-visual img{width:100%;height:100%;object-fit:cover}

/* Keep the official training posters complete, with dates readable below. */
.portal-v2 .formation-card{min-height:520px}
.formation-poster{height:245px;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#e7e1d8;border-bottom:1px solid #ded2c1;padding:16px;isolation:isolate}
.formation-poster::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#fcf9f41a,#15131a30);z-index:1;pointer-events:none}
.formation-poster-label{position:absolute;inset:0;display:grid;place-items:center;font:27px var(--serif);color:#254db3;z-index:2}
.formation-poster-backdrop{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 45%;filter:blur(14px);transform:scale(1.16);opacity:.88;z-index:0;pointer-events:none}
.formation-poster-front{position:relative;width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain;box-shadow:0 8px 24px #17121b45,0 0 0 1px #ffffff38;z-index:2}
.portal-v2 .news-card:hover .formation-poster-front{transform:none}
.portal-v2 .news-card:hover .formation-poster-backdrop{transform:scale(1.16)}
.portal-v2 .formation-card h3{font-size:24px;line-height:1.22;overflow-wrap:normal}
.portal-v2 .formation-card .category,.portal-v2 .formation-card .news-source{color:#254db3}
.formation-facts{padding:15px 25px 0;color:var(--muted);font-size:13px;line-height:1.65}
.formation-time{color:#354b78;font-weight:600}
.formation-sessions{font-size:12px;margin-top:7px}
#formacao-panel .boletim-arrows button{color:#254db3;border-color:#c8d2e9}

/* Catalogue highlights keep the complete book covers and bibliographic details. */
.portal-v2 .library-section{padding-top:58px;padding-bottom:50px}
.library-intro{margin-top:14px;font-size:14px;color:var(--muted)}
.library-toolbar{margin:0 0 17px}
.portal-v2 .library-card{min-height:520px;padding-bottom:24px}
.library-cover{height:245px;display:flex;align-items:center;justify-content:center;padding:22px;background:linear-gradient(145deg,#f0e8dc,#e7ded0);border-bottom:1px solid #dfd2c1}
.library-cover img{width:auto;height:auto;max-width:75%;max-height:100%;object-fit:contain;box-shadow:5px 7px 12px #3e241b24}
.library-details{padding:21px 25px 0}
.library-subject{color:#9a571e;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.portal-v2 .library-card h3{margin:9px 0 0;font-size:24px;line-height:1.2;overflow-wrap:normal}
.library-subtitle{margin-top:8px;color:#65554b;font-size:13px;line-height:1.6}
.library-author{margin-top:15px;font-size:13px;line-height:1.6;color:#463c35}
.library-publication{margin-top:5px;font-size:12px;line-height:1.6;color:var(--muted)}
.portal-v2 .library-card .news-source{margin: auto 25px 0;padding-top:22px;font-size:12px;color:var(--wine)}
.portal-v2 .universe{padding-top:18px;padding-bottom:65px}
.portal-v2 main+footer{border-top:1px solid #ded0bd}

/* Saved previews are light images; no external sites load inside these cards. */
.portal-v2 .site-banner{padding:0 0 22px;min-height:355px;transition:border-color .2s,box-shadow .2s}
.portal-v2 .site-banner:hover{transform:none}
.site-preview{display:block;position:relative;width:100%;aspect-ratio:1.95;overflow:hidden;border-bottom:1px solid #dfd2c1;background:#ece6dc;isolation:isolate}
.site-preview img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.015);transform-origin:center top}
.portal-v2 .site-banner .banner-icon{display:none}
.portal-v2 .site-banner .banner-kicker{margin:21px 25px 0}
.portal-v2 .site-banner .banner-name{margin:10px 25px 19px}
.portal-v2 .site-banner .banner-bottom{margin:auto 25px 0}
.site-preview-fallback{background:radial-gradient(ellipse at 85% 15%,#fdfaf3 0%,#eadfce 80%);display:flex;align-items:center;justify-content:center;gap:20px;color:#620c19}
.site-preview-fallback svg{width:58px;height:58px;stroke-width:1}
.site-preview-fallback>span{font:30px var(--serif)}
.portal-v2 .television .site-preview{border-color:#ffffff25}
.universe-controls{text-align:right}
.universe-controls p{font-size:14px;color:var(--muted);line-height:1.6}
.universe-motion-button{display:inline-block;margin-top:10px;padding:6px 0;font-size:12px;color:var(--wine);text-decoration:underline;text-underline-offset:4px}
.universe-motion-button[hidden]{display:none}
@keyframes oa-site-preview-glide{
  0%,100%{transform:translate3d(0,0,0) scale(1.02)}
  50%{transform:translate3d(0,var(--preview-pan-end,0px),0) scale(1.02)}
}
@media(min-width:761px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  #universo .preview-ready .site-preview img{position:absolute;top:0;left:0;width:100%;height:auto;min-height:100%;animation:oa-site-preview-glide var(--preview-duration,28s) cubic-bezier(.37,0,.63,1) var(--preview-phase,0s) infinite;animation-play-state:paused}
  #universo.motion-running .preview-ready.preview-in-view .site-preview img{animation-play-state:running;will-change:transform}
  #universo.motion-running .site-banner:hover .site-preview img,
  #universo.motion-running .site-banner:focus-within .site-preview img{animation-play-state:paused}
  .portal-v2 .site-banner:hover,.portal-v2 .site-banner:focus-visible{border-color:#bfa17a;box-shadow:0 10px 24px #63361412}
}
@media(max-width:1000px){
  .boletim-track{grid-auto-columns:calc((100% - 22px)/2)}
  .portal-v2 .site-banner{min-height:320px}
  .portal-v2 .site-banner .banner-kicker{margin:19px 20px 0}
  .portal-v2 .site-banner .banner-name{margin:10px 20px 18px}
  .portal-v2 .site-banner .banner-bottom{margin:auto 20px 0}
}
@media(max-width:760px){
  .portal-v2 .welcome-search{margin-top:66px}
  .boletim-track{grid-auto-columns:85%;gap:16px;scroll-snap-type:x proximity}
  .boletim-toolbar{gap:12px}
  .portal-v2 .boletim-card{min-height:360px}
  .portal-v2 .boletim-card h3{font-size:25px}
  .portal-v2 .site-banner{padding:0 0 20px;min-height:305px}
  .site-preview{aspect-ratio:1.5}
  .portal-v2 .site-banner .banner-kicker{margin:16px 16px 0;font-size:10px}
  .portal-v2 .site-banner .banner-name{margin:10px 16px 16px}
  .portal-v2 .site-banner .banner-bottom{margin:auto 16px 0}
  .site-preview-fallback{flex-direction:column;gap:6px}
  .site-preview-fallback svg{width:38px;height:38px}
  .site-preview-fallback>span{font-size:19px}
  .portal-v2 .library-section{padding-top:38px;padding-bottom:34px}
  .library-intro{font-size:13px;line-height:1.65}
  .portal-v2 .library-card{min-height:490px}
  .library-cover{height:225px}
  .library-details{padding:19px 21px 0}
  .portal-v2 .library-card h3{font-size:23px}
  .portal-v2 .library-card .news-source{margin-left:21px;margin-right:21px}
  .portal-v2 .universe{padding-top:12px;padding-bottom:40px}
  .universe-controls{text-align:left}
  .visit-actions{justify-content:flex-start;gap:10px;margin-top:16px}
  .visit-motion-button{min-height:42px}
}
