/* PetsCare landing pages – shared styles (Clinics + Pet parents). Built from Figma file mqiprmu5M6Pin6ZgWaDDtf. */
@font-face{font-family:"Inter";src:url("../fonts/inter-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --ink:#27103e; --ink-2:#241337; --ink-3:#161321; --purple:#63118b; --purple-2:#57108e; --purple-3:#651391;
  --body:#625d6d; --btn:#270b3e; --lilac:#f4edf9; --line:#e3d6f0; --footer:#24093b;
  --grad-light:linear-gradient(120deg,#f7f6f8 24.224%,#ebd1f6 110.43%);
  --grad-dark:linear-gradient(110deg,#270b3e 27.201%,#9447d0 78.625%);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.45;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
ul{margin:0;padding:0;list-style:none}
.wrap{width:100%;max-width:1192px;margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font-size:12px;font-weight:600;line-height:1.45;color:var(--purple);text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:14px 28px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(39,11,62,.18)}
.btn:focus-visible,.nav a:focus-visible,.lang:focus-visible{outline:3px solid #b98be0;outline-offset:2px}
.btn--dark{background:var(--btn);color:#fff}
.btn--white{background:#fff;color:#270541;height:56px}
.btn--ghost{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.65);color:#fff;height:56px}
.check-list li{position:relative}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid transparent;transition:border-color .2s}
.nav.is-scrolled{border-bottom-color:#eee6f3}
.nav__inner{position:relative;display:flex;align-items:center;height:96px;max-width:1440px;margin:0 auto;padding:0 96px 0 113px}
.nav__logo{flex:none;display:block;width:203px}
.nav__logo img{width:203px;height:auto}
.nav__links{display:flex;gap:15px;margin-left:29px;font-size:12px;font-weight:500;line-height:1.45}
.nav__links a{text-decoration:none;color:var(--body);white-space:nowrap}
.nav__links a[aria-current="page"]{color:var(--purple)}
.nav__right{display:flex;align-items:center;margin-left:auto;gap:53px}
.lang{position:relative;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 8px 0 12px;border:0;border-radius:9px;background:var(--lilac);color:var(--purple-2);font:500 12px/1 "Inter",sans-serif;cursor:pointer}
.lang__globe{font-size:17px;line-height:1}
.lang__chev{font-size:14px;margin-left:4px}
.lang-menu{position:absolute;right:0;top:40px;width:176px;padding:10px 8px;background:#fff;border-radius:12px;box-shadow:0 12px 30px rgba(39,11,62,.16);display:none}
.lang-menu.is-open{display:block}
.lang-menu a{display:flex;gap:12px;padding:9px 11px;border-radius:8px;text-decoration:none;font-size:12px;color:var(--ink)}
.lang-menu a b{width:30px;color:var(--purple-2)}
.lang-menu a:hover,.lang-menu a[aria-current="true"]{background:var(--lilac)}
.lang-wrap{position:relative}
.nav__cta{width:248px}
.nav__burger{display:none;margin-left:auto;width:44px;height:44px;border:0;background:var(--lilac);border-radius:10px;cursor:pointer;align-items:center;justify-content:center}
.nav__burger span,.nav__burger span::before,.nav__burger span::after{display:block;width:20px;height:2px;background:var(--purple-2);position:relative;content:""}
.nav__burger span::before{position:absolute;top:-6px}.nav__burger span::after{position:absolute;top:6px}
/* pet-parents variant */
.nav--pp .nav__inner{height:88px;max-width:1192px;padding:0;box-sizing:content-box}
.nav--pp .nav__links{margin-left:19px;gap:15px;letter-spacing:1px;text-transform:uppercase;font-size:12px}
.nav--pp .nav__links a{color:var(--purple-2);line-height:1.5;padding-bottom:2px;border-bottom:1px solid transparent}
.nav--pp .nav__links a[aria-current="page"]{border-bottom-color:var(--purple-2)}
.nav--pp .nav__right{gap:16px}
.nav__login{display:inline-flex;align-items:center;gap:10px;padding:0 8px;text-decoration:none;color:var(--purple-2);font-size:16px;font-weight:500;letter-spacing:1px;text-transform:uppercase}
.nav__login img{width:24px;height:24px}
.nav--pp .nav__cta{width:181px;height:40px}

/* ---------- HERO (animated) ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;background:var(--grad-dark)}
.hero__media{position:absolute;inset:0;z-index:-1;background:#2a1240 center/cover no-repeat}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero__media video{object-fit:cover;width:100%;height:100%}
.hero__veil{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero__content{position:relative;z-index:3;max-width:1440px;margin:0 auto;padding:82px 96px 0}
.hero h1{font-size:60px;font-weight:700;line-height:69px;letter-spacing:0}
.hero__eyebrow{font-size:14px;font-weight:600;line-height:19px;text-transform:uppercase}
.hero--clinics{height:840px}
.hero--clinics .hero__veil{background:linear-gradient(90deg,rgba(28,6,46,.95) 0%,rgba(33,9,51,.86) 43%,rgba(38,13,54,.18) 72%,rgba(38,13,54,.03) 100%)}
.hero--clinics h1{margin-top:31px;max-width:430px}
.hero__sub{margin-top:32px;font-size:26px;font-weight:600;line-height:34px}
.hero__lead{margin-top:32px;max-width:502px;font-size:21px;line-height:32px}
.hero__ctas{display:flex;gap:16px;margin-top:50px}
.hero__cta-col{display:flex;flex-direction:column;align-items:center;gap:7px}
.hero__cta-col small{font-size:13px;line-height:1.38;white-space:nowrap}
.hero__ctas .btn--white{width:250px}.hero__ctas .btn--ghost{width:230px}
.hero__note{margin-top:35px;max-width:460px;font-size:16px;line-height:24px}
.hero__demo{display:inline-block;margin-top:42px;font-size:14px;line-height:1.45;text-decoration:none}
.hero__demo:hover{text-decoration:underline}
.hero--pp{height:820px}
.hero--pp .hero__veil{background:linear-gradient(90deg,rgba(28,6,46,.92) 0%,rgba(33,9,51,.82) 46%,rgba(38,13,54,.18) 72%,rgba(38,13,54,.03) 100%)}
.hero--pp .hero__content{padding-top:72px}
.hero--pp h1{margin-top:33px;max-width:760px;line-height:66px}
.hero--pp .hero__lead{margin-top:45px;max-width:650px;font-size:23px;line-height:32px;padding-left:1px}
.hero--pp .hero__free{margin-top:27px;font-size:23px;line-height:32px;padding-left:1px}
.hero__apps{display:flex;align-items:center;margin-top:88px}
.hero__apps-label{width:158px;font-size:18px;font-weight:600;line-height:1.45}
.store-badges{display:flex;gap:18px;align-items:center}
.store-badges a{display:block;border-radius:8px}
.store-badges img{height:46px;width:auto}

/* ---------- SECTIONS: generic ---------- */
.sec{padding:76px 124px}
.sec--grad{background:var(--grad-light)}
.sec--white{background:#fff}
.h2{font-weight:700;color:var(--ink);letter-spacing:0}
.lead{color:var(--body)}

/* Clinics: outcomes */
.outcomes{padding:54px 124px}
.outcomes .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.outcomes h3{font-size:22px;font-weight:700;line-height:1.45;color:var(--ink)}
.outcomes p{margin-top:8px;font-size:16px;line-height:1.45;color:var(--body)}

/* Clinics: control (worklist) */
.control{padding:54px 124px}
.control .wrap{display:grid;grid-template-columns:500px 1fr;gap:64px;align-items:center;min-height:479px}
.control h2{margin-top:16px;font-size:38px;line-height:44px}
.control .lead{margin-top:16px;font-size:19px;line-height:28px}
.control ul{margin-top:16px;font-size:18px;line-height:34px;color:var(--body)}
.control__img{justify-self:start;width:680px;max-width:none;margin-top:-6px}

/* Clinics: how it works */
.how-c h2{margin-top:16px;font-size:42px;line-height:50px}
.how-c .lead{margin-top:16px;font-size:19px;line-height:28px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px}
.step-card{border:1px solid var(--line);border-radius:24px;padding:24px;background:#fff;display:flex;flex-direction:column;gap:12px}
.step-card .eyebrow{line-height:18px}
.step-card h3{font-size:24px;font-weight:700;line-height:30px;color:var(--ink)}
.step-card p{font-size:17px;line-height:25px;color:var(--body);min-height:75px}
.step-card img{width:100%;max-width:328px;border-radius:16px}

/* Clinics: results */
.results .wrap{display:grid;grid-template-columns:584px 544px;gap:64px;align-items:center}
.results__text{display:flex;flex-direction:column;gap:22px}
.results h2{font-size:40px;line-height:1.12}
.results .lead{font-size:19px}
.results__claim{font-size:26px;font-weight:700;line-height:1.45;color:var(--purple)}
.results__small{font-size:17px;color:var(--body)}

/* Clinics: after the visit */
.after .wrap{display:flex;flex-direction:column;gap:24px}
.after h2{font-size:44px;line-height:1.12}
.after .lead{font-size:20px;max-width:850px}
.after__devices{display:flex;justify-content:center;align-items:center;min-height:700px}
.after__devices img{width:884px}

/* Clinics: PIMS */
.pims{padding:72px 124px}
.pims .wrap{display:flex;flex-direction:column;gap:24px}
.pims h2{font-size:44px;line-height:1.12}
.pims .lead{font-size:19px;max-width:1060px}
.pims__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pims__card{background:#fff;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px}
.pims__art{height:112px;display:flex;align-items:center}
.pims__art img{width:100px;height:auto}
.pims__card h3{font-size:22px;font-weight:700;line-height:1.45;color:var(--ink)}
.pims__card p{font-size:16px;color:var(--body)}
.pims__note{font-size:16px;font-weight:500;color:var(--purple)}

/* Clinics: plans */
.plans .wrap{display:flex;flex-direction:column;gap:24px}
.plans h2{font-size:48px;line-height:1.12}
.plans__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.plan{background:#fff;border:1px solid #e9e1ef;border-radius:20px;padding:36px;display:flex;flex-direction:column;gap:16px}
.plan--featured{border-color:var(--purple)}
.plan__price{font-size:60px;font-weight:700;line-height:1.12;color:var(--ink)}
.plan__per{font-size:18px;font-weight:500;color:var(--body)}
.plan h3{font-size:26px;font-weight:700;line-height:1.45;color:var(--ink)}
.plan ul{font-size:18px;line-height:1.45;color:var(--body)}
.plan .btn{width:100%}
.plan__fine{font-size:14px;color:var(--body)}

/* Clinics: free booking */
.booking{padding:72px 124px}
.booking .wrap{display:grid;grid-template-columns:518px 610px;gap:64px;align-items:center}
.booking__art{width:518px;border-radius:23px}
.booking__text{display:flex;flex-direction:column;gap:20px}
.booking h2{font-size:40px;line-height:1.12}
.booking .lead{font-size:18px}
.booking ol{margin:0;padding:0;list-style:none;font-size:19px;font-weight:600;line-height:1.45;color:var(--ink);counter-reset:s}
.booking ol li{counter-increment:s}
.booking ol li::before{content:counter(s);display:inline-block;width:23px}
.booking__note{font-size:16px;color:var(--body)}

/* Clinics: FAQ */
.faq{padding:72px 124px}
.faq .wrap{display:flex;flex-direction:column;gap:24px}
.faq h2{font-size:42px;line-height:1.12}
.faq__item{padding:18px 0;display:flex;flex-direction:column;gap:10px}
.faq__item h3{font-size:22px;font-weight:700;line-height:1.45;color:var(--ink)}
.faq__item p{font-size:17px;line-height:1.45;color:var(--body);max-width:1060px}

/* Clinics: final CTA */
.cta-band{position:relative;height:392px;background:linear-gradient(127deg,#270b3e 27.201%,#9447d0 78.625%);color:#fff;overflow:hidden}
.cta-band__inner{position:relative;max-width:1440px;height:100%;margin:0 auto;padding:65px 96px 0}
.cta-band h2{font-size:45px;font-weight:700;line-height:50px;max-width:1000px}
.cta-band p{margin-top:42px;font-size:21px;line-height:29px;max-width:950px}
.cta-band .hero__ctas{margin-top:55px}
.cta-band__art{position:absolute;left:1160px;top:60px;width:210px}

/* ---------- Pet parents ---------- */
.how-p{height:760px;padding:76px 160px 0}
.how-p .wrap{max-width:1120px}
.how-p__head{text-align:center;padding-top:72px}
.how-p__eyebrow{font-size:16px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--purple-2);line-height:1.5}
.how-p h2{margin-top:4px;font-size:36px;line-height:41.4px;letter-spacing:-1px;color:var(--ink-2)}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.kafel{background:#fff;border:1px solid #e3d4f0;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:20px;min-height:470px}
.kafel img{width:100%;max-width:228px;border-radius:12px}
.kafel h3{font-size:19px;font-weight:700;line-height:25px;color:#111827}
.kafel p{font-size:16px;line-height:23px;color:#1d1b20}

.without{background:#f6f1fb;padding:60px 124px}
.without .wrap{display:flex;flex-direction:column;gap:22px}
.without h2{font-size:38px;font-weight:600;line-height:1.45;color:#291a3b}
.without .lead{font-size:18px;color:#615c6e}
.without__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.without__card{background:#fff;border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:12px}
.without__card .eyebrow{color:#4d0b7d}
.without__card h3{font-size:24px;font-weight:600;line-height:1.45;color:#291a3b}
.without__card ul{font-size:17px;line-height:1.45;color:#615c6e}

.split{position:relative;padding:0 124px}
.split .wrap{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.symptoms{height:688px}
.symptoms .wrap{height:100%;grid-template-columns:660px 520px;justify-content:space-between}
.symptoms__eyebrow{font-size:14px;font-weight:700;color:#000}
.symptoms h2{margin-top:35px;font-size:45px;line-height:1.21;color:var(--ink-2)}
.symptoms .lead{margin-top:53px;font-size:18px;color:#000;max-width:620px;line-height:1.21}
.symptoms .btn{margin-top:140px;width:294px;height:49px;border-radius:12px;background:#2a0c40;justify-content:flex-start;padding-left:23px}
.ticks{display:flex;margin-top:34px;font-size:14px;font-weight:500;color:#625b70}
.ticks li{display:flex;align-items:center;gap:9px}
.ticks li:nth-child(1){width:207px}.ticks li:nth-child(2){width:182px}
.tick{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:#f2e8f8;color:#64158f;font-size:13px;font-weight:700}
.symptoms__visual{position:relative;width:520px}
.symptoms__halo{position:absolute;left:41px;top:16px;width:485px;height:485px;border-radius:50%;background:#f7f0fa;z-index:0}
.symptoms__visual img{position:relative;z-index:1;width:520px}

.report{padding:66px 124px 31px}
.report__head{text-align:center}
.report__eyebrow{font-size:14px;font-weight:600;line-height:1.26;color:var(--purple)}
.report h2{margin:28px auto 0;font-size:44px;line-height:1.26;max-width:1150px;color:var(--ink-2)}
.report .lead{margin:26px auto 0;font-size:18px;line-height:1.26;max-width:1060px}
.report__cards{display:grid;grid-template-columns:555px 555px;justify-content:space-between;margin-top:32px}
.report__cards img{width:555px;border-radius:24px}
.report__divider{height:2px;background:#ede5f1;margin-top:33px}
.report__prep-eyebrow{margin-top:24px;font-size:13px;font-weight:600;line-height:1.28;color:#64158f}
.report h3{margin-top:13px;font-size:27px;font-weight:700;line-height:1.28;color:#1b1524}
.report__prep-lead{margin-top:18px;font-size:16px;line-height:1.28;color:#665f70}
.steps3{display:grid;grid-template-columns:repeat(3,386px);justify-content:space-between;margin-top:36px}
.step-mini{background:#fff;border-radius:15px;min-height:109px;padding:17px 18px;line-height:1.28}
.step-mini b{display:inline-block;width:50px;font-size:15px;color:#64158f}
.step-mini strong{font-size:14px;font-weight:600;color:#1b1524}
.step-mini p{margin-top:17px;font-size:14px;color:#665f70}

.recovery{padding:54px 124px 60px;text-align:center}
.recovery__eyebrow{font-size:14px;font-weight:600;line-height:1.25;color:var(--purple-3)}
.recovery h2{margin-top:22px;font-size:42px;line-height:1.25;color:var(--ink-2)}
.recovery .lead{margin:21px auto 0;max-width:980px;font-size:18px;line-height:1.25;color:#625d6e}
.recovery__cards{display:grid;grid-template-columns:repeat(3,386px);justify-content:space-between;margin-top:56px;text-align:left}
.rec-card{background:#fff;border-radius:22px;padding:20px 24px 24px;min-height:430px}
.rec-card__badge{display:inline-block;margin-left:-2px;padding:7px 10px;border-radius:10px;background:#f3eaf8;color:var(--purple-3);font-size:12px;font-weight:600;line-height:1.25;width:87px}
.rec-card img{width:196px;margin:18px auto 0}
.rec-card h3{margin-top:23px;font-size:22px;font-weight:700;line-height:1.25;color:var(--ink-3)}
.rec-card p{margin-top:24px;font-size:15px;line-height:1.25;color:#625d6e}

.lab{height:720px}
.lab .wrap{height:100%;grid-template-columns:658px 548px;justify-content:space-between}
.lab__eyebrow{font-size:14px;font-weight:600;line-height:1.32;color:var(--purple-3)}
.lab h2{margin-top:28px;font-size:47px;line-height:1.32;color:var(--ink-2)}
.lab .lead{margin-top:24px;max-width:621px;font-size:19px;line-height:1.32;color:#655d70}
.lab__steps{display:grid;grid-template-columns:278px 278px;gap:16px 17px;margin-top:61px}
.lab-step{position:relative;background:#fff;border-radius:15px;height:96px;padding:17px 14px 0 55px;line-height:1.32}
.lab-step .num{position:absolute;left:13px;top:15px;width:34px;height:34px;border-radius:50%;background:#f2e8f8;color:var(--purple-3);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}
.lab-step strong{display:block;font-size:14px;font-weight:700;color:#181420}
.lab-step p{margin-top:12px;font-size:13px;color:#655d70}
.lab__card{width:548px}
.lab .split-text{padding-top:0}

.memory{height:570px}
.memory .wrap{height:100%;grid-template-columns:727px 438px;justify-content:space-between;align-items:start}
.memory__text{padding-top:67px}
.memory__eyebrow{font-size:14px;font-weight:600;line-height:1.25;color:var(--purple-3)}
.memory h2{margin-top:24px;font-size:44px;line-height:1.25;color:var(--ink-2)}
.memory .lead{margin-top:22px;max-width:700px;font-size:19px;line-height:1.25;color:#625d6e}
.memory__rows{margin-top:46px;display:flex;flex-direction:column;gap:28px}
.memory__rows li{display:grid;grid-template-columns:53px 200px 1fr;align-items:start;font-size:14px;line-height:1.25}
.memory__rows .ic{width:37px;height:37px;border-radius:50%;background:#f3eaf8;color:var(--purple-3);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}
.memory__rows strong{font-weight:600;color:var(--ink-3)}
.memory__rows span{color:#625d6e;padding-top:1px}
.memory__card{margin-top:46px;width:438px}

.caremap{height:614px;padding:0 80px}
.caremap .wrap{max-width:1280px;height:100%;display:grid;grid-template-columns:484px 748px;justify-content:space-between;align-items:start}
.caremap__text{padding-top:64px;display:flex;flex-direction:column;gap:22px}
.caremap__eyebrow{font-size:13px;font-weight:600;line-height:1.4;color:var(--purple-3)}
.caremap h2{font-size:43px;line-height:1.4;color:var(--ink-2)}
.caremap .lead{font-size:18px;line-height:1.4;color:#625d6e}
.chips{display:flex;gap:9px}
.chips li{padding:9px 13px;border-radius:20px;background:#f5effa;color:var(--purple-3);font-size:12px;font-weight:600;line-height:1.4;min-width:114px}
.caremap .btn{width:260px;height:51px;border-radius:10px;background:var(--purple-3);color:#fff;justify-content:flex-start;padding-left:22px}
.caremap__small{font-size:12px;line-height:1.4;color:#746b7f}
.caremap__shot{margin-top:91px;width:748px}

.benefits{padding:54px 124px 52px;text-align:center}
.benefits__eyebrow{font-size:14px;font-weight:600;line-height:1.25;color:var(--purple-3)}
.benefits h2{margin-top:23px;font-size:40px;line-height:1.25;color:var(--ink-2)}
.benefits .lead{margin-top:6px;font-size:18px;line-height:1.25;color:#625d6e}
.benefits__grid{display:grid;grid-template-columns:repeat(4,279px);justify-content:space-between;margin-top:47px;text-align:left}
.benefit{position:relative;background:#fff;border-radius:16px;height:154px;padding:75px 18px 0}
.benefit .ic{position:absolute;left:17px;top:18px;width:38px;height:38px;border-radius:50%;background:#f3eaf8;color:var(--purple-3);font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}
.benefit strong{display:block;font-size:15px;font-weight:700;line-height:1.25;color:var(--ink-3)}
.benefit p{margin-top:13px;font-size:14px;line-height:1.25;color:#625d6e}
.final-cta{display:flex;align-items:center;justify-content:space-between;margin-top:30px;height:140px;padding:0 163px 0 37px;border-radius:23px;background:linear-gradient(150deg,#270b3e 27.201%,#9447d0 78.625%);text-align:left}
.final-cta strong{display:block;font-size:28px;font-weight:700;line-height:1.25;color:#fbf8ff}
.final-cta p{margin-top:13px;font-size:17px;line-height:1.25;color:#e0d4e7}
.final-cta .btn{width:223px;height:47px;border-radius:12px;background:#fff;color:var(--purple-3);justify-content:flex-start;padding-left:31px}

/* ---------- FOOTER ---------- */
.footer{background:var(--footer);color:#fff;padding:52px 124px 34px}
.footer__top{display:grid;grid-template-columns:300px 210px 210px 376px;gap:32px}
.footer__brand img{width:203px}
.footer__brand p{margin-top:14px;font-size:15px}
.footer__brand address{margin-top:14px;font-style:normal;font-size:14px;line-height:1.45}
.footer h4{margin:0 0 12px;font-size:16px;font-weight:600;line-height:1.45}
.footer__col a{display:block;margin-bottom:12px;font-size:15px;text-decoration:none}
.footer__col a:hover,.footer__legal a:hover{text-decoration:underline}
.footer__app h4{font-size:18px;margin-bottom:14px}
.footer__app p{font-size:15px}
.footer__app .store-badges{margin-top:14px;gap:10px}
.footer__app .store-badges img{height:40px}
.footer__legal{display:flex;gap:28px;margin-top:34px;font-size:13px;line-height:1.45}
.footer__legal span:first-child{width:400px}
.footer__legal a{text-decoration:none}
.footer__legal a:nth-of-type(1){width:160px}.footer__legal a:nth-of-type(2){width:110px}
.footer__legal small{font-size:12px}

/* ---------- RESPONSIVE: 1024 ---------- */
@media (max-width:1279px){
  .nav__inner{padding:0 32px}
  .nav--pp .nav__inner{padding:0 32px;box-sizing:border-box;max-width:none}
  .nav__links{display:none}
  .nav__burger{display:inline-flex}
  .nav__right{gap:12px;margin-left:auto;margin-right:12px}
  .nav__login{display:none}
  .nav__links.is-open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;margin:0;padding:16px 32px 24px;background:#fff;gap:18px;font-size:14px;box-shadow:0 12px 24px rgba(39,11,62,.08)}
  .nav__burger{margin-left:0}
  .sec,.outcomes,.control,.pims,.booking,.faq,.without,.footer,.recovery,.benefits,.report{padding-left:40px;padding-right:40px}
  .how-p{padding:64px 40px;height:auto}.how-p__head{padding-top:0}
  .split,.caremap{padding:72px 40px;height:auto}
  .symptoms,.lab,.memory,.caremap{height:auto}
  .hero__content,.cta-band__inner{padding-left:48px;padding-right:48px}
  .control .wrap,.results .wrap,.booking .wrap,.symptoms .wrap,.lab .wrap,.memory .wrap,.caremap .wrap{grid-template-columns:1fr;gap:40px;justify-items:center}
  .control__img,.results__media,.booking__art,.symptoms__visual,.lab__card,.memory__card,.caremap__shot{max-width:100%;margin-top:0}
  .control__text,.results__text,.booking__text,.split-text,.memory__text,.caremap__text{justify-self:stretch;padding-top:0}
  .symptoms .btn{margin-top:40px}
  .symptoms__halo{display:none}
  .after__devices{min-height:0}
  .cards4{grid-template-columns:repeat(2,1fr)}
  .kafel{min-height:0}
  .kafel img{max-width:100%}
  .report__cards{grid-template-columns:1fr 1fr;gap:24px}.report__cards img{width:100%}
  .steps3,.recovery__cards{grid-template-columns:repeat(3,1fr);gap:16px}
  .benefits__grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .final-cta{padding:32px 37px;height:auto;gap:24px}
  .cta-band{height:auto;padding-bottom:64px}
  .cta-band__art{left:auto;right:40px;width:150px;top:40px}
  .cta-band h2{max-width:calc(100% - 180px)}
  .footer__top{grid-template-columns:1fr 1fr;gap:32px}
  .footer__legal{flex-wrap:wrap;gap:12px 28px}
  .footer__legal span:first-child{width:auto}
}
/* ---------- RESPONSIVE: phones ---------- */
@media (max-width:767px){
  .nav__inner,.nav--pp .nav__inner{height:68px;padding:0 20px}
  .nav__logo,.nav__logo img{width:136px}
  .nav__cta,.nav--pp .nav__cta{display:none}
  .nav__right{margin-right:10px}
  .nav__links.is-open{padding:12px 20px 20px}
  .hero{height:auto!important;min-height:640px}
  .hero__video,.hero__media video{object-position:68% center} /* v7: video plays on phones too */
  .hero__media{background-position:68% center}
  .hero--clinics .hero__veil,.hero--pp .hero__veil{background:linear-gradient(180deg,rgba(28,6,46,.94) 0%,rgba(33,9,51,.86) 58%,rgba(38,13,54,.55) 100%)}
  .hero__content{padding:40px 20px 48px}
  .hero h1,.hero--pp h1{font-size:38px;line-height:44px;margin-top:20px}
  .hero__eyebrow{font-size:12px}
  .hero__sub{font-size:20px;line-height:27px;margin-top:20px}
  .hero__lead,.hero--pp .hero__lead,.hero--pp .hero__free{font-size:17px;line-height:26px;margin-top:20px}
  .hero__ctas{flex-direction:column;gap:14px;margin-top:28px}
  .hero__cta-col{align-items:stretch}
  .hero__cta-col small{text-align:center}
  .hero__ctas .btn--white,.hero__ctas .btn--ghost{width:100%}
  .hero__note{margin-top:24px;font-size:15px}
  .hero__demo{margin-top:20px}
  .hero__apps{flex-direction:column;align-items:flex-start;gap:14px;margin-top:36px}
  .store-badges img{height:42px}
  .sec,.outcomes,.control,.pims,.booking,.faq,.without,.footer,.recovery,.benefits,.report,.how-p,.split,.caremap{padding:48px 20px}
  .outcomes .wrap,.cards3,.pims__cards,.plans__grid,.without__grid,.cards4,.report__cards,.steps3,.recovery__cards,.benefits__grid,.lab__steps{grid-template-columns:1fr}
  .how-c h2,.faq h2,.how-p h2{font-size:30px;line-height:1.2}
  .control h2,.results h2,.booking h2,.after h2,.pims h2,.symptoms h2,.report h2,.recovery h2,.lab h2,.memory h2,.caremap h2,.benefits h2,.without h2{font-size:30px;line-height:1.2}
  .plans h2{font-size:32px}
  .plan{padding:24px}.plan__price{font-size:48px}.plan ul{font-size:16px}
  .faq__item h3{font-size:19px}.faq__item p{font-size:16px}
  .step-card p{min-height:0}
  .step-card img,.kafel img{margin:0 auto}
  .lead,.control .lead,.results .lead,.after .lead,.pims .lead{font-size:17px}
  .results__claim{font-size:22px}
  .after__devices img{width:100%}
  .symptoms .lead{margin-top:20px}.symptoms h2{margin-top:16px}
  .ticks{flex-wrap:wrap;gap:12px}.ticks li{width:auto!important}
  .report h2,.recovery h2{margin-top:16px}
  .rec-card{min-height:0}
  .memory__rows li{grid-template-columns:48px 1fr}.memory__rows span{grid-column:2}
  .chips{flex-wrap:wrap}
  .final-cta{flex-direction:column;align-items:flex-start;padding:28px 24px}
  .final-cta strong{font-size:22px}
  .cta-band__inner{padding:48px 20px 0}
  .cta-band h2{font-size:30px;line-height:1.2;max-width:none}
  .cta-band p{margin-top:20px;font-size:17px;line-height:1.45}
  .cta-band__art{display:none}
  .footer__top{grid-template-columns:1fr}
  .footer__legal{flex-direction:column;gap:8px}
  .footer__legal a{width:auto!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
}

/* ---------- HERO MOTION (text entrance + slow drift when the video is not playing) ---------- */
@keyframes pcFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes pcDrift{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.09) translate3d(-1.5%,-1%,0)}}
@keyframes pcVeil{from{opacity:.55}to{opacity:1}}
.js .hero__content>*{opacity:0;animation:pcFadeUp .8s cubic-bezier(.2,.7,.2,1) forwards}
.js .hero__content>*:nth-child(1){animation-delay:.05s}
.js .hero__content>*:nth-child(2){animation-delay:.18s}
.js .hero__content>*:nth-child(3){animation-delay:.32s}
.js .hero__content>*:nth-child(4){animation-delay:.46s}
.js .hero__content>*:nth-child(5){animation-delay:.6s}
.js .hero__content>*:nth-child(6){animation-delay:.72s}
.js .hero__content>*:nth-child(n+7){animation-delay:.84s}
.js .hero__veil{animation:pcVeil 1.2s ease-out both}
.hero__media{transform-origin:70% 40%}
.hero.is-static .hero__media{animation:pcDrift 18s ease-in-out infinite alternate}
.hero__video{opacity:1;transition:none}
.hero.is-playing .hero__video{opacity:1}.hero.is-static .hero__video{display:none}.hero.is-static .hero__video{display:none}

/* ---------- OFFER (editable section under the hero) ---------- */
.offer{background:#fff;padding:84px 124px 76px}
.offer__head{max-width:780px}
.offer__title{margin-top:10px;font-size:44px;line-height:1.15}
.offer__lead{margin-top:18px;font-size:19px;line-height:1.5}
.offer__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;align-items:stretch}
.offer__card{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px 28px 28px;border:1px solid #e9e1ef;border-radius:20px;background:#fff;box-shadow:0 1px 2px rgba(39,11,62,.04);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.offer__card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(39,11,62,.10);border-color:#d6c3e6}
.offer__card--featured{background:var(--grad-light);border-color:var(--purple)}
.offer__tag{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--purple)}
.offer__price{font-size:40px;font-weight:700;line-height:1.1;color:var(--ink)}
.offer__price span{display:block;margin-top:6px;font-size:14px;font-weight:500;color:var(--body)}
.offer__price--text{font-size:28px}
.offer__card h3{font-size:22px;font-weight:700;line-height:1.3;color:var(--ink)}
.offer__list{display:flex;flex-direction:column;gap:9px;margin-bottom:8px;font-size:16px;line-height:1.45;color:var(--body)}
.offer__list li{position:relative;padding-left:28px}
.offer__list li::before{content:"✓";position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:#f0e4f8;color:var(--purple);font-size:11px;font-weight:700;line-height:19px;text-align:center}
.offer__card .btn{margin-top:auto;width:100%}
.btn--line{background:#fff;color:var(--btn);border:1px solid var(--btn)}
.offer__more{margin-top:28px;text-align:center;font-size:15px;font-weight:600}
.offer__more a{color:var(--purple);text-decoration:none}.offer__more a:hover{text-decoration:underline}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-in{opacity:1;transform:none}
.js .offer__grid .reveal:nth-child(2){transition-delay:.1s}.js .offer__grid .reveal:nth-child(3){transition-delay:.2s}
@media (max-width:1100px){.offer{padding:64px 48px}.offer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:767px){
  .offer{padding:48px 20px}
  .offer__title{font-size:30px}
  .offer__lead{font-size:17px}
  .offer__grid{grid-template-columns:1fr;gap:16px;margin-top:28px}
  .offer__card{padding:24px 20px}
  .offer__price{font-size:34px}
  .offer__price--text{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
  .js .hero__content>*,.js .hero__veil{animation:none;opacity:1}
  .hero.is-static .hero__media{animation:none}
  .js .reveal{opacity:1;transform:none;transition:none}
  .offer__card,.offer__card:hover{transition:none;transform:none}
}

/* ---------- v8: phones – the hero loop is shown as an unveiled 16:10 band above the copy (same idea as the splash cards).
   v7 played the video full-bleed behind an 86–94% veil and the text, so the motion was practically invisible. ---------- */
@media (max-width:767px){
  .hero,.hero--clinics,.hero--pp{display:flex;flex-direction:column;min-height:0;background:linear-gradient(180deg,#270b3e 0%,#2e0d4a 55%,#4a1a74 100%)}
  .hero__media{position:relative;inset:auto;z-index:0;flex:none;width:100%;aspect-ratio:16/10;overflow:hidden;background-position:72% center}
  .hero__media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(39,11,62,0) 0%,#270b3e 100%)}
  .hero__video,.hero__media video{object-position:72% center}
  .hero--clinics .hero__veil,.hero--pp .hero__veil{display:none}
  .hero.is-static .hero__media{animation:none}
  .hero__content,.hero--pp .hero__content{padding-top:12px}
}

/* ---------- v9: phones – the hero video is a plain native autoplay loop (autoplay muted loop playsinline + <source media>
   in the HTML, same as the splash cards). It is always visible on phones; the poster attribute covers it until the first frame,
   so nothing depends on JS adding .is-playing. Reduced motion still hides it (rule above). ---------- */
@media (max-width:767px){
  .hero__video,.hero.is-playing .hero__video{opacity:1;transition:none}
}

/* v10: balanced, legible phone hero text without extra horizontal overflow. */
@media (max-width:767px){.hero h1,.hero--pp h1{font-size:clamp(28px,7.5vw,33px);line-height:1.16;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:normal}.hero__content{max-width:100%;min-width:0}}

/* v12: 350-frame GIF fallback. MP4 stays primary; GIF loads only if video fails.
   On no-JS browsers the <noscript> GIF remains visible. */
.hero__gif{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.hero__gif[hidden]{display:none!important}
.hero__gif img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero.is-gif .hero__video,.hero.is-gif .hero__media video{display:none!important}
.hero.is-gif .hero__media{animation:none!important}
html:not(.js) .hero__video{display:none!important}
@media(max-width:767px){.hero__gif img{object-position:72% center}}

