:root{--navy:#071b3c;--blue:#0646ba;--royal:#0b56d8;--gold:#f5c93e;--green:#39a86b;--ink:#101828;--paper:#f5f7fb;--white:#fff;--line:#dce3ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 48px));margin:auto}.skip-link{position:fixed;left:12px;top:-80px;background:white;padding:12px;z-index:99}.skip-link:focus{top:12px}.site-header{position:absolute;z-index:10;width:100%;color:white;border-bottom:1px solid #ffffff25}.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-family:Montserrat;font-size:15px;letter-spacing:.08em}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:900}.brand strong{font-weight:900}nav{display:flex;gap:29px;font-size:13px;font-weight:700}nav a{opacity:.78;transition:.2s}nav a:hover{opacity:1;color:var(--gold)}.menu-toggle{display:none;background:none;border:0;color:white;font:inherit}.hero{color:white;background:radial-gradient(circle at 78% 38%,#1269e8 0,transparent 28%),linear-gradient(120deg,var(--navy),var(--blue));overflow:hidden}.hero-grid{min-height:760px;padding-top:140px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px}.eyebrow,.section-index{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.eyebrow{border-left:3px solid var(--gold);padding-left:12px}.hero h1{font-family:Montserrat;font-size:clamp(70px,9vw,128px);line-height:.78;letter-spacing:-.07em;margin:38px 0 26px}.hero h1 span{color:var(--gold)}.hero-slogan{font-size:25px;font-weight:700;margin:0}.hero-lead{max-width:510px;color:#d8e5ff;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 23px;font-weight:800;font-size:13px;border-radius:3px}.button-gold{background:var(--gold);color:var(--navy)}.text-link{font-weight:800;font-size:13px}.text-link span{color:var(--gold);font-size:20px}.portrait{height:580px;position:relative;align-self:end}.portrait:before{content:"";position:absolute;inset:35px 0 0 50px;border:1px solid #ffffff32}.portrait-placeholder{position:absolute;inset:60px 30px 0 0;background:linear-gradient(160deg,#edf3ff 0,#aec9ee 100%);overflow:hidden;display:grid;place-items:center;color:#0b3b82}.portrait-placeholder:before{content:"";position:absolute;width:330px;height:420px;bottom:-140px;border-radius:50% 50% 0 0;background:#0b326c;box-shadow:0 -170px 0 -85px #d6ad83}.portrait-placeholder span{font:900 190px Montserrat;opacity:.09}.portrait-placeholder small{position:absolute;bottom:35px;left:35px;font-weight:900;letter-spacing:.15em}.portrait-caption{position:absolute;left:0;bottom:0;background:var(--navy);padding:18px 28px;display:flex;flex-direction:column;font-size:11px;letter-spacing:.12em}.campaign-badge{position:absolute;right:0;top:20px;width:142px;height:142px;background:var(--gold);color:var(--navy);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(5deg)}.campaign-badge small{text-transform:uppercase;font-size:9px;font-weight:800}.campaign-badge strong{font:900 40px Montserrat}.hero-ribbon{background:var(--gold);color:var(--navy);font:900 16px Montserrat;letter-spacing:.09em;white-space:nowrap;transform:rotate(-1deg);width:102%;margin-left:-1%;padding:17px;text-align:center}.hero-ribbon i{font-style:normal;margin:0 25px}.section{padding:120px 0}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.section-index{color:var(--blue)}h2{font:800 clamp(40px,5vw,68px)/1.03 Montserrat;letter-spacing:-.05em;margin:25px 0}h2 em{color:var(--blue);font-style:normal}.about-copy{padding-top:40px}.about-copy p{line-height:1.8;color:#566177}.about-copy .large{font-size:21px;line-height:1.55;color:var(--ink);font-weight:600}.fact-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:45px;padding-top:25px;gap:20px}.fact-row div{display:flex;flex-direction:column;gap:10px}.fact-row strong{font:800 18px/1.2 Montserrat}.fact-row span{color:#738099;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.flags{background:var(--blue);color:white}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-head p{max-width:300px;color:#bed3ff;line-height:1.6}.section-index.light{color:var(--gold)}.section-head h2 em{color:var(--gold)}.flag-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff35}.flag-card{min-height:240px;padding:28px 24px;border-right:1px solid #ffffff35;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.flag-card:nth-child(4n){border-right:0}.flag-card:hover{background:#ffffff0d;transform:translateY(-5px)}.flag-icon{font-size:28px;color:var(--gold)}.flag-card small{opacity:.5}.flag-card h3{font:800 19px/1.25 Montserrat;margin:0}.journey-grid{align-items:center}.journey-visual{position:relative;height:600px}.photo-card{position:absolute;inset:0 70px 70px 0;background:linear-gradient(145deg,#c7d6e8,#7da3cf);display:flex;align-items:end;padding:34px;color:#0a3975;font:900 27px/1.1 Montserrat}.photo-card:before{content:"FP";position:absolute;right:20px;top:70px;font:900 170px Montserrat;opacity:.11}.quote-card{position:absolute;right:0;bottom:0;width:290px;background:var(--gold);padding:28px;font:800 20px/1.35 Montserrat;color:var(--navy)}.timeline{margin-top:45px}.timeline article{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--line)}.timeline article>span{color:var(--blue);font-weight:800}.timeline h3{margin:0;font:800 17px Montserrat}.timeline p{color:#667085;line-height:1.6;margin:8px 0 0;font-size:14px}.city-statement{padding:140px 0;color:white;background:linear-gradient(#071b3ce8,#071b3cf5),linear-gradient(130deg,#335c7d,#1a4f42);text-align:center}.city-statement span{color:var(--gold);letter-spacing:.2em;font-size:11px;font-weight:800}.city-statement h2{font-size:clamp(48px,7vw,88px)}.city-statement h2 em{color:var(--gold)}.city-statement p{max-width:630px;margin:25px auto 35px;line-height:1.8;color:#cfd9e7}.button-outline{border:1px solid #ffffff80}.actions{background:#eef2f8}.section-head.dark p{color:#667085}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.action-card{background:white;min-height:360px;display:flex;flex-direction:column}.action-cover{height:160px;padding:18px;background:linear-gradient(145deg,var(--navy),var(--royal));color:white;font:900 42px Montserrat;display:flex;align-items:end}.action-card:nth-child(2) .action-cover{background:linear-gradient(145deg,#175c3e,var(--green))}.action-card:nth-child(3) .action-cover{background:linear-gradient(145deg,#d89c00,var(--gold));color:var(--navy)}.action-body{padding:26px}.action-body small{color:var(--blue);font-weight:800}.action-body h3{font:800 21px/1.25 Montserrat}.action-body p{color:#667085;line-height:1.6;font-size:14px}.gallery-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:45px}.text-link.blue{color:var(--blue)}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:230px 230px;gap:16px}.gallery-item{position:relative;background:linear-gradient(145deg,#0c356f,#7ca9e3);padding:25px;color:white;display:flex;align-items:end;font:800 16px/1.25 Montserrat;overflow:hidden}.gallery-item:after{content:"FP";position:absolute;right:-15px;top:-20px;font:900 100px Montserrat;opacity:.12}.gallery-item.tall{grid-row:span 2;background:linear-gradient(145deg,#091d41,#0d5ed0)}.gallery-item.gold{background:linear-gradient(145deg,#f0b800,#ffe17a);color:var(--navy)}.gallery-item.green{background:linear-gradient(145deg,#12643e,#55bd7d)}.instagram{background:var(--navy);color:white;padding:55px 0}.insta-inner{display:flex;align-items:center;justify-content:space-between}.insta-inner>div{display:grid;grid-template-columns:60px 1fr;align-items:center}.insta-icon{grid-row:span 2;font-size:45px;color:var(--gold)}.instagram p{margin:0;color:#aebcd1}.instagram h2{font-size:28px;margin:3px 0;letter-spacing:-.03em}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}.contact p{color:#667085;line-height:1.7;max-width:480px}.contact-links a{display:grid;grid-template-columns:1fr auto;gap:6px;padding:23px 0;border-bottom:1px solid var(--line)}.contact-links a:first-child{border-top:1px solid var(--line)}.contact-links span{font-size:11px;text-transform:uppercase;color:#738099;letter-spacing:.13em}.contact-links strong{grid-column:1;font:700 16px Montserrat}.contact-links b{grid-column:2;grid-row:1/3;color:var(--blue);font-size:24px;align-self:center}.contact-links a[aria-disabled=true]{opacity:.6;cursor:default}footer{background:#05142e;color:white;padding:55px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.footer-grid p{font-size:12px;line-height:1.7;color:#93a5c1;text-align:center}.footer-grid>div:last-child{display:flex;align-items:end;flex-direction:column;gap:20px;font-size:12px}.footer-grid small{color:#73849e}.reveal{animation:fade .8s ease both}@keyframes fade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Motion and interaction layer */
.scroll-progress{position:fixed;z-index:100;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--gold),#fff176);box-shadow:0 0 12px #f5c93e99;pointer-events:none}.site-header.is-sticky{position:fixed;background:#071b3cf2;backdrop-filter:blur(12px);animation:headerIn .3s ease;border-bottom-color:#ffffff18}.site-header.is-sticky .nav-wrap{height:66px}@keyframes headerIn{from{transform:translateY(-100%)}to{transform:none}}nav a.active{opacity:1;color:var(--gold)}.scroll-reveal{opacity:0;transform:translateY(38px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.scroll-reveal.in-view{opacity:1;transform:none}.button{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px #071b3c33}.button:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff80 50%,transparent 70%);transform:translateX(-130%);transition:transform .6s ease}.button:hover:after{transform:translateX(130%)}.brand-mark{transition:transform .35s ease}.brand:hover .brand-mark{transform:rotate(-12deg) scale(1.08)}.campaign-badge{animation:badgeFloat 3.8s ease-in-out infinite}@keyframes badgeFloat{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -10px;rotate:3deg}}.hero-ribbon div{animation:ribbonDrift 9s ease-in-out infinite alternate}@keyframes ribbonDrift{to{transform:translateX(35px)}}.flag-card{position:relative;cursor:pointer;overflow:hidden;outline:none}.flag-card:after{content:"+";position:absolute;right:22px;top:22px;color:var(--gold);font:700 20px Montserrat;transition:transform .3s}.flag-card:hover:after,.flag-card:focus:after,.flag-card.is-open:after{transform:rotate(45deg)}.flag-card p{max-height:0;opacity:0;margin:0;overflow:hidden;line-height:1.55;font-size:13px;color:#dce8ff;transition:max-height .35s ease,opacity .35s ease,margin .35s ease}.flag-card:hover p,.flag-card:focus p,.flag-card.is-open p{max-height:80px;opacity:1;margin-top:12px}.flag-icon{display:block;transition:transform .35s}.flag-card:hover .flag-icon,.flag-card:focus .flag-icon,.flag-card.is-open .flag-icon{transform:scale(1.25) rotate(-8deg)}.action-card{position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}.action-card:hover{transform:translateY(-10px);box-shadow:0 24px 50px #102a5524}.action-cover{transition:height .35s ease,letter-spacing .35s ease}.action-card:hover .action-cover{height:180px;letter-spacing:.08em}.timeline article{transition:padding-left .3s ease,background .3s ease}.timeline article:hover{padding-left:14px;background:linear-gradient(90deg,#0646ba0b,transparent)}.gallery-item{cursor:pointer;transition:transform .35s ease,filter .35s ease;outline:none}.gallery-item:hover,.gallery-item:focus{transform:scale(.98);filter:saturate(1.2)}.gallery-item span{position:relative;z-index:2;transition:transform .35s}.gallery-item:hover span,.gallery-item:focus span{transform:translateX(8px)}.gallery-item:before{content:"AMPLIAR ↗";position:absolute;right:22px;bottom:22px;opacity:0;transform:translateY(8px);transition:.3s;font-size:9px;letter-spacing:.12em;z-index:2}.gallery-item:hover:before,.gallery-item:focus:before{opacity:.8;transform:none}.lightbox{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:24px;background:#041127e8;backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:.3s}.lightbox.open{opacity:1;visibility:visible}.lightbox-card{position:relative;width:min(760px,100%);min-height:480px;padding:55px;display:flex;align-items:end;color:white;background:linear-gradient(145deg,#0c356f,#0d5ed0);box-shadow:0 35px 100px #0008;transform:scale(.92);transition:.35s}.lightbox.open .lightbox-card{transform:none}.lightbox-card h3{font:800 clamp(30px,6vw,60px)/1.05 Montserrat;margin:0;max-width:600px}.lightbox-close{position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:50%;border:1px solid #ffffff66;background:#071b3c88;color:white;font-size:22px;cursor:pointer}.contact-links a:not([aria-disabled=true]){transition:padding-left .3s,color .3s}.contact-links a:not([aria-disabled=true]):hover{padding-left:12px;color:var(--blue)}.contact-links b{transition:transform .3s}.contact-links a:hover b{transform:translate(4px,-4px)}
@media(max-width:900px){.container{width:min(100% - 32px,700px)}.site-header{position:absolute}.menu-toggle{display:block}.menu-toggle span{margin-left:7px}nav{display:none;position:absolute;top:86px;left:0;width:100%;padding:24px;background:var(--navy);flex-direction:column}nav.open{display:flex}.hero-grid{grid-template-columns:1fr;padding-top:150px;min-height:auto}.hero h1{font-size:clamp(64px,20vw,100px)}.portrait{height:500px;margin-top:20px}.split,.contact-grid{grid-template-columns:1fr;gap:45px}.section{padding:85px 0}.about-copy{padding-top:0}.flag-grid{grid-template-columns:repeat(2,1fr)}.flag-card:nth-child(2n){border-right:0}.journey-visual{height:480px}.section-head{align-items:start;flex-direction:column}.action-grid{grid-template-columns:1fr}.action-card{min-height:auto}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 210px 210px}.gallery-item.tall{grid-column:span 2;grid-row:auto}.insta-inner{align-items:flex-start;flex-direction:column;gap:28px}.footer-grid{grid-template-columns:1fr;gap:30px;text-align:center}.footer-brand{justify-content:center}.footer-grid>div:last-child{align-items:center}}
@media(max-width:520px){.nav-wrap{height:72px}.brand{font-size:12px}.brand-mark{width:36px;height:36px}.hero-grid{padding-top:120px}.hero h1{font-size:17.5vw;margin-top:30px}.hero-slogan{font-size:20px}.hero-actions{align-items:flex-start;flex-direction:column}.portrait{height:390px}.portrait-placeholder{inset:45px 12px 0 0}.portrait-placeholder:before{width:260px;height:350px}.campaign-badge{width:105px;height:105px}.campaign-badge strong{font-size:30px}.hero-ribbon{text-align:left}.fact-row{grid-template-columns:1fr}.flag-grid{grid-template-columns:1fr}.flag-card{min-height:180px;border-right:0;border-bottom:1px solid #ffffff35}.journey-visual{height:390px}.quote-card{width:230px;padding:20px;font-size:15px}.city-statement{padding:95px 0}.gallery-head{align-items:flex-start;flex-direction:column}.gallery-grid{display:flex;flex-direction:column}.gallery-item{height:220px}.gallery-item.tall{height:320px}.insta-inner>div{grid-template-columns:45px 1fr}.instagram h2{font-size:19px}.contact-links strong{font-size:13px;max-width:260px;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.campaign-badge,.hero-ribbon div{animation:none}.scroll-reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}

/* Official photography */
.portrait-placeholder{background:#26140d;color:inherit}.portrait-placeholder:before,.portrait-placeholder span,.portrait-placeholder small{display:none}.portrait-placeholder img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s}.portrait:hover .portrait-placeholder img{transform:scale(1.035);filter:saturate(1.08)}
.photo-card{padding:0;background:#24130d;overflow:hidden}.photo-card:before{display:none}.photo-card img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.journey-visual:hover .photo-card img{transform:scale(1.035)}
.action-grid{grid-template-columns:repeat(2,1fr)}.action-card{min-height:480px}.action-cover{height:270px;padding:0;overflow:hidden}.action-cover img{width:100%;height:100%;object-fit:cover;object-position:center 72%;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.action-card:nth-child(2) .action-cover img{object-position:center 5%}.action-card:hover .action-cover{height:285px;letter-spacing:normal}.action-card:hover .action-cover img{transform:scale(1.045)}
@media(max-width:900px){.action-grid{grid-template-columns:1fr}.action-card{min-height:auto}.action-cover{height:300px}}

/* Official visual identity extracted from the supplied campaign artwork */
:root{--navy:#243e68;--blue:#1e80bd;--royal:#207ab4;--gold:#efaf35;--red:#e21f26}
.official-brand{display:inline-flex;line-height:.72;letter-spacing:-.04em}.official-wordmark{position:relative;display:flex;flex-direction:column;align-items:flex-start;font-family:Montserrat,sans-serif;font-style:italic;font-size:22px;font-weight:900;text-transform:none}.official-wordmark>span{color:#fff}.official-wordmark strong{position:relative;color:var(--gold);font-size:24px;letter-spacing:-.06em}.official-wordmark strong i{color:#fff;font-style:inherit}.official-wordmark strong:after{content:"";position:absolute;left:0;right:-4px;bottom:-7px;height:4px;background:var(--gold);transform:skewX(-22deg);border-radius:4px}.official-brand:hover .official-wordmark{transform:translateY(-1px)}.official-wordmark{transition:transform .25s ease}
@media(max-width:520px){.official-wordmark{font-size:18px}.official-wordmark strong{font-size:20px}.official-wordmark strong:after{bottom:-6px;height:3px}}
.action-cover--graphic{display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),var(--blue))!important}.action-cover--graphic span{font:900 clamp(40px,7vw,78px) Montserrat;color:#fff;letter-spacing:-.06em}.action-card:nth-child(3) .action-cover--graphic{background:linear-gradient(145deg,#cc7e13,var(--gold))!important}.action-card:nth-child(3) .action-cover--graphic span{color:var(--navy)}.action-card:nth-child(4) .action-cover--graphic{background:linear-gradient(145deg,#173f70,var(--royal))!important}.more-actions{display:grid;grid-template-columns:repeat(5,1fr);margin-top:26px;border-top:1px solid #ccd5e3}.more-actions>div{padding:25px 18px;border-right:1px solid #ccd5e3}.more-actions>div:last-child{border-right:0}.more-actions span{display:block;color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.1em;margin-bottom:10px}.more-actions strong{display:block;font:800 14px/1.3 Montserrat}.more-actions p{font-size:12px;line-height:1.55;color:#667085;margin:9px 0 0}
@media(max-width:900px){.more-actions{grid-template-columns:1fr 1fr}.more-actions>div{border-bottom:1px solid #ccd5e3}.more-actions>div:nth-child(2n){border-right:0}}
@media(max-width:520px){.more-actions{grid-template-columns:1fr}.more-actions>div{border-right:0}}
.official-brand img{display:block;width:126px;height:auto;object-fit:contain}.footer-brand img{width:150px}.campaign-legal{background:var(--navy);border-top:3px solid var(--red);color:#fff}.campaign-legal .container{min-height:54px;display:flex;align-items:center;justify-content:center;gap:18px}.campaign-legal img{width:62px;height:38px;object-fit:contain}.campaign-legal p{font-size:10px;letter-spacing:.04em;margin:0;opacity:.9}.campaign-legal p span{color:var(--gold);margin:0 6px}.footer-legal{margin-top:40px;padding-top:24px;border-top:1px solid #ffffff1f;display:flex;align-items:center;justify-content:center;gap:14px;color:#8295b3;font-size:9px;letter-spacing:.04em;text-align:center}.footer-legal img{width:52px;height:32px;object-fit:contain}
@media(max-width:520px){.official-brand img{width:105px}.campaign-legal .container{padding:12px 0;align-items:flex-start}.campaign-legal img{width:52px;flex:none}.campaign-legal p{line-height:1.55}.campaign-legal p span{margin:0 2px}.footer-legal{align-items:flex-start}.footer-legal span{line-height:1.55;text-align:left}}

/* Hero montado com as camadas oficiais fornecidas pela direção de arte */
.hero{position:relative;background:linear-gradient(125deg,#07517f 0%,#1288c4 52%,#086493 100%)}
.hero:before{content:"FABIANO";position:absolute;right:-.06em;top:90px;color:transparent;-webkit-text-stroke:1px #ffffff14;font:900 clamp(130px,20vw,320px)/1 Montserrat,sans-serif;letter-spacing:-.08em;pointer-events:none;white-space:nowrap}
.hero-grid{position:relative;z-index:1}
.portrait:before{inset:28px -14px 20px 36px;border:1px solid #ffffff2d;transform:skewX(-4deg)}
.hero-official-portrait{inset:40px 0 0 0;background:transparent;overflow:hidden;isolation:isolate}
.hero-official-portrait:before{display:block;content:"";position:absolute;z-index:-1;width:112%;height:58%;left:-6%;top:27%;border-radius:0;background:url("assets/campaign/hero-losango-oficial.png") center/100% 100% no-repeat;box-shadow:none;filter:drop-shadow(0 24px 35px #12335045)}
.hero-official-portrait:after{content:"";position:absolute;z-index:-2;inset:8% 3% 0;background:linear-gradient(145deg,#ffffff0a,#003f6b35);border:1px solid #ffffff17;clip-path:polygon(10% 0,100% 0,88% 100%,0 100%)}
.hero-official-portrait img{position:absolute;left:50%;bottom:-2px;width:113%;height:100%;object-fit:contain;object-position:center bottom;transform:translateX(-50%);filter:drop-shadow(0 22px 22px #0a355b70);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s}
.portrait:hover .hero-official-portrait img{transform:translateX(-50%) scale(1.025);filter:drop-shadow(0 28px 27px #0a355b90) saturate(1.04)}
.portrait-caption{z-index:3;background:#243e68e8;border-left:4px solid var(--gold);backdrop-filter:blur(8px)}
.campaign-badge{z-index:4;background:linear-gradient(145deg,#ffc047,var(--gold));box-shadow:0 16px 38px #17365755;border:4px solid #ffffff26}
@media(max-width:900px){.hero:before{top:110px;right:-.2em}.hero-official-portrait{inset:25px 0 0}.hero-official-portrait img{width:min(112%,680px)}}
@media(max-width:520px){.hero:before{top:100px;font-size:34vw}.hero-official-portrait{inset:28px 0 0}.hero-official-portrait:before{width:125%;left:-12.5%;top:30%}.hero-official-portrait img{width:118%}.portrait-caption{padding:13px 18px}}

/* Início fiel ao banner oficial aprovado */
.campaign-art-hero{padding-top:86px;background:#087fb8;overflow:hidden}
.campaign-art-hero:before{display:none}
.campaign-artwork{display:block;width:100%;line-height:0;background:#087fb8}
.campaign-artwork img{display:block;width:100%;height:auto;aspect-ratio:9/4;object-fit:cover;object-position:center}
.campaign-art-hero .campaign-legal{position:relative;z-index:2}
@media(max-width:700px){.campaign-art-hero{padding-top:72px}.campaign-artwork img{aspect-ratio:2/3;object-fit:cover;object-position:center top}.campaign-art-hero .campaign-legal{margin-top:0}}
