/* Pokaiks brand: orange #FF914D, blue #29BFD8, black, white. Crimson Text headings, Open Sans body. */
:root{
  --bg:#000000; --surface:#111111; --surface-2:#1B1B1B; --line:#262626; --line-2:#3A3A3A;
  --ink:#FFFFFF; --ink-2:#D2D2D2; --ink-3:#9C9C9C;
  --orange:#FF914D; --blue:#29BFD8; --now:rgba(255,145,77,.15);
  --serif:"Crimson Text", Georgia, "Times New Roman", serif;
  --sans:"Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ color-scheme:dark } }
:root[data-theme="dark"]{ color-scheme:dark }
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--blue)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.wrap{max-width:680px;margin:0 auto;padding:0 22px}

/* Hero */
.hero{position:relative;text-align:center;padding:30px 22px 6px;overflow:hidden}
.plate{background:#FFFFFF;border-radius:999px;display:inline-block;padding:10px 24px;width:78%;max-width:330px}
.art-wrap{width:min(84vw,460px);aspect-ratio:1;margin:30px auto 14px;background:#FFFFFF;border-radius:50%;display:grid;place-items:center}
.art{width:84%}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,9.2vw,4.1rem);line-height:.98;letter-spacing:-.01em;margin:30px auto 0;max-width:100%;text-align:center;text-wrap:balance}
.meaning{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--ink-2);margin:14px 0 0}
.dateline{font-weight:700;font-size:1.05rem;margin:22px 0 0}
.occasion{margin:2px 0 0;color:var(--ink-3);font-size:.98rem}
.welcome{font-family:var(--serif);font-size:1.38rem;line-height:1.5;margin:28px auto 0;max-width:30ch;text-wrap:pretty}
.free{display:inline-block;margin-top:22px;font-weight:700;font-size:.95rem;background:var(--blue);color:#000;padding:7px 16px;border-radius:999px}
@media (prefers-reduced-motion: no-preference){
  .art-wrap{animation:rise 1.2s cubic-bezier(.2,.7,.2,1) both}
  @keyframes rise{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
}

/* Live panel */
.live{background:var(--orange);color:#000;border-radius:22px;padding:20px 22px 22px;margin:34px 0 0}
.live .status{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.92rem;margin:0}
.dot{width:10px;height:10px;border-radius:50%;background:#000;flex:none}
@media (prefers-reduced-motion: no-preference){
  .live.is-on .dot{animation:pulse 1.8s ease-in-out infinite}
  @keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,0,0,.45)}60%{box-shadow:0 0 0 9px rgba(0,0,0,0)}}
}
.live .headline{font-family:var(--serif);font-weight:700;font-size:1.75rem;line-height:1.12;margin:6px 0 0;text-wrap:balance}
.live .detail{margin:6px 0 0;font-size:1rem}
.stages{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;padding-top:14px;border-top:1.5px solid rgba(0,0,0,.28)}
.stages[hidden]{display:none}
.stage p{margin:0}
.stage .where{font-weight:700;font-size:.86rem}
.stage .what{font-size:.98rem;line-height:1.45;margin-top:2px}
@media (max-width:430px){.stages{grid-template-columns:1fr}}

/* Jump nav */
.jump{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;margin-top:34px;background:rgba(0,0,0,.84);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.jump .inner{display:flex;gap:8px;overflow-x:auto;max-width:680px;margin:0 auto;padding:10px 22px;scrollbar-width:none}
.jump .inner::-webkit-scrollbar{display:none}
.jump a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:var(--surface-2);text-decoration:none;font-weight:600;font-size:.92rem;transition:background-color .2s,color .2s}
.jump a:hover{background:var(--line-2)}
.jump a[aria-current="true"]{background:var(--ink);color:#000}

/* Sections */
section{padding:60px 0 6px;scroll-margin-top:78px}
h2{font-family:var(--serif);font-weight:700;font-size:clamp(2.1rem,7.5vw,2.6rem);line-height:1.04;margin:0 0 8px;text-wrap:balance}
h3{font-family:var(--serif);font-weight:600;font-size:1.42rem;line-height:1.2;margin:0}
.sub{color:var(--ink-3);margin:0 0 20px}
.note{color:var(--ink-3);font-size:.9rem;margin:16px 0 0}

/* Timeline */
.timeline{list-style:none;margin:22px 0 0;padding:0}
.timeline li{position:relative;padding:0 0 28px 36px}
.timeline li::before{content:"";position:absolute;left:7px;top:16px;bottom:-4px;width:2px;background:var(--line-2)}
.timeline li:last-child::before{display:none}
.timeline li::after{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:3px solid var(--orange)}
.timeline li.is-now::after{background:var(--orange);box-shadow:0 0 0 5px rgba(255,145,77,.22)}
.timeline li.is-past{opacity:.5}
.timeline li.is-past::after{border-color:var(--ink-3)}
.when{font-weight:700;font-size:.95rem;margin:0;color:var(--orange);font-variant-numeric:tabular-nums}
.timeline p{margin:2px 0 0}
.place{color:var(--ink-3)}
.dir{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:.95rem}

/* Hosts and schedules */
.host{display:flex;align-items:center;gap:14px;margin:6px 0 20px}
.host img{width:60px;height:60px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--orange)}
.host p{margin:0;line-height:1.35}
.host .lbl{font-size:.86rem;color:var(--ink-3)}
.host .nm{font-weight:700;font-size:1.06rem}
.sched{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.row{display:grid;grid-template-columns:7.4rem 1fr auto;column-gap:14px;padding:16px 12px;border-bottom:1px solid var(--line);align-items:start;transition:background-color .3s}
.row .t{font-weight:700;font-size:.95rem;color:var(--ink-2);font-variant-numeric:tabular-nums;padding-top:1px}
.row .name{font-weight:700;margin:0;line-height:1.38}
.row .desc{margin:2px 0 0;color:var(--ink-3);font-size:.96rem;line-height:1.45}
.row .thumb{width:60px;height:60px;border-radius:12px;object-fit:cover}
.row.is-now{background:var(--now);border-radius:16px;border-bottom-color:transparent}
.row.is-now .t{color:var(--orange)}
.row.is-past{opacity:.45}
.tag{display:inline-block;margin-top:8px;font-size:.8rem;font-weight:700;padding:3px 11px;border-radius:999px;background:var(--orange);color:#000}
.tag.next{background:var(--blue)}
.tag:empty{display:none}
.films{list-style:none;margin:10px 0 0;padding:0}
.films li{padding:3px 0;font-size:.97rem;line-height:1.45;color:var(--ink-3)}
.films cite{font-style:italic;font-weight:600;color:var(--ink)}
@media (max-width:480px){
  .row{grid-template-columns:1fr auto;padding:15px 8px}
  .row .t{grid-column:1 / -1;margin-bottom:2px}
}

/* Offerings */
.offer{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
.offer li{padding:12px 0;border-bottom:1px solid var(--line)}
@media (max-width:380px){.offer{grid-template-columns:1fr}}

/* Map */
.mapcard{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px 18px 16px;margin-top:4px}
.map{display:block;width:100%;max-width:460px;height:auto;margin:0 auto}

/* Photo */
.photo{margin:64px 0 0}
.photo img{width:100%;max-height:560px;object-fit:cover;object-position:center 40%}
.photo figcaption{max-width:680px;margin:10px auto 0;padding:0 22px;font-size:.88rem;color:var(--ink-3)}

/* About */
.story{font-family:var(--serif);font-size:1.3rem;line-height:1.55;margin:12px 0 0;color:var(--ink-2);text-wrap:pretty}
.vision{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(1.9rem,6.6vw,2.5rem);line-height:1.12;color:var(--orange);margin:34px 0 4px;text-wrap:balance}
.vision-by{color:var(--ink-3);font-size:.92rem;margin:0}
.artwork{display:grid;grid-template-columns:136px 1fr;gap:22px;align-items:center;margin:38px 0 0;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:24px}
.artwork img{width:136px;height:136px;padding:11px;background:#FFFFFF;border-radius:50%}
.artwork p{margin:0}
.artwork .by{font-weight:700}
.artwork blockquote{margin:8px 0 0;font-family:var(--serif);font-size:1.15rem;line-height:1.45;color:var(--ink-2)}
@media (max-width:420px){.artwork{grid-template-columns:1fr;text-align:center}.artwork img{margin:0 auto}}
.land{font-family:var(--serif);font-size:1.24rem;line-height:1.62;margin:12px 0 0;color:var(--ink-2);text-wrap:pretty}

/* Care */
.lines{display:grid;gap:12px;margin:18px 0 0}
.line{display:block;padding:16px 18px;border:1px solid var(--line-2);border-radius:18px;text-decoration:none;background:var(--surface)}
.line strong{display:block;font-size:1.06rem}
.line span{color:var(--ink-3);font-size:.94rem}
.line .num{color:var(--blue);font-weight:700;font-variant-numeric:tabular-nums;font-size:1.18rem;display:block;margin-top:4px}
.line:hover{border-color:var(--orange)}

/* Partners: kept on white */
.partners{list-style:none;margin:18px 0 0;padding:26px 16px;background:#FFFFFF;border-radius:24px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:22px 28px}
.partners li{display:block}
.partners img{display:block;max-width:100%;height:auto}

footer{margin-top:64px;padding:36px 0 44px;border-top:1px solid var(--line-2)}
footer p{margin:0 0 8px}
.links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 18px}
.links a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.small{font-size:.88rem;color:var(--ink-3)}

/* Instagram video: loads only when someone scrolls near it */
.ig{margin-top:6px}
.ig .instagram-media{margin:0 auto !important;max-width:540px;width:100%;min-height:120px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 20px;display:flex;align-items:center;justify-content:center}
.ig .instagram-media a{font-weight:700}
.ig iframe{border-radius:16px !important;margin:0 auto !important}
@media (max-width:380px){.ig{margin-left:-12px;margin-right:-12px}}
