/* ============================================================
   SPRYNT — web · Electric Dusk
   Palette LOCKED per brief. Warm glow on near-black.
   ============================================================ */
:root{
  --bg:#0B0B12;
  --surface:#101019;
  --surface-2:#16161F;
  --surface-3:#1C1C28;
  --text:#F5F5F7;
  --muted:#9A9AA8;
  --faint:rgba(245,245,247,.5);
  --hair:rgba(245,245,247,.10);
  --hair-2:rgba(245,245,247,.06);

  /* accent always as gradient */
  --amber:#FFB23E;
  --orange:#FF7A1A;
  --coral:#FF5A4D;
  --grad:linear-gradient(120deg,#FFB23E 0%,#FF7A1A 50%,#FF5A4D 100%);
  --grad-soft:linear-gradient(120deg,rgba(255,178,62,.16),rgba(255,122,26,.12) 50%,rgba(255,90,77,.10));

  --disp:'Chakra Petch',sans-serif;
  --body:'Hanken Grotesk',sans-serif;

  --maxw:1240px;
  --pad:clamp(20px,5vw,72px);
  --r:18px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
html,body{background:var(--bg);}
body{
  font-family:var(--body);color:var(--text);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  line-height:1.6;
  cursor:none;
}
@media (max-width:880px){ body{cursor:auto;} }
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
::selection{background:rgba(255,122,26,.32);color:#fff;}

/* film grain over dark surfaces */
.grain{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* ---------- layout helpers ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);}
section{position:relative;}
.eyebrow{font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:.28em;
  text-transform:uppercase;color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;
  display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--grad);border-radius:2px;}

h1,h2,h3{font-family:var(--disp);font-weight:600;line-height:1.04;letter-spacing:.004em;}
.h-xl{font-size:clamp(40px,6.6vw,84px);}
.h-lg{font-size:clamp(32px,4.4vw,56px);}
.h-md{font-size:clamp(24px,2.6vw,34px);}
.lede{font-size:clamp(16px,1.5vw,19px);line-height:1.62;color:var(--muted);text-wrap:pretty;}
.o{color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--disp);font-weight:600;font-size:15px;letter-spacing:.02em;
  padding:15px 26px;border-radius:999px;border:0;cursor:none;
  transition:transform .25s var(--ease), box-shadow .3s var(--ease);will-change:transform;}
@media (max-width:880px){ .btn{cursor:pointer;} }
.btn-primary{color:#1a0d05;background:var(--grad);
  box-shadow:0 6px 28px -6px rgba(255,122,26,.55), inset 0 1px 0 rgba(255,255,255,.3);}
.btn-primary:hover{box-shadow:0 12px 40px -6px rgba(255,122,26,.7), inset 0 1px 0 rgba(255,255,255,.4);}
.btn-ghost{color:var(--text);background:rgba(245,245,247,.05);border:1px solid var(--hair);}
.btn-ghost:hover{background:rgba(245,245,247,.09);border-color:rgba(255,122,26,.4);}
.btn .arrow{transition:transform .25s var(--ease);}
.btn:hover .arrow{transform:translateX(4px);}

.linklike{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:600;
  font-family:var(--body);font-size:15px;transition:color .25s;}
.linklike:hover{color:var(--text);}
.linklike .dn{transition:transform .25s var(--ease);}
.linklike:hover .dn{transform:translateY(3px);}

/* ============================================================
   CUSTOM CURSOR
   ============================================================ */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;border-radius:50%;
  transform:translate(-50%,-50%);mix-blend-mode:screen;}
.cursor-dot{width:7px;height:7px;background:var(--orange);
  box-shadow:0 0 12px 3px rgba(255,122,26,.8);}
.cursor-ring{width:34px;height:34px;border:1.5px solid rgba(255,160,80,.6);
  display:flex;align-items:center;justify-content:center;
  transition:width .22s var(--ease),height .22s var(--ease),background .22s,border-color .22s;
  background:radial-gradient(circle, rgba(255,122,26,.10), transparent 70%);}
.cursor-ring.hot{width:60px;height:60px;border-color:rgba(255,122,26,.0);
  background:radial-gradient(circle, rgba(255,122,26,.22), transparent 68%);}
/* labelled state — solid amber puck with "Klikni" */
.cursor-ring-label{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.04em;
  color:var(--bg);opacity:0;white-space:nowrap;transition:opacity .18s var(--ease);mix-blend-mode:normal;}
.cursor-ring.labelled{width:74px;height:74px;border-color:transparent;mix-blend-mode:normal;
  background:linear-gradient(135deg,var(--amber),var(--orange));
  box-shadow:0 10px 26px -8px rgba(255,122,26,.7);}
.cursor-ring.labelled .cursor-ring-label{opacity:1;}
@media (max-width:880px){ .cursor-dot,.cursor-ring{display:none;} }

/* ============================================================
   LOADER
   ============================================================ */
#loader{position:fixed;inset:0;z-index:100;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  transition:opacity .6s var(--ease),visibility .6s;}
#loader.done{opacity:0;visibility:hidden;}
#loader .lmark{width:min(120px,30vw);opacity:0;transform:translateY(8px) scale(.92);
  animation:lwm .7s var(--ease) forwards;}
#loader .lmark img{width:100%;filter:drop-shadow(0 8px 34px rgba(255,122,26,.5));
  animation:lmarkpulse 1.6s var(--ease) infinite;}
@keyframes lwm{to{opacity:1;transform:none;}}
@keyframes lmarkpulse{0%,100%{filter:drop-shadow(0 8px 30px rgba(255,122,26,.35));}50%{filter:drop-shadow(0 10px 42px rgba(255,122,26,.75));}}
#loader .track{width:min(240px,52vw);height:2px;background:rgba(245,245,247,.10);border-radius:2px;overflow:hidden;}
#loader .bar{height:100%;width:0;background:var(--grad);box-shadow:0 0 12px rgba(255,122,26,.7);border-radius:2px;
  animation:load 1.25s var(--ease) forwards;}
@keyframes load{0%{width:0;}60%{width:72%;}100%{width:100%;}}

/* ============================================================
   HEADER — glass bar with travelling glow
   ============================================================ */
.header{position:fixed;top:14px;left:0;right:0;z-index:70;display:flex;justify-content:center;
  padding-inline:14px;transition:top .3s var(--ease);}
.glassbar{position:relative;width:min(var(--maxw),100%);display:flex;align-items:center;
  justify-content:space-between;gap:24px;padding:12px 14px 12px 22px;border-radius:18px;
  background:rgba(16,16,25,.6);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  border:1px solid var(--hair);
  box-shadow:0 10px 40px -12px rgba(0,0,0,.6);overflow:hidden;}
/* travelling glow along the rounded border */
.glassbar::before{content:"";position:absolute;inset:0;border-radius:18px;padding:1.5px;
  background:conic-gradient(from var(--ang,0deg), transparent 0%, transparent 62%, var(--amber) 80%, var(--coral) 90%, transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.9;pointer-events:none;}
.brandmark{position:relative;display:inline-block;line-height:0;}
.brandmark .wm{height:22px;width:auto;transition:opacity .25s var(--ease), filter .25s var(--ease);}
.brandmark:hover .wm{opacity:.78;filter:drop-shadow(0 0 10px rgba(255,122,26,.5));}

.nav{display:flex;align-items:center;gap:28px;}
.nav a{font-size:14.5px;color:var(--muted);font-weight:500;transition:color .2s;position:relative;}
.nav a:hover{color:var(--text);}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1.5px;background:var(--grad);
  transition:right .25s var(--ease);border-radius:2px;}
.nav a:hover::after{right:0;}
.header .btn{padding:11px 20px;font-size:14px;}
.burger{display:none;width:42px;height:42px;border-radius:12px;background:rgba(245,245,247,.05);
  border:1px solid var(--hair);align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;}
.burger span{width:18px;height:2px;background:var(--text);border-radius:2px;transition:.25s;}
@media (max-width:980px){
  .nav{display:none;}
  .header .btn.headcta{display:none;}
  .burger{display:flex;}
}

/* mobile menu sheet */
.msheet{position:fixed;inset:0;z-index:69;background:rgba(11,11,18,.96);backdrop-filter:blur(20px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s;}
.msheet.open{opacity:1;visibility:visible;}
.msheet a{font-family:var(--disp);font-size:28px;color:var(--text);padding:12px;}
.msheet .btn{margin-top:20px;}

/* ============================================================
   HERO
   ============================================================ */
.hero{min-height:100vh;display:flex;align-items:center;padding-top:120px;padding-bottom:80px;overflow:hidden;}
.hero-glow{position:absolute;width:900px;height:900px;border-radius:50%;left:50%;top:42%;
  transform:translate(-50%,-50%);pointer-events:none;z-index:0;
  background:radial-gradient(circle, rgba(255,122,26,.14), rgba(255,90,77,.05) 38%, transparent 66%);
  filter:blur(20px);will-change:transform;}
/* people as vertical light-strands behind headline */
.hero-people{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;
  z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 18%, #000 100%);
          mask-image:linear-gradient(to bottom, transparent 0%, #000 18%, #000 100%);}
.hero-inner{position:relative;z-index:2;max-width:980px;}
.hero h1{margin:22px 0 0;}
.hero .reveal-word{display:inline-block;overflow:hidden;vertical-align:top;}
.hero .reveal-word > span{display:inline-block;transform:translateY(110%);}
/* word reveal only fires once the preloader has lifted (body.loaded) */
@media (prefers-reduced-motion:no-preference){
  body.loaded .hero .reveal-word > span{animation:wordup .8s var(--ease) forwards;}
}
@keyframes wordup{to{transform:none;}}
.hero .yspark{position:relative;}
.hero .yspark::after{content:"";position:absolute;right:.06em;top:.12em;width:.12em;height:.12em;border-radius:50%;
  background:var(--grad);box-shadow:0 0 16px 4px rgba(255,122,26,.8);animation:spark 2.4s ease-in-out infinite;}
.hero p.lede{margin:26px 0 0;max-width:620px;}
.hero .cta-row{display:flex;align-items:center;gap:20px;margin-top:38px;flex-wrap:wrap;}

/* scroll cue */
.scrollcue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--faint);font-size:12px;letter-spacing:.2em;text-transform:uppercase;}
.scrollcue .mouse{width:22px;height:34px;border:1.5px solid var(--hair);border-radius:12px;position:relative;}
.scrollcue .mouse::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:2px;
  background:var(--orange);transform:translateX(-50%);animation:wheel 1.6s ease-in-out infinite;}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0);}40%{opacity:1;}100%{opacity:0;transform:translate(-50%,10px);}}

/* ============================================================
   PROOF BAR
   ============================================================ */
.proof{padding:90px 0;}
.proof-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px;flex-wrap:wrap;}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.stat{position:relative;padding:34px 28px 30px;border-radius:var(--r);background:var(--surface);
  border:1px solid var(--hair);overflow:hidden;transition:transform .35s var(--ease),border-color .35s;}
