/* Editorial type: compact display headlines, generous and quiet reading text. */
:root{--display:'Barlow Condensed','Arial Narrow',sans-serif;--body:'Manrope',Arial,sans-serif}
body{font-family:var(--body);font-weight:400}
h1,h2,h3,.wipe-layer p,.number-card strong,.about-photo>span{font-family:var(--display);font-weight:700;letter-spacing:-.015em}
h2{font-size:clamp(48px,5.6vw,86px);line-height:.98}
h3{font-size:34px;line-height:1.05}
p{line-height:1.7}em{letter-spacing:inherit}
.eyebrow{font-family:var(--body);font-size:10px;letter-spacing:.15em;font-weight:800}
.site-header .nav-row{color:white;gap:15px}
.nav-row nav{background:#ffffff0d;border:1px solid #ffffff3b;padding:5px;gap:1px}
.nav-row nav a{color:white;font-size:10px;font-weight:800;letter-spacing:.025em;padding:12px 13px}
.nav-row nav a:hover,.nav-row nav a:focus-visible,.nav-row nav a[aria-current=true]{color:white;background:#ffffff24}
.nav-cta{color:#fff;background:#ffffff19;border:1px solid #ffffff70;padding:13px 17px;font-size:10px;transition:background .3s}
.nav-cta:hover{background:#ffffff30}.search-toggle{border-color:#ffffff70;color:#fff}.menu i{background:#fff}.menu{color:white}
.site-header .logo-surname,.site-header .logo-sub{fill:white}
.color-rule i:nth-child(1){width:46%;background:var(--turquoise)}.color-rule i:nth-child(2){width:34%;background:var(--lime)}.color-rule i:nth-child(3){width:20%;background:#fff}
.mobile-links{color:#fff}.mobile-links a{font-family:var(--display);font-weight:600;font-size:36px;border-color:#ffffff50}
#mobile-nav>a{color:#fff}.mobile-links a:hover{background:#ffffff18}
.hero-copy{width:62%;padding-top:68px;padding-bottom:75px}
.hero h1{font-size:clamp(68px,7vw,108px);font-weight:700;line-height:.89;letter-spacing:-.02em;margin:0 0 28px}
.hero h1 .hero-line{display:block}.hero h1 em{font-size:1em;letter-spacing:inherit;color:#fff;font-weight:inherit}
.hero h1 .word-mask{padding-bottom:.11em;margin-bottom:-.11em}
.hero-tag{color:white;background:#009b8e;font-family:var(--display);font-weight:600;font-size:clamp(24px,2.5vw,36px);padding:9px 18px 11px;line-height:1.05;transform:none;margin-bottom:25px}
.hero-description{font-size:14px;line-height:1.7;max-width:430px}
.hero .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:28px}
.hero-buttons .button{font-size:10px}
.hero-bands i{animation-duration:1.6s}
.intro-active .hero-portrait img,.intro-active .hero-bands i{animation-play-state:paused}
.mandate .section-heading{margin-bottom:45px}.mandate-grid{grid-template-columns:.9fr 1.25fr;gap:9%}
.number-card{padding:36px 42px;border-radius:4px 64px 4px 4px;transform-style:preserve-3d}
.number-card strong{font-size:160px;letter-spacing:-.04em;font-variant-numeric:tabular-nums;display:block;line-height:.9;min-height:.9em;margin-bottom:10px}
.number-card h3{font-size:43px}.number-card p{max-width:300px}
.number-card:before{content:'';position:absolute;inset:auto -50px -75px auto;width:220px;height:220px;border:35px solid #ffffff1a;border-radius:50%}
.mandate-copy h3{font-size:42px;line-height:1.05;max-width:550px}.mandate-copy p{font-size:16px}
.wipe-scene{--stage-height:min(100svh,900px);height:calc(var(--stage-height)*2.2)}.wipe-stage{height:min(100svh,900px);border-radius:0}
.wipe-layer{padding:135px 9% 80px}.wipe-layer p{font-size:clamp(78px,10.2vw,155px);line-height:.94;letter-spacing:-.01em}
.wipe-layer .eyebrow{margin-bottom:36px}.wipe-hint{margin-top:36px}
.wipe-b{clip-path:polygon(calc((1 - var(--wipe))*120% - 20%) 0,100% 0,100% 100%,calc((1 - var(--wipe))*120%) 100%)}
.inclusion{border-radius:0;margin-top:0}
.inclusion-grid{grid-template-columns:1.12fr 1fr;gap:8%;align-items:center}
.inclusion-visual{position:relative;padding:0 45px 75px 0;min-width:0}
.inclusion-visual .image-reveal{height:510px;border-radius:3px 55px 3px 3px}
.inclusion-visual .image-reveal img{object-position:48% 38%}
.inclusion-detail{position:absolute;right:0;bottom:0;width:42%;height:220px;object-fit:cover;border:8px solid var(--paper);border-radius:3px 3px 40px 3px;box-shadow:0 14px 40px #123b361c}
.inclusion-caption{position:absolute;bottom:15px;left:0;font-size:9px;letter-spacing:.14em;line-height:1.7;font-weight:800}
.image-label{background:var(--turquoise);color:#fff;bottom:25px;font-family:var(--display);font-size:24px;font-weight:600;letter-spacing:.03em;transform:rotate(-2deg)}
.project-info h3{font-size:80px;font-weight:700;margin:16px 0 22px}.project-info p{line-height:1.8;font-size:15px}
summary{font-family:var(--display);font-size:32px}details a{display:inline-block;margin-bottom:12px}
.reels-section{position:relative;overflow:hidden;border-radius:0;background:#ed7518}
.reels-section:before{content:'';position:absolute;width:370px;height:370px;border:70px solid #ffffff0c;border-radius:100px;transform:rotate(-15deg);right:-140px;top:-60px;pointer-events:none}
.reels-section>.section-heading,.reels-feed{position:relative}
.reels-status{display:grid;grid-template-columns:90px 1fr;gap:0 30px;text-align:left;border-color:#ffffff50;background:#ffffff0e;align-items:center;padding:40px;border-radius:4px 40px 4px 4px}
.reels-status .reel-symbol{grid-row:1/4;border:1px solid #fff8;border-radius:20px;color:#fff;display:grid;place-items:center;height:120px;font-size:55px;margin:0}
.reels-status h3{font-size:35px;margin-bottom:8px}.reels-status p{font-size:14px;max-width:620px;margin-bottom:18px}.reels-status a{width:fit-content}
.reel-card{border-radius:4px 30px 4px 4px}.reel-card h3{font-family:var(--body);font-size:16px}
.projects article{border-radius:4px 38px 4px 4px}.card-copy h3{font-size:36px;min-height:75px}.card-copy p{font-size:14px}
.about{margin-top:0;border-radius:0}.about-photo{border-radius:4px 70px 4px 4px}.about-photo>span{font-size:82px;line-height:.85;letter-spacing:-.02em}
.gallery-section{background:#00aa9b}.gallery-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery-mosaic .gallery-item{border:0;padding:0;position:relative;height:320px;border-radius:3px;display:block;text-align:left;color:white;background:var(--ink);width:100%}
.gallery-mosaic .gallery-item:nth-child(2){border-radius:3px 50px 3px 3px}.gallery-mosaic .gallery-item:nth-child(4){border-radius:3px 3px 3px 50px}
.gallery-mosaic .gallery-item:nth-child(3n+2){transform:translateY(28px)}
.gallery-mosaic .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#061f1edb);padding:24px;display:flex;flex-direction:column;justify-content:end}
.gallery-overlay small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}.gallery-overlay strong{font-family:var(--display);font-size:30px;line-height:1.02;max-width:220px;font-weight:600}
.gallery-overlay b{position:absolute;right:20px;top:20px;border:1px solid #fff7;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:400;background:#ffffff17}
.gallery-mosaic .gallery-item:hover img{transform:scale(1.065)}.gallery-note{font-size:11px;letter-spacing:.03em;margin:55px 0 0}
.material-card{border-radius:4px 40px 4px 4px}.material-card h3{font-size:36px}.material-card p:not(.eyebrow){font-size:14px}
.revista-preview span{font-family:var(--display);font-size:38px;font-weight:700}.revista-preview strong{font-family:var(--display);font-size:88px;line-height:.8;letter-spacing:-.01em}
.footer-main h3{font-family:var(--body);font-weight:800;font-size:14px}
/* One image viewer for the homepage and individual stories. */
.photo-dialog{position:fixed;inset:0;width:100vw;height:100svh;max-width:100vw;max-height:100svh;border:0;background:#092421f5;color:#fff;margin:0;padding:55px 80px;overflow:hidden}
.photo-dialog::backdrop{background:#092421f2}.photo-dialog[open]{display:grid;place-items:center}.photo-dialog figure{margin:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}
.photo-dialog img{max-height:calc(100svh - 160px);max-width:min(1200px,100%);height:auto;width:auto;object-fit:contain}.photo-dialog figcaption{font-size:13px;text-align:center;line-height:1.5}
.photo-dialog button{position:absolute;width:42px;height:42px;color:white;background:#ffffff12;border:1px solid #ffffff60;border-radius:50%;font-size:26px;display:grid;place-items:center}
.photo-close{top:20px;right:25px}.photo-prev{left:20px;top:48%}.photo-next{right:20px;top:48%}.photo-position{position:absolute;left:25px;top:27px;font-size:11px;letter-spacing:.15em}
/* Independent editorial pages with real copy, photographs and related actions. */
.article-header{background:var(--orange);padding-top:45px;padding-bottom:65px}.article-header>.text-link{font-size:11px;margin-bottom:55px}.article-header>.eyebrow{margin-bottom:20px}.article-header>.eyebrow span{margin:0 15px}
.article-header h1{font-size:clamp(70px,9vw,140px);color:#fff;line-height:.9;margin-bottom:28px;max-width:1100px}
.article-subtitle{font-size:clamp(20px,2.2vw,28px);font-weight:500;max-width:700px;line-height:1.4;margin-bottom:0}
.article-cover{margin:0;height:min(66vw,650px);border-radius:0;position:relative;overflow:hidden}.article-cover img{width:100%;height:100%;object-position:center 35%}.article-cover figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 7% 20px;background:linear-gradient(transparent,#0009);color:#fff;font-size:11px}
.article-layout{display:grid;grid-template-columns:240px minmax(0,740px);gap:8%;justify-content:center;align-items:start}
.article-aside{position:sticky;top:170px;border-top:4px solid var(--orange);padding-top:25px}.article-aside>.eyebrow{display:block;margin-bottom:30px}.article-aside>p{border-bottom:1px solid #123b3626;padding-bottom:20px;margin-bottom:20px;font-size:14px;line-height:1.6}.article-aside>p span{display:block;color:#47847a;font-size:10px;font-weight:700;letter-spacing:.15em;margin-bottom:10px}.article-aside>.text-link{font-size:11px;margin-top:15px}
.article-body .article-intro{font-size:25px;line-height:1.55;font-weight:600;margin-bottom:50px}.article-body>section{margin-bottom:40px}.article-body h2{font-size:42px;line-height:1.05;margin-bottom:18px}.article-body p{font-size:17px;line-height:1.85}.article-body .article-source{border-top:1px solid #123b3626;margin-top:45px;padding-top:20px;font-size:11px;line-height:1.6;color:#49726c}
.article-gallery{padding-top:0}.article-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px}.article-photos figure{margin:0}.article-photos button{width:100%;padding:0;border:0;overflow:hidden;position:relative;background:var(--turquoise);border-radius:3px 35px 3px 3px}.article-photos img{height:370px;width:100%;transition:transform .7s}.article-photos button:hover img{transform:scale(1.04)}.article-photos button>span{position:absolute;right:15px;bottom:15px;width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:23px}.article-photos figcaption{font-size:12px;line-height:1.6;margin-top:13px}
.related-articles{background:#e6f2e9}.related-articles>h2{margin-bottom:35px}.related-articles>div{display:grid;grid-template-columns:1fr 1fr;gap:35px}.related-articles>div>a{display:flex;gap:25px;align-items:center;border-top:1px solid #123b3650;padding-top:25px}.related-articles img{width:125px;height:130px;border-radius:3px 25px 3px 3px}.related-articles h3{font-size:35px;line-height:1.05;margin:8px 0 0}.related-articles small{font-size:9px;letter-spacing:.12em}.related-articles b{margin-left:auto;font-size:30px;font-weight:400}
.law-page h1,.law-detail h1{font-size:clamp(65px,7vw,100px)}
@media(min-width:1500px){.hero-copy{padding-top:75px}.hero-portrait{right:0}.hero-portrait img{height:112%;bottom:-15%}}
@media(max-width:1250px){.nav-row nav a{font-size:9px;padding:10px}.nav-row{gap:10px}.nav-cta{padding:12px;font-size:9px}.hero-copy{padding-top:70px}.hero h1{font-size:8vw}.hero-tag{font-size:29px}.hero-description{max-width:370px}.hero-buttons{gap:9px}.hero-buttons .button{padding:14px 18px;font-size:9px}.gallery-mosaic .gallery-item{height:290px}.inclusion-visual .image-reveal{height:480px}.inclusion-detail{height:180px}}
@media(max-width:980px){.hero h1{font-size:82px}.hero-copy{width:64%}.hero-tag{font-size:26px}.hero-description{max-width:300px}.hero-buttons{max-width:340px}.number-card{padding:30px}.number-card strong{font-size:140px}.mandate-copy h3{font-size:36px}.inclusion-visual{padding-right:20px}.inclusion-visual .image-reveal{height:440px}.inclusion-detail{height:155px;width:50%}.project-info h3{font-size:65px}.gallery-mosaic{grid-template-columns:1fr 1fr}.gallery-mosaic .gallery-item:nth-child(3n+2){transform:none}.gallery-mosaic .gallery-item:nth-child(even){transform:translateY(20px)}.article-layout{grid-template-columns:180px minmax(0,1fr);gap:6%}.related-articles>div{grid-template-columns:1fr}}
@media(max-width:650px){
  .nav-row{gap:14px}.hero{min-height:870px}.hero-copy{width:100%;padding-top:38px;padding-bottom:0}.hero .eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:24px}
  .hero h1{font-size:clamp(60px,16vw,88px);line-height:.9;letter-spacing:-.015em;margin-bottom:22px}.hero h1 em{font-size:1em;letter-spacing:inherit}.hero-tag{font-size:24px;padding:8px 11px;line-height:1.08;margin-bottom:20px}.hero-description{font-size:12px;max-width:345px;margin-bottom:20px}.hero-buttons{max-width:none;gap:8px}.hero-buttons .button{padding:12px 15px;font-size:8px;gap:10px;min-height:43px}.hero-portrait{height:460px;right:-8%}.hero-portrait img{height:112%;bottom:-18%}.scroll-cue{bottom:24px;left:6%}
  h2{font-size:clamp(45px,12vw,62px);line-height:1}h3{font-size:32px}.section-heading{margin-bottom:35px}.eyebrow{font-size:9px}.mandate .section-heading{margin-bottom:30px}.mandate-grid{grid-template-columns:1fr;gap:35px}.number-card{padding:30px;border-top-right-radius:45px}.number-card strong{font-size:135px}.number-card h3{font-size:40px}.number-card p{font-size:14px}.mandate-copy h3{font-size:36px}.mandate-copy p{font-size:15px}.topic-pills a{font-size:11px;padding:8px 14px}
  .wipe-scene{--stage-height:100svh;height:calc(var(--stage-height)*1.95)}.wipe-stage{height:100svh;max-height:none}.wipe-layer{padding:130px 7% 65px}.wipe-layer p{font-size:clamp(56px,15vw,90px);line-height:.96}.wipe-layer .eyebrow{font-size:9px}.wipe-hint{font-size:8px;letter-spacing:.1em;margin-top:30px}
  .inclusion-grid{grid-template-columns:1fr;gap:30px}.inclusion-visual{padding:0 25px 68px 0}.inclusion-visual .image-reveal{height:380px}.inclusion-detail{height:165px;width:44%;border-width:6px}.inclusion-caption{font-size:8px;bottom:16px}.image-label{font-size:21px;padding:10px 18px}.project-info h3{font-size:65px}.project-info p{font-size:15px}
  .reels-status{grid-template-columns:1fr;padding:27px;gap:0;text-align:center}.reels-status .reel-symbol{grid-row:auto;width:65px;height:85px;font-size:40px;margin:0 auto 22px;border-radius:15px}.reels-status h3{font-size:32px}.reels-status p{font-size:13px}.reels-status a{font-size:10px;margin:auto}
  .card-copy h3{font-size:34px;min-height:0}.card-copy p{font-size:14px}.about-photo{height:460px}.about-photo>span{font-size:70px}.about-copy p:not(.eyebrow){font-size:15px}
  .gallery-mosaic{gap:12px}.gallery-mosaic .gallery-item{height:245px;min-width:0}.gallery-mosaic .gallery-item:nth-child(even){transform:translateY(18px)}.gallery-overlay{padding:14px}.gallery-overlay small{font-size:7px}.gallery-overlay strong{font-size:24px}.gallery-overlay b{width:28px;height:28px;font-size:18px;right:12px;top:12px}.gallery-note{font-size:10px;line-height:1.6;margin-top:42px}.material-card h3{font-size:35px}
  .photo-dialog{padding:70px 15px 90px}.photo-dialog img{max-height:calc(100svh - 210px)}.photo-dialog figcaption{font-size:12px;max-width:90%}.photo-prev{top:auto;bottom:23px;left:calc(50% - 55px)}.photo-next{top:auto;bottom:23px;right:calc(50% - 55px)}
  .article-header{padding-top:30px;padding-bottom:40px}.article-header>.text-link{margin-bottom:38px}.article-header h1{font-size:clamp(60px,16vw,84px);line-height:.94;margin-bottom:22px}.article-header>.eyebrow{font-size:8px}.article-subtitle{font-size:21px;line-height:1.5}.article-cover{height:380px}.article-cover figcaption{font-size:10px;padding:45px 6% 15px}
  .article-layout{display:flex;flex-direction:column;gap:35px}.article-aside{position:static;order:2;width:100%;margin-top:0;padding-top:25px}.article-aside>p{display:inline-block;vertical-align:top;width:48%;font-size:12px;padding-right:15px}.article-aside>.text-link{display:block;width:fit-content}.article-body .article-intro{font-size:22px;line-height:1.6;margin-bottom:35px}.article-body h2{font-size:36px}.article-body p{font-size:16px;line-height:1.85}.article-body .article-source{font-size:10px;margin-top:30px}.article-gallery{padding-top:0}.article-photos{grid-template-columns:1fr}.article-photos img{height:320px}.related-articles img{width:95px;height:110px}.related-articles h3{font-size:31px}.related-articles>div>a{gap:20px}
}
@media(prefers-reduced-motion:reduce){.wipe-scene{height:auto}.wipe-stage{height:auto;max-height:none}.wipe-layer{padding:70px 7%}.wipe-b{clip-path:none}.gallery-mosaic .gallery-item:nth-child(n){transform:none}}
.reduce-motion .wipe-stage{height:auto;max-height:none}.reduce-motion .wipe-layer{padding:70px 7%}.reduce-motion .wipe-b{clip-path:none}.reduce-motion .gallery-mosaic .gallery-item:nth-child(n){transform:none}
.high-contrast .nav-row nav a,.high-contrast .hero-tag{color:#fff}.high-contrast .hero-tag{background:#000}.high-contrast .gallery-section{background:#000}.high-contrast .article-header{background:#000;color:#fff}.high-contrast .related-articles{background:#000;color:#fff}

.photo-open{overflow:hidden}.photo-dialog button[hidden]{display:none}

/* Preserve the full photograph in stories, especially portrait-oriented event images. */
.article-cover{max-width:86%;height:620px;margin:50px auto 0;background:#dceee5;border-radius:4px 50px 4px 4px}.article-cover img{object-fit:cover;object-position:center top;width:100%;height:100%}.article-cover figcaption{padding:40px 25px 16px}
@media(max-width:650px){.article-cover{max-width:88%;height:390px;margin-top:30px;border-top-right-radius:30px}.article-cover figcaption{padding:35px 15px 12px;font-size:9px}}

/* Player de Reels: preserva os cards existentes e usa o dialog nativo. */
.reel-card{border:0;padding:0;text-align:left;cursor:pointer;font:inherit;width:100%}
.reel-card:focus-visible,.reel-player button:focus-visible,.reel-player a:focus-visible{outline:3px solid #fff;outline-offset:3px}
html.reel-modal-open,html.reel-modal-open body{overflow:hidden}
.reel-player{position:fixed;inset:0;margin:auto;padding:0;border:0;max-width:none;max-height:none;width:100%;height:100%;background:transparent;color:#fff;overflow:auto}
.reel-player[open]{display:grid;place-items:center;animation:reel-overlay-in .24s ease both}
.reel-player::backdrop{background:rgba(5,24,22,.88);backdrop-filter:blur(10px);animation:reel-overlay-in .24s ease both}
.reel-player-shell{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(90vw,calc((100dvh - 100px)*.5625));max-height:100dvh;animation:reel-player-in .24s ease both}
.reel-player video{display:block;width:100%;height:min(calc(100dvh - 100px),calc(90vw * 1.7778));aspect-ratio:9/16;object-fit:contain;background:#000;border-radius:12px;box-shadow:0 20px 70px #0008}
.reel-player-close{position:absolute;right:-48px;top:0;border:1px solid #ffffff85;border-radius:50%;width:40px;height:40px;background:#123b36;color:white;font:30px/1 sans-serif;cursor:pointer}
.reel-player-instagram{color:white;font:700 13px var(--body);text-decoration:none;padding:5px 12px;border-bottom:1px solid #fff9}
.reel-player.is-closing,.reel-player.is-closing::backdrop{animation:reel-overlay-out .2s ease both}
.reel-player.is-closing .reel-player-shell{animation:reel-player-out .2s ease both}
@keyframes reel-overlay-in{from{opacity:0}to{opacity:1}}
@keyframes reel-overlay-out{from{opacity:1}to{opacity:0}}
@keyframes reel-player-in{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:none}}
@keyframes reel-player-out{to{opacity:0;transform:translateY(12px) scale(.97)}}
@media(max-width:600px){.reel-player-shell{width:min(86vw,calc((100dvh - 100px)*.5625))}.reel-player video{height:min(calc(100dvh - 100px),calc(86vw * 1.7778))}.reel-player-close{right:4px;top:4px;z-index:2;background:#123b36d9}}
@media(prefers-reduced-motion:reduce){.reel-player,.reel-player::backdrop,.reel-player-shell{animation:none!important}}

/* Ajustes da abertura e do acesso rápido solicitados para a identidade do site. */
.hero .eyebrow,.hero-tag,.hero-description,.hero-buttons .button.outline{color:#fff}
.hero-buttons .button.outline{border-color:#fff}
.hero-buttons .button.outline:hover{color:var(--ink)}
.hero-portrait img{height:auto!important;width:auto;max-width:none;max-height:100%;bottom:0!important;left:50%;transform:translateX(-50%)}
.access-launch{display:flex;align-items:center;gap:8px;padding:10px 13px;font-size:12px;border-radius:16px 0 0 16px}
.access-launch img{width:25px;height:25px}
@media(max-width:650px){.hero-portrait img{max-height:100%;left:50%;bottom:0!important}.access-launch{padding:8px 10px;font-size:10px;gap:6px}.access-launch img{width:22px;height:22px}}

/* Mantém o retrato encostado à base da seção ao rolar. */
@media(min-width:651px){.hero-portrait{right:3%;transform:none}}
@media(max-width:650px){.hero-portrait{right:-4%;transform:none}}

/* Preserva o enquadramento original das fotos para mostrar os rostos. */
.inclusion-visual .image-reveal{height:auto;aspect-ratio:482/497}
.inclusion-visual .image-reveal img{object-position:center top}
.inclusion-visual .inclusion-detail{height:auto;aspect-ratio:490/503;object-position:center top}
/* As fotografias originais são verticais: mostrar as cabeças completas. */
.inclusion-visual .image-reveal img{object-position:center top}
.inclusion-visual .inclusion-detail{object-position:center top}

/* As fotografias dos campos mantêm detalhes sem verde excessivamente saturado. */
.projects .card-image img[src$="/varzea.webp"],.projects .card-image img[src$="/campo.webp"]{filter:saturate(.62) brightness(.91)}
.inclusion-visual .image-reveal img{object-position:center 12%}
.cuidar-info{border-top:1px solid #123b3633;margin-top:30px;padding-top:24px}
.cuidar-info h4{font-family:var(--display);font-size:clamp(28px,2.4vw,38px);line-height:1.05;letter-spacing:-.03em;margin:0 0 18px;color:var(--ink)}
.cuidar-info p{margin-bottom:18px}.cuidar-info a{text-decoration:underline;text-underline-offset:3px}
/* Retrato da trajetória: enquadra os dois rostos na foto enviada. */
.about-photo img{width:100%;height:100%;max-width:none;left:0;bottom:0;transform:none;object-fit:cover;object-position:center top}

/* Materiais para comunicação */
.downloads-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.download-card{background:#fff;border:1px solid #dce5df;border-radius:4px 40px 4px 4px;overflow:hidden}
.download-preview{height:330px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#d7e95c}
.portrait-download img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.logo-download{padding:45px}.logo-download.claro{background:#f4f0e7}.logo-download.escuro{background:#145149}.logo-download img{width:100%;height:100%;object-fit:contain}
.download-info{padding:28px}.download-info .eyebrow{font-size:10px}.download-info h2{font-size:32px;margin:12px 0 24px}.download-info .button{font-size:11px}
.portrait-preview img{height:100%;width:100%;object-fit:contain;object-position:center bottom}
@media(max-width:850px){.downloads-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.downloads-grid{grid-template-columns:1fr}.download-preview{height:320px}}

.photo-downloads{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.photo-downloads{grid-template-columns:1fr}}
/* Mantém as setas acessíveis ao lado do botão flutuante. */
@media(min-width:851px){.municipalities .carousel-controls{margin-right:150px}}
@media(max-width:850px){.municipalities .carousel-controls{margin-right:120px}}

/* Barra horizontal da seção de ações nos municípios. */
.municipalities .carousel-track{overflow-x:auto;overflow-y:hidden;scrollbar-color:var(--orange) #f3e7d8;scrollbar-width:thin}
.municipalities .carousel-track::-webkit-scrollbar{height:8px}
.municipalities .carousel-track::-webkit-scrollbar-track{background:#f3e7d8;border-radius:8px}
.municipalities .carousel-track::-webkit-scrollbar-thumb{background:var(--orange);border-radius:8px}

/* Enquadramento uniforme dos retratos na página de fotos. */
.downloads-grid .download-card:nth-child(2) .portrait-download img,.downloads-grid .download-card:nth-child(3) .portrait-download img{transform:scale(1.25);transform-origin:center top}

/* Destaque para o asfalto e a fachada nas capas das matérias. */
.article-cover img[src="/images/parada-modelo.webp"],.article-cover img[src="/images/hospital-fachada-original.webp"]{object-position:center bottom}

/* Suaviza a saturação e o excesso de magenta na foto do Segurança Presente. */
img[src="/images/seguranca-presente-original.webp"]{filter:saturate(.78) sepia(.10)}

/* Mostra os rostos no cartão do Segurança Presente. */
.projects .card-image img[src="/images/seguranca-presente-original.webp"]{object-position:center top}

/* Textos das duas telas de presença. */
.wipe-second .wipe-layer, .wipe-second .wipe-layer em { color: #fff; }

/* Na tela pequena, a apresentação começa pelo retrato. */
@media (max-width: 650px) {
  .hero { display: flex; flex-direction: column; height: auto; min-height: 0; max-height: none; }
  .hero-portrait { position: relative; order: 0; flex: none; width: 100%; height: clamp(280px, 90vw, 410px); right: auto; bottom: auto; transform: none; }
  .hero-portrait img { max-height: 100%; max-width: 100%; width: auto; height: auto; left: 50%; bottom: 0; object-fit: contain; }
  .hero-copy { order: 1; padding: 32px 6% 54px; width: 100%; }
  .hero-bands { pointer-events: none; }
  .hero-bands i { top: -10%; height: 58%; }
  .hero-bands i:nth-child(3) { top: -10%; height: 58%; }
  .scroll-cue { display: none; }
}

/* Encosta a fotografia à base do quadro no celular. */
@media (max-width: 650px) {
  .hero-portrait { overflow: hidden; }
  .hero-portrait img { bottom: -7% !important; }
}

@media (max-width: 650px) { .hero-bands { bottom: auto; height: clamp(280px, 90vw, 410px); } .hero-bands i, .hero-bands i:nth-child(3) { top: -40%; height: 180%; } }

/* Abertura: montagem tipográfica a partir da marca oficial. */
.brand img { display:block; width:100%; height:auto; }
.brand-preview img { display:block; width:70%; height:auto; }
.brand-intro { justify-content:center; padding:0; background:#103a34; }
.intro-stripe { display:none; }
.intro-mark { position:relative; width:min(840px,82vw); aspect-ratio:5375/2586; isolation:isolate; }
.intro-letters { position:absolute; inset:0; }
.intro-letter,.intro-signature { position:absolute; inset:0; width:100%; height:100%; max-width:none; opacity:0; transform-origin:50% 34%; }
.intro-letter-0 { clip-path:inset(0 78% 34% 0); }
.intro-letter-1 { clip-path:inset(0 55% 34% 22%); }
.intro-letter-2 { clip-path:inset(0 39% 34% 45%); }
.intro-letter-3 { clip-path:inset(0 26% 34% 61%); }
.intro-letter-4 { clip-path:inset(0 0 34% 74%); }
.drawing .intro-letter { animation: intro-letter-build .8s cubic-bezier(.18,.75,.2,1) forwards; }
.drawing .intro-letter-0 { animation-delay:.15s; }
.drawing .intro-letter-1 { animation-delay:.38s; }
.drawing .intro-letter-2 { animation-delay:.61s; }
.drawing .intro-letter-3 { animation-delay:.84s; }
.drawing .intro-letter-4 { animation-delay:1.07s; }
.intro-signature { clip-path:inset(67% 0 0 0); transform:translateY(14px); }
.drawing .intro-signature { animation:intro-signature-in .8s cubic-bezier(.18,.75,.2,1) 1.95s forwards; }
.brand-intro .intro-enter { color:#fff; border-color:#ffffff80; margin-top:24px; animation:none; opacity:0; }
.brand-intro.drawing .intro-enter { animation:intro-control-in .55s ease 2.7s forwards; }
@keyframes intro-letter-build { 0% {opacity:0; transform:scale(2.5)} 18% {opacity:1} 100% {opacity:1; transform:scale(1)} }
@keyframes intro-signature-in { to {opacity:1;transform:translateY(0)} }
@keyframes intro-control-in { to {opacity:1} }
@media(max-width:650px) { .intro-mark {width:88vw} .brand-intro {padding:0} .brand-intro .intro-enter {margin-top:16px} }

/* Sequência em cortes, seguindo o ritmo da referência. */
.brand-intro { background:var(--orange); }
.intro-letter { transform-origin:center; }
.intro-letter-0 { --offset:39%; }
.intro-letter-1 { --offset:16.5%; }
.intro-letter-2 { --offset:-3%; }
.intro-letter-3 { --offset:-17.5%; }
.intro-letter-4 { --offset:-37%; }
.drawing .intro-letter { animation:intro-flash .18s linear forwards; }
.drawing .intro-letter-0 { animation-delay:.12s; }
.drawing .intro-letter-1 { animation-delay:.32s; }
.drawing .intro-letter-2 { animation-delay:.52s; }
.drawing .intro-letter-3 { animation-delay:.72s; }
.drawing .intro-letter-4 { animation-delay:.92s; }
.intro-word,.intro-rocha { position:absolute; inset:0; width:100%; height:100%; max-width:none; opacity:0; }
.intro-word { clip-path:inset(0 0 34% 0); }
.drawing .intro-word { animation:intro-fill .42s steps(5,end) 1.23s forwards; }
.intro-rocha { clip-path:inset(67% 45% 0 0); }
.drawing .intro-rocha { animation:intro-fill .35s steps(4,end) 1.9s forwards; }
.intro-signature { clip-path:inset(67% 0 0 55%); transform:translateX(26px); }
.drawing .intro-signature { animation:intro-signature-right .65s ease-out 2.35s forwards; }
.brand-intro .intro-enter { color:var(--ink);border-color:currentColor; }
@keyframes intro-flash { 0%,85% {opacity:1; transform:translateX(var(--offset)) scale(1.6)} 100% {opacity:0; transform:translateX(var(--offset)) scale(1.6)} }
@keyframes intro-fill { from {opacity:0;filter:brightness(.6)} to {opacity:1;filter:brightness(1)} }
@keyframes intro-signature-right { to {opacity:1;transform:translateX(0)} }

/* Vídeo de abertura enviado para a marca. */
.brand-intro { background:#ef690e; }
.intro-video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.brand-intro .intro-enter { position:absolute; z-index:1; left:50%; bottom:clamp(20px,6vh,60px); transform:translateX(-50%); white-space:nowrap; color:white; border-color:#fff9; opacity:1; animation:none; }
.brand-intro.drawing .intro-enter { animation:none; opacity:1; }
.brand-intro { background:var(--orange); }
.intro-mobile-animation { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.intro-mobile-animation[hidden], .intro-video[hidden] { display:none; }
.site-header .home-header-brand:has(img) { width:200px; }
.site-header .home-header-brand img { width:100%; height:auto; object-fit:contain; }
@media(max-width:650px) { .site-header .home-header-brand:has(img) { width:min(160px,42vw); } }

/* Enquadramento das fotografias de TEAcolher e indicador de fonte. */
.article-teacolher .article-photos img{object-position:center top}.article-teacolher .article-cover img{filter:saturate(.72) contrast(.96)}
.a11y-bar .font-indicator{align-self:center;white-space:nowrap;font-size:10px;letter-spacing:0;margin:0 7px}
