/* AquaVera final responsive polish — loaded after the base styles */
:root{
  --container:min(1240px,calc(100% - 64px));
  --section-space:clamp(76px,8vw,112px);
  --card-radius:22px;
  --soft-shadow:0 18px 55px rgba(5,43,70,.09);
}
html{font-size:16px;scroll-padding-top:100px}
body{font-size:1rem;line-height:1.65;background:#fff}
.site-shell{overflow:clip}
.container{max-width:1240px}
img{height:auto}
main{min-width:0}
section{min-width:0}

/* Safe progressive enhancement: content remains visible if JavaScript fails. */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(22px)}
.js .reveal.is-visible{opacity:1;transform:none}
.image-motion{opacity:1;clip-path:none;transform:none}
.js .image-motion{opacity:0;clip-path:inset(8% 0 8% 0 round 24px);transform:translateY(22px) scale(.97)}
.js .image-motion.is-image-visible{opacity:1;clip-path:inset(0 round 0);transform:none}

/* Typography and rhythm */
.section,.page-section{padding:var(--section-space) 0}
.section-heading,.inner-heading{margin-bottom:clamp(34px,4vw,52px)}
.section-heading h2,.solution__content h2,.benefits__intro h2,.industries__content h2,.faq__intro h2,
.inner-heading h2,.content-copy h2{
  text-wrap:balance;
  letter-spacing:-.045em;
}
.section-heading p,.inner-heading p,.lead-copy,.content-copy>p,.industries__content>p,.faq__intro>p{
  max-width:680px;
  line-height:1.75;
}
.eyebrow{line-height:1.3}
.btn{min-height:48px;padding:13px 20px;border-radius:12px;white-space:nowrap}
.btn--small{min-height:42px;padding:10px 15px}

/* Header */
.site-header{transition:background .25s ease,box-shadow .25s ease,top .25s ease}
.nav-wrap{height:78px;gap:24px}
.brand{flex:none}
.brand img{width:184px;height:auto}
.desktop-nav{gap:24px}
.desktop-nav a,.nav-dropdown>button{font-size:.84rem;line-height:1;white-space:nowrap}
.nav-dropdown>button{gap:7px}
.nav-chevron{width:13px;height:13px;transition:transform .22s ease}
.nav-dropdown:hover .nav-chevron,.nav-dropdown:focus-within .nav-chevron{transform:rotate(180deg)}
.nav-dropdown__menu{width:286px;padding:11px;top:calc(100% + 17px)}
.nav-dropdown__menu a{padding:13px 14px}
.nav-dropdown__menu strong{font-size:.83rem}
.nav-dropdown__menu small{font-size:.69rem;line-height:1.45;margin-top:4px}
.nav-actions{flex:none}
.nav-actions .btn--small{font-size:.77rem}

/* Home hero */
.hero{min-height:850px;padding:156px 0 96px}
.hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);gap:36px;min-height:520px}
.hero__content{max-width:680px}
.hero h1{font-size:clamp(3.7rem,6.3vw,6rem);margin:18px 0 24px}
.hero__lead{max-width:600px;font-size:1.08rem;line-height:1.72}
.hero__actions{margin-top:30px}
.hero__trust{margin-top:32px}
.hero__visual{height:560px;min-width:0}
.hero__halo{width:470px;height:470px;right:-5px;top:48px}
.hero__product{width:535px;right:-45px;top:5px}
.float-card{padding:12px 15px;border-radius:15px}
.float-card--top{right:0;top:96px}
.float-card--left{left:0;top:284px}
.float-card--bottom{right:20px;bottom:42px}
.hero__stats{margin-top:16px;padding:24px 12px}
.hero__stats strong{font-size:1.55rem}
.hero__stats span:last-child{font-size:.73rem;text-align:center}
.hero__wave{height:72px}