.stat::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .35s;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,0%), rgba(255,122,26,.18), transparent 70%);}
.stat:hover{transform:translateY(-6px);border-color:rgba(255,122,26,.35);}
.stat:hover::before{opacity:1;}
.stat .num{font-family:var(--disp);font-weight:700;font-size:clamp(42px,4.6vw,60px);line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.stat .lab{margin-top:14px;color:var(--muted);font-size:14.5px;line-height:1.5;}
@media (max-width:860px){ .proof-grid{grid-template-columns:repeat(2,1fr);} }

/* ============================================================
   WHY — pinned section, fixed dark bg, scroll-triggered text swap
   ============================================================ */
.why{position:relative;height:540vh;background:#0D0A08;}
.why-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;}
/* fixed, non-moving dark backdrop — slightly warmer black than hero, glow moved low-left */
.why-bg{position:absolute;inset:0;z-index:0;background:#0D0A08;}
.why-bg::before{content:"";position:absolute;inset:0;
  background:radial-gradient(58% 54% at 16% 82%, rgba(255,122,26,.13), transparent 68%);}
/* subtle film grain over the section bg */
.why-bg::after{content:"";position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
/* one-time wipe overlay: covers, then sweeps up to reveal the section */
.why-wipe{position:absolute;inset:0;z-index:5;pointer-events:none;background:#0D0A08;
  clip-path:inset(0 0 0 0);}
.why-wipe::before{content:"";position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
@media (prefers-reduced-motion: no-preference){
  .why-wipe{transition:clip-path .55s cubic-bezier(.7,0,.2,1);}
}
.why.wipe-done .why-wipe{clip-path:inset(0 0 100% 0);}
.why-stage{position:relative;z-index:2;width:100%;}

/* left rail with progress line */
.why-rail{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);
  height:min(320px,52vh);width:2px;}
.why-rail-line{position:absolute;inset:0;background:rgba(245,245,247,.10);border-radius:2px;overflow:hidden;}
.why-rail-line::after{content:"";position:absolute;left:0;right:0;top:0;height:var(--wp,0%);
  background:var(--grad);box-shadow:0 0 12px rgba(255,122,26,.6);border-radius:2px;transition:height .2s linear;}
@media (max-width:880px){ .why-rail{display:none;} }

/* slides stacked; only active shows. clip-reveal + lift */
.why-slides{position:relative;max-width:880px;margin:0 auto;min-height:46vh;
  padding-left:clamp(0px,4vw,40px);}
.wslide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
  opacity:0;visibility:hidden;pointer-events:none;}
.wslide.is-active{opacity:1;visibility:visible;pointer-events:auto;}

/* big headline — number (gradient) or statement word (off-white) */
.wbig{font-family:var(--disp);font-weight:700;line-height:1.08;margin-bottom:18px;padding-bottom:.06em;
  font-size:clamp(48px,8.5vw,108px);letter-spacing:-.01em;}
.wbig.wfig{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.wbig.whead{color:var(--text);}
.wtext{font-family:var(--body);font-weight:400;font-size:clamp(19px,2.3vw,30px);line-height:1.42;color:var(--text);
  max-width:min(680px,56ch);text-wrap:pretty;}
/* key phrase — orange text on a dark ember chip */
.hl{position:relative;color:var(--orange);font-weight:600;white-space:normal;
  background:rgba(178,62,12,.26);
  box-shadow:inset 0 0 0 1px rgba(255,122,26,.20);
  padding:.1em .34em;border-radius:8px;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;}
/* on very narrow phones, let a long pill wrap rather than overflow the screen */
@media (max-width:520px){ .hl{white-space:normal;} }

/* clip-reveal animation driven by .is-active (set by JS) */
@media (prefers-reduced-motion: no-preference){
  .wslide .wbig,.wslide .wtext{
    clip-path:inset(-.4em -.6em 100% -.1em);transform:translateY(26px);opacity:0;
    transition:clip-path .6s var(--ease),transform .6s var(--ease),opacity .5s var(--ease);}
  .wslide.is-active .wbig{clip-path:inset(-.4em -.6em -.4em -.1em);transform:none;opacity:1;transition-delay:.04s;}
  .wslide.is-active .wtext{clip-path:inset(-.4em -.6em -.4em -.1em);transform:none;opacity:1;transition-delay:.14s;}
  /* leaving slide slides up & out */
  .wslide.is-leave .wbig,.wslide.is-leave .wtext{
    transform:translateY(-22px);opacity:0;clip-path:inset(-.4em -.6em 100% -.1em);}
}

.why-dots{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:12px;}
.wdot{width:8px;height:8px;border-radius:50%;background:rgba(245,245,247,.18);transition:.3s var(--ease);}
.wdot.is-active{background:var(--grad);box-shadow:0 0 10px 2px rgba(255,122,26,.6);transform:scale(1.3);}
@media (max-width:880px){ .why-dots{right:14px;} }

/* ============================================================
   WHAT WE DO — asymmetric
   ============================================================ */
.what{padding:110px 0;}
.what-head{max-width:none;margin-bottom:54px;}
.what-head h2{font-size:clamp(27px,3.9vw,48px);text-wrap:nowrap;}
.what-head h2 .nb{white-space:nowrap;}
@media (max-width:780px){
  .what-head h2{text-wrap:pretty;}
  .what-head h2 .nb{white-space:normal;}
}

/* flip-card grid 2×3 */
.flipgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:980px){ .flipgrid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .flipgrid{grid-template-columns:1fr;} }

.flipcard{position:relative;min-height:300px;perspective:1400px;}
.flip-inner{position:relative;width:100%;height:100%;min-height:inherit;
  transition:transform .4s ease-in-out;transform-style:preserve-3d;will-change:transform;}
.flipcard:hover .flip-inner,.flipcard:focus-within .flip-inner{transform:rotateY(180deg);}
.flip-front,.flip-back{position:absolute;inset:0;border-radius:20px;padding:32px;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
  display:flex;flex-direction:column;}
/* FRONT */
.flip-front{background:#1a1612;border:1px solid #2a2420;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease);}
.flipcard:hover .flip-front{border-color:var(--orange);
  box-shadow:0 0 0 1px rgba(255,122,26,.4),0 14px 40px -14px rgba(255,122,26,.45);}
.svc-ico{width:34px;height:34px;margin-bottom:22px;fill:none;stroke:var(--orange);
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.flip-front h3{font-family:var(--disp);font-weight:600;font-size:22px;letter-spacing:.01em;margin-bottom:12px;color:var(--text);}
.svc-lead{font-family:var(--body);font-weight:600;font-size:16px;color:var(--text);margin-bottom:10px;}
.svc-desc{font-family:var(--body);font-weight:400;font-size:14.5px;line-height:1.5;color:var(--muted);margin-top:auto;}
/* BACK */
.flip-back{background:var(--orange);transform:rotateY(180deg);color:#1a0c03;justify-content:center;
  background-image:linear-gradient(150deg,#FF8A2A,#FF7A1A 55%,#EA6A12);}
.flip-back h3{font-family:var(--disp);font-weight:700;font-size:21px;margin-bottom:14px;color:#1a0c03;}
.flip-back p{font-family:var(--body);font-weight:500;font-size:15px;line-height:1.5;color:#26120a;}
.flip-cta{margin-top:20px;font-family:var(--disp);font-weight:600;font-size:14px;letter-spacing:.02em;
  color:#1a0c03;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  border-bottom:1.5px solid rgba(26,12,3,.4);padding-bottom:3px;transition:gap .25s var(--ease);}
.flip-cta:hover{gap:12px;}
.flip-cta .arrow{transition:transform .25s var(--ease);}
@media (prefers-reduced-motion: reduce){
  .flip-inner{transition:none;}
}

/* ============================================================
   AUDIENCES
   ============================================================ */
.aud{padding:30px 0 110px;}
.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px;}
.acard{position:relative;border-radius:20px;border:1px solid var(--hair);background:var(--surface-2);
  padding:34px 30px 30px;overflow:hidden;transition:transform .35s var(--ease),border-color .35s;}
.acard:hover{transform:translateY(-5px);border-color:rgba(255,122,26,.35);}
.acard .idx{font-family:var(--disp);font-weight:700;font-size:13px;color:var(--faint);letter-spacing:.18em;}
.acard h3{font-size:23px;margin:18px 0 10px;}
.acard p{color:var(--muted);font-size:15px;}
.acard .more{margin-top:18px;}
.acard .edge{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad);transform:scaleY(0);transform-origin:top;
  transition:transform .4s var(--ease);}
.acard:hover .edge{transform:scaleY(1);}
@media (max-width:860px){ .aud-grid{grid-template-columns:1fr;} }

/* ============================================================
   PLATFORMS WE MANAGE
   ============================================================ */
.plat{padding:30px 0 110px;}
.plat-head{max-width:760px;}
.plat-head h2{margin-top:18px;}
.plat-head .lede{margin-top:18px;}
.plat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;}
.plat-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;
  border-radius:20px;border:1px solid var(--hair);background:var(--surface-2);
  padding:46px 32px 38px;overflow:hidden;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;}
.plat-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--pc,var(--grad));
  transform:scaleX(0);transform-origin:center;transition:transform .45s var(--ease);}
.plat-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--pc,#FF7A1A) 42%, var(--hair));
  box-shadow:0 24px 64px -30px color-mix(in srgb,var(--pc,#FF7A1A) 55%, transparent);}
.plat-card:hover::before{transform:scaleX(1);}
.plat-ico{height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;
  transition:transform .4s var(--ease);}
.plat-card:hover .plat-ico{transform:scale(1.08);}
.plat-ico svg{width:46px;height:46px;display:block;filter:drop-shadow(0 8px 22px color-mix(in srgb,var(--pc,#FF7A1A) 45%, transparent));}
.plat-card h3{font-family:var(--disp);font-weight:600;font-size:23px;letter-spacing:.01em;color:var(--text);margin-bottom:12px;}
.plat-card p{color:var(--muted);font-size:15px;line-height:1.55;max-width:30ch;}
@media (max-width:860px){ .plat-grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto;} }

/* ============================================================
   PROCESS — vertical numbered timeline
   ============================================================ */
.proc{padding:110px 0;background:linear-gradient(180deg,transparent, rgba(16,16,25,.5), transparent);}
.proc-head{max-width:680px;margin-bottom:60px;}

/* ---- alternating timeline with flying spark ---- */
.ptl{position:relative;max-width:1000px;margin:0 auto;}
/* central vertical line */
.ptl-line{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);
  background:rgba(245,245,247,.10);border-radius:2px;z-index:4;}
.ptl-progress{position:absolute;left:0;right:0;top:0;height:var(--ptlp,0%);
  background:linear-gradient(var(--amber),var(--orange));border-radius:2px;
  box-shadow:0 0 12px rgba(255,122,26,.55);}
.ptl-spark{position:absolute;left:50%;top:0;width:56px;height:56px;max-width:none;
  transform:translate(-50%,-50%) translateY(var(--ptly,0px));
  filter:drop-shadow(0 0 18px rgba(255,122,26,.95));z-index:5;
  opacity:var(--ptlspark,0);}

.ptl-row{position:relative;display:grid;min-height:200px;align-items:center;z-index:2;
  grid-template-columns:1fr 1fr;}
.ptl-row + .ptl-row{margin-top:30px;}
.ptl-row.left .ptl-card{grid-column:1;margin-right:clamp(40px,6vw,80px);text-align:right;align-items:flex-end;}
.ptl-row.right .ptl-card{grid-column:2;margin-left:clamp(40px,6vw,80px);}
/* per-step warm hue (Electric Dusk spectrum only) */
.ptl-row{--step:#FF7A1A;}
.ptl-row:nth-of-type(2){--step:#FFB23E;}
.ptl-row:nth-of-type(3){--step:#FF9A1F;}
.ptl-row:nth-of-type(4){--step:#FF7A1A;}
.ptl-row:nth-of-type(5){--step:#F5641A;}
.ptl-row:nth-of-type(6){--step:#E8501F;}
/* dot on the line */
.ptl-dot{position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;
  transform:translate(-50%,-50%);background:var(--surface-3);border:2px solid rgba(245,245,247,.22);
  z-index:3;transition:background .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);}
/* emitted sonar ring — starts faint+large, contracts to the dot and vanishes */
.ptl-dot::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;
  transform:translate(-50%,-50%) scale(1);border:1.5px solid var(--step);opacity:0;pointer-events:none;
  animation:ptlping 2.8s ease-out infinite;}
@keyframes ptlping{
  0%{transform:translate(-50%,-50%) scale(0.7);opacity:0;}
  20%{opacity:.55;}
  100%{transform:translate(-50%,-50%) scale(2);opacity:0;}
}

.ptl-card{position:relative;display:flex;flex-direction:column;padding:30px 32px;border-radius:18px;
  background:var(--surface);border:1px solid var(--hair);overflow:hidden;
  opacity:.4;transition:opacity .4s ease-out,border-color .4s ease-out,box-shadow .4s ease-out;}
.ptl-card .gn{font-family:var(--disp);font-weight:700;font-size:clamp(54px,7vw,92px);line-height:.8;margin-bottom:14px;
  color:transparent;-webkit-text-stroke:1.5px rgba(245,245,247,.16);}
.ptl-card .sc h3{font-family:var(--disp);font-weight:600;font-size:clamp(21px,2.2vw,28px);margin-bottom:10px;}
.ptl-card .sc p{color:var(--muted);font-size:15.5px;line-height:1.55;max-width:44ch;}

/* activated state — per-step warm hue */
.ptl-row.on .ptl-card{opacity:1;border-color:color-mix(in srgb,var(--step) 70%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--step) 35%,transparent),0 18px 50px -20px color-mix(in srgb,var(--step) 55%,transparent);}
.ptl-row.on .ptl-card .gn{-webkit-text-stroke:1.5px transparent;color:var(--step);background:none;-webkit-background-clip:initial;background-clip:initial;}
.ptl-row.on .ptl-dot{background:var(--step);border-color:transparent;
  box-shadow:0 0 16px 4px color-mix(in srgb,var(--step) 70%,transparent);transform:translate(-50%,-50%) scale(1.2);}
/* active dot emits a stronger, faster ping */
.ptl-row.on .ptl-dot::after{animation-duration:2s;border-width:2px;
  border-color:color-mix(in srgb,var(--step) 85%,white);}

@media (max-width:760px){
  .ptl{max-width:520px;}
  .ptl-line{left:22px;}
  .ptl-spark{left:22px;}
  .ptl-row{grid-template-columns:1fr;min-height:0;}
  .ptl-row + .ptl-row{margin-top:22px;}
  .ptl-row.left .ptl-card,.ptl-row.right .ptl-card{grid-column:1;margin:0 0 0 56px;text-align:left;align-items:flex-start;}
  .ptl-dot{left:22px;}
}
@media (prefers-reduced-motion: reduce){
  .ptl-card{opacity:1;}
  .ptl-row .ptl-card{border-color:color-mix(in srgb,var(--step) 50%,transparent);}
  .ptl-spark,.ptl-progress{display:none;}
  .ptl-dot{background:var(--step);border-color:transparent;}
  .ptl-dot::after{animation:none;display:none;}
}

/* ============================================================
   CLIENTS marquee
   ============================================================ */
.clients{padding:70px 0;border-top:1px solid var(--hair-2);border-bottom:1px solid var(--hair-2);}
.clients .lab{text-align:center;color:var(--faint);font-size:13px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:34px;}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.marquee .track{display:flex;align-items:center;gap:72px;width:max-content;animation:marq 60s linear infinite;}
.marquee:hover .track{animation-play-state:paused;}
@keyframes marq{to{transform:translateX(-50%);}}
.client-logo{display:flex;align-items:center;white-space:nowrap;opacity:.62;transition:opacity .3s;}
.client-logo img{display:block;width:auto;max-width:none;}
.marquee:hover .client-logo{opacity:.42;}
.client-logo:hover{opacity:1;}

/* ============================================================
   CTA + FORM
   ============================================================ */
.cta{padding:120px 0;}
.cta-band{position:relative;border-radius:32px;overflow:hidden;padding:clamp(40px,6vw,80px);
  background:var(--grad);color:#190c04;isolation:isolate;}
.cta-band::after{content:"";position:absolute;inset:0;z-index:0;mix-blend-mode:overlay;opacity:.5;
  background:radial-gradient(120% 120% at 80% -10%, rgba(255,255,255,.5), transparent 50%);}
.cta-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:center;}
.cta-copy h2{font-size:clamp(32px,4.4vw,52px);color:#1a0c03;}
.cta-copy p{margin-top:16px;font-size:17px;color:rgba(26,12,3,.78);max-width:42ch;font-weight:500;}
.cta-copy .mascot-slot{margin-top:26px;display:flex;align-items:center;gap:12px;font-size:13px;color:rgba(26,12,3,.6);}
.cta-copy .mascot-slot .dot{width:40px;height:40px;border-radius:12px;border:1.5px dashed rgba(26,12,3,.4);
  display:flex;align-items:center;justify-content:center;font-size:18px;}
.form{background:rgba(13,9,12,.92);border-radius:22px;padding:clamp(24px,3vw,36px);color:var(--text);
  box-shadow:0 30px 70px -20px rgba(0,0,0,.5);}
.form .fg{margin-bottom:16px;}
.form label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:7px;letter-spacing:.02em;}
.form input,.form textarea{width:100%;background:var(--surface-2);border:1px solid var(--hair);border-radius:12px;
  padding:13px 15px;color:var(--text);font-family:var(--body);font-size:15px;transition:border-color .25s,box-shadow .25s;cursor:none;}
@media(max-width:880px){.form input,.form textarea{cursor:auto;}}
.form input:focus,.form textarea:focus{outline:none;border-color:rgba(255,122,26,.6);
  box-shadow:0 0 0 3px rgba(255,122,26,.16);}
.form textarea{resize:vertical;min-height:96px;}
.form .btn{width:100%;justify-content:center;margin-top:6px;}
.form .btn:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.7);}
@media(max-width:880px){.form .btn:disabled{cursor:not-allowed;}}
/* GDPR consent checkbox */
.form .consent{display:flex;align-items:flex-start;gap:11px;margin:2px 0 16px;cursor:pointer;}
.form .consent input{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:20px;height:20px;margin-top:1px;
  border:1.5px solid rgba(255,122,26,.5);border-radius:6px;background:var(--surface-2);
  display:grid;place-content:center;cursor:pointer;transition:border-color .2s,background .2s;}
@media(max-width:880px){.form .consent,.form .consent input{cursor:pointer;}}
.form .consent input::after{content:"";width:10px;height:10px;border-radius:2px;transform:scale(0);
  background:var(--grad);transition:transform .18s var(--ease);}
.form .consent input:checked{border-color:var(--orange);}
.form .consent input:checked::after{transform:scale(1);}
.form .consent input:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,122,26,.22);}
.form .consent .ctxt{font-size:12.5px;line-height:1.5;color:var(--muted);}
.form .consent .ctxt a{color:var(--orange);font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:color .2s;}
.form .consent .ctxt a:hover{color:var(--amber);}
.form .consent-err{display:none;color:var(--coral);font-size:12.5px;margin:-8px 0 14px;}
.form .consent-err.show{display:block;}
/* honeypot — skryté pole proti spamu (nesmí ho vidět ani uživatel, ani přístupné čtečce) */
.form .hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;}
/* chybová hláška odeslání */
.form .form-err{display:none;color:var(--coral);font-size:13px;text-align:center;margin-top:12px;}
.form .form-err.show{display:block;}
.form .note{text-align:center;color:var(--faint);font-size:13px;margin-top:14px;}
/* phone call-to-action row under the form */
.callrow{text-align:center;color:var(--muted);font-size:14px;margin-top:12px;}
.callrow a{color:var(--text);font-weight:600;white-space:nowrap;transition:color .2s;}
.callrow a:hover{color:var(--orange);}
.form .ok{display:none;text-align:center;padding:30px 10px;}
.form.sent .fields{display:none;}
.form.sent .ok{display:block;}
.form .ok .big{font-family:var(--disp);font-weight:600;font-size:24px;margin-bottom:8px;}
@media (max-width:860px){ .cta-grid{grid-template-columns:1fr;} }

/* ============================================================
   OVERSIZED BLURRED WORDMARK (above footer)
   ============================================================ */
.bigmark{position:relative;overflow:hidden;background:#0D0A08;
  padding:0;margin:0;pointer-events:none;user-select:none;}
.bigmark-stage{position:relative;width:100%;margin:0 auto;background:#0D0A08;}
.bm{display:block;width:100%;height:auto;
  margin-top:clamp(-90px,-7vw,-150px);}
/* legal / info row sits over the lower glow of the logo */
.bm-info{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(4px,1vw,12px);
  width:100%;pointer-events:auto;z-index:2;}
.bm-info .fbottom{margin:0;}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{padding:24px 0 0;position:relative;z-index:2;background:#0D0A08;}
/* rozcestník — three label+links rows (compact) */
.fmap{display:flex;flex-direction:column;gap:0;padding-block:8px 30px;}
.frow{display:flex;align-items:baseline;gap:clamp(16px,3vw,40px);padding:13px 0;border-top:1px solid var(--hair-2);flex-wrap:wrap;}
.frow:last-child{border-bottom:1px solid var(--hair-2);}
.flabel{flex:0 0 auto;min-width:92px;font-family:var(--disp);font-weight:600;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--faint);}
.flinks{display:flex;gap:clamp(14px,2vw,26px);flex-wrap:wrap;}
.flinks a{position:relative;color:var(--text);font-family:var(--body);font-weight:500;
  font-size:14.5px;transition:color .2s;}
.flinks a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1.5px;background:var(--grad);
  transition:right .25s var(--ease);border-radius:2px;}
.flinks a:hover{color:var(--amber);}
.flinks a.tel:hover{color:var(--orange);}
.flinks a:hover::after{right:0;}
.fbottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;
  color:var(--faint);font-size:12.5px;line-height:1.6;}
.fbottom-links{display:flex;gap:24px;}
.fbottom-links a,.fbottom-links .cookie-settings{color:var(--faint);transition:color .2s;}
.fbottom-links a:hover,.fbottom-links .cookie-settings:hover{color:var(--text);}
.fbottom-links .cookie-settings{background:none;border:0;padding:0;margin:0;font:inherit;cursor:pointer;line-height:inherit;}

/* ---------- COOKIE BANNER (GDPR souhlas) ---------- */
.cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:200;padding:16px;pointer-events:none;
  transform:translateY(115%);transition:transform .42s var(--ease);}
.cookiebar.show{transform:none;pointer-events:auto;}
.cookiebar-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  gap:22px;flex-wrap:wrap;padding:18px 22px;border-radius:16px;
  background:rgba(28,15,10,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--hair);box-shadow:0 26px 64px -26px rgba(0,0,0,.85);}
.cookiebar-text{margin:0;max-width:640px;font-size:14px;line-height:1.55;color:var(--muted);}
.cookiebar-text a{color:var(--orange);font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:color .2s;}
.cookiebar-text a:hover{color:var(--amber);}
.cookiebar-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.cookiebar .cookiebar-accept{padding:11px 26px;font-size:14px;margin-top:0;}
.cookiebar-reject{background:transparent;border:1px solid var(--hair-2);color:var(--muted);border-radius:999px;
  padding:10px 22px;font-family:var(--disp);font-weight:600;font-size:14px;cursor:pointer;
  transition:border-color .2s,color .2s;}
.cookiebar-reject:hover{border-color:var(--orange);color:var(--text);}
@media (max-width:620px){
  .cookiebar-inner{flex-direction:column;align-items:stretch;gap:14px;}
  .cookiebar-actions{gap:10px;}
  .cookiebar .cookiebar-accept,.cookiebar-reject{flex:1;justify-content:center;text-align:center;}
}
@media (prefers-reduced-motion:reduce){ .cookiebar{transition:none;} }
@media (max-width:640px){ .flabel{min-width:0;flex-basis:100%;margin-bottom:4px;} }
.footer .mascot-foot{width:34px;height:34px;border-radius:10px;border:1.5px dashed var(--hair);
  display:inline-flex;align-items:center;justify-content:center;font-size:15px;}

/* reveal on scroll util */
.r-up{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.r-up.in{opacity:1;transform:none;}

/* ============================================================
   LP RESTAURACE — packages, case studies, testimonial
   ============================================================ */
/* section intro shared */
.sec-intro{max-width:760px;margin-bottom:54px;}
.sec-intro h2{margin-top:18px;}
.sec-intro .lede{margin-top:18px;}

/* WHY-matters bullets under the stat grid */
.why-points{margin-top:34px;display:grid;grid-template-columns:1fr;gap:18px;max-width:720px;}
.why-points .wp{display:flex;gap:14px;color:var(--muted);font-size:clamp(16px,1.5vw,19px);line-height:1.62;}
.why-points .wp svg{flex:0 0 auto;width:23px;height:23px;stroke:var(--orange);fill:none;stroke-width:1.6;margin-top:3px;}
.why-points .wp b{color:var(--text);font-weight:600;}
@media (max-width:760px){ .why-points{grid-template-columns:1fr;} }

/* PACKAGES */
.pkgs{padding:30px 0 110px;}
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;align-items:stretch;}
.pkg{position:relative;display:flex;flex-direction:column;border-radius:22px;padding:36px 32px 34px;
  background:var(--surface-2);border:1px solid var(--hair);overflow:hidden;
  transition:transform .35s var(--ease),border-color .35s;}
.pkg:hover{transform:translateY(-6px);border-color:rgba(255,122,26,.35);}
.pkg.feat{background:linear-gradient(170deg,rgba(255,122,26,.10),var(--surface-2) 46%);
  border-color:rgba(255,122,26,.45);box-shadow:0 24px 70px -30px rgba(255,122,26,.5);}
.pkg .badge{position:absolute;top:18px;right:18px;font-family:var(--disp);font-weight:600;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:#1a0c03;background:var(--grad);padding:6px 12px;border-radius:999px;}
.pkg .pkg-name{font-family:var(--disp);font-weight:700;font-size:26px;letter-spacing:.01em;}
.pkg .pkg-name .o{display:inline;}
.pkg .pkg-for{color:var(--muted);font-size:14.5px;line-height:1.5;margin:12px 0 24px;min-height:44px;}
.pkg .pkg-list{list-style:none;display:flex;flex-direction:column;gap:13px;margin-bottom:30px;}
.pkg .pkg-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--text);}
.pkg .pkg-list li::before{content:"";flex:0 0 auto;width:18px;height:18px;border-radius:50%;margin-top:2px;
  background:var(--grad-soft);position:relative;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;
  background:var(--orange);}
.pkg .pkg-cta{margin-top:auto;}
.pkg .pkg-cta .btn{width:100%;justify-content:center;}
.pkgs .pkg-note{text-align:center;color:var(--faint);font-size:14px;margin-top:30px;}
@media (max-width:920px){ .pkg-grid{grid-template-columns:1fr;max-width:480px;margin-inline:auto;} }

/* CASE STUDIES */
.cases{padding:90px 0;}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px;}
.case{position:relative;border-radius:22px;padding:36px 34px 32px;background:var(--surface);
  border:1px solid var(--hair);overflow:hidden;transition:transform .35s var(--ease),border-color .35s;}
