*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:#fff;color:#1a2230;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
::selection{background:#2d6ab8;color:#fff}
:root{
  --dk:#0f1722;--dk2:#152030;--dk3:#1b2838;
  --lt:#f6f8fb;--lt2:#eef2f7;
  --bl:#2d6ab8;--bl2:#1e508f;--bl3:#143a6b;
  --sky:#3b8fd4;--wh:#fff;
  --ink:#1a2230;--ink2:#39455a;
  --mu:#7b8aa0;
  --bd:rgba(20,40,70,.10);
  --head:'Poppins',sans-serif;
  --sans:'Inter',sans-serif;
}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;transition:all .4s}
.nav-bg{position:absolute;inset:0;z-index:-1;opacity:0;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);border-bottom:1px solid var(--bd);box-shadow:0 4px 30px rgba(20,40,70,.06);transition:opacity .4s}
.nav.on .nav-bg{opacity:1}
.nav-logo{display:flex;align-items:center;gap:12px}
.nav-logo img{height:68px}
.nav-logo-t{font-family:var(--head);font-weight:700;font-size:1.05rem;letter-spacing:.01em;color:var(--ink);line-height:1.1}
.nav-logo-t small{display:block;font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--bl);margin-top:2px}
.nav-r{display:flex;align-items:center;gap:34px}
.nav-r a{font-family:var(--sans);font-weight:500;font-size:.92rem;color:var(--ink2);transition:color .25s}
.nav-r a:hover{color:var(--bl)}
.nav-btn{background:var(--bl) !important;color:#fff !important;padding:11px 24px;border-radius:100px;font-weight:600 !important;display:flex !important;align-items:center;gap:8px;transition:all .25s !important;box-shadow:0 6px 20px rgba(45,106,184,.28)}
.nav-btn:hover{background:var(--bl2) !important;transform:translateY(-1px)}
.nav-btn .dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
@media(max-width:768px){
  .nav{height:70px;padding:0 16px}
  .nav-logo img{height:48px}
  .nav-r{gap:0}
  .nav-r a:not(.nav-btn){display:none}
  .nav-btn{padding:10px 16px;font-size:.82rem}
  .nav-btn .dot{display:none}
}

/* HERO — clara, foto à direita */
.hero{position:relative;width:100%;min-height:100vh;overflow:hidden;display:flex;align-items:center;background:linear-gradient(135deg,#fff 0%,var(--lt) 100%)}
.hero-bg{position:absolute;top:0;right:0;bottom:0;width:50%;z-index:0;background-image:url('assets/hero-piscina.webp');background-size:cover;background-position:center;filter:none}
.hero-grad{position:absolute;top:0;right:0;bottom:0;width:50%;z-index:1;background:linear-gradient(90deg,var(--lt) 0%,rgba(246,248,251,.2) 18%,transparent 45%)}
@media(max-width:900px){
  .hero{min-height:auto !important;display:block !important;background:#fff}
  .hero-bg{position:relative !important;width:100% !important;height:280px !important;z-index:0}
  .hero-grad{display:none !important}
  .hero-inner{padding:32px 20px 48px !important;grid-template-columns:1fr !important;gap:18px;max-width:100% !important;display:block !important}
  .hero-l{order:1;width:100% !important;max-width:100% !important}
  .hero-eye{margin-bottom:14px;font-size:.72rem}
  .hero-h1{font-size:clamp(2.1rem,9vw,2.6rem);line-height:1.06;margin-bottom:16px;letter-spacing:-.02em}
  .hero-p{font-size:.96rem;line-height:1.6;margin-bottom:18px;max-width:100% !important}
  .hero-btns{width:100%;gap:10px;margin-top:6px;display:flex}
  .hero-btns .btn{flex:1;justify-content:center;padding:13px 14px;font-size:.88rem;white-space:nowrap}
  .hero-btns .btn svg{display:none}
}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto;padding:120px 5vw 90px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.hero-l{order:1}

.hero-eye{display:flex;align-items:center;gap:12px;font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bl);margin-bottom:24px;opacity:0;animation:up .8s .2s forwards}
.hero-eye::before{content:'';width:34px;height:2px;background:var(--bl)}

.hero-h1{font-family:var(--head);font-weight:800;font-size:clamp(2.6rem,5vw,5rem);line-height:1.02;letter-spacing:-.025em;color:var(--ink);margin-bottom:26px}
.hero-h1 .row{display:block;overflow:hidden}
.hero-h1 .row span{display:block;opacity:0;transform:translateY(70px);animation:slideup .9s forwards}
.hero-h1 .row:nth-child(1) span{animation-delay:.3s}
.hero-h1 .row:nth-child(2) span{animation-delay:.46s}
.hero-h1 .row:nth-child(3) span{animation-delay:.62s}
.hero-h1 .acc{color:var(--bl)}

.hero-p{font-size:1.06rem;font-weight:400;line-height:1.7;color:var(--ink2);max-width:480px;margin-bottom:8px;opacity:0;animation:up 1s .8s forwards}

.hero-r{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;opacity:0;animation:up 1s 1s forwards}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;border-radius:100px;font-family:var(--sans);font-weight:600;font-size:.95rem;letter-spacing:.01em;transition:all .35s cubic-bezier(.2,.8,.2,1);cursor:pointer;border:none}
.btn svg{width:17px;height:17px}
.btn-s{background:var(--bl);color:#fff;box-shadow:0 8px 24px rgba(45,106,184,.3)}
.btn-s:hover{background:var(--bl2);transform:translateY(-3px);box-shadow:0 14px 36px rgba(45,106,184,.4)}
.btn-o{background:#fff;color:var(--ink);border:1.5px solid var(--bd)}
.btn-o:hover{border-color:var(--bl);color:var(--bl);transform:translateY(-2px)}

/* hero featured photo card (right column when text reordered) */
.hero-r .hero-card{width:100%;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px rgba(20,40,70,.18);aspect-ratio:4/3}
.hero-r .hero-card img{width:100%;height:100%;object-fit:cover}

.hero-scr{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu)}
.hero-scr .bar{width:1px;height:38px;background:linear-gradient(180deg,var(--bl),transparent);animation:drip 1.8s infinite}
@media(max-width:900px){.hero-scr{display:none}}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top;opacity:0}40%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);transform-origin:bottom;opacity:0}}
@keyframes slideup{to{opacity:1;transform:translateY(0)}}
@keyframes up{to{opacity:1}}

