  /* ---- Maragsa Display ----
     PREVIEW: loaded from a font CDN so you can see it now.
     PRODUCTION: download the free OTF (jadmaza / behance), convert to .woff2,
     drop it in /fonts, and the line below will use your local copy first. */
  @font-face{
    font-family:"Maragsa Display";
    src:url("/fonts/maragsa.woff2") format("woff2"),
        url("/fonts/maragsa.woff") format("woff");
    font-weight:400;font-style:normal;font-display:swap;
  }

  :root{
    --bg:#FBF8F4;
    --primary:#F7C9B8;
    --primary-tint:#FCE3DA;
    --accent:#2E4A66;
    --accent-tint:#C9D9E8;

    --ink:#2E4A66;
    --ink-soft:#5b7088;
    --on-dark:#FBF8F4;
    --on-dark-soft:#C9D9E8;

    --display:"Maragsa Display", "Fraunces", Georgia, "Times New Roman", serif;
    --serif:"Fraunces", Georgia, serif;        /* for italics & soft accents */
    --sans:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;

    --maxw:1180px;
    --pad:clamp(1.25rem, 5vw, 4rem);
    --radius:18px;
    --ease:cubic-bezier(.16,1,.3,1);
  }

  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    background:var(--bg);
    color:var(--ink);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  ::selection{background:var(--accent);color:var(--on-dark);}

  /* ---------- layout helpers ---------- */
  .wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);position:relative;z-index:3;}
  .eyebrow{
    font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
    color:var(--ink-soft);display:inline-flex;align-items:center;gap:.6rem;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:currentColor;display:inline-block;opacity:.6;}
  .section{padding-block:clamp(4.5rem, 10vw, 8rem);}
  section,footer{position:relative;z-index:3;}

  h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.04;letter-spacing:-.02em;}
  .h-sec{font-size:clamp(2.1rem, 5vw, 3.6rem);margin-top:1rem;max-width:15ch;}
  p.lead{font-size:clamp(1.1rem,2vw,1.35rem);color:var(--ink-soft);max-width:46ch;margin-top:1.4rem;}

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);
    font-weight:600;font-size:.98rem;
    padding:.85rem 1.6rem;border-radius:999px;border:1.5px solid var(--accent);
    transition:transform .25s ease, background .25s ease, color .25s ease;cursor:pointer;
  }
  .btn-solid{background:var(--accent);color:var(--on-dark);}
  .btn-ghost{background:transparent;color:var(--accent);}
  .btn:hover{transform:translateY(-2px);}
  .btn-solid:hover{background:#243a52;}
  .btn-ghost:hover{background:var(--accent);color:var(--on-dark);}
  .btn .arrow{transition:transform .25s ease;}
  .btn:hover .arrow{transform:translateX(3px);}

  /* ---------- nav ---------- */
  header.nav{
    position:sticky;top:0;z-index:50;
    background:color-mix(in srgb, var(--bg) 86%, transparent);
    backdrop-filter:blur(10px);border-bottom:1px solid transparent;
    transition:border-color .3s ease;
  }
  header.nav.scrolled{border-color:rgba(46,74,102,.12);}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
  .brand{font-family:var(--display);font-size:1.5rem;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem;}
  .brand-icon{width:32px;height:32px;flex:none;}
  .brand span{color:var(--primary);-webkit-text-fill-color:#e0a98f;}
  .nav-links{display:flex;gap:1.6rem;align-items:center;}
  .nav-links a{font-size:.95rem;font-weight:500;color:var(--ink-soft);position:relative;padding:.3rem 0;}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--primary);transition:width .25s ease;}
  .nav-links a:hover{color:var(--ink);}
  .nav-links a:hover::after{width:100%;}
  .nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.5rem;}
  .nav-toggle span{display:block;width:24px;height:2px;background:var(--accent);margin:5px 0;transition:.3s;}

  /* ---------- hero ---------- */
  .hero{position:relative;padding-top:clamp(3rem,8vw,6rem);padding-bottom:clamp(4rem,9vw,7rem);}
  .hero-deco{position:absolute;right:clamp(1rem,5vw,4.5rem);top:calc(clamp(3rem,8vw,6rem) + calc(3 * clamp(2.8rem,8vw,5.8rem) * 1.02) / 2);transform:translateY(-50%);z-index:1;pointer-events:none;}
  .hero-deco img{display:block;height:50vh;width:auto;max-width:none;opacity:.9;}
  .breath{
    position:fixed;z-index:2;width:min(78vw,660px);aspect-ratio:1;right:-8%;top:13%;
    background:radial-gradient(circle at 44% 46%,
      rgba(244,186,164,.95) 0%,
      rgba(246,196,176,.88) 22%,
      rgba(247,201,184,.72) 40%,
      rgba(250,216,203,.44) 58%,
      rgba(252,227,218,.18) 76%,
      rgba(252,227,218,.04) 90%,
      rgba(252,227,218,0)   100%);
    border-radius:50%;filter:blur(18px);opacity:1;
    animation:breathe 4.25s ease-in-out infinite alternate,
              wander 52s ease-in-out infinite;
    will-change:transform;
  }
  .breath.two{position:fixed;z-index:2;width:min(130vw,1040px);aspect-ratio:1;left:0;bottom:-50%;top:auto;right:auto;
    background:none;border-radius:0;filter:none;opacity:1;
    transform:translateX(-30%);
    animation:driftBlue 5.75s ease-in-out infinite alternate;will-change:transform;}
  .breath.two img{width:100%;height:100%;display:block;max-width:none;}

  /* one long, slow breath: in and out over about 34 seconds */
  @keyframes breathe{from{transform:scale(.94) translate(0,0);}
                     to  {transform:scale(1.13) translate(-12px,-16px);}}
  /* a very slow orbit, bounded so it can never leave the frame */
  @keyframes wander{
    0%,100%{margin:0 0 0 0;}
    25%    {margin:22px 0 0 -30px;}
    50%    {margin:8px 0 0 26px;}
    75%    {margin:-24px 0 0 12px;}
  }
  /* the blue shape rises and falls on a long, gentle cycle */
  @keyframes driftBlue{
    from{transform:translateX(-30%) translateY(0) scale(.97);}
    to  {transform:translateX(-27%) translateY(-34px) scale(1.07);}
  }
  .hero-content{position:relative;z-index:1;}
  .hero h1{font-size:clamp(2.8rem, 8vw, 5.8rem);max-width:16ch;line-height:1.02;}
  .hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--ink);letter-spacing:0;}
  .hero .lead{margin-top:1.8rem;}
  .hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.4rem;}
  .hero-meta{margin-top:3.2rem;display:flex;gap:2.4rem;flex-wrap:wrap;font-size:.9rem;color:var(--ink-soft);}
  .hero-meta strong{display:block;font-family:var(--display);font-size:1.9rem;color:var(--ink);font-weight:400;}

  /* ---------- generic two-col ---------- */
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start;}

  /* ---------- placeholder images ---------- */
  .ph-img{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--primary-tint);}
  .ph-img img{width:100%;height:100%;object-fit:cover;}
  .ph-img .ph-tag{
    position:absolute;top:.7rem;left:.7rem;z-index:2;
    font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
    background:rgba(251,248,244,.9);color:var(--accent);padding:.3rem .7rem;border-radius:999px;
  }

  /* ---------- cards (Teenjóga) ---------- */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem;}
  .card{
    text-align:left;font-family:var(--sans);cursor:pointer;
    color:var(--ink);-webkit-text-fill-color:var(--ink);-webkit-appearance:none;appearance:none;
    background:var(--primary-tint);border-radius:var(--radius);padding:2rem 1.8rem;
    border:1.5px solid transparent;transition:transform .3s ease, border-color .3s ease, background .3s ease;
    display:flex;flex-direction:column;gap:.5rem;
  }
  .card:hover{transform:translateY(-4px);}
  .card.active{background:var(--primary);border-color:var(--accent);}
  .card .c-top{display:flex;justify-content:space-between;align-items:center;}
  .card .num{font-family:var(--display);font-size:1.15rem;color:#d98a6f;-webkit-text-fill-color:#d98a6f;}
  .card .plus{width:26px;height:26px;position:relative;flex:none;transition:transform .4s var(--ease);}
  .card .plus::before,.card .plus::after{content:"";position:absolute;background:var(--accent);border-radius:2px;}
  .card .plus::before{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%);}
  .card .plus::after{left:50%;top:0;height:100%;width:2px;transform:translateX(-50%);transition:opacity .3s ease;}
  .card.active .plus{transform:rotate(180deg);}
  .card.active .plus::after{opacity:0;}
  .card h3{font-family:var(--display);font-size:1.35rem;margin-top:.4rem;
    color:var(--ink);-webkit-text-fill-color:var(--ink);}
  .card p{color:var(--ink-soft);-webkit-text-fill-color:var(--ink-soft);font-size:.98rem;}

  /* ---------- roll-out detail panel ---------- */
  .card-detail{display:grid;grid-template-rows:0fr;margin-top:0;
    transition:grid-template-rows .55s var(--ease), margin-top .45s var(--ease);}
  .card-detail.open{grid-template-rows:1fr;margin-top:1.5rem;}
  .cd-clip{overflow:hidden;min-height:0;}
  .cd-inner{
    background:var(--accent);color:var(--on-dark);border-radius:var(--radius);
    padding:clamp(1.6rem,3vw,2.6rem);display:grid;grid-template-columns:1.3fr 1fr;
    gap:clamp(1.5rem,4vw,3rem);align-items:center;
    opacity:0;transform:translateY(16px);transition:opacity .5s ease .12s, transform .5s ease .12s;
  }
  .card-detail.open .cd-inner{opacity:1;transform:none;}
  .cd-inner h3{font-family:var(--display);color:var(--on-dark);font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.8rem;}
  .cd-inner p{color:var(--on-dark-soft);margin-bottom:.8rem;}
  .cd-inner .ph-img{aspect-ratio:4/3;}

  /* ---------- Pro školy (dark) ---------- */
  .dark{background:var(--accent);color:var(--on-dark);}
  .dark .eyebrow{color:var(--accent-tint);}
  .dark .h-sec{color:var(--on-dark);}
  .dark p.lead{color:var(--on-dark-soft);}
  .skoly-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
  .skoly-grid .ph-img{aspect-ratio:3/4;}
  .steps{display:grid;gap:1.4rem;margin-top:1.8rem;}
  .step{display:flex;gap:1.3rem;align-items:baseline;padding-bottom:1.3rem;border-bottom:1px solid rgba(201,217,232,.18);}
  .step:last-child{border-bottom:0;}
  .step .s-num{font-family:var(--display);font-size:1.6rem;color:var(--primary);min-width:2.5rem;}
  .step h3{font-family:var(--display);font-size:1.3rem;color:var(--on-dark);margin-bottom:.3rem;}
  .step p{color:var(--on-dark-soft);font-size:.96rem;}

  /* ---------- Lekce (schedule) ---------- */
  .schedule{margin-top:2.6rem;border-top:1px solid rgba(46,74,102,.14);}
  .row{display:grid;grid-template-columns:1.4fr 1fr 1.6fr auto;gap:1rem;align-items:center;
    padding:1.3rem .4rem;border-bottom:1px solid rgba(46,74,102,.14);transition:background .2s ease;}
  .row:hover{background:var(--primary-tint);}
  .row .day{font-family:var(--display);font-size:1.35rem;}
  .row .time{font-weight:600;}
  .row .place{color:var(--ink-soft);font-size:.95rem;}
  .tag{justify-self:start;font-size:.78rem;font-weight:600;letter-spacing:.04em;
    background:var(--accent-tint);color:var(--accent);padding:.3rem .8rem;border-radius:999px;}

  /* ---------- O mně ---------- */
  .portrait{aspect-ratio:4/5;border-radius:var(--radius);
    background:linear-gradient(150deg,var(--primary),var(--accent-tint));
    display:flex;align-items:flex-end;padding:1.4rem;font-family:var(--serif);position:relative;overflow:hidden;}
  .portrait .ph-note{background:rgba(251,248,244,.85);padding:.4rem .8rem;border-radius:8px;font-size:.82rem;color:var(--accent);}
  .creds{list-style:none;margin-top:1.8rem;display:grid;gap:.9rem;}
  .creds li{display:flex;gap:.8rem;align-items:flex-start;color:var(--ink-soft);}
  .creds li::before{content:"◆";color:#e0a98f;font-weight:700;font-size:.7em;line-height:1.9;}

  /* ---------- Kontakt ---------- */
  .contact{background:var(--accent-tint);}
  .contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
  .c-list{display:grid;gap:1.3rem;margin-top:2rem;}
  .c-item .c-label{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
  .c-item .c-val{font-family:var(--display);font-size:1.5rem;margin-top:.2rem;display:inline-block;}
  .c-item a.c-val:hover{color:var(--ink-soft);}

  /* ---------- Inspirace ---------- */
  .insp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem;}
  .insp-item{background:var(--primary-tint);border-radius:var(--radius);padding:2rem 1.8rem;display:flex;flex-direction:column;gap:.5rem;}
  .insp-icon{width:38px;height:38px;flex:none;}
  .insp-item blockquote{font-family:var(--serif);font-style:italic;font-size:1.08rem;line-height:1.55;color:var(--ink);flex:1;}
  .insp-item .insp-src{font-size:.83rem;color:var(--ink-soft);font-weight:600;letter-spacing:.04em;}
  @media(max-width:860px){.insp-grid{grid-template-columns:1fr;}}

  /* ---------- footer ---------- */
  footer{background:var(--accent);color:var(--on-dark);padding-block:3.5rem;}
  .foot-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:flex-start;}
  .foot-brand{font-family:var(--display);font-size:1.7rem;}
  .foot-brand span{color:var(--primary);-webkit-text-fill-color:#e0a98f;}
  .foot-links{display:flex;gap:1.4rem;flex-wrap:wrap;}
  .foot-links a{color:var(--on-dark-soft);font-size:.92rem;}
  .foot-links a:hover{color:var(--on-dark);}
  .foot-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(201,217,232,.18);
    font-size:.85rem;color:var(--on-dark-soft);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;}

  /* ---------- reveal ---------- */
  [data-reveal]{opacity:0;transform:translateY(18px);
    transition:opacity .65s cubic-bezier(.16,1,.3,1), transform .65s cubic-bezier(.16,1,.3,1);}
  [data-reveal].is-visible{opacity:1;transform:none;}
  @media(prefers-reduced-motion:reduce){
    [data-reveal]{opacity:1;transform:none;transition:none;}
  }

  a:focus-visible,.btn:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px;}

  /* ---------- responsive ---------- */
  @media (max-width:860px){
    .nav-links{position:fixed;inset:72px 0 auto 0;flex-direction:column;gap:0;
      background:var(--bg);border-bottom:1px solid rgba(46,74,102,.12);padding:.5rem var(--pad) 1.5rem;
      transform:translateY(-130%);transition:transform .35s ease;}
    .nav-links.open{transform:translateY(0);}
    .nav-links a{padding:.9rem 0;width:100%;border-bottom:1px solid rgba(46,74,102,.08);font-size:1.05rem;}
    .nav-toggle{display:block;}
    .grid-2,.contact-grid,.skoly-grid{grid-template-columns:1fr;}
    .hero-h1-row{flex-direction:column;align-items:flex-start;}
    .hero-deco img{height:min(40vw,200px);width:auto;}
    .cards{grid-template-columns:1fr;}
    .cd-inner{grid-template-columns:1fr;}
    .row{grid-template-columns:1fr 1fr;row-gap:.4rem;}
    .row .place{grid-column:1/-1;}
    .tag{grid-column:1/-1;}
    .portrait{max-width:420px;}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;scroll-behavior:auto!important;}
    .reveal{opacity:1;transform:none;}
    .card-detail{transition:none;}
    .cd-inner{transition:none;}
  }

  /* ---------- prose blocks (long editorial text) ---------- */
  .prose{max-width:64ch;margin-top:1.6rem;}
  .prose p{margin-bottom:1.1rem;color:var(--ink-soft);}
  .prose p:last-child{margin-bottom:0;}
  .prose strong{color:var(--ink);font-weight:600;}
  .dark .prose p{color:var(--on-dark-soft);}
  .dark .prose strong{color:var(--on-dark);}
  .h-sub{font-family:var(--display);font-size:clamp(1.4rem,2.6vw,1.9rem);margin:2.6rem 0 .2rem;}
  .dark .h-sub{color:var(--on-dark);}

  /* ---------- bullet list ---------- */
  .ticks{list-style:none;display:grid;gap:.75rem;margin-top:.4rem;}
  .ticks li{display:flex;gap:.75rem;align-items:flex-start;color:var(--ink-soft);}
  .ticks li::before{content:"";flex:none;width:8px;height:8px;margin-top:.62rem;border-radius:50%;background:#e0a98f;}
  .cd-inner .ticks li{color:var(--on-dark-soft);}
  .cd-inner .ticks li::before{background:var(--primary);}

  /* ---------- topic tags (card 03) ---------- */
  .topics{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;}
  .topics span{font-size:.92rem;font-weight:500;padding:.5rem 1rem;border-radius:999px;
    background:rgba(201,217,232,.16);border:1px solid rgba(201,217,232,.32);color:var(--on-dark);}

  /* ---------- pull quote ---------- */
  .pull{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2.2vw,1.5rem);
    line-height:1.4;color:var(--on-dark);border-left:3px solid var(--primary);
    padding-left:1.2rem;margin-bottom:1.4rem;}

  /* ---------- detail panel: single column when no image ---------- */
  .cd-inner.solo{grid-template-columns:1fr;}

  /* ---------- Lekce: venues ---------- */
  .venues{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2.6rem;}
  .venue{background:var(--primary-tint);border-radius:var(--radius);padding:2rem 1.8rem;
    display:flex;flex-direction:column;gap:.55rem;border:1px solid rgba(46,74,102,.06);}
  .venue .v-days{font-family:var(--display);font-size:1.6rem;line-height:1.1;}
  .venue .v-place{font-weight:600;}
  .venue .v-note{font-size:.94rem;color:var(--ink-soft);}
  .venue .tag{margin-top:.3rem;}
  @media(max-width:860px){.venues{grid-template-columns:1fr;}}

  /* ---------- gallery ---------- */
  .gallery{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.6rem;}
  .gallery .ph-img{aspect-ratio:16/9;}
  .gallery .ph-img img{object-fit:cover;}
  @media(max-width:860px){.gallery{grid-template-columns:1fr;}}

  /* ---------- CMS-ready block ---------- */
  .cms-slot{margin-top:2.4rem;border:1.5px dashed rgba(46,74,102,.28);border-radius:var(--radius);
    padding:1.8rem;background:rgba(252,227,218,.35);}
  .cms-slot .cms-label{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b8734f;}
  .cms-slot p{color:var(--ink-soft);margin-top:.5rem;font-size:.96rem;}

  /* ---------- accordion (kurzy) ---------- */
  .acc{margin-top:2rem;border-top:1px solid rgba(46,74,102,.14);}
  .acc details{border-bottom:1px solid rgba(46,74,102,.14);}
  .acc summary{cursor:pointer;list-style:none;padding:1.2rem .2rem;display:flex;
    justify-content:space-between;align-items:center;gap:1rem;font-weight:600;
    color:var(--ink);-webkit-text-fill-color:var(--ink);}
  .acc summary::-webkit-details-marker{display:none;}
  .acc summary .chev{width:20px;height:20px;flex:none;position:relative;transition:transform .35s var(--ease);}
  .acc summary .chev::before,.acc summary .chev::after{content:"";position:absolute;background:var(--accent);border-radius:2px;}
  .acc summary .chev::before{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%);}
  .acc summary .chev::after{left:50%;top:0;height:100%;width:2px;transform:translateX(-50%);transition:opacity .3s ease;}
  .acc details[open] summary .chev{transform:rotate(180deg);}
  .acc details[open] summary .chev::after{opacity:0;}
  .acc .acc-body{padding:0 .2rem 1.6rem;}
  .cv{list-style:none;display:grid;gap:.65rem;}
  .cv li{display:grid;grid-template-columns:5.2rem 1fr;gap:1rem;align-items:baseline;color:var(--ink-soft);font-size:.97rem;}
  .cv li .yr{font-family:var(--display);color:var(--ink);font-size:1.05rem;}
  @media(max-width:600px){.cv li{grid-template-columns:1fr;gap:.15rem;}}

  /* ---------- feature block (nohy / plochonoží) ---------- */
  .feature{background:var(--primary-tint);border-radius:var(--radius);
    padding:clamp(1.8rem,4vw,3rem);margin-top:3rem;}
  .feature .h-sub{margin-top:0;}
  .stat{font-family:var(--display);font-size:clamp(2.2rem,5vw,3.2rem);line-height:1;color:var(--ink);margin-bottom:.3rem;}
  .stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin:1.6rem 0;}
  .stat-row .s-lbl{font-size:.94rem;color:var(--ink-soft);}
  @media(max-width:600px){.stat-row{grid-template-columns:1fr;}}
  .src-note{font-size:.84rem;color:var(--ink-soft);margin-top:1rem;font-style:italic;}


  /* ---------- wide section layout ---------- */
  .mid .eyebrow{justify-content:flex-start;}
  .mid .h-sec{max-width:none;}
  .mid p.lead{max-width:62ch;}
  .h-sec.wide{max-width:none;}

  /* wide single-column prose */
  .prose.wide{max-width:none;}
  .prose.wide p{line-height:1.72;}

  /* wider hero */
  .hero-lower{margin-top:1.8rem;max-width:62ch;}
  .hero-copy .lead{margin-top:0;}
  .hero-meta{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);
    gap:clamp(1.5rem,4vw,3rem);}
  .hm-item{display:grid;gap:.1rem;padding-left:1.1rem;border-left:2px solid var(--primary);}
  .hm-item strong{font-family:var(--display);font-weight:400;
    font-size:clamp(2.1rem,3.6vw,2.9rem);line-height:1;color:var(--ink);}
  .hm-item span{font-size:.95rem;color:var(--ink-soft);}
  @media(max-width:700px){.hero-meta{grid-template-columns:1fr;gap:1.3rem;}}

  /* ---------- feature block refinements ---------- */
  .feature .f-head{text-align:center;max-width:34ch;margin:0 auto 2rem;}
  .stat-row{max-width:720px;margin-left:auto;margin-right:auto;text-align:center;}
  .stat-one .stat{margin-bottom:.4rem;}
  .feature .prose{margin-left:auto;margin-right:auto;}
  .f-split{display:grid;grid-template-columns:1fr 1fr;gap:2rem clamp(1.5rem,4vw,3rem);
    margin-top:2.2rem;max-width:70ch;margin-left:auto;margin-right:auto;text-align:left;}
  .f-split h4{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:#b8734f;margin-bottom:.9rem;}
  @media(max-width:700px){.f-split{grid-template-columns:1fr;}}
  .feature .pull-light{font-family:var(--serif);font-style:italic;
    font-size:clamp(1.15rem,2.4vw,1.55rem);line-height:1.4;color:var(--ink);
    text-align:center;max-width:26ch;margin:2.4rem auto 1.6rem;}

  /* ---------- venue address ---------- */
  .venue .v-addr{font-size:.94rem;color:var(--ink-soft);}

  /* ---------- kurzy: right-aligned years ---------- */
  .cv li{grid-template-columns:4.7rem 1fr;}
  .cv li .yr{text-align:right;white-space:nowrap;}
  @media(max-width:600px){.cv li .yr{text-align:left;}}


  /* ---------- mobile hero logo (in flow, between title and lead) ---------- */
  .hero-deco-m{display:none;}
  @media(max-width:900px){
    .hero-deco{display:none;}
    .hero-deco-m{display:block;margin:2rem 0 .5rem;}
    .hero-deco-m img{height:auto;width:min(52vw,220px);margin:0 auto;}
    .hero-lower{margin-top:1rem;}
  }

  /* ---------- mobile: detail panel sits inside the card grid ---------- */
  @media(max-width:860px){
    .card-detail{grid-column:1/-1;}
    .card-detail.open{margin-top:1rem;margin-bottom:.4rem;}
  }

  /* ---------- small-screen tightening ---------- */
  @media(max-width:520px){
    .hero h1{font-size:clamp(2.05rem,9vw,3rem);}
    .h-sec{font-size:clamp(1.75rem,7.5vw,2.4rem);}
    .stat{font-size:2.4rem;}
    .venue{padding:1.5rem 1.3rem;}
    .card{padding:1.6rem 1.4rem;}
    .cd-inner{padding:1.5rem 1.3rem;}
    .feature{padding:1.5rem 1.2rem;}
    .foot-inner{flex-direction:column;gap:1.2rem;}
    .foot-links{gap:.9rem 1.1rem;}
  }

  /* ---------- drifting dandelion seed ---------- */
  #seed-canvas{position:fixed;inset:0;width:100%;height:100%;
    z-index:40;pointer-events:none;opacity:0;transition:opacity 1.2s ease;
    touch-action:none;}
  #seed-canvas.on{opacity:1;}
  @media(prefers-reduced-motion:reduce){ #seed-canvas{display:none;}}