.case::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--grad);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);}
.case:hover{transform:translateY(-5px);border-color:rgba(255,122,26,.3);}
.case:hover::before{transform:scaleX(1);}
.case .case-name{font-family:var(--disp);font-weight:700;font-size:25px;}
.case .case-tag{color:var(--amber);font-size:14.5px;font-weight:600;margin:8px 0 22px;line-height:1.4;}
.case .case-stats{display:flex;gap:28px;flex-wrap:wrap;padding:20px 0;border-block:1px solid var(--hair-2);margin-bottom:20px;}
.case .cs{display:flex;flex-direction:column;gap:4px;}
.case .cs .v{font-family:var(--disp);font-weight:700;font-size:clamp(24px,2.6vw,32px);line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.case .cs .k{color:var(--faint);font-size:12.5px;letter-spacing:.02em;}
.case .case-desc{color:var(--muted);font-size:15px;line-height:1.6;text-wrap:pretty;}
.case .case-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;}
.case .case-links a{display:inline-flex;align-items:center;gap:7px;font-family:var(--disp);font-weight:600;
  font-size:13px;letter-spacing:.02em;color:var(--muted);transition:color .2s;}
.case .case-links a:hover{color:var(--amber);}
.case .case-links a svg{width:15px;height:15px;fill:currentColor;}
@media (max-width:860px){ .case-grid{grid-template-columns:1fr;} }

