/* Identidade inspirada nas cores da bandeira do Espírito Santo. */
:root{--ink:#045379;--accent:#045379;--muted:#4c6675;--line:#d7e7ee;--paper:#ffffff;--wash:#eff8fc;--gold:#88435e;--es-blue:#5fb6e2;--es-pink:#f29dba;--es-pink-ink:#a63865}
body{color:var(--ink);background:var(--paper);border-top:6px solid var(--es-blue)}
.brand{gap:16px}.brand-symbol{width:80px;height:80px;border-radius:8px;background:transparent;color:var(--ink);overflow:hidden}.brand-symbol img{display:block;width:100%;height:100%;object-fit:contain}
.brand-name{color:var(--ink)}.brand-name>span{color:var(--es-pink-ink)}.brand-tag,.edition-date,.muted,.byline{color:var(--muted)}
.main-nav{border-top:2px solid var(--es-blue);border-bottom:3px solid var(--es-pink);background:#eff8fc;padding-inline:15px;gap:28px}
.main-nav a,.launch-nav a{color:var(--ink)}.main-nav a.current{color:var(--ink);border-bottom-color:var(--ink)}
.city-nav{border-bottom-color:var(--line)}.city-nav span{color:var(--es-pink-ink)}
#search-form button{background:var(--ink);color:#fff}#search-form button:hover{background:#023c58}
input[type=search]{border-color:#9cb6c5}.periods button{border-color:#9cb6c5;color:var(--ink)}
.periods button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.filter button{background:var(--wash);color:var(--ink)}.filter button[aria-pressed=true]{background:var(--es-pink);border-color:var(--es-pink);color:#023c58}
.story-meta,.eyebrow,.text-button{color:var(--ink)}.standfirst,.list-item .summary{color:#3e5d6e}
.editorial-note{background:var(--wash);border-top:3px solid var(--es-blue)}.editorial-note p{color:var(--muted)}
.empty-state{background:var(--wash)}.section-heading h2{color:var(--ink)}.rail [data-rail-stories]>h2{border-bottom-color:var(--es-pink)}
.footer{border-top:4px solid var(--es-pink)}.footer p,.footer a{color:var(--muted)}.footer .brand-name{color:var(--ink)}
.launch-nav{border-top:2px solid var(--es-blue);border-bottom:3px solid var(--es-pink);background:var(--wash)}
.article-breadcrumb{border-color:var(--line)}.original-link{color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--es-pink-ink)}
@media(max-width:760px){.brand{gap:11px}.brand-symbol{width:54px;height:54px}.brand-name{font-size:32px}.brand-tag{letter-spacing:.8px}.main-nav{padding-inline:11px;gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.report-deck{color:#3e5d6e}.report-text{color:#173e53}.fact-status p{color:var(--muted)}.fact-status{background:#f4f9fc}
/* Complete the Espírito Santo palette in portal-owned advertising and fields. */
textarea{border-color:#9cb6c5}
input::placeholder,textarea::placeholder{color:var(--muted)}
textarea:focus-visible,.ad-cta:focus-visible{outline-color:var(--es-pink-ink)}
.ad-label{color:var(--muted)}
.ad-theme-mint{background:var(--wash);color:var(--ink);border-color:var(--es-blue)}
.ad-theme-mint .ad-monogram{border-color:var(--es-blue)}
.ad-theme-mint .ad-cta{background:var(--es-pink);color:#023c58;border-color:var(--es-pink-ink)}
.ad-theme-ink{background:var(--ink);color:#fff;border-color:var(--es-blue)}
.ad-theme-ink .ad-monogram{border-color:var(--es-pink)}
.ad-theme-ink .ad-cta{background:var(--es-pink);color:#023c58;border-color:var(--es-pink)}
.ad-anchor{background:var(--ink);border-color:var(--es-pink)}
.ad-anchor-label{color:#fff}
.ad-anchor a{background:var(--es-pink);color:#023c58}
.ad-anchor button{border-color:var(--es-pink)}
.ad-theme-sunset{background:var(--es-pink);color:#023c58;border-color:var(--es-pink-ink)}
.ad-theme-sunset .ad-monogram{border-color:var(--es-pink-ink)}
.ad-theme-sunset .ad-cta{background:var(--ink);color:#fff;border-color:var(--ink)}
.ad-theme-business .ad-cta{background:var(--es-pink);color:#023c58;border-color:var(--es-pink)}


/* Compact frames are unchanged. Artwork is composed for the available area. */
.ad-stage{height:calc(100cqw / 6 + 13px)}
@container(max-width:500px){.ad-stage{height:calc(50cqw + 13px)}}
body.filtered-view [data-ad-slot="home-section"]{display:none}
/* Brand artwork: original logos, responsive typesetting, full-bleed image. */
.ad-unit .ad-creative.ad-brand-piece{display:block;padding:0;min-height:0;background:#faf7f3;border-color:#dbc8c6;color:#81000d}
.ad-brand-piece .ad-brand-link{display:grid;grid-template-columns:22% 50% 28%;width:100%;height:calc(100% - 26px);color:inherit;text-decoration:none}
.ad-brand-logo{display:flex;align-items:center;justify-content:center;min-width:0;padding:clamp(6px,1.5cqw,15px)}
.ad-brand-logo svg{display:block;width:100%;height:auto;max-height:100%;overflow:hidden}
.ad-brand-copy{display:flex;flex-direction:column;justify-content:center;gap:clamp(3px,.6cqw,6px);min-width:0;padding:4px clamp(5px,1cqw,10px)}
.ad-brand-copy strong{display:block;font-size:clamp(15px,3.05cqw,30px);line-height:1.08;letter-spacing:-.4px;color:#2f2626;font-weight:750}
.ad-brand-subtitle{font-size:clamp(11px,1.65cqw,16px);line-height:1.15;color:#3b2e2d}
.ad-brand-action{display:flex;align-items:center;gap:clamp(5px,1cqw,10px);font-size:clamp(10px,1.3cqw,13px);line-height:1.2;white-space:nowrap}
.ad-brand-button{display:inline-block;border-radius:4px;background:#81000d;color:#fff;font-weight:700;padding:clamp(3px,.6cqw,6px) clamp(4px,1cqw,10px)}
.ad-brand-handle{font-size:clamp(10px,1.35cqw,13px)}
.ad-brand-visual{display:block;width:100%;height:100%;min-width:0;overflow:hidden;line-height:0;background:#eadbd1}
.ad-brand-visual img,.ad-brand-visual svg{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:70% center}
.ad-brand-note{display:block;height:26px;padding:6px 12px;font:11px/1.3 system-ui,sans-serif;color:#625251;background:#faf7f3}
.ad-unit .ad-creative.ad-infinity{background:#fff;color:#1b518f;border-color:#b8d0e1}
.ad-infinity .ad-brand-copy strong{color:#183d63}.ad-infinity .ad-brand-subtitle{color:#314f68}.ad-infinity .ad-brand-button{background:#1b518f}.ad-infinity .ad-brand-note{background:#fff;color:#4c6675}.ad-infinity .ad-brand-visual{background:#eef6fb}
/* Portal-owned announcements use the same fixed-size stage. */
.ad-unit .ad-creative:not(.ad-brand-piece){gap:clamp(8px,1.5cqw,20px);padding:clamp(8px,1.5cqw,16px)}
.ad-unit .ad-creative:not(.ad-brand-piece) .ad-message strong{font-size:clamp(15px,2.65cqw,25px)}
.ad-unit .ad-creative:not(.ad-brand-piece) .ad-monogram{font-size:clamp(18px,3cqw,28px);padding-right:clamp(8px,1.5cqw,16px)}
.ad-unit .ad-creative:not(.ad-brand-piece) .ad-cta{font-size:clamp(10px,1.3cqw,12px);padding-inline:8px}
@container(max-width:500px){
 .ad-brand-piece .ad-brand-link{grid-template-columns:70% 30%;grid-template-rows:29% 71%}
 .ad-brand-logo{grid-column:1;grid-row:1;padding:5px 12px 0;justify-content:flex-start}
 .ad-brand-logo svg{width:auto;height:100%;max-width:100%}
 .ad-brand-copy{grid-column:1;grid-row:2;padding:3px 12px 7px;gap:3px}
 .ad-brand-copy strong{font-size:clamp(15px,5.2cqw,24px);letter-spacing:-.35px}
 .ad-brand-subtitle{font-size:clamp(11px,3.2cqw,14px)}
 .ad-brand-action{align-items:flex-start;flex-direction:column;gap:3px;font-size:clamp(10px,3cqw,13px)}
 .ad-brand-button{padding:4px 7px}
 .ad-brand-handle{font-size:clamp(10px,3cqw,12px)}
 .ad-brand-visual{grid-column:2;grid-row:1/3}
 .ad-unit .ad-creative:not(.ad-brand-piece){padding:clamp(10px,4cqw,20px);gap:8px}
 .ad-unit .ad-creative:not(.ad-brand-piece) .ad-message strong{font-size:clamp(18px,6cqw,25px)}
 .ad-unit .ad-creative:not(.ad-brand-piece) .ad-cta{font-size:12px}
}
/* Infinity campaign: approved message, original mark and contextual photograph. */
.ad-unit .ad-creative.ad-infinity-campaign{background:#f3f7fb;border-color:#c3d2df;color:#183d63;font-family:Arial,Helvetica,sans-serif}
.infinity-link{position:relative;display:grid;grid-template-columns:21% 46% 33%;height:calc(100% - 27px);color:inherit;text-decoration:none}
.infinity-logo{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;position:relative;z-index:1}
.infinity-logo::after{content:"";position:absolute;right:0;top:16%;bottom:16%;border-right:1px solid #cbd9e5}
.infinity-logo svg{width:clamp(28px,6.6cqw,64px);height:auto;flex:none}
.infinity-logo b{display:block;color:#20548b;font-size:clamp(14px,2.58cqw,25px);line-height:1.15}
.infinity-logo small{display:block;color:#20548b;font-size:clamp(6px,1.08cqw,10.5px);letter-spacing:1.1px;line-height:1.8}
.infinity-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(3px,.7cqw,7px);padding:5px 0 5px 2.2cqw;min-width:0}
.infinity-copy strong{display:block;font-size:clamp(15px,2.78cqw,27px);line-height:1.18;letter-spacing:-.6px;font-weight:700;color:#183d63}
.infinity-subtitle{font-size:clamp(10px,1.39cqw,13.5px);line-height:1.15;color:#466077}
.infinity-action{display:flex;align-items:center;gap:12px;white-space:nowrap;line-height:1.2}
.infinity-button{display:inline-block;padding:6px 13px;border-radius:4px;color:#fff;background:#20548b;font-size:clamp(9px,1.18cqw,11.4px);font-weight:700}
.infinity-handle{font-size:clamp(9px,1.24cqw,12px);color:#20548b}
.infinity-photo{position:relative;min-width:0;height:100%;margin-left:-6%;overflow:hidden;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);background:#ef652d;padding-left:5px}
.infinity-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
.infinity-note{display:flex;justify-content:space-between;align-items:center;gap:12px;height:27px;padding:4px 13px;background:#fff;color:#3d566d;font-size:10.5px;line-height:1.1}
.infinity-illustration{font-size:10px;color:#607689;white-space:nowrap}
@container(min-width:501px) and (max-width:750px){
 .infinity-copy{gap:3px;padding-block:3px}.infinity-copy strong{font-size:clamp(13px,2.7cqw,20px)}
 .infinity-action{gap:5px}.infinity-button{padding:3px 5px}.infinity-note{font-size:9px;padding:4px 8px}.infinity-illustration{font-size:8px}
}
@container(max-width:500px){
 .infinity-link{grid-template-columns:67% 33%;grid-template-rows:29% 71%;height:calc(100% - 28px)}
 .infinity-logo{grid-column:1;grid-row:1;justify-content:flex-start;padding:5px 10px;gap:5px}
 .infinity-logo::after{display:none}.infinity-logo svg{width:auto;height:100%;max-width:39px}.infinity-logo b{font-size:21px}.infinity-logo small{font-size:8.5px;line-height:1.5;letter-spacing:.9px}
 .infinity-copy{grid-column:1;grid-row:2;padding:3px 0 5px 13px;gap:6px;justify-content:center}
 .infinity-copy strong{font-size:clamp(14px,5.04cqw,24px);line-height:1.19;letter-spacing:-.4px}
 .infinity-subtitle{font-size:11.5px}.infinity-action{flex-direction:column;align-items:flex-start;gap:4px}
 .infinity-button{font-size:10.8px;padding:5px 10px}.infinity-handle{font-size:10.5px}
 .infinity-photo{grid-column:2;grid-row:1/3;margin-left:-8%;padding-left:3px}.infinity-photo img{object-position:left center}
 .infinity-note{height:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:3px 9px;font-size:9.4px}.infinity-illustration{font-size:8.5px}
}
@container(max-width:350px){
 .infinity-link{grid-template-columns:72% 28%}.infinity-logo{padding:3px 8px}.infinity-logo b{font-size:18px}.infinity-logo small{font-size:7px}
 .infinity-copy{gap:3px;padding-left:9px;padding-block:2px}.infinity-copy strong{font-size:clamp(12px,5cqw,17px)}
 .infinity-subtitle{font-size:10px}.infinity-action{gap:2px}.infinity-button{font-size:9px;padding:3px 7px}.infinity-handle{font-size:9px}
 .infinity-note{font-size:8px;padding-inline:7px}.infinity-illustration{font-size:7.5px}
}
@container(max-width:270px){
 .infinity-link{display:flex;flex-direction:column;height:calc(100% - 29px)}
 .infinity-logo{flex:none;height:23px;padding:2px 7px 0;justify-content:flex-start;gap:4px}.infinity-logo svg{height:20px}.infinity-logo b{font-size:13px}.infinity-logo small{font-size:5.3px;line-height:1.3}
 .infinity-copy{flex:1;gap:2px;padding:2px 7px 3px}.infinity-copy strong{font-size:12px;line-height:1.05;letter-spacing:-.2px}
 .infinity-subtitle{font-size:8px}.infinity-action{flex-direction:row;gap:4px;align-items:center}.infinity-button{font-size:7.5px;padding:2px 3px}.infinity-handle{font-size:7px}
 .infinity-photo{position:absolute;inset:0;margin:0;opacity:.12;clip-path:none;padding:0}.infinity-photo img{clip-path:none}
 .infinity-note{height:29px;font-size:7.5px;gap:1px;line-height:1.1;padding:2px 7px}.infinity-illustration{font-size:7px}
}
@container(max-width:320px){
 .ad-brand-piece .ad-brand-link{grid-template-columns:74% 26%;grid-template-rows:28% 72%}
 .ad-brand-logo{padding:3px 8px 0}.ad-brand-copy{padding:2px 8px 4px;gap:2px}
 .ad-brand-copy strong{font-size:clamp(13px,5.1cqw,16px)}
 .ad-brand-subtitle{font-size:10px}.ad-brand-action{gap:2px;font-size:10px}.ad-brand-button{padding:3px 6px}.ad-brand-handle{font-size:10px}
}
@container(min-width:501px) and (max-width:650px){.ad-brand-action{gap:5px;font-size:10px}.ad-brand-button{padding:3px 4px}.ad-brand-handle{font-size:10px}.ad-brand-copy{gap:3px}.ad-brand-copy strong{font-size:15px}.ad-brand-subtitle{font-size:11px}}

@container(max-width:270px){
 .ad-unit .ad-creative:not(.ad-brand-piece){padding:6px 8px;gap:5px}
 .ad-unit .ad-creative:not(.ad-brand-piece) .ad-message strong{font-size:16px;line-height:1.08}
 .ad-unit .ad-creative:not(.ad-brand-piece) .ad-kicker{font-size:8px;line-height:10px;letter-spacing:.4px}
 .ad-unit .ad-creative:not(.ad-brand-piece) .ad-cta{font-size:10px;min-height:32px;padding:5px 8px}
}
/* Narrow sidebar: a separate compact composition, rather than shrinking a poster. */
@container(max-width:270px){
 .ad-brand-piece .ad-brand-link{position:relative;display:flex;flex-direction:column;height:calc(100% - 16px)}
 .ad-brand-logo{position:relative;z-index:1;flex:none;height:25px;padding:2px 7px 0;justify-content:flex-start}
 .ad-brand-logo svg{width:auto;height:100%;max-width:100%}
 .ad-brand-copy{position:relative;z-index:1;flex:1;padding:2px 7px 3px;gap:2px;justify-content:center}
 .ad-brand-copy strong{font-size:12.5px;line-height:1.08;letter-spacing:-.2px}
 .ad-brand-subtitle{font-size:10px;line-height:1.1}
 .ad-brand-action{flex-direction:row;align-items:center;gap:3px;font-size:9px;line-height:1.2}
 .ad-brand-button{padding:2px 3px}.ad-brand-handle{font-size:9px}
 .ad-brand-visual{position:absolute;inset:0;opacity:.1}
 .ad-brand-note{height:16px;padding:2px 7px;font-size:9px;line-height:12px}
}
