:root{--ink:#041a1f;--navy:#08262d;--navy2:#0d3a43;--blue:#1fcfd6;--blue-d:#0aa3ab;--mist:#effafa;--line:#d3e8ea;--txt:#16292d;--mute:#5d787c;--r:14px;--w:1240px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:Outfit,system-ui,sans-serif;color:var(--txt);background:#fff;line-height:1.6;font-size:16px}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,.logo span{font-family:Sora,sans-serif;line-height:1.2}
.wrap{width:min(var(--w),92%);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px 12px;z-index:99}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:var(--ink);border:1.5px solid var(--blue);padding:12px 26px;border-radius:99px;font:500 15px Outfit;cursor:pointer;transition:.25s}
.btn:hover{background:#4fe0e5;border-color:#4fe0e5;transform:translateY(-2px);box-shadow:0 8px 22px rgba(31,207,214,.35)}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}.btn-ghost:hover{background:rgba(31,207,214,.14);color:var(--blue-d);border-color:var(--blue-d);box-shadow:none}
.btn-sm{padding:8px 18px;font-size:14px}
.row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);color:var(--ink);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:28px;height:84px}
.logo{display:block;flex:0 0 auto;width:250px;aspect-ratio:727/152;overflow:hidden}.logo img{display:block;width:100%;height:auto}
nav{display:flex;gap:30px;margin-inline:auto}
nav a{font-size:15px;font-weight:500;padding:6px 0;border-bottom:2px solid transparent;transition:.2s}
nav a:hover,nav a.active{border-color:var(--blue);color:var(--blue-d)}
.search input{background:var(--mist);border:1px solid var(--line);color:var(--ink);border-radius:99px;padding:8px 16px;width:170px;font:inherit;font-size:14px;transition:.3s}
.search input:focus{width:230px;border-color:var(--blue);outline:none}
.search input::placeholder{color:#7a9a9e}
.burger{display:none;background:none;border:0;margin-left:auto;cursor:pointer;padding:8px}
.burger i{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:.3s}

/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 75% 40%,#0f4a53 0%,var(--navy) 45%,var(--ink) 100%);color:#fff;padding:90px 0 80px}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.kicker{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#8be6ea;margin-bottom:14px}
.hero h1{font-size:clamp(34px,4.6vw,58px);font-weight:700;margin-bottom:18px}
.glow{color:var(--blue);text-shadow:0 0 28px rgba(31,207,214,.5)}
.hero-copy>p:not(.kicker){max-width:480px;color:#cfe6e8;font-size:17px}
.trust{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px;font-size:13px;color:#b7d4d7}
.trust b{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(31,207,214,.5);border-radius:50%;color:var(--blue);margin-bottom:8px;font-weight:400}
.hero-stage{position:relative;aspect-ratio:1/.9;display:grid;place-items:center}
.stage-art{width:62%;color:#d9efff;filter:drop-shadow(0 0 22px rgba(31,207,214,.55));animation:float 6s ease-in-out infinite}
.stage-art svg{stroke-width:1.4}
.tagline{position:absolute;right:0;top:4%;font:italic 600 clamp(22px,2.6vw,34px)/1.05 Sora;color:var(--blue);text-align:right;transform:rotate(-6deg)}
.tagline em{color:#fff;font-style:italic}
.drop{position:absolute;left:50%;top:0;width:10px;height:14px;background:var(--blue);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;animation:drip 4.8s ease-in infinite;opacity:0}
.ripples{position:absolute;inset:0;pointer-events:none}
.ripples i{position:absolute;right:20%;top:52%;width:20px;height:20px;border:1.5px solid rgba(31,207,214,.55);border-radius:50%;animation:ripple 7s ease-out infinite}
.ripples i:nth-child(2){animation-delay:2.3s}.ripples i:nth-child(3){animation-delay:4.6s}
@keyframes ripple{0%{transform:scale(1);opacity:.9}100%{transform:scale(38);opacity:0}}
@keyframes drip{0%{transform:translateY(0);opacity:0}8%{opacity:1}40%{transform:translateY(190px);opacity:1}42%{opacity:0}100%{opacity:0}}
@keyframes float{50%{transform:translateY(-12px)}}

/* sections */
.section{padding:72px 0}.section.light{background:var(--mist)}.section.dark{background:var(--navy);color:#fff}
.head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}
.head h2{font-size:clamp(26px,3vw,36px)}.head p{color:var(--mute);margin-top:4px}.dark .head p{color:#8fb3b8}
.more{color:var(--blue-d);font-weight:500;white-space:nowrap}.more::after{content:" ›";transition:.2s;display:inline-block}.more:hover::after{transform:translateX(4px)}
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.ccard{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 16px 16px;display:flex;flex-direction:column;gap:2px;transition:.3s}
.ccard:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(10,22,38,.12);border-color:var(--blue)}
.ccard-art{height:110px;display:grid;place-items:center;color:#8fb2b5;margin-bottom:10px;transition:.4s}
.ccard-art svg{height:100%}.ccard:hover .ccard-art{color:var(--blue);transform:scale(1.08)}
.ccard strong{font:600 15px Sora}.ccard small{color:var(--mute);font-size:12px;padding-right:26px}
.go{position:absolute;right:14px;bottom:14px;width:24px;height:24px;border-radius:50%;background:var(--blue);color:var(--ink);display:grid;place-items:center;font-style:normal;line-height:1}

/* product cards */
.pgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.pgrid.wide{grid-template-columns:repeat(4,1fr);gap:22px}
.pcard{background:#fff;color:var(--txt);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.3s}
.dark .pcard{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#fff}
.pcard:hover{transform:translateY(-6px);border-color:var(--blue);box-shadow:0 18px 40px rgba(31,207,214,.18)}
.pcard-img{position:relative;aspect-ratio:1/.85;display:grid;place-items:center;background:linear-gradient(160deg,#f4fcfc,#dff3f4);color:#7fa9ad;overflow:hidden}
.dark .pcard-img{background:linear-gradient(160deg,#0f3a44,#082a31);color:#8be6ea}
.pcard-img>svg{width:52%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.pcard-img>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .pcard-img>svg,.pcard:hover .pcard-img>img{transform:scale(1.12) rotate(-2deg)}
.quick{position:absolute;left:50%;bottom:12px;transform:translate(-50%,16px);opacity:0;background:var(--ink);color:#fff;border:0;padding:8px 18px;border-radius:99px;font:500 13px Outfit;cursor:pointer;transition:.3s}
.pcard:hover .quick,.quick:focus{opacity:1;transform:translate(-50%,0)}
.pcard-body{padding:14px}.pcard-body small{color:var(--mute);font-size:12px}.dark .pcard-body small{color:#86aab0}
.pcard h3{font:600 14.5px Sora;margin:2px 0 8px}.pcard h3 a:hover{color:var(--blue)}
.pcard-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px}
.stars{color:#f5b301;font-size:12px;letter-spacing:1px}.stars em{color:var(--mute);font-style:normal;letter-spacing:0}.dark .stars em{color:#86aab0}

/* promos / cta */
.promos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.promo{display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(120deg,var(--ink),var(--navy2));color:#fff;border-radius:var(--r);padding:28px;min-height:190px;overflow:hidden;transition:.3s}
.promo:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(4,26,31,.35)}
.promo h3{font-size:21px;margin-bottom:6px}.promo p{color:#a9cacd;font-size:14px;margin-bottom:14px}
.promo-art{width:42%;color:var(--blue);opacity:.85;transition:.5s}.promo:hover .promo-art{transform:scale(1.12) translateX(-6px)}
.cta{background:linear-gradient(120deg,var(--blue-d),var(--blue));color:var(--ink);text-align:center;padding:64px 0}
.cta h2{font-size:clamp(24px,3vw,34px)}.cta p{margin:8px 0 22px;opacity:.9}.cta .btn{background:var(--ink);color:#fff;border-color:var(--ink)}

/* inner pages */
.page-hero{background:radial-gradient(100% 140% at 80% 0,#0f4a53,var(--ink));color:#fff;padding:64px 0 48px}
.page-hero h1{font-size:clamp(28px,4vw,44px)}.page-hero p{color:#b7d4d7;max-width:620px;margin-top:8px}
.crumbs{font-size:13px;color:#86aab0;margin-bottom:10px}.crumbs a:hover{color:var(--blue)}
.filters{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs a{padding:7px 16px;border:1px solid var(--line);border-radius:99px;font-size:14px;transition:.2s}
.tabs a:hover{border-color:var(--blue);color:var(--blue-d)}.tabs a.on{background:var(--blue);border-color:var(--blue);color:var(--ink)}
select{font:inherit;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.empty{text-align:center;padding:60px 0;color:var(--mute)}.empty a{color:var(--blue)}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.detail-art{aspect-ratio:1;border-radius:var(--r);background:linear-gradient(160deg,#f4fcfc,#d4eef0);display:grid;place-items:center;color:var(--blue);transition:transform .15s;will-change:transform}
.detail-art svg{width:56%}.detail-art img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.price{font:700 30px Sora;color:var(--ink);margin:6px 0 14px}.price small{font:400 13px Outfit;color:var(--mute)}
.detail h3{margin:22px 0 8px}
.ticks{list-style:none;padding:0;display:grid;gap:6px}.ticks li::before{content:"✓";color:var(--blue);font-weight:700;margin-right:10px}
.cat-block{margin-bottom:44px}.cat-block h2{font-size:24px;margin-bottom:14px;padding-left:12px;border-left:4px solid var(--blue)}
.table-wrap{overflow-x:auto}.cat-table{width:100%;border-collapse:collapse;font-size:14.5px}
.cat-table th{text-align:left;background:var(--mist);padding:10px 14px;font-weight:600}.cat-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.cat-table tr:hover td{background:#f4fcfc}.cat-table td:first-child{display:flex;align-items:center;gap:12px;font-weight:500;white-space:nowrap}
.mini{width:38px;color:var(--blue)}.note{color:var(--mute);font-size:13px}
.two{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}.two h2{margin-bottom:14px}.two p{margin-bottom:12px;color:#35545a}
.stats{display:grid;gap:14px}.stats div{background:var(--navy);color:#fff;border-radius:var(--r);padding:20px 24px;display:flex;align-items:baseline;gap:14px}
.stats b{font:700 36px Sora;color:var(--blue);min-width:110px}.stats span{color:#b7d4d7}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.vcard{background:#fff;border-radius:var(--r);padding:26px;border-top:3px solid var(--blue)}.vcard h3{margin-bottom:8px;font-size:18px}.vcard p{color:var(--mute);font-size:15px}
.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:48px}
.form{display:grid;gap:16px}.form label{display:grid;gap:6px;font-weight:500;font-size:14px}
.form input,.form textarea{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:10px;transition:.2s;width:100%}
.form input:focus,.form textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(31,207,214,.18)}
.two-f{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form .btn{justify-self:start}
.err{color:#c62828;font-size:13px;font-weight:400}.ok{background:#e6f6ec;color:#17612f;padding:14px 18px;border-radius:10px}.hp{position:absolute;left:-9999px}
.info{display:grid;gap:22px;align-content:start;background:var(--mist);padding:30px;border-radius:var(--r)}.info h3{font-size:16px;margin-bottom:4px}.info a:hover{color:var(--blue)}

/* footer */
.site-footer{background:var(--ink);color:#a9cacd;padding-top:56px;font-size:15px}
.fgrid{display:grid;grid-template-columns:1.3fr .8fr .9fr 1.3fr;gap:36px;padding-bottom:36px}
.fgrid h4{color:#fff;margin-bottom:12px;font-size:15px}.fgrid a{display:block;padding:3px 0;transition:.2s}.fgrid a:hover{color:var(--blue);padding-left:4px}
.fgrid p{margin-top:12px}.fbase{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:18px 0;border-top:1px solid rgba(255,255,255,.1);font-size:13px}
.fbase a:hover{color:var(--blue)}

.flogo{display:inline-block;background:#fff;border-radius:12px;padding:10px 16px}.flogo img{display:block;width:230px;height:auto}
.brand-band{background:#fff;text-align:center;padding:48px 0;border-top:1px solid var(--line)}
.brand-band img{display:block;width:min(460px,88%);height:auto;margin:0 auto}
/* modal */
.modal{position:fixed;inset:0;background:rgba(4,26,31,.7);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;padding:20px;animation:fade .25s}
.modal[hidden]{display:none}
.modal-box{position:relative;background:#fff;border-radius:18px;max-width:780px;width:100%;display:grid;grid-template-columns:1fr 1.1fr;gap:28px;padding:28px;animation:pop .35s cubic-bezier(.2,.9,.3,1.2)}
.modal-art{background:linear-gradient(160deg,#f4fcfc,#d4eef0);border-radius:12px;display:grid;place-items:center;color:var(--blue);aspect-ratio:1;overflow:hidden}.modal-art svg{width:60%}.modal-art img{width:100%;height:100%;object-fit:cover}
.modal-x{position:absolute;right:14px;top:10px;background:none;border:0;font-size:28px;cursor:pointer;color:var(--mute)}
.modal h2{font-size:24px;margin:4px 0}.modal .price{font-size:24px;margin:6px 0}.modal .ticks{margin-top:12px}
@keyframes fade{from{opacity:0}}@keyframes pop{from{transform:scale(.92);opacity:0}}

/* scroll reveal */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}
.js .reveal.in{opacity:1;transform:none}
.js .pgrid .reveal:nth-child(2),.js .cat-grid .reveal:nth-child(2){transition-delay:.06s}.js .pgrid .reveal:nth-child(3),.js .cat-grid .reveal:nth-child(3){transition-delay:.12s}
.js .pgrid .reveal:nth-child(4),.js .cat-grid .reveal:nth-child(4){transition-delay:.18s}.js .pgrid .reveal:nth-child(5),.js .cat-grid .reveal:nth-child(5){transition-delay:.24s}.js .pgrid .reveal:nth-child(6),.js .cat-grid .reveal:nth-child(6){transition-delay:.3s}

/* responsive */
@media(max-width:1100px){.cat-grid,.pgrid{grid-template-columns:repeat(3,1fr)}.pgrid.wide{grid-template-columns:repeat(3,1fr)}.search{display:none}.values{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){
  .burger{display:block}.call{display:none}
  nav{position:absolute;left:0;right:0;top:84px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 5%;max-height:0;overflow:hidden;transition:.3s;margin:0}
  nav.open{max-height:360px}nav a{padding:14px 0;border-bottom:1px solid var(--line)}
  .burger[aria-expanded=true] i:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger[aria-expanded=true] i:nth-child(2){opacity:0}.burger[aria-expanded=true] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero{padding:56px 0}.hero-grid,.detail,.two,.contact{grid-template-columns:1fr}.hero-stage{max-width:380px;margin-inline:auto;width:100%}
  .trust{grid-template-columns:1fr 1fr}.promos{grid-template-columns:1fr}.modal-box{grid-template-columns:1fr}.modal-art{max-height:220px;aspect-ratio:auto;height:200px}
}
@media(max-width:560px){.cat-grid,.pgrid,.pgrid.wide{grid-template-columns:1fr 1fr;gap:12px}.values,.fgrid,.two-f{grid-template-columns:1fr}.head{flex-direction:column;align-items:start}.quick{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
@media print{.site-header,.site-footer,.page-hero .row,.cta{display:none}.page-hero{background:none;color:#000;padding:10px 0}.page-hero p{color:#333}.cat-block{break-inside:avoid}}

.fgrid a.flogo{display:inline-block;padding:10px 16px}.fgrid a.flogo:hover{padding:10px 16px}
.empty a,.info a:hover,.pcard h3 a:hover{color:var(--blue-d)}.dark .pcard h3 a:hover{color:var(--blue)}
@media(max-width:560px){.bar{height:70px}.logo{width:190px}nav{top:70px!important}.flogo img{width:190px}}