/* TESTIMONIAL */
.testi{padding:30px 0 110px;}
.testi-band{position:relative;border-radius:28px;overflow:hidden;padding:clamp(40px,6vw,72px);
  background:var(--surface-2);border:1px solid var(--hair);}
.testi-band::before{content:"";position:absolute;inset:0;
  background:radial-gradient(60% 80% at 88% 10%, rgba(255,122,26,.14), transparent 60%);}
.testi-quote{position:relative;font-family:var(--disp);font-weight:600;
  font-size:clamp(24px,3.2vw,40px);line-height:1.22;letter-spacing:.004em;color:var(--text);
  max-width:22ch;text-wrap:balance;}
.testi-mark{font-family:var(--disp);font-weight:700;font-size:90px;line-height:0;color:transparent;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;
  display:block;height:42px;}
.testi-author{position:relative;margin-top:30px;display:flex;align-items:center;gap:14px;
  color:var(--muted);font-size:15.5px;}
.testi-author .av{width:48px;height:48px;border-radius:50%;flex:0 0 auto;
  background:var(--grad);display:flex;align-items:center;justify-content:center;
  font-family:var(--disp);font-weight:700;color:#1a0c03;font-size:18px;}
.testi-author b{color:var(--text);font-weight:600;}
.testi-note{color:var(--faint);font-size:13px;margin-top:26px;max-width:60ch;line-height:1.5;}

/* fine print footnote */
.fineprint{padding:0 0 70px;}
.fineprint p{color:var(--faint);font-size:12.5px;line-height:1.6;max-width:80ch;}

/* CASE STUDY cards + modal (LP restaurace only — namespaced .rcase) */
/* stacked editorial rows — alternating image / text */
.rcase-grid{display:flex;flex-direction:column;gap:clamp(56px,8vw,120px);margin-top:64px;}
.rcase{position:relative;display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(24px,3.4vw,56px);
  align-items:center;cursor:pointer;background:none;border:none;box-shadow:none;border-radius:0;text-align:left;}
.rcase:nth-child(even){grid-template-columns:.94fr 1.06fr;}
.rcase:nth-child(even) .rcase-media{order:2;}
.rcase:nth-child(even) .rcase-text{order:1;}
.rcase-media{position:relative;z-index:2;width:100%;aspect-ratio:5/4;overflow:hidden;border-radius:18px;
  background:var(--surface-3);border:1px solid rgba(245,245,247,.10);
  box-shadow:0 30px 70px -34px rgba(0,0,0,.85);transition:box-shadow .4s var(--ease);}
.rcase-media image-slot{display:block;width:100%;height:100%;
  transition:transform .55s var(--ease);transform-origin:center;}
.rcase-text{position:relative;z-index:1;min-width:0;overflow:hidden;
  background:var(--surface-2);border:1px solid var(--hair);border-radius:22px;
  padding:clamp(30px,3.2vw,56px);
  transition:border-color .4s var(--ease), box-shadow .4s var(--ease);}
.rcase-text::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;opacity:0;
  transition:opacity .35s var(--ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(255,122,26,.20), transparent 62%);}
.rcase:hover .rcase-text{border-color:rgba(255,122,26,.42);box-shadow:0 30px 80px -42px rgba(255,122,26,.45);}
.rcase:hover .rcase-text::before{opacity:1;}
.rcase-idx{position:absolute;top:clamp(-78px,-6.5vw,-34px);left:46%;transform:translateX(-50%);z-index:0;font-family:var(--disp);
  font-weight:700;font-size:clamp(200px,24vw,380px);line-height:.74;letter-spacing:-.01em;
  color:transparent;-webkit-text-stroke:2px rgba(255,178,62,.30);pointer-events:none;white-space:nowrap;}
.rcase:nth-child(even) .rcase-idx{left:auto;right:46%;transform:translateX(50%);}
.rcase-text-inner{position:relative;z-index:1;}
.rcase-name{font-family:var(--disp);font-weight:600;font-size:clamp(26px,2.6vw,38px);line-height:1.06;
  letter-spacing:.01em;color:var(--text);transition:color .3s var(--ease);}
.rcase-key{font-family:var(--body);font-weight:600;font-size:16px;color:var(--orange);margin-top:12px;}
.rcase-blurb{font-family:var(--body);font-weight:400;font-size:15.5px;line-height:1.62;
  color:var(--muted);margin-top:16px;max-width:none;text-wrap:pretty;}
.rcase-more{display:inline-flex;align-items:center;gap:9px;margin-top:26px;padding:0 0 6px;
  background:none;border:none;cursor:pointer;font-family:var(--disp);font-weight:600;font-size:13.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--text);
  border-bottom:2px solid var(--orange);transition:color .3s var(--ease), gap .3s var(--ease);}
.rcase-more .arrow{color:var(--orange);transition:transform .3s var(--ease);}
/* cursor-following circular "view" badge (over image) */
.rcase-view{position:absolute;left:50%;top:50%;z-index:5;width:92px;height:92px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-align:center;gap:4px;
  font-family:var(--disp);font-weight:600;font-size:11.5px;line-height:1.15;letter-spacing:.03em;color:var(--bg);
  background:linear-gradient(135deg,var(--amber),var(--orange));
  transform:translate(-50%,-50%) scale(.35);opacity:0;pointer-events:none;
  transition:opacity .28s var(--ease), transform .28s var(--ease);
  box-shadow:0 12px 32px -8px rgba(255,122,26,.7);}
.rcase-view .arrow{transition:transform .3s var(--ease);}
/* hover */
.rcase:hover .rcase-media{box-shadow:0 36px 90px -34px rgba(255,122,26,.4), 0 0 0 1px rgba(255,122,26,.3);}
.rcase-media:hover image-slot,.rcase:focus-visible .rcase-media image-slot{transform:scale(1.06);}
.rcase-media:hover .rcase-view,.rcase:focus-visible .rcase-view{opacity:1;transform:translate(-50%,-50%) scale(1);}
.rcase-media:hover .rcase-view .arrow{transform:translateX(2px);}
.rcase:hover .rcase-name,.rcase:focus-visible .rcase-name{color:var(--orange);}
.rcase:hover .rcase-more{gap:14px;}
.rcase:hover .rcase-more .arrow{transform:translateX(4px);}
.rcase:focus-visible{outline:none;}
@media (hover:none){
  .rcase-view{left:auto;right:14px;top:14px;width:auto;height:auto;border-radius:999px;
    padding:8px 14px;transform:none;opacity:1;font-size:12px;}
}

/* staggered scroll reveal: idx → text → media */
.rcase .rcase-idx,.rcase .rcase-text-inner,.rcase .rcase-media{
  opacity:0;transform:translateY(28px);
  transition:opacity .6s var(--ease), transform .6s var(--ease);}
.rcase.in .rcase-idx{opacity:1;transform:none;transition-delay:0s;}
.rcase.in .rcase-text-inner{opacity:1;transform:none;transition-delay:.12s;}
.rcase.in .rcase-media{opacity:1;transform:none;transition-delay:.24s;}

/* modal */
.rcase-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;}
.rcase-modal[hidden]{display:none;}
.rcase-modal-backdrop{position:absolute;inset:0;background:rgba(6,4,3,.74);backdrop-filter:blur(6px);
  opacity:0;transition:opacity .3s var(--ease);}
.rcase-modal.open .rcase-modal-backdrop{opacity:1;}
.rcase-modal-card{position:relative;z-index:2;width:min(1080px,82vw);max-height:86vh;overflow:auto;
  background:var(--surface-2);border:1px solid rgba(255,122,26,.28);border-radius:22px;
  padding:clamp(26px,4vw,42px);box-shadow:0 50px 120px -40px rgba(0,0,0,.9), 0 0 0 1px rgba(255,122,26,.08);
  transform:translateY(18px) scale(.97);opacity:0;transition:transform .38s var(--ease), opacity .38s var(--ease);}
.rcase-modal.open .rcase-modal-card{transform:none;opacity:1;}
.rcase-modal-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(245,245,247,.16);background:rgba(13,9,8,.6);color:var(--text);
  font-size:22px;line-height:1;cursor:pointer;transition:background .25s,border-color .25s,transform .25s;}
.rcase-modal-x:hover{background:rgba(255,122,26,.16);border-color:rgba(255,122,26,.5);transform:rotate(90deg);}
.rcase-full-head{position:relative;display:flex;align-items:flex-end;gap:18px;margin-bottom:24px;padding-top:56px;}
.rcase-full-headtext{position:relative;z-index:1;flex:1;min-width:0;}
.mlogo{position:relative;z-index:1;flex:0 0 auto;height:82px;width:auto;max-width:210px;object-fit:contain;opacity:.95;}
.mlogo--xl{height:164px;max-width:420px;}
@media (max-width:560px){ .mlogo{height:54px;} }
.rcase-full-idx{position:absolute;left:-4px;top:0;z-index:0;pointer-events:none;
  font-family:var(--disp);font-weight:700;font-size:clamp(140px,16vw,232px);line-height:.78;letter-spacing:-.02em;color:transparent;
  -webkit-text-stroke:2px rgba(255,178,62,.5);
  -webkit-mask-image:linear-gradient(to bottom,#000 46%,transparent 90%);
  mask-image:linear-gradient(to bottom,#000 46%,transparent 90%);}
.rcase-full-head h3{font-family:var(--disp);font-weight:600;font-size:30px;letter-spacing:.01em;}
.rcase-full-key{color:var(--orange);font-weight:600;font-size:15px;margin-top:4px;}
.rcase-quote{margin:24px 0 4px;padding:22px 24px;border-radius:16px;
  background:linear-gradient(135deg, rgba(255,122,26,.10), rgba(178,62,12,.05));
  border:1px solid rgba(255,122,26,.22);border-left:3px solid var(--orange);}
.rcase-quote blockquote{font-family:var(--disp);font-weight:500;font-size:18px;line-height:1.5;color:var(--text);}
.rcase-quote figcaption{display:flex;align-items:center;gap:10px;margin-top:14px;
  font-size:14px;color:rgba(246,242,236,.7);}
.rcase-quote .rq-av{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--disp);font-weight:700;font-size:14px;color:var(--bg);
  background:linear-gradient(135deg,var(--amber),var(--orange));}
@media (max-width:900px){
  .rcase,.rcase:nth-child(even){grid-template-columns:1fr;gap:22px;}
  .rcase:nth-child(even) .rcase-media,.rcase:nth-child(even) .rcase-text{order:0;}
  .rcase-idx{position:static;display:block;font-size:clamp(96px,26vw,170px);margin-bottom:-10px;transform:none;left:auto;right:auto;}
}
@media (prefers-reduced-motion:reduce){
  .rcase .rcase-idx,.rcase .rcase-text-inner,.rcase .rcase-media{opacity:1;transform:none;transition:none;}
}

/* ---- MiSushi rich modal content ---- */
.mstat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 16px;}
.mstat-grid-3{grid-template-columns:1fr 1fr 1fr;}
@media (max-width:560px){ .mstat-grid-3{grid-template-columns:1fr;} }
.mstat{position:relative;overflow:hidden;background:var(--surface-3);border:1px solid var(--hair);border-radius:16px;padding:22px 24px;
  transition:border-color .35s var(--ease), box-shadow .35s var(--ease);}
.mstat::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease);
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), rgba(255,122,26,.22), transparent 60%);}
.mstat:hover{border-color:rgba(255,122,26,.42);box-shadow:0 22px 50px -28px rgba(255,122,26,.4);}
.mstat:hover::before{opacity:1;}
.mstat-num{position:relative;z-index:1;font-family:var(--disp);font-weight:700;font-size:clamp(26px,3vw,38px);color:var(--orange);letter-spacing:.01em;line-height:1;}
.mstat-lab{position:relative;z-index:1;font-size:14.5px;color:var(--muted);margin-top:8px;}
.mstat-sum{font-size:16.5px;line-height:1.6;color:var(--text);margin-bottom:8px;}
.mstat-sum strong{color:var(--orange);font-weight:600;}
/* story-focused single stat (Hanami) — calm, no box grid */
.story-stat{display:flex;flex-direction:column;gap:6px;margin:10px 0 26px;padding-left:18px;
  border-left:3px solid var(--orange);}
