/* ==========================================================
   Desin Max — estilos do site
   Edite as cores principais nas variáveis abaixo.
   ========================================================== */
:root{
--navy:#071b68;
--blue:#087ac2;
--cyan:#05a9df;
--red:#ec2329;
--ink:#101b3d;
--muted:#65708a;
--white:#fff;
--surface:#f4f9fd;
--shadow:0 24px 70px rgba(4,32,83,.16)}


/* Base e elementos compartilhados */
*{
box-sizing:border-box}

html{
scroll-behavior:smooth}

body{
margin:0;
font-family:Montserrat,Arial,sans-serif;
color:var(--ink);
background:#fff;
overflow-x:hidden}

a{
color:inherit;
text-decoration:none}

img{
max-width:100%;
display:block}

.container{
width:min(1160px,calc(100% - 42px));
margin:auto}

/* Cabeçalho e navegação */
.site-header{
position:fixed;
inset:0 0 auto;
z-index:50;
height:88px;
transition:.35s;
background:linear-gradient(180deg,rgba(5,25,94,.72),transparent)}

.site-header.scrolled{
height:72px;
background:rgba(255,255,255,.95);
box-shadow:0 10px 35px rgba(6,24,76,.12);
backdrop-filter:blur(14px)}

.nav-wrap{
height:100%;
display:flex;
align-items:center;
justify-content:space-between}

.brand{
width:235px;
filter:brightness(0) invert(1)}

.brand img{
width:100%;
height:auto}

.scrolled .brand{
filter:none;
width:205px}

nav{
display:flex;
align-items:center;
gap:32px;
color:#fff;
font-size:13px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.05em}

.scrolled nav{
color:var(--navy)}

nav a{
position:relative}

nav>a:not(.nav-cta):after{
content:"";
position:absolute;
left:0;
right:100%;
bottom:-7px;
height:2px;
background:var(--red);
transition:.25s}

nav>a:hover:after{
right:0}

.nav-cta{
padding:13px 20px;
background:var(--red);
color:#fff!important;
border-radius:999px;
box-shadow:0 9px 22px rgba(236,35,41,.28)}

.menu-toggle{
display:none;
border:0;
background:none;
padding:8px}

.menu-toggle span{
display:block;
width:27px;
height:2px;
background:#fff;
margin:6px}

.scrolled .menu-toggle span{
background:var(--navy)}


/* Apresentação principal */
.hero{
min-height:760px;
height:100vh;
max-height:980px;
position:relative;
display:grid;
align-items:center;
isolation:isolate;
overflow:hidden;
color:#fff;
background:#83c4e8}

.hero:after{
content:"";
position:absolute;
inset:0;
z-index:-1;
background:linear-gradient(90deg,rgba(2,23,96,.94) 0%,rgba(6,45,129,.79) 38%,rgba(3,78,150,.23) 65%,rgba(0,129,193,.1))}

.hero-layer{
position:absolute;
inset:-5%;
width:110%;
height:110%;
object-fit:cover;
z-index:-3;
will-change:transform}

.hero-bg{
background:url('./hero-excellence.png') center/cover no-repeat}

.hero-fg{
z-index:-1;
pointer-events:none}

.hero-grid{
display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
padding-top:70px}

.hero-copy{
max-width:620px;
z-index:3}

.eyebrow{
display:inline-block;
font-size:12px;
font-weight:800;
letter-spacing:.2em;
text-transform:uppercase;
color:#8ee6ff;
margin-bottom:18px}

.eyebrow.dark{
color:var(--blue)}

h1,h2,h3,p{
margin-top:0}

h1{
font-size:clamp(45px,5.2vw,74px);
line-height:.97;
letter-spacing:-.05em;
margin-bottom:24px;
font-weight:500}

h1 strong{
font-weight:900;
color:#fff;
text-shadow:0 6px 26px rgba(0,40,130,.2)}

.hero-copy>p{
font-size:18px;
line-height:1.65;
max-width:560px;
color:rgba(255,255,255,.86)}

.hero-actions{
display:flex;
gap:14px;
margin-top:34px}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:52px;
padding:0 27px;
border-radius:999px;
font-size:13px;
font-weight:800;
text-transform:uppercase;
letter-spacing:.055em;
transition:.25s}

