/* SEP SURT: shared styles for the shop page and the partners page. Tokens from the brand book. */
:root{
  --navy:#082D63; --navy-2:#0d3d82; --navy-deep:#061f45;
  --sky:#2786FF; --sky-ink:#1a63d6; --sky-soft:#7db8ff;
  --green:#22C55E; --green-ink:#15803D;
  --bg:#F4F7FC; --paper:#fff; --ice:#EAF2FF; --mint:#E6F8EE;
  --line:#DDE5F0; --line-strong:#9AA9BF;
  --ink:#0B1B33; --ink-2:#44526a; --muted:#5a6880; --on-navy:#c9d8f0;
  --danger:#b42318;
  --f:'Montserrat',system-ui,sans-serif;
  --ease:cubic-bezier(.22,.7,.2,1);
  --r:22px; --r-sm:14px; --pad:clamp(16px,4.5vw,64px); --max:1240px;
  --shadow:0 12px 32px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.05);
  --wave:linear-gradient(90deg,var(--sky) 0%,#25a8d8 50%,var(--green) 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--bg);color:var(--ink);font:500 16.5px/1.6 var(--f);-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3{font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0}
h2{font-size:clamp(1.8rem,3.2vw,2.7rem)}
h3{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}
p{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.kicker{font:700 .78rem/1.3 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--sky-ink)}
.on-dark .kicker,.kicker.light{color:var(--sky-soft)}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:8px}
[hidden]{display:none!important}
.wrap{max-width:var(--max);margin:0 auto}
.ico{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* logo: the S with its three spray dots, then the wordmark */
.logo{display:inline-flex;align-items:center;gap:8px;color:var(--navy);text-decoration:none;font:800 1.32rem/1 var(--f);letter-spacing:.01em;margin-right:auto;white-space:nowrap}
.logo .mark{width:30px;height:34px;overflow:visible}
.on-dark .logo,.foot .logo{color:#fff}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:54px;padding:0 28px;border-radius:999px;border:1.5px solid transparent;font:700 .98rem/1 var(--f);text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .3s var(--ease),background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease)}
.btn:active{transform:scale(.97)}
.btn .ico{width:20px;height:20px}
.btn-main{background:var(--navy);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.btn-main:hover{background:var(--navy-2)}
.btn-sky{background:var(--sky-ink);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.btn-sky:hover{background:#1554b8}
.btn-green{background:var(--green);color:var(--navy);box-shadow:0 6px 16px rgba(0,0,0,.12)}
.btn-green:hover{background:#1fb455}
/* the button that leads to Kaspi Магазин wears Kaspi red, so buyers recognise it at once */
.btn-kaspi{background:#d62d27;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.16)}
.btn-kaspi:hover{background:#b9231e}
.btn-light{background:#fff;color:var(--navy)}
.btn-light:hover{background:var(--ice)}
.btn-ghost{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-ghost-light{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.04)}
.btn-ghost-light:hover{background:#fff;color:var(--navy)}
.ctas{display:flex;flex-wrap:wrap;gap:14px}
@media (pointer:coarse){.btn{min-height:50px}}
@media (max-width:440px){.ctas .btn{flex:1 1 100%;white-space:normal;text-align:center;padding:12px 18px;line-height:1.25}}

/* header */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;transition:top .2s}
.skip:focus{top:12px}
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top-in{max-width:calc(var(--max) + 2*var(--pad));margin:0 auto;padding:0 var(--pad);height:76px;display:flex;align-items:center;gap:22px}
.nav{display:flex;align-items:center;gap:24px}
.nav a{text-decoration:none;font:600 .92rem/1 var(--f);color:var(--ink-2);padding:8px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--wave);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover{color:var(--ink)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--navy)}
.nav .pill{padding:9px 14px;border-radius:999px;background:var(--ice);color:var(--navy)}
.nav .pill::after{display:none}
.nav .pill:hover{background:#dbe8ff}
.lang{display:flex;padding:4px;border-radius:999px;border:1px solid var(--line);background:#fff}
.lang button{border:0;background:transparent;border-radius:999px;padding:7px 12px;font:700 .84rem/1 var(--f);cursor:pointer;color:var(--ink-2);transition:background-color .3s var(--ease),color .3s var(--ease)}
.lang button[aria-pressed="true"]{background:var(--navy);color:#fff}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);color:var(--navy);background:#fff;cursor:pointer;flex:none;transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.icon-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.icon-btn .ico{width:21px;height:21px}
.top .btn{min-height:48px;padding:0 26px}
.top-in>*{flex-shrink:0}
.nav a,.top .btn{white-space:nowrap}
.menu-btn{display:none}
/* app.js adds .compact whenever the full menu would not fit the width, in either language */
.top.compact .top-in{gap:12px}
.top.compact .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px var(--pad) 16px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
.top:not(.ready) .nav{transition:none}   /* no fade of the folded menu while the page first lays out */
.top.compact .nav.open{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.top.compact .nav a{padding:15px 0;font-size:1.02rem;border-bottom:1px solid var(--line)}
.top.compact .nav a::after{display:none}
.top.compact .nav .pill{margin-top:12px;text-align:center;border-bottom:0}
.top.compact .menu-btn{display:inline-flex}
@media (max-width:720px){.top .btn-buy{display:none}.top-in{height:68px}.logo{font-size:1.12rem}.logo .mark{width:26px;height:30px}}
@media (max-width:400px){.top .wa-top{display:none}}

/* hero (both pages): navy stage, image or loop on the right, words on the left */
/* the first screen fills the window under the header: spacing and the heading shrink with a short window */
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;min-height:clamp(480px,calc(100vh - 77px),1200px);min-height:clamp(480px,calc(100svh - 77px),1200px);display:flex}
.hero-media{position:absolute;inset:0;container-type:size;background:var(--navy)}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 50%}
/* a hero wider than the picture would crop the bottles' tops: fit it by height instead, pinned right,
   its left edge fading into the navy behind the words */
@container (min-aspect-ratio: 16/9){
  .hero-media.fit img,.hero-media.fit video{left:auto;width:auto;height:100%;aspect-ratio:16/9;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20%);mask-image:linear-gradient(90deg,transparent 0,#000 20%)}
}
.hero-media video{opacity:0;transition:opacity .9s var(--ease)}
.hero-media video.playing{opacity:1}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,45,99,.96) 0%,rgba(8,45,99,.8) 32%,rgba(8,45,99,0) 56%)}
.hero-in{position:relative;z-index:2;width:100%;max-width:calc(var(--max) + 2*var(--pad));margin:0 auto;padding:clamp(16px,4vh,90px) var(--pad);display:flex;align-items:center}
.hero-txt{max-width:580px}
.hero h1{font-size:min(clamp(2.4rem,4.4vw,4rem),9vh);margin:clamp(8px,1.6vh,16px) 0 clamp(10px,2.4vh,22px);letter-spacing:-.03em}
.hero h1 em{font-style:normal;background:var(--wave);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{font-size:clamp(1.02rem,1.25vw,1.15rem);color:var(--on-navy);max-width:44ch;font-weight:500}
.hero-price{display:flex;align-items:baseline;gap:10px;margin:clamp(12px,3vh,28px) 0 clamp(12px,2.6vh,24px);font:600 1.1rem/1 var(--f);color:var(--on-navy)}
.hero-price b{font:800 clamp(2rem,2.8vw,2.5rem)/1 var(--f);color:#fff;letter-spacing:-.02em}
.lines-chips{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:clamp(14px,3.4vh,32px) 0 0}
.lines-chips a{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);text-decoration:none;font:700 .9rem/1 var(--f);transition:background-color .3s var(--ease)}
.lines-chips a:hover{background:rgba(255,255,255,.16)}
.lines-chips .bub{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff}
.lines-chips .auto .bub{background:var(--sky-ink)}
.lines-chips .home .bub{background:var(--green);color:var(--navy)}
.lines-chips small{display:block;font-weight:500;font-size:.78rem;color:var(--on-navy);margin-top:3px}
/* social links keep the networks' own colours, so people recognise them at a glance */
.lines-chips.social{margin-top:clamp(8px,1.4vh,12px)}
.social .ig .bub{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.social .tt .bub{background:#000}
.social .tt .ico{filter:drop-shadow(-1.2px -1px 0 #25f4ee) drop-shadow(1.2px 1px 0 #fe2c55)}
@media (max-width:860px){
  .hero{flex-direction:column;min-height:0}
  .hero::before{display:none}
  .hero-in{order:1;padding:36px var(--pad) 24px}
  .hero-media{position:relative;order:2;aspect-ratio:1/1;margin:0 var(--pad) 28px;border-radius:var(--r);overflow:hidden}
  .hero-media img,.hero-media video{object-position:76% 50%}
}

/* sections */
.sec{position:relative;padding:clamp(56px,7vw,100px) var(--pad);scroll-margin-top:76px}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px 48px;margin-bottom:clamp(28px,4vw,48px)}
.head h2{margin-top:12px;max-width:20ch}
.head .lead{color:var(--ink-2);max-width:46ch;font-size:1.04rem}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.navy-sec{background:var(--navy);color:#fff;overflow:hidden;isolation:isolate}
.navy-sec .lead{color:var(--on-navy)}
/* the brand pattern: rows of faint S marks, plus the wave along the bottom */
.pattern::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Ctext x='14' y='42' font-family='Montserrat,Arial' font-weight='800' font-size='36' fill='%23ffffff'%3ES%3C/text%3E%3C/svg%3E")}
.wave-line{position:absolute;left:0;right:0;bottom:0;height:120px;z-index:-1;pointer-events:none}
.wave-line path{animation:wave 14s ease-in-out -3s infinite alternate}
@keyframes wave{to{transform:translateX(-6%)}}

/* reveal choreography: children arrive in sequence, then the delays retire so hovers stay instant */
.rv>*{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease);transition-delay:calc(var(--i,0)*100ms)}
.rv.in>*{opacity:1;transform:none}
.rv.done>*{--i:0}
.no-js .rv>*{opacity:1;transform:none}

/* icon bubbles */
.bub{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ice);color:var(--sky-ink);flex:none}
.bub.g{background:var(--mint);color:var(--green-ink)}

/* forms */
.form{padding:clamp(22px,3.4vw,40px)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.field{margin-bottom:18px}
.field>label,.field>.label{display:block;font:700 .9rem/1.3 var(--f);margin-bottom:8px}
.field input:not([type=checkbox]),.field textarea,.field select{width:100%;min-height:52px;padding:13px 16px;border-radius:var(--r-sm);border:1.5px solid var(--line-strong);background:var(--bg);font-weight:500;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.field select{appearance:none;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23082D63' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat;padding-right:44px}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--sky-ink);box-shadow:0 0 0 4px rgba(39,134,255,.16)}
.field [aria-invalid="true"]{border-color:var(--danger)}
.err{color:var(--danger);font-size:.87rem;margin-top:6px;font-weight:600}
.err:empty{display:none}
.opt{font-weight:500;color:var(--muted)}
.checks{display:flex;flex-wrap:wrap;gap:10px}
.check{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--r-sm);border:1.5px solid var(--line-strong);background:var(--bg);cursor:pointer;font-weight:600}
.check input{width:20px;height:20px;margin:0;accent-color:var(--navy)}
.consent{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:.92rem;color:var(--ink-2);margin:6px 0 20px}
.consent input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--navy)}
.linkish{border:0;background:none;padding:0;color:var(--sky-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit;font-weight:600}
.submit{width:100%}
.submit[disabled]{opacity:.6;cursor:progress}
.form-note{margin-top:14px;font-size:.88rem;color:var(--muted);text-align:center}
.status{margin-top:16px;padding:16px 18px;border-radius:var(--r-sm);font-size:.95rem}
.status:empty{display:none}
.status.ok{background:var(--mint);color:#0f5132}
.status.bad{background:#fdecea;color:#7a1d14}
.status a{font-weight:700}
.hp{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}

/* faq */
.qa{padding:6px clamp(18px,3vw,30px)}
.qa details+details{border-top:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font:700 1rem/1.4 var(--f)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--ice) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23082D63' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 7v10M7 12h10'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .4s var(--ease)}
.qa details[open] summary::after{transform:rotate(135deg)}
.qa .a{padding:0 40px 22px 0;color:var(--ink-2)}
.qa details[open] .a{animation:rise .5s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(10px)}}

/* numbered flow (delivery steps, partner steps) */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:f}
.flow li{position:relative;padding-top:56px;color:var(--ink-2)}
.flow li::before{counter-increment:f;content:counter(f);position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--navy);display:grid;place-items:center;font:800 .92rem/1 var(--f);color:#fff}
.flow li::after{content:"";position:absolute;top:20px;left:52px;right:-10px;height:2px;background:var(--wave);opacity:.5;transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease) calc(var(--i,0)*160ms + .3s)}
.flow.in li::after{transform:scaleX(1)}
.flow li:last-child::after{display:none}
.flow b{display:block;color:var(--ink);font:700 1rem/1.3 var(--f);margin-bottom:6px}
.on-dark .flow li{color:var(--on-navy)}
.on-dark .flow b{color:#fff}
.on-dark .flow li::before{background:#fff;color:var(--navy)}
@media (max-width:980px){.flow{grid-template-columns:1fr 1fr;gap:28px 22px}.flow li::after{display:none}}
@media (max-width:560px){.flow{grid-template-columns:1fr}}

/* footer */
.foot{position:relative;background:var(--navy-deep);color:var(--on-navy);padding:64px var(--pad) 32px;overflow:hidden;isolation:isolate}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}
.foot .tag{margin-top:14px;font:700 .78rem/1.4 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--sky-soft)}
.foot .about{margin-top:14px;font-size:.92rem;max-width:34ch}
.foot h3{font:700 .78rem/1.3 var(--f);letter-spacing:.12em;text-transform:uppercase;color:#93a7c8;margin-bottom:16px}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.foot a,.foot .linkish{color:#eef3fb;text-decoration:none;font-weight:500;text-align:left}
.foot a:hover,.foot .linkish:hover{text-decoration:underline;text-underline-offset:3px}
.legal{margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:.86rem;color:#a3b4cf}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* dialogs */
dialog{width:min(640px,calc(100% - 32px));max-height:min(80vh,720px);border:0;border-radius:var(--r);padding:0;background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.3)}
dialog::backdrop{background:rgba(6,31,69,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
dialog[open]{animation:rise .4s var(--ease)}
.dlg{padding:clamp(24px,4vw,40px)}
.dlg h2{font-size:1.5rem;margin-bottom:16px}
.dlg p{color:var(--ink-2);margin-top:12px}
.dlg .x{position:sticky;top:0;float:right;margin:-8px -8px 0 12px}

/* the phone buy bar */
.buybar{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:none;align-items:center;gap:10px;padding:8px 8px 8px 18px;border-radius:999px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.2);transform:translateY(140%);transition:transform .5s var(--ease)}
.buybar.show{transform:none}
.buybar .p{margin-right:auto;font:800 1.05rem/1.1 var(--f);color:var(--navy)}
.buybar .p small{display:block;font:600 .74rem/1.3 var(--f);color:var(--muted)}
.buybar .btn{min-height:48px;padding:0 22px}
@media (max-width:720px){.buybar{display:flex}.foot{padding-bottom:110px}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important}
  .rv>*{opacity:1;transform:none}
  .flow li::after{transform:none}
  .hero-media video{display:none}
}