.story-stat-num{font-family:var(--disp);font-weight:700;font-size:clamp(40px,5.4vw,68px);line-height:1;
  letter-spacing:.005em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;width:fit-content;}
.story-stat-lab{font-family:var(--body);font-weight:500;font-size:15px;color:var(--muted);}
/* before → after Instagram comparison (Hanami) */
.ba-compare{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.4vw,30px);
  margin:6px 0 30px;flex-wrap:nowrap;}
.ba-item{flex:1 1 0;min-width:0;max-width:300px;display:flex;flex-direction:column;align-items:center;gap:12px;margin:0;}
.ba-tag{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding:5px 16px;border-radius:999px;border:1px solid var(--hair);background:var(--surface-3);}
.ba-tag--after{color:var(--bg);border-color:transparent;background:var(--grad);
  box-shadow:0 8px 22px -10px rgba(255,122,26,.7);}
.ba-shot{width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:18px;
  border:1px solid var(--hair);background:var(--surface-3);
  box-shadow:0 30px 60px -34px rgba(0,0,0,.85);}
.ba-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.ba-arrow{flex:0 0 auto;font-family:var(--disp);font-weight:700;font-size:clamp(28px,3.6vw,44px);line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
@media (max-width:560px){
  .ba-compare{gap:10px;}
  .ba-arrow{font-size:26px;}
  .ba-tag{font-size:10.5px;padding:4px 12px;}
}
.mstory--wide p{font-size:17px;line-height:1.72;}
.mstory{margin:18px 0 6px;}
.mstory h4{font-family:var(--disp);font-weight:600;font-size:15.5px;letter-spacing:.1em;text-transform:uppercase;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  margin:22px 0 8px;width:fit-content;}
.mstory h4:first-child{margin-top:0;}
.mstory p{font-size:16.5px;line-height:1.68;color:var(--text);text-wrap:pretty;}
.mstory .hl{color:var(--orange);font-weight:600;background:none;padding:0;}
.mstory .mhandles{margin-top:18px;font-size:14.5px;color:var(--text);}
.mstory .mhandles a{color:var(--orange);font-weight:600;}
.msec-head{margin:30px 0 4px;}
/* video carousel */
.vcar{position:relative;height:clamp(360px,52vh,560px);margin-top:14px;}
.vslide{position:absolute;top:50%;left:50%;width:clamp(196px,30%,300px);aspect-ratio:9/16;
  border-radius:16px;overflow:hidden;background:var(--surface-3);border:1px solid var(--hair);cursor:pointer;
  transform:translate(-50%,-50%) scale(.78);opacity:.7;filter:blur(5px) brightness(.5);z-index:1;
  transition:transform .42s var(--ease), filter .42s var(--ease), opacity .42s var(--ease);}
.vslide image-slot{display:block;width:100%;height:100%;}
.vslide.is-active{transform:translate(-50%,-50%) scale(1);opacity:1;filter:none;z-index:3;cursor:default;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(255,122,26,.25);}
.vslide.is-prev{transform:translate(-112%,-50%) scale(.8);z-index:2;}
.vslide.is-next{transform:translate(12%,-50%) scale(.8);z-index:2;}
.vslide.is-hidden{opacity:0;pointer-events:none;}
.vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;
  border:1px solid rgba(255,255,255,.45);background:rgba(13,9,8,.5);backdrop-filter:blur(4px);color:#fff;
  display:none;align-items:center;justify-content:center;cursor:pointer;z-index:4;font-size:20px;padding-left:4px;
  transition:transform .25s var(--ease), background .25s var(--ease);}
.vslide.is-active .vplay{display:flex;}
.vplay:hover{transform:translate(-50%,-50%) scale(1.08);background:rgba(255,122,26,.45);}
.vslide.is-playing .vplay{display:none;}
.vslide .vmux{width:100%;height:100%;border:0;display:block;
  --media-object-fit:cover;--media-object-position:center;--controls-backdrop-color:rgba(13,9,8,.3);}
mux-player.vmux{aspect-ratio:auto;}
/* side (inactive) player slides ignore pointer so a click selects, not plays */
.vslide:not(.is-active) .vmux{pointer-events:none;}
/* photo fan — overlapping cards that lift on hover */
.pfan{position:relative;height:clamp(340px,42vw,440px);margin-top:14px;display:flex;justify-content:center;align-items:center;}
.pcard{position:absolute;width:clamp(200px,28%,290px);aspect-ratio:1/1;border-radius:16px;overflow:hidden;
  background:var(--surface-3);border:1px solid var(--hair);box-shadow:0 22px 50px -24px rgba(0,0,0,.85);cursor:pointer;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-radius .3s var(--ease);}
.pcard image-slot{display:block;width:100%;height:100%;}
.pcard:nth-child(1){transform:translateX(-115%) rotate(-11deg);z-index:1;}
.pcard:nth-child(2){transform:translateX(-38%) translateY(-6%) rotate(-3deg);z-index:2;}
.pcard:nth-child(3){transform:translateX(38%) translateY(-6%) rotate(3deg);z-index:2;}
.pcard:nth-child(4){transform:translateX(115%) rotate(11deg);z-index:1;}
.pcard:nth-child(1):hover{transform:translateX(-115%) rotate(0deg) scale(1.14);z-index:5;border-radius:26px;}
.pcard:nth-child(2):hover{transform:translateX(-38%) translateY(-6%) rotate(0deg) scale(1.14);z-index:5;border-radius:26px;}
.pcard:nth-child(3):hover{transform:translateX(38%) translateY(-6%) rotate(0deg) scale(1.14);z-index:5;border-radius:26px;}
.pcard:nth-child(4):hover{transform:translateX(115%) rotate(0deg) scale(1.14);z-index:5;border-radius:26px;}
.pcard:hover{box-shadow:0 34px 70px -22px rgba(255,122,26,.42), 0 0 0 1px rgba(255,122,26,.32);}
@media (max-width:560px){
  .pfan{flex-wrap:wrap;height:auto;gap:12px;}
  .pcard{position:static;width:46%;transform:none !important;}
}
@media (prefers-reduced-motion:reduce){ .pcard,.pcard:hover{transition:none;} }
@media (max-width:560px){ .mstat-grid{grid-template-columns:1fr;} }
@media (prefers-reduced-motion:reduce){
  .vslide{transition:none;filter:none;}
  .pcell{transition:none;}
}

/* Fuku catering inline pill "buňka" — small, after the sentence, photo fills it */
.ftoggle{display:inline-block;vertical-align:middle;margin-left:10px;
  width:84px;height:38px;border-radius:999px;overflow:hidden;
  border:1px solid rgba(255,178,62,.35);
  box-shadow:0 0 0 3px rgba(255,122,26,.12), 0 8px 18px -8px rgba(0,0,0,.7);}
.ftoggle img{width:100%;height:100%;object-fit:cover;display:block;}

/* VIRAL MOMENT section (LP restaurace — namespaced .rviral) */
.rviral{padding:0 0 96px;}
.rviral-head{max-width:760px;margin:0 auto;text-align:center;}
.rviral-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:600;
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);
  border:1px solid rgba(255,122,26,.32);border-radius:999px;padding:8px 15px;margin-bottom:22px;
  background:rgba(255,122,26,.06);}
.rviral-dot{width:9px;height:9px;border-radius:50%;background:var(--orange);
  box-shadow:0 0 0 0 rgba(255,122,26,.55);animation:rviralpulse 2s ease-out infinite;}
@keyframes rviralpulse{
  0%{box-shadow:0 0 0 0 rgba(255,122,26,.55);}
  70%{box-shadow:0 0 0 9px rgba(255,122,26,0);}
  100%{box-shadow:0 0 0 0 rgba(255,122,26,0);}
}
.rviral-head h2{margin-bottom:16px;text-wrap:pretty;}
.rviral-head .lede{margin:0 auto;}
.rviral-head .lede strong{color:var(--text);font-weight:600;}

/* full-width growth showcase — phone pinned; phone slides out, text scrolls in (same pin) */
.rgrow{position:relative;height:300vh;margin-top:-60px;}
.rgrow-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;}
.rgrow-glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(70%,820px);height:70%;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(closest-side, rgba(255,122,26,.20), rgba(178,62,12,.07) 55%, transparent 78%);
  filter:blur(16px);}
.rgrow-stage{position:relative;width:100%;display:flex;align-items:flex-end;justify-content:center;}
.rgrow-phone{position:relative;z-index:2;width:min(1180px,92vw);height:auto;display:block;
  filter:drop-shadow(0 50px 80px rgba(0,0,0,.6));
  transform-origin:50% 70%;transform:rotate(6deg) scale(.97);will-change:transform,opacity;}
/* in-pin centered stack: text + boxes (flow-based, zoom-safe) */
.rgrow-stack{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:0 6vw;pointer-events:none;}
.rgrow-text{position:static;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;width:100%;opacity:0;}
.rgrow-badge{margin-bottom:30px;}
.rgrow-lines{position:relative;width:100%;max-width:1000px;display:flex;flex-direction:column;
  align-items:center;gap:clamp(4px,0.6vw,9px);}
.rgl{position:static;margin:0;will-change:transform,opacity;opacity:0;transform:translateX(64px);}
.rgl-s:first-of-type{margin-top:clamp(16px,2.2vw,30px);}
.rgl-h{font-family:var(--disp);font-weight:600;font-size:clamp(28px,4vw,56px);line-height:1.06;
  letter-spacing:.005em;color:var(--text);text-wrap:balance;}
.rgl-s{font-family:var(--body);font-weight:500;font-size:clamp(15px,1.7vw,21px);line-height:1.5;
  color:var(--muted);max-width:none;}
.rgl-s strong{color:var(--text);font-weight:600;}
/* boxes inside the pin — start small, grow to full as text fades */
.rgrow-boxes{position:absolute;left:50%;top:50%;z-index:4;width:min(900px,94vw);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px);
  transform-origin:center;transform:translate(-50%,-50%) scale(.5);opacity:0;will-change:transform,opacity;}
/* static fallback — JS adds .rgrow--static for reduced-motion or touch (any width) */
.rgrow--static{height:auto;}
.rgrow--static .rgrow-sticky{position:static;height:auto;padding:30px 0;overflow:visible;flex-direction:column;}
.rgrow--static .rgrow-phone{width:min(560px,92vw);transform:rotate(0) scale(1);opacity:1;}
.rgrow--static .rgrow-text{position:static;opacity:1;padding:34px 6vw 0;}
.rgrow--static .rgrow-stack{position:static;padding:0 6vw;}
.rgrow--static .rgrow-lines{height:auto;}
.rgrow--static .rgl{position:static;transform:none;opacity:1;margin:0 auto 14px;}
.rgrow--static .rgrow-boxes{position:static;transform:none;opacity:1;margin:24px auto 0;}
@media (max-width:880px){
  .rgrow{height:auto;}
  .rgrow-sticky{position:static;height:auto;padding:30px 0;overflow:visible;flex-direction:column;}
  .rgrow-phone{width:min(560px,92vw);transform:rotate(0) scale(1);opacity:1;}
  .rgrow-text{position:static;opacity:1;padding:34px 6vw 0;}
  .rgrow-lines{height:auto;}
  .rgl{position:static;transform:none;opacity:1;margin:0 auto 14px;}
  .rgrow-boxes{position:static;transform:none;opacity:1;margin:24px auto 0;}
}
@media (prefers-reduced-motion:reduce){
  .rgrow{height:auto;}
  .rgrow-sticky{position:static;height:auto;padding:30px 0;flex-direction:column;}
  .rgrow-phone{transform:rotate(0) scale(1);opacity:1;}
  .rgrow-text{position:static;opacity:1;padding-top:30px;}
  .rgrow-lines{height:auto;}
  .rgl{position:static;transform:none;opacity:1;margin:0 auto 14px;}
  .rgrow-boxes{position:static;transform:none;opacity:1;margin:24px auto 0;}
}