/* TICKER */
.ticker{background:var(--bl);padding:18px 0;overflow:hidden}
.ticker-w{display:flex;gap:60px;animation:tick 50s linear infinite;white-space:nowrap}
.ti{font-family:var(--sans);font-weight:600;font-size:1.1rem;letter-spacing:.01em;color:rgba(255,255,255,.78);display:flex;align-items:center;gap:60px}
.ti em{color:#fff;font-style:normal;font-weight:700}
.ti::after{content:'◆';color:rgba(255,255,255,.4);font-size:.5rem}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTION BASE */
.sec{padding:120px 5vw}
.slbl{display:flex;align-items:center;gap:14px;font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.slbl::before{content:'';width:26px;height:2px;background:currentColor}
.sh2{font-family:var(--head);font-weight:800;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.04;letter-spacing:-.025em}
.sh2 em{font-style:normal;font-weight:800;color:var(--bl)}

/* SERVICES — grid cards */
.sec-sv{background:#fff}
.sv-head{max-width:1400px;margin:0 auto 60px;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end}
@media(max-width:768px){.sv-head{grid-template-columns:1fr;gap:16px}}
.sv-head .slbl{color:var(--bl)}
.sv-head .sh2{color:var(--ink)}
.sv-head .sh2 em{color:var(--bl)}
.sv-aside{font-size:.98rem;color:var(--mu);max-width:250px;line-height:1.65}

.sv-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1100px){.sv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sv-grid{grid-template-columns:1fr}}

.sv-card{position:relative;overflow:hidden;aspect-ratio:3/4;cursor:pointer;background:var(--lt);border-radius:16px;box-shadow:0 6px 20px rgba(20,40,70,.07);transition:transform .4s,box-shadow .4s}
.sv-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(20,40,70,.18)}
.sv-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;filter:brightness(.82)}
.sv-card:hover img{transform:scale(1.08);filter:brightness(.62)}
.sv-card-body{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:26px 22px;background:linear-gradient(180deg,transparent 30%,rgba(15,23,34,.92) 100%)}
.sv-card-num{font-family:var(--sans);font-weight:600;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sky);margin-bottom:8px}
.sv-card h3{font-family:var(--head);font-weight:700;font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.1;letter-spacing:-.01em;color:#fff;margin-bottom:10px}
.sv-card h3 em{font-style:normal;font-weight:700;color:var(--sky)}
.sv-card p{font-size:.86rem;line-height:1.55;color:rgba(255,255,255,0);max-width:260px;transition:color .4s,max-height .4s;max-height:0;overflow:hidden}
.sv-card:hover p{color:rgba(255,255,255,.82);max-height:90px}
.sv-card-arrow{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transform:translateY(-6px);transition:all .4s}
.sv-card:hover .sv-card-arrow{opacity:1;transform:translateY(0)}
.sv-card-arrow svg{width:15px;height:15px}

/* DEPOIMENTOS — claro */
.sec-dep{background:var(--lt)}
.sec-dep .slbl{color:var(--bl)}
.sec-dep .sh2{color:var(--ink)}
.sec-dep .sh2 em{color:var(--bl)}
.dep-head{max-width:1400px;margin:0 auto 56px;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end}
@media(max-width:768px){.dep-head{grid-template-columns:1fr;gap:16px}}
.dep-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.dep-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.dep-grid{grid-template-columns:1fr}}
.dep-card{background:#fff;border:1px solid var(--bd);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:20px;box-shadow:0 6px 20px rgba(20,40,70,.05);transition:transform .3s,box-shadow .3s}
.dep-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,40,70,.12)}
.dep-stars{display:flex;gap:4px}
.dep-stars span{color:#f5a623;font-size:1rem}
.dep-text{font-size:.98rem;line-height:1.7;color:var(--ink2);flex:1}
.dep-author{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--bd)}
.dep-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--bl),var(--sky));display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:1rem;color:#fff;flex-shrink:0}
.dep-name{font-family:var(--head);font-weight:600;font-size:.98rem;color:var(--ink)}
.dep-city{font-family:var(--sans);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--mu);margin-top:2px}

