:root{--navy:#071f4e;--blue:#0757f7;--blue2:#0048d8;--green:#00a64b;--yellow:#ffb800;--muted:#65749a;--line:#dde6f4;--bg:#f6f9ff;--shadow:0 18px 55px rgba(7,31,78,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:var(--bg);font-family:"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}svg{width:1.25em;height:1.25em}.container{width:min(1500px,calc(100% - 80px));margin:auto}
::view-transition-old(root){animation:out .2s ease both}::view-transition-new(root){animation:in .38s cubic-bezier(.2,.8,.2,1) both}@keyframes out{to{opacity:0;transform:scale(.994)}}@keyframes in{from{opacity:0;transform:translateY(8px)}}@keyframes rise{from{opacity:0;transform:translateY(16px)}}@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(7,87,247,.08)}}
.logo{display:flex;align-items:center;gap:14px;flex:none}.logo img{width:52px;height:52px;object-fit:cover}.logo>div{display:grid}.logo strong{font-size:20px;letter-spacing:.02em}.logo small{margin-top:4px;font-size:10px;font-weight:800;letter-spacing:.34em}.logo-light{color:white}
.site-header{position:sticky;top:0;z-index:40;height:88px;display:flex;align-items:center;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(221,230,244,.8);backdrop-filter:blur(18px)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.site-header nav{display:flex;gap:40px;margin-left:auto}.site-header a{color:var(--navy);font-weight:700;text-decoration:none}.site-header a:hover{color:var(--blue)}
.button{min-height:52px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:14px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-2px)}.button-primary{color:white;background:linear-gradient(135deg,#116aff,#064bd8);box-shadow:0 12px 28px rgba(7,87,247,.22)}.button-green{color:white;background:linear-gradient(135deg,#08ac4f,#00893d)}.button-light{color:var(--blue);background:white}.button-outline{color:var(--blue);background:white;border:1.5px solid var(--blue)}.full{width:100%}.header-login{border-radius:999px;min-height:50px;padding-inline:24px}.header-login svg{width:18px}
.hero{position:relative;min-height:760px;padding:58px 0 105px;overflow:hidden;background:#f8faff}.hero:after{content:"";position:absolute;z-index:0;left:-5%;right:-5%;bottom:-90px;height:170px;border-radius:50% 50% 0 0;background:var(--navy)}.hero-orbit{position:absolute;border:70px solid #edf3ff;border-radius:50%;pointer-events:none}.orbit-a{width:680px;height:680px;left:-360px;top:-380px}.orbit-b{width:760px;height:760px;right:-400px;top:160px}.hero .container{position:relative;z-index:1}.hero h1{margin:0 0 44px;text-align:center;font-size:clamp(48px,5vw,76px);line-height:1.04;letter-spacing:-.045em}.hero h1 span,.portal-main h1 span{color:var(--blue)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.product-card{overflow:hidden;border-radius:28px;background:white;box-shadow:0 8px 0 #e7edf7,0 20px 55px rgba(7,31,78,.08);transition:transform .28s ease,box-shadow .28s ease}.product-card:hover{transform:translateY(-8px);box-shadow:0 10px 0 #e7edf7,0 30px 70px rgba(7,31,78,.14)}.product-photo{position:relative;height:350px;overflow:hidden}.product-photo>img{width:100%;height:100%;object-fit:cover}.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,14,38,.96) 0%,rgba(1,14,38,.66) 50%,rgba(1,14,38,.08) 100%)}.product-copy{position:absolute;inset:0;padding:28px;color:white}.product-copy>span{display:inline-block;padding:8px 12px;border-radius:7px;background:var(--blue);font-size:11px;font-weight:900}.product-card.green .product-copy>span{background:var(--green)}.product-card.yellow .product-copy>span{color:var(--navy);background:var(--yellow)}.product-copy h2{margin:28px 0 18px;font-size:38px;line-height:1.03}.product-copy h2 b{color:#1680ff}.product-card.yellow .product-copy h2 b{color:var(--yellow)}.product-copy p{max-width:210px;margin:0;font-size:17px;line-height:1.45}.product-benefits{height:86px;padding:18px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#f0f4ff}.green .product-benefits{background:#f0f9f4}.yellow .product-benefits{background:#fff8e9}.product-benefits span{display:flex;align-items:center;gap:8px;color:var(--blue)}.green .product-benefits span{color:var(--green)}.yellow .product-benefits span{color:#e69600}.product-benefits small{color:var(--navy);font-size:12px;line-height:1.3}.product-action{width:calc(100% - 44px);min-height:58px;margin:14px 22px 22px;padding:0 24px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:999px;color:white;background:var(--blue);font-size:18px}.green .product-action{background:var(--green)}.yellow .product-action{color:var(--navy);background:var(--yellow)}.product-action svg{margin-left:auto}
.recommendations{padding:54px 0 64px;color:white;background:var(--navy)}.recommendations h2,.reviews-section h2,.benefits>div>h2{text-align:center;font-size:38px}.recommend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px}.recommend{display:grid;color:white;text-align:center}.thumb{height:166px;border-radius:16px;background-image:url('./assets/recommendations.png');background-repeat:no-repeat;background-size:445% 250%;background-position-y:75.8%;box-shadow:0 14px 32px rgba(0,0,0,.2);transition:transform .25s ease,box-shadow .25s ease}.thumb-0{background-position-x:3.9%}.thumb-1{background-position-x:34.8%}.thumb-2{background-position-x:65.6%}.thumb-3{background-position-x:96.5%}.recommend:hover .thumb{transform:translateY(-3px);box-shadow:0 20px 40px rgba(0,0,0,.26)}.recommend strong{margin-top:14px;font-size:17px}
.reviews-section{padding:55px 0 75px;background:#f8faff}.metrics{display:grid;grid-template-columns:repeat(3,1fr);max-width:1050px;margin:28px auto 38px}.metrics p{display:flex;align-items:baseline;justify-content:center;gap:18px}.metrics strong{color:var(--blue);font-size:25px}.metrics span{color:var(--muted)}.review-carousel{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:16px}.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;transition:opacity .16s ease,transform .16s ease}.review-grid.changing{opacity:0;transform:translateX(12px)}.review-card{min-height:290px;padding:26px;display:flex;flex-direction:column;border:1px solid #edf1f8;border-radius:24px;background:white;box-shadow:0 5px 0 #e9eef7;animation:rise .45s ease both;animation-delay:var(--delay)}.review-head{display:flex;gap:13px;align-items:center}.review-head>span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--blue);font-size:22px}.review-head div{display:grid;gap:4px}.review-head b{color:#ffae00;letter-spacing:1px}.review-card p{font-size:17px;line-height:1.55}.review-card small{margin-top:auto;color:var(--muted)}.round-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--blue);background:white;font-size:26px}.dots{display:flex;justify-content:center;gap:6px;margin-top:26px}.dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:#cbd6e8}.dots button.active{width:26px;background:var(--blue)}
.benefits{padding:70px 0 90px;background:linear-gradient(145deg,#eef4ff,#f9fbff 45%,#eef4ff)}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:52px}.benefit-grid article{padding:28px;border-radius:22px;background:white;box-shadow:var(--shadow)}.benefit-grid article>span{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;color:var(--blue);background:#edf3ff;font-size:25px}.benefit-grid h3{margin:22px 0 8px;font-size:21px}.benefit-grid p{margin:0;color:var(--muted);line-height:1.5}.divider{height:1px;margin:70px 10%;background:var(--line)}.faq{max-width:1120px;margin:auto}.faq h2{text-align:center;font-size:42px;margin:0}.faq-lead{text-align:center;color:var(--muted);font-size:19px}.faq-list{display:grid;gap:12px;margin-top:34px}.faq-list details{padding:0 26px;border:1px solid #edf1f8;border-radius:18px;background:white;box-shadow:0 4px 0 #edf1f8}.faq-list summary{min-height:72px;display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:18px;font-weight:700;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--blue);font-size:25px;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(180deg)}.faq-list details p{margin:0;padding:0 0 25px;color:var(--muted);font-size:16px;line-height:1.65}.cta{padding:90px 0;background:white}.cta-card{padding:58px 70px;display:flex;align-items:center;justify-content:space-between;border-radius:32px;color:white;background:linear-gradient(125deg,#0757f7,#032b82);box-shadow:0 30px 80px rgba(7,87,247,.22)}.cta-card small{font-weight:900;letter-spacing:.15em}.cta-card h2{margin:12px 0;font-size:48px}.cta-card p{margin:0;color:#dce7ff;font-size:18px}footer{padding:40px 0;color:white;background:#061b43}.footer-row{display:flex;align-items:center;justify-content:space-between}.footer-row p{color:#aebdd7;font-size:13px}

.signup{min-height:100vh;display:grid;grid-template-columns:minmax(360px,35%) 1fr;background:white}.signup>aside{position:relative;overflow:hidden;padding:40px 5vw;display:flex;flex-direction:column;justify-content:space-between;color:white;background:linear-gradient(145deg,#0867ff,#0345d0)}.signup>aside:after{content:"";position:absolute;width:430px;height:430px;left:-160px;bottom:-220px;border-radius:50%;background:rgba(255,255,255,.1)}.signup>aside h1{margin:170px 0 14px;font-size:46px;line-height:1.18}.signup>aside p{font-size:18px}.signup ul{display:grid;gap:34px;margin:50px 0;padding:0;list-style:none}.signup li{display:flex;align-items:center;gap:16px;font-size:18px}.signup li svg{width:28px;height:28px}.signup>section{padding:0 6vw 60px;background:linear-gradient(145deg,#fff,#f7faff)}.signup-top{height:96px;display:flex;align-items:center;justify-content:flex-end;gap:32px;border-bottom:1px solid var(--line)}.signup-top button{border:0;color:var(--blue);background:none}.signup form{max-width:820px;margin:60px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:22px}.signup form h2,.signup form>p{grid-column:1/-1;margin:0}.signup form h2{font-size:38px}.signup form>p{margin-top:-14px;color:var(--muted);font-size:17px}.signup label{display:grid;gap:8px;font-weight:700}.signup input{width:100%;height:56px;padding:0 16px;border:1px solid #cfd9e9;border-radius:12px;outline:0;background:white}.signup input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(7,87,247,.09)}.signup .full{grid-column:1/-1}.terms{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;font-weight:400!important}.terms input{width:22px;height:22px}.submit{margin-top:4px}

.app-mode{overflow:hidden}.portal{height:100vh;display:grid;grid-template-columns:232px 1fr;background:var(--bg)}.portal-sidebar{position:relative;overflow:hidden;padding:24px 17px;color:white;background:linear-gradient(150deg,#08306d,#061d49)}.portal-sidebar .logo{margin:0 7px}.portal-sidebar nav{display:grid;gap:7px;margin-top:50px}.portal-sidebar nav button{height:50px;padding:0 15px;display:flex;align-items:center;gap:13px;border:0;border-radius:12px;color:white;background:transparent;text-align:left;font-size:14px}.portal-sidebar nav button.active,.portal-sidebar nav button:hover{background:linear-gradient(135deg,#0965ff,#0753e8)}.portal-sidebar nav svg{width:20px;height:20px}.side-mark{position:absolute;width:280px;height:280px;left:-150px;bottom:-165px;border-radius:50%;background:rgba(71,124,211,.16)}.portal-body{min-width:0;display:grid;grid-template-rows:74px 1fr}.portal-body>header{padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:white}.portal-body>header .logo img{width:42px;height:42px}.portal-body>header .logo strong{font-size:16px}.portal-body>header .logo small{font-size:8px}.user-chip{display:flex;align-items:center;gap:9px;font-size:13px}.user-chip>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--blue)}.user-chip button{margin-left:9px;padding-left:16px;border:0;border-left:1px solid var(--line);color:var(--blue);background:none}.portal-main{position:relative;min-height:0;overflow:auto;padding:34px 29% 42px 42px;background:radial-gradient(circle at 90% 15%,#eaf1ff 0,transparent 30%),#f9fbff}.portal-main>.eyebrow{color:var(--blue);font-size:14px;font-weight:700}.portal-main h1{margin:9px 0 6px;font-size:clamp(32px,3vw,46px);line-height:1.08;letter-spacing:-.03em}.portal-main .lead{margin:0 0 20px;color:#586ca2;font-size:15px}.mascot{position:absolute;z-index:4;right:1.5%;bottom:0;width:25%;max-height:72%;object-fit:contain;object-position:bottom;mix-blend-mode:multiply;pointer-events:none}.analysis-card,.flow-card,.profile-card{position:relative;z-index:2;margin-top:22px;padding:24px;border:1px solid #e1e9f5;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 14px 38px rgba(7,31,78,.08)}.analysis-card{text-align:center}.timer-ring{--progress:10%;width:148px;height:148px;margin:0 auto 20px;padding:8px;border-radius:50%;background:conic-gradient(var(--blue) var(--progress),#dce6f7 0);animation:pulse 1.8s ease-in-out infinite}.timer-ring>div{width:100%;height:100%;display:grid;place-content:center;border-radius:50%;background:white}.timer-ring strong{display:block;color:var(--blue);font-size:34px}.timer-ring span{color:#52689c;font-size:13px}.analysis-card h2{font-size:19px}.analysis-card>p{color:#5d70a0;font-size:14px}.steps{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;align-items:start;margin:28px 0}.steps>span{display:grid;justify-items:center;gap:8px}.steps i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#dce3ef}.steps .done i{color:white;background:var(--blue)}.steps .current i{border:6px solid white;background:var(--blue);box-shadow:0 0 0 3px var(--blue)}.steps em{height:3px;margin-top:16px;background:var(--blue)}.steps em.muted{background:repeating-linear-gradient(90deg,#9cadd0 0 6px,transparent 6px 11px)}.steps b{font-size:12px;font-weight:500}.notice{margin-top:18px;padding:13px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #d6e2fa;border-radius:11px;color:#183b83;background:#f6f9ff;font-size:13px}.notice svg{color:var(--blue)}
.portal-main:has(.proposal-list){padding-right:27%}.available{position:absolute;right:3.5%;top:34px;padding:8px 13px;display:flex;align-items:center;gap:7px;border-radius:999px;color:#058b3d;background:#edf9f1;font-size:13px}.proposal-list{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:24px}.proposal{min-height:224px;padding:15px;display:flex;flex-direction:column;border:1px solid #e0e8f3;border-top:4px solid var(--blue);border-radius:17px;background:white;box-shadow:0 10px 28px rgba(7,31,78,.07);transition:transform .2s ease,box-shadow .2s ease}.proposal:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(7,31,78,.11)}.proposal.green{border-top-color:var(--green)}.proposal-title{display:flex;align-items:center;gap:11px}.proposal-title>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--blue);background:#edf3ff}.proposal.green .proposal-title>span{color:var(--green);background:#eef9f2}.proposal-title small{display:inline-block;padding:3px 7px;border-radius:999px;color:var(--blue);background:#edf3ff;font-size:9px;font-weight:800}.proposal.green .proposal-title small{color:#078f40;background:#eaf8ef}.proposal-title h2{margin:6px 0 0;font-size:15px}.proposal-value{margin-top:16px}.proposal-value p{margin:0 0 4px;color:var(--muted);font-size:11px}.value{display:block;font-size:25px}.installments{display:block;margin-top:4px;color:var(--blue);font-size:11px}.proposal-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.proposal-meta span{display:flex;align-items:center;gap:5px;font-size:10px}.proposal-meta svg{width:14px;color:var(--blue)}.proposal button{width:100%;height:40px;margin-top:auto;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;color:white;background:var(--blue);font-size:11px;font-weight:800}.proposal.green button{background:var(--green)}.proposal button svg{width:14px}.legal{position:relative;z-index:2;margin-top:14px;padding:12px;display:flex;align-items:center;gap:9px;border-radius:11px;color:#5b6f9e;background:#f3f7fd;font-size:12px}.legal svg{color:var(--blue)}
.flow-card{max-width:660px}.portal-main:has(.flow-card) .mascot{right:auto;left:min(730px,calc(100% - 330px));bottom:16px;width:min(25%,330px);max-height:68%}.portal-main:has(.thanks-card) .mascot{left:min(630px,calc(100% - 330px))}.selected-offer{display:flex;align-items:center;gap:18px;padding-bottom:24px;border-bottom:1px solid var(--line)}.selected-offer>svg{width:50px;height:50px;padding:12px;border-radius:16px;color:var(--blue);background:#edf3ff}.selected-offer div{display:grid;gap:5px}.selected-offer small{width:max-content;padding:5px 10px;border-radius:999px;color:var(--blue);background:#edf3ff;font-weight:800}.selected-offer strong{font-size:22px}.selected-offer em{font-style:normal;font-weight:400}.flow-card h2{display:flex;align-items:center;gap:12px;margin:24px 0;font-size:21px}.pix-tabs{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;margin-bottom:18px;border:1px solid #b8c5dc;border-radius:10px}.pix-tabs button{height:48px;border:0;border-right:1px solid #cbd5e6;color:var(--navy);background:white}.pix-tabs button:last-child{border-right:0}.pix-tabs button.active{color:white;background:var(--blue)}.pix-card label{display:grid;gap:8px;font-weight:700}.pix-card input{height:54px;padding:0 16px;border:1px solid #b8c5dc;border-radius:10px;outline:0}.pix-card input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(7,87,247,.1)}.hint{display:flex;align-items:center;gap:9px;color:#6477a3}.hint svg{color:var(--blue)}.centered{text-align:center}.centered h2{justify-content:center}.success-icon{width:68px;height:68px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;color:#07933f;background:#e8f7ee}.success-icon svg{width:34px;height:34px}.pill{display:block;width:max-content;margin:auto;padding:6px 12px;border-radius:999px;color:#078f40;background:#e8f7ee;font-weight:800}.big-value{display:block;font-size:40px}.summary-row,.contract-values{display:grid;grid-template-columns:1fr 1fr;margin:28px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.summary-row span{display:flex;align-items:center;justify-content:center;gap:10px}.summary-row svg{color:var(--green)}.contract-values>div{display:grid;gap:8px}.contract-values>div+div{border-left:1px solid var(--line)}.contract-values strong{font-size:24px}.flow-card ol{padding:20px 20px 20px 50px;border-radius:14px;background:#f0f5ff}.flow-card li{padding:8px;line-height:1.5}.dual-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.success-line{display:flex;align-items:center;gap:8px!important;color:#078f40!important}.payment-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;margin:30px 0}.payment-steps span{display:grid;justify-items:center;gap:8px}.payment-steps span>svg,.payment-steps span>em{width:42px;height:42px;padding:9px;border-radius:50%;color:white;background:var(--green)}.payment-steps span>em{border:8px solid white;background:var(--blue);box-shadow:0 0 0 3px var(--blue)}.payment-steps>i{width:70px;height:3px;margin-top:20px;background:var(--green)}.payment-steps b{font-size:12px}.payment-card>.button{margin-top:25px}.green-text{color:#07933f!important}.thanks-card{max-width:560px}.profile-card{max-width:850px}.profile-avatar{width:76px;height:76px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--blue);font-size:26px}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.data-grid>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:#f9fbff}.data-grid small{display:block;margin-bottom:7px;color:var(--muted)}.profile-actions{display:flex;justify-content:flex-end;gap:12px}
.toast{position:fixed;z-index:100;left:50%;top:22px;transform:translateX(-50%);padding:15px 22px;border-radius:14px;color:white;background:rgba(7,31,78,.96);box-shadow:0 16px 40px rgba(0,0,0,.22)}
/* Card and mascot share one row, so alignment follows content rather than viewport height. */
.portal-main:has(.journey-row){padding:34px 36px 42px 42px}
.journey-row{display:grid;grid-template-columns:minmax(0,660px) minmax(180px,280px);gap:28px;align-items:center;max-width:968px;margin-top:22px}
.journey-row-thanks{grid-template-columns:minmax(0,560px) minmax(180px,280px);max-width:868px}
.journey-row>.flow-card,.journey-row>.analysis-card,.journey-row>.proposal-list{width:100%;min-width:0;margin:0}
.portal-main .journey-row>.mascot{position:static;inset:auto;display:block;width:100%;height:auto;max-height:360px;object-fit:contain;object-position:center;align-self:center}
.journey-row .proposal-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-main:has(.journey-row)>.legal{max-width:660px}
.portal-main:has(.proposal-list)>.available{position:static;width:max-content;margin:14px 0}
.hero-orbit{display:none}
.hero{background:#f8faff url('./assets/ondas.svg') no-repeat right top;background-size:min(65%,900px) auto}
.benefits{background:#f9fbff url('./assets/ondas.svg') no-repeat right top;background-size:750px auto}
.portal-main{background:#f9fbff url('./assets/ondas.svg') no-repeat right top;background-size:min(60%,720px) auto}
@media(max-width:1100px){.journey-row{grid-template-columns:minmax(0,1fr) minmax(150px,23%);gap:20px}.journey-row .proposal-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.journey-row{grid-template-columns:minmax(0,1fr) 150px;gap:16px}.journey-row .proposal-list{grid-template-columns:1fr}}
@media(max-width:700px){.portal-main:has(.journey-row){padding:26px 16px 40px}.journey-row{grid-template-columns:1fr}.portal-main .journey-row>.mascot{width:200px;max-height:240px;justify-self:center}.journey-row .proposal-list{grid-template-columns:1fr}}
@media(max-width:1100px){.container{width:min(100% - 40px,1000px)}.product-grid{grid-template-columns:1fr}.product-photo{height:380px}.recommend-grid,.benefit-grid,.review-grid{grid-template-columns:1fr 1fr}.hero{padding-top:55px}.portal{grid-template-columns:200px 1fr}.portal-main{padding-right:30%}.portal-main:has(.flow-card) .mascot{right:10px;left:auto;width:min(26%,250px)}.portal-main:has(.proposal-list){padding-right:26%}.proposal-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.signup{grid-template-columns:1fr}.signup>aside{display:none}}
@media(max-width:700px){.site-header nav{display:none}.header-login{padding-inline:15px;font-size:13px}.logo strong{font-size:14px}.logo small{font-size:8px}.logo img{width:42px;height:42px}.container{width:calc(100% - 28px)}.hero h1{font-size:42px}.recommend-grid,.benefit-grid,.review-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.review-carousel{grid-template-columns:1fr}.round-button{display:none}.cta-card,.footer-row{align-items:flex-start;flex-direction:column;gap:30px}.signup>section{padding:0 22px}.signup form{grid-template-columns:1fr}.signup form>*{grid-column:1!important}.portal{grid-template-columns:1fr}.portal-sidebar{display:none}.portal-body{grid-template-rows:68px 1fr}.portal-body>header{padding:0 14px}.portal-body>header .logo{display:none}.portal-main,.portal-main:has(.proposal-list){padding:26px 16px 50px}.portal-main h1{font-size:34px}.mascot{display:none}.available{position:static;width:max-content;margin:16px 0}.proposal-list,.data-grid,.dual-actions{grid-template-columns:1fr}.flow-card,.analysis-card{padding:20px}.steps{grid-template-columns:1fr;gap:10px}.steps em{width:3px;height:20px;margin:0 auto}.payment-steps{grid-template-columns:1fr;gap:10px}.payment-steps>i{width:3px;height:22px;margin:auto}.pix-tabs{grid-template-columns:1fr 1fr}}

/* Login */
.login-page form{max-width:620px;margin-top:110px}.login-register{min-height:44px;border:0;color:var(--blue);background:transparent;font-weight:700}
.privacy-header .logo>span,.site-footer .logo>span{display:grid}.privacy-header .logo small,.site-footer .logo small{margin-top:4px;font-size:10px;font-weight:800;letter-spacing:.34em}

/* Banks and complete site footer */
.cta{padding-bottom:52px}.bank-strip{padding:0 0 48px;background:white}.bank-strip h2{text-align:center;font-size:22px}.bank-panel{margin-top:22px;padding:24px 34px;border:1px solid #edf2fa;border-radius:18px;background:white;box-shadow:0 12px 36px rgba(7,31,78,.06)}.bank-panel img{width:100%;max-height:130px;object-fit:contain}.site-footer{padding:46px 0 24px;color:var(--navy);background:#f5f8fe url('./assets/ondas.svg') no-repeat right bottom;background-size:420px auto;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr 1fr 1.2fr;gap:54px}.footer-brand p{max-width:220px;color:var(--muted);line-height:1.6}.footer-grid h3{margin:7px 0 17px;font-size:15px}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:12px}.footer-grid a,.footer-grid span{color:#62749e;font-size:14px;text-decoration:none}.footer-grid a:hover{color:var(--blue)}.footer-bottom{margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#7484a7;font-size:12px}.footer-bottom p{margin:0}

/* The final mascot is intentionally larger while remaining vertically aligned with its card. */
.journey-row-thanks{grid-template-columns:minmax(0,560px) minmax(260px,380px);max-width:968px}.portal-main .journey-row-thanks>.mascot{width:112%;max-height:430px;justify-self:start}

/* Privacy page */
.privacy-page{background:#f7faff}.privacy-header{position:sticky;top:0;z-index:20;padding:17px 0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}.privacy-header .container{display:flex;align-items:center;justify-content:space-between}.privacy-header a{text-decoration:none}.privacy-hero{padding:78px 0 62px;background:#f7faff url('./assets/ondas.svg') no-repeat right top;background-size:min(62%,780px) auto}.privacy-hero small{color:var(--blue);font-weight:900;letter-spacing:.13em}.privacy-hero h1{max-width:720px;margin:12px 0 16px;font-size:clamp(42px,6vw,72px);line-height:1}.privacy-hero p{max-width:720px;color:var(--muted);font-size:18px;line-height:1.65}.privacy-layout{display:grid;grid-template-columns:250px minmax(0,820px);gap:52px;align-items:start;padding-top:46px;padding-bottom:80px}.privacy-nav{position:sticky;top:112px;padding:22px;border:1px solid var(--line);border-radius:18px;background:white}.privacy-nav strong{display:block;margin-bottom:14px;font-size:12px;letter-spacing:.12em}.privacy-nav a{display:block;padding:8px 0;color:#60739d;font-size:13px;text-decoration:none}.privacy-nav a:hover{color:var(--blue)}.privacy-content{display:grid;gap:18px}.privacy-section{padding:28px 30px;border:1px solid #e3eaf6;border-radius:20px;background:white;box-shadow:0 10px 32px rgba(7,31,78,.05)}.privacy-section .number{color:var(--blue);font-size:12px;font-weight:900}.privacy-section h2{margin:8px 0 14px;font-size:25px}.privacy-section p,.privacy-section li{color:#53678f;line-height:1.7}.privacy-section ul{padding-left:22px}.privacy-contact{padding:18px;border-radius:13px;background:#f2f6fe}.privacy-contact a{color:var(--blue)}

@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.privacy-layout{grid-template-columns:1fr}.privacy-nav{position:static}.journey-row-thanks{grid-template-columns:minmax(0,1fr) minmax(180px,28%)}}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;gap:30px}.footer-brand{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.bank-panel{padding:15px}.privacy-hero{padding:52px 0 38px}.privacy-layout{padding-top:28px}.privacy-section{padding:22px}.portal-main .journey-row-thanks>.mascot{width:230px;max-height:290px}}

/* Landing refinement: preserve the incumbent page and replace only the main banner. */
.logo.official{width:255px;height:58px;overflow:hidden}.logo.official img{width:100%;height:100%;object-fit:contain;filter:brightness(0) saturate(100%) invert(12%) sepia(39%) saturate(2100%) hue-rotate(185deg) brightness(84%)}.logo.official.logo-light img{filter:none}.site-footer .logo.official{width:220px}

.hero-carousel{position:relative;min-height:700px;overflow:hidden;background:#edf3ff}.hero-slides{position:relative;min-height:700px}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s ease}.hero-slide.active{opacity:1;visibility:visible}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;pointer-events:none}.copy-right .hero-shade{background:linear-gradient(90deg,transparent 37%,rgba(255,255,255,.18) 52%,rgba(255,255,255,.98) 74%)}.copy-left .hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.9) 33%,rgba(255,255,255,.12) 59%,transparent 75%)}.hero-dark .hero-shade{background:linear-gradient(90deg,transparent 35%,rgba(7,31,78,.15) 52%,rgba(7,87,247,.95) 79%)}.hero-inner{position:relative;z-index:2;min-height:700px;padding-bottom:96px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-content{max-width:550px}.copy-right .hero-content{grid-column:2;justify-self:end}.copy-left .hero-content{grid-column:1}.hero-dark .hero-content{color:white}.hero-product-mark{display:flex;align-items:center;width:122px;height:28px;margin-bottom:24px;overflow:hidden}.hero-product-mark img{width:100%;height:100%;object-fit:contain;object-position:left center}.hero-product-mark.hero-logo-clt{width:145px;height:42px}.hero-logo-clt img{width:145px;height:auto;transform:translateY(-2px)}.hero-content h1{margin:0;font-size:clamp(52px,5vw,82px);line-height:.93;letter-spacing:-.04em}.hero-content h1 span{color:var(--blue)}.hero-dark .hero-content h1 span{color:#bcd5ff}.hero-action{margin-top:30px;min-height:60px;padding-inline:28px;text-decoration:none;font-size:18px}.hero-count{display:flex;align-items:center;gap:16px;margin-top:30px;font-size:14px}.hero-count>span{display:flex;gap:7px}.hero-count i{width:38px;height:5px;border-radius:99px;background:#ccd7e9}.hero-count i.active{background:var(--blue)}.hero-dark .hero-count i{background:rgba(255,255,255,.28)}.hero-dark .hero-count i.active{background:white}.hero-arrow{position:absolute;z-index:6;top:45%;width:52px;height:52px;border:2px solid white;border-radius:50%;color:white;background:rgba(7,31,78,.86);box-shadow:0 12px 30px rgba(7,31,78,.18);font-size:30px;line-height:1}.hero-prev{left:22px}.hero-next{right:22px}.hero-tabs{position:absolute;z-index:5;right:0;bottom:0;left:0;min-height:92px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(12px)}.hero-tabs .container{min-height:92px;display:grid;grid-template-columns:repeat(4,1fr)}.hero-tabs button{position:relative;border:0;border-right:1px solid var(--line);color:var(--navy);background:transparent;font-weight:800}.hero-tabs button:first-child{border-left:1px solid var(--line)}.hero-tabs button:after{content:"";position:absolute;right:15%;bottom:16px;left:15%;height:3px;border-radius:3px;background:var(--line)}.hero-tabs button.active{color:var(--blue);background:#eef4ff}.hero-tabs button.active:after{background:var(--blue)}

.consorcio-teaser{margin-top:24px;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:18px;color:white;background:var(--blue);box-shadow:var(--shadow)}.consorcio-teaser div{display:grid;gap:5px}.consorcio-teaser strong{font-size:19px}.consorcio-teaser span{color:#dce8ff}.consorcio-teaser>b{padding:8px 13px;border-radius:999px;color:var(--blue);background:white;font-size:13px;white-space:nowrap}

.faq-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:34px 0 18px}.faq-tabs button{min-height:58px;padding:10px 16px;border:1px solid #cbd7e8;border-radius:12px;color:var(--navy);background:white;font-weight:800}.faq-tabs button.active{color:white;background:var(--blue);border-color:var(--blue)}.faq-panel{display:none;margin-top:0}.faq-panel.active{display:grid}

.thumb{aspect-ratio:16/9;height:auto;background-size:cover;background-position:center;image-rendering:auto}.thumb-0{background-image:url('./assets/youtube-1.png')}.thumb-1{background-image:url('./assets/youtube-2.png')}.thumb-2{background-image:url('./assets/youtube-3.png')}.thumb-3{background-image:url('./assets/youtube-4.png')}.recommend-grid{align-items:start}.recommend strong{line-height:1.25}

@media(max-width:1080px){.hero-carousel,.hero-slides,.hero-inner{min-height:650px}.hero-inner{grid-template-columns:1fr}.hero-content,.copy-right .hero-content,.copy-left .hero-content{grid-column:1;justify-self:start}.hero-shade,.copy-right .hero-shade,.copy-left .hero-shade,.hero-dark .hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.78) 56%,rgba(255,255,255,.08))}.hero-dark .hero-content{color:var(--navy)}.hero-dark .hero-content h1 span{color:var(--blue)}}

@media(max-width:700px){.logo.official{width:185px;height:48px}.header-login{font-size:0;width:50px;padding:0}.header-login svg{width:20px;height:20px}.hero-carousel,.hero-slides,.hero-inner{min-height:710px}.hero-photo{top:auto;height:48%;object-position:center}.hero-shade,.copy-right .hero-shade,.copy-left .hero-shade,.hero-dark .hero-shade{background:linear-gradient(180deg,#fff 0%,#fff 50%,rgba(255,255,255,.74) 60%,transparent 80%)}.hero-inner{align-items:start;padding-top:44px;padding-bottom:112px}.hero-content h1{font-size:clamp(42px,12vw,60px)}.hero-product-mark{height:23px;margin-bottom:17px}.hero-product-mark.hero-logo-clt{height:34px;width:120px}.hero-action{min-height:54px;margin-top:24px;padding-inline:20px;font-size:15px}.hero-count{margin-top:22px}.hero-count i{width:24px}.hero-arrow{top:68%;width:44px;height:44px}.hero-prev{left:10px}.hero-next{right:10px}.hero-tabs{overflow-x:auto}.hero-tabs .container{width:720px;grid-template-columns:repeat(4,180px)}.hero-tabs button{font-size:13px}.faq-tabs{display:flex;overflow-x:auto;padding-bottom:4px}.faq-tabs button{min-width:190px}.consorcio-teaser{align-items:flex-start;padding:20px;flex-direction:column}.site-footer .logo.official{width:210px}}

@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
/* Refinamento responsivo final do banner principal */
@media (max-width: 720px) {
  .header-row {
    gap: 10px !important;
  }

  .header-login {
    display: inline-flex !important;
    flex: none !important;
    margin-left: auto !important;
  }

  .hero-inner {
    display: block !important;
    padding-top: 34px !important;
  }

  .hero-content {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .hero-content h1 {
    max-width: calc(100vw - 28px) !important;
    font-size: clamp(37px, 10.5vw, 44px) !important;
    line-height: .96 !important;
    letter-spacing: -.035em !important;
  }
}

/* Elevação neutra: mantém profundidade sem criar halo cromático. */
.button-primary {
  box-shadow: 0 12px 28px rgba(3, 18, 48, .16);
}

.cta-card {
  box-shadow: 0 30px 80px rgba(3, 18, 48, .18);
}

/* Banner de produtos: enquadramento e hierarquia definidos por slide. */
.logo.official img {
  filter: brightness(0) saturate(100%) invert(31%) sepia(99%) saturate(3905%) hue-rotate(218deg) brightness(99%) contrast(101%);
}

.site-header .header-login {
  color: #fff;
  background: linear-gradient(135deg, #0aae52, #078f43);
  box-shadow: 0 12px 28px rgba(4, 112, 51, .2);
}

.site-header .header-login:hover,
.site-header .header-login:focus-visible {
  color: #fff;
}

.site-header .header-login:focus-visible,
.hero-action:focus-visible,
.hero-arrow:focus-visible,
.hero-tabs button:focus-visible {
  outline: 3px solid #ffcf4a;
  outline-offset: 3px;
}

.hero-fgts .hero-photo {
  object-position: center top;
}

.hero-clt .hero-photo {
  object-position: center 34%;
}

.hero-inss .hero-photo {
  object-position: center 40%;
}

.hero-bolsa .hero-photo {
  object-position: center top;
}

.hero-fgts .hero-shade {
  background: linear-gradient(90deg, transparent 34%, rgba(255,255,255,.12) 50%, rgba(255,255,255,.98) 73%);
}

.hero-clt .hero-shade {
  background: linear-gradient(90deg, transparent 33%, rgba(7,31,78,.18) 50%, rgba(7,87,247,.96) 77%);
}

.hero-inss .hero-shade,
.hero-bolsa .hero-shade {
  background: linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.92) 34%, rgba(255,255,255,.14) 60%, transparent 76%);
}

.hero-content {
  max-width: 650px;
}

.hero-fgts .hero-content {
  max-width: 620px;
}

.hero-clt .hero-content {
  max-width: 640px;
}

.hero-inss .hero-content,
.hero-bolsa .hero-content {
  max-width: 660px;
}

.hero-fgts .hero-content h1 {
  font-size: clamp(54px, 4.7vw, 76px);
}

.hero-clt .hero-content h1 {
  font-size: clamp(50px, 4.25vw, 68px);
}

.hero-inss .hero-content h1,
.hero-bolsa .hero-content h1 {
  font-size: clamp(48px, 4vw, 64px);
  line-height: .98;
}

.hero-product-mark,
.hero-product-mark.hero-logo-clt {
  width: auto;
  height: 40px;
  max-width: 150px;
  overflow: visible;
}

.hero-product-mark img,
.hero-logo-clt img {
  width: auto;
  height: 100%;
  max-width: 150px;
  object-fit: contain;
  object-position: left center;
  transform: none;
}

.hero-logo-bolsa {
  height: 46px;
}

.copy-right .hero-content {
  margin-right: 84px;
}

.copy-left .hero-content {
  margin-left: 84px;
}

.hero-arrow {
  top: calc((100% - 92px) / 2);
  transform: translateY(-50%);
}

.hero-arrow svg {
  width: 24px;
  height: 24px;
}

.hero-prev svg {
  transform: rotate(180deg);
}

.hero-prev {
  left: max(40px, calc((100vw - 1500px) / 2 + 12px));
}

.hero-next {
  right: max(40px, calc((100vw - 1500px) / 2 + 12px));
}

@media (max-width: 1080px) {
  .hero-fgts .hero-photo {
    object-position: 43% top;
  }

  .hero-clt .hero-photo {
    object-position: 38% 34%;
  }

  .hero-inss .hero-photo,
  .hero-bolsa .hero-photo {
    object-position: 64% top;
  }

  .hero-content,
  .hero-fgts .hero-content,
  .hero-clt .hero-content,
  .hero-inss .hero-content,
  .hero-bolsa .hero-content {
    max-width: 590px;
  }

  .copy-right .hero-content,
  .copy-left .hero-content {
    margin-right: 72px;
    margin-left: 72px;
  }
}

@media (max-width: 700px) {
  .hero-fgts .hero-photo {
    object-position: 38% top;
  }

  .hero-clt .hero-photo {
    object-position: 34% 28%;
  }

  .hero-inss .hero-photo,
  .hero-bolsa .hero-photo {
    object-position: 68% top;
  }

  .hero-product-mark,
  .hero-product-mark.hero-logo-clt {
    width: auto;
    height: 30px;
    max-width: 118px;
  }

  .hero-logo-bolsa {
    height: 32px;
  }

  .copy-right .hero-content,
  .copy-left .hero-content {
    margin-right: 0;
    margin-left: 0;
  }

  .hero-product-mark img,
  .hero-logo-clt img {
    max-width: 118px;
  }

  .hero-arrow {
    top: 68%;
    transform: translateY(-50%);
  }

  .hero-prev {
    left: 14px;
  }

  .hero-next {
    right: 14px;
  }
}

/* Ajustes de outubro: banner sem cortes, navegação suave e superfícies de marca. */
:root {
  --brand-deep: #063b91;
}

::selection {
  color: #fff;
  background: var(--blue);
}

.site-header {
  height: 76px;
}

.site-header nav a[aria-current="page"] {
  color: var(--blue);
}

.hero-carousel,
.hero-slides,
.hero-inner {
  min-height: 700px;
}

.hero-slide {
  background: #f7faff;
}

.hero-clt {
  background: var(--blue);
}

.hero-photo,
.hero-fgts .hero-photo,
.hero-clt .hero-photo,
.hero-inss .hero-photo,
.hero-bolsa .hero-photo {
  object-fit: contain;
  object-position: left center;
}

.hero-inss .hero-photo,
.hero-bolsa .hero-photo {
  object-position: right center;
}

.hero-fgts .hero-shade {
  background: linear-gradient(90deg, transparent 43%, rgba(255,255,255,.22) 58%, #f7faff 78%);
}

.hero-clt .hero-shade {
  background: linear-gradient(90deg, transparent 42%, rgba(7,87,247,.22) 57%, var(--blue) 79%);
}

.hero-inss .hero-shade,
.hero-bolsa .hero-shade {
  background: linear-gradient(90deg, #f7faff 0%, rgba(247,250,255,.94) 28%, rgba(247,250,255,.18) 49%, transparent 65%);
}

.hero-slide.active .hero-photo {
  animation: hero-photo-reveal .72s cubic-bezier(.16,1,.3,1) both;
}

.hero-slide.active .hero-content {
  animation: hero-content-reveal .62s cubic-bezier(.16,1,.3,1) both;
}

.hero-slide.active .hero-count i.active {
  animation: hero-progress 5.5s linear both;
  transform-origin: left center;
}

@keyframes hero-photo-reveal {
  from { opacity: .64; clip-path: inset(0 3% 0 3%); }
  to { opacity: 1; clip-path: inset(0); }
}

@keyframes hero-content-reveal {
  from { opacity: .2; transform: translateY(14px); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes hero-progress {
  from { transform: scaleX(.08); }
  to { transform: scaleX(1); }
}

.hero-tabs {
  right: 0;
  bottom: 18px;
  left: 0;
  min-height: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  backdrop-filter: none;
}

.hero-tabs .container {
  width: min(1120px, calc(100% - 160px));
  min-height: 72px;
  padding: 8px;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  border: 1px solid rgba(210,222,241,.82);
  border-radius: 20px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 50px rgba(3,27,73,.14);
  backdrop-filter: blur(14px);
}

.hero-tabs button,
.hero-tabs button:first-child {
  min-height: 54px;
  padding: 0 16px;
  border: 0;
  border-radius: 14px;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.hero-tabs button:hover {
  color: var(--blue);
  background: #f3f7ff;
}

.hero-tabs button:active {
  transform: scale(.98);
}

.hero-tabs button:after {
  display: none;
}

.hero-tabs button.active {
  color: var(--blue);
  background: #eaf1ff;
}

.recommendations {
  background: var(--brand-deep);
}

.bank-strip .container {
  display: grid;
  justify-items: center;
}

.bank-strip h2 {
  width: 100%;
  margin: 0 0 22px;
  text-align: center;
  line-height: 1.2;
}

.bank-panel {
  width: 100%;
  margin-top: 0;
}

.privacy-header .logo.official {
  width: 250px;
  height: 54px;
}

/* Quem somos */
.about-page {
  background: #f7faff;
}

.about-page .site-header {
  position: sticky;
}

.about-hero {
  overflow: hidden;
  padding: 64px 0 0;
  background: #f7faff;
}

.about-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
  gap: clamp(44px, 6vw, 96px);
  align-items: center;
}

.about-intro h1 {
  max-width: 680px;
  margin: 0;
  font-size: clamp(50px, 5.8vw, 82px);
  line-height: .98;
  letter-spacing: -.04em;
}

.about-intro h1 span {
  color: var(--blue);
}

.about-intro p {
  max-width: 600px;
  margin: 28px 0 32px;
  color: #536a9a;
  font-size: 19px;
  line-height: 1.65;
}

.about-intro .button {
  text-decoration: none;
}

.about-media {
  position: relative;
  min-height: 560px;
}

.about-photo {
  position: absolute;
  overflow: hidden;
  margin: 0;
  border-radius: 28px;
  box-shadow: 0 28px 70px rgba(4,44,109,.16);
}

.about-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-photo-main {
  inset: 0 11% 7% 0;
}

.about-photo-main img {
  object-position: 27% center;
}

.about-photo-side {
  right: 0;
  bottom: 0;
  width: 43%;
  height: 43%;
  border: 8px solid #f7faff;
  border-radius: 24px;
}

.about-photo-side img {
  object-position: 73% center;
}

.about-story {
  padding: 92px 0;
  background: #fff;
}

.about-story-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(54px, 8vw, 130px);
  align-items: start;
}

.about-story h2,
.about-principles h2,
.about-cta h2 {
  margin: 0;
  font-size: clamp(38px, 4.2vw, 60px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.about-story-copy {
  max-width: 700px;
}

.about-story-copy p {
  margin: 0 0 22px;
  color: #465b86;
  font-size: 18px;
  line-height: 1.72;
}

.about-principles {
  padding: 88px 0 98px;
}

.about-principles h2 {
  max-width: 720px;
}

.principles-list {
  margin-top: 54px;
  border-top: 1px solid var(--line);
}

.principles-list article {
  padding: 28px 0;
  display: grid;
  grid-template-columns: minmax(180px, .35fr) 1fr;
  gap: 36px;
  align-items: baseline;
  border-bottom: 1px solid var(--line);
}

.principles-list strong {
  color: var(--blue);
  font-size: 24px;
}

.principles-list p {
  max-width: 650px;
  margin: 0;
  color: #465b86;
  font-size: 17px;
  line-height: 1.6;
}

.about-cta {
  padding: 0 0 80px;
}

.about-cta-inner {
  padding: 54px 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 44px;
  color: #fff;
  border-radius: 28px;
  background: linear-gradient(125deg, var(--blue), var(--brand-deep));
  box-shadow: 0 26px 70px rgba(0,0,0,.16);
}

.about-cta h2 {
  font-size: clamp(34px, 3.5vw, 52px);
}

.about-cta p {
  margin: 14px 0 0;
  color: #dbe7ff;
  font-size: 18px;
}

.about-cta .button {
  flex: none;
  text-decoration: none;
}

@media (max-width: 1080px) {
  .hero-photo,
  .hero-fgts .hero-photo,
  .hero-clt .hero-photo {
    object-position: left center;
  }

  .hero-inss .hero-photo,
  .hero-bolsa .hero-photo {
    object-position: right center;
  }

  .about-hero-grid {
    grid-template-columns: 1fr;
  }

  .about-intro {
    max-width: 760px;
  }

  .about-media {
    min-height: 520px;
  }
}

@media (max-width: 700px) {
  .site-header {
    height: 72px;
  }

  .hero-carousel,
  .hero-slides,
  .hero-inner {
    min-height: 710px;
  }

  .hero-slide .hero-photo,
  .hero-fgts .hero-photo,
  .hero-clt .hero-photo,
  .hero-inss .hero-photo,
  .hero-bolsa .hero-photo {
    top: auto;
    bottom: 92px;
    width: 100%;
    height: 43%;
    object-fit: contain;
    object-position: center bottom;
  }

  .hero-tabs {
    bottom: 10px;
    padding: 0 14px 4px;
    overflow-x: auto;
  }

  .hero-tabs .container {
    width: max-content;
    min-width: 100%;
    min-height: 64px;
    padding: 6px;
    grid-template-columns: repeat(4, minmax(155px, 1fr));
    gap: 5px;
    border-radius: 18px;
  }

  .hero-tabs button,
  .hero-tabs button:first-child {
    min-height: 52px;
    padding: 0 14px;
    border-radius: 12px;
    font-size: 13px;
  }

  .about-page .site-header nav {
    display: none;
  }

  .about-hero {
    padding: 42px 0 0;
  }

  .about-hero-grid {
    gap: 40px;
  }

  .about-intro h1 {
    font-size: clamp(42px, 13vw, 58px);
  }

  .about-intro p {
    margin: 22px 0 26px;
    font-size: 17px;
  }

  .about-media {
    min-height: 350px;
  }

  .about-photo-main {
    right: 7%;
  }

  .about-photo-side {
    width: 46%;
    height: 42%;
    border-width: 5px;
  }

  .about-story,
  .about-principles {
    padding: 62px 0;
  }

  .about-story-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .about-story-copy p {
    font-size: 17px;
  }

  .principles-list {
    margin-top: 36px;
  }

  .principles-list article {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .about-cta {
    padding-bottom: 54px;
  }

  .about-cta-inner {
    padding: 34px 26px;
    align-items: flex-start;
    flex-direction: column;
    border-radius: 22px;
  }

  .privacy-header .logo.official {
    width: 185px;
    height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide.active .hero-photo,
  .hero-slide.active .hero-content,
  .hero-slide.active .hero-count i.active {
    animation: none;
  }
}

/* Contraste e acabamento institucional */
.button-green,
.site-header .header-login {
  color: #fff;
  background: #07813b;
}

.button-green:hover,
.button-green:focus-visible,
.site-header .header-login:hover,
.site-header .header-login:focus-visible {
  color: #fff;
  background: #056d31;
}

.about-intro p,
.about-page .site-footer p,
.about-page .site-footer a,
.about-page .site-footer span {
  color: #465b86;
}

.about-story {
  padding-inline: 20px;
}

/* Narrativas fotográficas do banner */
.hero-visual {
  position: absolute;
  z-index: 1;
  top: 64px;
  width: min(45vw, 720px);
  height: 520px;
  pointer-events: none;
}

.copy-right .hero-visual {
  left: max(84px, calc((100vw - 1500px) / 2 + 84px));
}

.copy-left .hero-visual {
  right: max(84px, calc((100vw - 1500px) / 2 + 84px));
}

.hero-clt {
  background: #f7faff;
}

.hero-clt .hero-shade {
  background: linear-gradient(90deg, transparent 43%, rgba(255,255,255,.2) 58%, #f7faff 78%);
}

.hero-frame {
  --frame-delay: 0s;
  position: absolute;
  overflow: hidden;
  margin: 0;
  aspect-ratio: 3 / 2;
  border-radius: 24px;
  background: #e7eef9;
  box-shadow: 0 24px 58px rgba(3, 27, 73, .18);
}

.hero-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1.01);
}

.hero-frame-1 {
  top: 18px;
  width: 76%;
}

.copy-right .hero-frame-1 {
  left: 0;
}

.copy-left .hero-frame-1 {
  right: 0;
}

.hero-frame-2 {
  --frame-delay: .12s;
  bottom: 4px;
  width: 39%;
  border: 7px solid #f7faff;
  border-radius: 20px;
}

.copy-right .hero-frame-2 {
  right: 0;
}

.copy-left .hero-frame-2 {
  left: 0;
}

.hero-visual-3 .hero-frame-1 {
  top: 42px;
  width: 70%;
}

.hero-visual-3 .hero-frame-2 {
  top: 0;
  bottom: auto;
  width: 34%;
}

.hero-frame-3 {
  --frame-delay: .24s;
  bottom: 0;
  width: 42%;
  border: 7px solid #f7faff;
  border-radius: 20px;
}

.copy-right .hero-frame-3 {
  right: 2%;
}

.copy-left .hero-frame-3 {
  left: 2%;
}

.hero-dark .hero-frame-2,
.hero-dark .hero-frame-3 {
  border-color: var(--blue);
}

.hero-slide.active .hero-frame {
  animation:
    hero-frame-enter .72s var(--frame-delay) cubic-bezier(.16, 1, .3, 1) both,
    hero-frame-float 5.8s calc(.8s + var(--frame-delay)) ease-in-out infinite alternate;
}

.hero-slide.active .hero-frame img {
  animation: hero-image-drift 6.8s calc(.8s + var(--frame-delay)) ease-in-out infinite alternate;
}

.hero-slide.active .hero-frame:nth-child(even) img {
  animation-direction: alternate-reverse;
  animation-duration: 7.6s;
}

@keyframes hero-frame-enter {
  from {
    opacity: .2;
    clip-path: inset(8% 8% 8% 8% round 24px);
  }
  to {
    opacity: 1;
    clip-path: inset(0 round 24px);
  }
}

@keyframes hero-image-drift {
  from { transform: scale(1.015) translate3d(-.45%, -.2%, 0); }
  to { transform: scale(1.045) translate3d(.65%, .35%, 0); }
}

@keyframes hero-frame-float {
  from { transform: translate3d(-2px, 2px, 0) rotate(-.12deg); }
  to { transform: translate3d(4px, -5px, 0) rotate(.16deg); }
}

/* Diretoria exclusiva da página Quem Somos */
.about-directors {
  display: flex;
  align-items: stretch;
  justify-content: center;
  overflow: visible;
  margin: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}

.about-directors::before {
  content: "NOVO";
  position: absolute;
  z-index: 0;
  top: 8%;
  left: 1%;
  color: rgba(7, 87, 247, .07);
  font-size: clamp(120px, 15vw, 250px);
  font-weight: 900;
  line-height: .8;
  letter-spacing: -.04em;
}

.about-directors img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

@media (max-width: 1080px) {
  .hero-carousel,
  .hero-slides,
  .hero-inner {
    min-height: 800px;
  }

  .hero-inner {
    align-items: start;
    padding-top: 36px;
  }

  .hero-visual,
  .copy-right .hero-visual,
  .copy-left .hero-visual {
    top: auto;
    right: 50px;
    bottom: 94px;
    left: 50px;
    width: auto;
    height: 390px;
  }

  .hero-frame-1 {
    width: 67%;
  }

  .hero-visual-3 .hero-frame-1 {
    width: 62%;
  }

  .hero-frame-2 {
    width: 36%;
  }

  .hero-frame-3 {
    width: 38%;
  }
}

@media (max-width: 700px) {
  .hero-carousel,
  .hero-slides,
  .hero-inner {
    min-height: 760px;
  }

  .hero-visual,
  .copy-right .hero-visual,
  .copy-left .hero-visual {
    right: 14px;
    bottom: 88px;
    left: 14px;
    height: 270px;
  }

  .hero-frame {
    border-radius: 16px;
  }

  .hero-frame-1,
  .hero-visual-3 .hero-frame-1 {
    top: 26px;
    width: 68%;
  }

  .hero-frame-2,
  .hero-visual-3 .hero-frame-2 {
    top: 0;
    bottom: auto;
    width: 35%;
    border-width: 4px;
    border-radius: 14px;
  }

  .hero-frame-3 {
    width: 39%;
    border-width: 4px;
    border-radius: 14px;
  }

  .about-directors {
    min-height: 410px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide.active .hero-frame,
  .hero-slide.active .hero-frame img {
    animation: none;
  }
}

/* Composições próprias por produto — imagens maiores sem cortar pessoas */
.hero-product-mark,
.hero-product-mark img {
  background: transparent;
}

.hero-visual {
  top: 40px;
  width: min(49vw, 800px);
  height: 560px;
}

.hero-frame {
  aspect-ratio: 16 / 9;
}

@media (min-width: 1081px) {
  .hero-fgts .hero-visual {
    left: max(36px, calc((100vw - 1500px) / 2 - 52px));
    right: 46%;
    width: auto;
  }

  .hero-fgts .hero-frame-1 {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 86%;
  }

  .hero-fgts .hero-frame-2 {
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    width: 49%;
  }

  .hero-clt .hero-visual {
    left: max(28px, calc((100vw - 1500px) / 2 - 110px));
    right: 46%;
    width: auto;
  }

  .hero-clt .hero-frame-1 {
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    width: 88%;
  }

  .hero-clt .hero-frame-2 {
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    width: 42%;
  }

  .hero-inss .hero-visual,
  .hero-bolsa .hero-visual {
    right: max(24px, calc((100vw - 1500px) / 2 - 56px));
  }

  .hero-inss .hero-frame-1 {
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    width: 79%;
  }

  .hero-inss .hero-frame-2 {
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    width: 55%;
  }

  .hero-bolsa .hero-frame-1 {
    top: 54px;
    right: 0;
    bottom: auto;
    left: auto;
    width: 80%;
  }

  .hero-bolsa .hero-frame-2 {
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    width: 53%;
  }
}

@media (max-width: 1080px) {
  .hero-visual,
  .copy-right .hero-visual,
  .copy-left .hero-visual {
    height: 430px;
  }

  .hero-fgts .hero-frame-1,
  .hero-inss .hero-frame-1 {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 73%;
  }

  .hero-fgts .hero-frame-2,
  .hero-inss .hero-frame-2 {
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    width: 45%;
  }

  .hero-clt .hero-frame-1,
  .hero-bolsa .hero-frame-1 {
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    width: 73%;
  }

  .hero-clt .hero-frame-2,
  .hero-bolsa .hero-frame-2 {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 45%;
  }
}

@media (max-width: 700px) {
  .hero-visual,
  .copy-right .hero-visual,
  .copy-left .hero-visual {
    height: 300px;
  }

  .hero-fgts .hero-frame-1,
  .hero-inss .hero-frame-1,
  .hero-clt .hero-frame-1,
  .hero-bolsa .hero-frame-1 {
    width: 76%;
  }

  .hero-fgts .hero-frame-2,
  .hero-inss .hero-frame-2,
  .hero-clt .hero-frame-2,
  .hero-bolsa .hero-frame-2 {
    width: 48%;
  }
}

/* Controles laterais discretos: revelados por intenção no desktop */
.hero-arrow {
  width: 46px;
  height: 46px;
  border-width: 1px;
  background: rgba(7, 31, 78, .58);
  box-shadow: 0 8px 22px rgba(7, 31, 78, .14);
  opacity: 0;
  transform: scale(.88);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease, background-color .22s ease;
}

.hero-carousel:hover .hero-arrow {
  opacity: .48;
  transform: scale(1);
  pointer-events: auto;
}

.hero-carousel .hero-arrow:hover,
.hero-carousel .hero-arrow:focus-visible {
  opacity: .92;
  background: rgba(7, 31, 78, .88);
}

@media (hover: none), (pointer: coarse) {
  .hero-arrow {
    opacity: .28;
    transform: scale(.92);
    pointer-events: auto;
  }
}

/* Recomendações: miniaturas locais que abrem o player real sem sair da página */
.recommend-player {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  background: #041638;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .2);
}

.recommend-player .thumb,
.recommend-player iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.recommend-player .thumb {
  position: relative;
  display: block;
  padding: 0;
  border-radius: 0;
  background-image: none;
  box-shadow: none;
}

.recommend-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.recommend-player iframe {
  display: block;
}

.recommend-play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 58px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: rgba(7, 31, 78, .86);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .26);
  opacity: .9;
  transform: translate(-50%, -50%);
  transition: background-color .2s ease, transform .2s ease;
}

.recommend-play svg {
  width: 25px;
  height: 25px;
  transform: translateX(1px);
}

.recommend-player .thumb:hover .recommend-play,
.recommend-player .thumb:focus-visible .recommend-play {
  background: #0757f7;
  transform: translate(-50%, -50%) scale(1.06);
}

.recommend-player .thumb:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -5px;
}

.recommend:hover .recommend-player {
  box-shadow: 0 20px 40px rgba(0, 0, 0, .26);
}

@media (prefers-reduced-motion: reduce) {
  .recommend-play {
    transition: none;
  }
}

/* Benefícios com linguagem tonal própria, distintos dos depoimentos elevados */
.benefits {
  background-color: #edf3fc;
}

.benefit-grid article {
  border: 0;
  box-shadow: none;
}

.benefit-grid article:nth-child(1) {
  background: #e4eeff;
}

.benefit-grid article:nth-child(2) {
  background: #e5f4ee;
}

.benefit-grid article:nth-child(3) {
  background: #e8effc;
}

.benefit-grid article:nth-child(4) {
  background: #f1f5fc;
}

.benefit-grid article > span {
  background: rgba(255, 255, 255, .72);
}

/* Página de produtos: comparação objetiva com composições distintas por público */
.products-page{background:#f3f6fc}.products-page .site-header a[aria-current="page"]{color:var(--blue)}.products-page .footer-brand p,.products-page .footer-grid a,.products-page .footer-grid span,.products-page .footer-bottom{color:#50658f}
.products-page .header-row{justify-content:flex-start}.products-page .site-header nav{margin-left:auto}.whatsapp-float{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:35;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:#079447;box-shadow:0 14px 34px rgba(7,31,78,.24);transition:transform .22s cubic-bezier(.16,1,.3,1),background-color .22s ease,box-shadow .22s ease}.whatsapp-float img{width:31px;height:31px}.whatsapp-float:hover{transform:translateY(-3px) scale(1.04);background:#087f3f;box-shadow:0 18px 38px rgba(7,31,78,.28)}.whatsapp-float:active{transform:translateY(0) scale(.97)}.whatsapp-float:focus-visible{outline:3px solid #0757f7;outline-offset:4px}
.products-intro{padding:84px 0 62px;background:#fff}.products-intro-inner{max-width:980px;padding-inline:18px;text-align:center}.products-intro h1{max-width:920px;margin:0 auto;font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.045em}.products-intro p{max-width:770px;margin:26px auto 0;color:#536a98;font-size:20px;line-height:1.6}
.products-catalog{padding:34px 0 100px}.products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.catalog-product{min-height:610px;display:grid;overflow:hidden;border:1px solid rgba(203,216,236,.7);border-radius:20px;box-shadow:0 24px 60px rgba(7,31,78,.08);scroll-margin-top:110px}.catalog-product-vertical{grid-template-rows:260px 1fr}.catalog-product-image-bottom{grid-template-rows:1fr 260px}.catalog-product-image-bottom .catalog-product-media{grid-row:2}.catalog-product-image-bottom .catalog-product-copy{grid-row:1}.catalog-product-split{grid-template-columns:minmax(235px,.9fr) minmax(0,1.1fr)}.catalog-product-reverse .catalog-product-media{grid-column:2;grid-row:1}.catalog-product-reverse .catalog-product-copy{grid-column:1;grid-row:1}.catalog-product-media{overflow:hidden;margin:0}.catalog-product-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.catalog-product:hover .catalog-product-media img{transform:scale(1.025)}
.product-fgts{background:#edf4ff}.product-fgts .catalog-product-media img{object-position:center top}.product-clt{background:#eaf5ef}.product-clt .catalog-product-media img{object-position:left center}.product-inss{background:#f5f1e7}.product-bolsa{background:#eaf0fb}.catalog-product-copy{min-width:0;padding:34px;display:flex;flex-direction:column;align-items:flex-start}.catalog-product-logo{width:auto;height:36px;margin-bottom:22px;object-fit:contain;object-position:left center}.catalog-product-logo.logo-clt{height:46px;max-width:170px}.catalog-product-logo.logo-bolsa{height:45px;max-width:135px}.catalog-product h2{margin:0;font-size:clamp(30px,3vw,43px);line-height:1.04;letter-spacing:-.035em}.catalog-product-copy>p{margin:18px 0;color:#4f648f;font-size:17px;line-height:1.55}.catalog-product ul{margin:0 0 26px;padding:0;display:grid;gap:10px;list-style:none;color:#233b6c;font-size:15px;line-height:1.4}.catalog-product li{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start}.catalog-product li span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-size:12px;font-weight:900}.product-clt li span,.product-bolsa li span{background:#078b40}.catalog-product-action{width:100%;margin-top:auto;text-decoration:none}.catalog-product-action svg{margin-left:auto}
@media(max-width:1180px){.products-grid{grid-template-columns:1fr}.catalog-product{min-height:500px}.catalog-product-vertical,.catalog-product-image-bottom,.catalog-product-split{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);grid-template-rows:1fr}.catalog-product-image-bottom .catalog-product-media,.catalog-product-reverse .catalog-product-media{grid-column:2;grid-row:1}.catalog-product-image-bottom .catalog-product-copy,.catalog-product-reverse .catalog-product-copy{grid-column:1;grid-row:1}}
@media(max-width:700px){.products-page .site-header nav{display:none}.products-page .header-row{justify-content:flex-start}.whatsapp-float{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:56px;height:56px}.whatsapp-float img{width:29px;height:29px}.products-intro{padding:52px 0 38px}.products-intro h1{font-size:clamp(42px,13vw,58px)}.products-intro p{font-size:17px}.products-catalog{padding:18px 0 70px}.products-grid{gap:18px}.catalog-product,.catalog-product-vertical,.catalog-product-image-bottom,.catalog-product-split{min-height:0;grid-template-columns:1fr;grid-template-rows:230px auto;border-radius:16px}.catalog-product-media,.catalog-product-image-bottom .catalog-product-media,.catalog-product-reverse .catalog-product-media{grid-column:1;grid-row:1}.catalog-product-copy,.catalog-product-image-bottom .catalog-product-copy,.catalog-product-reverse .catalog-product-copy{grid-column:1;grid-row:2;padding:26px 22px}.product-clt .catalog-product-media img{object-position:center}.catalog-product h2{font-size:34px}.catalog-product-action{min-height:56px;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.catalog-product-media img,.whatsapp-float{transition:none}.catalog-product:hover .catalog-product-media img{transform:none}}
@media print{.whatsapp-float{display:none}}

/* Mobile rebuild 2026-10: experiência própria sem alterar a composição desktop. */
.mobile-menu,
.privacy-nav-mobile {
  display: none;
}

@media (max-width: 900px) {
  html {
    scroll-padding-top: 76px;
  }

  body {
    overflow-x: clip;
  }

  .container {
    width: min(100% - 32px, 680px);
  }

  .site-header,
  .privacy-header {
    height: 68px;
    padding: 0;
    background: rgba(255, 255, 255, .97);
  }

  .header-row,
  .privacy-header .container {
    position: relative;
    height: 68px;
    gap: 12px !important;
  }

  .site-header .logo.official,
  .privacy-header .logo.official {
    width: 164px;
    height: 42px;
    flex: none;
  }

  .site-header > .header-row > nav,
  .privacy-header .button-primary {
    display: none;
  }

  .mobile-menu {
    position: relative;
    z-index: 70;
    display: block;
    margin-left: auto;
  }

  .mobile-menu summary {
    position: relative;
    width: 46px;
    height: 46px;
    padding: 0;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 5px;
    list-style: none;
    border: 1px solid #dce5f3;
    border-radius: 14px;
    color: var(--navy);
    background: #f7faff;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-menu summary::-webkit-details-marker {
    display: none;
  }

  .mobile-menu summary span {
    width: 20px;
    height: 2px;
    border-radius: 3px;
    background: currentColor;
    transition: transform .2s ease, opacity .2s ease;
  }

  .mobile-menu[open] summary {
    color: #fff;
    border-color: var(--blue);
    background: var(--blue);
  }

  .mobile-menu[open] summary span {
    opacity: 0;
  }

  .mobile-menu[open] summary::before,
  .mobile-menu[open] summary::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 2px;
    border-radius: 3px;
    background: #fff;
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .mobile-menu[open] summary::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .mobile-menu nav {
    position: absolute;
    top: 54px;
    right: 0;
    width: min(310px, calc(100vw - 32px));
    padding: 8px;
    display: grid !important;
    gap: 3px;
    border: 1px solid #dce5f3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 22px 54px rgba(7, 31, 78, .18);
  }

  .mobile-menu nav a {
    min-height: 50px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    border-radius: 12px;
    color: var(--navy);
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
  }

  .mobile-menu nav a[aria-current="page"] {
    color: var(--blue);
    background: #edf3ff;
  }

  /* Início: conteúdo e fotografia convivem sem o grande vazio da versão anterior. */
  .hero-carousel,
  .hero-slides {
    min-height: 670px !important;
    height: 670px;
  }

  .hero-inner {
    min-height: 0 !important;
    height: auto;
    padding: 26px 0 82px !important;
    display: block !important;
  }

  .hero-slide,
  .hero-fgts,
  .hero-clt,
  .hero-inss,
  .hero-bolsa {
    background: #f7faff;
  }

  .hero-shade {
    display: none;
  }

  .hero-content,
  .copy-right .hero-content,
  .copy-left .hero-content {
    width: 100%;
    max-width: 540px !important;
    justify-self: start;
    color: var(--navy);
  }

  .hero-product-mark {
    width: 104px;
    height: 24px;
    margin-bottom: 14px;
  }

  .hero-product-mark.hero-logo-clt {
    width: 132px;
    height: 37px;
    margin-bottom: 10px;
  }

  .hero-content h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10.5vw, 46px) !important;
    line-height: .96 !important;
    letter-spacing: -.04em !important;
  }

  .hero-content h1 span,
  .hero-dark .hero-content h1 span {
    color: var(--blue);
  }

  .hero-action {
    width: fit-content;
    min-height: 52px;
    margin-top: 20px;
    padding-inline: 20px;
    font-size: 15px;
  }

  .hero-count {
    gap: 12px;
    margin-top: 18px;
    font-size: 12px;
  }

  .hero-count i {
    width: 23px;
    height: 4px;
  }

  .hero-visual,
  .copy-right .hero-visual,
  .copy-left .hero-visual {
    top: 300px;
    right: 16px;
    bottom: auto;
    left: 16px;
    width: auto;
    height: 278px;
  }

  .hero-frame {
    aspect-ratio: 3 / 2;
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(3, 27, 73, .16);
  }

  .hero-frame img {
    object-fit: cover;
  }

  .hero-fgts .hero-frame-1,
  .hero-inss .hero-frame-1,
  .hero-clt .hero-frame-1,
  .hero-bolsa .hero-frame-1 {
    width: 84%;
  }

  .hero-fgts .hero-frame-2,
  .hero-inss .hero-frame-2,
  .hero-clt .hero-frame-2,
  .hero-bolsa .hero-frame-2 {
    width: 50%;
    border-width: 4px;
    border-radius: 14px;
  }

  .hero-fgts .hero-frame-1 { inset: 0 auto auto 0; }
  .hero-fgts .hero-frame-2 { inset: auto 0 0 auto; }
  .hero-clt .hero-frame-1 { inset: auto 0 0 auto; }
  .hero-clt .hero-frame-2 { inset: 0 auto auto 0; }
  .hero-inss .hero-frame-1 { inset: 0 0 auto auto; }
  .hero-inss .hero-frame-2 { inset: auto auto 0 0; }
  .hero-bolsa .hero-frame-1 { inset: 22px 0 auto auto; }
  .hero-bolsa .hero-frame-2 { inset: auto auto 0 0; }

  .hero-arrow {
    top: 432px;
    width: 42px;
    height: 42px;
    opacity: .18;
    transform: none;
    pointer-events: auto;
  }

  .hero-prev { left: 8px; }
  .hero-next { right: 8px; }

  .hero-tabs {
    right: 0;
    bottom: 8px;
    left: 0;
    padding: 0 16px 4px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .hero-tabs::-webkit-scrollbar,
  .recommend-grid::-webkit-scrollbar,
  .faq-tabs::-webkit-scrollbar {
    display: none;
  }

  .hero-tabs .container {
    width: max-content;
    min-width: 100%;
    min-height: 58px;
    padding: 5px;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 4px;
    border-radius: 16px;
  }

  .hero-tabs button,
  .hero-tabs button:first-child {
    min-height: 46px;
    padding: 0 12px;
    border-radius: 11px;
    font-size: 12px;
  }

  .recommendations,
  .reviews-section,
  .benefits,
  .cta {
    padding-block: 52px;
  }

  .recommendations h2,
  .reviews-section h2,
  .benefits > div > h2,
  .faq h2 {
    margin: 0;
    text-align: left;
    font-size: clamp(29px, 8vw, 36px);
    line-height: 1.05;
  }

  .recommend-grid {
    margin: 28px -16px 0;
    padding: 0 16px 18px;
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
  }

  .recommend {
    min-width: min(82vw, 340px);
    scroll-snap-align: start;
  }

  .recommend strong {
    margin-top: 11px;
    font-size: 15px;
  }

  .metrics {
    margin: 26px 0 30px;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .metrics p {
    margin: 0;
    display: grid;
    justify-items: start;
    gap: 2px;
  }

  .metrics strong {
    font-size: clamp(18px, 5.5vw, 23px);
  }

  .metrics span {
    font-size: 12px;
    line-height: 1.25;
  }

  .review-carousel {
    display: block;
  }

  .review-grid {
    display: block;
  }

  .review-card {
    min-height: 240px;
    padding: 24px;
    border-radius: 18px;
  }

  .review-card:not(:first-child) {
    display: none;
  }

  .review-card p {
    font-size: 16px;
  }

  .benefit-grid {
    margin-top: 30px;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .benefit-grid article {
    padding: 22px;
    border-radius: 16px;
  }

  .benefit-grid article > span {
    width: 46px;
    height: 46px;
  }

  .benefit-grid h3 {
    margin: 18px 0 7px;
    font-size: 19px;
  }

  .divider {
    margin: 48px 0;
  }

  .faq-lead {
    margin-top: 10px;
    text-align: left;
    font-size: 16px;
  }

  .faq-tabs {
    margin: 24px -16px 14px;
    padding: 0 16px 6px;
    gap: 8px;
    overflow-x: auto;
  }

  .faq-tabs button {
    min-width: 168px;
    min-height: 50px;
    font-size: 13px;
  }

  .faq-list {
    gap: 9px;
  }

  .faq-list details {
    padding: 0 18px;
    border-radius: 14px;
  }

  .faq-list summary {
    min-height: 64px;
    gap: 16px;
    font-size: 16px;
  }

  .cta-card {
    padding: 32px 24px;
    gap: 26px;
    border-radius: 20px;
  }

  .cta-card h2 {
    margin: 10px 0;
    font-size: clamp(34px, 9vw, 42px);
    line-height: 1;
  }

  .cta-card .button {
    width: 100%;
  }

  .bank-strip {
    padding-bottom: 42px;
  }

  .bank-panel {
    padding: 12px;
  }

  .site-footer {
    padding: 42px 0 24px;
    background-size: 300px auto;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px 22px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-grid > div:last-child {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    margin-top: 30px;
  }

  .whatsapp-float {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    width: 54px;
    height: 54px;
  }

  /* Produtos: entrada curta e catálogo legível já na primeira rolagem. */
  .products-intro {
    padding: 38px 0 28px;
  }

  .products-intro-inner {
    padding-inline: 0;
    text-align: left;
  }

  .products-intro h1 {
    font-size: clamp(38px, 10.5vw, 52px);
    line-height: .98;
  }

  .products-intro p {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.55;
  }

  .products-catalog {
    padding: 12px 0 64px;
  }

  .products-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .catalog-product,
  .catalog-product-vertical,
  .catalog-product-image-bottom,
  .catalog-product-split {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: 215px auto;
    border-radius: 18px;
  }

  .catalog-product-media,
  .catalog-product-image-bottom .catalog-product-media,
  .catalog-product-reverse .catalog-product-media {
    grid-column: 1;
    grid-row: 1;
  }

  .catalog-product-copy,
  .catalog-product-image-bottom .catalog-product-copy,
  .catalog-product-reverse .catalog-product-copy {
    grid-column: 1;
    grid-row: 2;
    padding: 24px 20px;
  }

  .catalog-product-logo {
    height: 31px;
    margin-bottom: 18px;
  }

  .catalog-product-logo.logo-clt {
    height: 42px;
  }

  .catalog-product h2 {
    font-size: clamp(29px, 8vw, 36px);
  }

  .catalog-product-copy > p {
    margin: 14px 0;
    font-size: 16px;
  }

  .catalog-product ul {
    margin-bottom: 22px;
  }

  .catalog-product-action {
    min-height: 54px;
    padding-inline: 17px;
    font-size: 15px;
  }

  /* Quem somos: narrativa primeiro, diretoria inteira e sem faixa vazia. */
  .about-hero {
    padding: 34px 0 0;
  }

  .about-hero-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .about-intro h1 {
    font-size: clamp(39px, 10.8vw, 52px);
  }

  .about-intro p {
    margin: 18px 0 22px;
    font-size: 16px;
    line-height: 1.55;
  }

  .about-intro .button {
    width: 100%;
  }

  .about-media,
  .about-directors {
    min-height: 330px;
    height: 330px;
  }

  .about-directors::before {
    top: 14%;
    font-size: 108px;
  }

  .about-story,
  .about-principles {
    padding: 54px 0;
  }

  .about-story-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .about-story h2,
  .about-principles h2,
  .about-cta h2 {
    font-size: clamp(32px, 8.7vw, 42px);
  }

  .about-story-copy p {
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.65;
  }

  .principles-list {
    margin-top: 30px;
  }

  .principles-list article {
    padding: 22px 0;
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .principles-list strong {
    font-size: 21px;
  }

  .principles-list p {
    font-size: 16px;
  }

  .about-cta {
    padding-bottom: 54px;
  }

  .about-cta-inner {
    padding: 30px 22px;
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
    border-radius: 20px;
  }

  .about-cta .button {
    width: 100%;
  }

  /* Privacidade: sumário recolhível e leitura editorial mais compacta. */
  .privacy-hero {
    padding: 42px 0 30px;
    background-size: 390px auto;
  }

  .privacy-hero h1 {
    margin-top: 10px;
    font-size: clamp(40px, 11vw, 52px);
  }

  .privacy-hero p {
    color: #4f638b;
    font-size: 16px;
    line-height: 1.55;
  }

  .privacy-layout {
    padding-top: 22px;
    padding-bottom: 56px;
    gap: 14px;
  }

  .privacy-nav {
    display: none;
  }

  .privacy-nav-mobile {
    display: block;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
  }

  .privacy-nav-mobile summary {
    min-height: 54px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    color: var(--navy);
    font-weight: 900;
    cursor: pointer;
  }

  .privacy-nav-mobile summary::after {
    content: "+";
    color: var(--blue);
    font-size: 24px;
  }

  .privacy-nav-mobile[open] summary::after {
    content: "−";
  }

  .privacy-nav-mobile nav {
    padding: 0 12px 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
  }

  .privacy-nav-mobile a {
    min-height: 44px;
    padding: 9px 8px;
    display: flex;
    align-items: center;
    border-radius: 9px;
    color: #53678f;
    font-size: 13px;
    line-height: 1.25;
    text-decoration: none;
  }

  .privacy-section {
    padding: 22px 20px;
    border-radius: 16px;
  }

  .privacy-section h2 {
    margin-top: 7px;
    font-size: 23px;
  }

  .privacy-section p,
  .privacy-section li {
    font-size: 15px;
    line-height: 1.65;
  }

  .privacy-page .footer-brand p,
  .privacy-page .footer-grid a,
  .privacy-page .footer-grid span,
  .privacy-page .footer-bottom {
    color: #4f638b;
  }
}

@media (max-width: 360px) {
  .container {
    width: calc(100% - 24px);
  }

  .site-header .logo.official,
  .privacy-header .logo.official {
    width: 150px;
  }

  .hero-carousel,
  .hero-slides {
    min-height: 640px !important;
    height: 640px;
  }

  .hero-visual,
  .copy-right .hero-visual,
  .copy-left .hero-visual {
    top: 292px;
    right: 12px;
    left: 12px;
    height: 250px;
  }

  .hero-arrow {
    top: 404px;
  }

  .metrics span {
    font-size: 11px;
  }

  .recommend-grid,
  .faq-tabs {
    margin-right: -12px;
    margin-left: -12px;
    padding-right: 12px;
    padding-left: 12px;
  }

  .footer-grid,
  .privacy-nav-mobile nav {
    grid-template-columns: 1fr;
  }

  .footer-grid > div:last-child,
  .footer-brand {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu summary span {
    transition: none;
  }
}

@media (min-width: 901px) {
  .hero-carousel,
  .hero-slides,
  .hero-inner {
    min-height: 700px;
  }

  .hero-slide {
    background: #f6f9ff;
  }

  .hero-inner {
    padding-bottom: 92px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .hero-content,
  .hero-fgts .hero-content,
  .hero-clt .hero-content,
  .hero-inss .hero-content,
  .hero-bolsa .hero-content {
    position: relative;
    z-index: 4;
    width: min(100%, 720px);
    max-width: 720px;
  }

  .copy-right .hero-content {
    grid-column: 2;
    justify-self: end;
    padding-left: 36px;
  }

  .copy-left .hero-content {
    grid-column: 1;
    justify-self: start;
    padding-right: 36px;
  }

  .hero-product-mark,
  .hero-product-mark.hero-logo-clt {
    height: 36px;
    margin-bottom: 26px;
  }

  .hero-product-mark.hero-logo-clt {
    height: 42px;
  }

  .hero-product-mark.hero-logo-bolsa {
    width: auto;
    height: 48px;
    max-width: 170px;
  }

  .hero-content h1,
  .hero-clt .hero-content h1,
  .hero-inss .hero-content h1,
  .hero-bolsa .hero-content h1 {
    max-width: 14ch;
    margin: 0;
    color: var(--blue);
    font-family: "Trebuchet MS", "Segoe UI", sans-serif;
    font-size: clamp(52px, 4.15vw, 74px);
    font-weight: 900;
    line-height: .98;
    letter-spacing: -.035em;
    text-transform: uppercase;
    text-wrap: balance;
  }

  .hero-clt .hero-content h1 {
    max-width: 15ch;
    font-size: clamp(52px, 4vw, 72px);
  }

  .hero-fgts .hero-content h1 {
    max-width: 100%;
    font-size: clamp(58px, 3.8vw, 68px);
    text-wrap: pretty;
  }

  .hero-inss .hero-content h1 {
    max-width: 14ch;
  }

  .hero-bolsa .hero-content h1 {
    max-width: 12ch;
  }

  .hero-subtitle {
    max-width: 25ch;
    margin: 18px 0 0;
    color: #234171;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(22px, 1.7vw, 28px);
    font-weight: 400;
    line-height: 1.28;
    letter-spacing: -.012em;
    text-wrap: balance;
  }

  .hero-action {
    margin-top: 26px;
  }

  .hero-count {
    margin-top: 24px;
  }

  .hero-visual,
  .copy-right .hero-visual,
  .copy-left .hero-visual {
    top: 0;
    bottom: 92px;
    width: 69%;
    height: auto;
  }

  .copy-right .hero-visual {
    right: auto;
    left: 0;
  }

  .copy-left .hero-visual {
    right: 0;
    left: auto;
  }

  .hero-frame,
  .hero-frame-1,
  .hero-fgts .hero-frame-1,
  .hero-clt .hero-frame-1,
  .hero-inss .hero-frame-1,
  .hero-bolsa .hero-frame-1 {
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    border: 0;
    border-radius: 0;
    background: #e8eef8;
    box-shadow: none;
    animation: none;
  }

  .copy-right .hero-frame-1 {
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 66%, rgba(0, 0, 0, .86) 76%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 0%, #000 66%, rgba(0, 0, 0, .86) 76%, transparent 100%);
  }

  .copy-left .hero-frame-1 {
    -webkit-mask-image: linear-gradient(270deg, #000 0%, #000 66%, rgba(0, 0, 0, .86) 76%, transparent 100%);
    mask-image: linear-gradient(270deg, #000 0%, #000 66%, rgba(0, 0, 0, .86) 76%, transparent 100%);
  }

  .hero-frame-1 img,
  .hero-slide.active .hero-frame-1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.008);
    animation: hero-wide-photo 8s ease-in-out infinite alternate;
  }

  .hero-fgts .hero-frame-1 img { object-position: 42% center; }
  .hero-clt .hero-frame-1 img { object-position: 42% 44%; }
  .hero-inss .hero-frame-1 img { object-position: 50% center; }
  .hero-bolsa .hero-frame-1 img { object-position: 52% center; }

  .hero-fgts .hero-frame-1 img,
  .hero-fgts.active .hero-frame-1 img {
    object-position: 42% top;
    transform: none;
    animation: none;
  }

  .hero-shade,
  .copy-right .hero-shade,
  .copy-left .hero-shade {
    z-index: 2;
  }

  .copy-right .hero-shade {
    background: linear-gradient(90deg, transparent 36%, rgba(246, 249, 255, .78) 49%, #f6f9ff 61%);
  }

  .copy-left .hero-shade {
    background: linear-gradient(270deg, transparent 36%, rgba(246, 249, 255, .78) 49%, #f6f9ff 61%);
  }

  @keyframes hero-wide-photo {
    from { transform: scale(1.008); }
    to { transform: scale(1.025); }
  }
}

/* Home mobile nativa: estrutura própria, não derivada da composição desktop. */
.mobile-home,
.mobile-footer {
  display: none;
}

@media (max-width: 900px) {
  .site-mode .desktop-home,
  .site-mode .desktop-footer {
    display: none;
  }

  .mobile-home {
    display: block;
    color: var(--navy);
    background: #f7faff;
  }

  .mobile-home h1,
  .mobile-home h2,
  .mobile-home h3,
  .mobile-home p {
    text-wrap: pretty;
  }

  .mobile-section-heading {
    padding: 0 18px;
  }

  .mobile-section-heading h1,
  .mobile-section-heading h2 {
    max-width: 12ch;
    margin: 0;
    font-size: clamp(34px, 9.5vw, 46px);
    line-height: .98;
    letter-spacing: -.035em;
  }

  .mobile-section-heading p {
    max-width: 34ch;
    margin: 12px 0 0;
    color: #4f638b;
    font-size: 16px;
    line-height: 1.5;
  }

  .mobile-product-stage {
    overflow: hidden;
    padding: 0 0 34px;
    background: #f7faff;
  }

  .mobile-product-track {
    margin-top: 0;
    padding: 0 16px 16px;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .mobile-product-track::-webkit-scrollbar,
  .mobile-video-track::-webkit-scrollbar,
  .mobile-review-track::-webkit-scrollbar {
    display: none;
  }

  .mobile-product-slide {
    min-width: min(calc(100vw - 32px), 680px);
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(190px, 52vw) auto;
    overflow: hidden;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    border-radius: 16px;
    background: #edf4ff;
    box-shadow: 0 18px 42px rgba(7, 31, 78, .12);
  }

  .mobile-product-slide figure {
    min-width: 0;
    height: auto;
    margin: 0;
    overflow: hidden;
    background: #dfe8f7;
  }

  .mobile-product-slide figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .mobile-product-fgts figure img { object-position: 38% 43%; }
  .mobile-product-clt figure img { object-position: 40% 38%; }
  .mobile-product-inss figure img { object-position: 50% 45%; }
  .mobile-product-bolsa figure img { object-position: 54% 43%; }

  .mobile-product-clt { background: #e7f4ed; }
  .mobile-product-inss { background: #f4f0e6; }
  .mobile-product-bolsa { background: #e9f0fb; }

  .mobile-product-copy {
    min-width: 0;
    min-height: 260px;
    padding: 20px 18px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .mobile-product-logo {
    width: 92px;
    height: 28px;
    display: flex;
    align-items: center;
  }

  .mobile-product-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left center;
  }

  .mobile-product-logo-clt {
    width: 118px;
    height: 38px;
  }

  .mobile-product-logo-bolsa {
    width: 86px;
    height: 42px;
  }

  .mobile-product-copy h2 {
    max-width: 17ch;
    margin: 20px 0 24px;
    font-size: clamp(25px, 7.6vw, 34px);
    line-height: 1.02;
    letter-spacing: -.035em;
  }

  .mobile-product-copy h2 strong {
    color: var(--blue);
  }

  .mobile-product-copy > a {
    width: 100%;
    min-height: 52px;
    margin-top: auto;
    padding: 0 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-radius: 12px;
    color: #fff;
    background: #078b40;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
    text-decoration: none;
  }

  .mobile-product-clt .mobile-product-copy h2,
  .mobile-product-inss .mobile-product-copy h2,
  .mobile-product-bolsa .mobile-product-copy h2 {
    font-size: clamp(23px, 7vw, 31px);
  }

  .mobile-product-copy > a svg {
    width: 20px;
    flex: none;
  }

  .mobile-carousel-controls {
    min-height: 52px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .mobile-carousel-controls > span {
    min-width: 48px;
    font-size: 12px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
  }

  .mobile-product-dots {
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .mobile-product-dots button {
    width: 28px;
    height: 48px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
  }

  .mobile-product-dots button::before {
    content: "";
    width: 18px;
    height: 4px;
    border-radius: 4px;
    background: #c7d4e8;
  }

  .mobile-product-dots button.active::before {
    background: var(--blue);
  }

  .mobile-rotation,
  .mobile-product-next {
    width: 48px;
    height: 48px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid #d8e2f1;
    border-radius: 50%;
    color: var(--navy);
    background: #fff;
  }

  .mobile-rotation {
    margin-left: auto;
  }

  .mobile-rotation svg,
  .mobile-product-next svg {
    width: 20px;
  }

  .mobile-recommends {
    overflow: hidden;
    padding: 56px 0 48px;
    color: #fff;
    background: #063b91;
  }

  .mobile-recommends .mobile-section-heading h2 {
    color: #fff;
  }

  .mobile-recommends .mobile-section-heading p {
    color: #dbe6fb;
  }

  .mobile-video-track {
    margin-top: 24px;
    padding: 0 18px 12px;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 18px;
  }

  .mobile-video {
    min-width: min(68vw, 258px);
    scroll-snap-align: start;
  }

  .mobile-video .recommend-player {
    border-radius: 12px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .2);
  }

  .mobile-video .recommend-play {
    width: 48px;
    height: 36px;
    border-radius: 10px;
  }

  .mobile-video strong {
    display: block;
    margin-top: 10px;
    color: #fff;
    font-size: 14px;
  }

  .mobile-proof {
    overflow: hidden;
    padding: 56px 0 54px;
    background: #fff;
  }

  .mobile-proof-intro {
    padding: 0 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 12px;
  }

  .mobile-proof-intro h2 {
    grid-column: 1 / -1;
    max-width: 12ch;
    margin: 0;
    font-size: clamp(32px, 8.8vw, 42px);
    line-height: 1;
    letter-spacing: -.035em;
  }

  .mobile-proof-intro > div {
    padding-top: 14px;
    display: grid;
    gap: 3px;
    border-top: 1px solid #dbe4f2;
  }

  .mobile-proof-intro strong {
    color: var(--blue);
    font-size: 25px;
  }

  .mobile-proof-intro span {
    color: #53678f;
    font-size: 13px;
  }

  .mobile-review-track {
    margin-top: 28px;
    padding: 0 18px 14px;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 18px;
  }

  .mobile-review-track blockquote {
    min-width: min(78vw, 320px);
    min-height: 250px;
    margin: 0;
    padding: 22px;
    display: flex;
    flex-direction: column;
    scroll-snap-align: start;
    border-radius: 14px;
    background: #edf3ff;
  }

  .mobile-review-track blockquote > div {
    display: flex;
    align-items: center;
    gap: 11px;
  }

  .mobile-review-track blockquote > div > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--blue);
    font-size: 19px;
  }

  .mobile-review-track blockquote p {
    margin: 0;
    display: grid;
    gap: 2px;
  }

  .mobile-review-track blockquote b {
    color: #e89e00;
    letter-spacing: 1px;
  }

  .mobile-review-track q {
    margin-top: 22px;
    color: #263f70;
    font-size: 17px;
    line-height: 1.5;
  }

  .mobile-review-track small {
    margin-top: auto;
    color: #53678f;
  }

  .mobile-guidance {
    padding: 56px 18px;
    background: #eaf1fc;
  }

  .mobile-guidance .mobile-section-heading {
    padding: 0;
  }

  .mobile-guidance-list {
    margin-top: 30px;
    border-top: 1px solid #cbd8eb;
  }

  .mobile-guidance-list article {
    padding: 22px 0;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    border-bottom: 1px solid #cbd8eb;
  }

  .mobile-guidance-list article > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--blue);
    background: #fff;
  }

  .mobile-guidance-list svg {
    width: 23px;
  }

  .mobile-guidance-list h3 {
    margin: 1px 0 6px;
    font-size: 19px;
  }

  .mobile-guidance-list p {
    margin: 0;
    color: #4f638b;
    font-size: 15px;
    line-height: 1.5;
  }

  .mobile-faq {
    padding: 56px 18px;
    background: #f7faff;
  }

  .mobile-faq .mobile-section-heading {
    padding: 0;
  }

  .mobile-faq .faq-tabs {
    margin: 26px -18px 14px;
    padding: 0 18px 6px;
  }

  .mobile-faq .faq-list details {
    border: 0;
    border-radius: 12px;
    box-shadow: none;
  }

  .mobile-conversion {
    padding: 54px 20px 58px;
    color: #fff;
    background: var(--blue);
  }

  .mobile-conversion h2 {
    max-width: 11ch;
    margin: 0;
    font-size: clamp(36px, 10vw, 48px);
    line-height: .98;
    letter-spacing: -.035em;
  }

  .mobile-conversion p {
    max-width: 32ch;
    margin: 18px 0 26px;
    color: #e2ebff;
    font-size: 16px;
    line-height: 1.55;
  }

  .mobile-conversion a {
    width: 100%;
    min-height: 56px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 12px;
    color: var(--navy);
    background: #fff;
    font-weight: 900;
    text-decoration: none;
  }

  .mobile-conversion a svg {
    width: 22px;
  }

  .mobile-banks {
    padding: 38px 18px 44px;
    background: #fff;
  }

  .mobile-banks h2 {
    margin: 0 0 20px;
    font-size: 21px;
  }

  .mobile-banks img {
    width: 100%;
    height: 64px;
    object-fit: contain;
    object-position: left center;
  }

  .mobile-footer {
    padding: 44px 18px max(34px, env(safe-area-inset-bottom));
    display: grid;
    gap: 24px;
    color: #fff;
    background: #061b43;
  }

  .mobile-footer .logo.official {
    width: 190px;
    height: 48px;
  }

  .mobile-footer .logo.official img {
    filter: brightness(0) invert(1);
  }

  .mobile-footer p {
    max-width: 220px;
    margin: 12px 0 0;
    color: #c7d6ef;
    line-height: 1.5;
  }

  .mobile-footer nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 18px;
  }

  .mobile-footer a {
    min-height: 44px;
    display: flex;
    align-items: center;
    color: #dce6f7;
    text-decoration: none;
  }

  .mobile-footer small {
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .16);
    color: #aebed8;
    line-height: 1.6;
  }
}

@media (max-width: 360px) {
  .mobile-product-slide {
    min-width: calc(100vw - 24px);
    grid-template-columns: 1fr;
    grid-template-rows: 178px auto;
  }

  .mobile-product-track {
    padding-inline: 12px;
    scroll-padding-inline: 12px;
  }

  .mobile-product-copy {
    padding-inline: 13px;
  }

  .mobile-product-copy h2 {
    font-size: 25px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-product-track,
  .mobile-video-track,
  .mobile-review-track {
    scroll-behavior: auto;
  }
}

/* Vídeo institucional e redes sociais */
.about-headquarters {
  padding: 88px 0 24px;
  background: #f7faff;
}

.about-headquarters h2 {
  width: min(50%, 720px);
  max-width: 720px;
  margin: 0 auto 30px;
  color: var(--navy);
  font-size: clamp(38px, 4.2vw, 60px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.about-video-shell {
  width: min(55%, 792px);
  margin: 0 auto;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 28px;
  background: var(--navy);
  box-shadow: 0 26px 70px rgba(4, 44, 109, .16);
}

.about-video-shell iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.about-video-launch {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
  border: 0;
  color: #fff;
  background: var(--navy);
  cursor: pointer;
}

.about-video-thumbnail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-video-launch::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(3, 27, 73, .24);
  pointer-events: none;
}

.about-video-launch strong {
  position: relative;
  z-index: 1;
  font-size: 18px;
}

.about-video-play {
  position: relative;
  z-index: 1;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .46);
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
  transition: transform .22s ease, background-color .22s ease;
}

.about-video-launch:hover .about-video-play,
.about-video-launch:focus-visible .about-video-play {
  background: #0a4bd1;
  transform: scale(1.06);
}

.about-video-launch:active .about-video-play {
  transform: scale(.96);
}

.about-video-play svg {
  width: 32px;
  height: 32px;
  margin-left: 4px;
  fill: currentColor;
}

.footer-social {
  margin-top: 22px;
}

.footer-brand > p {
  display: none;
}

.footer-social h3,
.footer-grid .footer-social h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 14px;
}

.social-links {
  display: flex;
  gap: 10px;
}

.footer-grid .social-links a,
.social-links a {
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8e2f4;
  border-radius: 50%;
  background: #fff;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.footer-grid .social-links a:hover,
.footer-grid .social-links a:focus-visible,
.social-links a:hover,
.social-links a:focus-visible {
  border-color: var(--blue);
  background: #eaf1ff;
  transform: translateY(-2px);
}

.social-links a:active {
  transform: scale(.96);
}

.social-links svg {
  width: 20px;
  height: 20px;
  color: var(--blue);
}

@media (max-width: 900px) {
  .about-headquarters {
    padding: 58px 0 10px;
  }

  .about-headquarters h2 {
    width: 100%;
    margin: 0 0 24px;
    font-size: clamp(32px, 8.7vw, 42px);
  }

  .about-video-shell {
    width: 100%;
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(4, 44, 109, .14);
  }
}

@media (max-width: 700px) {
  .site-footer .footer-social {
    margin-top: 20px;
  }

  .mobile-footer .footer-social {
    margin-top: 2px;
  }

  .mobile-footer .footer-social h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 14px;
  }

  .mobile-footer .social-links {
    display: flex;
    gap: 10px;
  }

  .mobile-footer .social-links a {
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .08);
  }

  .mobile-footer .social-links svg {
    width: 20px;
    height: 20px;
    color: #fff;
  }
}

/* Aviso regulatório dos rodapés */
.footer-legal-note {
  max-width: 1180px;
  margin: 18px auto 0;
  color: #405985;
  font-size: 11px;
  line-height: 1.6;
  text-align: center;
  text-wrap: pretty;
}

@media (max-width: 900px) {
  .mobile-footer-disclosure {
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .16);
  }

  .mobile-footer-disclosure small {
    padding-top: 0;
    border-top: 0;
  }

  .mobile-footer .footer-legal-note {
    max-width: none;
    margin: 12px 0 0;
    padding-bottom: 48px;
    color: #b8c7df;
    font-size: 10.5px;
    line-height: 1.65;
    text-align: left;
  }
}