/* two boxes side by side — slightly smaller than case previews */
.rviral-vids{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px);margin-top:8px;
  max-width:760px;margin-left:auto;margin-right:auto;}
.rviral-vid{position:relative;width:100%;aspect-ratio:1/1;border-radius:20px;overflow:hidden;
  background:var(--surface-3);border:1px solid rgba(245,245,247,.10);
  box-shadow:0 30px 70px -34px rgba(0,0,0,.85);transition:box-shadow .4s var(--ease), transform .4s var(--ease);}
.rviral-vid image-slot{display:block;width:100%;height:100%;}
.rviral-vid .vmux{width:100%;height:100%;border:0;display:block;
  --media-object-fit:cover;--controls:none;--media-object-position:center;}
.rviral-vid--player{cursor:default;}
.rviral-vid:hover{transform:translateY(-3px);box-shadow:0 36px 90px -34px rgba(255,122,26,.4), 0 0 0 1px rgba(255,122,26,.28);}
.rviral-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:19px;padding-left:4px;color:#fff;
  background:rgba(13,9,8,.5);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.4);pointer-events:none;}
.rviral-vid[data-filled] .rviral-play{display:none;}

@media (max-width:560px){ .rviral-vids{grid-template-columns:1fr;} }
@media (prefers-reduced-motion:reduce){
  .rviral-vid{transition:none;}
}

/* PHONE showcase (LP restaurace only — namespaced .rphones) */
.rphones{padding:30px 0 90px;}
.rphone-row{display:flex;gap:clamp(18px,3vw,40px);justify-content:center;flex-wrap:wrap;margin-top:48px;}
.rphone{position:relative;width:clamp(210px,22vw,260px);aspect-ratio:9/19.5;border-radius:38px;
  background:#000;padding:10px;border:1px solid rgba(245,245,247,.16);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(255,122,26,.06), inset 0 0 0 2px rgba(245,245,247,.04);}
.rphone:nth-child(odd){transform:translateY(16px);}
.rphone-screen{position:relative;width:100%;height:100%;border-radius:30px;overflow:hidden;background:var(--surface-2);}
.rphone-screen image-slot{display:block;width:100%;height:100%;}
.rphone-notch{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:34%;height:22px;
  background:#000;border-radius:0 0 14px 14px;z-index:3;}
@media (max-width:520px){ .rphone{width:64%;} .rphone:nth-child(odd){transform:none;} }

/* HERO (LP restaurace) — collage removed; standard single-column copy */
.r-hero .hero-copy{max-width:820px;}
.lede-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:600;width:fit-content;margin-top:10px;}
.r-hero .nowrap-line,.rhero2 .nowrap-line{white-space:nowrap;}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;scroll-behavior:auto !important;}
  .why{height:auto;}
  .why-pin{position:relative;height:auto;display:block;padding:60px 0;}
  .why-slides{position:relative;min-height:0;}
  .wslide{position:relative;opacity:1;visibility:visible;pointer-events:auto;
    padding:34px 0;border-top:1px solid var(--hair-2);}
  .wslide .wbig,.wslide .wtext{clip-path:none;transform:none;opacity:1;}
  .why-rail,.why-dots{display:none;}
  .hero .reveal-word > span{transform:none;}
  .r-up,.step{opacity:1;transform:none;}
  .cursor-dot,.cursor-ring{display:none;}
  body{cursor:auto;}
  .marquee .track{animation:none;flex-wrap:wrap;}
}

/* ============================================================
   LP MAKLÉŘI
   ============================================================ */
.proof-grid.three{grid-template-columns:repeat(3,1fr);}
@media (max-width:860px){ .proof-grid.three{grid-template-columns:1fr;} }

/* section 2 — why personal brand */
.mkl-why{padding:90px 0 80px;}
.mkl-why .sec-intro{margin-bottom:40px;}

.mkl-callout{margin-top:40px;padding:24px 28px;border-radius:18px;
  background:linear-gradient(135deg,rgba(255,122,26,.10),rgba(178,62,12,.05));
  border:1px solid rgba(255,122,26,.22);
  font-family:var(--disp);font-weight:500;font-size:clamp(17px,1.8vw,21px);line-height:1.5;color:var(--text);max-width:74ch;}
.mkl-callout strong{color:var(--orange);font-weight:600;}
.mkl-callout{position:relative;}
.mkl-callout .cframe{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
.mkl-callout .cframe rect{x:1px;y:1px;width:calc(100% - 2px);height:calc(100% - 2px);rx:17px;ry:17px;
  fill:none;stroke:var(--orange);stroke-width:1.5;}

/* ---- "Proč osobní brand" — on-scroll choreography ---- */
/* two-column intro: text left, broker grid right */
.mkl-intro-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:center;max-width:none;}
.mkl-intro-r{display:flex;justify-content:center;}

/* broker silhouettes — 3×3 grid */
.brokers{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px);
  justify-items:center;width:fit-content;}
.bkr{position:relative;width:clamp(58px,6vw,76px);height:clamp(58px,6vw,76px);border-radius:50%;background:#241d15;
  border:1px solid rgba(246,242,236,.12);display:grid;place-items:center;
  color:rgba(246,242,236,.28);
  transition:opacity .55s var(--ease),transform .55s var(--ease),
    background .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease),color .5s var(--ease);}
.bkr svg{width:44%;height:44%;fill:currentColor;}
.bkr .you-lbl{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);
  font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.24em;color:var(--orange);
  opacity:0;transition:opacity .4s var(--ease);}
/* lit "VY" state */
.bkr--you.lit{background:radial-gradient(circle at 50% 40%,#FF9E4D,#FF7A1A);
  border-color:var(--orange);box-shadow:0 0 30px rgba(255,122,26,.55);color:#1a0f04;}
.bkr--you.lit .you-lbl{opacity:1;}

/* line-by-line headline reveal */
.mkl-h .rline{display:block;overflow:hidden;}
.mkl-h .rline > span{display:inline-block;will-change:transform;}

/* highlighter marker — light text on a strong orange band */
.mkl-why .mkl-hl{color:var(--orange);font-weight:600;
  background-image:linear-gradient(rgba(255,122,26,.16),rgba(255,122,26,.16));
  background-repeat:no-repeat;background-position:0 100%;background-size:100% 100%;
  background-clip:border-box;-webkit-background-clip:border-box;
  padding:.04em .18em;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}

@media (prefers-reduced-motion:no-preference){
  .brokers .bkr{opacity:0;transform:translateY(18px) scale(.85);}
  .mkl-h .rline > span{transform:translateY(112%);}
  .mkl-why .sec-intro .lede{opacity:0;transform:translateY(16px);}
  .mkl-why .why-points .wp{opacity:0;transform:translateX(-22px);}
  .mkl-why .why-points .wp svg{stroke:rgba(246,242,236,.3);}
  .mkl-why .mkl-hl{background-size:0% 100%;}
  .mkl-callout .cframe rect{stroke-dasharray:1;stroke-dashoffset:1;}
}

/* revealed states (triggered by .reveal on the section) */
.mkl-why.reveal .brokers .bkr{opacity:1;transform:none;}
.mkl-why.reveal .brokers .bkr:nth-child(1){transition-delay:0s;}
.mkl-why.reveal .brokers .bkr:nth-child(2){transition-delay:.12s;}
.mkl-why.reveal .brokers .bkr:nth-child(3){transition-delay:.24s;}
.mkl-why.reveal .brokers .bkr:nth-child(4){transition-delay:.36s;}
.mkl-why.reveal .brokers .bkr:nth-child(5){transition-delay:.48s;}
.mkl-why.reveal .brokers .bkr:nth-child(6){transition-delay:.6s;}
.mkl-why.reveal .brokers .bkr:nth-child(7){transition-delay:.72s;}
.mkl-why.reveal .brokers .bkr:nth-child(8){transition-delay:.84s;}
.mkl-why.reveal .brokers .bkr:nth-child(9){transition-delay:.96s;}
/* the lit lift wins over the entrance transform, no extra delay */
.mkl-why.reveal .brokers .bkr--you.lit{transform:translateY(-10px) scale(1.12);transition-delay:0s;}

.mkl-why.reveal .mkl-h .rline > span{transform:none;transition:transform .75s cubic-bezier(.2,.85,.25,1);}
.mkl-why.reveal .mkl-h .rline:nth-child(2) > span{transition-delay:.1s;}

.mkl-why.reveal .sec-intro .lede{opacity:1;transform:none;
  transition:opacity .7s var(--ease) .35s,transform .7s var(--ease) .35s;}

.mkl-why.reveal .why-points .wp{opacity:1;transform:none;
  transition:opacity .6s var(--ease),transform .6s var(--ease);}
.mkl-why.reveal .why-points .wp:nth-child(1){transition-delay:.5s;}
.mkl-why.reveal .why-points .wp:nth-child(2){transition-delay:.7s;}
.mkl-why.reveal .why-points .wp:nth-child(3){transition-delay:.9s;}
.mkl-why.reveal .why-points .wp svg{stroke:var(--orange);
  filter:drop-shadow(0 0 6px rgba(255,122,26,.5));transition:stroke .4s var(--ease),filter .4s var(--ease);}
.mkl-why.reveal .why-points .wp:nth-child(1) svg{transition-delay:.8s;}
.mkl-why.reveal .why-points .wp:nth-child(2) svg{transition-delay:1s;}
.mkl-why.reveal .why-points .wp:nth-child(3) svg{transition-delay:1.2s;}

.mkl-why.reveal .mkl-hl{background-size:100% 100%;transition:background-size .6s var(--ease) .9s;}
.mkl-why.reveal .mkl-callout .cframe rect{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--ease) 1.3s;}

@media (max-width:820px){
  .mkl-intro-grid{grid-template-columns:1fr;gap:30px;}
  .mkl-intro-r{justify-content:flex-start;}
}
@media (max-width:560px){ .bkr{width:clamp(50px,15vw,64px);height:clamp(50px,15vw,64px);} }

/* section 4 — long-term collaboration + video testimonial */
.mkl-collab{padding:20px 0 100px;}
.mkl-collab-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,4.5vw,64px);align-items:center;margin-top:8px;}
.mkl-collab-quote{font-family:var(--disp);font-weight:600;font-size:clamp(22px,2.7vw,33px);line-height:1.32;
  letter-spacing:.004em;color:var(--text);text-wrap:pretty;}
.mkl-collab-quote .o{display:inline;}
.mkl-collab-sub{margin-top:22px;color:var(--muted);font-size:16px;line-height:1.62;max-width:48ch;}
.mkl-vidslot{position:relative;aspect-ratio:9/12;border-radius:22px;overflow:hidden;
  background:var(--surface-3);border:1px solid var(--hair);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;
  box-shadow:0 30px 70px -34px rgba(0,0,0,.85);}
.mkl-vidslot::before{content:"";position:absolute;inset:0;
  background:radial-gradient(72% 60% at 50% 28%,rgba(255,122,26,.16),transparent 70%);}
.mkl-vidslot-badge{position:relative;display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:600;
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);
  border:1px solid rgba(255,122,26,.32);border-radius:999px;padding:7px 14px;background:rgba(255,122,26,.06);}
.mkl-vidslot-play{position:relative;width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:25px;padding-left:5px;color:#1a0c03;background:linear-gradient(135deg,var(--amber),var(--orange));
  box-shadow:0 14px 36px -10px rgba(255,122,26,.7);}
.mkl-vidslot-cap{position:relative;color:var(--faint);font-size:13px;letter-spacing:.02em;max-width:26ch;line-height:1.5;}
@media (max-width:860px){ .mkl-collab-grid{grid-template-columns:1fr;} .mkl-vidslot{aspect-ratio:16/11;max-width:440px;margin-inline:auto;} }