.button:hover{
transform:translateY(-3px)}

.button-primary{
background:var(--red);
box-shadow:0 14px 30px rgba(228,23,42,.34)}

.button-ghost{
border:1px solid rgba(255,255,255,.65);
background:rgba(255,255,255,.08);
backdrop-filter:blur(8px)}

.hero-product-wrap{
position:relative;
min-height:620px;
display:grid;
place-items:center;
z-index:2}

.hero-product{
width:min(690px,55vw);
max-width:none;
filter:drop-shadow(0 35px 35px rgba(2,27,89,.24));
animation:float 5s ease-in-out infinite}

.product-glow{
position:absolute;
width:470px;
height:470px;
border-radius:50%;
background:radial-gradient(circle,rgba(255,255,255,.78),rgba(255,255,255,0) 70%);
filter:blur(4px)}

@keyframes float{
50%{
transform:translateY(-16px) rotate(.3deg)}

}

.scroll-hint{
position:absolute;
bottom:24px;
left:50%;
width:28px;
height:45px;
border:2px solid rgba(255,255,255,.65);
border-radius:18px}

.scroll-hint span{
position:absolute;
width:4px;
height:8px;
background:#fff;
border-radius:4px;
left:10px;
top:9px;
animation:scroll 1.8s infinite}

@keyframes scroll{
to{
transform:translateY(14px);
opacity:0}

}


/* Estrutura das seções de conteúdo */
.section{
padding:110px 0}

