/* Campaign photography owns the first screen; the following band stays in view. */
@font-face { font-family:'Open Sans'; font-style:normal; font-weight:300 800; font-display:swap; src:url('assets/open-sans-variable.ttf') format('truetype'); }
* { letter-spacing: 0 !important; }
.site-header { position:relative!important; inset:auto; z-index:30; background:var(--header-surface)!important; border:0!important; color:var(--ink)!important; }
.site-header .header-inner { height:100px; border-bottom:1px solid var(--line); }
.site-header .brand,.site-header nav a,.site-header .theme-control { color:var(--ink)!important; }
.site-header .brand img { filter:var(--brand-filter)!important; }
.site-header .brand span { font-size:12px; line-height:1.15; }
.site-header .theme-control { border-color:var(--line); background:var(--surface)!important; }
.theme-control select { color:inherit; }
.theme-control option { color:var(--ink); background:var(--surface); }
.site-header .button-small { background:var(--pale)!important; border:1px solid var(--line)!important; padding:12px 18px!important; color:var(--ink)!important; }
.site-header .menu-toggle { color:var(--ink)!important; border-color:var(--line); }
.site-header .menu-toggle span { background:currentColor!important; }
.campaign { position:relative; height:calc(100svh - 64px); min-height:690px; background:#151625; color:#fff; isolation:isolate; overflow:hidden; touch-action:pan-y pinch-zoom; }
.campaign-slides,.campaign-slide,.campaign-photo,.campaign-shade { position:absolute; inset:0; width:100%; height:100%; }
.campaign-slide { opacity:0; visibility:hidden; transition:opacity 1.05s ease,visibility 1.05s; }
.campaign-slide.is-active { opacity:1; visibility:visible; z-index:1; }
/* Fit the entire scene by height; blend only its quiet left edge into the copy. */
.campaign-photo,.campaign-shade { left:auto; right:0; width:auto; max-width:100%; aspect-ratio:3/2; }
.campaign-photo { object-fit:contain; object-position:right top; transform:none; }
.campaign-shade { background:linear-gradient(90deg,#151625 0%,#151625eb 12%,#15162570 35%,transparent 55%),linear-gradient(0deg,#10131c99,transparent 18%); }
.campaign-content { position:relative; height:100%; padding-top:160px; padding-bottom:146px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.campaign-content .eyebrow { font-size:12px; font-weight:800; color:#fff; margin:0 0 22px; }
.campaign-content h1,.campaign-content h2 { font-size:80px; font-weight:750; line-height:1.04; color:#fff!important; max-width:660px; margin:0 0 24px; }
.campaign-content h1 span,.campaign-content h2 span { color:#3bcaf1!important; }
.campaign-tagline { font-size:27px; line-height:1.25; font-weight:700; margin:0 0 18px; }
.campaign-description { font-size:17px; max-width:370px; line-height:1.55; color:#f0f1f4; margin:0 0 28px; }
.campaign-actions { display:flex; gap:14px; align-items:stretch; }
.campaign-actions .button { background:#20bae8!important; border:0; color:#09202c!important; font-size:15px; font-weight:750; border-radius:5px; padding:17px 24px; box-shadow:none; }
.campaign-actions .button:hover { background:#73dafa!important; transform:translateY(-3px); }
.campaign-text-link { font-size:14px; font-weight:600; color:#fff; text-underline-offset:7px; text-decoration:underline; text-decoration-color:#ffffff70; }
.campaign-bottom { position:absolute; z-index:4; bottom:34px; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.campaign-selectors { display:flex; gap:30px; width:620px; }
.campaign-selector { flex:1; position:relative; display:flex; align-items:center; gap:12px; padding:13px 0 20px; background:transparent; border:0; color:#ffffffb3; text-align:left; cursor:pointer; font:inherit; }
.campaign-selector span { font-size:12px; }
.campaign-selector strong { font-size:14px; font-weight:750; }
.campaign-selector:after,.campaign-selector i { content:''; position:absolute; height:4px; bottom:0; left:0; right:0; background:#ffffff40; }
.campaign-selector i { background:#38cef2; z-index:1; transform:scaleX(0); transform-origin:left; }
.campaign-selector.is-active { color:#fff; }
.campaign-selector.is-active i { transform:scaleX(var(--progress,0)); }
.campaign-controls { display:flex; gap:8px; }
.icon-button { width:44px; height:44px; flex:none; display:inline-flex; align-items:center; justify-content:center; border:1px solid #ffffff65; border-radius:50%; color:inherit; background:transparent; cursor:pointer; transition:background .2s,transform .2s; }
.icon-button:hover { background:#ffffff24; transform:translateY(-2px); }
.icon-button svg { width:20px; height:20px; }
.category-ribbon { background:var(--surface); color:var(--ink); border-bottom:1px solid var(--line); }
.category-ribbon>.container { display:flex; align-items:center; justify-content:space-between; min-height:98px; gap:22px; }
.category-ribbon a { display:flex; align-items:center; gap:12px; font-size:14px; font-weight:600; white-space:nowrap; }
.category-ribbon a:hover { color:var(--accent-ink); }
.category-ribbon svg { width:25px; height:25px; color:var(--accent-ink); stroke-width:1.5; }
.category-ribbon span { padding-left:25px; border-left:1px solid var(--line); color:var(--muted); font-size:13px; }
@media(min-width:1600px){.campaign-content h1,.campaign-content h2{font-size:92px}.campaign-content{padding-top:170px}.campaign-tagline{font-size:30px}}
@media(max-width:1150px){.campaign-content h1,.campaign-content h2{font-size:66px}.campaign-selectors{width:530px}.category-ribbon span{display:none}.site-header nav{gap:19px}.campaign-content{padding-top:150px}.campaign-tagline{font-size:25px}}
@media(max-width:1000px){.site-header nav{background:var(--surface)!important;border:1px solid var(--line)!important;box-shadow:0 18px 35px #0003}.site-header .header-inner{height:86px}.campaign-content h1,.campaign-content h2{font-size:60px}.campaign-selectors{gap:20px;width:460px}.category-ribbon>.container{min-height:85px}}
@media(max-width:760px){.campaign{height:calc(100svh - 24px);min-height:720px;max-height:1000px}.site-header .header-inner{height:78px}.site-header .brand span{font-size:10px}.site-header .brand img{width:39px;height:39px}.campaign-photo{object-position:72% 0%;height:65%;object-fit:cover}.campaign-shade{background:linear-gradient(0deg,#191b28 0%,#191b28 18%,#191b28ed 36%,#191b2870 53%,transparent 70%),linear-gradient(180deg,#11172265,transparent 22%)}.campaign-content{justify-content:flex-end;padding-top:310px;padding-bottom:112px}.campaign-content .eyebrow{font-size:10px;margin-bottom:14px}.campaign-content h1,.campaign-content h2{font-size:48px;line-height:1.03;margin-bottom:13px}.campaign-content h1 br,.campaign-content h2 br{display:none}.campaign-tagline{font-size:21px;line-height:1.3;margin-bottom:12px}.campaign-tagline br{display:none}.campaign-description{font-size:14px;line-height:1.45;max-width:320px;margin-bottom:20px}.campaign-actions{gap:19px}.campaign-actions .button{padding:14px 16px;font-size:13px}.campaign-text-link{font-size:12px;max-width:120px}.campaign-bottom{bottom:24px;gap:12px}.campaign-selectors{flex:1;gap:12px;width:auto}.campaign-selector{gap:8px;padding:10px 0 17px}.campaign-selector span{font-size:10px}.campaign-selector strong{font-size:11px}.campaign-controls{gap:5px}.campaign-controls .icon-button{width:34px;height:34px}.campaign-controls #carousel-prev{display:none}.campaign-controls svg{width:16px;height:16px}.category-ribbon>.container{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:120px;padding-block:15px}.category-ribbon a{min-height:43px;font-size:12px;gap:9px}.category-ribbon svg{width:20px;height:20px}}
@media(max-width:370px){.campaign-content h1,.campaign-content h2{font-size:41px}.campaign-selector span{display:none}.campaign-selectors{gap:9px}.campaign{min-height:700px}.campaign-tagline{font-size:19px}.campaign-controls{gap:3px}.campaign-actions{gap:12px}.campaign-actions .button{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

:root {
  --ink:#22252b; --muted:#62666d; --pale:#f4f6f7; --line:#e0e3e5; --navy:#20232c; --navy-light:#30343e; --radius:6px;
  --surface:#fff; --surface-raised:#f5f6f7; --secondary-ink:#73767e; --accent-ink:#06718f; --accent-soft:#f1fafc; --hover-surface:#f5f8fa;
  --header-surface:#fffffff5; --brand-filter:brightness(0) saturate(100%) invert(10%) sepia(20%) saturate(2100%) hue-rotate(180deg);
  --sector-surface:#edf7fb; --footer-surface:#fff; --contact-surface:#c0eef7; --contact-ink:#243b42; --contact-button:#24262d; --contact-button-ink:#fff;
}
:root[data-theme="dark"] {
  --ink:#f3f4f5; --muted:#bbc1c9; --pale:#23262b; --line:#42474e;
  --surface:#181a1e; --surface-raised:#272b30; --secondary-ink:#b9bec7; --accent-ink:#6bd9f0; --accent-soft:#163d46; --hover-surface:#30363d;
  --header-surface:#181a1ef5; --brand-filter:none;
  --sector-surface:#272c32; --footer-surface:#111315; --contact-surface:#173b43; --contact-ink:#ebfaff; --contact-button:#57cfe8; --contact-button-ink:#10262c;
}
body { font-family:'Open Sans',Arial,Helvetica,sans-serif; background:var(--surface); color:var(--ink); }
.eyebrow,.panel-kicker,.dark-link { color:var(--accent-ink); }
.audience-tabs button { color:var(--muted); }
.check-list li:before { color:var(--accent-ink); border-color:var(--line); }
.faq-list summary:after { color:var(--accent-ink); }
.back-top { border-color:var(--line); color:var(--ink); }
.skip-link { background:var(--surface); }
h2 { font-size:42px; }
h2 span { color:var(--secondary-ink); }
main>section { --section-bg:var(--surface); }
main>section:nth-of-type(even) { --section-bg:var(--pale); }
.section { padding-block:100px; background:var(--section-bg); }
.about { padding-block:95px 80px; }
.about-grid { grid-template-columns:1fr 1fr; gap:100px; }
.about-copy .lead { font-size:21px; }
.about-copy p { text-align:justify; text-justify:inter-word; hyphens:auto; }
.about-copy p:last-child { margin-bottom:0; }
.principles { gap:45px; margin-top:50px; }
.principles strong { font-size:17px; }
.principles>div { padding-top:20px; }
.principles span { margin-bottom:10px; color:var(--accent-ink); }
.club-section { background:var(--section-bg); }
.club-grid { gap:85px; grid-template-columns:1.05fr 1fr; }
.club-photograph { position:relative; margin:0; height:590px; overflow:hidden; }
.club-photograph>img { width:100%; height:100%; object-fit:cover; object-position:76% center; transition:transform .8s; }
.club-photograph:hover>img { transform:scale(1.035); }
.club-photograph figcaption { position:absolute; bottom:0; left:0; right:0; display:flex; align-items:center; gap:18px; padding:25px 30px; background:#20232ce8; color:#fff; }
.club-photograph figcaption>svg { width:34px; height:34px; stroke-width:1.25; color:#43c8ee; }
.club-photograph figcaption span { font-size:14px; line-height:1.6; }
.club-photograph figcaption strong { font-size:18px; }
.club-copy h2 { font-size:44px; }
.club-copy .eyebrow { font-size:12px; }
.cost-note { margin-top:24px; border-color:var(--line); }
.cost-note>svg { width:25px; height:25px; color:var(--accent-ink); flex:none; }
.club-copy .text-link { border-bottom:1px solid currentColor; padding-bottom:5px; }
.benefits-explorer { background:var(--section-bg); }
.category-tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-bottom:1px solid var(--line); margin-bottom:32px; }
.category-tabs button { display:flex; align-items:center; justify-content:center; gap:12px; min-height:68px; padding:16px; border:0; border-bottom:3px solid transparent; background:none; color:var(--muted); cursor:pointer; font-size:16px; font-weight:600; transition:background .2s,color .2s; }
.category-tabs svg { width:22px; height:22px; stroke-width:1.5; }
.category-tabs button[aria-selected=true] { border-bottom-color:var(--accent-ink); color:var(--accent-ink); background:var(--accent-soft); }
.category-tabs button:hover { background:var(--hover-surface); }
.category-panel { display:grid; grid-template-columns:1.17fr 1fr; min-height:480px; background:var(--surface-raised); }
.category-photo { position:relative; overflow:hidden; min-height:480px; }
.category-photo img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:78% center; transition:transform .7s; }
.category-panel[aria-labelledby="category-saude"] .category-photo img { object-position:center; }
.category-panel.is-image-loading .category-photo img { opacity:.35; }
.category-photo:hover img { transform:scale(1.035); }
.category-photo>span { position:absolute; left:24px; bottom:24px; padding:10px 14px; background:#fff; color:#333; font-size:11px; font-weight:700; }
.category-copy { padding:50px; align-self:center; }
.category-copy h3 { font-size:34px; line-height:1.16; margin:0 0 22px; max-width:350px; }
.category-copy .eyebrow { font-size:11px; margin-bottom:17px; }
.category-copy>p:not(.eyebrow) { font-size:16px; color:var(--muted); }
.category-copy ul { list-style:none; padding:0; margin:24px 0; }
.category-copy li { position:relative; padding-left:18px; font-size:14px; margin-bottom:8px; }
.category-copy li:before { content:''; position:absolute; width:5px; height:5px; border-radius:50%; background:#099dc4; left:0; top:10px; }
.category-copy .text-link { color:var(--accent-ink); padding-bottom:4px; border-bottom:1px solid currentColor; }
.category-copy .category-note { margin:22px 0 0; font-size:12px!important; line-height:1.5; }
#beneficios { padding-top:20px; }
.audience-panel { border-radius:0; background:none; padding:44px 0 0; gap:90px; }
.audience-panel h3 { font-size:31px; }
.audience-tabs { margin-top:35px; }
.audience-tabs button { font-size:16px; }
.sectors { background:var(--section-bg)!important; color:var(--ink)!important; }
.sectors h2 { font-size:30px; }
.sectors .eyebrow { color:var(--accent-ink)!important; }
.sectors li { border:0!important; border-radius:0; border-left:2px solid var(--accent-ink)!important; color:var(--ink)!important; background:transparent!important; padding:4px 16px; font-size:14px; }
.sectors ul { row-gap:15px; }
.steps h3 { font-size:21px; }
.step-number { color:var(--accent-ink); }
.small-note { border-radius:0; border-left:3px solid #1fb5d8; }
.materials-section { background:var(--section-bg)!important; color:var(--ink)!important; }
.materials-section .section-heading h2 { color:var(--ink); }
.materials-section .section-heading h2 span { color:var(--secondary-ink)!important; }
.materials-section .eyebrow.light { color:var(--accent-ink)!important; }
.materials-section .section-heading>p,.materials-section .material-caption p { color:var(--muted)!important; }
.materials-grid { gap:30px; }
.material-card { background:none; border:0; border-radius:0; }
.material-image { height:390px; border-radius:6px; background:#e8ecef; overflow:hidden; }
.material-caption h3 { font-size:23px; line-height:1.25; color:var(--ink); }
.material-caption>span { color:var(--accent-ink)!important; font-size:11px; }
.material-caption p { font-size:15px; }
.gallery-trigger { display:block; position:relative; width:100%; height:100%; margin:0; padding:0; border:0; cursor:zoom-in; background:transparent; }
.gallery-trigger>img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.gallery-trigger:hover>img { transform:scale(1.035); }
.gallery-zoom { position:absolute; right:15px; bottom:15px; width:38px; height:38px; display:grid; place-items:center; background:#fff; color:#24262d; border-radius:50%; box-shadow:0 3px 10px #0001; }
.gallery-zoom svg { width:17px; height:17px; }
.partners-grid figure { margin:0; }
.partners-grid .gallery-trigger { height:240px; overflow:hidden; border-radius:4px; background:#f3f4f5; }
.partners-grid .gallery-trigger>img { object-fit:contain; margin:0; }
.partners-grid .gallery-zoom { width:29px; height:29px; right:8px; bottom:8px; }
.partners-grid figcaption { font-size:13px; line-height:1.45; min-height:76px; }
.partners-grid figcaption strong { display:block; color:var(--ink); font-weight:700; }
.partners-grid figcaption span { display:block; margin-top:5px; color:var(--muted); }
.partners-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid var(--line); margin-bottom:32px; }
.partners-tabs[hidden],.partner-panel[hidden] { display:none; }
.partners-tabs button { display:flex; align-items:center; justify-content:center; gap:12px; min-height:72px; padding:16px 12px; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--muted); font-size:15px; font-weight:700; line-height:1.4; cursor:pointer; transition:background .2s,color .2s; }
.partners-tabs button[aria-selected="true"] { border-bottom-color:var(--accent-ink); color:var(--accent-ink); background:var(--accent-soft); }
.partners-tabs button:hover { background:var(--hover-surface); }
.partners-tabs svg { width:24px; height:24px; flex:none; stroke-width:1.6; }
.partners-panels { min-height:390px; }
.partner-panel .partners-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:0; }
.partner-panel .gallery-trigger,.partner-panel .partners-grid>figure>img { height:300px; }
.partner-panel-title { font-size:22px; margin:0 0 24px; }
.js .partner-panel-title { display:none; }
.partners-empty { padding:56px 20px; margin:0; text-align:center; color:var(--muted); }
@media(max-width:760px){
  .partners-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}
  .partners-tabs button{flex-direction:column;gap:8px;min-height:96px;font-size:13px;padding:12px 8px}
  .partners-panels{min-height:610px}
  .partner-panel .partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .partner-panel .gallery-trigger,.partner-panel .partners-grid>figure>img{height:220px}
}
.gallery-dialog { width:min(1040px,calc(100% - 40px)); max-height:calc(100svh - 40px); border:0; border-radius:6px; padding:24px; background:var(--surface-raised); color:var(--ink); }
.gallery-dialog::backdrop { background:#101219d9; backdrop-filter:blur(6px); }
.gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.gallery-toolbar h2 { font-size:20px; margin:0; }
.gallery-dialog .icon-button { border-color:var(--line); }
.gallery-dialog .icon-button:disabled { opacity:.3; cursor:default; transform:none; background:transparent; }
.gallery-stage { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:20px; align-items:center; margin-top:20px; }
.gallery-stage img { max-height:65svh; width:100%; object-fit:contain; }
#gallery-caption { text-align:center; font-size:14px; margin:20px 0 0; }
.gallery-open { overflow:hidden; }
.faq-section { padding-top:10px; }
.contact-section { background:var(--contact-surface); color:var(--contact-ink); }
.contact-section .eyebrow,.contact-action>span { color:var(--contact-ink); }
.contact-grid h2 { font-size:43px; }
.contact-grid p { color:var(--contact-ink); }
.contact-action .button { background:var(--contact-button); color:var(--contact-button-ink); }
.site-footer { background:var(--footer-surface)!important; color:var(--muted)!important; border-top:1px solid var(--line); }
.site-footer .brand { color:var(--ink)!important; }
.site-footer .brand img { filter:var(--brand-filter)!important; }
.reveal { opacity:0; transform:translateY(25px); transition:opacity .7s ease,transform .7s ease; }
.reveal.is-revealed { opacity:1; transform:translateY(0); }
.reveal:nth-child(2) { transition-delay:.08s; }
.reveal:nth-child(3) { transition-delay:.16s; }
@media(min-width:761px) and (max-width:1050px){.header-inner{gap:15px}.header-inner nav{gap:14px}.header-inner nav>a{font-size:12px}.site-header .button-small{font-size:12px;padding:10px!important;gap:8px}.header-inner .brand>span{font-size:10px}.theme-control select{font-size:12px;max-width:100px}.club-grid{gap:40px}.club-copy h2{font-size:36px}.club-photograph{height:550px}.category-copy{padding:32px}.category-copy h3{font-size:30px}.material-image{height:310px}.about-grid{gap:50px}}
@media(max-width:760px){h2{font-size:33px}.campaign{height:calc(100svh - 40px)}.campaign-content h1 br,.campaign-content h2 br{display:block}.campaign-content h1 span,.campaign-content h2 span{display:block}.campaign-content{padding-bottom:107px}.campaign-content h1,.campaign-content h2{font-size:46px}.section{padding-block:65px}.about-grid{grid-template-columns:1fr;gap:24px}.about-copy .lead{font-size:19px}.about-copy p{font-size:15px}.principles{gap:22px;margin-top:30px}.principles strong{font-size:16px}.club-grid{grid-template-columns:1fr;gap:35px}.club-copy{order:0}.club-copy h2{font-size:36px}.club-copy h2 br:last-of-type{display:none}.club-copy h2 span{display:block}.club-photograph{order:1;height:410px}.club-photograph figcaption{padding:20px 23px}.category-tabs{margin-bottom:20px}.category-tabs button{flex-direction:column;gap:8px;padding:12px 4px;font-size:12px;min-height:75px}.category-tabs svg{width:21px;height:21px}.category-panel{grid-template-columns:1fr}.category-photo{min-height:285px}.category-copy{padding:28px 24px}.category-copy h3{font-size:29px;max-width:280px}.category-copy>p:not(.eyebrow){font-size:15px}.category-photo>span{left:16px;bottom:16px;font-size:9px;padding:9px 12px}.audience-panel{padding:28px 0 0;gap:30px}.audience-panel h3{font-size:28px}.audience-panel .button{width:auto}.audience-tabs{gap:12px}.audience-tabs button{font-size:13px}#beneficios{padding-top:10px}.materials-grid{gap:40px}.material-image{height:370px}.material-caption h3{font-size:23px}.partners-grid{gap:24px 14px}.partners-grid .gallery-trigger{height:175px}.partners-grid figcaption{font-size:11px}.gallery-dialog{padding:16px;width:calc(100% - 20px)}.gallery-toolbar h2{font-size:17px}.gallery-stage{grid-template-columns:32px minmax(0,1fr) 32px;gap:8px}.gallery-stage .icon-button{width:32px;height:32px}.gallery-stage img{max-height:60svh}.gallery-dialog .icon-button{width:36px;height:36px}#gallery-caption{font-size:12px}.faq-section{padding-top:5px}.contact-grid h2{font-size:34px}.contact-action .button{font-size:13px}.category-ribbon>.container{padding-top:5px}.sectors h2{font-size:28px}.sectors li{font-size:12px}.reveal{transform:translateY(16px)}}
@media(max-width:370px){.campaign-content h1,.campaign-content h2{font-size:40px}.header-inner{gap:8px}.header-actions{gap:7px}.site-header .brand span{font-size:9px}.theme-control{padding-inline:6px}.theme-control select{font-size:11px;max-width:86px}.menu-toggle{padding:10px}.club-copy h2{font-size:31px}.partners-grid .gallery-trigger{height:150px}.material-image{height:330px}.campaign-selector strong{font-size:10px}}
@media(max-height:750px) and (min-width:761px){.campaign{min-height:620px;height:calc(100svh - 48px)}.campaign-content{padding-top:145px;padding-bottom:105px}.campaign-content h1,.campaign-content h2{font-size:62px;margin-bottom:17px}.campaign-content .eyebrow{margin-bottom:15px}.campaign-tagline{font-size:23px;margin-bottom:12px}.campaign-description{font-size:15px;margin-bottom:20px}.campaign-bottom{bottom:21px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
@media(max-width:760px){.campaign-tagline br:after{content:' '}.campaign-tagline br{display:contents}}

/* Keep the badge above the header edge and the photographs below the menu. */
:root { --header-height:88px; }
.site-header .header-inner { height:var(--header-height); min-height:var(--header-height); gap:22px; }
.site-header .brand { position:relative; z-index:2; flex:0 0 212px; width:212px; height:116px; padding:18px; transform:translateY(18px); border-radius:16px; background:#25235f; color:#fff!important; box-shadow:0 8px 24px #061e3026; }
.site-header .brand img { width:58px; height:54px; filter:none!important; }
.site-header .brand span { font-size:11px; line-height:1.25; }
.site-header .header-inner nav { gap:8px; }
.site-header .button-small { min-height:44px; padding:11px 13px!important; border-radius:6px; font-size:13px; gap:9px; white-space:nowrap; }
.site-header .button-small:hover { background:var(--accent-soft)!important; border-color:var(--accent-ink)!important; }
.campaign { height:calc(100svh - var(--header-height) - 64px); }
.campaign-content { padding-top:64px; }
.campaign-actions .button { min-height:56px; text-align:center; }
#beneficios,.faq-section { padding-top:100px; }
@media(min-width:761px) and (max-height:750px){.campaign-content{padding-top:48px}.campaign{height:calc(100svh - var(--header-height) - 48px)}}
@media(max-width:1100px){
  .site-header .header-actions{margin-left:auto}
  .site-header .menu-toggle{display:flex;flex-direction:column;gap:6px;background:transparent;border:1px solid var(--line);border-radius:6px;padding:13px;cursor:pointer}
  .site-header .menu-toggle span{display:block;width:22px;height:2px}
  .site-header .header-inner nav{position:absolute;top:var(--header-height);left:0;right:0;margin:0;padding:46px 24px 24px;flex-direction:column;align-items:stretch;gap:10px;background:var(--surface)!important;border-bottom:1px solid var(--line)!important;box-shadow:0 18px 35px #0003}
  .js .site-header .header-inner nav{display:none}
  .js .site-header .header-inner nav.is-open{display:flex}
  .site-header .button-small{justify-content:center;font-size:14px}
}
@media(max-width:760px){
  :root{--header-height:78px}
  .site-header .header-inner{gap:10px}
  .site-header .brand{flex-basis:156px;width:156px;height:98px;padding:12px;gap:8px;transform:translateY(12px);border-radius:12px}
  .site-header .brand img{width:42px;height:42px}
  .site-header .brand span{font-size:9px}
  .campaign{height:calc(100svh - var(--header-height) - 40px);min-height:680px}
  .campaign-content{padding-top:250px;padding-bottom:105px}
  .campaign-content h1,.campaign-content h2{font-size:40px}
  .campaign-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,370px)}
  .campaign-actions .button{min-height:56px;padding:12px 10px;font-size:13px;font-weight:750;line-height:1.4}
  .campaign-selector strong{font-size:11px;font-weight:750}
  #beneficios,.faq-section{padding-top:65px}
  .partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}
  .partners-grid .gallery-trigger{height:220px}
  .partners-grid figcaption{font-size:13px;min-height:60px}
}
@media(max-width:370px){
  :root{--header-height:74px}
  .site-header .brand{flex-basis:130px;width:130px;height:92px;padding:10px;gap:6px}
  .site-header .brand img{width:35px;height:36px}
  .site-header .brand>span{display:block;font-size:8px}
  .site-header .header-inner{gap:7px}
  .site-header .header-actions{gap:6px}
  .site-header .theme-control{padding-inline:4px;gap:3px}
  .site-header .theme-control select{max-width:79px;font-size:11px;padding-inline:0}
  .site-header .menu-toggle{padding:10px}
  .campaign-content h1,.campaign-content h2{font-size:35px}
  .campaign-actions .button{font-size:12px;padding-inline:8px}
}
@media(max-width:760px) and (max-height:780px){
  .campaign{min-height:620px}
  .campaign-content h1,.campaign-content h2{font-size:35px;margin-bottom:12px}
  .campaign-content .eyebrow{margin-bottom:12px}
  .campaign-tagline{font-size:18px}
  .campaign-description{font-size:13px;margin-bottom:16px}
  .campaign-content{padding-bottom:100px}
}

/* On narrow/portrait screens, keep the complete photo above the copy. */
@media(max-width:760px),(max-aspect-ratio:1/1){
  .campaign{display:grid;height:auto;min-height:calc(100svh - var(--header-height) - 40px);max-height:none}
  .campaign-slides{position:relative;display:grid;height:auto}
  .campaign-slide{position:relative;inset:auto;grid-area:1/1;display:grid;grid-template-rows:auto 1fr;height:auto}
  .campaign-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;align-self:start}
  .campaign-shade{inset:0 0 auto;width:100%;height:auto;aspect-ratio:3/2;background:linear-gradient(0deg,#151625,transparent 10%);pointer-events:none}
  .campaign-content{height:auto;padding-top:20px;padding-bottom:100px;justify-content:center}
}
@media(min-width:761px) and (max-aspect-ratio:1/1){
  .campaign-content .eyebrow{font-size:11px;margin-bottom:14px}
  .campaign-content h1,.campaign-content h2{font-size:40px;line-height:1.1;margin-bottom:13px;max-width:100%}
  .campaign-content h1 br,.campaign-content h2 br,.campaign-tagline br{display:none}
  .campaign-tagline{font-size:21px;margin-bottom:12px}
  .campaign-description{font-size:14px;max-width:100%;margin-bottom:20px}
}