/* section 5 — camera fear */
.mkl-camera{padding:0 0 100px;}
.mkl-camera-band{position:relative;border-radius:28px;overflow:hidden;padding:clamp(34px,5vw,60px);
  background:var(--surface-2);border:1px solid var(--hair);}
.mkl-camera-band::before{content:"";position:absolute;inset:0;
  background:radial-gradient(60% 80% at 8% 8%,rgba(255,122,26,.13),transparent 60%);}
.mkl-camera-inner{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(22px,3.2vw,44px);align-items:center;}
.mkl-camera-ico{width:62px;height:62px;flex:0 0 auto;stroke:var(--orange);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.mkl-camera h2{font-family:var(--disp);font-weight:600;font-size:clamp(24px,3vw,38px);margin-bottom:14px;line-height:1.1;}
.mkl-camera p{color:var(--muted);font-size:16.5px;line-height:1.66;max-width:64ch;}
.mkl-camera p strong{color:var(--text);font-weight:600;}
@media (max-width:720px){ .mkl-camera-inner{grid-template-columns:1fr;} }

/* section 6 — services (static icon boxes) */
.mkl-svc-sec{padding:30px 0 110px;}
.mkl-svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px;}
.mkl-svc{position:relative;display:flex;flex-direction:column;border-radius:20px;padding:32px 30px 30px;
  background:var(--surface-2);border:1px solid var(--hair);overflow:hidden;
  transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;}
.mkl-svc::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);}
.mkl-svc:hover{transform:translateY(-6px);border-color:rgba(255,122,26,.35);box-shadow:0 24px 64px -30px rgba(255,122,26,.4);}
.mkl-svc:hover::before{transform:scaleX(1);}
.mkl-svc .svc-ico{width:34px;height:34px;margin-bottom:20px;}
.mkl-svc h3{font-family:var(--disp);font-weight:600;font-size:21px;letter-spacing:.01em;color:var(--text);margin-bottom:12px;}
.mkl-svc p{color:var(--muted);font-size:14.8px;line-height:1.6;}
.mkl-svc .svc-tag{align-self:flex-start;margin-top:16px;font-family:var(--disp);font-weight:600;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--amber);
  border:1px solid rgba(255,178,62,.3);border-radius:999px;padding:5px 11px;}
@media (max-width:980px){ .mkl-svcgrid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .mkl-svcgrid{grid-template-columns:1fr;} }

/* ============================================================
   MAKLÉŘI — WORK EXAMPLES ("Takhle to vypadá v praxi")
   ============================================================ */
.mkl-praxe{padding:30px 0 110px;}
.px-block{margin-top:clamp(56px,7vw,92px);}
.px-h{font-family:var(--disp);font-weight:600;font-size:clamp(19px,2vw,25px);letter-spacing:.01em;
  color:var(--text);margin-bottom:clamp(22px,3vw,34px);}
.px-h .rline{display:block;overflow:hidden;padding-bottom:.06em;}
.px-h .rline > span{display:inline-block;}
.px-cap{margin-top:26px;color:var(--muted);font-size:clamp(15px,1.5vw,17.5px);line-height:1.6;
  max-width:46ch;text-wrap:pretty;}
.px-cap--center{max-width:none;text-align:center;}

/* shared lazy video slot */
.pxvid{position:absolute;inset:0;overflow:hidden;background:#0D0A08;}
.vplay-poster{position:absolute;inset:0;background-color:#0D0A08;background-position:center;
  background-size:cover;background-repeat:no-repeat;cursor:pointer;display:grid;place-items:center;border:0;padding:0;}
.vplay-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,10,8,.05),rgba(13,10,8,.35));}
.vplay-btn{position:relative;z-index:2;width:54px;height:54px;border-radius:50%;border:0;cursor:pointer;
  display:grid;place-items:center;background:var(--orange);color:#1a0c03;
  box-shadow:0 10px 30px -6px rgba(255,122,26,.6);transition:transform .25s var(--ease),box-shadow .25s;}
.vplay-poster:hover .vplay-btn{transform:scale(1.08);box-shadow:0 14px 40px -6px rgba(255,122,26,.75);}
.vplay-btn svg{width:24px;height:24px;fill:currentColor;margin-left:2px;}
.vplay-btn--lg{width:72px;height:72px;}
.vplay-btn--lg svg{width:32px;height:32px;}
.pxvid mux-player{position:absolute;inset:0;width:100%;height:100%;
  --controls-backdrop-color:rgba(13,10,8,.4);}

/* A — phones */
/* A — phones + copy */
.px-a{border-bottom:1px solid var(--hair);padding-bottom:clamp(28px,4vw,44px);}
.px-a-grid{display:block;}
.px-a-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);
  margin:clamp(32px,4vw,52px) 0 0;align-items:start;}
.px-a-left{text-align:left;}
.px-a-rightcol{text-align:right;align-self:start;}
.px-a-text{font-size:clamp(16px,1.7vw,19px);line-height:1.62;color:var(--text);text-wrap:pretty;}
.px-a-sub{margin-top:14px;font-size:clamp(16px,1.7vw,19px);line-height:1.62;color:var(--muted);text-wrap:pretty;}
.px-a-num{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;
  border:1.5px solid var(--orange);color:var(--orange);font-family:var(--disp);font-weight:600;font-size:16px;margin:0 0 18px;}
.px-a-rightcol .px-a-num{margin-left:auto;}
.px-a-left .mkl-collab-sub{max-width:none;}
.px-phones{position:relative;display:flex;justify-content:center;align-items:flex-end;
  gap:clamp(14px,2.4vw,40px);}
.px-phone{position:relative;width:clamp(230px,26vw,320px);aspect-ratio:1080/1920;
  filter:drop-shadow(0 44px 60px rgba(0,0,0,.55));
  transition:transform .2s ease-out;transform-style:preserve-3d;}
.px-phone .px-screen{position:absolute;left:11%;top:2.6%;right:11%;bottom:2.6%;
  border-radius:11%/6%;overflow:hidden;background:#0D0A08;z-index:1;}
.px-frame{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;user-select:none;}
.px-phone--mid{width:clamp(230px,26vw,320px);z-index:4;}

/* B — campaign flow */
.px-flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(14px,2vw,30px);}
.px-creatives{display:flex;gap:16px;}
.px-vid{position:relative;width:clamp(120px,14vw,170px);aspect-ratio:9/16;border-radius:18px;overflow:hidden;
  background:#0D0A08;border:1px solid var(--hair);box-shadow:0 30px 56px -34px rgba(0,0,0,.8);}
.px-arrow{width:clamp(52px,6vw,110px);color:var(--orange);flex:0 0 auto;}
.px-arrow svg{width:100%;height:24px;fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;
  stroke-linejoin:round;stroke-dasharray:5 6;}
.px-arrow svg path{stroke-dasharray:none;}
/* Meta lead form replica (light) */
.px-form{max-width:none;}
.px-form .metaform{width:clamp(280px,26vw,330px);max-width:100%;}
/* contacts endpoint */
.px-contacts{display:flex;flex-direction:column;align-items:center;gap:12px;}
.px-contacts-ico{width:clamp(78px,9vw,104px);aspect-ratio:1;border-radius:22px;display:grid;place-items:center;
  background:radial-gradient(120% 120% at 50% 20%,#1c1109,#0D0A08);border:1px solid rgba(255,122,26,.32);
  box-shadow:0 0 40px -8px rgba(255,122,26,.45), inset 0 1px 0 rgba(255,255,255,.05);}
.px-contacts-ico svg{width:52%;height:52%;fill:none;stroke:var(--orange);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;}
.px-contacts-lbl{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--orange);}

/* three steps with a scroll-driven progress line */
.px-steps{position:relative;list-style:none;margin:clamp(46px,6vw,72px) 0 0;padding:0;
  --sgap:clamp(24px,3vw,44px);
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sgap);}
/* line runs from dot-1 centre to dot-3 centre (dots sit at each column's start) */
.px-steps-line{position:absolute;top:19px;left:19px;right:calc((100% - 2 * var(--sgap)) / 3 - 19px);height:2px;
  background:rgba(246,242,236,.14);z-index:0;}
.px-steps-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--p,0) * 100%);background:var(--orange);
  box-shadow:0 0 12px rgba(255,122,26,.6);}
.px-step{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;}
.px-step-dot{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  background:#14100c;border:1.5px solid rgba(246,242,236,.2);color:var(--muted);
  font-family:var(--disp);font-weight:600;font-size:16px;transition:all .35s var(--ease);}
.px-step-body h4{font-family:var(--disp);font-weight:600;font-size:clamp(17px,1.7vw,20px);color:var(--text);
  margin-bottom:8px;transition:color .35s var(--ease);}
.px-step-body p{color:var(--muted);font-size:clamp(14.5px,1.4vw,16px);line-height:1.6;text-wrap:pretty;}
.px-step{opacity:.5;transition:opacity .4s var(--ease);}
.px-step.on{opacity:1;}
.px-step.on .px-step-dot{border-color:var(--orange);color:var(--orange);background:radial-gradient(circle at 50% 35%,rgba(255,122,26,.28),#14100c 70%);
  box-shadow:0 0 26px -2px rgba(255,122,26,.6);}
@media (prefers-reduced-motion:reduce){
  .px-step{opacity:1;}
  .px-steps-fill{width:100% !important;transition:none;}
  .px-step .px-step-dot{border-color:var(--orange);color:var(--orange);}
}
.metaform{border-radius:16px;overflow:hidden;background:#fff;color:#1c1e21;
  box-shadow:0 30px 60px -24px rgba(0,0,0,.7),0 2px 8px rgba(0,0,0,.3);}
.mf-cover{position:relative;aspect-ratio:16/9;background-color:#d9dde3;background-position:center;background-size:cover;overflow:hidden;}
.mf-cover image-slot{position:absolute;inset:0;width:100%;height:100%;}
.mf-cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 100%;
  transform:scale(1.22);transform-origin:55% 100%;display:block;}
.mf-avatar{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;
  background:#0D0A08;border:3px solid #fff;display:grid;place-items:center;box-shadow:0 4px 10px rgba(0,0,0,.25);}
.mf-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.mf-body{padding:34px 20px 20px;text-align:center;}
.mf-brand{font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:.06em;color:#65676b;margin-bottom:6px;}
.mf-title{font-family:var(--disp);font-weight:700;font-size:18px;color:#1c1e21;margin-bottom:16px;}
.mf-q{font-size:14.5px;font-weight:600;color:#1c1e21;margin-bottom:9px;text-align:left;}
.mf-input{font-size:14px;color:#8a8d91;background:#f0f2f5;border:1px solid #dfe1e6;border-radius:10px;
  padding:12px 14px;margin-bottom:18px;}
.mf-btn{width:100%;border:0;cursor:pointer;background:#1877F2;color:#fff;font-family:var(--body);font-weight:600;
  font-size:15px;border-radius:10px;padding:13px 16px;}
.px-b-foot{margin-top:34px;border-bottom:1px solid var(--hair);padding-bottom:clamp(28px,4vw,44px);}
.px-b-foot .px-cap{margin-top:0;}
.px-b-result{display:flex;align-items:center;gap:clamp(20px,4vw,44px);margin-top:26px;flex-wrap:wrap;}
.px-stat{display:flex;align-items:baseline;gap:14px;}
.px-num{font-family:var(--disp);font-weight:700;font-size:clamp(46px,6vw,72px);line-height:1;
  color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;}
.px-num-lbl{color:var(--muted);font-size:15px;line-height:1.4;max-width:16ch;}
.px-b-note{color:var(--muted);font-size:15px;line-height:1.6;max-width:44ch;text-wrap:pretty;}

/* C — hero property video (landscape) */
.px-herowrap{display:flex;justify-content:center;padding:8px 0;}
.px-hero-vid{position:relative;width:min(92%,860px);aspect-ratio:16/9;border-radius:22px;overflow:hidden;
  background:#0D0A08;border:1px solid rgba(246,242,236,.14);
  box-shadow:0 60px 100px -46px rgba(0,0,0,.9),0 0 90px -30px rgba(255,122,26,.3);}

/* reveal choreography */
@media (prefers-reduced-motion:no-preference){
  .px-h .rline > span{transform:translateY(112%);}
  .px-card{opacity:0;transform:translateY(24px);}
}
.px-block.reveal .px-h .rline > span{transform:none;transition:transform .7s cubic-bezier(.2,.85,.25,1);}
.px-block.reveal .px-card{opacity:1;transform:none;
  transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i,0) * .12s);}

@media (max-width:820px){
  .px-phones{flex-direction:column;align-items:center;gap:26px;}
  .px-phone,.px-phone--mid{width:min(64vw,240px);transform:none;}
  .px-block.reveal .px-phone--mid{transform:none;}
  .px-flow{flex-direction:column;gap:18px;}
  .px-arrow{transform:rotate(90deg);width:56px;}
  .px-form{max-width:100%;text-align:center;}
  .px-a-copy{grid-template-columns:1fr;gap:24px;}
  .px-a-rightcol{text-align:left;align-self:start;}
  .px-a-rightcol .px-a-num{margin-left:0;}
  .px-steps{grid-template-columns:1fr;gap:0;}
  .px-steps-line{top:0;bottom:0;left:18px;right:auto;width:2px;height:auto;}
  .px-steps-fill{inset:0 0 auto 0;width:2px !important;height:calc(var(--p,0) * 100%);}
  .px-step{flex-direction:row;gap:16px;padding-bottom:28px;}
  .px-step:last-of-type{padding-bottom:0;}
  .px-step-dot{flex:0 0 auto;}
}

/* section 8 — results, two anonymous stories */
.mkl-results{padding:30px 0 100px;}
.mkl-storygrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px;}
.mkl-story{position:relative;border-radius:20px;padding:34px 32px;background:var(--surface);
  border:1px solid var(--hair);border-left:3px solid var(--orange);overflow:hidden;
  transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;}
.mkl-story:hover{transform:translateY(-5px);border-color:rgba(255,122,26,.35);
  box-shadow:0 24px 64px -30px rgba(255,122,26,.4);}
.mkl-story .mkl-story-lab{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--amber);margin-bottom:16px;}
.mkl-story p{color:var(--text);font-size:16px;line-height:1.66;text-wrap:pretty;}
.mkl-story p .o{display:inline;}
@media (max-width:860px){ .mkl-storygrid{grid-template-columns:1fr;} }

/* references — broker headshots */
.mkl-refs{padding:24px 0 96px;}
.mkl-refs .sec-intro{margin-bottom:44px;}
.mkl-avatars{display:grid;grid-template-columns:repeat(14,1fr);justify-items:center;
  gap:clamp(14px,1.8vw,28px) 0;max-width:1080px;margin:0 auto;}
.mkl-av{grid-column:span 2;}
/* second row (6 items) centred under the 7 above — 1-column margin each side */
.mkl-avatars .mkl-av:nth-child(8){grid-column:2 / span 2;}
.mkl-av{width:clamp(82px,9.4vw,120px);aspect-ratio:1;border-radius:50%;overflow:hidden;
  background:#F6F2EC;border:1px solid var(--hair);
  box-shadow:0 14px 32px -18px rgba(0,0,0,.75);
  transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;}
.mkl-av img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;}
.mkl-av:hover{transform:translateY(-6px);border-color:rgba(255,122,26,.6);
  box-shadow:0 20px 44px -18px rgba(255,122,26,.5);}