/* Home sections */
.problem-grid{gap:20px}
.problem-card{padding:28px;min-height:220px}
.problem-card h3{font-size:1.02rem}
.problem-card p{font-size:.83rem;line-height:1.65}
.solution__grid{gap:70px}
.solution__visual{min-height:570px}
.solution__content{max-width:610px}
.feature-list>div{padding:18px 0}
.feature-list p{font-size:.82rem;line-height:1.6}
.benefits__inner{gap:54px}
.benefit-card{min-height:220px}
.benefit-card--wide{min-height:195px}
.steps{gap:12px}
.step{min-height:225px;padding:26px 20px}
.step p{font-size:.78rem;line-height:1.65}
.industries__layout{gap:64px}
.industry-tags{gap:8px}
.comparison-table{max-width:960px}
.review-grid{gap:20px}
.review-card{height:100%;padding:27px}
.review-card blockquote{font-size:.9rem;line-height:1.72}
.faq__layout{gap:74px}
.accordion-item button{min-height:68px}
.accordion-content p{line-height:1.7}
.final-cta__inner,.page-cta__inner{gap:42px}

/* Inner pages */
.inner-hero{min-height:500px;padding:170px 0 92px}
.inner-hero__inner{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:64px}
.inner-hero__copy h1{font-size:clamp(3.15rem,5.5vw,5rem);margin:16px 0 20px}
.inner-hero__copy>p{max-width:650px;font-size:1.02rem;line-height:1.72}
.inner-hero__actions{margin-top:27px}
.inner-hero__visual{min-height:300px}
.inner-hero__card{max-width:410px;padding:27px}
.inner-hero__card h3{font-size:1.15rem}
.inner-hero__card li{font-size:.8rem;line-height:1.55}
.inner-hero__visual>img{width:min(525px,112%)}
.content-grid{gap:64px}
.content-copy{max-width:610px}
.content-copy>p{font-size:.96rem}
.check-list{gap:11px;margin:22px 0}
.check-list li{font-size:.86rem;line-height:1.58}
.media-panel{min-height:450px}
.media-panel img{width:520px}
.media-panel__badge{max-width:calc(100% - 44px)}
.metric-strip{gap:14px}
.metric-strip>div{min-height:125px;padding:26px 18px}
.info-card-grid,.service-card-grid,.industry-grid{gap:20px}
.info-card,.service-card{height:100%;padding:27px}
.info-card p,.service-card p{line-height:1.65}
.split-cards{gap:22px}
.solution-card{min-height:385px;padding:36px}
.solution-card h3{max-width:500px}
.process-line{gap:18px}
.process-item{height:100%;min-height:190px}
.feature-band{gap:16px}
.feature-band>div{min-height:130px}
.package-grid{gap:22px;align-items:stretch}
.package-card{height:100%;display:flex;flex-direction:column}
.package-card ul{flex:1}
.industry-tile{min-height:205px}
.case-study__copy{padding:46px}
.faq-groups{gap:44px}
.faq-group{grid-template-columns:230px minmax(0,1fr);gap:40px}
.contact-layout{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:32px}
.contact-detail-card{padding:21px}
.contact-form-card{padding:34px}
.contact-form textarea{resize:vertical;min-height:130px}
.page-cta{padding:64px 0}
.page-cta h2{font-size:clamp(2rem,3.8vw,3.15rem)}

/* Footer */
.footer{padding:68px 0 24px}
.footer__top{grid-template-columns:1.25fr .72fr .78fr 1.15fr;gap:46px}
.footer__brand img{width:185px}
.footer__brand p,.footer__newsletter p{font-size:.78rem;line-height:1.7}
.footer__top a{line-height:1.5}
.footer__contact-strip{margin-top:40px}
.footer__bottom{margin-top:22px}

/* Forms and modal */
.field-grid{gap:14px}
.contact-form,.consultation-form{gap:14px}
.contact-form input,.contact-form textarea,.contact-form select,
.consultation-form input,.consultation-form textarea,.consultation-form select{min-height:48px}
.modal__dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}
.modal__close{position:sticky;float:right;top:0;z-index:3}