.intro{
background:#fff}

.intro-grid,.applications-grid{
display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
gap:85px}

.product-card{
position:relative;
min-height:610px;
display:grid;
place-items:center}

.product-card:before{
content:"";
position:absolute;
width:390px;
height:390px;
border:1px solid #cbe8fa;
border-radius:50%}

.product-card:after{
content:"";
position:absolute;
width:510px;
height:510px;
border:1px solid #e5f4fc;
border-radius:50%}

.product-card img{
height:570px;
width:auto;
position:relative;
z-index:2;
filter:drop-shadow(0 32px 25px rgba(26,46,84,.18))}

.section-copy h2,.section-heading h2,.cta-inner h2{
font-size:clamp(35px,4vw,54px);
line-height:1.08;
letter-spacing:-.04em;
margin-bottom:24px;
color:var(--navy)}

.section-copy p{
font-size:15px;
line-height:1.8;
color:var(--muted)}

.section-copy .lead{
font-size:18px;
color:#32405f}

.text-link{
display:inline-flex;
gap:12px;
margin-top:16px;
color:var(--red);
font-weight:800;
text-transform:uppercase;
font-size:13px}

.text-link span{
font-size:20px;
line-height:.7}

/* Benefícios */
.benefits{
position:relative;
background:linear-gradient(135deg,#061c68,#075399 55%,#0597c8);
color:#fff;
overflow:hidden}

.benefits:before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at 80% 10%,rgba(109,220,255,.34),transparent 32%),radial-gradient(circle at 6% 93%,rgba(255,255,255,.12),transparent 25%)}

.benefits .container{
position:relative}

.section-heading{
text-align:center;
max-width:790px;
margin:0 auto 54px}

.section-heading h2{
color:#fff}

.section-heading p{
color:rgba(255,255,255,.74);
line-height:1.7}

.benefit-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px}

.benefit-card{
min-height:245px;
padding:34px 28px;
border-radius:22px;
background:rgba(255,255,255,.1);
border:1px solid rgba(255,255,255,.18);
backdrop-filter:blur(10px);
transition:.3s}

.benefit-card:hover{
transform:translateY(-8px);
background:rgba(255,255,255,.16)}

.benefit-card .icon{
display:grid;
place-items:center;
width:50px;
height:50px;
border-radius:14px;
background:#fff;
color:var(--blue);
font-size:25px;
margin-bottom:26px}

.benefit-card h3{
font-size:18px}

.benefit-card p{
font-size:14px;
line-height:1.7;
color:rgba(255,255,255,.72)}

/* Aplicações */
.applications{
background:var(--surface)}

.check-list{
padding:0;
list-style:none;
display:grid;
grid-template-columns:1fr 1fr;
gap:15px;
margin-top:30px}

.check-list li{
position:relative;
padding-left:28px;
font-weight:700;
font-size:14px;
color:#334060}

.check-list li:before{
content:"✓";
position:absolute;
left:0;
color:var(--red)}

.shield-panel{
min-height:480px;
border-radius:34px;
background:linear-gradient(145deg,#087fc1,#07216c);
box-shadow:var(--shadow);
color:#fff;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
position:relative;
overflow:hidden}

.shield-panel:before,.shield-panel:after{
content:"";
position:absolute;
border:1px solid rgba(255,255,255,.15);
border-radius:50%;
width:390px;
height:390px}

.shield-panel:after{
width:540px;
height:540px}

.shield-mark{
width:140px;
height:160px;
clip-path:polygon(50% 0,93% 18%,88% 71%,50% 100%,12% 71%,7% 18%);
background:rgba(255,255,255,.16);
display:grid;
place-items:center;
font-size:64px;
margin-bottom:28px;
position:relative;
z-index:1}

.shield-panel strong,.shield-panel span{
position:relative;
z-index:1}

.shield-panel strong{
font-size:24px}

.shield-panel span{
margin-top:8px;
color:#9fe9ff}

.cta-section{
padding:85px 0;
background:var(--red);
color:#fff}

.cta-inner{
display:flex;
align-items:center;
justify-content:space-between;
gap:40px}

.cta-inner .eyebrow{
color:#fff}

.cta-inner h2{
color:#fff;
margin-bottom:10px}

.cta-inner p{
margin:0;
color:rgba(255,255,255,.8)}

.button-light{
background:#fff;
color:var(--red);
white-space:nowrap;
box-shadow:0 12px 30px rgba(115,0,8,.22)}

footer{
padding:42px 0;
background:#061447;
color:rgba(255,255,255,.65)}

.footer-grid{
display:grid;
grid-template-columns:230px 1fr auto;
align-items:center;
gap:35px}

.footer-grid img{
filter:brightness(0) invert(1)}

.footer-info{
display:grid;
gap:6px;
justify-items:center}

.footer-grid p{
margin:0;
text-align:center;
font-size:13px}

.footer-info strong{
color:#fff;
font-weight:700}

.footer-grid a{
color:#fff;
font-weight:700}

.whatsapp-float{
position:fixed;
right:22px;
bottom:22px;
z-index:40;
display:flex;
align-items:center;
gap:9px;
padding:8px 9px 8px 17px;
background:#24d366;
color:#fff;
border-radius:999px;
box-shadow:0 12px 32px rgba(14,108,56,.3);
font-size:12px;
font-weight:800}

.whatsapp-float b{
display:grid;
place-items:center;
width:39px;
height:39px;
border-radius:50%;
background:#fff;
color:#25b85c;
font-size:18px}

.reveal{
opacity:0;
transform:translateY(28px);
transition:opacity .75s ease,transform .75s ease}

.reveal.visible{
opacity:1;
transform:none}


/* Portfólio */
.portfolio-section{
background:#fff}

.portfolio-intro{
display:grid;
grid-template-columns:minmax(0,1fr) 300px;
gap:80px;
align-items:end;
margin-bottom:62px}

.portfolio-intro .eyebrow{
margin-bottom:18px}

.portfolio-intro h2{
max-width:760px;
margin:0;
color:#0b4078;
font-size:clamp(48px,6vw,76px);
line-height:1.04;
letter-spacing:-.06em}

.portfolio-intro>p{
margin:0 0 14px;
color:#224266;
font-size:14px;
line-height:1.7}

.portfolio-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
border-top:1px solid #cfdce6;
border-bottom:1px solid #cfdce6}

.portfolio-item{
min-height:330px;
padding:35px 22px 32px;
border-right:1px solid #cfdce6;
display:flex;
flex-direction:column}

.portfolio-item:last-child{
border-right:0}

.portfolio-number{
color:#869bad;
font-size:14px;
font-weight:800}

.portfolio-item svg{
width:38px;
height:38px;
margin:54px 0 24px;
color:#0b4c87;
fill:none;
stroke:currentColor;
stroke-width:2.4;
stroke-linecap:round;
stroke-linejoin:round}

.portfolio-item h3{
margin-bottom:12px;
color:#0a0f18;
font-size:21px;
line-height:1.13;
letter-spacing:-.035em}

.portfolio-item p{
margin:0;
color:#65778a;
font-size:11px;
line-height:1.65}


.portfolio-item{
position:relative;
transition:background-color .25s,transform .25s,box-shadow .25s}

.portfolio-item:hover,.portfolio-item:focus-visible{
z-index:1;
background:#f4f9fd;
transform:translateY(-6px);
box-shadow:0 16px 34px rgba(7,27,104,.1);
outline:none}

.portfolio-item:hover h3,.portfolio-item:focus-visible h3{
color:var(--blue)}


/* Fórmula e eficácia */
.formula-section{
position:relative;
overflow:hidden;
background:linear-gradient(145deg,#06185f 0%,#083f87 58%,#0794c3 100%);
color:#fff}

.formula-section:before{
content:"";
position:absolute;
width:620px;
height:620px;
right:-250px;
top:-290px;
border:1px solid rgba(255,255,255,.13);
border-radius:50%;
box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018)}

.formula-section .container{
position:relative}

.formula-heading{
display:grid;
grid-template-columns:minmax(0,1.05fr) minmax(300px,.7fr);
gap:90px;
align-items:end;
margin-bottom:48px}

.formula-heading .eyebrow{
color:#8ee6ff}

.formula-heading h2{
max-width:720px;
margin:0;
font-size:clamp(40px,5vw,66px);
line-height:1.02;
letter-spacing:-.055em}

.formula-heading>p{
margin:0;
color:rgba(255,255,255,.78);
font-size:16px;
line-height:1.75}

.formula-features{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:15px;
margin-bottom:25px}

.formula-feature{
min-height:190px;
padding:30px 25px;
border:1px solid rgba(255,255,255,.18);
border-radius:20px;
background:rgba(255,255,255,.09);
backdrop-filter:blur(10px)}

.formula-feature strong{
display:block;
margin-bottom:17px;
color:#fff;
font-size:21px;
line-height:1.15}

.formula-feature span{
color:rgba(255,255,255,.72);
font-size:13px;
line-height:1.65}

.efficacy-panel{
display:grid;
grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);
gap:55px;
padding:42px;
border-radius:24px;
background:#fff;
color:var(--ink);
box-shadow:0 25px 65px rgba(1,19,65,.2)}

.efficacy-copy h3{
margin-bottom:16px;
color:var(--navy);
font-size:30px;
line-height:1.14;
letter-spacing:-.035em}

.efficacy-copy p{
margin:0;
color:var(--muted);
font-size:14px;
line-height:1.7}

.efficacy-groups{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px 34px}

.efficacy-groups ul{
margin:0;
padding:0;
list-style:none}

.efficacy-groups li{
position:relative;
padding:8px 0 8px 20px;
border-bottom:1px solid #e1ebf2;
color:#334664;
font-size:12px;
line-height:1.4}

.efficacy-groups li:before{
content:"";
position:absolute;
left:0;
top:14px;
width:7px;
height:7px;
border-radius:50%;
background:var(--red)}


/* Perguntas frequentes */
.faq-section{
background:#eff7fc}

.faq-heading{
max-width:720px;
margin-bottom:48px}

.faq-heading h2{
margin:0;
color:var(--navy);
font-size:clamp(38px,4.6vw,62px);
line-height:1.06;
letter-spacing:-.05em}

.faq-list{
border-top:1px solid #c3d6e4}

.faq-list details{
border-bottom:1px solid #c3d6e4}

.faq-list summary{
min-height:74px;
padding:22px 48px 22px 2px;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
position:relative;
cursor:pointer;
list-style:none;
color:#08172d;
font-size:17px;
font-weight:800;
line-height:1.4}

.faq-list summary::-webkit-details-marker{
display:none}

.faq-list summary span{
position:absolute;
right:2px;
width:25px;
height:25px;
border:1px solid #8da8bc;
border-radius:50%;
transition:.25s}

.faq-list summary span:before,.faq-list summary span:after{
content:"";
position:absolute;
left:6px;
right:6px;
top:11px;
height:1px;
background:#31506b}

.faq-list summary span:after{
transform:rotate(90deg);
transition:.25s}

.faq-list details[open] summary span{
transform:rotate(45deg);
border-color:var(--blue)}

.faq-list details[open] summary{
color:var(--blue)}

.faq-list details>p{
max-width:850px;
margin:-4px 0 25px;
padding-right:48px;
color:#5c7185;
font-size:14px;
line-height:1.75}

.faq-list details[open]>p{
animation:faq-in .25s ease}

@keyframes faq-in{
from{
opacity:0;
transform:translateY(-5px)}

}


/* Ajustes para tablets */
@media (max-width:900px){
.site-header{
height:72px}

.brand,.scrolled .brand{
width:190px}

.menu-toggle{
display:block;
z-index:2}

nav{
position:absolute;
top:72px;
left:20px;
right:20px;
display:none;
flex-direction:column;
align-items:stretch;
gap:0;
padding:12px;
background:#fff;
color:var(--navy);
border-radius:16px;
box-shadow:var(--shadow)}

nav.open{
display:flex}

nav a{
padding:14px}

.hero{
min-height:820px;
height:auto;
max-height:none;
padding:115px 0 65px}

.hero-grid{
grid-template-columns:1fr;
text-align:center;
padding:0}

.hero-copy{
margin:auto}

.hero-copy>p{
margin-left:auto;
margin-right:auto}

.hero-actions{
justify-content:center}

.hero-product-wrap{
min-height:390px}

.hero-product{
width:min(640px,95vw)}

.intro-grid,.applications-grid{
grid-template-columns:1fr;
gap:45px}

.product-card{
min-height:480px;
order:2}

.product-card img{
height:460px}

.section-copy{
text-align:center}

.benefit-grid{
grid-template-columns:1fr 1fr}

.check-list{
text-align:left}

.formula-heading{
grid-template-columns:1fr;
gap:24px}

.formula-heading>p{
max-width:650px}

.formula-features{
grid-template-columns:1fr 1fr}

.efficacy-panel{
grid-template-columns:1fr;
gap:30px}

.portfolio-intro{
grid-template-columns:1fr;
gap:25px}

.portfolio-intro>p{
max-width:570px}

.portfolio-grid{
grid-template-columns:repeat(2,1fr)}

.portfolio-item{
border-bottom:1px solid #cfdce6}

.portfolio-item:nth-child(2n){
border-right:0}

.portfolio-item:last-child{
border-bottom:0}

.footer-grid{
grid-template-columns:1fr;
text-align:center}

.footer-grid img{
width:230px;
margin:auto}

.footer-grid p{
text-align:center}

}


/* Ajustes para celulares */
@media (max-width:560px){
.container{
width:min(100% - 28px,1160px)}

.section{
padding:78px 0}

.hero{
min-height:760px}

.hero-copy{
padding-top:18px}

.hero-copy>p{
font-size:15px}

.hero-actions{
flex-direction:column;
align-items:stretch;
padding:0 20px}

.hero-product-wrap{
min-height:330px}

.hero-product{
width:110vw}

.scroll-hint{
display:none}

.product-card{
min-height:390px}

.product-card img{
height:380px}

.product-card:before{
width:280px;
height:280px}

.product-card:after{
width:350px;
height:350px}

.benefit-grid{
grid-template-columns:1fr}

.benefit-card{
min-height:auto}

.check-list{
grid-template-columns:1fr}

.shield-panel{
min-height:390px}

.formula-heading h2{
font-size:40px}

.formula-features{
grid-template-columns:1fr}

.formula-feature{
min-height:auto}

.efficacy-panel{
padding:28px 22px}

.efficacy-copy h3{
font-size:26px}

.efficacy-groups{
grid-template-columns:1fr}

.portfolio-intro h2{
font-size:42px}

.portfolio-grid{
grid-template-columns:1fr}

.portfolio-item{
min-height:auto;
padding:28px 18px;
border-right:0}

.portfolio-item svg{
margin:32px 0 18px}

.faq-heading{
margin-bottom:34px}

.faq-list summary{
font-size:15px;
min-height:70px}

.faq-list details>p{
padding-right:10px;
font-size:13px}

.cta-inner{
flex-direction:column;
text-align:center}

.whatsapp-float span{
display:none}

.whatsapp-float{
padding:7px}

}


@media (prefers-reduced-motion:reduce){
html{
scroll-behavior:auto}

.hero-product,.scroll-hint span{
animation:none}

.reveal{
opacity:1;
transform:none;
transition:none}

}



/* Preserve the product image's original landscape proportion at every breakpoint. */
.product-card img{
width:min(100%,680px);
height:auto;
max-height:none;
aspect-ratio:auto;
object-fit:contain}


@media (max-width:900px){
.product-card img{
width:min(100%,620px);
height:auto}

}


@media (max-width:560px){
.product-card img{
width:100%;
height:auto}

}



/* Hero com a imagem oficial enviada */
.hero{
background:#eef3f7 url('./hero-excellence.png') center center/cover no-repeat}


.hero:after{
background:linear-gradient(90deg,rgba(2,24,71,.9) 0%,rgba(3,35,83,.72) 25%,rgba(4,49,91,.24) 46%,rgba(255,255,255,0) 63%)}


.hero-grid{
grid-template-columns:minmax(0,620px) 1fr}


.hero-copy{
padding:44px 38px 44px 0;
text-shadow:0 2px 18px rgba(0,22,63,.2)}


.hero-copy>p{
width:min(512px,100%);
max-width:512px;
margin-left:0;
margin-bottom:20px}


@media (max-width:900px){
.hero{
background-position:64% center}

.hero:after{
background:linear-gradient(90deg,rgba(2,24,71,.9),rgba(3,35,83,.63) 54%,rgba(255,255,255,.05))}

.hero-grid{
grid-template-columns:1fr}

.hero-copy{
max-width:590px;
margin:0;
text-align:left}

.hero-copy>p{
margin-left:0;
margin-right:0}

.hero-actions{
justify-content:flex-start}

}


@media (max-width:560px){
.hero{
min-height:760px;
background-position:66% center}

.hero:after{
background:linear-gradient(180deg,rgba(2,24,71,.84) 0%,rgba(2,28,73,.66) 58%,rgba(2,28,73,.2) 100%)}

.hero-copy{
align-self:start;
padding:45px 0 0;
text-align:left}

.hero-copy>p{
width:100%;
margin-left:0}

.hero-actions{
padding:0;
align-items:flex-start}

.hero-actions .button{
width:100%}

}



/* Download da ficha técnica */
.technical-sheet-action{
display:flex;
justify-content:center;
margin-top:30px}

.technical-sheet-button{
gap:12px;
background:var(--red);
color:#fff;
box-shadow:0 14px 30px rgba(3,20,70,.28)}

.technical-sheet-button span{
font-size:20px;
line-height:1;
transition:transform .25s}

.technical-sheet-button:hover span{
transform:translateY(3px)}

.technical-sheet-button:focus-visible{
outline:3px solid #fff;
outline-offset:4px}


