:root {
    --background:#edf7f8;
    --foreground:#16323e;
    --muted:#e0edef;
    --muted-foreground:#607783;
    --card:#fff;
    --border:#cbdde0;
    --input:#b8ced2;
    --primary:#126d80;
    --accent:#f7bd31;
    --secondary:#3b8c7b;
    --navy:#122b37;
    --display:'Space Grotesk',sans-serif;
    --body:'DM Sans',sans-serif;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
}
body {
    margin:0;
    background:var(--background);
    color:var(--foreground);
    font-family:var(--body);
}
body.drawer-open {
    overflow:hidden;
}
a {
    color:inherit;
    text-decoration:none;
}
button,input,textarea {
    font:inherit;
}
button,a {
    -webkit-tap-highlight-color:transparent;
}
:focus-visible {
    outline:3px solid var(--accent);
    outline-offset:3px;
}
.container {
    width:min(1160px,calc(100% - 44px));
    margin:0 auto;
}
.page {
    overflow:hidden;
}
.site-header {
    position:sticky;
    top:0;
    z-index:40;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--border);
    transition:box-shadow .25s;
}
.site-header.scrolled {
    box-shadow:0 10px 30px rgba(21,65,78,.1);
}
.header-inner {
    max-width:1220px;
    margin:auto;
    min-height:78px;
    display:flex;
    align-items:center;
    gap:24px;
    padding:0 22px;
}
.brand {
    display:inline-flex;
    align-items:center;
    gap:11px;
    font-family:var(--display);
    font-weight:700;
    letter-spacing:-.04em;
    font-size:1.18rem;
    color:var(--foreground);
    white-space:nowrap;
}
.brand-mark {
    width:38px;
    height:38px;
    border-radius:11px 11px 11px 3px;
    background:var(--primary);
    display:grid;
    place-items:center;
    color:#fff;
    position:relative;
    overflow:hidden;
}
.brand-mark:after {
    content:"";
    width:26px;
    height:9px;
    border-top:2px solid var(--accent);
    border-radius:50%;
    position:absolute;
    bottom:9px;
    left:6px;
    transform:rotate(-13deg);
}
.brand small {
    display:block;
    font:600 .54rem var(--body);
    letter-spacing:.18em;
    color:var(--secondary);
    text-transform:uppercase;
    margin-top:1px;
}
.desktop-nav {
    display:flex;
    align-items:center;
    gap:4px;
    margin-left:auto;
}
.nav-link {
    padding:9px 12px;
    border-radius:7px;
    font-size:.9rem;
    color:var(--muted-foreground);
    transition:.2s;
}
.nav-link:hover,.nav-link.active {
    color:var(--primary);
    background:var(--muted);
}
.btn {
    border:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    cursor:pointer;
    font-weight:700;
    font-size:.88rem;
    border-radius:8px;
    padding:12px 18px;
    transition:transform .2s,background .2s,box-shadow .2s;
}
.btn:hover {
    transform:translateY(-2px);
}
.btn-primary {
    background:var(--primary);
    color:#fff;
    box-shadow:0 8px 18px rgba(12,105,126,.18);
}
.btn-primary:hover {
    background:#0d5d6d;
    color:#fff;
}
.btn-accent {
    background:var(--accent);
    color:#20343a;
}
.btn-outline {
    color:var(--primary);
    border:1px solid var(--primary);
    background:transparent;
}
.btn-outline:hover {
    background:var(--primary);
    color:#fff;
}
.btn-ghost {
    background:transparent;
    color:var(--primary);
    padding-left:0;
    padding-right:0;
}
.menu-toggle {
    display:none;
    border:0;
    background:transparent;
    color:var(--primary);
    cursor:pointer;
    padding:8px;
    font-size:1.35rem;
}
.eyebrow {
    font:700 .73rem var(--body);
    letter-spacing:.17em;
    text-transform:uppercase;
    color:var(--secondary);
    display:flex;
    align-items:center;
    gap:9px;
}
.eyebrow:before {
    content:"";
    width:28px;
    height:2px;
    background:var(--accent);
}
.hero {
    min-height:660px;
    background:linear-gradient(115deg,#112d39 0%,#176b7b 56%,#278c93 100%);
    color:#fff;
    position:relative;
    isolation:isolate;
}
.hero:before {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    opacity:.26;
    background-image:linear-gradient(135deg,transparent 49.5%,rgba(255,255,255,.22) 50%,transparent 50.5%),linear-gradient(45deg,transparent 49.5%,rgba(255,255,255,.12) 50%,transparent 50.5%);
    background-size:80px 80px;
}
.hero:after {
    content:"";
    position:absolute;
    z-index:-1;
    width:600px;
    height:600px;
    border-radius:50%;
    right:-190px;
    top:-180px;
    background:radial-gradient(circle,rgba(94,218,218,.36),transparent 68%);
}
.hero-grid {
    min-height:660px;
    display:grid;
    align-items:center;
    grid-template-columns:1fr .86fr;
    gap:50px;
}
.hero-copy {
    padding:80px 0;
    animation:rise .65s both;
}
.hero h1 {
    max-width:720px;
    font:700 clamp(3rem,6.2vw,5.7rem)/.96 var(--display);
    letter-spacing:-.075em;
    margin:18px 0 25px;
}
.hero p {
    max-width:570px;
    color:rgba(255,255,255,.78);
    font-size:1.08rem;
    line-height:1.7;
    margin-bottom:32px;
}
.hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.hero .btn-outline {
    border-color:rgba(255,255,255,.46);
    color:#fff;
}
.hero-kicker {
    color:var(--accent);
}
.hero-visual {
    position: relative;
    min-height: 470px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-pump-image {
    width: min(420px, 80vw);
    height: 420px;
    object-fit: contain;
    display: block;
}

/* Keep the existing stamp position/style */
.hero-stamp {
    position: absolute;
}
.pump-orbit {
    width:min(420px,80vw);
    aspect-ratio:1;
    border:1px solid rgba(156,236,235,.42);
    border-radius:50%;
    position:relative;
    transform:rotate(-22deg);
}
.pump-orbit:before,.pump-orbit:after {
    content:"";
    position:absolute;
    border:1px solid rgba(156,236,235,.28);
    border-radius:50%;
    inset:34px;
}
.pump-orbit:after {
    inset:78px;
}
.pump-core {
    position:absolute;
    width:185px;
    height:255px;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) rotate(22deg);
    border-radius:84px 84px 22px 22px;
    background:linear-gradient(90deg,#a8d2d0,#e4f2ed 43%,#67a7a8 75%,#2d717c);
    box-shadow:16px 20px 0 rgba(8,34,46,.22),inset:-10px 0 0 rgba(255,255,255,.2);
}
.pump-core:before {
    content:"";
    position:absolute;
    left:40px;
    right:40px;
    top:35px;
    height:22px;
    border-radius:50%;
    background:#3c8189;
    border:8px solid #c1e0da;
}
.pump-core:after {
    content:"AQUA1";
    position:absolute;
    top:95px;
    left:48px;
    color:#154957;
    font:700 14px var(--display);
    transform:rotate(90deg);
    letter-spacing:.08em;
}
.orbit-dot {
    position:absolute;
    width:14px;
    height:14px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 7px rgba(246,194,71,.14);
}
.dot-a {
    top:23px;
    left:102px;
}
.dot-b {
    bottom:67px;
    right:12px;
    background:#9ceceb;
}
.dot-c {
    top:44%;
    left:-6px;
    background:#fff;
}
.hero-stamp {
    position:absolute;
    bottom:31px;
    right:10px;
    width:116px;
    height:116px;
    border:1px dashed rgba(255,255,255,.6);
    border-radius:50%;
    display:grid;
    place-items:center;
    text-align:center;
    font:600 .58rem/1.35 var(--body);
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,.78);
    transform:rotate(12deg);
}
.stats-strip {
    background:var(--card);
    border-bottom:1px solid var(--border);
}
.stats {
    display:grid;
    grid-template-columns:repeat(3,1fr);
}
.stat {
    padding:25px 28px;
    border-right:1px solid var(--border);
}
.stat:last-child {
    border:0;
}
.stat strong {
    font:700 1.1rem var(--display);
    color:var(--primary);
    display:block;
    margin-bottom:4px;
}
.stat span {
    font-size:.8rem;
    color:var(--muted-foreground);
}
.section {
    padding:96px 0;
}
.section-tight {
    padding:60px 0;
}
.muted-section {
    background:var(--muted);
}
.section-heading {
    max-width:650px;
    margin-bottom:44px;
}
.section-heading h2,.copy h2 {
    margin:13px 0 13px;
    font:700 clamp(2rem,4vw,3.2rem)/1.05 var(--display);
    letter-spacing:-.055em;
}
.section-heading p,.copy p {
    margin:0;
    color:var(--muted-foreground);
    line-height:1.7;
}
.split {
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    gap:80px;
    align-items:center;
}
.blue-panel {
    border-radius:20px;
    background:linear-gradient(145deg,#236d79,#112a36);
    min-height:430px;
    padding:34px;
    position:relative;
    overflow:hidden;
    color:#fff;
}
.blue-panel:after {
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    border:1px solid rgba(148,228,227,.3);
    border-radius:50%;
    right:-105px;
    bottom:-100px;
    box-shadow:0 0 0 35px rgba(148,228,227,.06),0 0 0 70px rgba(148,228,227,.04);
}
.panel-label {
    position:relative;
    z-index:1;
    font-size:.75rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--accent);
}
.panel-title {
    position:absolute;
    z-index:1;
    left:34px;
    bottom:30px;
    max-width:230px;
    font:700 2.4rem/1 var(--display);
    letter-spacing:-.06em;
}
.copy h2 {
    font-size:clamp(2rem,3.6vw,3.1rem);
    margin:14px 0 20px;
}
.copy p {
    margin-bottom:16px;
}
.copy .btn {
    margin-top:18px;
}
/* =========================================
   AQUA PRODUCT SECTION
========================================= */

.aqua-product-section {
    padding: 80px 0;
    background: #ffffff;
}


/* =========================================
   SECTION HEADING
========================================= */

.aqua-section-heading {
    max-width: 720px;
    margin-bottom: 40px;
}

.aqua-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: #15727f;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.aqua-section-heading h2 {
    margin: 0 0 15px;
    color: #154957;
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
}

