:root{
    --ink:#000000;
    --paper:#FFFFFF;
    --bone:#F5F5F3;
    --smoke:#8C8C8C;
    --ash:#D9D9D6;
    --display:"Bodoni Moda", "Didot", "Times New Roman", serif;
    --sans:"Manrope", "Helvetica Neue", Arial, sans-serif;
    --gutter:clamp(20px, 5vw, 72px);
    --max:1320px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  }
  body{
    font-family:var(--sans);
    font-weight:300;
    font-size:17px;
    line-height:1.65;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
  }
  img{display:block;max-width:100%;filter:grayscale(1) contrast(1.05)}
  a{color:inherit;text-decoration:none}
  :focus-visible{outline:2px solid currentColor;outline-offset:4px}
  .wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
  .serif{font-family:var(--display)}
  em{font-style:italic;font-weight:400}

  /* ---------- Nav ---------- */
  .nav{
    position:fixed;inset:0 0 auto 0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:22px var(--gutter);
    mix-blend-mode:difference;color:#fff;
  }
  .brand{font-family:var(--display);font-size:26px;letter-spacing:.02em;font-weight:500;line-height:1}
  .brand span{font-style:italic;font-weight:400}
  .site-nav{display:flex;gap:34px;font-size:13px;font-weight:500;letter-spacing:.04em}
  .site-nav a{position:relative;padding-bottom:4px}
  .site-nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.7,0,.2,1)}
  .site-nav a:hover::after{transform:scaleX(1)}
  .nav-lang{display:flex;align-items:center;margin-left:28px;padding-left:28px;border-left:1px solid rgba(255,255,255,.18)}
  .menu-foot .mj-switch{font-size:.86rem;letter-spacing:.24em}
  .foot-bottom .lang{display:inline-flex;align-items:center}
  @media(max-width:900px){.nav-lang{display:none}}
  .burger{display:none;background:none;border:0;color:inherit;cursor:pointer;width:40px;height:40px;position:relative}
  .burger i{position:absolute;left:8px;right:8px;height:1.5px;background:currentColor;transition:transform .4s,top .4s,opacity .3s}
  .burger i:nth-child(1){top:14px}.burger i:nth-child(2){top:20px}.burger i:nth-child(3){top:26px}
  .burger[aria-expanded="true"] i:nth-child(1){top:20px;transform:rotate(45deg)}
  .burger[aria-expanded="true"] i:nth-child(2){opacity:0}
  .burger[aria-expanded="true"] i:nth-child(3){top:20px;transform:rotate(-45deg)}

  .menu{
    position:fixed;inset:0;z-index:40;background:var(--ink);color:var(--paper);
    display:grid;grid-template-rows:1fr auto;padding:110px var(--gutter) 40px;
    clip-path:inset(0 0 100% 0);transition:clip-path .7s cubic-bezier(.77,0,.18,1);
  }
  .menu.open{clip-path:inset(0 0 0 0)}
  .menu ol{list-style:none;counter-reset:m}
  .menu li{border-top:1px solid rgba(255,255,255,.18)}
  .menu li a{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;font-family:var(--display);font-size:clamp(28px,6vw,52px);line-height:1.05}
  .menu li a small{font-family:var(--sans);font-size:12px;letter-spacing:.08em;color:var(--smoke)}
  .menu-foot{display:flex;justify-content:space-between;font-size:13px;color:var(--smoke)}

  /* ---------- Hero / Cover ---------- */
  .hero{
    position:relative;min-height:100svh;background:var(--ink);color:var(--paper);overflow:hidden;
    display:grid;align-items:end;padding:0 var(--gutter) clamp(48px,7vh,80px);
  }
  .cover{position:absolute;inset:0;z-index:0;overflow:hidden}
  .cover-img{
    position:absolute;top:0;right:0;height:100%;width:70%;
    object-fit:cover;object-position:62% 0%;
    filter:grayscale(1) contrast(1.08) brightness(.9);
    transform:scale(1.14);transform-origin:70% 20%;
    clip-path:inset(100% 0 0 0);
    animation:coverIn 1.9s .25s cubic-bezier(.77,0,.18,1) both;
    will-change:transform,clip-path;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 42%),linear-gradient(0deg,transparent 0%,#000 38%);
    mask-image:linear-gradient(90deg,transparent 0%,#000 42%),linear-gradient(0deg,transparent 0%,#000 38%);
    -webkit-mask-composite:source-in;mask-composite:intersect;
  }
  @keyframes coverIn{to{clip-path:inset(0 0 0 0);transform:scale(1)}}
  /* prechod z fotky do čiernej — vľavo aj dole */
  .cover::before{content:"";position:absolute;inset:0;z-index:1;
    background:
      linear-gradient(90deg,var(--ink) 40%,rgba(0,0,0,.92) 48%,rgba(0,0,0,.55) 58%,rgba(0,0,0,.18) 68%,rgba(0,0,0,0) 78%),
      linear-gradient(0deg,var(--ink) 0%,rgba(0,0,0,.7) 16%,rgba(0,0,0,0) 48%),
      linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 32%);
  }
  /* tenký svetlý rám fotky, ktorý „dobehne" po odhalení */
  .cover-frame{position:absolute;top:8%;right:calc(var(--gutter) * .6);bottom:14%;width:calc(54% - var(--gutter) * 1.2);z-index:2;pointer-events:none;
    border:1px solid rgba(255,255,255,.28);
    clip-path:inset(0 100% 0 0);animation:frameIn 1.6s 1.4s cubic-bezier(.77,0,.18,1) both}
  @keyframes frameIn{to{clip-path:inset(0 0 0 0)}}
  .cover-frame::after{content:"";position:absolute;inset:-1px;transform:translate(12px,12px);border:1px solid rgba(255,255,255,.14)}

  .hero-ghost{
    position:absolute;left:-.03em;top:6vh;z-index:1;
    font-family:var(--display);font-weight:400;
    font-size:clamp(150px,30vw,520px);line-height:.8;letter-spacing:-.02em;
    color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);
    user-select:none;pointer-events:none;white-space:nowrap;
    animation:ghost 2.2s .1s cubic-bezier(.2,.7,.2,1) both;
    will-change:transform;
  }
  @keyframes ghost{from{opacity:0;letter-spacing:.12em}to{opacity:1;letter-spacing:-.02em}}

  .hero-grid{position:relative;z-index:3;max-width:var(--max);margin:0 auto;width:100%}
  .hero-copy{max-width:min(640px,60%)}
  .hero-copy h1{
    font-family:var(--display);font-weight:400;
    font-size:clamp(42px,6vw,92px);line-height:.96;letter-spacing:-.015em;
  }
  .hero-copy h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
  .hero-copy h1 .ln span{display:block;transform:translateY(110%);animation:lineUp 1.1s cubic-bezier(.2,.7,.2,1) forwards}
  .hero-copy h1 .ln:nth-child(1) span{animation-delay:.9s}
  .hero-copy h1 .ln:nth-child(2) span{animation-delay:1.02s}
  .hero-copy h1 .ln:nth-child(3) span{animation-delay:1.14s}
  .hero-copy h1 .ln:nth-child(4) span{animation-delay:1.26s}
  @keyframes lineUp{to{transform:none}}
  .hero-copy p,.hero-actions{opacity:0;transform:translateY(14px);animation:fadeUp 1s 1.6s cubic-bezier(.2,.7,.2,1) forwards}
  .hero-actions{animation-delay:1.75s}
  @keyframes fadeUp{to{opacity:1;transform:none}}
  .hero-copy p{margin-top:30px;max-width:44ch;color:#BDBDBD;font-size:16px}
  .hero-actions{margin-top:38px;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}
  .btn{
    display:inline-flex;align-items:center;gap:14px;
    font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.06em;
    padding:16px 26px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;
    transition:background .3s,color .3s;
  }
  .btn.solid{background:var(--paper);color:var(--ink);border-color:var(--paper)}
  .btn.solid:hover{background:transparent;color:var(--paper)}
  .btn.ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .btn.ink:hover{background:transparent;color:var(--ink)}
  .link{font-size:13px;font-weight:500;letter-spacing:.04em;border-bottom:1px solid currentColor;padding-bottom:3px}

  .hero-caption{position:absolute;right:calc(var(--gutter) * .6 + 24px);bottom:calc(14% + 22px);z-index:3;
    font-family:var(--display);font-style:italic;font-size:22px;color:#D6D6D6;transform:rotate(-4deg);
    opacity:0;animation:fadeUp 1s 2.2s forwards}
  .hero-side{position:absolute;left:14px;top:50%;z-index:3;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);
    font-size:11px;letter-spacing:.24em;color:var(--smoke);white-space:nowrap;opacity:0;animation:fadeUp 1s 2s forwards}
  .hero-scrollline{position:absolute;left:50%;bottom:0;width:1px;height:64px;background:rgba(255,255,255,.35);z-index:3;transform-origin:top;
    transform:scaleY(0);animation:grow 1.4s 2.4s cubic-bezier(.77,0,.18,1) forwards}
  @keyframes grow{to{transform:scaleY(1)}}

  /* filmové zrno */
  .grain{position:fixed;inset:-100%;z-index:70;pointer-events:none;opacity:.055;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
    animation:grainMove 1.2s steps(6) infinite}
  @keyframes grainMove{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-5%,-2%)}80%{transform:translate(4%,4%)}100%{transform:translate(0,0)}}
  .cover-img.done,.hero-ghost.done{animation:none;clip-path:none;opacity:1;letter-spacing:-.02em}
  @media (prefers-reduced-motion:reduce){
    .grain{animation:none;opacity:.035}
    .cover-img,.cover-frame,.hero-ghost,.hero-copy h1 .ln span,.hero-copy p,.hero-actions,.hero-caption,.hero-side,.hero-scrollline{animation:none;clip-path:none;transform:none;opacity:1}
    .hero-caption{transform:rotate(-4deg)}.hero-side{transform:translateY(-50%) rotate(180deg)}
  }

  @media (max-width:1000px){
    .cover-img{width:86%;object-position:55% 0%}
    .cover-frame{width:calc(78% - var(--gutter) * 1.2)}
    .hero-copy{max-width:100%}
    .cover::before{background:
      linear-gradient(90deg,var(--ink) 18%,rgba(0,0,0,.7) 34%,rgba(0,0,0,0) 62%),
      linear-gradient(0deg,var(--ink) 0%,rgba(0,0,0,.75) 26%,rgba(0,0,0,0) 55%)}
  }
  @media (max-width:720px){
    .hero{padding-bottom:64px;align-items:end}
    .cover-img{width:100%;height:82%;object-position:60% 0%;transform-origin:60% 20%;
      -webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 45%);mask-image:linear-gradient(0deg,transparent 0%,#000 45%);-webkit-mask-composite:source-over;mask-composite:add}
    .cover-frame,.hero-side{display:none}
    .cover::before{background:
      linear-gradient(0deg,var(--ink) 22%,rgba(0,0,0,.85) 40%,rgba(0,0,0,.15) 62%,rgba(0,0,0,0) 80%),
      linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 28%)}
    .hero-ghost{top:4vh;font-size:44vw}
    .hero-copy h1{font-size:clamp(38px,11vw,54px)}
    .hero-caption{right:var(--gutter);bottom:auto;top:14vh;font-size:19px}
    .hero-ghost{-webkit-text-stroke:1px rgba(255,255,255,.14)}
  }

  /* ---------- Marquee ---------- */
  .band{
    background:var(--paper);color:var(--ink);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
    overflow:hidden;white-space:nowrap;padding:18px 0;
  }
  .band-track{display:inline-flex;gap:80px;animation:slide 40s linear infinite;font-family:var(--display);font-style:italic;font-size:26px}
  .band-track span::before{content:"◆";font-style:normal;font-size:9px;vertical-align:middle;margin-right:80px}
  @keyframes slide{to{transform:translateX(-50%)}}
  @media (prefers-reduced-motion:reduce){.band-track{animation:none}}

  /* ---------- Sections ---------- */
  section{padding:clamp(80px,11vw,160px) 0}
  .lead{font-family:var(--display);font-style:italic;font-size:22px;color:var(--smoke);margin-bottom:28px}
  h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.6vw,68px);line-height:1.05;letter-spacing:-.012em}
  h2 em{font-weight:400}
  .prose{max-width:58ch}
  .prose p+p{margin-top:1.2em}
  .prose strong{font-weight:600}

  /* Manifest */
  .manifest{background:var(--bone)}
  .manifest .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,7vw,120px);align-items:start}
  .manifest h2{font-size:clamp(40px,6vw,92px);max-width:14ch}
  .manifest .aside{padding-top:clamp(20px,6vw,110px)}
  .manifest .aside p:first-child{font-family:var(--display);font-size:24px;line-height:1.35;margin-bottom:22px}

  /* O Madam */
  .about .wrap{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:clamp(40px,7vw,120px);align-items:start}
  .about-fig{position:relative;margin-top:24px}
  .about-fig img{aspect-ratio:3/4;object-fit:cover;width:100%}
  .about-fig figcaption{margin-top:14px;font-size:12px;letter-spacing:.06em;color:var(--smoke);display:flex;justify-content:space-between}
  .decide{margin-top:44px;border-top:1px solid var(--ink)}
  .decide li{list-style:none;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:20px;padding:16px 0;border-bottom:1px solid var(--ash);font-family:var(--display);font-size:clamp(22px,2.6vw,34px);font-style:italic}
  .decide li span{font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.06em;color:var(--smoke)}
  .decide-title{font-size:13px;font-weight:600;letter-spacing:.06em;margin-top:56px}
  .about .closing{margin-top:44px;font-family:var(--display);font-size:24px;line-height:1.35;max-width:30ch}

  /* Patriť */
  .belong{background:var(--ink);color:var(--paper)}
  .belong .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px)}
  .belong h2{max-width:11ch}
  .belong .lead{color:#8C8C8C}
  .rules{counter-reset:r;list-style:none;border-top:1px solid rgba(255,255,255,.3)}
  .rules li{counter-increment:r;display:grid;grid-template-columns:56px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:18px;line-height:1.5;font-weight:300}
  .rules li::before{content:counter(r,upper-roman);font-family:var(--display);font-size:34px;line-height:1;color:var(--smoke)}
  .belong .verdict{margin-top:36px;display:grid;gap:8px}
  .belong .verdict p{font-family:var(--display);font-size:24px;line-height:1.3}
  .belong .verdict p em{color:#BDBDBD}

  /* Galéria */
  .gallery{background:var(--paper)}
  .gallery-head{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap;margin-bottom:56px}
  .gallery-head p{max-width:40ch;color:var(--smoke)}
  .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,2vw,28px);align-items:start}
  .tile{background:none;border:0;padding:0;cursor:zoom-in;position:relative;overflow:hidden;display:block;width:100%}
  .tile img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
  .tile:hover img{transform:scale(1.03)}
  .tile:nth-child(1){grid-column:1/5;margin-top:0}
  .tile:nth-child(2){grid-column:5/8;margin-top:80px}
  .tile:nth-child(3){grid-column:8/13;margin-top:20px}
  .tile:nth-child(4){grid-column:2/6;margin-top:0}
  .tile:nth-child(5){grid-column:6/10;margin-top:60px}
  .tile:nth-child(6){grid-column:10/13;margin-top:-40px}
  .lightbox{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:40px}
  .lightbox.open{display:flex}
  .lightbox img{max-height:90vh;max-width:90vw;object-fit:contain}
  .lightbox button{position:absolute;top:22px;right:24px;background:none;border:0;color:#fff;font-size:14px;letter-spacing:.1em;cursor:pointer;padding:10px}

  /* Proces */
  .process{background:var(--bone)}
  .process-head{max-width:60ch;margin-bottom:64px}
  .steps{border-top:1px solid var(--ink)}
  .step{border-bottom:1px solid var(--ink)}
  .step-btn{
    width:100%;background:none;border:0;cursor:pointer;text-align:left;color:inherit;
    display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:baseline;padding:30px 0;
  }
  .step-btn .num{font-family:var(--display);font-size:38px;line-height:1;color:var(--smoke)}
  .step-btn .ttl{font-family:var(--display);font-size:clamp(26px,3.4vw,44px);line-height:1.05}
  .step-btn .ind{width:28px;height:28px;position:relative;align-self:center}
  .step-btn .ind::before,.step-btn .ind::after{content:"";position:absolute;background:var(--ink);top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .4s}
  .step-btn .ind::before{width:18px;height:1px}
  .step-btn .ind::after{width:1px;height:18px}
  .step-btn[aria-expanded="true"] .ind::after{transform:translate(-50%,-50%) rotate(90deg)}
  .step-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.77,0,.18,1)}
  .step-body>div{overflow:hidden}
  .step-body.open{grid-template-rows:1fr}
  .step-inner{display:grid;grid-template-columns:90px 1.2fr .8fr;gap:24px;padding:0 0 40px}
  .step-inner>*:first-child{grid-column:2}
  .fig{font-family:var(--display);font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.02em}
  .fig small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--smoke);margin-top:8px}
  .step-inner ul{list-style:none;margin-top:18px;border-top:1px solid var(--ash)}
  .step-inner li{padding:12px 0;border-bottom:1px solid var(--ash);font-size:16px}
  .step-inner p{max-width:52ch}
  .step-inner p+p{margin-top:1em}
  .figs{display:grid;gap:26px;align-content:start}
  .process-cta{margin-top:56px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}

  /* Žiadosť */
  .apply .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,120px);align-items:start}
  .apply-fig{position:relative}
  .apply-fig img{aspect-ratio:3/4;object-fit:cover;width:100%}
  .apply-fig .over{position:absolute;inset:auto -12px -18px auto;background:var(--paper);padding:14px 18px;font-family:var(--display);font-style:italic;font-size:22px}
  form{display:grid;gap:34px;margin-top:40px}
  .field{position:relative}
  .field input,.field textarea{
    width:100%;background:none;border:0;border-bottom:1px solid var(--ink);padding:14px 0 12px;
    font:inherit;color:inherit;font-size:18px;resize:vertical;
  }
  .field label{position:absolute;left:0;top:14px;font-size:16px;color:var(--smoke);transition:transform .3s,font-size .3s;pointer-events:none;transform-origin:left}
  .field input:focus,.field textarea:focus{outline:none;border-bottom-width:2px}
  .field input:focus+label,.field textarea:focus+label,
  .field input:not(:placeholder-shown)+label,.field textarea:not(:placeholder-shown)+label{transform:translateY(-24px);font-size:11px;letter-spacing:.06em}
  .field .err{display:none;font-size:12px;margin-top:8px;color:var(--ink)}
  .field.invalid .err{display:block}
  .field.invalid input,.field.invalid textarea{border-bottom-width:2px}
  .check{display:flex;gap:14px;align-items:flex-start;font-size:14px;color:#555}
  .check input{margin-top:5px;accent-color:var(--ink);width:16px;height:16px;flex:none}
  .form-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
  .form-foot small{color:var(--smoke);font-size:12px;max-width:34ch}
  .sent{display:none;border:1px solid var(--ink);padding:36px;margin-top:40px}
  .sent.show{display:block}
  .sent p{font-family:var(--display);font-size:28px;line-height:1.25}
  .sent p+p{font-family:var(--sans);font-size:15px;margin-top:14px;color:#555}

  /* Footer */
  footer{background:var(--ink);color:var(--paper);padding:80px 0 30px}
  .foot-top{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.2)}
  .foot-top .brand{font-size:40px}
  .foot-top p{color:var(--smoke);max-width:30ch;margin-top:18px;font-size:15px}
  .foot-list{list-style:none;display:grid;gap:12px;font-size:14px}
  .foot-list a{border-bottom:1px solid transparent;transition:border-color .3s}
  .foot-list a:hover{border-color:currentColor}
  .foot-h{font-family:var(--display);font-style:italic;font-size:20px;margin-bottom:18px;color:#BDBDBD}
  .gift{display:inline-flex;align-items:center;gap:14px;margin-top:22px;border:1px solid rgba(255,255,255,.5);padding:14px 20px;font-size:13px;font-weight:600;letter-spacing:.06em;transition:background .3s,color .3s}
  .gift:hover{background:var(--paper);color:var(--ink)}
  .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:26px;font-size:12px;color:var(--smoke)}
  .lang{display:inline-flex;gap:12px}
  .lang a[aria-current]{color:var(--paper);border-bottom:1px solid var(--paper)}
  .age{font-size:12px;color:var(--smoke)}

  /* ---------- Responsive ---------- */
  @media (max-width:1000px){
    .manifest .wrap,.about .wrap,.belong .wrap,.apply .wrap{grid-template-columns:1fr}
    .about-fig{max-width:420px}
    .foot-top{grid-template-columns:1fr 1fr}
    .step-inner{grid-template-columns:90px 1fr}
    .step-inner>*:first-child{grid-column:2}
    .figs{grid-column:2}
  }
  @media (max-width:720px){
    body{font-size:16px}
    .site-nav{display:none}
    .burger{display:block}
    .grid{grid-template-columns:repeat(6,1fr)}
    .tile:nth-child(1){grid-column:1/5;margin-top:0}
    .tile:nth-child(2){grid-column:3/7;margin-top:-40px}
    .tile:nth-child(3){grid-column:1/4;margin-top:0}
    .tile:nth-child(4){grid-column:4/7;margin-top:40px}
    .tile:nth-child(5){grid-column:1/5;margin-top:0}
    .tile:nth-child(6){grid-column:3/7;margin-top:-30px}
    .step-btn{grid-template-columns:56px 1fr auto;gap:14px}
    .step-inner{grid-template-columns:1fr;gap:20px;padding-bottom:34px}
    .step-inner>*:first-child,.figs{grid-column:1}
    .figs{grid-template-columns:1fr 1fr}
    .foot-top{grid-template-columns:1fr}
    .decide li{font-size:22px}
  }

/* ---------- WordPress doplnky ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:100}
.skip:focus{left:16px;top:16px}
.nav-list,.menu-list,.inline-links,.foot-list{list-style:none}
.nav-list{display:flex;gap:34px}
.nav-list a{position:relative;padding-bottom:4px}
.nav-list a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.7,0,.2,1)}
.nav-list a:hover::after,.nav-list .current-menu-item a::after{transform:scaleX(1)}
.inline-links{display:flex;gap:28px;flex-wrap:wrap}
.inline-links a{font-size:13px;font-weight:500;letter-spacing:.04em;border-bottom:1px solid currentColor;padding-bottom:3px}
.mt-18{margin-top:18px}.mt-24{margin-top:24px}.mt-28{margin-top:28px}.mt-36{margin-top:36px}.mt-40{margin-top:40px}
.muted{color:#555}
.ph{aspect-ratio:3/4;width:100%;background:repeating-linear-gradient(135deg,#eee 0 10px,#e4e4e4 10px 20px);display:grid;place-items:center;font-size:12px;letter-spacing:.06em;color:var(--smoke)}
.hero .ph,.belong .ph{background:repeating-linear-gradient(135deg,#111 0 10px,#1a1a1a 10px 20px)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.form-error{font-size:13px;color:var(--ink);min-height:1em}
.form-error:empty{display:none}
.wpforms-wrap .wpforms-field input,.wpforms-wrap .wpforms-field textarea{border:0!important;border-bottom:1px solid var(--ink)!important;border-radius:0!important;background:none!important;font:inherit!important;font-size:18px!important;padding:14px 0 12px!important}
.wpforms-wrap .wpforms-submit{font-family:var(--sans)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.06em!important;padding:16px 26px!important;border:1px solid var(--ink)!important;background:var(--ink)!important;color:var(--paper)!important;border-radius:0!important}
.lang .trp-language-switcher{background:none;border:0}
.lang .trp-language-switcher a{color:inherit}

/* Archív / článok / stránka */
.archive-head,.single-head,.notfound{padding-top:clamp(140px,18vw,220px)}
.archive-head .wrap,.single-head .wrap.narrow{padding-bottom:clamp(40px,6vw,80px)}
.archive-head h1,.single-head h1,.notfound h1,.gallery-page h1{font-family:var(--display);font-weight:400;font-size:clamp(40px,6vw,88px);line-height:1;letter-spacing:-.015em;max-width:16ch}
.wrap.narrow{max-width:760px}
.archive{padding-top:0}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px) clamp(16px,2.5vw,36px);border-top:1px solid var(--ink);padding-top:48px}
.card{display:grid;gap:18px;align-content:start}
.card:nth-child(3n+2){margin-top:60px}
.card-media img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.card-media{overflow:hidden;display:block}
.card:hover .card-media img{transform:scale(1.03)}
.card time{font-size:12px;letter-spacing:.06em;color:var(--smoke)}
.card h2{font-size:clamp(24px,2.4vw,32px);margin:8px 0 10px}
.card p{color:#555;font-size:15px;margin-bottom:14px}
.pagination{margin-top:64px;border-top:1px solid var(--ink);padding-top:24px}
.pagination .nav-links{display:flex;gap:18px;font-family:var(--display);font-size:22px}
.pagination .current{border-bottom:1px solid var(--ink)}
.single-fig img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:clamp(40px,6vw,80px)}
.entry{font-size:18px;line-height:1.75;padding-bottom:clamp(60px,8vw,120px)}
.entry>*+*{margin-top:1.4em}
.entry h2,.entry h3,.entry h4{font-family:var(--display);font-weight:400;line-height:1.1;margin-top:2em}
.entry h2{font-size:clamp(30px,3.6vw,48px)}.entry h3{font-size:clamp(24px,2.8vw,34px)}.entry h4{font-size:22px}
.entry a{border-bottom:1px solid var(--ink)}
.entry blockquote{border-left:1px solid var(--ink);padding-left:28px;font-family:var(--display);font-style:italic;font-size:26px;line-height:1.35}
.entry ul,.entry ol{padding-left:1.2em}
.entry li+li{margin-top:.4em}
.entry img{width:100%}
.entry figcaption{font-size:12px;letter-spacing:.06em;color:var(--smoke);margin-top:10px}
.entry .wp-block-button__link{display:inline-flex;font-size:13px;font-weight:600;letter-spacing:.06em;padding:16px 26px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:0}
.entry .wp-block-button.is-style-outline .wp-block-button__link{background:none;color:var(--ink)}
.entry hr{border:0;border-top:1px solid var(--ink);margin:3em 0}
.entry table{width:100%;border-collapse:collapse;font-size:15px}
.entry td,.entry th{border-bottom:1px solid var(--ash);padding:12px 0;text-align:left}
.single-foot{padding-bottom:clamp(60px,8vw,120px)}
.post-navigation .nav-links{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--ink);padding-top:24px;font-family:var(--display);font-size:20px}
.notfound{min-height:80svh;display:grid;align-items:center;padding-bottom:80px}
.notfound p{max-width:44ch;margin:20px 0 32px}
.gallery-page{padding-top:clamp(140px,18vw,220px)}
.grid-page .tile{grid-column:span 4}
.grid-page .tile:nth-child(6n+2){margin-top:80px}
.grid-page .tile:nth-child(6n+3){margin-top:20px}
.grid-page .tile:nth-child(6n+5){margin-top:60px}
.grid-page .tile:nth-child(6n+6){margin-top:-40px}
.comments{padding-bottom:clamp(60px,8vw,120px)}
.comment-list{list-style:none;border-top:1px solid var(--ink)}
.comment-list li{border-bottom:1px solid var(--ash);padding:20px 0}
.comment-list .children{list-style:none;padding-left:28px;margin-top:16px}
.comment-form{display:grid;gap:24px;margin-top:32px}
.comment-form input,.comment-form textarea{width:100%;background:none;border:0;border-bottom:1px solid var(--ink);padding:12px 0;font:inherit;font-size:17px}
.comment-form label{font-size:12px;letter-spacing:.06em;color:var(--smoke)}
.search-form{display:grid;gap:24px;max-width:420px}
@media (max-width:900px){.posts{grid-template-columns:repeat(2,1fr)}.card:nth-child(3n+2){margin-top:0}.card:nth-child(even){margin-top:40px}}
@media (max-width:720px){.nav-list{display:none}.posts{grid-template-columns:1fr}.card:nth-child(even){margin-top:0}.grid-page .tile{grid-column:span 3}}

