/* TerryWhite Healthcare — main stylesheet */
:root{
  --green:#12853f; --green-d:#0a5a2a; --green-l:#e7f4ec;
  --red:#e0262d; --red-d:#b5161c;
  --navy:#172566; --navy-d:#0f1847;
  --ink:#1b2340; --muted:#5b6478; --line:#dce6e0;
  --paper:#ffffff; --mist:#f4f8f5;
  --r-lg:28px; --r-md:16px; --r-sm:10px;
  --shadow:0 18px 40px -18px rgba(23,37,102,.28);
  --f-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --f-body:"Figtree", "Segoe UI", system-ui, sans-serif;
  --wrap:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--f-body);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.08;letter-spacing:-.02em;color:var(--navy)}
h2{font-size:clamp(2rem,4vw,3.1rem);font-weight:700}
h3{font-size:1.3rem;font-weight:700}
.lead{font-size:1.15rem;color:var(--muted);max-width:60ch}
.sec{padding:110px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:48px;flex-wrap:wrap}
.sec-head p{max-width:46ch;color:var(--muted)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:700;border:2px solid transparent;cursor:pointer;transition:transform .25s, background .25s, color .25s, box-shadow .25s;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn-green{background:var(--green);color:#fff;box-shadow:0 10px 24px -10px rgba(18,133,63,.7)}
.btn-green:hover{background:var(--green-d)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 24px -10px rgba(224,38,45,.7)}
.btn-red:hover{background:var(--red-d)}
.btn-line{border-color:var(--navy);color:var(--navy)}
.btn-line:hover{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--navy)}
.btn-wa{background:#25d366;color:#fff}
.btn-wa:hover{background:#1da851}
.btn-block{width:100%;justify-content:center}

/* loader */
.loader{position:fixed;inset:0;background:#fff;z-index:999;display:grid;place-items:center;transition:opacity .5s, visibility .5s}
.loader.done{opacity:0;visibility:hidden}
.loader .cross{width:84px;height:84px;position:relative}
.loader .cross i{position:absolute;border-radius:6px}
.loader .cross i:nth-child(1){left:30px;top:0;width:24px;height:42px;background:var(--red);animation:ldA .7s cubic-bezier(.6,0,.2,1) both}
.loader .cross i:nth-child(2){left:0;top:30px;width:42px;height:24px;background:var(--red);animation:ldB .7s .1s cubic-bezier(.6,0,.2,1) both}
.loader .cross i:nth-child(3){left:42px;top:30px;width:42px;height:24px;background:var(--green);animation:ldC .7s .2s cubic-bezier(.6,0,.2,1) both}
.loader .cross i:nth-child(4){left:30px;top:42px;width:24px;height:42px;background:var(--green);animation:ldD .7s .3s cubic-bezier(.6,0,.2,1) both}
@keyframes ldA{from{transform:translateY(-60px);opacity:0}}
@keyframes ldB{from{transform:translateX(-60px);opacity:0}}
@keyframes ldC{from{transform:translateX(60px);opacity:0}}
@keyframes ldD{from{transform:translateY(60px);opacity:0}}

/* top bar */
.topbar{background:var(--navy);color:#dfe5ff;font-size:.88rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:16px}
.topbar a{color:#fff;font-weight:600}
.topbar .tb-links{display:flex;gap:22px}
.topbar .tb-ticker{overflow:hidden;white-space:nowrap}

/* header */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.header.scrolled{box-shadow:0 10px 30px -18px rgba(23,37,102,.35)}
.header .wrap{display:flex;align-items:center;gap:28px;height:84px}
.logo{display:flex;align-items:center;gap:12px;flex:none}
.logo svg{width:46px;height:46px}
.logo b{display:block;font-family:var(--f-display);font-size:1.4rem;color:var(--navy);line-height:1;letter-spacing:-.02em}
.logo small{display:block;font-size:.78rem;color:var(--green);font-weight:700;line-height:1.3}
.logo em{display:block;font-size:.72rem;color:var(--muted);font-family:Georgia,serif}
.nav{display:flex;gap:6px;margin-left:auto}
.nav>li{list-style:none;position:relative}
.nav>li>a{display:block;padding:10px 16px;border-radius:999px;font-weight:600;color:var(--ink);transition:background .2s,color .2s}
.nav>li>a:hover,.nav>li>a.active{background:var(--green-l);color:var(--green-d)}
.nav .drop{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,8px);background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);padding:10px;width:290px;opacity:0;visibility:hidden;transition:.25s}
.nav li:hover .drop,.nav li:focus-within .drop{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav .drop a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-weight:600;font-size:.95rem}
.nav .drop a:hover{background:var(--mist);color:var(--green-d)}
.nav .drop .ic{width:34px;height:34px;border-radius:10px;background:var(--green-l);display:grid;place-items:center;color:var(--green)}
.nav .drop .ic svg{width:18px;height:18px}
.hd-actions{display:flex;gap:10px}
.hd-actions .btn{padding:11px 20px}
.burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;margin-left:auto}
.burger span{display:block;width:20px;height:2px;background:var(--navy);margin:5px auto;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;padding:80px 0 130px;background:
 radial-gradient(circle at 82% 30%,rgba(32,168,90,.55),transparent 42%),
 radial-gradient(circle at 8% 100%,rgba(224,38,45,.32),transparent 40%),
 linear-gradient(135deg,#0c1440 0%,#172566 55%,#123a6b 100%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;position:relative;z-index:2}
.hero-bg{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-bg .grid-bg{position:absolute;inset:-60px;opacity:.07;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:60px 60px;animation:gridmove 18s linear infinite;mask-image:radial-gradient(circle at 60% 40%,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(circle at 60% 40%,#000 0%,transparent 70%)}
@keyframes gridmove{to{transform:translate(60px,60px)}}
.hero-bg .plus{position:absolute;color:#3fd07a;opacity:.16}
.hero-bg .plus.r{color:#ff5a5f}
.hero .wrap>*{min-width:0}
.hero h1{font-size:clamp(2.4rem,4.6vw,4.2rem);font-weight:800;line-height:1;margin:22px 0 22px;color:#fff}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln>span{display:inline-block}
.hero h1 .g{color:#3fd07a}
.hero h1 .r{color:#ff5a5f}
.hero .lead{color:#c9d1f2}
.pill{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);border-radius:999px;padding:7px 16px 7px 8px;font-weight:600;font-size:.92rem;color:#fff}
.pill i{width:26px;height:26px;border-radius:50%;background:var(--red);display:grid;place-items:center;color:#fff;font-style:normal}
.hsearch{display:flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:6px 6px 6px 18px;max-width:540px;margin-top:28px;box-shadow:0 20px 40px -18px rgba(0,0,0,.5)}
.hsearch svg{width:20px;height:20px;color:var(--muted);flex:none}
.hsearch input{flex:1;min-width:0;border:0;outline:0;padding:10px 4px;background:transparent;color:var(--ink)}
.hsearch .btn{padding:11px 22px}
.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.quick a{font-size:.85rem;font-weight:600;padding:6px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.25);color:#e3e8ff;transition:.25s}
.quick a:hover{background:#fff;color:var(--navy)}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-trust{display:flex;gap:28px;margin-top:34px;flex-wrap:wrap}
.hero-trust div{display:flex;align-items:center;gap:10px;font-weight:600;color:#fff;font-size:.95rem}
.hero-trust svg{width:22px;height:22px;color:#3fd07a}

.show{position:relative;height:580px;display:grid;place-items:center}
.orbit{position:absolute;width:540px;height:540px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.22);animation:spin 50s linear infinite}
.orbit.two{width:400px;height:400px;border-color:rgba(63,208,122,.35);animation-direction:reverse;animation-duration:35s}
.obs{position:absolute;inset:0;animation:spin 60s linear infinite}
.ob{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px;border-radius:50%;border:3px solid #fff;padding:0;overflow:hidden;cursor:pointer;background:#fff;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);transform:rotate(var(--a)) translateX(270px) rotate(calc(-1 * var(--a)));transition:border-color .3s,box-shadow .3s}
.ob img{width:100%;height:100%;object-fit:cover;animation:spin 60s linear infinite reverse}
.ob.on{border-color:#3fd07a;box-shadow:0 0 0 5px rgba(63,208,122,.35)}
.showcard{position:relative;z-index:3;width:370px;background:#fff;border-radius:30px;padding:16px;box-shadow:0 50px 90px -30px rgba(0,0,0,.7);animation:bob 6s ease-in-out infinite}
.slides{position:relative;aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:#fff}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(1.1) rotate(2deg);transition:opacity .8s,transform 1.3s cubic-bezier(.2,.7,.2,1)}
.slides img.on{opacity:1;transform:none}
.sc-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 6px 6px}
.sc-meta small{color:var(--green);font-weight:700;font-size:.82rem}
.sc-meta h3{font-size:1.35rem}
.sc-go{width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;flex:none;transition:transform .3s,background .3s}
.sc-go:hover{background:var(--red);transform:rotate(-45deg)}
.sc-go svg{width:20px;height:20px}
.sc-dots{display:flex;gap:6px;padding:8px 6px 4px}
.sc-dots i{flex:1;height:4px;border-radius:4px;background:var(--line);overflow:hidden;position:relative}
.sc-dots i.on::after{content:"";position:absolute;inset:0;background:var(--green);animation:fill 3.2s linear forwards}
@keyframes fill{from{transform:translateX(-100%)}}
@keyframes spin{to{transform:rotate(360deg)}}
.float-badge{position:absolute;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;z-index:5;font-weight:700;color:var(--navy);font-size:.92rem;animation:bob 5s ease-in-out infinite}
.float-badge i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-style:normal;font-size:1.1rem}
.float-badge small{display:block;font-weight:500;color:var(--muted);font-size:.78rem}
.fb1{right:-6px;top:40px}.fb1 i{background:var(--red)}
.fb2{left:-20px;bottom:330px;animation-delay:-2.5s}.fb2 i{background:var(--green)}
@keyframes bob{50%{transform:translateY(-12px)}}

/* ticker */
.ticker{background:var(--green);color:#fff;overflow:hidden;transform:rotate(-1.2deg) scaleX(1.04);margin:-26px 0 0;position:relative;z-index:3;border-top:4px solid var(--red)}
.ticker .track{display:flex;gap:46px;padding:18px 0;width:max-content;animation:tick 38s linear infinite;font-family:var(--f-display);font-weight:700;font-size:1.35rem}
.ticker .track span{display:flex;align-items:center;gap:46px}
.ticker .track span::after{content:"";width:16px;height:16px;background:conic-gradient(#fff 0 0);clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%)}
@keyframes tick{to{transform:translateX(-50%)}}

/* categories */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cat{position:relative;border-radius:var(--r-lg);padding:26px;overflow:hidden;min-height:320px;display:flex;flex-direction:column;background:var(--navy);color:#fff;isolation:isolate;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.cat.big{grid-column:span 2}
.cat .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:-2;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.cat::before,.cat::after{content:"";position:absolute;inset:0;z-index:-1;transition:opacity .5s}
.cat::before{background:linear-gradient(180deg,rgba(8,12,40,0) 35%,rgba(8,12,40,.55) 70%,rgba(8,12,40,.88) 100%)}
.cat::after{background:linear-gradient(180deg,rgba(18,133,63,.1) 0%,rgba(10,90,42,.6) 55%,rgba(8,70,32,.95) 100%);opacity:0}
.cat .ic{width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;color:#fff;transition:.4s}
.cat .ic svg{width:26px;height:26px}
.cat .count{position:absolute;right:22px;top:26px;background:rgba(255,255,255,.95);color:var(--navy);font-weight:700;font-size:.8rem;padding:6px 12px;border-radius:999px}
.cat .ct{margin-top:auto}
.cat h3{color:#fff;font-size:1.5rem;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.cat.big h3{font-size:2rem}
.cat p{color:#e3e8fb;font-size:.94rem;margin-top:6px;max-width:36ch;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s,opacity .5s}
.cat.big p{max-height:none;opacity:1}
.cat .ex{display:inline-flex;align-items:center;gap:10px;font-weight:700;margin-top:14px;font-size:.95rem}
.cat .ex b{width:36px;height:36px;border-radius:50%;background:var(--red);display:grid;place-items:center;transition:transform .4s,background .4s,color .4s}
.cat .ex svg{width:16px;height:16px}
.cat:hover{transform:translateY(-8px);box-shadow:0 30px 50px -25px rgba(12,20,64,.7)}
.cat:hover .bgimg{transform:scale(1.1) rotate(-1deg)}
.cat:hover::after{opacity:1}
.cat:hover p,.cat:focus-visible p{max-height:90px;opacity:1}
.cat:hover .ic{background:var(--red);border-color:var(--red);transform:rotate(-8deg)}
.cat:hover .ex b{transform:translateX(6px) rotate(-45deg);background:#fff;color:var(--green)}
@media (hover:none){.cat p{max-height:none;opacity:1}}

/* home products band */
.prods{background:var(--mist);border-radius:40px 40px 0 0;margin-bottom:110px}

/* how ordering works */
.order{padding-top:110px}
.ord{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.osteps{list-style:none;display:grid;gap:12px;margin:34px 0 30px}
.ostep{position:relative;border-radius:20px;background:#fff;border:1.5px solid var(--line);overflow:hidden;transition:border-color .4s,background .4s,box-shadow .4s}
.ostep button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:16px;padding:16px 18px;cursor:pointer}
.ostep button:focus-visible{outline:3px solid var(--red);outline-offset:-3px;border-radius:20px}
.on-ic{flex:none;width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--mist);color:var(--navy);transition:.4s}
.on-ic svg{width:24px;height:24px}
.ostep .tx{flex:1}
.ostep .tx b{display:block;font-family:var(--f-display);color:var(--navy);font-size:1.1rem}
.ostep .tx small{display:block;color:var(--muted);font-size:.9rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s,opacity .45s}
.ostep .n{font-family:var(--f-display);font-weight:800;font-size:2rem;color:rgba(23,37,102,.12);transition:color .4s}
.ostep .bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,var(--green),var(--red));transform-origin:left;transform:scaleX(0)}
.ostep.on{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,var(--green),var(--red)) border-box;box-shadow:0 22px 40px -26px rgba(23,37,102,.5)}
.ostep.on .on-ic{background:var(--green);color:#fff;transform:rotate(-6deg)}
.ostep.on .tx small{max-height:60px;opacity:1;margin-top:3px}
.ostep.on .n{color:var(--red)}
.ostep.on .bar{animation:bar 4.2s linear forwards}
.osteps.paused .ostep.on .bar{animation:none;transform:scaleX(1)}
@keyframes bar{to{transform:scaleX(1)}}

.ord-r{position:relative;display:grid;place-items:center;min-height:620px}
.ph-bg{position:absolute;width:480px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2bb366,var(--green-d));box-shadow:inset 0 0 0 26px rgba(255,255,255,.08),0 0 0 26px var(--green-l)}
.phone{position:relative;width:290px;height:590px;border-radius:44px;background:#0d1330;padding:12px;box-shadow:0 50px 80px -30px rgba(10,15,50,.6),inset 0 0 0 2px #2b3566;z-index:2}
.notch{position:absolute;left:50%;top:18px;transform:translateX(-50%);width:90px;height:24px;border-radius:14px;background:#0d1330;z-index:5}
.screens{position:relative;width:100%;height:100%;border-radius:34px;overflow:hidden;background:#fff}
.scr{position:absolute;inset:0;display:none;padding:52px 16px 16px;font-size:.82rem;color:var(--ink)}
.scr.on{display:block;animation:scrIn .5s ease both}
@keyframes scrIn{from{opacity:0;transform:translateY(16px)}}
.app-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.app-h b{font-family:var(--f-display);color:var(--navy);font-size:1.15rem}
.app-h span{width:32px;height:32px;border-radius:10px;background:var(--mist);display:grid;place-items:center;color:var(--green)}
.app-h svg{width:16px;height:16px}
.app-s{display:flex;align-items:center;gap:8px;border:1.5px solid var(--green);border-radius:12px;padding:9px 10px;margin-bottom:14px;color:var(--navy);font-weight:600}
.app-s svg{width:15px;height:15px;color:var(--muted)}
.type{display:inline-block;white-space:nowrap;clip-path:inset(0 100% 0 0);animation:typ 1s steps(14) .3s forwards}
.type.d1{animation-delay:.4s}.type.d2{animation-delay:1.3s}.type.d3{animation-delay:2.1s}
@keyframes typ{to{clip-path:inset(0 0 0 0)}}
.app-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.app-g div{position:relative;border-radius:14px;background:var(--mist);padding:8px;opacity:0;animation:pop .5s cubic-bezier(.2,.8,.3,1.4) forwards}
.app-g div:nth-child(2){animation-delay:.1s}.app-g div:nth-child(3){animation-delay:.2s}.app-g div:nth-child(4){animation-delay:.3s}
@keyframes pop{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
.app-g img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.app-g b{display:block;font-size:.74rem;color:var(--navy);margin-top:6px}
.app-g .pick{animation:pop .5s .2s forwards,picked .4s 2.2s forwards}
@keyframes picked{to{box-shadow:0 0 0 3px var(--green);background:var(--green-l)}}
.tap{position:absolute;left:50%;top:40%;width:34px;height:34px;margin:-17px;border-radius:50%;background:rgba(224,38,45,.35);border:2px solid var(--red);opacity:0;animation:tap 1s 1.8s ease-out forwards}
@keyframes tap{0%{opacity:0;transform:scale(1.6)}40%{opacity:1;transform:scale(.8)}100%{opacity:0;transform:scale(1.4)}}
.fx{margin-bottom:10px}
.fx small{display:block;font-weight:700;color:var(--navy);font-size:.7rem;margin-bottom:4px}
.fx>div,.fx.two>div>div{border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;min-height:36px;background:var(--mist);font-weight:600}
.fx .pf{background:var(--green-l);color:var(--green-d)}
.fx.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fx.two>div{border:0;padding:0;background:none;min-height:0}
.sub-b{display:flex;align-items:center;justify-content:center;gap:8px;background:#25d366;color:#fff;font-weight:700;border-radius:12px;padding:11px;margin-top:14px;animation:subp 1s 3s ease-in-out 2}
.sub-b svg{width:16px;height:16px}
@keyframes subp{50%{transform:scale(.94);box-shadow:0 0 0 8px rgba(37,211,102,.25)}}
.s2{padding:0;background:#efe7dd}
.wa-h{display:flex;align-items:center;gap:10px;background:#075e54;color:#fff;padding:46px 14px 12px}
.wa-h i{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--red);display:grid;place-items:center;font-style:normal;font-weight:900;font-size:1.2rem}
.wa-h b{display:block;font-size:.85rem}.wa-h small{font-size:.7rem;opacity:.8}
.chat{padding:14px 10px;display:flex;flex-direction:column;gap:8px}
.msg{max-width:84%;padding:8px 10px 16px;border-radius:10px;font-size:.74rem;line-height:1.45;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.1);opacity:0;animation:pop .45s forwards}
.msg .t{position:absolute;right:8px;bottom:3px;font-size:.6rem;color:#667}
.msg.out{align-self:flex-end;background:#dcf8c6;animation-delay:.3s}
.msg.in{align-self:flex-start;background:#fff}
.msg.typing{display:flex;gap:4px;padding:10px 12px;animation:pop .3s 1.3s forwards,hide .1s 2.6s forwards}
.msg.typing i{width:6px;height:6px;border-radius:50%;background:#99a;animation:dot 1s infinite}
.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{50%{transform:translateY(-4px)}}
@keyframes hide{to{opacity:0;height:0;padding:0;margin:-4px 0}}
.msg.rep{animation-delay:2.7s}
.done{text-align:center;padding-top:30px}
.done .ring{width:96px;height:96px;margin:0 auto 16px}
.done .ring svg{width:100%;height:100%;fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.done circle{stroke-dasharray:151;stroke-dashoffset:151;animation:draw .8s .2s forwards}
.done path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .5s .9s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.done>b{display:block;font-family:var(--f-display);font-size:1.3rem;color:var(--navy)}
.done>small{color:var(--muted)}
.track{list-style:none;text-align:left;margin:22px 6px 0;display:grid;gap:12px}
.track li{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--muted);opacity:0;animation:pop .4s forwards}
.track li::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid var(--line);flex:none}
.track li.ok{color:var(--navy)}
.track li.ok::before{background:var(--green);border-color:var(--green)}
.track li:nth-child(1){animation-delay:1.2s}.track li:nth-child(2){animation-delay:1.4s}.track li:nth-child(3){animation-delay:1.6s}.track li:nth-child(4){animation-delay:1.8s}
.chipf{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;background:#fff;border-radius:14px;padding:10px 14px;font-weight:700;color:var(--navy);font-size:.88rem;box-shadow:var(--shadow);animation:bob 5s ease-in-out infinite}
.chipf svg{width:18px;height:18px;color:var(--green)}
.chipf.c1{left:0;top:16%}.chipf.c2{right:0;bottom:18%;animation-delay:-2.5s}
.chipf.c2 svg{color:#25d366}

/* why bento */
.why2{padding-top:40px}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(210px,auto);gap:18px}
.b{position:relative;border-radius:28px;padding:26px;overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.b:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(23,37,102,.55)}
.b h3,.b h4{font-family:var(--f-display);color:var(--navy)}
.b h4{font-size:1.35rem}
.b p{color:var(--muted);font-size:.95rem;margin-top:8px}
.b-hero{grid-column:1/3;grid-row:1/3;background:linear-gradient(150deg,var(--navy) 0%,#0e1a52 60%,#0b3f4f 100%);color:#fff;padding:36px;min-height:440px}
.b-hero h3{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);margin-top:20px;max-width:14ch}
.b-hero p{color:#c3cbee;max-width:40ch}
.gmp{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 14px;font-weight:700;font-size:.85rem}
.gmp svg{width:18px;height:18px;color:#3fd07a}
.bplus{position:absolute;right:-40px;top:-40px;width:200px;color:#3fd07a;opacity:.12;animation:spin 30s linear infinite}
.fan{position:absolute;right:30px;bottom:-30px;width:300px;height:230px}
.fan img{position:absolute;bottom:0;width:150px;aspect-ratio:1;object-fit:cover;border-radius:16px;border:4px solid #fff;box-shadow:0 20px 40px -12px rgba(0,0,0,.6);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.fan img:nth-child(1){left:0;transform:rotate(-14deg)}
.fan img:nth-child(2){left:75px;bottom:30px;z-index:2;transform:rotate(-2deg)}
.fan img:nth-child(3){left:150px;transform:rotate(12deg)}
.b-hero:hover .fan img:nth-child(1){transform:rotate(-22deg) translate(-16px,-6px)}
.b-hero:hover .fan img:nth-child(2){transform:rotate(0) translateY(-18px)}
.b-hero:hover .fan img:nth-child(3){transform:rotate(20deg) translate(16px,-6px)}
.b-num{display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.b-num b{font-family:var(--f-display);font-weight:800;font-size:4rem;line-height:1}
.b-num small{font-weight:600;opacity:.9}
.b-num .bi{position:absolute;right:20px;top:20px;width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.b-num .bi svg{width:24px;height:24px}
.b-num.g{background:linear-gradient(140deg,#1aa052,var(--green-d))}
.b-num.r{background:linear-gradient(140deg,#f0444a,var(--red-d))}
.b-num.n{background:linear-gradient(140deg,#25d366,#128c4a)}
.b-num .mini{display:flex;gap:6px;position:absolute;left:26px;top:24px}
.b-num .mini i{width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.b-num .mini svg{width:14px;height:14px}
.b-num.r .bi{display:none}
.b-chips{grid-column:3/5;background:var(--mist);border:1px solid var(--line);display:flex;flex-direction:column}
.mq{overflow:hidden;margin-top:14px;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mq-t{display:flex;gap:10px;width:max-content;animation:tick 26s linear infinite}
.mq.rev .mq-t{animation-direction:reverse}
.mq-t span{padding:9px 16px;border-radius:999px;background:#fff;border:1.5px solid var(--line);font-weight:600;color:var(--navy);font-size:.88rem;white-space:nowrap}
.mq.rev .mq-t span{border-color:#f5c8ca;color:var(--red-d)}
.b-chips:hover .mq-t{animation-play-state:paused}
.b-ring{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;background:#fff;border:1.5px solid var(--line)}
.rg{width:84px;height:84px;flex:none;transform:rotate(-90deg)}
.rg circle{fill:none;stroke:var(--green-l);stroke-width:12}
.rg .pr{stroke:var(--green);stroke-linecap:round;stroke-dasharray:314;stroke-dashoffset:314;transition:stroke-dashoffset 2s cubic-bezier(.6,0,.2,1)}
.b-ring.go .pr{stroke-dashoffset:0}
.b-ring b{font-family:var(--f-display);font-weight:800;font-size:2.6rem;color:var(--navy);line-height:1}
.b-ring small{display:block;color:var(--muted);font-weight:600}
.b-partner{grid-column:2/4;background:linear-gradient(120deg,var(--green-l),#fff);border:1px solid var(--line);display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:center}
.b-partner .btn{margin-top:16px;padding:11px 20px}
.bubbles{display:flex;flex-direction:column;gap:10px}
.bubbles span{background:#fff;border-radius:14px 14px 14px 4px;padding:10px 14px;font-size:.84rem;font-weight:600;color:var(--navy);box-shadow:0 10px 20px -14px rgba(0,0,0,.4);animation:bob 4s ease-in-out infinite}
.bubbles .me{align-self:flex-end;background:#dcf8c6;border-radius:14px 14px 4px 14px;animation-delay:-2s}

/* product cards */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:26px;padding:10px;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s}
.pcard:hover{transform:translateY(-8px);box-shadow:0 30px 50px -28px rgba(23,37,102,.45);border-color:transparent}
.pcard .ph{position:relative;aspect-ratio:1/.92;border-radius:20px;overflow:hidden;display:block;background:radial-gradient(circle at 50% 40%,#fff 0%,var(--t) 72%)}
.pcard .ph::before{content:"";position:absolute;inset:10% 14%;border-radius:50%;background:var(--c);opacity:.1;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s}
.pcard .ph::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 12%,rgba(255,255,255,.9),transparent 30%);pointer-events:none}
.pcard .ph img{position:absolute;left:15%;top:14%;width:70%;height:72%;object-fit:cover;border-radius:14px;box-shadow:0 22px 30px -14px rgba(10,15,50,.45);transform:rotate(-4deg);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .ph img{transform:rotate(0) scale(1.07) translateY(-6px)}
.pcard:hover .ph::before{transform:scale(1.2);opacity:.16}
.tag{position:absolute;left:12px;top:12px;z-index:2;padding:5px 11px;border-radius:999px;font-size:.74rem;font-weight:700;background:#fff;color:var(--c,var(--green-d));box-shadow:0 4px 12px -6px rgba(0,0,0,.3)}
.tag.rx{background:var(--red);color:#fff}
.pk{position:absolute;right:12px;bottom:12px;z-index:2;padding:5px 10px;border-radius:10px;font-size:.74rem;font-weight:700;background:rgba(255,255,255,.85);backdrop-filter:blur(6px);color:var(--navy)}
.pcard .bd{padding:16px 10px 8px;display:flex;flex-direction:column;flex:1}
.pcard .cat-n{display:flex;align-items:center;gap:7px;font-size:.8rem;color:var(--c);font-weight:700}
.pcard .cat-n i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.pcard h3{font-size:1.25rem;margin:6px 0 6px}
.pcard h3 a.stretch::after{content:"";position:absolute;inset:0;z-index:1;border-radius:26px}
.pcard p{font-size:.86rem;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard .ft{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px}
.pcard .view{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;color:var(--navy)}
.pcard .view svg{width:16px;height:16px;transition:transform .35s}
.pcard:hover .view{color:var(--green)}
.pcard:hover .view svg{transform:translateX(5px)}
.qwa{position:relative;z-index:2;width:44px;height:44px;border-radius:14px;background:#e9f9ef;color:#1da851;display:grid;place-items:center;transition:.3s}
.qwa svg{width:22px;height:22px}
.qwa:hover{background:#25d366;color:#fff;transform:rotate(-8deg) scale(1.08)}
.pcard:focus-within{box-shadow:0 0 0 3px var(--green)}
.prods .filters{margin-bottom:30px}
.prods .chip{padding:8px 15px;font-size:.9rem}

/* spotlight */
.spot{background:var(--navy);color:#fff;border-radius:40px;margin:0 20px;overflow:hidden;position:relative}
.spot .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:100px;padding-bottom:100px}
.spot h2{color:#fff}
.spot p{color:#c9d1f2}
.spot .imgs{position:relative;height:480px}
.spot .imgs img{position:absolute;border-radius:22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);object-fit:cover}
.spot .imgs img:nth-child(1){width:62%;left:0;top:0;aspect-ratio:1/1.05}
.spot .imgs img:nth-child(2){width:55%;right:0;top:22%;aspect-ratio:1/1;z-index:2}
.spot .imgs img:nth-child(3){width:52%;left:14%;bottom:0;aspect-ratio:1.5/1;z-index:3}
.spot ul{list-style:none;margin:30px 0 36px;display:grid;gap:14px}
.spot li{display:flex;gap:14px;align-items:flex-start}
.spot li b{display:block;color:#fff}
.spot li span{color:#aeb8e3;font-size:.95rem}
.spot li i{flex:none;width:34px;height:34px;border-radius:10px;background:var(--green);display:grid;place-items:center;font-style:normal;font-weight:800}
.spot .glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(18,133,63,.5),transparent 65%);right:-200px;top:-200px}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--navy);border-bottom:1px solid var(--line)}
.stat{padding:34px 26px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font-family:var(--f-display);font-size:clamp(2.6rem,5vw,4rem);font-weight:800;color:var(--navy);line-height:1}
.stat b em{font-style:normal;color:var(--red)}
.stat>span{color:var(--muted);font-weight:500}
.stat b span{color:inherit}

.why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:60px}
.why div{padding:28px;border-radius:var(--r-lg);background:var(--mist)}
.why svg{width:30px;height:30px;color:var(--red);margin-bottom:16px}
.why p{color:var(--muted);font-size:.95rem;margin-top:8px}

/* partner cta */
.partner{display:grid;grid-template-columns:1fr 440px;gap:50px;align-items:center;background:linear-gradient(135deg,var(--green) 0%,var(--green-d) 100%);border-radius:40px;padding:70px;color:#fff;position:relative;overflow:hidden}
.partner h2{color:#fff}
.partner p{color:#d6f0df;margin-top:16px;max-width:48ch}
.partner .bigplus{position:absolute;left:-60px;bottom:-90px;width:320px;opacity:.1}

/* forms */
.form{background:#fff;border-radius:24px;padding:30px;color:var(--ink);box-shadow:var(--shadow)}
.form h3{margin-bottom:4px}
.form .sub{color:var(--muted);font-size:.92rem;margin-bottom:20px}
.field{margin-bottom:14px}
.field label{display:block;font-weight:600;font-size:.86rem;margin-bottom:6px;color:var(--navy)}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--mist);transition:border-color .2s,background .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);background:#fff}
.field input[readonly]{background:var(--green-l);color:var(--green-d);font-weight:700}
.field .err{display:none;color:var(--red);font-size:.8rem;margin-top:4px}
.field.bad input,.field.bad select{border-color:var(--red)}
.field.bad .err{display:block}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem;margin:14px 0}
.form .or::before,.form .or::after{content:"";flex:1;height:1px;background:var(--line)}
.form .note{font-size:.78rem;color:var(--muted);margin-top:12px;text-align:center}

/* page banner */
.pbanner{background:var(--navy);color:#fff;padding:80px 0 90px;position:relative;overflow:hidden}
.pbanner h1{color:#fff;font-size:clamp(2.4rem,5vw,4.2rem);font-weight:800;max-width:16ch}
.pbanner p{color:#c9d1f2;margin-top:16px;max-width:56ch;font-size:1.1rem}
.crumbs{display:flex;gap:8px;font-size:.88rem;color:#aeb8e3;margin-bottom:22px;flex-wrap:wrap}
.crumbs a{color:#fff;font-weight:600}
.crumbs a:hover{text-decoration:underline}
.pbanner .deco{position:absolute;right:6%;top:50%;transform:translateY(-50%);width:260px;opacity:.9}

/* products page */
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:36px}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 18px;font-weight:600;cursor:pointer;transition:.25s;color:var(--navy)}
.chip:hover{border-color:var(--green)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.search{margin-left:auto;position:relative}
.search input{border:1.5px solid var(--line);border-radius:999px;padding:11px 18px 11px 44px;width:280px;background:var(--mist)}
.search input:focus{outline:none;border-color:var(--green);background:#fff}
.search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.empty{display:none;text-align:center;padding:60px 20px;color:var(--muted)}
.pcard.hide{display:none}

/* product detail */
.pd{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;padding:60px 0 100px}
.pd-left{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:start}
.gal .main{border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line);aspect-ratio:1/1;position:relative;cursor:zoom-in}
.gal .main img{width:100%;height:100%;object-fit:contain;padding:12px;transition:transform .4s,opacity .35s}
.gal .thumbs{display:flex;gap:10px;margin-top:12px}
.gal .thumbs button{width:72px;height:72px;border-radius:14px;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:var(--mist);transition:border-color .2s}
.gal .thumbs button.on{border-color:var(--green)}
.gal .thumbs img{width:100%;height:100%;object-fit:contain;background:#fff}
.info .k{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.info .k span{font-size:.8rem;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--green-l);color:var(--green-d)}
.info .k span.rx{background:#fde8e9;color:var(--red-d)}
.info h1{font-size:clamp(2rem,3vw,2.6rem);font-weight:800}
.info .gen{color:var(--muted);margin:10px 0 18px;font-size:.98rem}
.info .desc{margin-bottom:20px}
.info ul.pts{list-style:none;display:grid;gap:10px;margin-bottom:24px}
.info ul.pts li{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.info ul.pts svg{width:20px;height:20px;color:var(--green);flex:none;margin-top:3px}
.meta{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.meta div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid var(--line);font-size:.94rem}
.meta div:last-child{border-bottom:0}
.meta dt{background:var(--mist);padding:11px 14px;font-weight:700;color:var(--navy)}
.meta dd{padding:11px 14px}
.pd .side{position:sticky;top:110px}
.pd .side .form{border:1px solid var(--line)}
.comp{grid-column:1/-1}
.comp h2{font-size:1.8rem;margin-bottom:18px}
.comp-list{display:flex;flex-wrap:wrap;gap:10px}
.comp-list span{padding:10px 16px;border-radius:12px;background:#fff;border:1.5px solid var(--line);font-weight:600;color:var(--navy);font-size:.94rem;transition:.25s}
.comp-list span:hover{border-color:var(--green);background:var(--green-l)}
.disclaimer{grid-column:1/-1;background:#fff6f6;border-left:4px solid var(--red);padding:14px 18px;border-radius:10px;font-size:.88rem;color:#7a2a2d}
.lightbox{position:fixed;inset:0;background:rgba(15,24,71,.92);z-index:200;display:none;place-items:center;padding:30px;cursor:zoom-out}
.lightbox.on{display:grid}
.lightbox img{max-height:90vh;border-radius:16px}

/* about */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.collage{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.collage img{border-radius:20px;aspect-ratio:1/1;object-fit:cover}
.collage img:nth-child(2){margin-top:50px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;margin-top:20px}
.steps div{padding:30px 26px 30px 0;border-top:2px solid var(--line);position:relative}
.steps div::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--f-display);font-weight:800;font-size:1rem;color:#fff;background:var(--green);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;position:absolute;top:-21px;left:0}
.steps h3{margin-top:30px}
.steps p{color:var(--muted);font-size:.95rem;margin-top:8px;padding-right:10px}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.mv div{padding:40px;border-radius:var(--r-lg)}
.mv div:first-child{background:var(--green);color:#fff}
.mv div:last-child{background:var(--red);color:#fff}
.mv h3{color:#fff;font-size:1.8rem;margin-bottom:10px}

/* contact */
.contact{display:grid;grid-template-columns:1fr 460px;gap:50px;align-items:start}
.cinfo{display:grid;gap:16px}
.cinfo a,.cinfo div.ci{display:flex;gap:16px;align-items:center;padding:22px;border-radius:20px;background:var(--mist);border:1px solid var(--line);transition:.3s}
.cinfo a:hover{border-color:var(--green);transform:translateX(6px)}
.cinfo i{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--navy);color:#fff;flex:none}
.cinfo i svg{width:24px;height:24px}
.cinfo b{display:block;color:var(--navy);font-size:1.05rem}
.cinfo span{color:var(--muted);font-size:.92rem}
.map{margin-top:16px;border-radius:20px;overflow:hidden;border:1px solid var(--line);height:280px}
.map iframe{width:100%;height:100%;border:0}

/* footer */
.footer{background:var(--navy-d);color:#b7c0e6;padding:90px 0 0;margin-top:110px;position:relative}
.footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:60px}
.footer .logo b{color:#fff}
.footer .logo em{color:#8f9bd0}
.footer p{margin-top:18px;font-size:.95rem;max-width:34ch}
.footer h4{color:#fff;font-size:1.05rem;margin-bottom:18px}
.footer ul{list-style:none;display:grid;gap:10px}
.footer ul a:hover{color:#fff}
.footer .bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:.86rem;flex-wrap:wrap}
.footer .big{font-family:var(--f-display);font-weight:800;font-size:clamp(3rem,12vw,10rem);line-height:.85;color:rgba(255,255,255,.05);letter-spacing:-.04em;white-space:nowrap;overflow:hidden;padding-top:10px}

/* floating */
.fab{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:12px}
.fab a{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 12px 26px -8px rgba(0,0,0,.4);transition:transform .25s}
.fab a:hover{transform:scale(1.1)}
.fab a svg{width:28px;height:28px}
.fab .wa{background:#25d366;animation:pulse 2.4s infinite}
.fab .call{background:var(--red)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,120px);background:var(--navy);color:#fff;padding:14px 22px;border-radius:14px;font-weight:600;z-index:300;transition:transform .4s;box-shadow:var(--shadow)}
.toast.on{transform:translate(-50%,0)}

/* reveal (JS adds) */
.rv{opacity:0;transform:translateY(40px)}
.no-js .rv,.reduced .rv{opacity:1;transform:none}

/* responsive */
@media (max-width:1100px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .hd-actions .btn-line{display:none}
  .pd{grid-template-columns:1fr}
  .pd .side{position:static}
  .partner{grid-template-columns:1fr;padding:50px}
}
@media (max-width:960px){
  .nav,.hd-actions{display:none}
  .burger{display:block}
  .header.menu-open .nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:84px;background:#fff;padding:16px 24px 24px;border-bottom:1px solid var(--line);gap:4px;max-height:calc(100vh - 84px);overflow:auto}
  .header.menu-open .nav .drop{position:static;transform:none;opacity:1;visibility:visible;width:auto;box-shadow:none;border:0;padding:0 0 0 12px}
  .hero .wrap,.spot .wrap,.split,.contact{grid-template-columns:1fr}
  .show{height:520px}
  .hero{padding:60px 0 110px}
  .cats{grid-template-columns:repeat(2,1fr)}
  .ord{grid-template-columns:1fr;gap:20px}
  .bento{grid-template-columns:1fr 1fr}
  .b-hero{grid-column:1/-1;grid-row:auto}
  .b-chips,.b-partner{grid-column:1/-1}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .why,.steps{grid-template-columns:1fr 1fr}
  .footer .top{grid-template-columns:1fr 1fr}
  .pbanner .deco{display:none}
  .topbar .tb-links{display:none}
  .search{margin-left:0;width:100%}
  .search input{width:100%}
}
@media (max-width:640px){
  body{font-size:16px}
  .sec{padding:80px 0}
  .grid{grid-template-columns:1fr 1fr;gap:12px}
  .pcard{padding:6px;border-radius:20px}
  .pcard .bd{padding:12px 6px 6px}
  .pcard h3{font-size:1rem}
  .pcard p,.pk,.pcard .view{display:none}
  .prods .filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
  .prods .filters .chip{flex:none}
  .prods .filters .btn{display:none}
  .cats,.why,.steps,.mv,.pd-left{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .b-hero{min-height:520px}
  .fan{right:50%;margin-right:-150px}
  .b-partner{grid-template-columns:1fr}
  .ord-r{min-height:600px}
  .ph-bg{width:340px}
  .chipf{display:none}
  .cat.big{grid-column:auto}
  .prods{border-radius:28px 28px 0 0}
  .spot{margin:0 10px;border-radius:28px}
  .spot .imgs{height:340px}
  .partner{padding:34px 22px;border-radius:28px}
  .row2{grid-template-columns:1fr}
  .footer .top{grid-template-columns:1fr}
  .fb1,.fb2{display:none}
  .show{height:auto;padding:20px 0 10px}
  .orbit,.obs{display:none}
  .showcard{width:100%;max-width:330px}
  .hsearch .btn{padding:10px 16px}
  .cat{min-height:280px}
  .ticker .track{font-size:1.05rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
