/* ==========================================================================
   Fitovision landing — shadcn-matched (Poppins, neutral CTA, slate tokens)
   Dizajn tokeni izvučeni iz produkcijske aplikacije (fitovision.visiongroup.hr)
   ========================================================================== */

/* ---- Poppins (self-hosted, latin + latin-ext za hrvatske znakove) -------- */
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:optional;src:url(/fitovision/redizajn/assets/fonts/pxiEyp8kv8JHgFVrJJnecmNE.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:optional;src:url(/fitovision/redizajn/assets/fonts/pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:optional;src:url(/fitovision/redizajn/assets/fonts/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:optional;src:url(/fitovision/redizajn/assets/fonts/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:optional;src:url(/fitovision/redizajn/assets/fonts/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:optional;src:url(/fitovision/redizajn/assets/fonts/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:optional;src:url(/fitovision/redizajn/assets/fonts/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:optional;src:url(/fitovision/redizajn/assets/fonts/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---- shadcn design tokeni (iz app globals.css) --------------------------- */
:root{
  color-scheme:light;
  --background:0 0% 100%;
  --foreground:222.2 84% 4.9%;
  --card:0 0% 100%;
  --card-foreground:222.2 84% 4.9%;
  --primary:222.2 47.4% 11.2%;
  --primary-foreground:210 40% 98%;
  --secondary:210 40% 96.1%;
  --secondary-foreground:222.2 47.4% 11.2%;
  --muted:210 40% 96.1%;
  --muted-foreground:215.4 16.3% 46.9%;
  --accent:210 40% 96.1%;
  --accent-foreground:222.2 47.4% 11.2%;
  --border:214.3 31.8% 91.4%;
  --ring:222.2 84% 4.9%;
  --radius:0.5rem;

  /* neutralne nijanse — app CTA gumbi koriste neutral-900 (ne slate) */
  --neutral-900:#171717;
  --neutral-800:#262626;
  --neutral-700:#404040;
  --neutral-300:#d4d4d4;
  --neutral-200:#e5e5e5;
  --neutral-100:#f5f5f5;
  --green-600:#16a34a;
  --green-500:#22c55e;
  --brand-blue:#2563eb;
  --brand-blue-bright:#38bdf8;
  --inverse-bg:#171717;
  --inverse-fg:#ffffff;
  --inverse-muted:#d4d4d4;
  --logo-filter:brightness(0);
  --headline-gradient:linear-gradient(120deg,#171717,#525252);
  --success-soft:#dcfce7;
  --danger:#b91c1c;
  --warning:#f59e0b;

  --maxw:1120px;
  --shadow-sm:0 1px 2px 0 rgb(0 0 0 / .05);
  --shadow-md:0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .06);
  --shadow-lg:0 10px 30px -12px rgb(0 0 0 / .18);
}

html[data-theme="dark"]{
  color-scheme:dark;
  --background:222 28% 7%;
  --foreground:210 40% 98%;
  --card:222 24% 10%;
  --card-foreground:210 40% 98%;
  --primary:210 40% 98%;
  --primary-foreground:222 28% 7%;
  --secondary:217 19% 15%;
  --secondary-foreground:210 40% 98%;
  --muted:217 18% 14%;
  --muted-foreground:215 16% 68%;
  --accent:217 19% 15%;
  --accent-foreground:210 40% 98%;
  --border:217 16% 22%;
  --ring:212 70% 78%;
  --neutral-900:#171a20;
  --neutral-800:#20242c;
  --neutral-700:#343a45;
  --neutral-300:#444b58;
  --neutral-200:#343a45;
  --neutral-100:#20242c;
  --green-600:#4ade80;
  --green-500:#22c55e;
  --brand-blue:#60a5fa;
  --brand-blue-bright:#38bdf8;
  --inverse-bg:#181d26;
  --inverse-fg:#f8fafc;
  --inverse-muted:#b8c0cc;
  --logo-filter:none;
  --headline-gradient:linear-gradient(120deg,#f8fafc,#aeb7c5);
  --success-soft:#123822;
  --danger:#f87171;
  --warning:#fbbf24;
  --shadow-sm:0 1px 2px 0 rgb(0 0 0 / .28);
  --shadow-md:0 10px 24px -14px rgb(0 0 0 / .72),0 2px 8px -4px rgb(0 0 0 / .48);
  --shadow-lg:0 24px 60px -28px rgb(0 0 0 / .9),0 8px 24px -16px rgb(0 0 0 / .72);
}

/* ---- reset + base ------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  position:relative;
  overflow-x:hidden;
  font-family:'Poppins',ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:radial-gradient(900px 520px at 52% -8%,hsl(214 100% 94%/.72),transparent 70%),linear-gradient(145deg,hsl(210 100% 99%),hsl(218 70% 97%) 48%,hsl(205 100% 98%));
  color:hsl(var(--foreground));
  font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
html[data-theme="dark"] body{background:radial-gradient(900px 520px at 52% -8%,hsl(215 75% 20%/.38),transparent 70%),linear-gradient(145deg,hsl(var(--background)),hsl(220 30% 8%))}
body::before{display:none}
body::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(760px 520px at 12% 12%,hsl(205 100% 72%/.18),transparent 68%),radial-gradient(820px 560px at 88% 38%,hsl(225 92% 68%/.14),transparent 70%),linear-gradient(120deg,hsl(205 100% 96%/.12),transparent 42%,hsl(220 92% 92%/.12));mix-blend-mode:soft-light}
html[data-theme="dark"] body::after{background:radial-gradient(760px 520px at 12% 12%,hsl(205 100% 55%/.14),transparent 68%),radial-gradient(820px 560px at 88% 38%,hsl(225 92% 62%/.13),transparent 70%),linear-gradient(120deg,hsl(205 100% 45%/.08),transparent 42%,hsl(220 92% 55%/.08))}
.ambient-scene{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.86}
.ambient-grid{position:absolute;inset:-12%;background-image:linear-gradient(hsl(var(--foreground)/.035) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--foreground)/.035) 1px,transparent 1px),radial-gradient(circle at 50% 0%,hsl(215 90% 55%/.13),transparent 54%);background-size:72px 72px,72px 72px,100% 100%;mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.8) 32%,transparent 78%);animation:ambient-grid-drift 26s linear infinite}
.ambient-glow{position:absolute;width:38vw;height:38vw;border-radius:50%;filter:blur(76px);opacity:.16;background:var(--brand-blue-bright);mix-blend-mode:multiply;animation:ambient-breathe 11s ease-in-out infinite alternate}
.ambient-glow-a{top:5vh;left:-15vw}
.ambient-glow-b{top:36vh;right:-18vw;background:var(--brand-blue);animation-delay:-5s}
html[data-theme="dark"] .ambient-glow{opacity:.12;mix-blend-mode:screen}
.ambient-ribbon{position:absolute;top:11vh;left:50%;width:125vw;height:32vh;transform:translateX(-50%) rotate(-10deg);border:0;border-radius:48%;background:linear-gradient(110deg,transparent 12%,hsl(215 90% 58%/.03) 34%,hsl(200 90% 62%/.13) 49%,hsl(215 90% 58%/.04) 64%,transparent 84%);filter:blur(1px);box-shadow:0 0 80px hsl(215 90% 58%/.08);animation:ambient-ribbon-drift 24s ease-in-out infinite alternate}
.ambient-ribbon::before,.ambient-ribbon::after{content:"";position:absolute;inset:22% 8%;border-top:1px solid hsl(200 90% 62%/.12);border-bottom:1px solid hsl(215 90% 58%/.06);border-radius:45%;transform:skewY(-5deg)}
.ambient-ribbon::after{inset:38% 16%;border-color:hsl(200 90% 62%/.07);transform:skewY(4deg)}
.ambient-ribbon-b{top:42vh;width:105vw;height:25vh;opacity:.68;transform:translateX(-50%) rotate(12deg);animation-duration:31s;animation-direction:reverse}
.ambient-signal{position:absolute;top:42vh;left:-10%;width:120%;height:1px;background:linear-gradient(90deg,transparent,hsl(215 90% 58%/.04) 25%,hsl(200 90% 62%/.22) 50%,hsl(215 90% 58%/.04) 75%,transparent);transform:rotate(-7deg);animation:ambient-signal-sweep 18s ease-in-out infinite}
.ambient-signal::before{content:"";position:absolute;left:35%;top:-1px;width:18%;height:3px;background:linear-gradient(90deg,transparent,hsl(200 90% 62%/.35),transparent);filter:blur(2px)}
.noise-overlay{position:fixed;inset:0;z-index:1;pointer-events:none;background-image:url(/fitovision/redizajn/assets/noise.optimized.webp);background-repeat:repeat;background-size:280px 280px;opacity:.45;mix-blend-mode:overlay;filter:contrast(1.25)}
html[data-theme="dark"] .noise-overlay{opacity:.45}
.nav,main,.foot{position:relative;z-index:3}
.pointer-fx{display:none;position:fixed;left:0;top:0;width:0;height:0;z-index:10050;pointer-events:none;will-change:transform}
.pointer-dot,.pointer-ring{position:absolute;left:0;top:0;transform:translate(-50%,-50%);border-radius:50%;will-change:transform}
.pointer-dot{width:11px;height:11px;background:transparent;border:1px solid var(--brand-blue-bright);border-radius:3px;rotate:45deg;box-shadow:0 0 16px hsl(215 90% 58%/.62)}
.pointer-ring{width:32px;height:32px;border:1px solid hsl(var(--foreground)/.38);background:hsl(var(--card)/.08);backdrop-filter:blur(3px);transition:width .36s cubic-bezier(.22,1,.36,1),height .36s cubic-bezier(.22,1,.36,1),border-color .36s ease,background .36s ease,scale .3s ease}
.pointer-fx.is-hover .pointer-ring{width:52px;height:52px;border-color:var(--brand-blue-bright);background:hsl(215 90% 58%/.1)}
.pointer-fx.is-press .pointer-ring{scale:.78}
@keyframes ambient-grid-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(72px,72px,0)}}
@keyframes ambient-breathe{from{transform:scale(.88) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(4vw,2vh,0)}}
@keyframes ambient-ribbon-drift{from{transform:translateX(-56%) rotate(-10deg) scale(.92)}to{transform:translateX(-44%) rotate(-4deg) scale(1.08)}}
@keyframes ambient-signal-sweep{0%,100%{translate:-5% 0;opacity:.35}50%{translate:5% 0;opacity:1}}
@media (hover:hover) and (pointer:fine){.pointer-fx{display:block}body.has-pointer,body.has-pointer a,body.has-pointer button{cursor:none}}
@media (pointer:coarse), (prefers-reduced-motion:reduce){.pointer-fx{display:none!important}.ambient-grid,.ambient-glow,.ambient-ribbon,.ambient-signal{animation:none}}
html.theme-transition *,html.theme-transition *::before,html.theme-transition *::after{transition-property:background-color,border-color,color,fill,stroke,box-shadow,filter;transition-duration:.24s;transition-timing-function:ease}
h1,h2,h3,h4,p{margin:0}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:hsl(var(--foreground));color:hsl(var(--background));padding:.6rem 1rem;border-radius:0 0 8px 0}
.skip:focus{left:0}

/* ---- layout helpers ----------------------------------------------------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{position:relative;padding:104px 0;isolation:isolate}
.section + .section::before{content:"";position:absolute;z-index:0;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,hsl(215 90% 58%/.24) 22%,hsl(var(--border)) 50%,hsl(200 90% 62%/.2) 78%,transparent);box-shadow:0 0 24px hsl(215 90% 58%/.1);pointer-events:none}
.section + .section::after{content:"";position:absolute;z-index:-1;top:-42px;left:18%;width:64%;height:84px;background:radial-gradient(ellipse,hsl(215 90% 58%/.075),transparent 68%);filter:blur(12px);pointer-events:none}
.section-sm{padding:64px 0}
.center{text-align:center}
.muted-bg{background:linear-gradient(180deg,hsl(var(--muted)/.58),hsl(var(--muted)/.28) 58%,transparent)}
.muted-bg + .section::before{left:14%;right:14%;background:linear-gradient(90deg,transparent,hsl(200 90% 62%/.22),transparent)}

.eyebrow{ /* shadcn badge (pill) */
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));
  border-radius:9999px;padding:5px 14px;font-size:12.5px;font-weight:500;
  letter-spacing:.01em;box-shadow:var(--shadow-sm);
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-500)}

.h-sec{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:600;letter-spacing:-.02em;line-height:1.12}
.sub-sec{margin:16px auto 0;max-width:640px;color:hsl(var(--muted-foreground));font-size:1.06rem;line-height:1.6}
.head{max-width:720px;margin:0 auto 56px}
.head.center .sub-sec{margin-inline:auto}

/* ---- buttons (app: neutral CTA koji invertira na hover) ------------------ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 20px;border-radius:var(--radius);
  border:1px solid transparent;font-size:15px;font-weight:500;
  cursor:pointer;white-space:nowrap;transition:background .34s cubic-bezier(.22,1,.36,1),color .34s cubic-bezier(.22,1,.36,1),border-color .34s cubic-bezier(.22,1,.36,1),box-shadow .34s cubic-bezier(.22,1,.36,1),transform .22s ease;
}
.btn:active{transform:translateY(1px)}
.btn-lg{height:48px;padding:0 26px;font-size:15.5px}
.btn-sm{height:38px;padding:0 16px;font-size:14px}
.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}
.btn-primary:hover{background:transparent;color:hsl(var(--foreground));border-color:hsl(var(--border))}
.btn-outline{background:hsl(var(--card));color:hsl(var(--foreground));border-color:hsl(var(--border))}
.btn-outline:hover{background:hsl(var(--muted));border-color:var(--neutral-300)}
.btn-ghost{background:transparent;color:hsl(var(--foreground));border-color:transparent}
.btn-ghost:hover{background:hsl(var(--muted))}
.btn svg{width:17px;height:17px}

/* ---- navbar ------------------------------------------------------------- */
.nav{position:sticky;top:0;z-index:50;background:hsl(var(--background)/.8);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid hsl(var(--border))}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav-logo{display:inline-flex;align-items:center}
.nav-logo img{display:block;height:34px;width:auto;filter:var(--logo-filter)}
.nav-links{display:flex;align-items:center;gap:4px;flex:none}
.nav-links a.navlink{padding:8px 12px;border-radius:8px;font-size:14.5px;font-weight:500;color:hsl(var(--muted-foreground));transition:color .3s ease,background .3s ease}
.nav-links a.nav-back{color:hsl(var(--foreground));margin-right:8px}
.nav-links a.nav-login{color:hsl(var(--foreground));font-weight:600;margin-left:4px}
.nav-links a.navlink:hover{color:hsl(var(--foreground));background:hsl(var(--muted))}
.nav-cta{display:flex;align-items:center;gap:8px}
.theme-toggle{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;cursor:pointer;transition:background-color .18s,color .18s,transform .12s}
.theme-toggle:hover{background:hsl(var(--muted))}
.theme-toggle:active{transform:scale(.94)}
.theme-toggle-visual{position:relative;display:block;width:18px;height:18px}
.theme-toggle svg{position:absolute;inset:0;width:18px;height:18px;transition:opacity .28s ease,transform .42s cubic-bezier(.2,.85,.25,1)}
.theme-sun{opacity:1;transform:scale(1) rotate(0deg)}
.theme-moon{opacity:0;transform:scale(.65) rotate(90deg)}
.theme-sun-rays{transform-origin:12px 12px;transition:opacity .22s ease,transform .42s cubic-bezier(.2,.85,.25,1)}
html[data-theme="dark"] .theme-sun{opacity:0;transform:scale(.65) rotate(-90deg)}
html[data-theme="dark"] .theme-sun-rays{opacity:0;transform:scale(.55)}
html[data-theme="dark"] .theme-moon{opacity:1;transform:scale(1) rotate(0deg)}
.nav-burger{display:none;width:40px;height:40px;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:8px;cursor:pointer;align-items:center;justify-content:center}
.nav-burger span{display:block;width:18px;height:2px;background:hsl(var(--foreground));position:relative}
.nav-burger span::before,.nav-burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:hsl(var(--foreground))}
.nav-burger span::before{top:-6px}.nav-burger span::after{top:6px}
.nav-mobile{display:none;flex-direction:column;gap:4px;padding:12px 24px 18px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card))}
.nav-mobile.open{display:flex}
.nav-mobile a{padding:11px 12px;border-radius:8px;font-weight:500;color:hsl(var(--foreground))}
.nav-mobile a:hover{background:hsl(var(--muted))}
.nav-mobile .btn{margin-top:6px}

/* ---- hero (koncentrični prstenovi kao landing-page1) -------------------- */
.hero{position:relative;overflow:hidden;padding:84px 0 72px;text-align:center}
.hero-rings{position:absolute;left:50%;top:120px;transform:translateX(-50%);width:min(1400px,140vw);aspect-ratio:1;pointer-events:none;z-index:0;
  -webkit-mask-image:radial-gradient(circle,#000 0%,#000 40%,transparent 72%);mask-image:radial-gradient(circle,#000 0%,#000 40%,transparent 72%)}
.hero-rings i{position:absolute;inset:0;margin:auto;border:1px solid hsl(var(--border));border-radius:50%}
.hero-rings i:nth-child(1){width:22%;height:22%}
.hero-rings i:nth-child(2){width:42%;height:42%}
.hero-rings i:nth-child(3){width:64%;height:64%}
.hero-rings i:nth-child(4){width:86%;height:86%}
.hero-rings i:nth-child(5){width:108%;height:108%}
.hero-in{position:relative;z-index:1;max-width:800px;margin:0 auto}
.hero h1{font-size:clamp(2.7rem,6.2vw,4.8rem);font-weight:600;letter-spacing:-.04em;line-height:1.04;margin-top:22px;animation:hero-title-drift 6s ease-in-out infinite}
.hero h1 .accent{color:var(--brand-blue);-webkit-text-fill-color:currentColor;text-shadow:0 0 0 transparent;will-change:color,text-shadow;animation:hero-title-color-flow 4s ease-in-out infinite}
@keyframes hero-title-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-5px,0)}}
@keyframes hero-title-color-flow{0%,100%{color:var(--brand-blue);text-shadow:0 0 0 transparent}35%{color:var(--brand-blue-bright);text-shadow:0 0 18px hsl(200 90% 62%/.32)}68%{color:#60a5fa;text-shadow:0 0 10px hsl(215 90% 58%/.2)}}
.hero .lead{margin:22px auto 0;max-width:620px;color:hsl(var(--muted-foreground));font-size:1.15rem;line-height:1.6}
.hero .lead strong{color:hsl(var(--foreground));font-weight:600}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.hero-note{margin-top:18px;font-size:13px;color:hsl(var(--muted-foreground));display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-note span{display:inline-flex;align-items:center;gap:6px}
.hero-note svg{width:15px;height:15px;color:var(--green-600)}

/* product shot framed */
.hero-shot{position:relative;z-index:1;width:100%;max-width:1360px;margin:52px auto 0;padding-inline:24px}
.hero-shot .frame{border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));padding:8px;box-shadow:var(--shadow-lg)}
.hero-shot .frame img{display:block;width:100%;height:auto;object-fit:contain;border-radius:8px}
.frame img.theme-preview-dark{display:none}
html[data-theme="dark"] .frame img.theme-preview-light{display:none}
html[data-theme="dark"] .frame img.theme-preview-dark{display:block}
.hero-shot .bar{display:flex;align-items:center;gap:6px;padding:6px 4px 10px}
.hero-shot .bar i{width:9px;height:9px;border-radius:50%;background:var(--neutral-200)}

/* ---- logo strip --------------------------------------------------------- */
.logos{padding:40px 0;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}
.logos p{text-align:center;color:hsl(var(--muted-foreground));font-size:13px;font-weight:500;margin-bottom:22px}
.logos-row{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:nowrap;white-space:nowrap}
.logos-row img{height:34px;width:auto;opacity:.62;filter:grayscale(1);transition:opacity .2s,filter .2s}
.logos-row img.logo-solo{height:40px}
.logos-row img.logo-stripe{height:44px}
.logos-row img.logo-walletap{height:36px;filter:grayscale(1) brightness(.55);opacity:.72}
.logos-row img.logo-walletap-dark{display:none}
html[data-theme="dark"] .logos-row img.logo-walletap-light{display:none}
html[data-theme="dark"] .logos-row img.logo-walletap-dark{display:block;filter:grayscale(1) brightness(1.8);opacity:.72}
html[data-theme="dark"] .logos-row img.logo-walletap-dark:hover{filter:grayscale(1) brightness(2.35);opacity:1}
.cm-overlay{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(4,8,16,.72);backdrop-filter:blur(9px);opacity:0;transition:opacity .3s ease}
.cm-overlay.open{opacity:1}.cm-overlay[hidden]{display:none}.cm-modal{position:relative;width:100%;max-width:520px;max-height:90vh;overflow:hidden;background:hsl(var(--card));border:1px solid hsl(215 90% 58%/.28);border-radius:20px;padding:28px 26px 24px;box-shadow:0 30px 80px rgba(0,0,0,.4),0 0 60px hsl(215 90% 58%/.1);transform:scale(.94);opacity:0;transition:transform .34s cubic-bezier(.16,1,.3,1),opacity .34s}
.cm-overlay.open .cm-modal{transform:scale(1);opacity:1}.cm-body{max-height:calc(90vh - 52px);overflow-y:auto}.cm-ic{position:absolute;top:14px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:pointer}.cm-ic svg{width:17px}.cm-back-ic{left:14px}.cm-close{right:14px}.cm-step-head{margin:20px 0 14px}.cm-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-blue);margin-bottom:5px}.cm-step-head h3{font-size:1.35rem;color:hsl(var(--foreground));line-height:1.2}.cm-input{width:100%;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:10px;padding:13px 14px;color:hsl(var(--foreground));font:inherit;font-size:.95rem;outline:0}.cm-input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px hsl(215 90% 58%/.14)}.cm-input::placeholder{color:hsl(var(--muted-foreground))}.cm-area{min-height:110px;resize:vertical}.cm-field{position:relative}.cm-field .cm-input{padding-right:54px}.cm-go{position:absolute;right:7px;top:7px;width:36px;height:36px;border:0;border-radius:9px;background:var(--brand-blue);color:#fff;cursor:pointer}.cm-chips{display:flex;flex-direction:column;gap:8px}.cm-chip{padding:12px 14px;text-align:left;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}.cm-chip:hover,.cm-chip.sel{border-color:var(--brand-blue);background:hsl(215 90% 58%/.08)}.cm-phone{display:flex}.cm-phone-cc{display:flex;align-items:center;padding:0 12px;border:1px solid hsl(var(--border));border-right:0;border-radius:10px 0 0 10px;color:hsl(var(--muted-foreground))}.cm-phone .cm-input{border-radius:0 10px 10px 0}.cm-when-label{margin:16px 0 8px;font-size:12px;color:hsl(var(--muted-foreground))}.cm-dt-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cm-day,.cm-slot{border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}.cm-day{padding:8px 3px}.cm-day-wd,.cm-day-n{display:block;text-align:center}.cm-day-wd{font-size:9px;color:hsl(var(--muted-foreground));text-transform:uppercase}.cm-day-n{font-size:12px;font-weight:600}.cm-day.sel,.cm-slot.sel{border-color:var(--brand-blue);background:hsl(215 90% 58%/.1);color:var(--brand-blue)}.cm-day.closed,.cm-day:disabled,.cm-slot.taken{opacity:.38;cursor:not-allowed}.cm-dt-times{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}.cm-slot{padding:8px 4px;font-size:12px}.cm-turnstile{margin-top:14px;display:flex;justify-content:center}.cm-err{color:var(--danger);font-size:12px;margin-top:8px}.cm-submit{width:100%;margin-top:16px;padding:13px;border:0;border-radius:10px;background:var(--brand-blue);color:#fff;font:600 15px inherit;cursor:pointer}.cm-alt{width:100%;margin-top:12px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;text-decoration:underline;cursor:pointer}.cm-success{text-align:center;padding:28px 0 8px}.cm-check{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:hsl(145 70% 45%/.12);color:var(--green-600)}.cm-check svg{width:28px}
.logos-row img:hover{opacity:1;filter:grayscale(0)}
html[data-theme="dark"] .logos-row img{opacity:.72;filter:grayscale(1) brightness(0) invert(1)}
html[data-theme="dark"] .logos-row img:hover{opacity:1;filter:grayscale(1) brightness(0) invert(1)}

/* ---- feature grid (icon-led) ------------------------------------------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{position:relative;overflow:hidden;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:var(--radius);padding:26px;transition:box-shadow .38s cubic-bezier(.22,1,.36,1),border-color .38s ease,transform .38s cubic-bezier(.22,1,.36,1),background .38s ease}
.card::after{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--brand-blue-bright),transparent);opacity:0;transform:scaleX(.35);transition:opacity .24s ease,transform .35s ease}
.card:hover{transform:translateY(-5px);border-color:hsl(215 90% 58%/.34);box-shadow:0 18px 42px hsl(215 45% 30%/.12),0 0 0 1px hsl(215 90% 58%/.06);background:linear-gradient(145deg,hsl(var(--card)),hsl(215 90% 58%/.045))}
.card:hover::after{opacity:1;transform:scaleX(1)}
.card .ico{transition:transform .28s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease}
.card:hover .ico{transform:translateY(-2px) scale(1.04);background:hsl(215 90% 58%/.1);border-color:hsl(215 90% 58%/.25);box-shadow:0 8px 20px hsl(215 90% 58%/.12)}
.card:hover{box-shadow:var(--shadow-md);border-color:var(--neutral-300)}
.card .ico{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:hsl(var(--muted));border:1px solid hsl(var(--border));margin-bottom:16px}
.card .ico svg{width:22px;height:22px;color:hsl(var(--foreground))}
.card h3{font-size:1.06rem;font-weight:600;letter-spacing:-.01em}
.card p{margin-top:8px;color:hsl(var(--muted-foreground));font-size:.95rem;line-height:1.6}
.card.hl{background:var(--inverse-bg);border-color:var(--neutral-700)}
.card.hl h3{color:var(--inverse-fg)}.card.hl p{color:var(--inverse-muted)}
.card.hl .ico{background:var(--neutral-800);border-color:var(--neutral-700)}.card.hl .ico svg{color:var(--inverse-fg)}

/* ---- split showcase (screenshot + tekst) ------------------------------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.rev .split-media{order:2}
.split-media .frame{border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card));padding:6px;box-shadow:var(--shadow-lg)}
.split-media .frame img{border-radius:7px;width:100%}
.split:has(.theme-preview-light){grid-template-columns:minmax(0,1fr) 735px;gap:32px;width:calc(100% + 180px);margin-left:-90px}
.split.rev:has(.compact-preview-image){grid-template-columns:735px minmax(0,1fr)}
.split.rev:has(.compact-preview-image) .split-media{order:0}
.split-media:has(.theme-preview-light){width:735px;max-width:100%;justify-self:center}
.split-media:has(.theme-preview-light) .frame img{width:100%;height:auto;object-fit:contain}
.split h3{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.split p.lead{margin-top:14px;color:hsl(var(--muted-foreground));font-size:1.05rem;line-height:1.6}
.check{margin-top:22px;display:flex;flex-direction:column;gap:12px}
.check li{display:flex;gap:10px;align-items:flex-start;font-size:.98rem}
.check li svg{flex:0 0 auto;width:20px;height:20px;color:var(--green-600);margin-top:1px}

/* ---- phone + door mock -------------------------------------------------- */
.mock-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center;max-width:960px;margin:0 auto}
.phone{width:266px;margin:0 auto;background:var(--neutral-900);border-radius:38px;padding:12px;box-shadow:var(--shadow-lg)}
.phone.phone-shot{position:relative;width:286px;padding:9px;background:#161a20;border:1px solid #454b54;border-radius:46px;overflow:visible;box-shadow:0 30px 72px rgba(15,23,42,.24),inset 0 0 0 1px rgba(255,255,255,.12),inset 0 -2px 5px rgba(0,0,0,.65)}
.phone.phone-shot::before{content:"";position:absolute;z-index:2;top:18px;left:50%;width:74px;height:21px;transform:translateX(-50%);border-radius:999px;background:#07090c;box-shadow:inset 0 1px 1px rgba(255,255,255,.08)}
.phone.phone-shot::after{content:"";position:absolute;top:118px;right:-4px;width:3px;height:68px;border-radius:0 3px 3px 0;background:#2d333b;box-shadow:0 88px 0 #2d333b}
.phone.phone-shot img{display:block;width:100%;height:auto;border:1px solid rgba(255,255,255,.14);border-radius:37px}
.phone-screen{background:hsl(var(--card));border-radius:28px;overflow:hidden;padding:22px 18px 24px}
.phone-hi{font-size:13px;color:hsl(var(--muted-foreground))}
.phone-name{font-size:20px;font-weight:600;margin-bottom:16px}
.phone-qr{background:#fff;border:1px solid hsl(var(--border));border-radius:14px;padding:16px;display:flex;justify-content:center}
.phone-qr svg{width:130px;height:130px}
.phone-qr-lbl{text-align:center;font-size:12px;color:hsl(var(--muted-foreground));margin-top:10px}
.phone-row{display:flex;gap:10px;margin-top:16px}
.phone-stat{flex:1;border:1px solid hsl(var(--border));border-radius:10px;padding:11px 12px;text-align:center}
.phone-stat b{display:block;font-size:17px;font-weight:600}
.phone-stat.g b{color:var(--green-600)}
.phone-stat span{font-size:11px;color:hsl(var(--muted-foreground))}
.store{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.store a{display:inline-flex;align-items:center;gap:12px;min-width:174px;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:12px;padding:11px 19px;transition:background .34s cubic-bezier(.22,1,.36,1),border-color .34s ease,transform .34s cubic-bezier(.22,1,.36,1),box-shadow .34s ease}
.store a:hover{transform:translateY(-2px);box-shadow:0 10px 24px hsl(215 45% 30%/.12)}
.store a:hover{background:hsl(var(--muted));border-color:var(--neutral-300)}
.store svg{width:25px;height:25px}
.store small{display:block;font-size:10px;color:hsl(var(--muted-foreground));line-height:1}
.store b{display:block;font-size:15px;font-weight:600;line-height:1.2}
.door{border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));box-shadow:var(--shadow-md);overflow:hidden}
.door-h{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid hsl(var(--border))}
.door-h .di{width:38px;height:38px;border-radius:9px;background:hsl(var(--muted));display:flex;align-items:center;justify-content:center}
.door-h .di svg{width:20px;height:20px}
.door-h h4{font-size:14.5px;font-weight:600}
.door-h p{font-size:12px;color:hsl(var(--muted-foreground))}
.door-badge{margin-left:auto;font-size:11px;font-weight:600;color:var(--green-600);background:var(--success-soft);border-radius:9999px;padding:4px 10px}
.door-feed{padding:6px 8px}
.door-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px}
.door-row{transition:background .3s ease,transform .3s ease}
.door-row.is-live{background:hsl(215 90% 58%/.08);transform:translateX(3px)}
.door-row+.door-row{border-top:1px solid hsl(var(--border))}
.door-dot{width:8px;height:8px;border-radius:50%;background:var(--green-500);flex:0 0 auto}
.door-dot.warn{background:var(--warning)}
.door-name{font-size:14px;font-weight:500}
.door-meta{font-size:12px;color:hsl(var(--muted-foreground))}
.door-time{margin-left:auto;font-size:11.5px;color:hsl(var(--muted-foreground))}
.door-foot{padding:12px 18px;font-size:12px;color:hsl(var(--muted-foreground));border-top:1px solid hsl(var(--border));background:hsl(var(--muted)/.4)}

/* ---- comparison table --------------------------------------------------- */
.cmp{border:1px solid hsl(var(--border));border-radius:18px;overflow:hidden;max-width:960px;margin:0 auto;background:hsl(var(--card));box-shadow:0 18px 48px hsl(215 40% 30%/.08)}
.cmp-row{display:grid;grid-template-columns:1.25fr 1fr 1fr;min-height:76px;transition:background .2s ease}
.cmp-row+.cmp-row{border-top:1px solid hsl(var(--border))}
.cmp-row:not(.head):hover{background:hsl(var(--muted)/.34)}
.cmp-row.head{min-height:54px;background:linear-gradient(120deg,hsl(var(--muted)/.72),hsl(215 90% 58%/.08));font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.cmp-row.head .cmp-c:first-child{padding-left:0}
.cmp-row.head .cmp-c:last-child{padding-right:0}
.cmp-c{padding:17px 20px;font-size:.93rem;display:flex;align-items:center;gap:10px;line-height:1.4}
.cmp-c:nth-child(1),.cmp-c:nth-child(2),.cmp-c:nth-child(3){justify-content:flex-start;text-align:left}
.cmp-c.feat{font-weight:600;color:hsl(var(--foreground))}
.cmp-c.new{background:linear-gradient(90deg,hsl(215 90% 58%/.075),hsl(200 90% 62%/.035));border-left:1px solid hsl(215 90% 58%/.14)}
.cmp-row.head .cmp-c.new{color:var(--brand-blue);border-left-color:hsl(215 90% 58%/.2)}
.cmp-x,.cmp-v{width:23px;height:23px;flex:0 0 23px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font-size:12px;font-weight:700}
.cmp-x{color:var(--danger);background:hsl(0 78% 55%/.1)}
.cmp-v{color:var(--brand-blue);background:hsl(215 90% 58%/.13)}
.cmp-hint{display:none;color:var(--brand-blue);font-size:.74rem;margin:-18px 0 10px;letter-spacing:.03em}
.cmp-head{display:grid;grid-template-columns:1.25fr 1fr 1fr;min-height:54px;background:linear-gradient(120deg,hsl(var(--muted)/.72),hsl(215 90% 58%/.08));font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.cmp-head .cmp-c{padding:17px 20px;display:flex;align-items:center;line-height:1.4}
.cmp-head .cmp-feat{padding-left:12px;background:hsl(var(--muted)/.72)}
.cmp-head .cmp-new{color:var(--brand-blue);background:hsl(215 90% 58%/.1);border-left:1px solid hsl(215 90% 58%/.2);padding-right:0}
.cmp-feat{color:hsl(var(--foreground));font-weight:600}
.cmp-old .x,.cmp-new .v{width:8px;height:8px;flex:0 0 8px;border-radius:50%;display:inline-block;margin-right:2px}
.cmp-old .x{background:var(--danger)}
.cmp-new .v{background:var(--brand-blue);box-shadow:0 0 0 3px hsl(215 90% 58%/.12)}

/* ---- pricing ------------------------------------------------------------ */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.price{border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));padding:28px;display:flex;flex-direction:column;height:100%}
.price.feat{border-color:hsl(var(--foreground)/.72);box-shadow:var(--shadow-lg);position:relative}
.price-tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--inverse-bg);color:var(--inverse-fg);font-size:11.5px;font-weight:600;padding:5px 14px;border-radius:9999px}
.price-name{font-size:1.15rem;font-weight:600}
.price-desc{margin-top:4px;color:hsl(var(--muted-foreground));font-size:.9rem}
.price-amt{margin-top:18px;font-size:2.6rem;font-weight:700;letter-spacing:-.02em;line-height:1}
.price-amt span{font-size:1rem;font-weight:500;color:hsl(var(--muted-foreground))}
.price-anchor{margin-top:8px;font-size:12px;color:hsl(var(--muted-foreground))}
.price-feats{margin:22px 0;display:flex;flex-direction:column;gap:11px}
.price-feats li{display:flex;gap:9px;align-items:flex-start;font-size:.93rem}
.price-feats svg{flex:0 0 auto;width:18px;height:18px;color:var(--green-600);margin-top:1px}
.price .btn{margin-top:auto;width:100%}
.price-legal{max-width:760px;margin:30px auto 0;text-align:center;font-size:12.5px;color:hsl(var(--muted-foreground));line-height:1.6}
.price-legal a{color:hsl(var(--foreground));font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* ---- FAQ ---------------------------------------------------------------- */
.faq{max-width:760px;margin:0 auto;border:1px solid hsl(var(--border));border-radius:12px;overflow:hidden;background:hsl(var(--card))}
.faq details{border-top:1px solid hsl(var(--border))}
.faq details:first-child{border-top:none}
.faq summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary .chev{flex:0 0 auto;width:20px;height:20px;color:hsl(var(--muted-foreground));transition:transform .2s}
.faq details[open] summary .chev{transform:rotate(180deg)}
.faq .ans{padding:0 22px 20px;color:hsl(var(--muted-foreground));font-size:.96rem;line-height:1.65}
.faq .ans a,.text-link{color:hsl(var(--foreground));font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* ---- CTA band ----------------------------------------------------------- */
.cta-band{background:var(--inverse-bg);border:1px solid var(--neutral-700);border-radius:20px;padding:64px 40px;text-align:center;color:var(--inverse-fg);position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px circle at 50% -20%,rgba(255,255,255,.10),transparent 70%);pointer-events:none}
.cta-band h2{position:relative;font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.cta-band p{position:relative;margin:16px auto 0;max-width:560px;color:var(--inverse-muted);font-size:1.06rem;line-height:1.6}
.cta-band .hero-cta{margin-top:30px}
.cta-band .btn-primary{background:#fff;color:var(--neutral-900);border-color:#fff}
.cta-band .btn-primary:hover{background:transparent;color:#fff;border-color:#525252}
.cta-band .btn-outline{background:transparent;color:#fff;border-color:#404040}
.cta-band .btn-outline:hover{background:#262626;border-color:#525252}

/* ---- footer ------------------------------------------------------------- */
.foot{border-top:1px solid hsl(var(--border));padding:56px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.foot-logo{display:inline-block}
.foot-brand img{display:block;height:38px;width:auto;margin-bottom:16px;filter:var(--logo-filter)}
.foot-brand p{color:hsl(var(--muted-foreground));font-size:13.5px;line-height:1.7;max-width:38ch}
.foot-brand a{color:hsl(var(--foreground))}
.foot-note{display:block;margin-top:8px;font-size:12px;color:hsl(var(--muted-foreground))}
.foot-h{font-size:13px;font-weight:600;margin-bottom:14px}
.foot-links{display:flex;flex-direction:column;gap:10px}
.foot-links a{color:hsl(var(--muted-foreground));font-size:14px;transition:color .15s}
.foot-links a:hover{color:hsl(var(--foreground))}
.foot-pay{margin-top:16px}
.foot-pay-label{display:block;font-size:10px;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.foot-pay-logos{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pay-chip{display:inline-flex;align-items:center;justify-content:center;height:30px;background:#fff;border-radius:5px;padding:4px 8px}
.pay-chip img{height:100%!important;width:auto!important;display:block;margin:0!important;filter:none!important}
.pay-chip.corvus img{height:16px!important}
.foot-bottom{margin-top:40px;padding-top:24px;border-top:1px solid hsl(var(--border));text-align:center;font-size:12.5px;color:hsl(var(--muted-foreground))}

/* ---- reveal animation --------------------------------------------------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
@media (prefers-reduced-motion:reduce){.hero h1,.hero h1 .accent{animation:none;filter:none}}
@media (prefers-reduced-motion:reduce){.card,.card::after,.card .ico,.door-row{transition:none!important}.card:hover{transform:none}.door-row.is-live{transform:none}}

/* ---- responsive --------------------------------------------------------- */
@media (max-width:1240px){
  .split:has(.theme-preview-light){grid-template-columns:1fr;width:100%;margin-left:0;gap:32px}
  .split.rev:has(.compact-preview-image){grid-template-columns:1fr}
  .split-media:has(.theme-preview-light){justify-self:center}
}
@media (max-width:900px){
  .logos-row{justify-content:flex-start;flex-wrap:nowrap;white-space:nowrap;width:100%;min-width:0;max-width:none;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;gap:28px;padding:4px 8px 10px;scroll-behavior:auto;touch-action:pan-x;-webkit-overflow-scrolling:touch}
  .logos-row img{flex:0 0 auto}
  .logos-row::-webkit-scrollbar{display:none}
  .grid-3{grid-template-columns:1fr 1fr}
  .price-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}
  .split{grid-template-columns:1fr;gap:32px}
  .split.rev .split-media{order:0}
  .mock-grid{grid-template-columns:1fr;gap:48px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:640px){
  .section{padding:64px 0}
  .nav-links,.nav-cta .btn{display:none}
  .theme-toggle{width:40px;height:40px}
  .nav-burger{display:inline-flex}
  .nav-mobile .btn{display:flex!important;color:hsl(var(--primary-foreground));width:100%;justify-content:center}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .cmp{font-size:.82rem;border-radius:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .cmp-row{grid-template-columns:128px 185px 185px;min-width:498px;min-height:0}
  .cmp-head{grid-template-columns:128px 185px 185px;min-width:498px;min-height:54px}
  .cmp-c{padding:13px 12px;font-size:.82rem;align-items:center}
  .cmp-c.feat{position:sticky;left:0;z-index:2;box-shadow:1px 0 0 hsl(var(--border));background:hsl(var(--card))}
  .cmp-head .cmp-c{padding:13px 12px;font-size:.82rem}
  .cmp-head .cmp-feat{background:hsl(var(--muted)/.72);padding-left:12px}
  .cmp-c.new{border-left:1px solid hsl(215 90% 58%/.14)}
  .cmp::-webkit-scrollbar{height:6px}
  .cmp::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:3px}
  .cmp-hint{display:block}
  .foot-grid{grid-template-columns:1fr}
  .cta-band{padding:48px 24px}
  .hero{padding:56px 0 48px}
  .nav-mobile{position:fixed;top:64px;right:0;bottom:0;z-index:60;width:min(88vw,390px);height:calc(100dvh - 64px);display:flex;flex-direction:column;gap:8px;padding:34px 24px 28px;background:linear-gradient(160deg,hsl(var(--card)/.98),hsl(215 35% 96%/.96));border-left:1px solid hsl(215 90% 58%/.22);border-bottom:0;box-shadow:-24px 0 70px rgba(15,23,42,.18);transform:translateX(105%);opacity:0;visibility:hidden;transition:transform .46s cubic-bezier(.16,1,.3,1),opacity .3s ease,visibility 0s linear .46s}
  html[data-theme="dark"] .nav-mobile{background:linear-gradient(160deg,hsl(var(--card)/.98),hsl(222 28% 8%/.98));box-shadow:-24px 0 70px rgba(0,0,0,.42)}
  .nav-mobile.open{display:flex;transform:translateX(0);opacity:1;visibility:visible;transition-delay:0s}
  .nav-mobile::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--brand-blue-bright),transparent)}
  .nav-mobile a{padding:14px 14px;border-radius:10px;font-size:1.08rem;font-weight:500;transform:translateX(18px);opacity:0;transition:background .28s ease,color .28s ease,transform .42s cubic-bezier(.16,1,.3,1),opacity .32s ease}
  .nav-mobile.open a{transform:none;opacity:1}
  .nav-mobile.open a:nth-child(1){transition-delay:.06s}.nav-mobile.open a:nth-child(2){transition-delay:.1s}.nav-mobile.open a:nth-child(3){transition-delay:.14s}.nav-mobile.open a:nth-child(4){transition-delay:.18s}.nav-mobile.open a:nth-child(5){transition-delay:.22s}
  .nav-mobile a:hover{background:hsl(215 90% 58%/.09);color:var(--brand-blue)}
  .nav-mobile .btn{margin-top:auto;padding:14px 16px;font-size:1rem}
  body.menu-open{overflow:hidden}
  body.menu-open::after{content:"";position:fixed;inset:64px 0 0;z-index:55;background:rgba(4,8,16,.32);backdrop-filter:blur(3px);pointer-events:none;animation:menu-backdrop-in .3s ease both}
  .split-media:has(.theme-preview-light){width:min(100%,360px);justify-self:center}
  .logos{overflow:hidden}
  .logos .wrap{overflow:hidden}
  .logos-row{justify-content:flex-start;flex-wrap:nowrap;width:100%;min-width:0;max-width:none;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;gap:30px;padding:4px 8px 10px;scroll-behavior:auto;touch-action:pan-x;-webkit-overflow-scrolling:touch}
  .logos-row img{flex:0 0 auto}
  .logos-row::-webkit-scrollbar{display:none}
  /* Na mobitelu prikazujemo samo aplikaciju; detaljni feed vrata ostaje za desktop. */
  .mock-grid > .door{display:none}
  .mock-grid > div:first-child{display:flex;flex-direction:column;align-items:center;width:100%}
  .store{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,300px);margin-top:28px;flex-wrap:nowrap}
  .store a{min-width:0;width:100%;padding:9px 8px;gap:7px;justify-content:center;border-radius:10px}
  .store svg{width:22px;height:22px;flex:0 0 22px}
  .store b{font-size:12px}
  .store small{font-size:8px}
}
@keyframes menu-backdrop-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.nav-mobile,.nav-mobile a{transition:none!important;transform:none!important}.nav-mobile a{opacity:1}.nav-mobile.open a{opacity:1}}

/* Mobile performance budget: dekorativni efekti ne smiju blokirati sadržaj. */
@media(max-width:900px){
  #fv-preloader,.ambient-scene,.noise-overlay,.pointer-fx{display:none!important}
  .hero h1,.hero h1 .accent,.hero-rings i,.reveal,.reveal.in{animation:none!important}
  .hero h1 .accent{will-change:auto!important}
  .nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:hsl(var(--background)/.98)}
}
