/*
Theme Name: Japle Studio v2
Description: Nová prezentace Japle Studio; samostatné téma pro bezpečný návrat k původní verzi.
Version: 2.0.3
Author: Japle Studio
Text Domain: japle-studio-v2
Requires PHP: 7.4
*/

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-400.woff2) format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/inter-400.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/inter-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/inter-600.woff2) format('woff2');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/space-grotesk-400.woff2) format('woff2');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/space-grotesk-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/space-grotesk-600.woff2) format('woff2');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/space-grotesk-700.woff2) format('woff2');
}


/* Layout: jeden černý satén pod hero + službami, pod nimi se prolne bílý satén s oparem. */
:root{
  --black:#050708;--graphite:#111618;--ink:#111719;--paper:#fbfcfc;
  --mute:#b9c3c5;--mute-dark:#5b6b6f;--a:#00d4c8;--a-soft:rgba(0,212,200,.55);
  --display:'Space Grotesk','Helvetica Neue',Arial,sans-serif;
  --body:Inter,'Helvetica Neue',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --fade:260px;--fade2:300px;
  --edge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 400' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='.2' stop-color='%23fff' stop-opacity='.4'/%3E%3Cstop offset='.46' stop-color='%23fff'/%3E%3C/linearGradient%3E%3Cfilter id='b' x='-10%25' y='-50%25' width='120%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='24'/%3E%3C/filter%3E%3C/defs%3E%3Cpath fill='url(%23g)' filter='url(%23b)' d='M-100 150C200 60 420 230 760 140S1250 70 1700 170L1700 640L-100 640Z'/%3E%3C/svg%3E");
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:#fff;font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--a);outline-offset:4px;border-radius:2px}
.wrap{width:min(1240px,100% - 40px);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
h1,h2,h3{font-family:var(--display);font-weight:500;text-wrap:balance}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;display:flex;align-items:center;gap:14px;margin:0 0 26px;color:#d6dddd}
.eyebrow:before{content:'';width:30px;height:1px;background:var(--a)}

/* ---------- Satén: originální obrázky jako <img> ---------- */
.satin{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.satin img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}

/* ---------- Tmavá scéna: hero + služby ---------- */
.dark-scene{position:relative;isolation:isolate;overflow:hidden;overflow:clip;background:var(--black)}
.satin--dark{z-index:-3}
/* Video smyčka: bez posunů, zoomu a přidaného lesku. Viditelná až když se skutečně přehrává, do té doby obrázek. */
.satin-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;opacity:0;transition:opacity .9s ease;background:transparent}
.dark-scene.video-on .satin-video{opacity:1}
.dark-scene.video-on .satin--dark img{animation-play-state:paused}
.dark-scene.video-on .sheen{opacity:0;animation:none}
.satin--dark img{object-position:62% 40%;transform:scale(1.06);animation:satin-pan 64s ease-in-out infinite alternate;will-change:transform}
.sheen{position:absolute;inset:-20% -30%;z-index:-2;pointer-events:none;mix-blend-mode:screen;opacity:.55;
  background:linear-gradient(112deg,transparent 42%,rgba(255,255,255,.05) 48%,rgba(0,212,200,.04) 51%,transparent 58%);
  animation:sheen 26s ease-in-out infinite alternate}
.scene-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,7,8,0) 0,rgba(5,7,8,0) 30%,rgba(5,7,8,.42) 48%,rgba(5,7,8,.34) 75%,rgba(5,7,8,.12) 100%)}
.hero-shade{position:absolute;left:0;right:0;top:-120px;bottom:-160px;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,7,8,.86) 0%,rgba(5,7,8,.62) 34%,rgba(5,7,8,.12) 66%,rgba(5,7,8,0) 85%);
  -webkit-mask-image:linear-gradient(180deg,#000 65%,transparent);mask-image:linear-gradient(180deg,#000 65%,transparent)}

.site-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px}
.logo-link{display:block;flex:none}
.logo{display:block;width:100px;height:auto}
.nav{display:flex;align-items:center;gap:34px;font-size:14px;color:#d3dada}
.nav a:not(.nav-cta):hover{color:#fff}
.nav-cta{border:1px solid var(--a-soft);padding:13px 20px;border-radius:3px;color:#fff;background:rgba(5,7,8,.35);backdrop-filter:blur(6px);transition:border-color .2s,background .2s}
.nav-cta:hover{border-color:var(--a);background:rgba(0,212,200,.08)}

.hero{position:relative;min-height:clamp(560px,calc(92svh - 92px),850px);display:flex;flex-direction:column;justify-content:center;padding-block:40px 110px}
.hero h1{font-size:clamp(44px,6.6vw,98px);line-height:.98;letter-spacing:-.05em;margin:0 0 30px;max-width:13ch}
.hero .copy{font-size:clamp(16px,1.35vw,19px);line-height:1.7;color:#c9d1d2;max-width:36em;margin:0 0 40px}
.actions{display:flex;align-items:center;gap:34px;flex-wrap:wrap}
.btn-primary{display:inline-flex;align-items:center;gap:22px;background:var(--a);color:#03191a;padding:18px 24px;border-radius:3px;font-size:15px;font-weight:600;transition:background .2s,transform .2s}
.btn-primary:hover{background:#4fe3db;transform:translateY(-1px)}
.btn-secondary{font-size:15px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.35);transition:border-color .2s}
.btn-secondary:hover{border-color:var(--a)}
.hero-foot{position:absolute;left:0;right:0;bottom:34px;display:flex;justify-content:space-between;align-items:center}
.motion-toggle{background:none;border:0;padding:8px 0;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#9aa6a8}
.motion-toggle:hover{color:#fff}
.down{font-size:22px;color:#c9d1d2;padding:6px}
.reveal{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.reveal:nth-child(2){animation-delay:.08s}.reveal:nth-child(3){animation-delay:.16s}.reveal:nth-child(4){animation-delay:.24s}

/* ---------- Služby: prostorové karty ---------- */
.services{position:relative;padding-block:40px calc(var(--fade) - 10px)}
.services-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}
.services h2{font-size:clamp(32px,3.6vw,52px);line-height:1.06;letter-spacing:-.04em;margin:0}

.carousel{position:relative}
.carousel:focus-visible{outline-offset:10px;border-radius:8px}
/* Kompaktní horizontální karty. Aktivní mírně vystupuje, sousední ustupují do stran a dozadu. */
.stage{--w:clamp(380px,32vw,480px);--h:252px;--t:2px;--spread:1.04;--sz:-300px;--sry:13deg;--ss:.9;position:relative;height:calc(var(--h) + 48px);perspective:1500px;perspective-origin:50% 0%;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.stage:before{content:'';position:absolute;left:50%;top:calc(var(--h) + 16px);width:calc(var(--w) * 1.05);height:30px;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.8),rgba(0,0,0,.3) 45%,transparent 72%);filter:blur(10px);pointer-events:none;z-index:0}
.card{--drag:0px;position:absolute;left:50%;top:22px;width:var(--w);height:var(--h);margin-left:calc(var(--w) / -2);transform-style:preserve-3d;
  transition:transform .95s cubic-bezier(.18,.82,.22,1),opacity .6s ease;opacity:0;pointer-events:none;
  transform:translateX(var(--drag)) translate3d(0,14px,-440px) scale(.86)}
.stage.dragging .card{transition:none}
.card[data-pos="0"]{opacity:1;z-index:3;pointer-events:auto;transform:translateX(var(--drag)) translate3d(0,-4px,0) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg))}
.card[data-pos="-1"]{opacity:1;z-index:2;pointer-events:auto;transform:translateX(var(--drag)) translate3d(calc(var(--w) * var(--spread) * -1),8px,var(--sz)) rotateY(var(--sry)) scale(var(--ss))}
.card[data-pos="1"]{opacity:1;z-index:2;pointer-events:auto;transform:translateX(var(--drag)) translate3d(calc(var(--w) * var(--spread)),8px,var(--sz)) rotateY(calc(var(--sry) * -1)) scale(var(--ss))}
.card.tilting{transition:transform .35s ease-out,opacity .6s ease}

.card-back{position:absolute;inset:0;border-radius:10px;background:#050708;transform:translateZ(calc(var(--t) * -1));
  box-shadow:0 44px 70px -30px rgba(0,0,0,.92),0 18px 30px -16px rgba(0,0,0,.72),0 2px 5px rgba(0,0,0,.5)}
.card-edge{position:absolute;top:10px;bottom:10px;width:var(--t);background:linear-gradient(180deg,#5a6a6f,#1d2528 50%,#11171a)}
.card-edge.l{left:0;transform-origin:left center;transform:rotateY(90deg)}
.card-edge.r{right:0;transform-origin:right center;transform:rotateY(-90deg)}

.card-face{position:absolute;inset:0;border-radius:10px;overflow:hidden;transform:translateZ(1px);
  background:linear-gradient(158deg,rgba(21,26,28,.95) 0%,rgba(10,13,14,.96) 52%,rgba(6,8,9,.97) 100%);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}
.card-face:after{content:'';position:absolute;inset:0;background:rgba(4,6,7,.45);transition:opacity .8s ease;pointer-events:none;z-index:4}
.card[data-pos="0"] .card-face:after{opacity:0}
.card-gloss{position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(420px circle at var(--mx,12%) var(--my,-30%),rgba(255,255,255,.05),transparent 50%)}

.card-rim{position:absolute;inset:0;border-radius:10px;padding:1px;pointer-events:none;z-index:5;
  background:linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,.05) 30%,rgba(255,255,255,.03) 70%,rgba(255,255,255,.09));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
          mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.card-rim:after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.5px;opacity:0;
  background:linear-gradient(110deg,transparent 34%,rgba(0,212,200,.85) 46%,rgba(235,255,253,.85) 50%,rgba(0,212,200,.65) 54%,transparent 66%) 0 0/320% 100% no-repeat;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
          mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.card.lit .card-rim:after{animation:rim-sweep 1s cubic-bezier(.3,.6,.25,1) .3s both}
@keyframes rim-sweep{0%{background-position:100% 0;opacity:0}20%{opacity:1}75%{opacity:1}100%{background-position:0 0;opacity:0}}
.card-face .reflex{position:absolute;left:6%;right:40%;top:0;height:1px;z-index:5;background:linear-gradient(90deg,transparent,rgba(0,212,200,.8),transparent);opacity:0;transition:opacity .9s ease .45s}
.card[data-pos="0"] .reflex{opacity:1}
.card[data-pos="0"] .card-rim{background:linear-gradient(160deg,rgba(0,212,200,.62),rgba(0,212,200,.16) 22%,rgba(255,255,255,.06) 40%,rgba(255,255,255,.04) 70%,rgba(0,212,200,.34))}

.card-content{position:relative;z-index:2;display:flex;flex-direction:column;height:100%;padding:30px 34px 22px}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.card h3{font-size:clamp(34px,2.8vw,40px);font-weight:500;letter-spacing:-.045em;line-height:1;margin:0;color:#fff}
.glyph{flex:none;width:20px;height:20px;margin-top:6px;fill:none;stroke:rgba(255,255,255,.32);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .7s ease .3s}
.card[data-pos="0"] .glyph{stroke:var(--a)}
.card p{font-size:15px;line-height:1.55;color:#c5ced0;margin:14px 0 0;max-width:38ch}
.features{list-style:none;display:flex;flex-wrap:wrap;gap:4px 18px;margin:14px 0 0;padding:0;font-size:12.5px;line-height:1.5;color:#93a3a6}
.features li{display:flex;align-items:center;gap:8px}
.features li:before{content:'';width:8px;height:1px;background:rgba(255,255,255,.3);flex:none}
.card[data-pos="0"] .features li:before{background:var(--a-soft)}
.card-foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.card-cta{display:inline-flex;gap:14px;align-items:center;font-size:14px;font-weight:500;padding:2px 0}
.card-cta span{color:var(--a);transition:transform .25s}
.card-cta:hover{color:var(--a)}
.card-cta:hover span{transform:translate(2px,-2px)}
.card-pick{position:absolute;inset:0;z-index:6;border:0;border-radius:10px;background:transparent;color:transparent;transform:translateZ(2px);cursor:pointer}
.card[data-pos="-1"],.card[data-pos="1"]{cursor:pointer}
.stage.dragging,.stage.dragging *{cursor:grabbing}
.card-pick:hover{background:rgba(255,255,255,.02)}

.controls{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:0}
.arrow{width:46px;height:46px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(5,7,8,.4);font-size:17px;display:grid;place-items:center;transition:border-color .2s,color .2s}
.arrow:hover{border-color:var(--a);color:var(--a)}
.labels{display:flex;gap:28px}
.label{background:none;border:0;border-bottom:1px solid transparent;padding:10px 0;font-size:13px;color:#93a2a5;transition:color .2s,border-color .2s}
.label:hover{color:#fff}
.label[aria-pressed="true"]{color:#fff;border-bottom-color:var(--a)}
.swipe-hint{display:none;margin:12px 0 0;text-align:center;font-family:var(--body);font-size:12.5px;line-height:1.4;color:#a9b8bb;text-shadow:0 1px 10px rgba(5,7,8,.85),0 0 3px rgba(5,7,8,.6)}
.counter{display:none;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:#a9b8bb;min-width:64px;text-align:center}

/* ---------- Bílá scéna s oparem ---------- */
.light-scene{position:relative;isolation:isolate;margin-top:calc(var(--fade) * -1);color:var(--ink)}
.satin--light{z-index:-3;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.2) calc(var(--fade) * .34),rgba(0,0,0,.74) calc(var(--fade) * .64),#000 calc(var(--fade) * .86));
          mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.2) calc(var(--fade) * .34),rgba(0,0,0,.74) calc(var(--fade) * .64),#000 calc(var(--fade) * .86))}
.satin--light img{object-position:50% 30%;transform:scale(1.06);animation:satin-pan 76s ease-in-out infinite alternate-reverse;will-change:transform}
.light-wash{position:absolute;inset:calc(var(--fade) * .5) 0 0;-webkit-mask-image:linear-gradient(180deg,transparent,#000 calc(var(--fade) * .7));mask-image:linear-gradient(180deg,transparent,#000 calc(var(--fade) * .7));z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(251,252,252,.5),rgba(251,252,252,.28) 60%,rgba(251,252,252,0))}
.haze{position:absolute;left:0;right:0;top:calc(var(--fade) * .05);height:calc(var(--fade) * .85);z-index:-1;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 60%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 60%,transparent)}
.haze{transition:opacity .6s linear;opacity:var(--ho,1)}
.haze i{position:absolute;inset:0 -20%;translate:var(--hx,0px) var(--hy,0px);will-change:transform}
.haze .h1{opacity:.26;background:radial-gradient(ellipse 30% 45% at 18% 55%,rgba(240,246,246,.9),transparent 70%),radial-gradient(ellipse 26% 40% at 62% 45%,rgba(226,238,238,.8),transparent 70%),radial-gradient(ellipse 22% 35% at 92% 60%,rgba(245,250,250,.8),transparent 70%);animation:haze-a 34s ease-in-out infinite alternate}
.haze .h2{opacity:.17;background:radial-gradient(ellipse 22% 30% at 70% 52%,rgba(0,212,200,.22),transparent 70%),radial-gradient(ellipse 34% 40% at 38% 60%,rgba(232,245,244,.9),transparent 70%),radial-gradient(ellipse 25% 38% at 78% 40%,rgba(222,240,239,.85),transparent 70%);animation:haze-b 46s ease-in-out infinite alternate}

.why{position:relative;padding-block:calc(var(--fade) * .9) calc(var(--fade2) + 10px);color:#0d1314}
/* jemný světlý závoj jen pod textem, aby se dobře četl; satén a odlesky zůstanou vidět */
.why:before{content:'';position:absolute;left:0;right:0;top:calc(var(--fade) * .5);bottom:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(251,252,252,.62),rgba(251,252,252,.46) 55%,rgba(251,252,252,.22));
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 140px,#000 calc(100% - 120px),transparent);mask-image:linear-gradient(180deg,transparent,#000 140px,#000 calc(100% - 120px),transparent)}
.why .eyebrow{color:#2f5f5f;margin-bottom:30px}
.why .eyebrow:before{background:#00a89f}
.why-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(40px,7vw,120px);align-items:end;margin-bottom:clamp(64px,8vw,104px)}
.why h2{font-size:clamp(40px,4.6vw,68px);line-height:1.02;letter-spacing:-.05em;font-weight:500;max-width:11ch;margin:0}
.why-head>p{font-size:17px;line-height:1.75;color:#33464a;margin:0 0 6px;max-width:34ch}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(17,40,44,.18)}
.why-grid article{position:relative;padding:34px clamp(24px,3vw,48px) 0;min-width:0}
.why-grid article:first-child{padding-left:0}
.why-grid article:last-child{padding-right:0}
.why-grid article+article{border-left:1px solid rgba(17,40,44,.14)}
.why-grid article:before{content:'';position:absolute;top:-1px;left:clamp(24px,3vw,48px);width:36px;height:1px;background:#00b8ae}
.why-grid article:first-child:before{left:0}
.why-grid h3{font-size:clamp(22px,1.8vw,27px);font-weight:500;letter-spacing:-.03em;line-height:1.15;margin:0 0 16px;color:#0d1314}
.why-grid p{font-size:15px;line-height:1.75;color:#3a4c50;margin:0;max-width:36ch}

/* ---------- Kontakt a patička (beze změny obsahu) ---------- */
/* Přechod bílá → černá: černý satén kontaktu se nasouvá přes bílý měkkou, nepravidelnou hranou */
.contact{position:relative;isolation:isolate;margin-top:calc(var(--fade2) * -1);padding-block:calc(var(--fade2) * .84) 110px;color:#fff}
.contact-bg{position:absolute;inset:0;z-index:-2;background:#050708;
  -webkit-mask-image:var(--edge),linear-gradient(#000,#000);mask-image:var(--edge),linear-gradient(#000,#000);
  -webkit-mask-size:100% var(--fade2),100% calc(100% - var(--fade2) + 2px);mask-size:100% var(--fade2),100% calc(100% - var(--fade2) + 2px);
  -webkit-mask-position:0 0,0 calc(var(--fade2) - 1px);mask-position:0 0,0 calc(var(--fade2) - 1px);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.contact-bg .satin img{object-position:46% 30%;transform:scale(1.06);animation:satin-pan 88s ease-in-out infinite alternate;will-change:transform}
/* klidnější satén za formulářem + plynulé navázání na patičku */
.contact-shade{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(55% 60% at 80% 62%,rgba(5,7,8,.62),transparent 75%),
    linear-gradient(90deg,rgba(5,7,8,.5),rgba(5,7,8,.42) 45%,rgba(5,7,8,.66)),
    linear-gradient(180deg,transparent 0,transparent 70%,#050708 100%)}
.haze--down{top:calc(var(--fade2) * .04);height:calc(var(--fade2) * .7);z-index:-1}
.haze--down .h1{opacity:.2}.haze--down .h2{opacity:.14}

.contact-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(48px,8vw,130px);align-items:start}
.contact .eyebrow{color:#cfd8d8}
.contact h2{font-size:clamp(44px,5vw,76px);line-height:1;letter-spacing:-.05em;font-weight:500;margin:0;max-width:9ch}
.contact-copy{color:#bac6c8;line-height:1.75;font-size:17px;margin:28px 0 48px;max-width:40ch}
.contact-links{border-top:1px solid rgba(255,255,255,.14)}
.contact-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.14);padding:20px 0;font-size:19px;letter-spacing:-.01em;transition:color .2s,padding .3s}
.contact-links small{color:#8fa4a8;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}
.contact-links a:hover{color:var(--a);padding-left:6px}
.contact-links a:hover small{color:var(--a)}

.contact-form{display:flex;flex-direction:column;padding-top:54px}
.contact-form label{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:#9db2b6;margin-bottom:8px}
.contact-form input,.contact-form textarea{font:inherit;font-size:17px;color:#f2f7f7;background:transparent;border:0;border-radius:0;padding:10px 0 14px;margin-bottom:32px;width:100%;outline:none;
  border-bottom:1px solid rgba(255,255,255,.22);
  background-image:linear-gradient(var(--a),var(--a));background-repeat:no-repeat;background-origin:border-box;background-position:0 100%;background-size:0 1px;transition:background-size .45s cubic-bezier(.2,.7,.2,1),border-color .2s}
.contact-form input:hover,.contact-form textarea:hover{border-bottom-color:rgba(255,255,255,.36)}
.contact-form input:focus,.contact-form textarea:focus{background-size:100% 1px;border-bottom-color:rgba(255,255,255,.1)}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:none}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7f9397}
.contact-form textarea{resize:vertical;min-height:118px;line-height:1.6}
.contact-form .btn-primary{border:0;align-self:flex-start;margin-top:4px}
.form-note{font-size:12px;line-height:1.6;color:#91a4a8;max-width:42ch;margin:18px 0 0}

/* Patička */
.footer{background:#050708;color:#8ea3a8;font-size:12.5px;line-height:1.6;padding-block:0 34px}
.footer-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px 40px;border-top:1px solid rgba(255,255,255,.12);padding-top:30px}
.footer-top{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:0}
.footer-top p{margin:0}
.footer-logo{display:block;width:72px;height:auto}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 28px}
.footer-links a{color:#c3cfd1;transition:color .2s}
.legal{grid-column:1 / -1;margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:#6f868b}
.footer a:hover{color:var(--a)}

/* ---------- Pohyb ---------- */
/* jen pomalý posun: stálé měřítko 1.06 dává 3 % rezervu na každé straně, posun max. 1,2 % → okraje obrázku se nikdy neodhalí */
@keyframes satin-pan{from{transform:scale(1.06) translate3d(-1.2%,-.7%,0)}to{transform:scale(1.06) translate3d(1.2%,.7%,0)}}
@keyframes sheen{from{transform:translateX(-10%);opacity:.3}to{transform:translateX(10%);opacity:.7}}
@keyframes haze-a{from{transform:translate3d(-4%,0,0)}to{transform:translate3d(4%,-6%,0)}}
@keyframes haze-b{from{transform:translate3d(5%,4%,0)}to{transform:translate3d(-5%,-2%,0)}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
body.paused .satin img,body.paused .sheen,body.paused .haze i,.is-off .satin img,.is-off .sheen,.is-off .haze i{animation-play-state:paused}
body.paused .card.lit .card-rim:after{animation:none}

/* ---------- Responzivita ---------- */
@media (max-width:1240px){
  .stage{--spread:1.06;--ss:.86}
}
@media (max-width:1000px){
  .stage{--spread:1.06;--ss:.84}
  .card h3{font-size:34px}
  .labels{gap:18px}
}
@media (max-width:760px){
  :root{--fade:190px;--fade2:220px}
  .wrap{width:min(1240px,100% - 36px)}
  .nav>a:not(.nav-cta){display:none}
  .nav-cta{font-size:12px;padding:11px 13px}
  .logo{width:84px}
  .site-header{padding-block:22px}
  .satin--dark img{object-position:90% 22%}
  .satin-video{object-position:80% 50%}
  .hero-shade{background:linear-gradient(90deg,rgba(5,7,8,.7),rgba(5,7,8,.3) 75%,rgba(5,7,8,.1))}
  .scene-shade{background:linear-gradient(180deg,rgba(5,7,8,0) 0,rgba(5,7,8,.15) 40%,rgba(5,7,8,.4) 60%,rgba(5,7,8,.2) 100%)}
  .hero{min-height:calc(82svh - 80px);padding-block:30px 96px}
  .hero h1{font-size:clamp(40px,11vw,56px);line-height:1.02}
  .hero .copy{font-size:15.5px}
  .hero .copy br{display:none}
  .actions{flex-direction:column;align-items:flex-start;gap:20px}
  .hero-foot{bottom:22px}
  .services-head{display:block}
  /* mobil: proporce podle čitelnosti, méně hloubky */
  .stage{--w:min(340px,calc(100vw - 48px));--h:266px;--spread:.94;height:calc(var(--h) + 40px);perspective:1100px}
  .stage:before{top:calc(var(--h) + 12px);height:24px}
  .card{top:12px;transition-duration:.7s}
  .card[data-pos="0"]{transform:translateX(var(--drag)) translate3d(0,0,0)}
  /* mobil: méně dekorativního pohybu */
  .sheen,.haze i{animation:none}
  .satin img{animation-duration:120s}
  /* mobil: sousední karty schované za aktivní, vykukuje jen okraj s jemným tyrkysovým lemem */
  .stage{--peek:calc(var(--w) * -.1 - 20px)}
  .card[data-pos="-1"]{transform:translateX(var(--drag)) translate3d(var(--peek),8px,-150px) rotateY(12deg) scale(.94)}
  .card[data-pos="1"]{transform:translateX(var(--drag)) translate3d(calc(var(--peek) * -1),8px,-150px) rotateY(-12deg) scale(.94)}
  .card:not([data-pos="0"]) .card-content{opacity:0;transition:opacity .14s ease}
  .card[data-pos="0"] .card-content{opacity:1;transition:opacity .42s ease .3s}
  .card:not([data-pos="0"]) .card-rim{background:linear-gradient(180deg,rgba(0,212,200,.42),rgba(0,212,200,.2) 50%,rgba(0,212,200,.34))}
  .card[data-pos="-1"] .card-pick{left:-30px}
  .card[data-pos="1"] .card-pick{right:-30px}
  .swipe-hint{display:block}
  .card-edge{display:none}
  .card-face{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(158deg,#151a1c,#0a0d0e 55%,#07090a)}
  .card-content{padding:24px 22px 18px}
  .card h3{font-size:31px}
  .card p{font-size:14.5px;line-height:1.55;margin-top:12px}
  .features{font-size:12.5px;margin-top:12px}
  .card.tilting{transition:transform .7s cubic-bezier(.18,.82,.22,1),opacity .6s ease}
  .labels{display:none}
  .counter{display:block}
  .why-head{grid-template-columns:1fr;gap:20px;margin-bottom:44px}
  .why h2{font-size:clamp(36px,10vw,46px)}
  .why-head>p{font-size:16px}
  .why-grid{grid-template-columns:1fr}
  .why-grid article,.why-grid article:first-child,.why-grid article:last-child{padding:26px 0 28px}
  .why-grid article+article{border-left:0;border-top:1px solid rgba(17,40,44,.14)}
  .why-grid article:before,.why-grid article:first-child:before{left:0}
  .why-grid h3{font-size:23px;margin-bottom:10px}
  .why{padding-block:calc(var(--fade) * .9) calc(var(--fade2) + 10px)}
  .contact{padding-block:calc(var(--fade2) * .84) 72px}
  .contact-grid{grid-template-columns:1fr;gap:56px}
  .contact h2{font-size:clamp(40px,11vw,52px)}
  .contact-copy{font-size:16px;margin:22px 0 36px}
  .contact-links a{font-size:17px;padding:17px 0}
  .contact-form{padding-top:0}
  .contact-form input,.contact-form textarea{font-size:16px;margin-bottom:28px}
  .contact-shade{background:linear-gradient(180deg,rgba(5,7,8,.35),rgba(5,7,8,.62) 45%,rgba(5,7,8,.72) 80%,#050708)}
  .footer-inner{grid-template-columns:1fr;gap:18px}
  .footer-links{justify-content:flex-start;gap:10px 22px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .satin img,.sheen,.haze i,.reveal{animation:none!important}
  .contact-form input,.contact-form textarea,.contact-links a{transition:none!important}
  .card,.card.tilting{transition:opacity .2s linear!important}
  .card.lit .card-rim:after{animation:none!important}
  .glyph,.card-cta span{transition:none!important}
  .reflex{transition:none!important}
  .card .card-content{transition:opacity .2s linear!important}
  .motion-toggle{display:none}
  .satin-video{display:none}
}

/* Varianta 17: původní tmavý satén, klidnější světlo, statické pozadí. */
.dark-scene{background:var(--black)}
.satin--dark img{object-position:62% 40%;transform:scale(1.02);animation:none!important;will-change:auto;filter:brightness(.79) contrast(.91) saturate(.85)}
.satin--light img,.satin--contact img{animation:none!important;will-change:auto}
.sheen{display:none}
.hero-shade{background:linear-gradient(90deg,rgba(5,7,8,.67) 0%,rgba(5,7,8,.42) 34%,rgba(5,7,8,.06) 66%,transparent 85%)}
.hero{min-height:clamp(470px,calc(73svh - 92px),660px);padding-block:30px 85px}
.hero h1{font-size:clamp(44px,5.3vw,80px);max-width:16ch;line-height:1.04;margin-bottom:24px}
.hero .copy{margin-bottom:28px}
.hero .eyebrow{margin-bottom:22px}
.motion-toggle{display:none}
@media(max-width:760px){.hero{min-height:530px;padding-block:25px 85px}.hero h1{font-size:clamp(42px,10vw,64px);max-width:15ch}.satin--dark img{object-position:90% 22%;transform:none}.hero-shade{background:linear-gradient(90deg,rgba(5,7,8,.68),rgba(5,7,8,.25))}}

/* V18: průsvitné digitální panely služeb. */
.card-back{background:rgba(5,10,12,.14);box-shadow:0 28px 55px -26px rgba(0,0,0,.7)}
.card-face{background:linear-gradient(145deg,rgba(210,249,245,.085),rgba(11,22,25,.46) 42%,rgba(5,12,15,.64));-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,212,200,.12)}
.card-edge{background:linear-gradient(180deg,rgba(194,255,249,.25),rgba(0,212,200,.09) 48%,rgba(255,255,255,.08))}
.card-gloss{background:linear-gradient(120deg,rgba(255,255,255,.055),transparent 33%,rgba(0,212,200,.025) 70%,transparent)}
.card[data-pos="0"] .card-rim{background:linear-gradient(150deg,rgba(230,255,252,.52),rgba(0,212,200,.34) 25%,rgba(255,255,255,.1) 60%,rgba(0,212,200,.4))}
.card-face:after{background:rgba(4,9,12,.22)}
.card p{color:#d5dfe0}
.card-foot{border-top-color:rgba(211,255,249,.14)}
@media(max-width:760px){.card-face{background:linear-gradient(145deg,rgba(208,249,245,.09),rgba(8,19,22,.64));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}}
@supports not (backdrop-filter:blur(1px)){.card-face{background:linear-gradient(145deg,rgba(30,46,49,.94),rgba(7,14,17,.93))}}

/* V19: viditelnější sklo a těsnější návaznost služeb. */
.card{--t:2px}
.card-back{background:transparent;box-shadow:0 18px 35px -22px rgba(0,0,0,.55)}
.card-edge{background:rgba(183,255,247,.25)}
.card-face{background:linear-gradient(135deg,rgba(223,255,252,.19),rgba(120,208,205,.07) 42%,rgba(9,22,26,.3));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,212,200,.26)}
.card-gloss{background:linear-gradient(115deg,rgba(255,255,255,.09),transparent 37%,rgba(0,212,200,.035))}
.card[data-pos="0"] .card-rim{background:linear-gradient(145deg,rgba(239,255,253,.75),rgba(0,212,200,.55) 30%,rgba(255,255,255,.2) 66%,rgba(0,212,200,.6))}
.card-face:after{background:rgba(4,9,12,.12)}
.services:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 58% 44%,rgba(0,212,200,.10),transparent 48%)}
.hero{min-height:clamp(430px,calc(66svh - 92px),590px);padding-bottom:40px}
.services{padding-top:18px}
.hero-foot{display:none}
@media(max-width:760px){.hero{min-height:485px;padding-bottom:35px}.services{padding-top:15px}.card-face{background:linear-gradient(135deg,rgba(223,255,252,.19),rgba(9,22,26,.4));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}}

/* v21: jemné doladění mobilní čitelnosti a návaznosti sekcí */
@media(max-width:760px){
  :root{--fade:155px;--fade2:175px}
  .features{color:#d0dddd}
  .card-face:after{background:rgba(4,9,12,.2)}
  .contact-form label{color:#c4d5d8}
  .contact-form input::placeholder,.contact-form textarea::placeholder{color:#b5c6c9;opacity:1}
  .contact-form input,.contact-form textarea{border-bottom-color:rgba(221,246,245,.32)}
}

/* v22: původní pozadí z japle.cz, statické a bez barevných filtrů */
.satin--dark img{object-position:50% 50%;transform:none;filter:none;animation:none!important}
.hero-shade{background:linear-gradient(90deg,rgba(5,7,8,.42),rgba(5,7,8,.2) 40%,transparent 74%)}
.scene-shade{background:linear-gradient(180deg,rgba(5,7,8,.08),rgba(5,7,8,.12) 40%,rgba(5,7,8,.24) 75%,rgba(5,7,8,.16))}
@media(max-width:760px){
 .satin--dark img{object-position:66% 50%;transform:none}
 .hero-shade{background:linear-gradient(90deg,rgba(5,7,8,.48),rgba(5,7,8,.18))}
}

/* v23: kompaktní začátek a jemné tyrkysové linie */
.hero{min-height:0;justify-content:flex-start;padding-block:48px 36px}
@media(max-width:760px){
 .hero{min-height:0;padding-block:28px 30px}
 }

/* v24: kompozice pouze z původních vln Japle */
.satin--dark img{object-position:85% 38%;transform:scale(1.08);transform-origin:85% 38%;filter:none}
.hero-shade{background:linear-gradient(90deg,rgba(5,7,8,.56) 0%,rgba(5,7,8,.3) 36%,rgba(5,7,8,.04) 62%,transparent 82%)}
@media(max-width:760px){
 .satin--dark img{object-position:66% 50%;transform:none}
 .hero-shade{background:linear-gradient(90deg,rgba(5,7,8,.48),rgba(5,7,8,.18))}
}

/* v25: středové hero a jemná prostorová odezva CTA */
.hero{text-align:center;padding-block:48px 46px}
.hero .wrap{position:relative}
.hero .eyebrow{justify-content:center;margin-bottom:22px}
.hero h1{max-width:18ch;margin-inline:auto}
.hero-accent{color:var(--a)}
.hero .copy{max-width:620px;margin-inline:auto}
.hero .actions{justify-content:center}
.hero-shade{background:radial-gradient(ellipse at 50% 44%,rgba(5,7,8,.62),rgba(5,7,8,.3) 45%,transparent 78%)}
.btn-primary{position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 12px rgba(0,0,0,.16);transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.btn-primary span{display:inline-block;transition:transform .22s ease}
.btn-primary:focus-visible{outline:2px solid #e0fffc;outline-offset:5px}
@media(hover:hover) and (pointer:fine){
 .btn-primary:hover{background:#17ded2;transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 12px 24px rgba(0,0,0,.26),0 4px 18px rgba(0,212,200,.15)}
 .btn-primary:hover span{transform:translate(2px,-2px)}
 .btn-secondary:hover{border-bottom-color:var(--a);color:#e7fffc}
}
.btn-primary:active{transform:translateY(1px);box-shadow:inset 0 1px 3px rgba(0,0,0,.18)}
.hero .reveal{animation-duration:.5s}
@media(max-width:760px){
 .hero{padding-block:28px 34px}
 .hero .actions{align-items:center;gap:15px}
 .hero .copy{max-width:34ch}
 .hero .eyebrow{font-size:10px;letter-spacing:.14em;gap:10px}
 .hero-shade{background:radial-gradient(ellipse at 50% 40%,rgba(5,7,8,.67),rgba(5,7,8,.32) 65%,transparent)}
}
@media(prefers-reduced-motion:reduce){
 .btn-primary,.btn-primary span,.btn-secondary{transition:none!important}
 .btn-primary:hover,.btn-primary:active,.btn-primary:hover span{transform:none}
 .hero .reveal{animation:none!important}
}

/* v26: skleněná typografie, jedna světelná vlna a střed služeb */
.hero .wrap{z-index:1}
.hero h1{color:#edf6f5}
.hero-accent{color:#67e6d9}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .hero h1{background:linear-gradient(160deg,#fff 12%,rgba(232,247,245,.78) 43%,#fff 56%,rgba(198,225,222,.78) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.45px rgba(241,255,252,.5);filter:drop-shadow(0 2px 7px rgba(0,0,0,.18))}
 .hero-accent{background:linear-gradient(160deg,#b6fff4 0%,rgba(0,212,200,.82) 43%,#79f2e2 65%,rgba(0,212,200,.88) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.4px rgba(162,255,243,.45)}
}
.hero-wave{position:absolute;left:max(0px,calc(50% - 770px));top:10px;width:clamp(180px,22vw,330px);height:440px;pointer-events:none;z-index:0}
.services>.wrap>.eyebrow{justify-content:center}
.services-head{justify-content:center;text-align:center}
@media(max-width:760px){.hero-wave{left:-75px;top:45px;width:180px;height:350px;opacity:.45}.services-head{text-align:center}}
@media(forced-colors:active){.hero h1,.hero-accent{background:none;color:CanvasText;-webkit-text-stroke:0;filter:none}.hero-wave{display:none}}

/* v27: čisté sekce, klidnější karty a výraznější skleněné písmo */
.stage:before{background:radial-gradient(ellipse,rgba(0,0,0,.3),transparent 70%);opacity:.45}
.services:before{display:none}
.card-face{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(195,239,233,.1)}
.hero{padding-top:40px}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .hero h1{background:linear-gradient(178deg,rgba(255,255,255,.95) 0%,rgba(225,246,243,.88) 25%,rgba(182,206,204,.48) 48%,rgba(248,255,253,.9) 51%,rgba(192,221,216,.6) 74%,rgba(255,255,255,.92) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.65px rgba(245,255,253,.62);filter:drop-shadow(0 3px 6px rgba(0,0,0,.24))}
 .hero-accent{background:linear-gradient(178deg,rgba(183,255,244,.95),rgba(0,212,200,.7) 34%,rgba(0,144,138,.5) 49%,rgba(178,255,240,.94) 52%,rgba(0,212,200,.62) 76%,rgba(110,244,225,.95));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.65px rgba(125,250,230,.62)}
}
@media(max-width:760px){.hero{padding-top:24px}}
@media(forced-colors:active){.hero h1,.hero-accent{background:none;color:CanvasText;-webkit-text-stroke:0;filter:none}}

/* v28: čitelnost a prostor pro obsah na menších obrazovkách */
.features{color:#c4d3d4}
.label{min-height:44px;padding-inline:4px}
@media(max-width:760px){
 .card h3{font-size:clamp(26px,7.5vw,31px)}
 .features{color:#d0dddd}
 .btn-secondary{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:380px){
 .stage{--h:302px}
 .card-content{padding:22px 20px 18px}
 .card-foot{padding-top:12px}
 .hero h1{font-size:clamp(34px,10.5vw,40px)}
 .hero .copy{font-size:15px}
}

/* Integrace WordPressu */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form input[type="hidden"]{display:none}
.form-success,.form-error{padding:16px 18px;margin:0 0 24px;border:1px solid rgba(0,212,200,.45);border-radius:4px;line-height:1.6}
.form-error{border-color:#cf998a}
.services-fallback{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.services-fallback article{padding:24px;border:1px solid rgba(0,212,200,.25);border-radius:10px}
.services-fallback p{color:#c4d3d4;line-height:1.6}
.services-fallback a{display:inline-block;color:var(--a);margin-top:12px}
.entry-content{line-height:1.8;color:#d4dedd;overflow-wrap:anywhere}
.entry-content h2,.entry-content h3{margin-top:1.5em;color:#fff}
.entry-content a{color:var(--a);text-decoration:underline}
.entry-content ul,.entry-content ol{padding-left:1.5em}
@media(max-width:760px){.services-fallback{grid-template-columns:1fr}}
