:root{
    --bg:#FAF6EF;
    --surface:#FFFFFF;
    --ink:#241B16;
    --ink-soft:#6B5C4F;
    --accent:#A11F2E;
    --accent-ink:#FFF8F5;
    --accent-soft:#F4DEDD;
    --gold:#A5793A;
    --line:#E6DBC9;
    --focus:#2E5AAC;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#1B1512;
      --surface:#241D19;
      --ink:#F3ECE3;
      --ink-soft:#BCAE9E;
      --accent:#E26572;
      --accent-ink:#241D19;
      --accent-soft:#3A2226;
      --gold:#D8B679;
      --line:#3B322A;
      --focus:#7FA6F2;
    }
  }
  :root[data-theme="dark"]{
    --bg:#1B1512;
    --surface:#241D19;
    --ink:#F3ECE3;
    --ink-soft:#BCAE9E;
    --accent:#E26572;
    --accent-ink:#241D19;
    --accent-soft:#3A2226;
    --gold:#D8B679;
    --line:#3B322A;
    --focus:#7FA6F2;
  }

  *{box-sizing:border-box;}
  body{
    background-color:var(--bg);
    background-image:url(obrazky/pozadie.png);
    background-repeat:no-repeat;
    background-position:100% -40px;
    background-size:460px;
    background-attachment:fixed;
    color:var(--ink);
    font-family:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    margin:0;
  }
  img{max-width:100%;}
  a{color:inherit;}
  h1,h2,h3{
    font-family:"Petrona", Georgia, "Times New Roman", serif;
    font-weight:600;
    text-wrap:balance;
    margin:0;
  }
  .wrap{
    width:100%;
    max-width:1040px;
    margin-inline:auto;
    padding-inline:20px;
  }
  [hidden]{display:none!important;}
  .nav-links a{text-decoration:none;}
  .nav-links a:hover, .nav-links a[aria-current="page"]{color:var(--accent);}
  .nav-links a[aria-current="page"]{font-weight:600;}
  .wordmark{text-decoration:none;}

  /* preview banner */
  .preview-banner{
    background:var(--ink);
    color:var(--bg);
    font-size:12.5px;
    text-align:center;
    padding:8px 16px;
    line-height:1.5;
  }
  .preview-banner b{color:var(--gold);}

  /* nav */
  nav{
    position:sticky;
    top:env(safe-area-inset-top, 0px);
    background:color-mix(in srgb, var(--bg) 92%, transparent);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
    z-index:10;
  }
  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-block:14px;
  }
  .wordmark{
    font-family:"Petrona", serif;
    font-weight:700;
    font-size:20px;
    letter-spacing:.02em;
    white-space:nowrap;
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    color:inherit;
    font:inherit;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .wordmark-logo{
    width:44px;
    height:44px;
    border-radius:50%;
    display:block;
  }
  .wordmark span{color:var(--accent);}
  .nav-links{
    display:flex;
    gap:22px;
    list-style:none;
    margin:0;
    padding:0;
    font-size:14px;
    font-weight:500;
    flex-wrap:wrap;
  }
  .nav-links button{
    font:inherit;
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    color:inherit;
    text-decoration:none;
  }
  .nav-links button:hover, .nav-links button[aria-current="page"]{color:var(--accent);}
  .nav-links button[aria-current="page"]{font-weight:600;}
  .nav-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
  }

  /* hero */
  .hero{
    padding-block:52px 44px;
    position:relative;
    overflow:hidden;
  }
  .hero-eyebrow{
    font-size:13px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--accent);
    font-weight:600;
    margin-block-end:14px;
  }
  .hero h1{
    font-size:clamp(30px, 4.6vw, 46px);
    line-height:1.08;
    max-width:20ch;
  }
  .hero-lede{
    color:var(--ink-soft);
    font-size:16px;
    line-height:1.7;
    max-width:60ch;
    margin-block-start:18px;
  }
  .hero-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-block-start:26px;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:600;
    font-size:15px;
    text-decoration:none;
    padding:13px 22px;
    border-radius:9px;
    border:none;
    cursor:pointer;
    font-family:inherit;
  }
  .btn-primary{background:var(--accent);color:var(--accent-ink);}
  .btn-ghost{border:1px solid var(--line);color:var(--ink);background:none;}
  .hero-stats{
    display:flex;
    gap:32px;
    flex-wrap:wrap;
    margin-block-start:40px;
    padding-block-start:24px;
    border-block-start:1px solid var(--line);
  }
  .stat b{
    display:block;
    font-family:"IBM Plex Mono", monospace;
    font-size:26px;
    font-variant-numeric:tabular-nums;
    color:var(--ink);
  }
  .stat span{
    font-size:12.5px;
    color:var(--ink-soft);
  }

  /* motif divider — mirrored cross-stitch rows */
  .motif{
    height:22px;
    background-image:
      repeating-linear-gradient(45deg, var(--gold) 0 2px, transparent 2px 9px),
      repeating-linear-gradient(-45deg, var(--gold) 0 2px, transparent 2px 9px);
    background-position:left top, left bottom;
    background-size:100% 11px;
    background-repeat:repeat-x;
    opacity:.55;
  }

  section{padding-block:56px;}
  .section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    flex-wrap:wrap;
    margin-block-end:32px;
  }
  .section-eyebrow{
    font-size:12.5px;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:var(--accent);
    font-weight:600;
    margin-block-end:8px;
  }
  .section-head h2{font-size:clamp(19px,2.4vw,24px);}

  .about-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:40px;
    align-items:start;
  }
  @media (max-width:760px){ .about-grid{grid-template-columns:1fr;} }
  .about-grid p{
    color:var(--ink-soft);
    font-size:15.5px;
    line-height:1.75;
    max-width:56ch;
  }
  .about-grid p + p{margin-block-start:14px;}
  .fact-list{
    display:flex;
    flex-direction:column;
    gap:0;
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
    background:var(--surface);
  }
  .fact-row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:14px 18px;
    font-size:14px;
    border-block-end:1px solid var(--line);
  }
  .fact-row:last-child{border-block-end:none;}
  .fact-row span:first-child{color:var(--ink-soft);}
  .fact-row span:last-child{font-weight:600;text-align:right;}

  .feed{
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .post{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:14px;
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .post-tag{
    font-size:11.5px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:600;
  }
  .post h3{font-size:19px;}
  .post p{color:var(--ink-soft);font-size:14.5px;line-height:1.65;margin:0;max-width:68ch;}
  .post-link{font-size:13.5px;font-weight:600;color:var(--accent);text-decoration:none;}

  .groups{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:16px;
  }
  @media (max-width:760px){ .groups{grid-template-columns:1fr;} }
  .group-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:14px;
    padding:22px;
  }
  .group-card .n{
    font-family:"IBM Plex Mono", monospace;
    color:var(--gold);
    font-size:13px;
    display:block;
    margin-block-end:8px;
  }
  .group-card h3{font-size:16.5px;margin-block-end:8px;}
  .group-card p{color:var(--ink-soft);font-size:13.5px;line-height:1.6;margin:0;}

  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
    gap:12px;
  }
  .gallery-slot{
    aspect-ratio:4/3;
    border-radius:10px;
    border:1.5px dashed var(--line);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:10px;
    font-size:11.5px;
    color:var(--ink-soft);
    background:color-mix(in srgb, var(--surface) 60%, var(--bg));
  }

  .contact-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
  }
  @media (max-width:700px){ .contact-wrap{grid-template-columns:1fr;} }
  .contact-block h3{font-size:14px;color:var(--ink-soft);font-weight:600;margin-block-end:6px;}
  .contact-block .v{
    font-family:"IBM Plex Mono", monospace;
    font-size:17px;
    font-variant-numeric:tabular-nums;
  }
  .contact-block + .contact-block{margin-block-start:22px;}

  footer{
    border-block-start:1px solid var(--line);
    padding-block:32px;
    font-size:12px;
    color:var(--ink-soft);
    line-height:1.7;
  }
  .footer-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
  }

  .jubilee{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center;padding-block:48px 56px;}
  @media (max-width:820px){ .jubilee{grid-template-columns:1fr;gap:28px;padding-block:32px 40px;} }
  .jubilee-50{font-family:"Petrona",serif;font-weight:700;font-size:clamp(84px,13vw,150px);line-height:.85;color:var(--accent);}
  .jubilee-title{font-size:clamp(40px,6vw,66px);line-height:1;text-transform:uppercase;letter-spacing:.03em;margin-block-start:6px;}
  .jubilee-sub{font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin:12px 0 0;}
  .jubilee-dates{display:flex;gap:36px;flex-wrap:wrap;margin-block-start:28px;}
  .jubilee-dates span{display:block;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;}
  .jubilee-dates b{display:block;font-family:"Petrona",serif;font-size:28px;color:var(--accent);line-height:1.15;}
  .jubilee-venue{font-family:"Petrona",serif;font-weight:700;font-size:21px;margin:22px 0 0;}
  .jubilee-tickets{color:var(--ink-soft);font-size:15px;line-height:1.65;margin:10px 0 0;}
  .jubilee-tickets b{color:var(--ink);}
  .jubilee-photo{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 10px 40px rgba(0,0,0,.15);}
  footer a{color:inherit;}

  .jubilee-order{margin-block-start:22px;}
  .jubilee-order p{color:var(--ink-soft);font-size:14px;line-height:1.6;margin:12px 0 0;}
  .jubilee-order p a, .order-alt a{color:var(--accent);font-weight:600;text-decoration:none;}
  .order{max-width:640px;}
  .order h2{font-size:clamp(24px,3.4vw,32px);margin-block-start:6px;}
  .order-lede{color:var(--ink-soft);font-size:15px;line-height:1.7;margin:12px 0 0;}
  .order-form{display:flex;flex-direction:column;margin-block-start:28px;}
  .order-form label{font-weight:600;font-size:14px;margin:14px 0 6px;}
  .order-form input, .order-form textarea{font:inherit;font-size:16px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);}
  .order-form fieldset{border:none;padding:0;margin:14px 0 0;}
  .order-form legend{font-weight:600;font-size:14px;margin-bottom:6px;padding:0;}
  .order-form .radio{display:flex;align-items:center;gap:10px;font-weight:400;font-size:15px;margin:6px 0;}
  .order-form .radio input{width:18px;height:18px;}
  .order-form button{margin-block-start:24px;align-self:flex-start;}
  .order-alt{color:var(--ink-soft);font-size:14px;line-height:1.7;margin-block-start:28px;}
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

  .g-grid{columns:3 260px;column-gap:12px;}
  .g-item{display:block;margin-bottom:12px;break-inside:avoid;border-radius:10px;overflow:hidden;}
  .g-item img{display:block;width:100%;height:auto;transition:transform .3s;}
  .g-item:hover img{transform:scale(1.03);}
  .lb{position:fixed;inset:0;background:rgba(15,10,8,.94);z-index:100;display:flex;align-items:center;justify-content:center;}
  .lb img{max-width:92vw;max-height:88vh;border-radius:6px;}
  .lb button{position:absolute;background:none;border:none;color:#fff;font-size:44px;line-height:1;cursor:pointer;padding:12px 18px;}
  .lb-x{top:8px;right:8px;} .lb-p{left:4px;top:50%;transform:translateY(-50%);} .lb-n{right:4px;top:50%;transform:translateY(-50%);}

  .jubilee-count{display:inline-block;margin:22px 0 0;padding:7px 14px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:14px;}
  .soc{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:var(--accent);font-weight:600;vertical-align:middle;}
  .soc svg{display:block;}

  .hajik-hero{display:block;width:100%;height:auto;border-radius:14px;margin-bottom:24px;}
  .group-photo{display:block;max-width:none;width:calc(100% + 44px);margin:-22px -22px 18px;aspect-ratio:16/10;object-fit:cover;border-radius:14px 14px 0 0;}
  .group-card{overflow:hidden;}

  .groups-2{grid-template-columns:repeat(2,1fr);}
  @media (max-width:760px){ .groups-2{grid-template-columns:1fr;} }

  .nav-links{font-size:16.5px;gap:28px;}
  .wordmark-logo{width:52px;height:52px;}
  @media (max-width:520px){ .nav-links{font-size:15px;gap:16px;} .wordmark-logo{width:44px;height:44px;} }
  .nav-row{padding-block:10px;}

  .jubilee{grid-template-columns:1fr 1.45fr;gap:36px;}
  .jubilee-title{font-size:clamp(40px,5vw,56px);}
  @media (max-width:820px){ .jubilee{grid-template-columns:1fr;} }
  .jubilee{grid-template-columns:1fr 1.6fr;}
  .jubilee-title{font-size:clamp(40px,4.6vw,52px);}
  .jubilee-order a{white-space:nowrap;}
  @media (max-width:820px){ .jubilee{grid-template-columns:1fr;} }

  .partners{padding-block:8px 40px;text-align:center;}
  .partners-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin-bottom:16px;}
  .partners-logos{display:flex;justify-content:center;align-items:center;gap:48px;flex-wrap:wrap;}
  .partners-logos img{width:auto;background:#fff;padding:10px 16px;border-radius:8px;}

  .partners-logos{align-items:flex-start;}
  .partner{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:240px;}
  .partner figcaption{font-size:12px;color:var(--ink-soft);line-height:1.4;}
  .partner-erb img{padding:6px 10px;}

  .contact-photo{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;object-position:center 35%;border-radius:14px;margin-top:40px;}
  .wrap{max-width:1200px;padding-inline:32px;}
  .jubilee{grid-template-columns:minmax(380px,1fr) 1.9fr;gap:40px;}
  @media (max-width:980px){ .jubilee{grid-template-columns:1fr;} }
  @media (max-width:600px){ .wrap{padding-inline:20px;} }

  .slides{position:relative;aspect-ratio:3/2;border-radius:14px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.15);background:#5a4334;}
  .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;}
  .slide.is-on{opacity:1;}

  .program{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:center;padding-block:56px;border-top:1px solid var(--line);}
  @media (max-width:860px){ .program{grid-template-columns:1fr;gap:28px;} }
  .program h2{font-size:clamp(30px,4vw,42px);margin-bottom:18px;}
  .program p{color:var(--ink-soft);font-size:16px;line-height:1.75;margin:0 0 14px;max-width:46ch;}
  .program-q{font-family:"Petrona",serif;font-size:20px!important;color:var(--ink)!important;font-style:italic;}
  .program-end{color:var(--accent)!important;font-weight:600;}
  .program-visuals{margin:0;}
  .program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
  .program-grid img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:10px;display:block;}
  @media (max-width:560px){ .program-grid{grid-template-columns:repeat(2,1fr);} }
  .program-visuals figcaption{font-size:12px;color:var(--ink-soft);margin-top:10px;text-align:right;}

  #lbz{cursor:zoom-out;}
  #lbz img{max-height:92vh;max-width:92vw;}

  .contest{display:block;margin-top:14px;padding:10px 14px;border:1px dashed var(--accent);border-radius:9px;color:var(--accent);text-decoration:none;font-size:14px;line-height:1.5;max-width:420px;}
  .contest:hover{background:var(--accent-soft);}
  .jubilee-order a.contest{white-space:normal;}

  .nav-lang{font-size:13px;font-weight:700;letter-spacing:.06em;border:1px solid var(--line);border-radius:6px;padding:2px 8px;}
  .en-hero{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center;padding-block:48px;}
  @media (max-width:860px){ .en-hero{grid-template-columns:1fr;} }
  .en-title{font-size:clamp(36px,5vw,58px);line-height:1.05;margin:6px 0 16px;}
  .en-lede{color:var(--ink-soft);font-size:17px;line-height:1.7;margin:0 0 24px;max-width:44ch;}
  .en-photo{width:100%;border-radius:14px;display:block;box-shadow:0 10px 40px rgba(0,0,0,.15);}
  .en-cols{columns:2 320px;column-gap:40px;margin-top:20px;}
  .en-cols p{color:var(--ink-soft);font-size:15.5px;line-height:1.75;margin:0 0 14px;break-inside:avoid;}
  .en-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;}
  @media (max-width:760px){ .en-groups{grid-template-columns:1fr;} }
  .en-groups figure{margin:0;}
  .en-groups img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;}
  .en-groups figcaption{font-size:13.5px;color:var(--ink-soft);margin-top:8px;line-height:1.5;}
  .en-note{color:var(--ink-soft);font-size:15px;line-height:1.7;max-width:68ch;}
  .contact-block .v a{color:inherit;text-decoration:none;}
  @media (max-width:520px){ .nav-links{gap:12px;font-size:14px;} .nav-lang{padding:1px 6px;font-size:12px;} }

  .videos{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px;}
  @media (max-width:760px){ .videos{grid-template-columns:1fr;} }
  .video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;}
  .video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

  .contact-3{grid-template-columns:repeat(3,1fr);}
  @media (max-width:760px){ .contact-3{grid-template-columns:1fr;} }
  .contact-3 .contact-block + .contact-block{margin-block-start:0;}
  .contact-block .v a{color:inherit;text-decoration:none;}
  .group-lead{margin-top:10px!important;font-weight:600;color:var(--ink)!important;}

  .form-note{font-size:13px;color:var(--ink-soft);line-height:1.6;margin:20px 0 0;}
  .form-note a, .legal a{color:var(--accent);}
  .legal h3{font-size:16px;margin:22px 0 6px;}
  .legal p{color:var(--ink-soft);font-size:15px;line-height:1.7;margin:0;}