/* ABOUT — claro com imagem */
.sec-ab{background:#fff}
.sec-ab .slbl{color:var(--bl)}
.sec-ab .sh2{color:var(--ink)}
.sec-ab .sh2 em{color:var(--bl)}
.ab-wrap{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
@media(max-width:900px){.ab-wrap{grid-template-columns:1fr;gap:48px}}
.ab-img{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--lt);box-shadow:0 30px 70px rgba(20,40,70,.16)}
.ab-img img{width:100%;height:100%;object-fit:cover}
.ab-txt h2{font-family:var(--head);font-weight:800;font-size:clamp(2rem,3.8vw,3.4rem);line-height:1.05;letter-spacing:-.025em;color:var(--ink);margin-bottom:24px}
.ab-txt h2 em{font-style:normal;font-weight:800;color:var(--bl)}
.ab-txt p{font-size:1.04rem;line-height:1.75;color:var(--ink2);max-width:500px;margin-bottom:16px}
.ab-stats{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:30px;border-top:1px solid var(--bd)}
@media(max-width:500px){.ab-stats{grid-template-columns:1fr 1fr}}
.as-n{font-family:var(--head);font-weight:800;font-size:2.6rem;line-height:1;color:var(--bl)}
.as-n em{font-style:normal;font-weight:800;color:var(--sky)}
.as-l{font-family:var(--sans);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:var(--mu);margin-top:6px;line-height:1.4}

/* CTA — faixa azul */
.sec-cta{background:linear-gradient(135deg,var(--bl) 0%,var(--bl2) 100%);padding:80px 5vw}
.cta-w{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}
@media(max-width:768px){.cta-w{grid-template-columns:1fr;gap:26px}}
.cta-t{font-family:var(--head);font-weight:800;font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.08;letter-spacing:-.02em;color:#fff}
.cta-t em{font-style:normal;font-weight:800;color:#bfe0ff}
.cta-ph{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
@media(max-width:768px){.cta-ph{align-items:flex-start}}
.cta-ph .lbl{font-family:var(--sans);font-weight:600;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.cta-ph a{font-family:var(--head);font-weight:800;font-size:clamp(1.8rem,3.2vw,2.6rem);letter-spacing:-.01em;color:#fff;line-height:1;transition:opacity .25s}
.cta-ph a:hover{opacity:.82}

/* CONTACT — claro */
.sec-ct{background:var(--lt)}
.sec-ct .slbl{color:var(--bl)}
.sec-ct .sh2{color:var(--ink)}
.sec-ct .sh2 em{color:var(--bl)}
.ct-wrap{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr;gap:70px}
@media(max-width:900px){.ct-wrap{grid-template-columns:1fr;gap:48px}}
.ct-form{background:#fff;border:1px solid var(--bd);border-radius:20px;padding:46px;box-shadow:0 10px 40px rgba(20,40,70,.08)}
@media(max-width:600px){.ct-form{padding:28px 20px}}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
@media(max-width:560px){.fg{grid-template-columns:1fr}}
.ff{display:flex;flex-direction:column;gap:7px}
.ff.full{grid-column:1/-1}
.ff label{font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mu)}
.ff input,.ff select,.ff textarea{background:var(--lt);border:1px solid var(--bd);border-radius:10px;padding:13px 14px;font-family:var(--sans);font-size:1rem;color:var(--ink);transition:border-color .3s,background .3s;outline:none}
.ff input::placeholder,.ff textarea::placeholder{color:#a9b4c4}
.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:var(--bl);background:#fff}
.ff select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%232d6ab8' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.ff textarea{resize:vertical;min-height:90px}
.fsub{margin-top:10px;width:100%;padding:18px;border:none;border-radius:100px;cursor:pointer;background:var(--bl);font-family:var(--sans);font-weight:600;font-size:1rem;letter-spacing:.01em;color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .35s;box-shadow:0 8px 24px rgba(45,106,184,.3)}
.fsub:hover{background:var(--bl2);transform:translateY(-2px)}
.fsub svg{width:19px;height:19px}
.ct-info{display:flex;flex-direction:column;gap:34px;padding-top:4px}
.ci-lbl{font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bl);margin-bottom:9px}
.ci-val{font-family:var(--head);font-weight:600;font-size:1.4rem;letter-spacing:-.01em;line-height:1.25;color:var(--ink)}
.ci-val a{color:inherit;transition:color .25s}
.ci-val a:hover{color:var(--bl)}
.ci-sub{font-size:.94rem;color:var(--mu);margin-top:4px;line-height:1.5}

/* FOOTER */
footer{background:var(--dk);border-top:1px solid rgba(255,255,255,.06);padding:54px 5vw 36px;color:#fff}
.ft{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center}
@media(max-width:768px){.ft{grid-template-columns:1fr;text-align:center;gap:18px}}
.ft-logo img{height:50px}
.ft-tag{font-family:var(--sans);font-size:.98rem;color:rgba(255,255,255,.55);text-align:center;font-style:italic}
.ft-copy{font-family:var(--sans);font-size:.8rem;letter-spacing:.04em;color:rgba(255,255,255,.4);text-align:right;line-height:1.6}
.ft-cnpj{font-size:.74rem;color:rgba(255,255,255,.3);letter-spacing:.06em}
.ft-credit{max-width:1400px;margin:24px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-family:var(--sans);font-size:.76rem;letter-spacing:.04em;color:rgba(255,255,255,.32);text-align:center}
.ft-credit a{color:rgba(255,255,255,.55);transition:color .25s}
.ft-credit a:hover{color:#fff}
@media(max-width:768px){.ft-copy{text-align:center}}

/* WA FLOAT */
.wa{position:fixed;bottom:28px;right:28px;z-index:150;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(37,211,102,.45);transition:transform .3s}
.wa:hover{transform:scale(1.1)}
.wa svg{width:28px;height:28px;color:#fff}
.wa::before{content:'';position:absolute;inset:-5px;border:2px solid #25d366;border-radius:50%;opacity:.4;animation:wap 2s infinite}
@keyframes wap{0%{transform:scale(1);opacity:.4}100%{transform:scale(1.45);opacity:0}}