/* A TO Z STUDIO — premium iOS-style layer (loads after style.css) */
:root{
  --display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Sora","Helvetica Neue",Arial,sans-serif;
  --body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Plus Jakarta Sans","Helvetica Neue",Arial,sans-serif;
  --ios-green:#0f8a4b;
  --card:#111113;
  --card2:#1a1a1d;
  --line:rgba(255,255,255,.1);
}
html{scroll-behavior:smooth}
body{background:#000;font-family:var(--body);letter-spacing:-.011em}
h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.04em;font-weight:700}

/* performance: skip rendering offscreen sections */
.sec,.foot{content-visibility:auto;contain-intrinsic-size:auto 640px}
@media(max-width:700px){.hud,.glass,.bar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.bar{background:rgba(22,22,24,.92)}}

/* ---------- scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--d,0ms);will-change:opacity,transform}
.reveal.in{opacity:1;transform:none}
.tilt.reveal.in{transition:opacity .8s,transform .35s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- hero buttons ---------- */
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.hero .cta a.btn{height:54px;padding:0 26px;font-size:15px;font-weight:700;letter-spacing:-.01em;flex:0 0 auto;width:auto;max-width:none;white-space:nowrap}
.hero .cta a.btn.product-cta{background:#fff;color:#000;box-shadow:0 10px 34px rgba(255,255,255,.18);flex-basis:auto;max-width:none;width:auto}
.hero .cta a.btn.product-cta span{font-size:18px}
.hero .cta a.btn.product-cta:hover{background:#f2f2f4}
@media(max-width:700px){
  .hero .cta{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .hero .cta a.btn,.hero .cta a.btn.product-cta{width:100%!important;max-width:100%!important;flex:none!important;height:56px;padding:0 24px;font-size:16px}
  .hero .wrap{padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}
}

/* ---------- hero 3D extras ---------- */
#stage{cursor:pointer;touch-action:pan-y}
.scene-toast{position:absolute;left:50%;top:10px;transform:translate(-50%,-12px) scale(.96);padding:9px 16px;border-radius:99px;background:rgba(40,40,44,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);font-size:13px;font-weight:700;color:#fff;opacity:0;pointer-events:none;transition:.35s cubic-bezier(.22,1,.36,1);z-index:6;white-space:nowrap}
.scene-toast.on{opacity:1;transform:translate(-50%,0) scale(1)}

/* ---------- process line with pointer ---------- */
.workflow .process-steps .proc-dot{position:absolute;z-index:3;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid #ff7a1a;box-shadow:0 0 0 6px rgba(255,122,26,.22),0 0 22px #ff7a1a;left:var(--progress);top:-7.5px;transform:translateX(-50%);transition:left .15s linear,top .15s linear}
.workflow .process-steps .proc-dot::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,122,26,.55);animation:procPing 1.8s ease-out infinite}
@keyframes procPing{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.8);opacity:0}}
.workflow .process-steps .col .n{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.workflow .process-steps .col.reached .n{transform:scale(1.12);transform-origin:left}
@media(max-width:1000px){.workflow .process-steps .proc-dot{left:-1px;top:var(--progress);transform:translateY(-50%)}.workflow .process-steps{padding-left:36px}}
@media(prefers-reduced-motion:reduce){.proc-dot::after{animation:none}}

/* ---------- WhatsApp floating button ---------- */
.wa-wrap{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80}
.wa-wrap .wa{position:static;width:auto!important;height:50px;padding:0 20px 0 16px;border-radius:99px;display:flex;align-items:center;gap:9px;background:linear-gradient(180deg,#14a35a,#0b7a40);color:#fff;border:1px solid rgba(255,255,255,.22);font:700 15px var(--body);letter-spacing:-.01em;box-shadow:0 10px 30px rgba(6,90,45,.55),inset 0 1px 0 rgba(255,255,255,.28);animation:none;cursor:pointer}
.wa-wrap .wa svg{width:22px;height:22px}
.wa-wrap .wa:active{transform:scale(.96)}
.wa-pop{position:absolute;left:0;bottom:62px;width:min(280px,calc(100vw - 32px));padding:18px;border-radius:22px;background:rgba(28,28,30,.96);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:10px;opacity:0;visibility:hidden;transform:translateY(10px) scale(.96);transform-origin:bottom left;transition:.3s cubic-bezier(.22,1,.36,1)}
.wa-wrap.open .wa-pop{opacity:1;visibility:visible;transform:none}
.wa-pop-t{font-size:13px;color:#a1a1a6;font-weight:600}
.wa-pop-n{font:700 24px var(--display);letter-spacing:-.02em;color:#fff;user-select:all}
.wa-go,.wa-call{display:flex;justify-content:center;align-items:center;height:46px;border-radius:14px;font-weight:700;font-size:15px}
.wa-go{background:#0f8a4b;color:#fff}
.wa-call{background:rgba(255,255,255,.1);color:#fff}
.floating-top{bottom:calc(16px + env(safe-area-inset-bottom,0px))}

/* ---------- product cards ---------- */
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.product-grid{grid-template-columns:1fr;gap:18px}}
.product-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line)!important;border-radius:28px!important;overflow:hidden!important;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s}
.product-card:hover{transform:translateY(-6px)!important;border-color:rgba(255,154,81,.4)!important;box-shadow:0 26px 60px rgba(0,0,0,.55)}
.product-main{position:relative;aspect-ratio:1.1;background:#fff;border-radius:0!important}
.product-main img{transition:transform .6s cubic-bezier(.22,1,.36,1)}
.product-card:hover .product-main img{transform:scale(1.05)}
.pbadge{position:absolute;left:14px;top:14px;z-index:2;padding:6px 12px;border-radius:99px;background:#000;color:#fff;font-size:12px;font-weight:700}
.product-content{padding:20px 22px 22px!important;display:flex;flex-direction:column;flex:1}
.product-content h2{font-size:21px!important;margin:0 0 8px!important}
.pshort{font-size:14px;color:#a1a1a6;line-height:1.5;margin-bottom:16px;min-height:3em}
.pr{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}
.pr-now{font:700 28px var(--display);letter-spacing:-.03em;color:#fff}
.pr-mrp{font-size:16px;color:#8e8e93;text-decoration-thickness:2px;text-decoration-color:#ff453a}
.pr-off{font-size:12px;font-weight:800;color:#30d158;background:rgba(48,209,88,.14);padding:4px 9px;border-radius:99px}
.pr-unit{font-size:13px;color:#a1a1a6;margin-top:4px}
.pr-min{font-size:12.5px;font-weight:700;color:#ffb066;margin-top:6px}
.pactions{display:flex;gap:10px;margin-top:auto;padding-top:18px}
.pmore,.porder{height:46px;border-radius:14px;font:700 14px var(--body);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:0;-webkit-tap-highlight-color:transparent;transition:transform .2s,background .2s}
.pmore{flex:1;background:rgba(255,255,255,.1);color:#fff}
.pmore:hover{background:rgba(255,255,255,.16)}
.porder{padding:0 22px;background:#fff;color:#000}
.porder:hover{background:#eee}
.pmore:active,.porder:active{transform:scale(.96)}
.product-link{display:none}

/* ---------- details bottom sheet ---------- */
html.lock,html.lock body{overflow:hidden}
.sheet-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:200;opacity:0;pointer-events:none;transition:opacity .35s}
.sheet-ov.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;z-index:210;left:50%;bottom:0;width:min(980px,100%);max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;background:#1c1c1e;border-radius:30px 30px 0 0;border:1px solid var(--line);border-bottom:0;transform:translate(-50%,105%);transition:transform .5s cubic-bezier(.22,1,.36,1);padding-bottom:env(safe-area-inset-bottom,0px)}
.sheet.on{transform:translate(-50%,0)}
.sheet-grab{width:40px;height:5px;border-radius:9px;background:rgba(255,255,255,.28);margin:10px auto 0;position:sticky;top:10px}
.sheet-x{position:sticky;float:right;top:12px;margin:-6px 14px 0 0;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:15px;cursor:pointer;z-index:3}
.sheet-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;padding:18px 28px 32px}
.sheet-big{aspect-ratio:1;background:#fff;border-radius:22px;overflow:hidden}
.sheet-big img{width:100%;height:100%;object-fit:contain;display:block}
.sheet-gal .product-thumbs{margin:14px 0 0}
.sheet-info h2{font-size:28px;margin:6px 0 12px}
.sheet-info h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#8e8e93;margin:26px 0 12px;font-weight:700}
.sheet-about{margin-top:18px;color:#d1d1d6;line-height:1.7;font-size:15px}
.chk{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.chk li{position:relative;padding-left:30px;font-size:14.5px;color:#e5e5ea;line-height:1.5}
.chk li::before{content:"✓";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:rgba(48,209,88,.18);color:#30d158;font-size:12px;font-weight:800;display:grid;place-items:center}
.spec{margin:0;border-radius:18px;overflow:hidden;background:#2c2c2e}
.spec div{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;font-size:14px}
.spec div+div{border-top:1px solid rgba(255,255,255,.07)}
.spec dt{color:#a1a1a6}.spec dd{margin:0;text-align:right;font-weight:600;color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{padding:8px 14px;border-radius:99px;background:#2c2c2e;font-size:13px;font-weight:600;color:#f2f2f7}
.safety{margin-top:22px;padding:14px 16px;border-radius:16px;background:rgba(255,159,10,.12);color:#ffcc80;font-size:13.5px;line-height:1.55}
.buybar{display:flex;gap:12px;margin-top:26px;position:sticky;bottom:12px;padding:10px;border-radius:22px;background:rgba(44,44,46,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line)}
.qty{display:flex;align-items:center;background:#1c1c1e;border-radius:14px}
.qty button{width:44px;height:48px;border:0;background:none;color:#fff;font-size:22px;cursor:pointer}
.qty output{min-width:34px;text-align:center;font-weight:700}
.porder.big{flex:1;height:50px;border-radius:14px;gap:10px;background:linear-gradient(180deg,#14a35a,#0b7a40);color:#fff;font-size:15px}
.porder.big .tot{background:rgba(0,0,0,.25);padding:4px 10px;border-radius:99px;font-size:13px}
@media(max-width:760px){.sheet{max-height:94dvh;border-radius:26px 26px 0 0}.sheet-body{grid-template-columns:1fr;gap:18px;padding:14px 18px 28px}.sheet-info h2{font-size:24px}}

/* ---------- general polish ---------- */
.tile,.ptile,.col,.stat,.prow{border-radius:26px}
.btn{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,background .25s}
.acc-item{border-radius:20px}

/* =========================================================
   Round 2: animated hero buttons, product buttons, big WhatsApp
   ========================================================= */

/* ---- hero buttons: icon + label + arrow ---- */
.hero .cta a.btn.hb{position:relative;overflow:hidden;gap:12px;padding:0 22px 0 12px;justify-content:flex-start;perspective:600px;transform-style:preserve-3d}
.hero .cta a.btn.hb .hb-t{flex:1;text-align:left}
.hero .cta a.btn.hb .arr{font-size:18px;opacity:.7;transition:transform .3s}
.hero .cta a.btn.hb:hover .arr{transform:translate(3px,-3px);opacity:1}
.hero .cta a.btn.hb::after{content:"";position:absolute;top:0;bottom:0;width:60px;left:-90px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:sheen 4.2s ease-in-out infinite}
.hero .cta a.btn.hb:nth-child(2)::after{animation-delay:.7s}
.hero .cta a.btn.hb:nth-child(3)::after{animation-delay:1.4s}
@keyframes sheen{0%,55%{left:-90px}100%{left:130%}}
.hero .cta a.btn.sec.hb{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.hero .cta a.btn.sec.hb::after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent)}
.hero .cta a.btn.hb:hover{transform:translateY(-3px) rotateX(4deg) scale(1.02)}
.hb-ic{position:relative;flex:none;width:38px;height:38px;border-radius:12px;display:block;perspective:140px}
.hb-ic i{position:absolute;display:block}
.ic-shop{background:linear-gradient(145deg,#ffe8d0,#ffc58f)}
.ic-svc{background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.ic-call{background:linear-gradient(145deg,#30d158,#0a8f43);color:#fff}

/* shop: items drop into a rotating box */
.ic-shop .bx{left:7px;right:7px;bottom:6px;height:15px;border-radius:3px 3px 5px 5px;background:linear-gradient(180deg,#c98a4b,#9a6330);box-shadow:inset 0 3px 0 rgba(0,0,0,.25);transform-origin:50% 100%;animation:boxTurn 3.6s ease-in-out infinite}
.ic-shop .bx .flap{left:-2px;right:-2px;top:-3px;height:5px;border-radius:2px;background:#e0a463;transform-origin:50% 100%;animation:flapOpen 3.6s ease-in-out infinite}
.ic-shop .it{width:8px;height:8px;top:-4px;opacity:0;border-radius:2px;animation:drop 3.6s cubic-bezier(.4,0,.7,1) infinite}
.ic-shop .it1{left:8px;background:#ff453a}
.ic-shop .it2{left:15px;background:#0a84ff;border-radius:50%;animation-delay:.9s}
.ic-shop .it3{left:22px;background:#30d158;transform:rotate(45deg);animation-delay:1.8s}
.ic-shop .spark{right:3px;top:3px;width:6px;height:6px;background:#fff;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:twinkle 1.8s ease-in-out infinite}
@keyframes drop{0%{transform:translateY(-6px) rotate(0);opacity:0}10%{opacity:1}45%{transform:translateY(20px) rotate(180deg);opacity:1}55%,100%{transform:translateY(20px) rotate(180deg);opacity:0}}
@keyframes boxTurn{0%,100%{transform:rotateY(-18deg)}50%{transform:rotateY(18deg) translateY(-1px)}}
@keyframes flapOpen{0%,100%{transform:rotateX(-35deg)}50%{transform:rotateX(30deg)}}
@keyframes twinkle{0%,100%{transform:scale(.3) rotate(0);opacity:.4}50%{transform:scale(1) rotate(90deg);opacity:1}}

/* services: clapperboard that claps + orbiting dot */
.ic-svc .clap{left:8px;right:8px;top:11px;height:20px;transform-style:preserve-3d;animation:clapTurn 4s ease-in-out infinite}
.ic-svc .clap .body{left:0;right:0;bottom:0;height:13px;border-radius:2px 2px 4px 4px;background:#fff}
.ic-svc .clap .arm{left:0;right:0;top:0;height:6px;border-radius:2px;background:repeating-linear-gradient(115deg,#111 0 4px,#fff 4px 8px);transform-origin:0 100%;animation:clapArm 1.6s ease-in-out infinite}
.ic-svc .play{left:14px;top:20px;width:0;height:0;border-left:8px solid #e04800;border-top:5px solid transparent;border-bottom:5px solid transparent;animation:pulseP 1.6s ease-in-out infinite}
.ic-svc .orbit{left:50%;top:50%;width:0;height:0;animation:orb 3s linear infinite}
.ic-svc .orbit::before{content:"";position:absolute;left:-3px;top:-19px;width:6px;height:6px;border-radius:50%;background:#ffd27a;box-shadow:0 0 8px #ffb02e}
@keyframes clapArm{0%,55%,100%{transform:rotateZ(-26deg)}70%{transform:rotateZ(0)}}
@keyframes clapTurn{0%,100%{transform:rotateY(-14deg)}50%{transform:rotateY(14deg)}}
@keyframes pulseP{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@keyframes orb{to{transform:rotate(360deg)}}

/* contact: ringing phone with waves */
.ic-call svg{position:absolute;inset:8px;width:22px;height:22px;transform-origin:50% 60%;animation:ring 2s ease-in-out infinite}
.ic-call .wave{inset:0;border-radius:12px;border:2px solid rgba(48,209,88,.85);opacity:0;animation:wv 2s ease-out infinite}
.ic-call .w2{animation-delay:.35s}
@keyframes ring{0%,40%,100%{transform:rotate(0)}4%{transform:rotate(-16deg)}8%{transform:rotate(14deg)}12%{transform:rotate(-16deg)}16%{transform:rotate(14deg)}20%{transform:rotate(-10deg)}24%{transform:rotate(8deg)}28%{transform:rotate(0)}}
@keyframes wv{0%,2%{transform:scale(1);opacity:.9}60%,100%{transform:scale(1.9);opacity:0}}
@media(prefers-reduced-motion:reduce){.hb-ic *,.hero .cta a.btn.hb::after{animation:none!important}.ic-shop .it{opacity:0}}

/* 3D scene tap hint (replaces old controls) */
.scene-tap{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:rgba(40,40,44,.7);border:1px solid var(--line);font-size:12.5px;font-weight:700;color:#fff;pointer-events:none;animation:tapBob 2.2s ease-in-out infinite}
.scene-tap i{width:9px;height:9px;border-radius:50%;background:#ff7a1a;box-shadow:0 0 0 0 rgba(255,122,26,.7);animation:tapPing 1.6s infinite}
@keyframes tapBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}
@keyframes tapPing{70%{box-shadow:0 0 0 10px rgba(255,122,26,0)}100%{box-shadow:0 0 0 0 rgba(255,122,26,0)}}

/* ---- product card buttons ---- */
.pbtns{display:grid;gap:10px;margin-top:auto;padding-top:18px}
.pbtn{position:relative;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center;gap:9px;font:700 15px var(--body);letter-spacing:-.01em;transition:transform .2s,filter .2s}
.pbtn svg{width:20px;height:20px;flex:none}
.pbtn:hover{filter:brightness(1.1);transform:translateY(-2px)}
.pbtn:active{transform:scale(.97)}
.pbtn.wa-b{background:linear-gradient(180deg,#14a35a,#0b7a40);color:#fff;margin-top:8px;box-shadow:0 8px 22px rgba(11,122,64,.4)}
.pbtn .reco{position:absolute;right:12px;top:-9px;padding:3px 9px;border-radius:99px;background:#ffd60a;color:#000;font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 4px 10px rgba(0,0,0,.35)}
.pbtn.fk-b{background:#2874f0;color:#fff;box-shadow:0 8px 22px rgba(40,116,240,.35)}
.pmore{width:100%;flex:none}
.noimg{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(145deg,#f5f5f7,#e1e1e6);color:#6e6e73;text-align:center;padding:16px}
.noimg svg{width:64px;height:64px}
.noimg span{font-weight:700;font-size:13px}
.sheet-fk{margin-top:12px}
.buybar+.sheet-fk{margin-top:12px}

/* ---- bigger, livelier WhatsApp button ---- */
.wa-wrap{left:max(14px,env(safe-area-inset-left,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}
.wa-wrap .wa{height:64px;padding:0 26px 0 20px;gap:11px;font-size:18px;position:relative;z-index:2;animation:waBob 2.6s ease-in-out infinite;box-shadow:0 14px 38px rgba(6,90,45,.65),inset 0 1px 0 rgba(255,255,255,.3)}
.wa-wrap .wa svg{width:32px;height:32px;animation:waWiggle 3.2s ease-in-out infinite;transform-origin:50% 60%}
.wa-wrap::before,.wa-wrap::after{content:"";position:absolute;left:0;right:0;top:0;height:64px;border-radius:99px;border:3px solid #19c26a;z-index:1;pointer-events:none;opacity:0;animation:waRing 2.6s ease-out infinite}
.wa-wrap::after{animation-delay:1.3s}
.wa-wrap.open::before,.wa-wrap.open::after{animation:none}
.wa-pop{bottom:78px}
@keyframes waBob{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-8px) scale(1.06)}60%{transform:translateY(0) scale(1)}80%{transform:translateY(-3px) scale(1.02)}}
@keyframes waWiggle{0%,60%,100%{transform:rotate(0)}66%{transform:rotate(-14deg)}72%{transform:rotate(12deg)}78%{transform:rotate(-8deg)}84%{transform:rotate(0)}}
@keyframes waRing{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.35,1.5);opacity:0}}
.floating-top{width:56px;height:56px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
@media(max-width:420px){.wa-wrap .wa{height:60px;font-size:17px;padding:0 22px 0 18px}.wa-wrap::before,.wa-wrap::after{height:60px}}
@media(prefers-reduced-motion:reduce){.wa-wrap .wa,.wa-wrap .wa svg,.wa-wrap::before,.wa-wrap::after,.scene-tap{animation:none}}
