/* =========================================================
   FLOWY PISCINAS — REFINAMENTO VISUAL V2.4
   Ritmo editorial, densidade equilibrada e movimento profissional
   ========================================================= */

:root{
  --flowy-section:clamp(64px,6.5vw,92px);
  --flowy-radius:30px;
  --flowy-shadow:0 24px 70px rgba(19,84,127,.11);
}

body{overflow-x:hidden}
.site-header{transition:height .25s ease,box-shadow .25s ease,background .25s ease}
.site-header.is-scrolled{background:rgba(252,252,252,.97);box-shadow:0 10px 35px rgba(19,84,127,.09)}
.site-header.is-scrolled .nav{height:68px}
.nav{transition:height .25s ease}
.nav-links>a,.nav-dropdown summary{position:relative;transition:color .2s ease}
.nav-links>a:after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;border-radius:3px;background:#F59055;transform:scaleX(0);transition:transform .22s ease}
.nav-links>a[aria-current="true"]{color:#13547F}.nav-links>a[aria-current="true"]:after{transform:scaleX(1)}
.site-progress{position:fixed;z-index:100;left:0;right:0;top:0;height:3px;pointer-events:none;background:linear-gradient(90deg,#54C5D1,#2F92A7 55%,#F59055);transform:scaleX(0);transform-origin:left center;will-change:transform}

main>section{position:relative;isolation:isolate}
.hero{padding-top:58px}.hero-grid{min-height:620px}.hero-copy h1{max-width:760px}.hero-visual{min-height:565px}
.hero-bottom{transform:translateY(20px);height:58px}

/* Quem somos: de uma longa coluna para um capítulo editorial compacto. */
.about-section{padding:var(--flowy-section) 0;background:
  radial-gradient(circle at 92% 12%,rgba(84,197,209,.15),transparent 25%),
  radial-gradient(circle at 8% 68%,rgba(245,144,85,.09),transparent 22%),
  linear-gradient(180deg,#fff,#f4fafb 62%,#fff)}
.about-section:before{content:"FLOWY";position:absolute;z-index:-1;right:-30px;top:260px;font:800 clamp(100px,19vw,260px)/1 Poppins;color:rgba(19,84,127,.025);letter-spacing:-.08em}
.about-intro{grid-template-columns:1.08fr .92fr;gap:clamp(36px,5vw,72px);align-items:center}
.about-heading h2{font-size:clamp(38px,4.3vw,59px);max-width:780px}
.about-lead{position:relative;gap:10px;padding:25px 28px;border:1px solid rgba(47,146,167,.17);border-radius:0 24px 24px 0;background:rgba(255,255,255,.64);box-shadow:16px 20px 45px rgba(19,84,127,.05)}
.about-lead:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#54C5D1,#F59055)}
.about-lead p{font-size:15px;line-height:1.65}
.about-timeline{gap:0;margin-top:38px;padding:12px;border-radius:28px;background:linear-gradient(120deg,#0e4165,#176b8e);box-shadow:var(--flowy-shadow)}
.about-timeline:before{display:none}
.about-timeline article{min-height:178px;padding:26px 24px 22px 62px;border:0;border-right:1px solid rgba(255,255,255,.13);border-radius:18px;background:transparent}
.about-timeline article:last-child{border-right:0}.about-timeline article:before{left:22px;top:29px;border:5px solid rgba(255,255,255,.18);box-shadow:none}
.about-timeline span{color:#79dce5}.about-timeline h3{font-size:17px;color:#fff}.about-timeline p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.68)}
.founder-story{grid-template-columns:minmax(300px,.72fr) minmax(420px,1.28fr);gap:clamp(40px,6vw,78px);margin-top:62px;padding:30px;border:1px solid rgba(19,84,127,.1);border-radius:40px;background:rgba(255,255,255,.83);box-shadow:var(--flowy-shadow)}
.founder-portrait{max-width:410px;margin:-36px 0 -36px 15px}.founder-portrait img{width:100%;height:560px;min-height:0;max-height:560px;aspect-ratio:auto;object-fit:cover;object-position:center 18%;border-radius:30px;box-shadow:0 28px 65px rgba(19,84,127,.22)}
.founder-signature{left:18px;right:18px;bottom:18px}.founder-copy{padding:12px 24px 12px 0}.founder-copy h2{font-size:clamp(34px,3.6vw,50px)}
.founder-copy>p{font-size:14px;line-height:1.68}.founder-copy blockquote{margin:20px 0;padding:18px 21px;font-size:14px;line-height:1.55}
.about-actions{margin-top:20px}.about-actions .btn{min-height:48px}
.values-section{margin-top:72px}.values-title{grid-template-columns:.48fr 1.52fr;gap:35px}.values-title h2{font-size:clamp(32px,3.7vw,49px);max-width:850px}
.values-list{gap:12px;margin-top:30px}.values-list article{min-height:180px;padding:22px 20px;border-radius:21px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.values-list article:hover{transform:translateY(-7px);border-color:rgba(47,146,167,.45);box-shadow:0 18px 40px rgba(19,84,127,.1)}
.values-list h3{min-height:45px;margin:10px 0 6px;font-size:16px}.values-list p{font-size:11.5px;line-height:1.55}
.about-vision{margin-top:12px;padding:23px 28px;border-radius:21px;background-size:180% 180%;animation:flowyGradient 12s ease infinite}.about-vision strong{font-size:20px}

/* Capítulos de produto mais próximos entre si. */
.statement{padding:90px 0 82px;background:linear-gradient(100deg,#fff 0,#fff 58%,#f1fafb 58%,#f1fafb 100%)}
.statement-grid{gap:clamp(45px,7vw,90px);align-items:center}.statement-copy{padding-top:0}.statement-copy p{font-size:15px;line-height:1.7}
.flow-section{padding:78px 0 84px}.section-center{margin-bottom:38px}.process{position:relative;gap:12px}.process:before{content:"";position:absolute;left:8%;right:8%;top:58px;height:1px;background:linear-gradient(90deg,rgba(84,197,209,.35),rgba(245,144,85,.38))}
.process article{min-height:235px;padding:24px;border-radius:21px;transition:transform .28s ease,box-shadow .28s ease}.process article:nth-child(even){transform:translateY(16px)}.process article:hover{transform:translateY(-7px);box-shadow:0 22px 50px rgba(19,84,127,.13)}.process article:nth-child(even):hover{transform:translateY(8px)}
.process-icon{position:relative;z-index:1}.process h3{margin:28px 0 8px;font-size:18px}.process p{font-size:12px}
.flow-section .centered-action{margin-top:42px}

.features{padding:88px 0 82px}.section-heading{margin-bottom:38px}.feature-explorer{grid-template-columns:minmax(520px,1.05fr) minmax(350px,.95fr);gap:38px}
.feature-phone-stage{min-height:610px}.feature-detail-panel{min-height:445px}.feature-detail{padding:35px;border-radius:27px}.feature-detail h3{font-size:clamp(29px,2.8vw,40px)}
.feature-hotspot{box-shadow:0 10px 28px rgba(19,84,127,.09)}

.report-section{padding:82px 0}.report-v21 .report-grid{gap:42px}.report-device-composition{min-height:590px}.report-copy p,.professional-copy p{font-size:14px;line-height:1.65}
.professional{padding:82px 0}.professional-v21 .professional-grid{gap:45px}.public-profile-demo{min-height:560px}
.ecosystem-v21{padding:82px 0}.ecosystem-story{gap:42px}.ecosystem-visual,.ecosystem-visual img{min-height:480px}.ecosystem-copy h2{font-size:clamp(36px,3.7vw,51px)}
.ecosystem-paths{margin:20px 0}.ecosystem-paths button{padding:12px}

.marketplace{padding:70px 0}.marketplace-card{position:relative;overflow:hidden;padding:45px 50px;border-radius:28px;box-shadow:0 28px 70px rgba(19,84,127,.17)}
.marketplace-card:after{content:"";position:absolute;inset:-100% -30%;pointer-events:none;background:linear-gradient(110deg,transparent 43%,rgba(255,255,255,.11) 49%,transparent 55%);transform:translateX(-35%);transition:transform 1s ease}.marketplace-card:hover:after{transform:translateX(35%)}
.marketplace h2{font-size:clamp(32px,3.7vw,46px)}

.pricing{padding:84px 0 80px}.pricing-v21 .section-center{margin-bottom:36px}.plan-comparison{gap:18px}.plan-side{padding:30px}.plan-free{transform:translateY(18px)}.plan-paid{box-shadow:0 28px 70px rgba(19,84,127,.13)}
.paid-option{transition:transform .25s ease,box-shadow .25s ease}.paid-option:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(19,84,127,.1)}
.pricing-v21 .pricing-note{margin-top:18px}

.contact-section{padding:84px 0;background:
  radial-gradient(circle at 8% 20%,rgba(84,197,209,.18),transparent 22%),
  radial-gradient(circle at 92% 82%,rgba(245,144,85,.13),transparent 24%),#f8fcfc}
.contact-grid{grid-template-columns:.9fr 1.1fr;gap:45px;align-items:center}.contact-copy h2{font-size:clamp(38px,4vw,55px)}.contact-copy>p{font-size:14px}
.contact-channels{grid-template-columns:1fr 1fr;gap:9px;margin-top:24px}.contact-channels>a{min-width:0;padding:12px}.contact-channels b{font-size:10.5px;overflow-wrap:anywhere}.contact-location{margin-top:10px}
.contact-form{padding:30px;border-radius:27px;box-shadow:0 28px 70px rgba(19,84,127,.12)}
.faq{padding:80px 0}.faq-grid{gap:65px}.faq-list details{padding:16px 0}.faq-list summary{font-size:14px}
.closing{padding:78px 0}.closing h2{font-size:clamp(48px,6.2vw,78px)}

/* Entrada progressiva: só é ativada quando o JavaScript está disponível. */
.reveal-ready [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.72,.2,1);transition-delay:calc(var(--reveal-order,0)*70ms)}
.reveal-ready [data-reveal="left"]{transform:translateX(-28px)}.reveal-ready [data-reveal="right"]{transform:translateX(28px)}
.reveal-ready [data-reveal].is-visible{opacity:1;transform:translate(0,0)}

/* Menu e transicoes com maior presenca no desktop. */
@media(min-width:1001px){
  .nav-dropdown summary{
    z-index:1;padding:10px 12px;border-radius:12px;
    transition:color .28s ease,background-color .28s ease,box-shadow .28s ease
  }
  .nav-dropdown summary:hover,.nav-dropdown.is-open summary{
    color:#13547F;background:rgba(84,197,209,.10);box-shadow:inset 0 0 0 1px rgba(47,146,167,.08)
  }
  .nav-dropdown summary span{transition:transform .34s cubic-bezier(.16,1,.3,1)}
  .nav-dropdown[open] summary span{transform:none}
  .nav-dropdown.is-open summary span{transform:rotate(180deg) translateY(-1px)}
  .nav-dropdown .nav-submenu{
    display:block;visibility:hidden;opacity:0;pointer-events:none;
    transform:translate(-50%,-12px) scale(.965);transform-origin:50% 0;
    transition:opacity .24s ease,transform .34s cubic-bezier(.16,1,.3,1),visibility 0s linear .34s;
    will-change:opacity,transform
  }
  .nav-dropdown[open] .nav-submenu{visibility:visible}
  .nav-dropdown.is-open .nav-submenu{
    visibility:visible;opacity:1;pointer-events:auto;transform:translate(-50%,0) scale(1);
    transition-delay:0s
  }
  .nav-dropdown .nav-submenu a{
    opacity:0;transform:translateY(-7px);
    transition:opacity .22s ease,transform .3s cubic-bezier(.16,1,.3,1),background-color .2s ease
  }
  .nav-dropdown.is-open .nav-submenu a{
    opacity:1;transform:translateY(0);
    transition-delay:calc(70ms + (var(--menu-order,0) * 42ms)),calc(70ms + (var(--menu-order,0) * 42ms)),0s
  }
}

@media(min-width:1001px) and (prefers-reduced-motion:no-preference){
  .reveal-ready [data-reveal]{
    opacity:0;transform:translate3d(0,44px,0) scale(.985);
    transition:opacity .78s ease,transform .88s cubic-bezier(.16,1,.3,1);
    transition-delay:calc(var(--reveal-order,0)*90ms);will-change:opacity,transform
  }
  .reveal-ready [data-reveal="left"]{transform:translate3d(-46px,0,0) scale(.985)}
  .reveal-ready [data-reveal="right"]{transform:translate3d(46px,0,0) scale(.985)}
  .reveal-ready [data-reveal="media"]{transform:translate3d(0,38px,0) scale(.95)}
  .reveal-ready [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);will-change:auto}
  .motion-section .section-motion-line{
    position:absolute;z-index:4;top:0;left:50%;width:min(1120px,calc(100% - 80px));height:1px;
    pointer-events:none;background:linear-gradient(90deg,transparent,rgba(84,197,209,.58) 24%,rgba(245,144,85,.45) 76%,transparent);
    opacity:0;transform:translateX(-50%) scaleX(.12);transform-origin:center;
    transition:opacity .7s ease,transform 1.15s cubic-bezier(.16,1,.3,1)
  }
  .motion-section.section-in-view .section-motion-line{opacity:1;transform:translateX(-50%) scaleX(1)}
}

@keyframes flowyGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}

@media(max-width:1120px){
  .founder-portrait{margin:-28px auto}.contact-channels{grid-template-columns:1fr}
  .process:before{display:none}.process article:nth-child(even){transform:none}.process article:nth-child(even):hover{transform:translateY(-7px)}
}

@media(max-width:1000px){
  .hero{padding-top:35px}.hero-grid{min-height:0}.about-intro,.founder-story,.contact-grid{grid-template-columns:1fr}
  .about-lead{max-width:none}.founder-story{padding:26px}.founder-portrait{max-width:440px;margin:-42px auto 0}.founder-portrait img{height:540px;max-height:540px}.founder-copy{padding:10px}
  .values-title{grid-template-columns:1fr}.contact-copy{max-width:none}.contact-channels{grid-template-columns:1fr 1fr}.plan-free{transform:none}
}

@media(max-width:760px){
  :root{--flowy-section:64px}.site-header.is-scrolled .nav{height:64px}.hero-bottom{height:auto;padding:14px;gap:9px;flex-wrap:wrap}
  .about-timeline{grid-template-columns:1fr;padding:9px}.about-timeline article{min-height:0;padding:21px 20px 21px 58px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.about-timeline article:last-child{border-bottom:0}.about-timeline article:before{top:23px}
  .founder-story{margin-top:55px;padding:18px;border-radius:29px}.founder-portrait{margin:-34px auto 0}.founder-portrait img{height:510px;max-height:510px}.founder-copy{padding:15px 5px 5px}.values-section{margin-top:58px}.values-list{grid-template-columns:1fr 1fr}.about-vision{grid-template-columns:1fr}
  .statement{padding:66px 0;background:linear-gradient(180deg,#fff,#f1fafb)}.flow-section,.features,.report-section,.professional,.ecosystem-v21,.pricing,.contact-section,.faq{padding:64px 0}
  .feature-phone-stage{min-height:720px}.report-device-composition{min-height:650px}.public-profile-demo{min-height:520px}.ecosystem-visual,.ecosystem-visual img{min-height:410px}
  .marketplace{padding:58px 0}.marketplace-card{padding:34px 28px}.contact-channels{grid-template-columns:1fr}.contact-form{padding:26px 20px}
}

@media(max-width:560px){
  .about-lead{padding:21px}.about-heading h2,.founder-copy h2,.contact-copy h2{font-size:34px}.founder-story{padding:13px}.founder-portrait img{height:450px;max-height:450px;object-position:center 16%}.founder-copy blockquote{font-size:13px}
  .values-list{grid-template-columns:1fr}.values-list article{min-height:0}.about-vision{padding:22px}.about-vision strong{font-size:18px}
  .process article{min-height:0}.feature-detail{padding:24px}.contact-form-head h3{font-size:24px}.closing{padding:64px 0}
}

@media(prefers-reduced-motion:reduce){
  .about-vision{animation:none}.reveal-ready [data-reveal]{opacity:1;transform:none;transition:none}.site-header,.nav,.marketplace-card:after,.nav-dropdown summary,.nav-dropdown summary span,.nav-dropdown .nav-submenu,.nav-dropdown .nav-submenu a{transition:none}
}