.aqua-section-heading p {
    margin: 0;
    color: #647b82;
    font-size: 16px;
    line-height: 1.7;
}


/* =========================================
   PRODUCT GRID
========================================= */

.aqua-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 17px;
}


/* =========================================
   PRODUCT CARD
========================================= */

.aqua-product-card {
    background: #ffffff;
    border: 1px solid #dce8ea;
    border-radius: 14px;
    overflow: hidden;

    display: flex;
    flex-direction: column;

    transition:
        transform 0.24s ease,
        box-shadow 0.24s ease;
}

.aqua-product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 36px rgba(21, 65, 78, 0.13);
}


/* =========================================
   PRODUCT IMAGE AREA
========================================= */

.aqua-product-image {
    height: 220px;

    background: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    position: relative;
    overflow: hidden;
}


/* Decorative circle */

.aqua-product-image::before {
    content: "";

    position: absolute;

    width: 170px;
    height: 170px;

    border-radius: 50%;

    border: 1px solid rgba(21, 114, 127, 0.22);

    box-shadow:
        0 0 0 22px rgba(21, 114, 127, 0.05),
        0 0 0 47px rgba(21, 114, 127, 0.04);
}


/* Product image */

.aqua-product-image img {
    position: relative;
    z-index: 2;

    width: 85%;
    max-height: 150px;

    object-fit: contain;

    display: block;

    transition: transform 0.3s ease;
}