/* ---------- Kurzor — obojok ---------- */
.cursor,.cursor-dot{display:none}
@media (pointer:fine){
  .cursor,.cursor-dot{display:block}
  body.has-cursor,body.has-cursor a,body.has-cursor button,body.has-cursor input,body.has-cursor textarea,body.has-cursor label{cursor:none}
  .cursor{position:fixed;left:0;top:0;z-index:90;pointer-events:none;mix-blend-mode:difference;will-change:transform}
  .cursor-dot{position:fixed;left:0;top:0;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:#fff;z-index:91;pointer-events:none;mix-blend-mode:difference}
  .cursor svg{width:44px;height:52px;margin:-22px 0 0 -22px;display:block;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .3s}
  .cursor.is-link svg{transform:scale(1.55) rotate(-14deg)}
  .cursor.is-down svg{transform:scale(.85)}
  .cursor.is-hidden svg{opacity:0}
  .cursor .ring{fill:none;stroke:#fff;stroke-width:1.6}
  .cursor .stud{fill:#fff}
  .cursor .dring{fill:none;stroke:#fff;stroke-width:1.4}
  .cursor.is-link .stud{animation:studs 1.2s linear infinite}
  @keyframes studs{to{stroke-dashoffset:0}}
}

/* ---------- Logo ---------- */
.nav .brand-logo{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:14px;font-size:0;line-height:0;width:auto}
.nav .brand-logo img{flex:none;display:block}
.brand-emblem{width:40px;height:auto;filter:none}
.brand-word{width:150px;height:auto;filter:none;opacity:.95}
.foot-logo{width:200px;height:auto;filter:none;opacity:.92;margin-bottom:6px}
.menu .brand-logo{display:none}
.offline-logo{filter:none;margin-bottom:28px}
.hero .cover::after{content:"";position:absolute;right:calc(var(--gutter) * .6 + 26px);top:calc(8% + 22px);width:56px;height:63px;z-index:3;
  background:url(../img/logo-emblem-white.png) center/contain no-repeat;opacity:0;animation:fadeUp 1s 2.4s forwards}
@media (max-width:720px){
  .brand-word{width:118px}.brand-emblem{width:32px}
  .hero .cover::after{display:none}
}

/* ---------- Pätička — aplikácia (4. stĺpec) ---------- */
.foot-top{grid-template-columns:1.4fr .8fr .8fr}
.foot-top .install-title{font-family:var(--display);font-size:22px;line-height:1.2;margin-top:-6px;color:var(--paper);max-width:none}
.foot-top .install-text{color:var(--smoke);font-size:13px;line-height:1.6;margin-top:8px;max-width:34ch}
.install-btn{margin-top:18px;font-size:12px;padding:13px 20px}
.install-ios,.install-done{display:none;font-size:12px;margin-top:12px;color:#BDBDBD;max-width:34ch}
.install-ios.show{display:block}
.install.is-installed .install-btn,.install.is-installed .install-text,.install.is-installed .install-ios{display:none}
.install.is-installed .install-done{display:block}
@media (max-width:1000px){.foot-top{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.foot-top{grid-template-columns:1fr}}

/* ---------- Pre psa ---------- */
.dogs{background:var(--ink);color:var(--paper)}
.dogs-head{max-width:60ch;margin-bottom:56px}
.dogs-head .lead{color:#8C8C8C}
.dogs-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3)}
.dog-card{display:grid;gap:14px;align-content:start;padding:36px 32px 40px;border-right:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);position:relative;transition:background .4s,color .4s}
.dog-card:hover{background:var(--paper);color:var(--ink)}
.dog-num{font-family:var(--display);font-size:34px;line-height:1;color:var(--smoke)}
.dog-ttl{font-family:var(--display);font-size:clamp(24px,2.4vw,32px);line-height:1.1;margin-top:10px}
.dog-txt{font-size:15px;line-height:1.6;color:#BDBDBD;max-width:34ch}
.dog-card:hover .dog-txt{color:#444}
.dog-card .link{margin-top:14px;justify-self:start}
@media (max-width:900px){.dogs-grid{grid-template-columns:1fr}}

/* ---------- Úvodná obrazovka aplikácie ---------- */
.splash{position:fixed;inset:0;z-index:200;background:var(--ink);color:var(--paper);display:none;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;
  transition:opacity .8s ease,visibility .8s}
.splash.show{display:flex}
.splash.out{opacity:0;visibility:hidden}
.splash img{filter:none;opacity:0;transform:scale(.92);animation:splashIn 1.4s .2s cubic-bezier(.2,.7,.2,1) forwards}
.splash .splash-word{animation-delay:.7s;transform:translateY(10px) scale(1)}
.splash p{font-family:var(--display);font-style:italic;font-size:20px;color:#BDBDBD;opacity:0;animation:fadeUp 1s 1.3s forwards}
.splash-line{width:1px;height:48px;background:rgba(255,255,255,.4);transform:scaleY(0);transform-origin:top;animation:grow 1.2s 1.6s cubic-bezier(.77,0,.18,1) forwards}
@keyframes splashIn{to{opacity:1;transform:none}}
body.splashing{overflow:hidden}
@media (prefers-reduced-motion:reduce){.splash img,.splash p,.splash-line{animation:none;opacity:1;transform:none}}
@media (display-mode:standalone){
  .nav{padding-top:calc(22px + env(safe-area-inset-top))}
  .install{display:none}
}

/* ---------- Siluety na hrane pätičky ---------- */
footer{position:relative}
.foot-edge{position:absolute;right:calc(var(--gutter) + 10px);top:0;transform:translateY(-100%);width:clamp(120px,15vw,210px);aspect-ratio:500/438;pointer-events:none;z-index:2;line-height:0}
.foot-edge img{filter:none;position:absolute;display:block;height:auto}
.foot-edge .sil-body{left:0;top:0;width:100%}
.foot-edge .sil-head{left:39%;top:45.32%;width:17.6%;transform-origin:62.5% 92.1%;transform:rotate(4deg);will-change:transform}
@media (max-width:720px){.foot-edge{right:var(--gutter);width:110px}}
.foot-edge.sil-white img{filter:invert(1)}
.foot-edge.sil-left{left:calc(var(--gutter) + 10px);right:auto}
.belong{position:relative;overflow:hidden}
.foot-edge.sil-inside{top:auto;bottom:0;transform:none}
@media (max-width:720px){.foot-edge.sil-left{left:auto;right:var(--gutter)}}
@media (prefers-reduced-motion:reduce){.foot-edge .sil-head{transform:rotate(6deg)!important}}

/* ---------- Nadpisy — krvavočervený hover ---------- */
@media (pointer:fine){
  h1,h2,h3,.hero-copy h1 .ln span,.dog-ttl,.step-btn .ttl,.card h2 a{transition:color .7s cubic-bezier(.2,.7,.2,1)}
  h1:hover,h2:hover,h3:hover,.hero-copy h1:hover .ln span,.dog-card:hover .dog-ttl,.step-btn:hover .ttl,.card h2 a:hover{color:#7A0000}
  .belong h2:hover,.dogs h2:hover,.hero-copy h1:hover .ln span,.dog-card:hover .dog-ttl{color:#A30D0D}
}

/* ---------- RITUÁL ---------- */
.is-ritual{background:var(--ink);color:var(--paper)}
.is-ritual .nav{mix-blend-mode:normal}
.is-ritual footer{display:none}
.is-ritual.ritual-done footer{display:block}
.ritual{min-height:100svh;position:relative;overflow:hidden;display:grid;align-items:center;padding:140px 0 100px}
.ritual-bg{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center}
.ritual-ghost{font-family:var(--display);font-style:italic;font-size:clamp(120px,28vw,420px);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);line-height:1;user-select:none;animation:ghostPulse 9s ease-in-out infinite}
@keyframes ghostPulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}
.ritual-wrap{position:relative;max-width:820px}
.ritual-progress{display:flex;gap:6px;margin-bottom:56px}
.ritual-progress span{height:1px;flex:1;background:rgba(255,255,255,.18);position:relative;overflow:hidden}
.ritual-progress span::after{content:"";position:absolute;inset:0;background:var(--paper);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.77,0,.18,1)}
.ritual-progress span.is-done::after{transform:scaleX(1)}
.rstep{display:none}
.rstep.is-active{display:block;animation:rIn .9s cubic-bezier(.2,.7,.2,1) both}
.rstep.is-leaving{animation:rOut .5s cubic-bezier(.77,0,.18,1) forwards}
@keyframes rIn{from{opacity:0;transform:translateY(28px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes rOut{to{opacity:0;transform:translateY(-20px);filter:blur(6px)}}
.ritual .lead{color:var(--smoke)}
.ritual h1,.ritual h2,.contract h1{font-family:var(--display);font-weight:400;line-height:1;letter-spacing:-.015em}
.ritual h1,.ritual h2{font-size:clamp(40px,6vw,84px);max-width:14ch}
.rtext{margin:26px 0 40px;max-width:52ch;color:#BDBDBD;font-size:17px}
.rleave{margin-left:28px;color:var(--smoke)}
.ritual .field{margin-bottom:34px}
.ritual .field input,.ritual .field textarea{border-bottom-color:rgba(255,255,255,.45);color:var(--paper)}
.ritual .field label{color:var(--smoke)}
.ritual .field .err{color:#A30D0D}
.ritual .field input:focus,.ritual .field textarea:focus{border-bottom-color:var(--paper)}
.ritual .check{color:#BDBDBD;margin:24px 0 32px}
.ritual .check input{accent-color:var(--paper)}
.ritual .rnext,.ritual .rsubmit{margin-top:8px}
.ritual .form-error{color:#A30D0D}
/* kľaknutie */
.hold{position:relative;width:180px;height:180px;border:0;background:none;color:var(--paper);cursor:pointer;display:grid;place-items:center;font-family:var(--display);font-style:italic;font-size:20px;user-select:none;-webkit-user-select:none;touch-action:none;transition:transform 4s cubic-bezier(.2,.7,.2,1)}
.hold svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.hold circle{fill:none;stroke:rgba(255,255,255,.18);stroke-width:1}
.hold .hold-ring{stroke:var(--paper);stroke-width:1.5}
.hold.is-holding{transform:translateY(22px) scale(.94)}
.hold.is-done{transform:translateY(30px) scale(.9)}
.hold.is-done .hold-ring{stroke:#A30D0D}
.hold-hint{margin-top:20px;font-family:var(--display);font-style:italic;color:var(--smoke);min-height:1.6em}
/* čítanie */
.rlist{list-style:none;margin:-16px 0 26px;border-left:1px solid rgba(255,255,255,.3);padding-left:22px;display:grid;gap:8px;font-family:var(--display);font-size:22px}
.rafter{margin-top:0}
/* pravidlá */
.rrules{list-style:none;border-top:1px solid rgba(255,255,255,.25);margin-bottom:36px}
.rrule{display:none;grid-template-columns:44px 1fr auto;gap:18px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.14);animation:rIn .8s both}
.rrule.is-visible{display:grid}
.rnum{font-family:var(--display);font-size:30px;color:var(--smoke)}
.rbody{font-size:17px;line-height:1.5}
.raccept{font-size:12px;padding:12px 18px;white-space:nowrap}
.rrule.is-accepted .raccept{background:var(--paper);color:var(--ink);pointer-events:none}
.rrule.is-accepted .raccept::before{content:"✓ "}
.rrule.is-accepted .rbody{color:var(--smoke)}
/* sľub */
.recite-target{font-family:var(--display);font-size:clamp(22px,3vw,34px);line-height:1.35;margin-bottom:34px;letter-spacing:.01em}
.recite-target span{color:rgba(255,255,255,.35);transition:color .2s}
.recite-target span.ok{color:var(--paper)}
.recite-target span.bad{color:#A30D0D;text-decoration:line-through}
.recite-state{font-family:var(--display);font-style:italic;color:var(--smoke);min-height:1.6em;margin:-14px 0 24px}
.shake{animation:shake .4s}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
/* podpis */
.sign{position:relative;margin:8px 0 12px}
.sign-pad{width:100%;height:auto;aspect-ratio:700/240;display:block;touch-action:none;cursor:crosshair;color:#fff;background:rgba(255,255,255,.03)}
.sign-line{position:absolute;left:0;right:0;bottom:44px;height:1px;background:rgba(255,255,255,.45)}
.sign-label{position:absolute;left:0;bottom:16px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--smoke)}
.sign-clear{position:absolute;right:0;top:0;background:none;border:0;color:var(--smoke);font-size:11px;letter-spacing:.1em;cursor:pointer;padding:8px 0}
.sign.is-signed .sign-label{color:var(--paper)}
.rdone{text-align:left}
.rdone-logo{filter:none;margin-bottom:28px;opacity:.9}
.rsign{font-family:var(--display);font-style:italic;color:var(--smoke);font-size:22px}
@media (max-width:720px){.rrule{grid-template-columns:32px 1fr}.raccept{grid-column:2}.ritual{padding-top:120px}}

/* ---------- ZMLUVA ---------- */
.contract{padding:clamp(140px,18vw,200px) 0 clamp(80px,10vw,140px);background:var(--paper)}
.contract-wrap{max-width:860px}
.contract-head{border-bottom:1px solid var(--ink);padding-bottom:40px;margin-bottom:24px}
.contract-emblem{filter:none;margin-bottom:24px}
.contract h1{font-size:clamp(40px,6vw,84px)}
.ctext{margin:22px 0 0;max-width:60ch;color:#444}
.contract-meta{display:flex;gap:40px;margin-top:28px;font-size:12px;letter-spacing:.08em;color:var(--smoke)}
.contract-meta b{color:var(--ink);font-weight:500}
.carticle{border-bottom:1px solid var(--ash);padding:44px 0;opacity:.28;filter:blur(1.5px);pointer-events:none;transition:opacity .8s,filter .8s}
.carticle.is-open{opacity:1;filter:none;pointer-events:auto}
.carticle h2{font-size:clamp(26px,3.2vw,40px);display:flex;gap:18px;align-items:baseline;margin-bottom:22px}
.cnum{font-size:.7em;color:var(--smoke);min-width:1.6em}
.cparty{font-size:15px;margin-bottom:8px}
.cfields{display:grid;grid-template-columns:1fr 1fr;gap:12px 36px;margin-top:20px}
.cfields .field{margin-bottom:18px}
.cclauses{list-style:none;display:grid;gap:14px;max-width:66ch}
.cclauses li{display:grid;grid-template-columns:52px 1fr;gap:8px;font-size:16px;line-height:1.65}
.cclauses li span{font-family:var(--display);color:var(--smoke)}
.caccept{display:flex;align-items:center;gap:14px;margin-top:28px;font-size:13px;font-weight:600;letter-spacing:.06em;cursor:pointer;position:relative;width:fit-content}
.caccept input{width:18px;height:18px;accent-color:var(--ink)}
.cstamp{position:absolute;left:100%;margin-left:24px;top:50%;transform:translateY(-50%) rotate(-8deg) scale(1.4);opacity:0;font-family:var(--display);font-style:italic;font-size:22px;color:#7A0000;border:1.5px solid #7A0000;padding:2px 12px;pointer-events:none;transition:transform .35s cubic-bezier(.2,.9,.3,1.4),opacity .25s}
.carticle.is-accepted .cstamp{opacity:1;transform:translateY(-50%) rotate(-8deg) scale(1)}
.csigns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:28px}
.contract .sign-pad{color:#000;background:var(--bone)}
.contract .sign-line{background:var(--ink)}
.sign-madam{min-height:100px}
.contract .field textarea{min-height:90px}
.contract .form-foot{margin-top:24px}
.cdone{display:none;border:1px solid var(--ink);padding:40px;margin-top:40px}
.cdone.show{display:block}
.cdone h2{font-size:clamp(30px,4vw,48px);margin-bottom:12px}
.cdone .btn{margin-top:22px}
.contract-done #contract-form input,.contract-done #contract-form textarea{pointer-events:none}
.contract-done .caccept,.contract-done .form-foot,.contract-done .sign-clear{display:none}
@media (max-width:720px){.cfields,.csigns{grid-template-columns:1fr}.cstamp{left:auto;right:-8px;margin:0;top:-28px;font-size:16px}.caccept{width:100%}}
@media print{
  .nav,.menu,.grain,.cursor,.cursor-dot,footer,.foot-edge,.sign-clear,.caccept input,.cdone .btn,.form-foot,.contract-meta b:empty{display:none!important}
  body{background:#fff;color:#000}
  .contract{padding:0}
  .carticle{opacity:1!important;filter:none!important;break-inside:avoid}
  .cstamp{position:static;transform:none;opacity:1;display:inline-block;margin-left:12px}
  .field input,.field textarea{border-bottom:1px solid #000}
  .field label{position:static;transform:none;font-size:10px;display:block}
  .cdone{border:0;padding:0}
}

/* Rituál/zmluva vložené do bežnej stránky */
.is-ritual .single-head,.is-contract .single-head{display:none}
.is-ritual .entry,.is-contract .entry{max-width:none;padding:0;font-size:inherit}
.is-ritual .entry>*+*,.is-contract .entry>*+*{margin-top:0}
.is-ritual .page-single .entry .ritual{margin:0 calc(50% - 50vw);width:100vw}

/* ---------- Zmluva — mobil ---------- */
@media (max-width:720px){
  .contract{padding-top:110px}
  .contract h1{font-size:clamp(34px,10vw,44px)}
  .ctext{font-size:15px}
  .contract-meta{flex-direction:column;gap:6px;margin-top:20px}
  .carticle{padding:30px 0}
  .carticle h2{font-size:26px;gap:12px;margin-bottom:16px}
  .cnum{min-width:1.2em}
  .cfields{grid-template-columns:1fr;gap:0}
  /* statické popisky nad poľom, bez plávania */
  .contract .field{margin-bottom:22px;padding-top:0}
  .contract .field label{position:static;transform:none;font-size:12px;letter-spacing:.04em;line-height:1.4;color:#555;display:block;margin-bottom:2px;white-space:normal}
  .contract .field input,.contract .field textarea{font-size:16px;padding:8px 0 10px}
  .contract .field input:focus+label,.contract .field textarea:focus+label,.contract .field input:not(:placeholder-shown)+label,.contract .field textarea:not(:placeholder-shown)+label{transform:none;font-size:12px}
  .contract .field{display:flex;flex-direction:column-reverse}
  .contract .field .err{order:-1}
  .cclauses li{grid-template-columns:40px 1fr;font-size:15px}
  .caccept{margin-top:20px;font-size:12px;gap:10px;padding-right:90px}
  .cstamp{right:0;top:50%;transform:translateY(-50%) rotate(-8deg) scale(1.3);font-size:15px;padding:1px 8px}
  .carticle.is-accepted .cstamp{transform:translateY(-50%) rotate(-8deg) scale(1)}
  .csigns{gap:28px}
  .sign-madam{min-height:70px}
  .contract .form-foot{flex-direction:column;align-items:flex-start;gap:12px}
  .contract .form-foot .btn{width:100%;justify-content:center}
  .cdone{padding:26px}
}

/* ---------- Digitálne produkty (skrytá stránka) ---------- */
.is-products{background:var(--ink);color:var(--paper)}
.is-products .nav{mix-blend-mode:normal}
.is-products .foot-edge{display:none}
.prod .lead{color:var(--smoke)}
.prod h1,.prod h2,.prod h3{font-family:var(--display);font-weight:400;line-height:1;letter-spacing:-.015em}
.prod h2{font-size:clamp(34px,4.6vw,64px);max-width:18ch}
.prod-tag{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke);border:1px solid #333;padding:5px 10px}
.prod-sec{padding:clamp(70px,9vw,130px) 0;border-top:1px solid #1c1c1c}
.prod-hero{min-height:88svh;display:grid;align-items:end;padding-top:140px;padding-bottom:70px;position:relative;overflow:hidden}
.prod-ghost{position:absolute;left:-.02em;top:8vh;font-family:var(--display);font-size:clamp(140px,26vw,440px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);white-space:nowrap;pointer-events:none}
.prod-hero h1{font-size:clamp(44px,7vw,110px);max-width:14ch;position:relative;margin-top:22px}
.prod-hero p{margin-top:28px;max-width:56ch;color:#BDBDBD;position:relative}
.prod-path{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #333;border-left:1px solid #333;margin-top:48px}
.prod-path div{padding:26px 22px 30px;border-right:1px solid #333;border-bottom:1px solid #333}
.prod-path b{font-family:var(--display);font-weight:400;font-size:30px;display:block;color:var(--smoke);margin-bottom:14px}
.prod-path h3{font-size:22px;margin-bottom:10px}
.prod-path p{font-size:14px;color:#BDBDBD}
.prod-path span{display:block;margin-top:16px;font-size:12px;letter-spacing:.08em;color:var(--smoke)}
.prod-path div:nth-child(1) b{color:var(--paper)}
.prod-path div:nth-child(5){background:var(--paper);color:var(--ink)}
.prod-path div:nth-child(5) p,.prod-path div:nth-child(5) span{color:#555}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#222;border:1px solid #222;margin-top:56px}
.prod-card{background:var(--ink);padding:36px 30px 40px;display:grid;gap:14px;align-content:start;position:relative;min-height:420px;transition:background .4s,color .4s}
.prod-card:hover{background:var(--paper);color:var(--ink)}
.prod-card:hover .prod-tag{border-color:#ccc;color:#555}
.prod-card:hover .price small,.prod-card:hover .desc,.prod-card:hover .fmt{color:#555}
.prod-card .num{font-family:var(--display);font-size:34px;color:var(--smoke);line-height:1}
.prod-card h3{font-size:clamp(24px,2.4vw,32px);margin-top:6px}
.prod-card .desc{color:#BDBDBD;font-size:15px}
.prod-card .fmt{font-size:12px;letter-spacing:.06em;color:var(--smoke)}
.prod-card .price{margin-top:auto;padding-top:22px;font-family:var(--display);font-size:34px;line-height:1}
.prod-card .price small{font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--smoke);display:block;margin-top:6px}
.prod-card .list{list-style:none;display:grid;gap:6px;font-size:14px;color:#BDBDBD;border-left:1px solid #333;padding-left:14px}
.prod-card:hover .list{color:#444;border-color:#ccc}
.prod-flag{grid-column:span 2;grid-template-columns:1fr 1fr;gap:30px}
.prod-flag .side{border-left:1px solid #333;padding-left:30px;display:grid;align-content:start;gap:14px}
.prod-card:hover.prod-flag .side{border-color:#ccc}
.prod-stamp{position:absolute;right:26px;top:26px;font-family:var(--display);font-style:italic;color:#A30D0D;border:1.5px solid #A30D0D;padding:2px 10px;transform:rotate(-8deg);font-size:15px}
.prod-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.prod-tier{border:1px solid #333;padding:36px 30px}
.prod-tier.is-mid{background:var(--paper);color:var(--ink)}
.prod-tier h3{font-size:34px}
.prod-tier .p{font-family:var(--display);font-size:52px;line-height:1;margin:22px 0 6px}
.prod-tier .p small{font-family:var(--sans);font-size:12px;color:var(--smoke);letter-spacing:.06em}
.prod-tier .sub{color:var(--smoke);font-size:14px}
.prod-tier.is-mid .sub{color:#555}
.prod-tier ul{list-style:none;display:grid;gap:10px;margin-top:22px;font-size:15px;border-top:1px solid #333;padding-top:22px}
.prod-tier.is-mid ul{border-color:#ddd}
.prod-tier li::before{content:"— ";color:var(--smoke)}
.prod-tier .btn{margin-top:26px}
.prod-tier.is-mid .btn{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.prod-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.prod-phone{width:300px;aspect-ratio:9/19.5;border:1px solid #444;border-radius:36px;padding:18px 14px;margin:0 auto;background:#050505;display:grid;grid-template-rows:auto 1fr auto;gap:14px}
.prod-phone .top{font-size:10px;letter-spacing:.2em;color:var(--smoke);display:flex;justify-content:space-between}
.prod-phone .task{border-top:1px solid #333;padding-top:16px}
.prod-phone .task small{font-size:10px;letter-spacing:.2em;color:var(--smoke)}
.prod-phone .task h4{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.05;margin:8px 0 12px}
.prod-phone .task p{font-size:12px;color:#BDBDBD}
.prod-phone .ring{width:110px;height:110px;border-radius:50%;border:1px solid #333;margin:22px auto 0;display:grid;place-items:center;font-family:var(--display);font-style:italic;font-size:13px;position:relative}
.prod-phone .ring::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1.5px solid var(--paper);border-right-color:transparent;border-bottom-color:transparent;transform:rotate(30deg)}
.prod-phone .bot{display:flex;gap:4px}.prod-phone .bot i{flex:1;height:1px;background:#333}.prod-phone .bot i:nth-child(-n+9){background:var(--paper)}
.prod-detail ol{list-style:none;counter-reset:s;display:grid;gap:18px;margin-top:28px}
.prod-detail li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:10px}
.prod-detail li::before{content:counter(s,upper-roman);font-family:var(--display);font-size:26px;color:var(--smoke);line-height:1}
.prod-detail li b{display:block;font-weight:600;font-size:14px;letter-spacing:.04em}
.prod-detail li p{font-size:14px;color:#BDBDBD}
.prod-tech{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:#222;border:1px solid #222;margin-top:40px}
.prod-tech div{background:var(--ink);padding:26px}
.prod-tech h3{font-size:22px;margin-bottom:10px}
.prod-tech p{font-size:14px;color:#BDBDBD}
.prod-foot{margin-top:40px;font-size:12px;color:var(--smoke)}
@media (max-width:1000px){.prod-path{grid-template-columns:1fr 1fr}.prod-grid,.prod-tiers,.prod-tech{grid-template-columns:1fr 1fr}.prod-flag{grid-column:span 2}.prod-detail{grid-template-columns:1fr}}
@media (max-width:700px){.prod-path,.prod-grid,.prod-tiers,.prod-tech{grid-template-columns:1fr}.prod-flag{grid-column:span 1;grid-template-columns:1fr}.prod-flag .side{border-left:0;padding-left:0;border-top:1px solid #333;padding-top:20px}.prod-card{min-height:0}}

/* ---------- Pes Madam ---------- */
.is-pes{background:var(--ink);color:var(--paper)}
.is-pes .nav{mix-blend-mode:normal}
.is-pes .single-head{display:none}
.is-pes .entry{max-width:none;padding:0;font-size:inherit}
.is-pes .entry>*+*{margin-top:0}
.is-pes .foot-edge{display:none}
.pes .lead{color:var(--smoke)}
.pes h1,.pes h2,.pes h3{font-family:var(--display);font-weight:400;line-height:1;letter-spacing:-.015em}
.pes h2{font-size:clamp(34px,4.8vw,68px);max-width:16ch}
.pes-muted{color:#BDBDBD;margin-top:24px;max-width:56ch}
.pes-tag{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke);border:1px solid #333;padding:5px 10px}
.pes-sec{padding:clamp(70px,9vw,130px) 0;border-top:1px solid #1c1c1c}
.pes-hero{min-height:100svh;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;padding-top:130px;padding-bottom:70px;position:relative;overflow:hidden}
.pes-ghost{position:absolute;left:-.02em;top:6vh;font-family:var(--display);font-style:italic;font-size:clamp(140px,26vw,440px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);white-space:nowrap;pointer-events:none}
.pes-hero h1{font-size:clamp(46px,7vw,108px);max-width:12ch;position:relative;margin-top:22px}
.pes-hero p{margin-top:28px;max-width:50ch;color:#BDBDBD;position:relative}
.pes-shot{position:relative;aspect-ratio:3/4;border:1px solid #333;overflow:hidden;background:repeating-linear-gradient(135deg,#0a0a0a 0 12px,#0e0e0e 12px 24px)}
.pes-shot::after{content:"";position:absolute;inset:-12px;border:1px solid rgba(255,255,255,.18);transform:translate(12px,12px);pointer-events:none}
.pes-shot img{width:100%;height:100%;object-fit:cover;display:block}
.pes-shot-ph{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:24px}
.pes-shot-ph small{display:block;font-size:10px;letter-spacing:.24em;color:var(--smoke);margin-bottom:12px}
.pes-shot-ph b{font-family:var(--display);font-weight:400;font-size:20px;line-height:1.15;display:block;max-width:26ch}
.pes-laws{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.pes-laws ol{list-style:none;counter-reset:l;border-top:1px solid #333;margin-top:10px}
.pes-laws li{counter-increment:l;display:grid;grid-template-columns:52px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #1e1e1e;font-family:var(--display);font-size:clamp(20px,2.2vw,28px)}
.pes-laws li::before{content:counter(l,upper-roman);color:var(--smoke);font-size:.8em}
.pes-quote{font-family:var(--display);font-style:italic;font-size:clamp(24px,2.8vw,36px);line-height:1.3;border-left:1px solid #333;padding-left:28px;margin-top:40px;color:#ddd}
.pes-quote span{display:block;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.1em;color:var(--smoke);margin-top:14px;text-transform:uppercase}
.pes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#222;border:1px solid #222;margin-top:50px}
.pes-card{background:var(--ink);padding:34px 28px 38px;display:grid;gap:12px;align-content:start;min-height:360px;transition:background .4s,color .4s}
.pes-card:hover{background:var(--paper);color:var(--ink)}
.pes-card p{font-size:15px;color:#BDBDBD}
.pes-card:hover p,.pes-card:hover .fmt{color:#555}
.pes-card .num{font-family:var(--display);font-size:32px;color:var(--smoke);line-height:1}
.pes-card h3{font-size:clamp(24px,2.3vw,30px);margin-top:4px}
.pes-card .fmt{margin-top:auto;padding-top:18px;font-size:12px;letter-spacing:.06em;color:var(--smoke)}
.pes-day{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #333;border-left:1px solid #333;margin-top:48px}
.pes-day div{padding:22px 18px 26px;border-right:1px solid #333;border-bottom:1px solid #333}
.pes-day b{font-family:var(--display);font-weight:400;font-size:26px;display:block;color:var(--smoke)}
.pes-day h3{font-size:19px;margin:10px 0 8px}
.pes-day p{font-size:13px;color:#BDBDBD}
.pes-shots{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
.pes-shots .pes-shot:nth-child(2),.pes-shots .pes-shot:nth-child(4){margin-top:40px}
.pes-rules{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#222;border:1px solid #222;margin-top:40px}
.pes-rules div{background:var(--ink);padding:26px}
.pes-rules h3{font-size:20px;margin-bottom:8px}
.pes-rules p{font-size:14px;color:#BDBDBD}
.pes-voice{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.pes-entry{border-top:1px solid #333;padding:22px 0}
.pes-entry small{font-size:11px;letter-spacing:.2em;color:var(--smoke);text-transform:uppercase}
.pes-entry p{font-family:var(--display);font-size:22px;line-height:1.35;margin-top:8px}
.pes-invite{background:var(--paper);color:var(--ink)}
.pes-invite .pes-muted{color:#555}
.pes-invite h2{max-width:14ch}
.pes-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}
.pes-steps div{border-top:1px solid var(--ink);padding-top:18px}
.pes-steps b{font-family:var(--display);font-weight:400;font-size:30px;display:block;color:#888}
.pes-steps h3{font-size:22px;margin:10px 0 8px}
.pes-steps p{font-size:14px;color:#555}
.pes-invite .btn{margin-top:36px}
@media (max-width:1000px){.pes-hero{grid-template-columns:1fr}.pes-hero .pes-shot{max-width:360px}.pes-laws,.pes-voice{grid-template-columns:1fr}.pes-grid{grid-template-columns:1fr 1fr}.pes-day{grid-template-columns:1fr 1fr 1fr}.pes-shots{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.pes-grid,.pes-day,.pes-rules,.pes-steps,.pes-shots{grid-template-columns:1fr}.pes-shots .pes-shot{margin:0!important}.pes-card{min-height:0}}

/* ---------- Rozkaz dňa — úvodná stránka ---------- */
.rozkaz{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.rozkaz::before{content:"06:00";position:absolute;right:-.05em;top:-.1em;font-family:var(--display);font-size:clamp(160px,30vw,520px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);pointer-events:none}
.rozkaz-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,7vw,110px);align-items:center;position:relative}
.rozkaz .lead{color:var(--smoke)}
.rozkaz h2{max-width:14ch}
.rozkaz-text{margin:26px 0 28px;max-width:50ch;color:#BDBDBD}
.rozkaz-points{list-style:none;border-top:1px solid rgba(255,255,255,.25);margin-bottom:40px}
.rozkaz-points li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);font-family:var(--display);font-size:20px;display:grid;grid-template-columns:22px 1fr;gap:10px}
.rozkaz-points li::before{content:"—";color:var(--smoke)}
.rozkaz .rd-box h2{font-size:clamp(28px,3vw,40px)}
.rozkaz .rd-text{color:var(--smoke)}
.rozkaz .rd-box .field input{border-bottom-color:rgba(255,255,255,.45);color:var(--paper)}
.rozkaz .rd-box .field label{color:var(--smoke)}
.rozkaz .rd-box .check{color:#BDBDBD}
.rozkaz .rd-box .check input{accent-color:var(--paper)}
.rozkaz .rd-box .btn.ink{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.rozkaz .rd-box .btn.ink:hover{background:transparent;color:var(--paper)}
.rozkaz .rd-box .form-foot small{color:var(--smoke)}
.rozkaz .rd-box .sent{border-color:rgba(255,255,255,.4)}
.rozkaz .rd-box .sent p+p{color:#BDBDBD}
.rozkaz .rd-box .form-error{color:#A30D0D}
/* ukážka e-mailu */
.rozkaz-mail{border:1px solid rgba(255,255,255,.3);background:#050505;position:relative;transform:rotate(-1.5deg);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.rozkaz-mail:hover{transform:rotate(0)}
.rozkaz-mail::after{content:"";position:absolute;inset:-12px;border:1px solid rgba(255,255,255,.12);transform:translate(12px,12px);pointer-events:none}
.rozkaz-mail-top{display:flex;justify-content:space-between;padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.15);font-size:11px;letter-spacing:.2em;color:var(--smoke)}
.rozkaz-mail-top span:first-child{font-family:var(--display);font-size:22px;letter-spacing:0;color:var(--paper)}
.rozkaz-mail-body{padding:30px 26px 26px}
.rozkaz-mail-body img{filter:none;margin-bottom:22px;opacity:.9}
.rozkaz-sample{font-family:var(--display);font-size:clamp(24px,2.6vw,32px);line-height:1.25}
.rozkaz-why{font-family:var(--display);font-style:italic;color:var(--smoke);margin:16px 0 26px;font-size:17px}
.rozkaz-done{display:inline-block;background:var(--paper);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.08em;padding:14px 22px}
.rozkaz-mail-foot{padding:14px 22px;border-top:1px solid rgba(255,255,255,.15);font-size:12px;color:var(--smoke)}
@media (max-width:1000px){.rozkaz-wrap{grid-template-columns:1fr}.rozkaz-mail{max-width:440px}}
@media (max-width:720px){.rozkaz::before{font-size:50vw}.rozkaz-mail{transform:none}.rozkaz-points li{font-size:18px}}

/* ---------- Večer moci ---------- */
.is-zaz .single-head{display:none}
.is-zaz .entry{max-width:none;padding:0;font-size:inherit}
.is-zaz .entry>*+*{margin-top:0}
.is-zaz .foot-edge{display:none}
.zaz .lead{color:var(--smoke)}
.zaz h1,.zaz h2,.zaz h3{font-family:var(--display);font-weight:400;line-height:1;letter-spacing:-.015em}
.zaz h2{font-size:clamp(34px,4.8vw,68px);max-width:16ch}
.zaz-muted{color:#555;margin-top:24px;max-width:56ch}
.zaz-big{font-family:var(--display);font-size:clamp(20px,1.9vw,24px);line-height:1.4;max-width:none;margin-top:0;color:#333}
.zaz-tag{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke);border:1px solid #333;padding:5px 10px}
.zaz-sec{padding:clamp(70px,9vw,130px) 0;border-top:1px solid var(--ash)}
.zaz-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:start}
/* hero — čierny */
.zaz-hero{background:var(--ink);color:var(--paper);max-width:none;min-height:100svh;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;padding:130px var(--gutter) 70px;position:relative;overflow:hidden}
.zaz-hero>*{position:relative}
.zaz-hero-copy{max-width:640px;justify-self:end;width:100%}
.zaz-ghost{position:absolute;left:-.02em;top:6vh;font-family:var(--display);font-style:italic;font-size:clamp(160px,30vw,520px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);white-space:nowrap;pointer-events:none}
.zaz-hero .zaz-tag{border-color:#333}
.zaz-hero h1{font-size:clamp(46px,7vw,108px);max-width:12ch;margin-top:22px}
.zaz-hero p{margin-top:28px;max-width:50ch;color:#BDBDBD}
.zaz-actions{margin-top:38px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.zaz-hero .zaz-shot{max-width:460px;width:100%;justify-self:start}
/* fotky */
.zaz-shot{position:relative;aspect-ratio:3/4;border:1px solid #333;overflow:hidden;background:repeating-linear-gradient(135deg,#0a0a0a 0 12px,#0e0e0e 12px 24px);color:var(--paper)}
.zaz-shot::after{content:"";position:absolute;inset:-12px;border:1px solid rgba(255,255,255,.18);transform:translate(12px,12px);pointer-events:none}
.zaz-shot img{width:100%;height:100%;object-fit:cover;display:block}
.zaz-shot-ph{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:24px}
.zaz-shot-ph small{display:block;font-size:10px;letter-spacing:.24em;color:var(--smoke);margin-bottom:12px}
.zaz-shot-ph b{font-family:var(--display);font-weight:400;font-size:20px;line-height:1.15;display:block;max-width:26ch}
/* pre koho */
.zaz-for{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ash);border:1px solid var(--ash);margin-top:56px}
.zaz-for div{background:var(--paper);padding:34px 28px 38px;transition:background .4s,color .4s}
.zaz-for div:hover{background:var(--ink);color:var(--paper)}
.zaz-for .num{font-family:var(--display);font-size:32px;color:var(--smoke);display:block;margin-bottom:14px}
.zaz-for h3{font-size:clamp(24px,2.3vw,30px);margin-bottom:12px}
.zaz-for p{font-size:15px;color:#555}
.zaz-for div:hover p{color:#BDBDBD}
/* priebeh */
.zaz-flow{list-style:none;border-top:1px solid var(--ink);margin-top:48px}
.zaz-flow li{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--ash)}
.zaz-flow b{font-family:var(--display);font-weight:400;font-size:34px;line-height:1;color:var(--smoke)}
.zaz-flow h3{font-size:clamp(24px,2.6vw,32px);margin-bottom:10px}
.zaz-flow p{font-size:16px;color:#444;max-width:60ch}
/* madam */
.zaz-madam{background:var(--ink);color:var(--paper);border-top:0}
.zaz-madam .zaz-muted{color:#BDBDBD}
.zaz-madam-photos{position:relative;padding-bottom:26%}
.zaz-shot-madam{width:70%}
.zaz-shot-dog{width:52%;position:absolute;right:0;bottom:0}
.zaz-quote{font-family:var(--display);font-style:italic;font-size:clamp(24px,2.8vw,34px);line-height:1.3;border-left:1px solid #333;padding-left:28px;margin:40px 0;color:#ddd}
.zaz-quote span{display:block;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.1em;color:var(--smoke);margin-top:14px;text-transform:uppercase}
.zaz-dog-h{font-size:30px;margin-top:10px}
/* pravidlá + cena */
.zaz-rules{background:var(--bone)}
.zaz-rulelist{list-style:none;counter-reset:r;border-top:1px solid var(--ink);margin-top:36px}
.zaz-rulelist li{counter-increment:r;display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--ash);font-size:16px;line-height:1.5}
.zaz-rulelist li::before{content:counter(r,upper-roman);font-family:var(--display);font-size:22px;color:var(--smoke);line-height:1}
.zaz-price{background:var(--ink);color:var(--paper);padding:40px 36px;position:sticky;top:110px}
.zaz-price .zaz-tag{border-color:#333}
.zaz-amount{font-family:var(--display);font-size:clamp(56px,7vw,96px);line-height:1;margin:22px 0 26px}
.zaz-amount small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.08em;color:var(--smoke);margin-top:10px}
.zaz-price ul{list-style:none;border-top:1px solid #333;display:grid}
.zaz-price li{padding:12px 0;border-bottom:1px solid #222;font-size:15px}
.zaz-price li::before{content:"— ";color:var(--smoke)}
.zaz-terms{font-size:13px;color:#BDBDBD;margin:22px 0 26px}
.zaz-price .btn.ink{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.zaz-price .btn.ink:hover{background:transparent;color:var(--paper)}
/* rezervácia */
.zaz-form{display:grid;gap:30px}
.zaz-choice{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.zaz-choice-l{width:100%;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--smoke);margin-bottom:2px}
.zaz-choice label{cursor:pointer}
.zaz-choice input{position:absolute;opacity:0;pointer-events:none}
.zaz-choice label span{display:inline-block;padding:11px 18px;border:1px solid var(--ink);font-size:13px;font-weight:600;letter-spacing:.04em;transition:background .3s,color .3s}
.zaz-choice input:checked+span{background:var(--ink);color:var(--paper)}
.zaz-faq{margin-top:36px;border-top:1px solid var(--ink)}
.zaz-faq details{border-bottom:1px solid var(--ash)}
.zaz-faq summary{cursor:pointer;padding:18px 0;font-family:var(--display);font-size:22px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.zaz-faq summary::after{content:"+";color:var(--smoke)}
.zaz-faq details[open] summary::after{content:"–"}
.zaz-faq p{padding:0 0 20px;color:#555;font-size:15px;max-width:52ch}
@media (max-width:1000px){.zaz-hero{grid-template-columns:1fr}.zaz-hero-copy{justify-self:start}.zaz-two{grid-template-columns:1fr}.zaz-for{grid-template-columns:1fr}.zaz-price{position:static}}
@media (max-width:720px){.zaz-flow li{grid-template-columns:1fr;gap:8px}.zaz-madam-photos{padding-bottom:30%}.zaz-hero{padding-top:110px}}

/* PWA webu zrušená */
.install,.splash{display:none!important}

/* Sprievodca pre Madam */
.pm .prod-hero p{max-width:62ch}
.pm-two{grid-template-columns:1fr 1fr}
.pm-two div:nth-child(1) b{color:var(--paper)}.pm-two div:nth-child(5){background:none;color:inherit}
.pm-two div:nth-child(2){background:var(--paper);color:var(--ink)}.pm-two div:nth-child(2) p,.pm-two div:nth-child(2) span{color:#555}
.pm-grid{grid-template-columns:repeat(2,1fr)}
.pm .prod-card{min-height:0}.pm .prod-card .desc b{font-weight:600;color:inherit}.pm .prod-card .desc i{font-style:italic}
.pm a{color:#ffb3b3;text-decoration:underline;text-decoration-color:#A30D0D;text-underline-offset:3px}.pm .prod-card:hover a{color:#7A0000}
.pm .prod-path div:nth-child(5){background:var(--paper);color:var(--ink)}
@media (max-width:700px){.pm-two,.pm-grid{grid-template-columns:1fr}}

/* Slová Madam — sekcia na úvodnej stránke */
.slova{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.slova::before{content:"19:31";position:absolute;left:-.04em;bottom:-.14em;font-family:var(--display);font-size:clamp(150px,26vw,420px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);pointer-events:none}
.slova .wrap{position:relative}
.slova .lead{color:var(--smoke)}

/* ==========================================================
   O mne
   ========================================================== */
:root{--gold:#C59D5F;--gold-soft:rgba(197,157,95,.28)}

.omne .lead{color:var(--smoke)}
.omne h2{max-width:17ch}
.omne-sec{padding:clamp(72px,9vw,140px) 0}

/* hlavička */
.omne-hero{
  position:relative;overflow:hidden;padding-top:clamp(140px,18vh,220px);padding-bottom:clamp(56px,7vw,96px);
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(32px,5vw,80px);align-items:end;
}
.omne-hero-copy{position:relative;z-index:2}
.omne-hero h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(46px,8vw,120px);line-height:.95;letter-spacing:-.02em;margin-bottom:26px;
}
.omne-tag{font-size:clamp(17px,1.6vw,21px);line-height:1.55;color:#4a4a4a;max-width:34ch}
.omne-ghost{
  position:absolute;left:calc(var(--gutter) - .06em);top:clamp(72px,10vh,130px);z-index:1;
  font-family:var(--display);font-style:italic;font-size:clamp(150px,26vw,360px);line-height:.8;
  color:transparent;-webkit-text-stroke:1px var(--ash);pointer-events:none;user-select:none;white-space:nowrap;
}
.omne-portrait{position:relative;z-index:2;aspect-ratio:3/4}
.omne-portrait img{width:100%;height:100%;object-fit:cover}
.omne-ph{
  height:100%;border:1px solid var(--ash);background:var(--bone);
  display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:26px;
}
.omne-ph small{font-size:11px;letter-spacing:.24em;color:var(--smoke)}
.omne-ph b{font-family:var(--display);font-weight:400;font-size:19px;line-height:1.35;color:#5a5a5a}
@media(max-width:860px){
  .omne-hero{grid-template-columns:1fr;align-items:start}
  .omne-portrait{max-width:420px}
  .omne-ghost{font-size:26vw;top:clamp(50px,7vh,80px)}
}

/* úvod */
.omne-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,88px);align-items:start}
.omne-two--head{margin-bottom:clamp(44px,5vw,76px)}
@media(max-width:860px){.omne-two{grid-template-columns:1fr;gap:26px}}
.omne-prose p{font-size:17px;line-height:1.72;color:#3d3d3d}
.omne-prose p+p{margin-top:18px}
.omne-muted{color:#555;font-size:17px;line-height:1.7;max-width:46ch}

/* čísla */
.omne-stats{background:var(--ink);color:var(--paper);padding:clamp(48px,6vw,84px) 0}
.omne-stats dl{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,64px)}
@media(max-width:760px){.omne-stats dl{grid-template-columns:1fr;gap:34px}}
.omne-stats dt{font-family:var(--display);font-size:clamp(48px,6vw,86px);line-height:.9;color:var(--gold)}
.omne-stats dd{margin-top:14px}
.omne-stats dd b{display:block;font-size:15px;font-weight:500;letter-spacing:.02em}
.omne-stats dd span{display:block;margin-top:6px;font-size:14px;color:rgba(255,255,255,.55);line-height:1.5}

/* praktiky */
.omne-prx{background:var(--bone)}
.prx{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ash);border:1px solid var(--ash)}
@media(max-width:980px){.prx{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.prx{grid-template-columns:1fr}}
.prx-card{
  position:relative;background:var(--paper);padding:38px 32px 34px;
  transition:background .4s cubic-bezier(.7,0,.2,1);
}
.prx-card:hover{background:#FCFBF9}
.prx-ico{display:block;margin-bottom:22px}
.prx-ico img{
  width:66px;height:66px;filter:none;
  transition:transform .5s cubic-bezier(.7,0,.2,1);
}
.prx-card:hover .prx-ico img{transform:scale(1.06) rotate(-2deg)}
.prx-card h3{font-family:var(--display);font-weight:400;font-size:29px;line-height:1.1;margin-bottom:10px}
.prx-note{font-family:var(--display);font-style:italic;font-size:16px;line-height:1.45;color:var(--smoke);margin-bottom:20px}
.prx-items{list-style:none;display:flex;flex-wrap:wrap;gap:7px}
.prx-items li{
  font-size:12.5px;letter-spacing:.01em;color:#4a4a4a;
  border:1px solid var(--ash);border-radius:999px;padding:5px 11px;background:var(--paper);
}
.prx-num{
  position:absolute;top:26px;right:28px;
  font-family:var(--display);font-size:13px;letter-spacing:.14em;color:var(--ash);
}

/* citát */
.omne-quote{background:var(--ink);color:var(--paper);padding:clamp(72px,10vw,150px) 0;text-align:center}
.omne-quote blockquote p{
  font-family:var(--display);font-weight:400;font-style:italic;
  font-size:clamp(30px,5vw,68px);line-height:1.12;letter-spacing:-.01em;max-width:18ch;margin:0 auto;
}
.omne-quote cite{
  display:block;margin-top:34px;font-style:normal;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.5);
}

/* hranice */
.bounds{list-style:none;counter-reset:b;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ash);border-top:1px solid var(--ash)}
@media(max-width:760px){.bounds{grid-template-columns:1fr}}
.bounds li{background:var(--paper);padding:34px 30px 36px;counter-increment:b;position:relative}
.bounds li::before{
  content:counter(b,decimal-leading-zero);display:block;margin-bottom:16px;
  font-family:var(--display);font-size:13px;letter-spacing:.14em;color:var(--gold);
}
.bounds h3{font-family:var(--display);font-weight:400;font-size:25px;line-height:1.15;margin-bottom:9px}
.bounds p{font-size:15.5px;line-height:1.62;color:#555}

/* slová psov */
.omne-words{background:var(--bone)}
.words{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(40px,5vw,66px)}
@media(max-width:900px){.words{grid-template-columns:1fr}}
.words figure{background:var(--paper);border:1px solid var(--ash);padding:34px 30px 30px;display:flex;flex-direction:column}
.words blockquote{
  font-family:var(--display);font-style:italic;font-size:20px;line-height:1.4;color:#2a2a2a;flex:1;
}
.words blockquote::before{content:"„"}
.words blockquote::after{content:"“"}
.words figcaption{margin-top:26px;padding-top:18px;border-top:1px solid var(--ash);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.words figcaption b{font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.words figcaption span{font-size:12.5px;color:var(--smoke)}

/* výzva */
.omne-cta{background:var(--ink);color:var(--paper);padding:clamp(72px,9vw,140px) 0;text-align:center}
.omne-cta h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,5.4vw,72px);line-height:1.05;max-width:16ch;margin:0 auto}
.omne-cta p{margin:24px auto 38px;max-width:46ch;color:rgba(255,255,255,.62);font-size:17px;line-height:1.65}

/* ==========================================================
   Kontakt
   ========================================================== */
.kont .lead{color:var(--smoke)}
.kont-hero{position:relative;padding-top:clamp(140px,18vh,220px);padding-bottom:clamp(44px,5vw,72px)}
.kont-hero>*{position:relative;z-index:2}
.kont-hero h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(40px,6.6vw,96px);line-height:1;letter-spacing:-.018em;max-width:15ch;margin-bottom:24px;
}
.kont-tag{font-size:clamp(16px,1.5vw,20px);line-height:1.6;color:#4a4a4a;max-width:44ch}
.kont-ghost{
  position:absolute;right:calc(var(--gutter) - .04em);bottom:clamp(8px,2vw,34px);z-index:1;
  font-family:var(--display);font-style:italic;font-size:clamp(96px,14vw,200px);line-height:.78;
  color:transparent;-webkit-text-stroke:1px var(--ash);pointer-events:none;user-select:none;
}
@media(max-width:1180px){.kont-ghost{display:none}}
@media(max-width:860px){.kont-ghost{display:none}}

.kont-body{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);
  gap:clamp(34px,5vw,80px);align-items:start;padding-bottom:clamp(80px,10vw,150px);
}
@media(max-width:980px){.kont-body{grid-template-columns:1fr}}

.kont-form form{border-top:1px solid var(--ink);padding-top:38px}
.kont-form .field{margin-bottom:34px}
.kont-form .field .hint{display:block;margin-top:10px;font-size:12.5px;line-height:1.55;color:var(--smoke)}
.kont-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,44px)}
@media(max-width:560px){.kont-row{grid-template-columns:1fr;gap:0}}

.kont-topic{border:0;padding:0;margin:0 0 32px}
.kont-topic legend{
  padding:0;margin-bottom:14px;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--smoke);
}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip span{
  display:block;border:1px solid var(--ash);border-radius:999px;padding:9px 16px;
  font-size:13.5px;color:#4a4a4a;transition:border-color .3s,background .3s,color .3s;
}
.chip:hover span{border-color:var(--smoke)}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chip input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}

.kont-form .check{margin-bottom:30px}
.kont-form .form-foot .btn{padding-left:34px;padding-right:34px}

.kont-side{display:grid;gap:18px;position:sticky;top:110px}
@media(max-width:980px){.kont-side{position:static}}
.kont-box{border:1px solid var(--ash);background:var(--bone);padding:28px 26px 30px}
.kont-box--dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.kont-box--dark p{color:rgba(255,255,255,.62);font-size:14.5px;line-height:1.65}
.kont-h{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--smoke);margin-bottom:18px}
.kont-box--dark .kont-h{color:var(--gold)}
.kont-list{list-style:none;display:grid;gap:14px}
.kont-list li{font-size:14.5px;line-height:1.6;color:#4d4d4d;padding-left:16px;position:relative}
.kont-list li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:1px;background:var(--gold)}
.kont-list b{font-weight:500;color:var(--ink)}
.kont-links{list-style:none;display:grid;gap:0}
.kont-links li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px solid var(--ash)}
.kont-links li:last-child{border-bottom:0}
.kont-links a{font-size:15px;border-bottom:1px solid var(--gold-soft);transition:border-color .3s}
.kont-links a:hover{border-bottom-color:var(--gold)}
.kont-links span{font-size:12.5px;color:var(--smoke);text-align:right}

.kont-form .sent{margin-top:0}
