/*
Theme Name: freiluftkollektiv
Theme URI:
Author: freiluftkollektiv
Description: Liquid-Glass Landingpage für das freiluftkollektiv (hike · connect · thrive). Einseitiges Theme mit Intro-Animation, Event-, Community-, Blog- und Partner-Sektion.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: freiluftkollektiv
*/
:root{
    --sand:#EFE9DF;
    --ink:#2B2B28;
    --slate:#4B5B6B;
    --slate-2:#6E7788;
    --slate-3:#8B93A6;
    --warm:#EAD9C2;
    /* liquid glass tokens */
    --glass:rgba(255,255,255,0.10);
    --glass-strong:rgba(255,255,255,0.17);
    --glass-brd:rgba(255,255,255,0.30);
    --glass-hi:inset 0 1px 0 rgba(255,255,255,0.42);
    --txt:rgba(255,255,255,0.96);
    --txt-soft:rgba(255,255,255,0.80);
    --txt-mute:rgba(255,255,255,0.64);
    --blur:blur(22px) saturate(155%);
    --blur-sm:blur(9px) saturate(140%);
    /* theme-dependent (DARK defaults — B&W photo) */
    --bg-img:url('assets/mountains-dark.jpg');
    --scrim:linear-gradient(180deg, rgba(18,26,38,0.28) 0%, rgba(18,26,38,0.36) 46%, rgba(12,18,28,0.58) 100%);
    --logo-filter:brightness(0) invert(1);
    --nav-bg:rgba(22,31,44,0.34);
    --footer-bg:rgba(16,23,33,0.42);
    --tile-bg:rgba(255,255,255,0.16);
    --tile-brd:rgba(255,255,255,0.24);
    --rule:rgba(255,255,255,0.22);
    --focus-ring:rgba(255,255,255,0.92);
    --hero-shadow:0 4px 34px rgba(0,0,0,0.38);
    --tag-shadow:0 2px 20px rgba(0,0,0,0.35);
  }

  /* ---------- LIGHT THEME (colour photo) ---------- */
  :root[data-theme="light"]{
    --warm:var(--slate);
    --glass:rgba(255,255,255,0.52);
    --glass-strong:rgba(255,255,255,0.64);
    --glass-brd:rgba(255,255,255,0.78);
    --glass-hi:inset 0 1px 0 rgba(255,255,255,0.95);
    --txt:rgba(26,36,47,0.96);
    --txt-soft:rgba(26,36,47,0.72);
    --txt-mute:rgba(26,36,47,0.56);
    --bg-img:url('assets/intro-mountains.jpg');
    --scrim:linear-gradient(180deg, rgba(255,255,255,0.34) 0%, rgba(255,255,255,0.16) 40%, rgba(224,230,238,0.34) 100%);
    --logo-filter:none;
    --nav-bg:rgba(255,255,255,0.55);
    --footer-bg:rgba(255,255,255,0.5);
    --tile-bg:rgba(38,49,61,0.10);
    --tile-brd:rgba(38,49,61,0.16);
    --rule:rgba(38,49,61,0.20);
    --focus-ring:var(--slate);
    --hero-shadow:0 2px 22px rgba(255,255,255,0.6);
    --tag-shadow:0 1px 14px rgba(255,255,255,0.5);
  }
  /* light-mode text/control overrides for the hard-coded white elements */
  :root[data-theme="light"] .nav__brand,
  :root[data-theme="light"] .nav__link,
  :root[data-theme="light"] .nav__link:hover,
  :root[data-theme="light"] .hero h1,
  :root[data-theme="light"] .hero__tag,
  :root[data-theme="light"] .event__title,
  :root[data-theme="light"] .card__title,
  :root[data-theme="light"] .post__title,
  :root[data-theme="light"] .post__more,
  :root[data-theme="light"] .datechip .d,
  :root[data-theme="light"] .footer__brand span{color:var(--txt);}
  :root[data-theme="light"] .datechip .m{color:var(--txt-soft);}
  :root[data-theme="light"] .card__icon{color:var(--slate);}
  :root[data-theme="light"] .card__live{color:#1f9d57;}
  :root[data-theme="light"] .hero__badge{background:rgba(255,255,255,0.55);border-color:rgba(255,255,255,0.85);}
  :root[data-theme="light"] .icon-btn{color:var(--txt);border-color:rgba(38,49,61,0.4);background:rgba(38,49,61,0.06);}
  :root[data-theme="light"] .icon-btn:hover{background:#26313d;color:#fff;border-color:#26313d;}
  :root[data-theme="light"] .btn-ghost{color:var(--txt);border-color:rgba(38,49,61,0.35);background:rgba(38,49,61,0.05);}
  :root[data-theme="light"] .btn-ghost:hover{background:rgba(38,49,61,0.12);border-color:rgba(38,49,61,0.62);}
  :root[data-theme="light"] .btn-pill,
  :root[data-theme="light"] .btn-solid{background:var(--slate);color:#fff;border-color:rgba(0,0,0,0.06);}
  :root[data-theme="light"] .btn-pill:hover,
  :root[data-theme="light"] .btn-solid:hover{background:#3a4855;}
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Quicksand',sans-serif;
    background:#1a2534;
    color:var(--txt);
    overflow-x:hidden;
  }
  ::selection{background:rgba(255,255,255,0.85);color:#1a2534;}
  a{color:inherit;}
  img{display:block;}
  a,button{touch-action:manipulation;}

  /* ---------- FIXED MOUNTAIN BACKDROP ---------- */
  .page-bg{position:fixed;inset:0;z-index:-2;background:var(--bg-img) center 42%/cover no-repeat;transition:background-image .4s ease;}
  .page-bg::after{
    content:"";position:absolute;inset:0;
    background:var(--scrim);
  }

  /* white version of the black logo mark, for use on dark glass */
  .logo-invert{filter:var(--logo-filter);}

  /* Accessible focus rings (keyboard only) */
  a:focus-visible,button:focus-visible{
    outline:3px solid var(--focus-ring);
    outline-offset:3px;border-radius:8px;
  }

  /* Skip link */
  .skip-link{
    position:absolute;left:12px;top:-56px;z-index:1100;
    padding:12px 18px;background:#121a26;color:#fff;
    font-weight:700;font-size:14px;border-radius:10px;text-decoration:none;
    transition:top .2s ease;
  }
  .skip-link:focus{top:12px;}

  .sr-only{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }

  /* ---------- NAV (glass bar) ---------- */
  .nav{
    position:sticky;top:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 6vw;
    background:var(--nav-bg);
    backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
    border-bottom:1px solid rgba(255,255,255,0.12);
  }
  .nav__brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;}
  .nav__brand img{height:28px;width:auto;}
  .nav__brand span{font-family:'Fredoka',sans-serif;font-weight:600;font-size:19px;letter-spacing:-0.01em;}
  .nav__right{display:flex;align-items:center;gap:22px;}
  .nav__links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0;}
  .nav__links li{display:flex;}
  .nav__links li.nav__links-social{display:none;}
  .nav__link{font-size:15px;font-weight:600;color:rgba(255,255,255,0.88);text-decoration:none;transition:color .2s ease;}
  .nav__link:hover{color:#fff;}
  .nav__right .nav__burger{display:none;}
  .nav__burger .ic-close{display:none;}
  .icon-btn{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:50%;
    border:1.5px solid rgba(255,255,255,0.55);color:#fff;text-decoration:none;
    background:rgba(255,255,255,0.08);
    backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);
    transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease;
  }
  .icon-btn:hover{background:#fff;color:#1a2534;border-color:#fff;transform:translateY(-1px);}
  .theme-toggle{cursor:pointer;}
  .theme-toggle .ic-moon{display:none;}
  :root[data-theme="light"] .theme-toggle .ic-sun{display:none;}
  :root[data-theme="light"] .theme-toggle .ic-moon{display:inline;}

  /* ---------- HERO (over the mountains) ---------- */
  .hero{
    position:relative;
    padding:16vh 6vw 13vh;
    display:flex;flex-direction:column;align-items:center;text-align:center;
    overflow:hidden;
  }
  .hero__badge{
    position:relative;
    display:flex;align-items:center;justify-content:center;
    width:108px;height:108px;border-radius:50%;
    background:rgba(255,255,255,0.15);
    backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
    border:1px solid rgba(255,255,255,0.38);
    box-shadow:0 12px 40px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.55);
    margin-bottom:30px;
  }
  .hero__badge img{width:58px;height:auto;}
  .hero h1{
    position:relative;font-family:'Fredoka',sans-serif;font-weight:700;
    font-size:clamp(42px,7vw,88px);line-height:1;margin:0 0 20px;color:#fff;letter-spacing:-0.01em;
    text-shadow:var(--hero-shadow);
  }
  .hero__tag{position:relative;font-size:clamp(16px,2vw,22px);font-weight:600;color:rgba(255,255,255,0.94);margin:0 0 36px;letter-spacing:0.01em;text-shadow:var(--tag-shadow);}
  .btn-pill{
    position:relative;display:inline-flex;align-items:center;gap:10px;
    padding:16px 32px;background:rgba(255,255,255,0.92);color:var(--slate);
    font-family:'Quicksand',sans-serif;font-weight:700;font-size:16px;
    border-radius:100px;text-decoration:none;
    border:1px solid rgba(255,255,255,0.6);
    box-shadow:0 10px 34px rgba(0,0,0,0.28);
    backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  }
  .btn-pill:hover{transform:translateY(-2px);background:#fff;box-shadow:0 14px 40px rgba(0,0,0,0.34);}

  /* ---------- SECTION SHELL ---------- */
  .section{padding:106px 6vw;display:flex;justify-content:center;scroll-margin-top:88px;}
  .section--community{padding:0 6vw 128px;}
  .wrap{width:100%;max-width:1080px;}
  .eyebrow{display:flex;align-items:baseline;gap:14px;margin-bottom:44px;}
  .eyebrow span{font-family:'Fredoka',sans-serif;font-weight:600;font-size:14px;letter-spacing:0.08em;text-transform:uppercase;color:var(--warm);text-shadow:0 2px 16px rgba(0,0,0,0.4);}
  .eyebrow .rule{flex:1;height:1px;background:var(--rule);}

  /* ---------- EVENT CARD (glass) ---------- */
  .event{
    display:grid;grid-template-columns:1.1fr 1fr;
    border-radius:26px;overflow:hidden;
    background:var(--glass);
    backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
    border:1px solid var(--glass-brd);
    box-shadow:0 26px 70px rgba(0,0,0,0.38), var(--glass-hi);
  }
  .event__media{position:relative;min-height:430px;overflow:hidden;background:var(--slate-2);}
  .event__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .event__media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,16,22,0.6) 0%,transparent 46%);}
  .event__caption{position:absolute;left:28px;bottom:28px;color:#fff;z-index:1;}
  .event__caption .kicker{font-family:'Fredoka',sans-serif;font-weight:700;font-size:15px;letter-spacing:0.04em;text-transform:uppercase;opacity:0.92;}
  .event__caption .place{font-family:'Fredoka',sans-serif;font-weight:600;font-size:26px;}
  .event__body{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;gap:22px;}
  .event__row{display:flex;align-items:center;gap:14px;}
  .datechip{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    width:64px;height:64px;border-radius:16px;flex-shrink:0;
    background:var(--tile-bg);border:1px solid var(--tile-brd);
    backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);
  }
  .datechip .d{font-family:'Fredoka',sans-serif;font-weight:700;font-size:22px;line-height:1;color:#fff;}
  .datechip .m{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:rgba(255,255,255,0.82);}
  .event__title{margin:0;font-family:'Fredoka',sans-serif;font-weight:600;font-size:22px;line-height:1.25;color:#fff;}
  .event__meta{font-size:14px;font-weight:600;color:var(--txt-mute);}
  .event__desc{font-size:16px;line-height:1.6;color:var(--txt-soft);margin:0;}
  .event__cta{display:flex;gap:12px;flex-wrap:wrap;}
  .btn-solid{
    display:inline-flex;align-items:center;justify-content:center;
    padding:15px 28px;background:rgba(255,255,255,0.94);color:var(--slate);
    font-weight:700;font-size:15px;border-radius:100px;text-decoration:none;
    border:1px solid rgba(255,255,255,0.6);box-shadow:0 8px 24px rgba(0,0,0,0.25);
    transition:background .2s ease,transform .2s ease;
  }
  .btn-solid:hover{background:#fff;transform:translateY(-1px);}
  .btn-ghost{
    display:inline-flex;align-items:center;justify-content:center;
    padding:15px 24px;background:rgba(255,255,255,0.08);color:#fff;
    font-weight:700;font-size:15px;border-radius:100px;text-decoration:none;
    border:1.5px solid rgba(255,255,255,0.42);
    backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);
    transition:background .2s ease,border-color .2s ease;
  }
  .btn-ghost:hover{background:rgba(255,255,255,0.18);border-color:rgba(255,255,255,0.75);}

  /* ---------- COMMUNITY (glass) ---------- */
  .cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .card{
    display:flex;flex-direction:column;gap:18px;padding:38px;
    border-radius:22px;text-decoration:none;color:#fff;
    background:var(--glass);
    backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
    border:1px solid var(--glass-brd);
    box-shadow:0 20px 54px rgba(0,0,0,0.32), var(--glass-hi);
    transition:box-shadow .25s ease,transform .25s ease,background .25s ease;
  }
  .card:hover{background:var(--glass-strong);box-shadow:0 28px 66px rgba(0,0,0,0.42), var(--glass-hi);transform:translateY(-4px);}
  .card__icon{
    display:flex;align-items:center;justify-content:center;
    width:52px;height:52px;border-radius:15px;color:#fff;
    background:var(--tile-bg);border:1px solid var(--tile-brd);
    backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);
  }
  .card__head{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
  .card__title{margin:0;font-family:'Fredoka',sans-serif;font-weight:600;font-size:20px;color:#fff;}
  .card__live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;color:#6EE7A6;}
  .card__live .dot{width:8px;height:8px;border-radius:50%;background:#34D17A;box-shadow:0 0 0 0 rgba(52,209,122,0.6);animation:livePulse 2s ease-out infinite;}
  @keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(52,209,122,0.55);}70%{box-shadow:0 0 0 8px rgba(52,209,122,0);}100%{box-shadow:0 0 0 0 rgba(52,209,122,0);}}
  .card__text{font-size:15px;line-height:1.55;color:var(--txt-soft);}

  /* ---------- FOOTER ---------- */
  .footer{
    padding:46px 6vw;display:flex;align-items:center;justify-content:space-between;
    flex-wrap:wrap;gap:16px;
    background:var(--footer-bg);
    backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
    border-top:1px solid rgba(255,255,255,0.14);
  }
  .footer__brand{display:flex;align-items:center;gap:10px;}
  .footer__brand img{height:22px;width:auto;}
  .footer__brand span{font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;color:#fff;}
  .footer__tag{font-size:13px;color:var(--txt-mute);}

  /* ---------- PAST TOURS / BLOG ---------- */
  .flk-blog{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .post{
    display:flex;flex-direction:column;
    border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;
    background:var(--glass);
    backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
    border:1px solid var(--glass-brd);
    box-shadow:0 20px 54px rgba(0,0,0,0.32), var(--glass-hi);
    transition:box-shadow .25s ease,transform .25s ease,background .25s ease;
  }
  .post:hover{background:var(--glass-strong);transform:translateY(-4px);box-shadow:0 28px 66px rgba(0,0,0,0.42), var(--glass-hi);}
  .post__thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--slate-2);}
  .post__thumb img{width:100%;height:100%;object-fit:cover;}
  .post__date{
    position:absolute;top:14px;left:14px;padding:6px 12px;border-radius:100px;
    font-size:12px;font-weight:700;letter-spacing:0.03em;color:#fff;
    background:rgba(16,22,32,0.5);border:1px solid rgba(255,255,255,0.22);
    backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);
  }
  .post__body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1;}
  .post__title{margin:0;font-family:'Fredoka',sans-serif;font-weight:600;font-size:19px;line-height:1.25;color:#fff;}
  .post__excerpt{margin:0;font-size:14.5px;line-height:1.55;color:var(--txt-soft);flex:1;}
  .post__more{display:inline-flex;align-items:center;gap:7px;margin-top:4px;font-weight:700;font-size:14px;color:#fff;}
  .post__more svg{transition:transform .2s ease;}
  .post:hover .post__more svg{transform:translateX(3px);}

  /* ---------- PARTNER BANNER ---------- */
  .partner{padding:0 6vw 108px;display:flex;justify-content:center;}
  .partner__inner{
    width:100%;max-width:1080px;
    display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
    padding:32px 40px;border-radius:24px;
    background:var(--glass);
    backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
    border:1px solid var(--glass-brd);
    box-shadow:0 22px 60px rgba(0,0,0,0.34), var(--glass-hi);
  }
  .partner__left{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
  .partner__logo{
    display:inline-flex;align-items:center;justify-content:center;
    padding:12px 22px;border-radius:14px;flex-shrink:0;
    background:rgba(255,255,255,0.92);
    font-family:'Fredoka',sans-serif;font-weight:700;font-size:22px;letter-spacing:-0.01em;color:#1a2534;
  }
  .partner__label{font-family:'Fredoka',sans-serif;font-weight:600;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--warm);margin-bottom:4px;}
  .partner__text{margin:0;font-size:15px;line-height:1.5;color:var(--txt-soft);max-width:440px;}

  /* ---------- TOUR-CLIPS: vertical reel wall ---------- */
  .clips{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .clip{
    position:relative;display:block;text-decoration:none;color:#fff;
    aspect-ratio:9/16;border-radius:20px;overflow:hidden;
    border:1px solid var(--glass-brd);background:var(--slate-2);
    box-shadow:0 20px 54px rgba(0,0,0,0.34), var(--glass-hi);
    transition:transform .25s ease,box-shadow .25s ease;
  }
  .clip:hover{transform:translateY(-4px);box-shadow:0 28px 66px rgba(0,0,0,0.44), var(--glass-hi);}
  .clip__poster,.clip__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .clip__poster{transform:scale(1.06);animation:clipPan 20s ease-in-out infinite alternate;}
  @keyframes clipPan{from{transform:scale(1.06) translate3d(0,0,0);}to{transform:scale(1.18) translate3d(0,-3%,0);}}
  .clip__video{opacity:0;transition:opacity .6s ease;}
  .clip.is-playing .clip__video{opacity:1;}
  .clip__scrim{position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,14,22,0.15) 0%, transparent 32%, transparent 55%, rgba(10,14,22,0.72) 100%);}
  .clip__overlay{position:absolute;left:16px;right:16px;bottom:15px;z-index:2;}
  .clip__title{font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,0.55);}
  .clip__date{font-size:12px;font-weight:600;color:rgba(255,255,255,0.82);margin-top:2px;text-shadow:0 2px 10px rgba(0,0,0,0.55);}
  .clip__badge{
    position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;z-index:2;
    display:flex;align-items:center;justify-content:center;color:#fff;
    background:rgba(16,22,32,0.42);border:1px solid rgba(255,255,255,0.42);
    backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);
    transition:opacity .3s ease;
  }
  .clip.is-playing .clip__badge{opacity:0;}

  /* ---------- BLOG: single post + posts list (WordPress templates) ---------- */
  .article__reel{display:flex;justify-content:center;background:#0b0f16;}
  .article__reel video{width:100%;max-width:420px;aspect-ratio:9/16;object-fit:cover;display:block;background:#0b0f16;}
  .article-wrap .wrap{max-width:760px;}
  .back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:20px;font-weight:700;font-size:14px;color:var(--txt-soft);text-decoration:none;}
  .back-link:hover{color:var(--txt);}
  .article{
    border-radius:24px;overflow:hidden;
    background:var(--glass);
    backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
    border:1px solid var(--glass-brd);
    box-shadow:0 24px 64px rgba(0,0,0,0.34), var(--glass-hi);
  }
  .article__hero{aspect-ratio:16/9;overflow:hidden;background:var(--slate-2);}
  .article__hero img{width:100%;height:100%;object-fit:cover;display:block;}
  .article__body{padding:40px clamp(24px,5vw,52px) 48px;}
  .article__title{margin:6px 0 10px;font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(26px,4vw,40px);line-height:1.1;color:var(--txt);}
  .article__meta{font-size:14px;font-weight:600;color:var(--txt-mute);margin-bottom:24px;}
  .entry-content{color:var(--txt-soft);font-size:17px;line-height:1.75;}
  .entry-content > *:first-child{margin-top:0;}
  .entry-content p{margin:0 0 1.1em;}
  .entry-content h2{font-family:'Fredoka',sans-serif;font-weight:600;font-size:24px;color:var(--txt);margin:1.6em 0 .5em;}
  .entry-content h3{font-family:'Fredoka',sans-serif;font-weight:600;font-size:20px;color:var(--txt);margin:1.4em 0 .4em;}
  .entry-content a{color:var(--txt);text-decoration:underline;text-underline-offset:3px;}
  .entry-content img{max-width:100%;height:auto;border-radius:14px;margin:1em 0;}
  .entry-content ul,.entry-content ol{margin:0 0 1.1em;padding-left:1.3em;}
  .entry-content li{margin:.3em 0;}
  .entry-content blockquote{margin:1.2em 0;padding:4px 0 4px 18px;border-left:3px solid var(--glass-brd);color:var(--txt);font-style:italic;}
  .article-nav{display:flex;justify-content:space-between;gap:16px;margin-top:28px;flex-wrap:wrap;}
  .article-nav a{color:var(--txt-soft);font-weight:700;font-size:14px;text-decoration:none;}
  .article-nav a:hover{color:var(--txt);}
  .flk-blog-empty{color:var(--txt-soft);font-size:16px;}
  .flk-more{display:flex;justify-content:center;margin-top:34px;}
  .pagination,.blog-pagination .nav-links{display:flex;gap:8px;justify-content:center;margin-top:34px;flex-wrap:wrap;}
  .pagination a,.pagination span,.blog-pagination a,.blog-pagination span{
    display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;
    background:var(--glass);border:1px solid var(--glass-brd);color:var(--txt);font-weight:700;text-decoration:none;
    backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);
  }
  .pagination .current,.blog-pagination .current{background:var(--glass-strong);}

  /* ---------- SPECULAR SHEEN (liquid glass highlight sweep) ---------- */
  .card,.event,.post,.clip,.btn-ghost,.icon-btn,.hero__badge{position:relative;overflow:hidden;}
  .card::before,.event::before,.post::before,.clip::before,.btn-ghost::before,.icon-btn::before,.hero__badge::before{
    content:"";position:absolute;top:-25%;left:-85%;width:58%;height:150%;
    background:linear-gradient(105deg, transparent 0%, rgba(255,255,255,0.32) 45%, rgba(255,255,255,0.07) 60%, transparent 100%);
    transform:skewX(-16deg);
    transition:left .8s cubic-bezier(.22,.61,.36,1);
    pointer-events:none;z-index:6;
  }
  .card:hover::before,.card:focus-visible::before,
  .event:hover::before,
  .clip:hover::before,.clip:focus-visible::before,
  .post:hover::before,.post:focus-visible::before,
  .btn-ghost:hover::before,.btn-ghost:focus-visible::before,
  .icon-btn:hover::before,.icon-btn:focus-visible::before,
  .hero__badge:hover::before{left:145%;}
  /* quick glint on tap for touch devices */
  .card:active::before,.post:active::before,.btn-ghost:active::before,.icon-btn:active::before{left:145%;transition-duration:.5s;}

  /* ---------- SCROLL REVEAL ---------- */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
  .reveal.is-in{opacity:1;transform:none;}

  /* ---------- INTRO OVERLAY (logo draw + mountain reveal) ---------- */
  .intro{
    position:fixed;inset:0;z-index:1000;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
    background:#1a2534;overflow:hidden;
    transition:opacity .9s ease,transform 1s cubic-bezier(.5,.05,.3,1),visibility .9s ease;
  }
  .intro__bg{
    position:absolute;inset:0;
    background:var(--bg-img) center 42%/cover no-repeat;
    transform:scale(1.02);
    animation:kenburns 6s cubic-bezier(.22,.61,.36,1) forwards;
  }
  .intro__scrim{
    position:absolute;inset:0;
    background:
      radial-gradient(ellipse 68% 58% at 50% 50%, rgba(10,16,26,0.66) 0%, rgba(10,16,26,0.34) 44%, transparent 76%),
      linear-gradient(180deg, rgba(10,16,26,0.34) 0%, rgba(10,16,26,0.08) 40%, rgba(10,16,26,0.44) 100%);
  }
  .intro__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:26px;}
  .intro.is-done{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.14);}
  @keyframes kenburns{from{transform:scale(1.02);}to{transform:scale(1.12);}}
  .intro__logo{position:relative;width:min(46vw,320px);height:auto;}
  .intro__logo path{
    fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;
    filter:drop-shadow(0 6px 18px rgba(0,0,0,0.25));
  }
  .intro__word{
    position:relative;
    font-family:'Fredoka',sans-serif;font-weight:700;
    font-size:clamp(26px,5vw,46px);letter-spacing:-0.01em;color:#fff;
    display:flex;overflow:hidden;text-shadow:0 4px 24px rgba(0,0,0,0.3);
  }
  .intro__word span{
    display:inline-block;white-space:pre;
    opacity:0;transform:translateY(0.7em);
    animation:wordUp .5s cubic-bezier(.2,.7,.2,1) forwards;
  }
  .intro__tag{
    position:relative;font-size:clamp(13px,1.6vw,17px);font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
    color:rgba(255,255,255,0.85);opacity:0;animation:fadeIn .6s ease forwards;animation-delay:2.35s;text-shadow:0 2px 16px rgba(0,0,0,0.3);
  }
  .intro__skip{
    position:absolute;bottom:26px;right:28px;
    font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;
    color:rgba(255,255,255,0.65);background:none;border:none;cursor:pointer;font-family:'Quicksand',sans-serif;
    transition:color .2s ease;
  }
  .intro__skip:hover{color:#fff;}

  @keyframes wordUp{to{opacity:1;transform:none;}}
  @keyframes fadeIn{to{opacity:1;}}

  body.intro-lock{overflow:hidden;height:100vh;}

  /* ---------- GRACEFUL FALLBACKS ---------- */
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
    .nav{background:rgba(20,28,40,0.92);}
    .event,.card{background:rgba(28,37,51,0.86);}
    .hero__badge,.datechip,.card__icon,.icon-btn,.btn-ghost{background:rgba(40,52,68,0.82);}
    .footer{background:rgba(16,23,33,0.92);}
  }
  @media (prefers-reduced-transparency: reduce){
    .nav{background:rgba(20,28,40,0.94);}
    .event,.card{background:rgba(28,37,51,0.9);}
    .footer{background:rgba(16,23,33,0.94);}
  }

  @media (prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    .card__live .dot{animation:none;}
    .card::before,.event::before,.post::before,.clip::before,.btn-ghost::before,.icon-btn::before,.hero__badge::before{display:none;}
    .clip__poster{animation:none;}
    .intro{display:none;}
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:1024px){
    .flk-blog{grid-template-columns:1fr 1fr;}
    .clips{grid-template-columns:repeat(3,1fr);}
  }
  @media (max-width:820px){
    .event{grid-template-columns:1fr;}
    .event__media{min-height:280px;}
    .cards{grid-template-columns:1fr;}
    .section{padding:78px 6vw;}
    /* clip wall -> horizontal swipe */
    .clips{
      display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
      padding-bottom:10px;margin:0 -6vw;padding-left:6vw;padding-right:6vw;
      -webkit-overflow-scrolling:touch;scrollbar-width:none;
    }
    .clips::-webkit-scrollbar{display:none;}
    .clip{flex:0 0 66%;scroll-snap-align:center;}
  }
  /* ---- Mobile navigation (hamburger) ---- */
  @media (max-width:720px){
    .nav{padding:13px 5vw;}
    .nav__brand span{font-size:17px;}
    .nav__right{gap:10px;}
    .nav__ig{display:none;}
    .nav__right .nav__burger{display:flex;}
    .nav__links{
      position:absolute;top:calc(100% + 6px);left:12px;right:12px;
      flex-direction:column;align-items:stretch;gap:3px;
      padding:10px;border-radius:16px;
      background:var(--nav-bg);
      backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
      border:1px solid var(--glass-brd);
      box-shadow:0 22px 54px rgba(0,0,0,0.4);
      opacity:0;visibility:hidden;transform:translateY(-8px);
      transition:opacity .22s ease,transform .22s ease,visibility .22s;
    }
    .nav.is-open .nav__links{opacity:1;visibility:visible;transform:none;}
    .nav__links li{display:block;}
    .nav__links li.nav__links-social{display:block;border-top:1px solid var(--rule);margin-top:4px;padding-top:4px;}
    .nav__link{display:block;padding:13px 14px;border-radius:10px;font-size:16px;}
    .nav.is-open .nav__burger .ic-burger{display:none;}
    .nav.is-open .nav__burger .ic-close{display:block;}
  }
  @media (max-width:640px){
    .flk-blog{grid-template-columns:1fr;}
    .partner__inner{justify-content:center;text-align:center;}
    .partner__left{justify-content:center;}
  }
  @media (max-width:560px){
    .event__body{padding:34px 26px;}
  }