.aqua-product-card:hover .aqua-product-image img {
    transform: scale(1.05);
}


/* =========================================
   PRODUCT CONTENT
========================================= */

.aqua-product-content {
    padding: 22px;

    display: flex;
    flex-direction: column;

    flex: 1;

    background: #ffffff;
}

.aqua-product-tag {
    display: inline-block;

    margin-bottom: 10px;

    color: #15727f;

    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.aqua-product-content h3 {
    margin: 0 0 12px;

    color: #154957;

    font-size: 19px;
    line-height: 1.35;
}

.aqua-product-content p {
    margin: 0 0 22px;

    color: #647b82;

    font-size: 14px;
    line-height: 1.65;
}


/* =========================================
   PRODUCT BUTTONS
========================================= */

.aqua-product-actions {
    display: flex;
    gap: 9px;
    margin-top: auto;
}

.aqua-btn-primary,
.aqua-btn-ghost {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    min-height: 42px;

    padding: 9px 14px;

    border-radius: 8px;

    font-size: 13px;
    font-weight: 600;

    text-decoration: none;

    transition: all 0.2s ease;
}


/* Primary button */

.aqua-btn-primary {
    background: #15727f;
    color: #ffffff;
}

.aqua-btn-primary:hover {
    background: #105c68;
    color: #ffffff;
}


/* Ghost button */

.aqua-btn-ghost {
    background: #ffffff;

    border: 1px solid #d3e1e4;

    color: #154957;
}

.aqua-btn-ghost:hover {
    background: #eef7f8;
    border-color: #15727f;
    color: #15727f;
}


/* =========================================
   VIEW ALL PRODUCTS
========================================= */

.aqua-more-link {
    margin-top: 35px;

    display: flex;
    justify-content: center;
}

.aqua-btn-more {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    color: #15727f;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;
}

.aqua-btn-more:hover {
    color: #105c68;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .aqua-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 576px) {

    .aqua-product-section {
        padding: 60px 0;
        background: #ffffff;
    }

    .aqua-section-heading h2 {
        font-size: 30px;
    }

    .aqua-section-heading p {
        font-size: 14px;
    }

    .aqua-product-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .aqua-product-image {
        height: 220px;
    }

    .aqua-product-image img {
        max-height: 148px;
    }

    .aqua-product-content {
        padding: 20px;
        background: #ffffff;
    }

}
.mini-pump {
    width:58px;
    height:130px;
    border-radius:30px 30px 9px 9px;
    background:linear-gradient(90deg,#4b8c91,#d0e7df 40%,#2c6872);
    z-index:1;
    box-shadow:8px 10px rgba(21,65,78,.16);
    position:relative;
}
.mini-pump:before {
    content:"";
    position:absolute;
    left:13px;
    right:13px;
    top:15px;
    height:10px;
    background:#397984;
    border:3px solid #b5dad3;
    border-radius:50%;
}
.mini-pump:after {
    content:"";
    position:absolute;
    bottom:23px;
    left:10px;
    right:10px;
    height:3px;
    background:rgba(255,255,255,.35);
    box-shadow:0 10px rgba(255,255,255,.35),0 20px rgba(255,255,255,.35);
}
.product-body {
    padding:20px;
    display:flex;
    flex:1;
    flex-direction:column;
}
.product-body h3 {
    font:700 1.14rem/1.15 var(--display);
    margin:0 0 9px;
    letter-spacing:-.03em;
}
.product-body p {
    font-size:.84rem;
    line-height:1.55;
    color:var(--muted-foreground);
    margin:0 0 15px;
}
.product-tag {
    display:inline-flex;
    align-self:flex-start;
    color:var(--secondary);
    font-size:.69rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:12px;
}
.card-actions {
    display:flex;
    gap:13px;
    align-items:center;
    margin-top:auto;
}
.card-actions .btn {
    padding:9px 12px;
    font-size:.78rem;
}
.card-actions .btn-ghost {
    font-size:.78rem;
}
.dark-section {
    background:var(--navy);
    color:#fff;
}
.dark-section .section-heading h2 {
    color:#fff;
}
.dark-section .section-heading p {
    color:rgba(255,255,255,.66);
}
.dark-section .eyebrow {
    color:#9ceceb;
}
.feature-layout {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:70px;
    align-items:center;
}
.feature-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.feature-item {
    padding:21px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;
}
.feature-item strong {
    display:block;
    font:600 1rem var(--display);
    margin:9px 0 5px;
}
.feature-item span {
    font-size:.77rem;
    color:rgba(255,255,255,.6);
    line-height:1.5;
}
.feature-icon {
    color:var(--accent);
}
.number-rail {
    border-left:1px solid rgba(255,255,255,.2);
    padding-left:24px;
}
.number-rail div {
    padding:20px 0;
    border-bottom:1px solid rgba(255,255,255,.14);
}
.number-rail b {
    font:700 2.5rem var(--display);
    color:var(--accent);
    display:block;
}
.number-rail span {
    color:rgba(255,255,255,.6);
    font-size:.85rem;
}
.cta-band {
    background:var(--accent);
    padding:46px 0;
}
.cta-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}
.cta-inner h2 {
    font:700 clamp(1.8rem,3vw,2.7rem) var(--display);
    letter-spacing:-.05em;
    margin:0;
}
.cta-inner p {
    margin:8px 0 0;
    color:rgba(27,50,57,.72);
}
.footer {
    background:#102832;
    color:#fff;
    padding:68px 0 25px;
}
.footer-grid {
    display:grid;
    grid-template-columns:1.4fr .8fr .9fr 1.1fr;
    gap:42px;
}
.footer .brand {
    color:#fff;
}
.footer p {
    color:rgba(255,255,255,.6);
    line-height:1.65;
    font-size:.82rem;
    max-width:250px;
}
.footer h3 {
    font:600 .85rem var(--display);
    text-transform:uppercase;
    letter-spacing:.12em;
    color:var(--accent);
    margin:0 0 17px;
}
.footer ul {
    padding:0;
    margin:0;
    list-style:none;
    display:grid;
    gap:11px;
}
.footer li,.footer a {
    color:rgba(255,255,255,.64);
    font-size:.82rem;
}
.footer a:hover {
    color:#fff;
}
.footer-bottom {
    border-top:1px solid rgba(255,255,255,.14);
    margin-top:52px;
    padding-top:19px;
    display:flex;
    justify-content:center;
    color:rgba(255,255,255,.42);
    font-size:.72rem;
}
.inner-hero {
    background:var(--navy);
    color:#fff;
    padding:80px 0 76px;
    position:relative;
}
.inner-hero:after {
    content:"";
    position:absolute;
    right:8%;
    top:22%;
    width:190px;
    height:190px;
    border:1px solid rgba(156,236,235,.28);
    border-radius:50%;
    box-shadow:0 0 0 24px rgba(156,236,235,.04),0 0 0 54px rgba(156,236,235,.03);
}
.inner-hero h1 {
    margin:15px 0 0;
    font:700 clamp(2.7rem,6vw,5rem)/1 var(--display);
    letter-spacing:-.07em;
}
.inner-hero p {
    max-width:560px;
    color:rgba(255,255,255,.68);
    line-height:1.65;
    margin:18px 0 0;
}
.filter-bar {
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
    margin-bottom:30px;
}
.search-wrap {
    position:relative;
    flex:1;
    min-width:220px;
}
.search-wrap i {
    position:absolute;
    left:15px;
    top:14px;
    color:var(--muted-foreground);
}
.search-wrap input {
    padding-left:43px;
}
.field {
    width:100%;
    border:1px solid var(--input);
    background:var(--card);
    color:var(--foreground);
    border-radius:8px;
    padding:12px 14px;
    outline:none;
}
.field:focus {
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(18,109,128,.12);
}
.filter-buttons {
    display:flex;
    gap:7px;
    overflow:auto;
    padding-bottom:3px;
}
.filter-btn {
    white-space:nowrap;
    border:1px solid var(--border);
    background:var(--card);
    color:var(--muted-foreground);
    border-radius:7px;
    padding:10px 13px;
    font-size:.78rem;
    font-weight:700;
    cursor:pointer;
}
.filter-btn.active,.filter-btn:hover {
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
}
.muted-copy {
    color:var(--muted-foreground);
    font-size:.8rem;
    margin-bottom:22px;
}
.application-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
}
.application-card {
    min-height:255px;
    padding:25px 20px;
    border-radius:14px;
    background:var(--card);
    border:1px solid var(--border);
    transition:transform .2s,box-shadow .2s;
}
.application-card:hover {
    transform:translateY(-4px);
    box-shadow:0 15px 27px rgba(21,65,78,.1);
}
.application-card i {
    color:var(--primary);
    font-size:1.65rem;
    margin-bottom:33px;
}
.application-card h3 {
    font:700 1.1rem var(--display);
    margin:0 0 9px;
}
.application-card p {
    font-size:.8rem;
    line-height:1.6;
    color:var(--muted-foreground);
    margin:0;
}
.detail-grid {
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    gap:64px;
    align-items:start;
}
.detail-art {
    min-height:475px;
    border-radius:18px;
    background:linear-gradient(145deg,#e1f0f2,#bfe5e7);
    display:grid;
    place-items:center;
    position:sticky;
    top:105px;
}
.detail-art .mini-pump {
    transform:scale(1.65);
}
.detail-info h1 {
    font:700 clamp(2.3rem,4.5vw,4rem)/1 var(--display);
    letter-spacing:-.07em;
    margin:13px 0 17px;
}
.detail-info>p {
    color:var(--muted-foreground);
    line-height:1.75;
}
.detail-actions {
    display:flex;
    gap:11px;
    flex-wrap:wrap;
    margin:26px 0 35px;
}
.detail-info h2 {
    font:700 1.5rem var(--display);
    letter-spacing:-.04em;
    margin:30px 0 13px;
}
.detail-info ul {
    padding:0;
    list-style:none;
    display:grid;
    gap:10px;
}
.detail-info li {
    font-size:.88rem;
    color:var(--muted-foreground);
    display:flex;
    gap:9px;
}
.detail-info li i {
    color:var(--secondary);
    flex:none;
    margin-top:3px;
}
.specs {
    width:100%;
    border-collapse:collapse;
    border:1px solid var(--border);
    border-radius:10px;
    overflow:hidden;
    display:block;
}
.specs tr {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
}
.specs th,.specs td {
    text-align:left;
    padding:13px 16px;
    border-bottom:1px solid var(--border);
    font-size:.8rem;
}
.specs th {
    background:var(--muted);
    font-weight:700;
}
.specs tr:last-child>* {
    border-bottom:0;
}
.catalogue-box {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:45px;
    align-items:center;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:18px;
    padding:28px;
}
.catalogue-preview {
    height:350px;
    border-radius:10px;
    background:linear-gradient(145deg,var(--navy),#236d79);
    display:grid;
    place-items:center;
    position:relative;
    overflow:hidden;
    color:#fff;
}
.catalogue-preview:before {
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    border:1px solid rgba(156,236,235,.3);
    border-radius:50%;
    box-shadow:0 0 0 30px rgba(156,236,235,.07),0 0 0 70px rgba(156,236,235,.04);
}
.catalogue-cover {
    z-index:1;
    text-align:center;
}
.catalogue-cover b {
    font:700 2.6rem var(--display);
    display:block;
    letter-spacing:-.08em;
}
.catalogue-cover span {
    font-size:.7rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--accent);
}
.catalogue-cover small {
    color:rgba(255,255,255,.65);
    letter-spacing:.12em;
    text-transform:uppercase;
    font-size:.58rem;
}
.catalogue-copy h2 {
    font:700 2.4rem var(--display);
    letter-spacing:-.06em;
    margin:0 0 15px;
}
.catalogue-copy p {
    color:var(--muted-foreground);
    line-height:1.7;
}
.notice {
    margin:20px 0;
    padding:14px 16px;
    border-left:3px solid var(--accent);
    background:var(--muted);
    font-size:.78rem;
    color:var(--muted-foreground);
}
.notice i {
    margin-right:7px;
}
.button-row {
    display:flex;
    gap:11px;
    flex-wrap:wrap;
}
.contact-grid {
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    gap:60px;
}
.contact-card {
    background:var(--navy);
    color:#fff;
    border-radius:17px;
    padding:30px;
    min-height:100%;
}
.contact-card h2 {
    font:700 2rem var(--display);
    letter-spacing:-.06em;
    margin:15px 0;
}
.contact-card>p {
    color:rgba(255,255,255,.64);
    line-height:1.65;
    font-size:.85rem;
}
.contact-item {
    display:flex;
    gap:13px;
    padding:18px 0;
    border-top:1px solid rgba(255,255,255,.15);
    align-items:flex-start;
}
.contact-item i {
    color:var(--accent);
    margin-top:2px;
    width:18px;
    text-align:center;
}
.contact-item strong {
    display:block;
    font-size:.82rem;
    margin-bottom:3px;
}
.contact-item span {
    color:rgba(255,255,255,.58);
    font-size:.78rem;
}
.form-card {
    background:var(--card);
    border:1px solid var(--border);
    border-radius:17px;
    padding:32px;
}
.form-card h2 {
    font:700 2rem var(--display);
    letter-spacing:-.06em;
    margin:0 0 7px;
}
.form-card>p {
    color:var(--muted-foreground);
    font-size:.83rem;
    margin:0 0 24px;
}
.form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px;
}
.form-group {
    display:grid;
    gap:7px;
}
.form-group.full {
    grid-column:1/-1;
}
.form-group label {
    font-size:.75rem;
    font-weight:700;
    color:var(--muted-foreground);
}
.form-group textarea {
    min-height:125px;
    resize:vertical;
}
.error-text {
    font-size:.72rem;
    color:#c23d3d;
    min-height:1em;
}
.success-box {
    padding:13px;
    border-radius:8px;
    background:#def2e7;
    color:#23643d;
    font-size:.8rem;
    margin-bottom:15px;
}
.hidden {
    display:none!important;
}
.modal-backdrop {
    position:fixed;
    inset:0;
    background:rgba(8,30,38,.67);
    z-index:80;
    display:grid;
    place-items:center;
    padding:18px;
    animation:fade .2s;
}
.modal {
    width:min(580px,100%);
    max-height:calc(100dvh - 36px);
    overflow:auto;
    background:var(--card);
    border-radius:14px;
    box-shadow:0 24px 80px rgba(0,0,0,.25);
    animation:rise .25s;
}
.modal-head {
    padding:24px 26px 18px;
    border-bottom:1px solid var(--border);
    display:flex;
    justify-content:space-between;
    gap:15px;
}
.modal-head h2 {
    margin:0;
    font:700 1.5rem var(--display);
    letter-spacing:-.05em;
}
.icon-button {
    border:0;
    background:transparent;
    cursor:pointer;
    color:var(--muted-foreground);
    padding:3px;
    font-size:1.2rem;
}
.modal-body {
    padding:24px 26px;
}
.modal .form-grid {
    gap:14px;
}
.mobile-overlay {
    position:fixed;
    inset:0;
    background:rgba(8,30,38,.58);
    z-index:59;
    opacity:0;
    pointer-events:none;
    transition:opacity .25s;
}
.mobile-overlay.open {
    opacity:1;
    pointer-events:auto;
}
.mobile-drawer {
    position:fixed;
    z-index:60;
    left:0;
    top:0;
    bottom:0;
    width:min(330px,88vw);
    background:var(--navy);
    color:#fff;
    transform:translateX(-100%);
    transition:transform .28s;
    padding:24px;
    box-shadow:16px 0 38px rgba(0,0,0,.2);
    overflow:auto;
}
.mobile-drawer.open {
    transform:translateX(0);
}
.drawer-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:35px;
}
.drawer-head .brand {
    color:#fff;
}
.drawer-head .icon-button {
    color:#fff;
}
.drawer-links {
    display:grid;
    gap:4px;
}
.drawer-link {
    padding:14px 10px;
    border-bottom:1px solid rgba(255,255,255,.1);
    font-size:.95rem;
    color:rgba(255,255,255,.75);
}
.drawer-link:hover {
    color:#fff;
}
.drawer-products {
    border-bottom:1px solid rgba(255,255,255,.1);
}
.drawer-products button {
    width:100%;
    padding:14px 10px;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.75);
    display:flex;
    justify-content:space-between;
    font-size:.95rem;
    cursor:pointer;
}
.drawer-sub {
    display:grid;
    gap:3px;
    padding:0 10px 10px 25px;
}
.drawer-sub a {
    font-size:.76rem;
    color:rgba(255,255,255,.6);
    padding:8px 0;
}
.drawer-cta {
    margin-top:28px;
    width:100%;
}
.floating-whatsapp,.back-top {
    position:fixed;
    z-index:35;
    width:47px;
    height:47px;
    border-radius:50%;
    display:grid;
    place-items:center;
    border:0;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(8,30,38,.2);
    transition:transform .2s,opacity .2s;
}
.floating-whatsapp {
    right:20px;
    bottom:20px;
    background:#2a9a69;
    color:#fff;
}
.back-top {
    right:20px;
    bottom:78px;
    background:var(--primary);
    color:#fff;
    opacity:0;
    pointer-events:none;
}
.back-top.visible {
    opacity:1;
    pointer-events:auto;
}
.floating-whatsapp:hover,.back-top:hover {
    transform:translateY(-3px);
}
.whatsapp-note {
    position:fixed;
    right:74px;
    bottom:26px;
    background:var(--navy);
    color:#fff;
    padding:10px 12px;
    border-radius:6px;
    font-size:.68rem;
    opacity:0;
    transform:translateX(8px);
    pointer-events:none;
    transition:.2s;
    max-width:230px;
}
.whatsapp-note.open {
    opacity:1;
    transform:none;
}
.empty-state {
    padding:60px 20px;
    text-align:center;
    color:var(--muted-foreground);
    grid-column:1/-1;
}
.empty-state i {
    color:var(--secondary);
    font-size:1.7rem;
    margin-bottom:12px;
}
.light-list .feature-item {
    background:var(--card);
    border-color:var(--border);
}
.light-list .feature-item strong {
    color:var(--foreground);
}
.light-list .feature-item span {
    color:var(--muted-foreground);
}
@keyframes rise {
    from {
        opacity:0;
        transform:translateY(16px);
    }
    to {
        opacity:1;
        transform:none;
    }
}
@keyframes fade {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@media(max-width:960px) {
    .desktop-nav {
        display:none;
    }
    .menu-toggle {
        display:block;
        margin-left:auto;
    }
    .hero-grid {
        grid-template-columns:1fr;
        min-height:auto;
    }
    .hero {
        min-height:auto;
    }
    .hero-copy {
        padding:90px 0 30px;
    }
    .hero-visual {
        min-height:390px;
    }
    .product-grid {
        grid-template-columns:repeat(2,1fr);
    }
    .application-grid {
        grid-template-columns:repeat(3,1fr);
    }
    .feature-layout {
        grid-template-columns:1fr;
        gap:40px;
    }
    .footer-grid {
        grid-template-columns:repeat(2,1fr);
    }
    .detail-grid {
        gap:35px;
    }
    .detail-art {
        min-height:390px;
    }
    .catalogue-box {
        grid-template-columns:1fr;
    }
    .contact-grid {
        gap:30px;
    }
}
@media(max-width:600px) {
    .container {
        width:min(100% - 32px,1160px);
    }
    .hero-pump-image {

    height: auto;

}
    .header-inner {
        min-height:68px;
        padding:0 16px;
    }
    .brand {
        font-size:1rem;
    }
    .brand-mark {
        width:34px;
        height:34px;
    }
    .section {
        padding:65px 0;
    }
    .section-heading {
        margin-bottom:28px;
    }
    .hero h1 {
        font-size:clamp(2.7rem,15vw,4.3rem);
    }
    .hero-copy {
        padding:68px 0 12px;
    }
    .hero p {
        font-size:.95rem;
    }
    .hero-visual {
        min-height:310px;
    }
    .pump-orbit {
        width:270px;
    }
    .pump-core {
        transform:translate(-50%,-50%) rotate(22deg) scale(.75);
    }
    .hero-stamp {
        width:85px;
        height:85px;
        right:0;
        bottom:15px;
        font-size:.46rem;
    }
    .stats {
        grid-template-columns:1fr;
    }
    .stat {
        border-right:0;
        border-bottom:1px solid var(--border);
        padding:17px 0;
    }
    .split,.detail-grid {
        grid-template-columns:1fr;
        gap:35px;
    }
    .blue-panel {
        min-height:300px;
    }
    .product-grid {
        grid-template-columns:1fr;
    }
    .product-art {
        height:190px;
    }
    .feature-list {
        grid-template-columns:1fr;
    }
    .application-grid {
        grid-template-columns:1fr 1fr;
    }
    .application-card {
        min-height:220px;
        padding:19px 15px;
    }
    .application-card i {
        margin-bottom:23px;
    }
    .cta-inner {
        display:block;
    }
    .cta-inner .btn {
        margin-top:19px;
    }
    .footer {
        padding-top:50px;
    }
    .footer-grid {
        grid-template-columns:1fr 1fr;
        gap:30px 20px;
    }
    .footer-grid>div:first-child {
        grid-column:1/-1;
    }
    .footer-bottom {
        display:block;
        line-height:1.6;
        margin-top:35px;
    }
    .footer-bottom span {
        display:block;
    }
    .inner-hero {
        padding:58px 0;
    }
    .inner-hero h1 {
        font-size:clamp(2.6rem,14vw,4rem);
    }
    .inner-hero:after {
        right:-70px;
    }
    .filter-bar {
        display:block;
    }
    .filter-buttons {
        margin-top:10px;
    }
    .detail-art {
        min-height:310px;
        position:relative;
        top:auto;
    }
    .detail-art .mini-pump {
        transform:scale(1.3);
    }
    .specs tr {
        grid-template-columns:1fr;
    }
    .specs th {
        border-bottom:0;
        padding-bottom:4px;
    }
    .specs td {
        padding-top:4px;
    }
    .form-grid {
        grid-template-columns:1fr;
    }
    .form-group.full {
        grid-column:auto;
    }
    .form-card,.catalogue-box {
        padding:21px;
    }
    .catalogue-preview {
        height:270px;
    }
    .catalogue-copy h2 {
        font-size:2rem;
    }
    .contact-card {
        padding:23px;
    }
    .modal-head,.modal-body {
        padding-left:19px;
        padding-right:19px;
    }
    .modal .form-grid {
        grid-template-columns:1fr;
    }
    .modal .form-group.full {
        grid-column:auto;
    }
    .floating-whatsapp,.back-top {
        right:14px;
    }
    .whatsapp-note {
        right:67px;
        bottom:25px;
        max-width:180px;
    }
}
@media(prefers-reduced-motion:reduce) {
    *,*:before,*:after {
        animation-duration:.01ms!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important;
    }
}