/* ============================================================
   LP MAKLÉŘI — HERO v2 (centered, stacked, no image)
   ============================================================ */
.mhero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.mhero-glow{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);
  width:min(1000px,92vw);height:min(760px,74vh);border-radius:50%;z-index:0;pointer-events:none;
  background:radial-gradient(circle, rgba(255,122,26,.20), rgba(255,90,77,.07) 44%, transparent 70%);
  filter:blur(40px);}
.mhero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;
  max-width:1000px;padding-block:clamp(90px,14vh,150px);}
.mhero .eyebrow{margin-bottom:26px;}
.mhero-h{margin:0;max-width:20ch;text-wrap:balance;}
/* word reveal tuned per spec: translateY(112%), .75s, 90ms stagger (JS) — starts on body.loaded */
@media (prefers-reduced-motion:no-preference){
  .mhero .reveal-word > span{transform:translateY(112%);}
  body.loaded .mhero .reveal-word > span{animation-duration:.75s;animation-timing-function:cubic-bezier(.2,.85,.25,1);}
  /* subheadline + CTA fade-up after the headline finishes (counted from body.loaded) */
  .hero .lede,.hero .cta-row{opacity:0;transform:translateY(14px);}
  body.loaded .hero .lede{opacity:1;transform:none;transition:opacity .7s var(--ease) 1.3s,transform .7s var(--ease) 1.3s;}
  body.loaded .hero .cta-row{opacity:1;transform:none;transition:opacity .7s var(--ease) 1.55s,transform .7s var(--ease) 1.55s;}
}
.r-hero .nowrap-line,.rhero2 .nowrap-line,.mhero .nowrap-line{white-space:nowrap;}
.mhero .lede{margin-top:26px;max-width:60ch;}
.mhero .cta-row{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:38px;}
/* hand-underline accent under the second line — slightly arched, drawn stroke */
.mhero-underline{position:relative;display:inline-block;}
.mhero-stroke{position:absolute;left:50%;transform:translateX(-50%);bottom:-.26em;
  width:78%;height:.42em;overflow:visible;filter:drop-shadow(0 0 10px rgba(255,122,26,.5));}
.mhero-stroke path{stroke-dasharray:320;stroke-dashoffset:0;}
@media (prefers-reduced-motion:no-preference){
  .mhero-stroke path{stroke-dashoffset:320;}
  body.loaded .mhero-stroke path{animation:mheroDraw 1.1s cubic-bezier(.4,0,.2,1) 1.15s forwards;}
}
@keyframes mheroDraw{to{stroke-dashoffset:0;}}

/* ============================================================
   LP RESTAURACE — WHY (educative, dark split section)
   ============================================================ */
.rwhy{position:relative;background:#0D0A08;overflow:hidden;margin:0;}
.rwhy::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 70% at 88% 50%, rgba(255,122,26,.16), transparent 60%);}
.rwhy-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;align-items:stretch;
  max-width:1180px;margin:0 auto;}
.rwhy-copy{padding:clamp(64px,9vh,120px) clamp(28px,4vw,64px) clamp(64px,9vh,120px) 0;
  display:flex;flex-direction:column;justify-content:center;}
.rwhy .eyebrow{margin-bottom:22px;}
.rwhy h2{font-family:var(--disp);font-weight:600;font-size:clamp(30px,4vw,54px);line-height:1.05;
  letter-spacing:.004em;color:var(--text);margin-bottom:30px;text-wrap:balance;max-width:14ch;}
.rwhy p{color:var(--muted);font-size:clamp(15.5px,1.35vw,17.5px);line-height:1.68;max-width:52ch;}
.rwhy p + p{margin-top:20px;}
.rwhy p .o{color:var(--orange);font-weight:600;}
/* photo side — darkened, orange-graded, never overpowering */
.rwhy-media{position:relative;overflow:hidden;min-height:clamp(360px,64vh,640px);
  margin-right:min(0px, calc((1180px - 100vw)/2));}
.rwhy-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;
  filter:brightness(.6) contrast(1.02) saturate(.94);}
.rwhy-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0D0A08 0%,rgba(13,10,8,.55) 26%,rgba(13,10,8,.12) 60%,transparent 100%),
             radial-gradient(70% 90% at 78% 42%, rgba(255,122,26,.28), transparent 62%);}
@media (max-width:860px){
  .rwhy-inner{grid-template-columns:1fr;}
  .rwhy-copy{padding:clamp(52px,7vh,80px) 24px 40px;order:2;}
  .rwhy-media{order:1;min-height:clamp(240px,38vh,340px);}
  .rwhy-media img{object-fit:cover;object-position:50% 35%;}
  .rwhy-media::after{background:linear-gradient(180deg,transparent 0%,rgba(13,10,8,.55) 72%,#0D0A08 100%),
             radial-gradient(80% 70% at 50% 40%, rgba(255,122,26,.26), transparent 66%);}
}

/* ============================================================
   LP RESTAURACE — VIDEO TESTIMONIAL (main proof)
   ============================================================ */
.rvid{position:relative;background:#0D0A08;overflow:hidden;padding:clamp(72px,10vh,120px) 0;}
.rvid::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(58% 62% at 50% 42%, rgba(255,122,26,.15), transparent 62%);}
.rvid-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;
  max-width:920px;margin:0 auto;padding-inline:clamp(20px,4vw,40px);}
.rvid-head{margin-bottom:clamp(30px,4vh,48px);}
.rvid .eyebrow{margin-bottom:20px;}
.rvid h2{font-family:var(--disp);font-weight:600;font-size:clamp(28px,3.6vw,46px);line-height:1.08;
  letter-spacing:.004em;color:var(--text);text-wrap:balance;}
/* landscape player — framed, orange glow */
.rvid-stage{position:relative;width:min(860px,100%);}
.rvid-stage::before{content:"";position:absolute;inset:-26px;z-index:0;pointer-events:none;border-radius:36px;
  background:radial-gradient(closest-side, rgba(255,122,26,.30), transparent 78%);filter:blur(10px);}
.rvid-frame{position:relative;z-index:1;border-radius:20px;overflow:hidden;aspect-ratio:16/9;
  border:1px solid rgba(255,122,26,.32);background:#000;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.06);}
.rvid-frame mux-player{width:100%;height:100%;border:0;display:block;aspect-ratio:auto;
  --media-object-fit:contain;--media-object-position:center;}

/* ============================================================
   LP RESTAURACE — HERO v2 (figure + floating emoji boxes)
   ============================================================ */
.rhero2{position:relative;min-height:100vh;overflow:hidden;display:block;padding:0;}
/* warm brand glow — sits behind everything */
.rhero2-glow{position:absolute;top:6vh;left:50%;transform:translateX(12%);
  width:min(880px,82vw);height:min(880px,82vw);border-radius:50%;z-index:0;pointer-events:none;
  background:radial-gradient(circle, rgba(255,122,26,.34), rgba(255,90,77,.12) 42%, transparent 68%);
  filter:blur(34px);will-change:transform;}
.rhero2-glow.two{top:24vh;left:50%;transform:translateX(30%);width:min(520px,56vw);height:min(520px,56vw);
  background:radial-gradient(circle, rgba(255,178,62,.22), transparent 64%);filter:blur(40px);}
/* the person — restored size, nudged down into the bottom-right; soft-faded bottom corner */
.rhero2-fig{position:absolute;bottom:0;right:0;transform:translateX(15%);
  height:clamp(360px,64vh,720px);width:auto;max-width:none;z-index:3;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent 99%);
          mask-image:linear-gradient(to bottom,#000 72%,transparent 99%);}

/* floating emoji boxes — above the figure */
.rhero2-boxes{position:absolute;inset:0;z-index:4;pointer-events:none;}
.rfbox{position:absolute;display:flex;align-items:center;justify-content:center;
  width:clamp(46px,4.6vw,66px);height:clamp(46px,4.6vw,66px);border-radius:16px;
  font-size:clamp(23px,2.5vw,33px);line-height:1;
  background:rgba(18,18,27,.62);backdrop-filter:blur(7px) saturate(140%);-webkit-backdrop-filter:blur(7px) saturate(140%);
  border:1px solid rgba(255,178,62,.24);
  box-shadow:0 12px 30px -10px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.08);
  animation:rffloat var(--d,6.5s) ease-in-out infinite;animation-delay:var(--dl,0s);will-change:transform;}
@keyframes rffloat{0%,100%{transform:translateY(0) rotate(var(--r,0deg));}50%{transform:translateY(-14px) rotate(var(--r,0deg));}}

/* copy anchored top-left — sits BEHIND the figure so it tucks behind the shoulder/chin */
.rhero2-copywrap{position:absolute;left:0;right:0;top:clamp(120px,18vh,200px);z-index:2;pointer-events:none;}
.rhero2-copywrap .hero-copy{max-width:700px;pointer-events:auto;}
.rhero2 .hero-copy .eyebrow{margin-bottom:18px;}
.rhero2 .hero-copy h1{margin:0;}
.rhero2 .hero-copy p.lede{margin-top:20px;max-width:520px;}
.rhero2 .cta-row{display:flex;align-items:center;gap:20px;margin-top:30px;flex-wrap:wrap;}
.rhero2 .scrollcue{z-index:5;}

@media (prefers-reduced-motion:reduce){ .rfbox{animation:none;} }

@media (max-width:900px){
  .rhero2-fig{height:clamp(300px,46vh,470px);transform:translateX(20%);}
  .rfbox{width:clamp(42px,11vw,56px);height:clamp(42px,11vw,56px);font-size:clamp(22px,6vw,28px);}
  .rfbox--hidem{display:none;}
}
@media (max-width:560px){
  .rhero2 .hero-copy h1{font-size:clamp(34px,9.5vw,50px);}
}