/* Tablet / compact desktop */
@media (max-width:1180px){
  :root{--container:min(100% - 48px,1080px)}
  .desktop-nav{display:none!important}
  .menu-toggle{display:flex!important}
  .nav-actions .btn{display:none!important}
  .nav-phone{display:grid!important}
  .mobile-menu{display:block!important;position:absolute;left:24px;right:24px;top:76px;border-radius:18px;background:#fff;box-shadow:0 28px 70px rgba(2,24,43,.22);visibility:hidden;opacity:0;transform:translateY(-10px);transition:.22s ease}
  .mobile-menu.is-open{visibility:visible;opacity:1;transform:none}
  .mobile-menu__inner{padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .mobile-menu a{padding:12px;color:var(--navy);font-size:.85rem;font-weight:750;border:0;border-radius:10px}
  .mobile-menu a:hover,.mobile-menu a.is-active{background:#edf8fd;color:var(--blue)}
  .mobile-menu .btn{display:inline-flex!important;grid-column:1/-1;margin-top:8px;color:#fff}
  .hero__inner{grid-template-columns:minmax(0,1fr) minmax(380px,.82fr);gap:18px}
  .hero h1{font-size:clamp(3.4rem,6.8vw,5.4rem)}
  .hero__visual{height:520px}
  .hero__product{width:500px;right:-85px}
  .float-card--left{left:-6px}
  .solution__grid,.benefits__inner,.industries__layout,.faq__layout{gap:46px}
  .inner-hero__inner{gap:40px}
  .inner-hero__copy h1{font-size:clamp(3rem,5.7vw,4.55rem)}
  .content-grid{gap:44px}
  .footer__top{gap:32px}
}

@media (max-width:980px){
  :root{--container:min(100% - 40px,900px);--section-space:82px}
  .topbar{display:none}
  .site-header{top:0}
  .site-header:not(.is-scrolled){background:rgba(5,25,45,.28);backdrop-filter:blur(12px)}
  .nav-wrap{height:74px}
  .mobile-menu{top:72px}
  .hero{padding:132px 0 82px;min-height:auto}
  .hero__inner{grid-template-columns:1fr;gap:14px}
  .hero__content{max-width:760px;text-align:left}
  .hero__lead{margin:0}
  .hero__actions,.hero__trust{justify-content:flex-start}
  .hero__visual{height:500px;max-width:650px;width:100%;margin:0 auto}
  .hero__product{left:50%;right:auto;transform:none;translate:-50% 0;width:535px}
  .hero__halo{left:50%;right:auto;transform:translateX(-50%)}
  .float-card--top{right:4%}.float-card--left{left:4%}.float-card--bottom{right:8%}
  .hero__stats{grid-template-columns:repeat(4,1fr)}
  .problem-grid{grid-template-columns:repeat(2,1fr)}
  .solution__grid,.benefits__inner,.industries__layout,.faq__layout,
  .inner-hero__inner,.content-grid,.contact-layout{grid-template-columns:1fr}
  .solution__content,.content-copy,.industries__content{max-width:760px}
  .solution__visual{max-width:650px;width:100%;margin:auto}
  .benefits__intro{max-width:760px}
  .benefit-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step-arrow{display:none}
  .review-grid{grid-template-columns:repeat(2,1fr);align-items:stretch}
  .review-card--featured{transform:none}
  .review-grid .review-card:last-child{grid-column:1/-1;max-width:560px;width:100%;justify-self:center}
  .inner-hero{padding:132px 0 80px;min-height:auto}
  .inner-hero__copy{max-width:760px}
  .inner-hero__visual{min-height:270px}
  .inner-hero__card{max-width:none}
  .inner-hero__visual.has-product-image{min-height:420px}
  .media-panel{max-width:700px;width:100%;margin-inline:auto}
  .info-card-grid,.service-card-grid,.industry-grid{grid-template-columns:repeat(2,1fr)}
  .process-line{grid-template-columns:repeat(2,1fr)}
  .process-item:nth-child(2):after{display:none}
  .symptom-grid,.feature-band{grid-template-columns:repeat(2,1fr)}
  .package-grid{grid-template-columns:repeat(2,1fr)}
  .package-card:last-child{grid-column:1/-1;max-width:600px;width:100%;justify-self:center}
  .package-card--featured{transform:none}
  .faq-group{grid-template-columns:1fr;gap:16px}
  .faq-group__title{position:static}
  .contact-details{grid-template-columns:repeat(2,1fr)}
  .contact-details .inner-heading,.contact-map{grid-column:1/-1}
  .footer__top{grid-template-columns:1.2fr 1fr 1fr}
  .footer__newsletter{grid-column:1/-1;max-width:600px}
}

@media (max-width:720px){
  :root{--container:min(100% - 30px,680px);--section-space:70px}
  html{scroll-padding-top:82px}
  body{font-size:.96rem}
  .nav-wrap{height:68px}
  .brand img{width:160px}
  .nav-phone{width:40px;height:40px}
  .menu-toggle{width:42px;height:42px}
  .mobile-menu{left:15px;right:15px;top:66px;max-height:calc(100dvh - 82px);overflow:auto}
  .mobile-menu__inner{grid-template-columns:1fr;padding:12px}
  .mobile-menu a{padding:11px 12px}
  .hero{padding:112px 0 72px}
  .hero__content{text-align:left}
  .hero h1{font-size:clamp(3rem,13vw,4.35rem);line-height:.98;margin:16px 0 20px}
  .hero__lead{font-size:.98rem;line-height:1.68}
  .hero__actions{flex-direction:column;align-items:stretch;margin-top:25px}
  .hero__actions .btn{width:100%}
  .hero__trust{margin-top:27px}
  .hero__visual{height:410px;margin-top:8px}
  .hero__product{width:min(435px,112vw);top:0}
  .hero__halo{width:350px;height:350px;top:38px}
  .float-card{padding:9px 11px;gap:9px}
  .float-card strong{font-size:.7rem}.float-card small{font-size:.59rem}
  .float-card__icon,.mini-ring{width:32px;height:32px}
  .float-card--top{right:-6px;top:70px}
  .float-card--left{left:-5px;top:240px}
  .float-card--bottom{display:none}
  .hero__stats{grid-template-columns:repeat(2,1fr);gap:0;padding:14px 8px;margin-top:4px}
  .hero__stats div{padding:13px 8px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
  .hero__stats div:nth-child(2n){border-right:0}
  .hero__stats div:nth-last-child(-n+2){border-bottom:0}
  .hero__stats strong{font-size:1.35rem}
  .hero__wave{height:42px}
  .section-heading h2,.solution__content h2,.benefits__intro h2,.industries__content h2,.faq__intro h2,
  .inner-heading h2,.content-copy h2{font-size:clamp(2.15rem,10vw,3rem);line-height:1.08}
  .section-heading p,.inner-heading p,.lead-copy,.content-copy>p,.industries__content>p,.faq__intro>p{font-size:.94rem}
  .problem-grid,.benefit-grid,.steps,.review-grid,.info-card-grid,.service-card-grid,.industry-grid,.process-line,.symptom-grid,.feature-band,.package-grid,.contact-details{grid-template-columns:1fr}
  .problem-card{min-height:auto;padding:24px}
  .solution__grid{gap:28px}
  .solution__visual{min-height:430px}
  .solution__visual>img{left:50%;transform:none;translate:-50% 0;width:min(475px,125vw)}
  .solution__blob{width:330px;height:330px}
  .quality-card{left:0;bottom:18px;max-width:245px}
  .warranty-seal{width:82px;height:82px;right:0;top:48px}
  .benefit-card,.benefit-card--wide{grid-column:auto;min-height:205px}
  .industries__panel{grid-template-columns:1fr}
  .industry-card--main{grid-column:auto}
  .comparison-table{border-radius:18px;overflow-x:auto}
  .comparison-row{min-width:650px}
  .review-grid .review-card:last-child,.package-card:last-child{grid-column:auto;max-width:none}
  .review-card{padding:24px}
  .faq__layout{gap:30px}
  .accordion-item button{padding:18px 17px;min-height:62px;gap:14px}
  .accordion-item button span{font-size:.86rem}
  .accordion-content p{padding:0 17px 18px;font-size:.82rem}
  .final-cta,.page-cta{padding:58px 0}
  .final-cta__inner,.page-cta__inner{flex-direction:column;align-items:flex-start;gap:28px}
  .final-cta__actions,.page-cta__actions{width:100%;min-width:0;align-items:stretch;flex-direction:column}
  .final-cta__actions .btn,.page-cta__actions .btn{width:100%}
  .inner-hero{padding:112px 0 68px}
  .inner-hero__copy h1{font-size:clamp(2.75rem,12vw,3.8rem);line-height:1.02}
  .inner-hero__copy>p{font-size:.95rem}
  .inner-hero__actions{flex-direction:column;align-items:stretch}
  .inner-hero__actions .btn{width:100%}
  .inner-hero__visual{min-height:240px}
  .inner-hero__visual.has-product-image{min-height:350px}
  .inner-hero__card{padding:23px;border-radius:20px}
  .inner-hero__visual>img{width:min(450px,123vw)}
  .inner-hero__ring{width:260px;height:260px}
  .content-grid{gap:34px}
  .content-copy{max-width:none}
  .media-panel{min-height:370px;border-radius:23px}
  .media-panel img{width:min(470px,125vw)}
  .media-panel__badge{left:16px;right:16px;bottom:16px;max-width:none;padding:13px 15px}
  .metric-strip{grid-template-columns:repeat(2,1fr);gap:10px}
  .metric-strip>div{min-height:105px;padding:20px 12px}
  .info-card,.service-card,.industry-tile,.package-card{padding:24px}
  .solution-card{min-height:330px;padding:28px}
  .solution-card a{left:28px;bottom:27px}
  .process-item{min-height:auto;padding:24px}
  .process-item:after{display:none!important}
  .test-panel,.case-study{grid-template-columns:1fr}
  .test-panel__copy,.test-panel__list,.case-study__copy{padding:30px 24px}
  .case-study__metrics{min-height:290px}
  .faq-group__title h2{font-size:1.35rem}
  .contact-form-card{padding:25px 19px;border-radius:21px}
  .field-grid{grid-template-columns:1fr}
  .contact-map{min-height:190px}
  .footer{padding-top:56px}
  .footer__top{grid-template-columns:repeat(2,1fr);gap:34px 24px}
  .footer__brand,.footer__newsletter{grid-column:1/-1}
  .footer__contact-strip,.footer__bottom{flex-direction:column;align-items:flex-start;gap:8px}
  .footer__contact-strip{margin-top:32px}
  .footer__bottom{margin-top:20px}
  .whatsapp-float{width:50px;height:50px;right:14px;bottom:14px}
  .modal__dialog{padding:25px 18px;border-radius:22px}
  .modal h2{font-size:1.75rem}
}

@media (max-width:420px){
  :root{--container:calc(100% - 24px)}
  .brand img{width:150px}
  .nav-actions{gap:6px}
  .hero h1{font-size:clamp(2.8rem,14vw,3.65rem)}
  .hero__visual{height:380px}
  .hero__product{width:min(405px,108vw)}
  .float-card--top{right:-18px}.float-card--left{left:-18px}
  .hero__trust{align-items:flex-start}
  .avatars span{width:35px;height:35px}
  .metric-strip{grid-template-columns:1fr 1fr}
  .metric-strip strong{font-size:1.45rem}
  .contact-detail-card{padding:18px}
  .footer__top{grid-template-columns:1fr}
  .footer__brand,.footer__newsletter{grid-column:auto}
}

@media (prefers-reduced-motion:reduce){
  .js .reveal,.js .image-motion{opacity:1;transform:none;clip-path:none}
}
