@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Space+Mono:wght@400;700&display=swap");

#atw{
  --pink:#b4546f; --yellow:#f7cdb4; --blue:#6b68d6; --lime:#cdbdf2; --orange:#b8434f; --purple:#4a3a8c;
  --ink:#2b1e3f; --paper:#f5f1f8; --card:#ffffff; --muted:#685c7e; --line:#2b1e3f;
  --onfill:#2b1e3f; --onfill-muted:#5a4462; --rose-text:#b4546f; --peri-text:#6b68d6; --wave:#9e8bd9;
  --tint-rose:#f2c4d0; --tint-peri:#cfcef7; --tint-lilac:#e1d7f8; --tint-peach:#f7cdb4;
  --shadow:6px 6px 0 var(--ink); --shadow-sm:4px 4px 0 var(--ink); --radius:18px;
  --display:"Plus Jakarta Sans",system-ui,sans-serif; --body:"Space Grotesk",system-ui,sans-serif; --hand:"Caveat",cursive;
  position:relative; width:100%; max-width:none;
  font-family:var(--body); font-size:16px; line-height:1.55; color:var(--ink);
  background-color:var(--paper);
  background-image:radial-gradient(color-mix(in srgb,var(--ink) 10%,transparent) 1px,transparent 1px);
  background-size:22px 22px;
  border:3px solid var(--line); border-radius:var(--radius);
  overflow:hidden; text-align:left;
}
#atw[data-theme="dark"]{ --ink:#f3eefa; --paper:#1a1426; --card:#261e36; --muted:#bfb4d6; --line:#f3eefa; --rose-text:#e693ab; --peri-text:#a9a7f5; --wave:#b9a8ec; }

#atw, #atw *, #atw *::before, #atw *::after{ box-sizing:border-box; }
#atw h1, #atw h2, #atw h3, #atw p, #atw ul, #atw figure, #atw form, #atw label{ margin:0; padding:0; }
#atw h1, #atw h2, #atw h3{ font-family:var(--display); font-weight:800; line-height:1.08; color:inherit; text-transform:none; letter-spacing:normal; border:0; background:none; }
#atw h1::before, #atw h2::before, #atw h3::before, #atw h1::after, #atw h2::after, #atw h3::after{ display:none; }
#atw a{ color:inherit; text-decoration:none; box-shadow:none; border-bottom:0; }
#atw button{ font-family:var(--body); text-transform:none; letter-spacing:normal; line-height:1.2; min-height:0; margin:0; }
#atw input, #atw select, #atw textarea{ margin:0; box-shadow:none; max-width:100%; }
#atw img{ max-width:100%; display:block; }

#atw .atw-marquee{ background:var(--ink); color:var(--paper); overflow:hidden; white-space:nowrap; border-bottom:3px solid var(--line); font-family:var(--display); font-size:14px; letter-spacing:.06em; }
#atw .atw-marquee span{ display:inline-block; padding:8px 0; animation:atw-scroll 28s linear infinite; }
#atw .atw-marquee b{ color:var(--yellow); font-weight:700; margin:0 14px; }
@keyframes atw-scroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

#atw .atw-header{ position:relative; z-index:5; background:var(--paper); border-bottom:3px solid var(--line); }
#atw .atw-nav{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px; }
#atw .atw-logo{ font-family:var(--display); font-size:22px; display:flex; align-items:center; gap:8px; }
#atw .atw-dot{ width:14px; height:14px; border-radius:50%; background:var(--pink); border:2px solid var(--line); animation:atw-pulse 1.6s ease-in-out infinite; }
@keyframes atw-pulse{ 50%{ transform:scale(1.35); background:var(--lime); } }
#atw .atw-tabs{ display:flex; gap:8px; flex-wrap:wrap; }
#atw .atw-tab{ font:700 14px var(--body); background:var(--card); color:var(--ink); border:2.5px solid var(--line); border-radius:999px; padding:8px 16px; cursor:pointer; transition:transform .15s,box-shadow .15s,background .15s; box-shadow:none; }
#atw .atw-tab:hover{ transform:translate(-2px,-2px); box-shadow:var(--shadow-sm); background:var(--card); color:var(--ink); }
#atw .atw-tab[aria-selected="true"]{ background:var(--yellow); color:var(--onfill); box-shadow:var(--shadow-sm); transform:translate(-2px,-2px); }
#atw .atw-theme-btn{ background:var(--card); color:var(--ink); border:2.5px solid var(--line); border-radius:50%; width:40px; height:40px; padding:0; cursor:pointer; font-size:18px; flex-shrink:0; }
#atw .atw-menu-btn{ display:none; }

@media (max-width:860px){
  #atw .atw-menu-btn{ display:block; background:var(--pink); color:#fff; border:2.5px solid var(--line); border-radius:12px; padding:8px 14px; font:700 14px var(--body); cursor:pointer; }
  #atw .atw-tabs{ display:none; position:absolute; left:16px; right:16px; top:100%; flex-direction:column; background:var(--paper); border:3px solid var(--line); border-radius:var(--radius); padding:14px; box-shadow:var(--shadow); margin-top:8px; }
  #atw .atw-tabs.atw-open{ display:flex; }
  #atw .atw-tab{ text-align:left; }
}

#atw .atw-main{ padding:40px 28px 70px; }
#atw .atw-panel{ display:none; animation:atw-pop .45s cubic-bezier(.2,1.4,.4,1); }
#atw .atw-panel.atw-active{ display:block; }
@keyframes atw-pop{ from{opacity:0;transform:translateY(18px) scale(.98)} to{opacity:1;transform:none} }

#atw .atw-title{ font-size:clamp(34px,6vw,64px); margin-bottom:10px; }
#atw .atw-title-sm{ font-size:clamp(28px,4.5vw,46px); }
#atw .atw-sub{ color:var(--muted); font-size:18px; max-width:640px; margin-bottom:34px; }
#atw .atw-scribble{ font-family:var(--hand); font-size:26px; color:var(--rose-text); display:inline-block; transform:rotate(-3deg); }
#atw .atw-center{ text-align:center; margin-top:44px; }
#atw .atw-spacer{ margin-top:40px; }

#atw .atw-card{ background:var(--card); color:var(--ink); border:3px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:24px; }
#atw .atw-btn{ display:inline-flex; align-items:center; gap:8px; font:700 16px var(--body); color:var(--onfill); background:var(--lime); border:3px solid var(--line); border-radius:999px; padding:12px 22px; box-shadow:var(--shadow-sm); cursor:pointer; transition:transform .15s,box-shadow .15s; }
#atw .atw-btn:hover{ transform:translate(-2px,-2px); box-shadow:var(--shadow); color:var(--onfill); background:var(--lime); }
#atw .atw-btn:active{ transform:translate(2px,2px); box-shadow:none; }
#atw .atw-btn.atw-pink, #atw .atw-btn.atw-pink:hover{ background:var(--pink); color:#fff; }
#atw .atw-btn.atw-yellow, #atw .atw-btn.atw-yellow:hover{ background:var(--yellow); }

#atw .atw-hero{ display:grid; grid-template-columns:1.2fr .9fr; gap:28px; align-items:center; }
#atw .atw-h1{ font-size:clamp(44px,8vw,104px); letter-spacing:-.035em; line-height:1.12; }
#atw .atw-hl{ color:var(--rose-text); text-decoration:underline wavy var(--wave); text-decoration-thickness:.06em; text-underline-offset:.1em; text-decoration-skip-ink:none; }
#atw .atw-hl2{ color:var(--peri-text); }
#atw .atw-lead{ font-size:20px; margin:22px 0 28px; max-width:540px; }
#atw .atw-ctas{ display:flex; gap:14px; flex-wrap:wrap; }

#atw .atw-ticket-wrap{ position:relative; padding:14px 6px; }
#atw .atw-ticket{ position:relative; display:grid; grid-template-columns:32px 1fr 76px; min-height:186px; color:var(--onfill); border:1.5px solid var(--line); border-radius:10px; background:var(--yellow); box-shadow:0 10px 24px -14px rgba(43,30,63,.55); transform:rotate(-2deg); transition:transform .3s; font-family:"Space Mono",ui-monospace,Menlo,monospace; overflow:hidden; }
#atw .atw-ticket:hover{ transform:rotate(0); }
/* washi tape */
#atw .atw-ticket-wrap::before, #atw .atw-ticket-wrap::after{ content:""; position:absolute; z-index:2; width:86px; height:26px; background:color-mix(in srgb,var(--lime) 78%,transparent); background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 6px,transparent 6px 12px); }
#atw .atw-ticket-wrap::before{ top:2px; left:-8px; transform:rotate(-32deg); }
#atw .atw-ticket-wrap::after{ bottom:4px; right:-6px; transform:rotate(-28deg); background-color:color-mix(in srgb,var(--pink) 45%,transparent); }
/* left stub */
#atw .atw-tk-left{ background:var(--ink); color:var(--paper); writing-mode:vertical-rl; transform:rotate(180deg); display:flex; justify-content:space-between; align-items:center; padding:16px 0; font-size:10px; letter-spacing:.22em; font-weight:700; }
/* main panel with photo */
#atw .atw-tk-main{ position:relative; padding:16px 18px 14px; display:flex; flex-direction:column; justify-content:center; }
#atw .atw-ticket small{ font-weight:700; letter-spacing:.2em; text-transform:uppercase; font-size:10px; opacity:.8; }
#atw .atw-ticket h3{ font-family:var(--display); font-weight:800; font-size:28px; letter-spacing:-.02em; line-height:1; margin:8px 0 10px; }
#atw .atw-tk-lines{ font-size:12.5px; line-height:1.5; }
#atw .atw-row{ display:flex; flex-wrap:wrap; gap:4px 16px; border-top:1px dashed currentColor; padding-top:9px; margin-top:12px; font-weight:700; font-size:10px; letter-spacing:.08em; opacity:.85; }
/* perforation + right stub */
#atw .atw-tk-stub{ position:relative; display:flex; align-items:center; justify-content:center; gap:10px; padding:14px 10px; background:#fbf7f2; border-left:2px dashed var(--line); }
#atw .atw-tk-stub::before{ content:""; position:absolute; left:-9px; top:0; bottom:0; width:16px; background:radial-gradient(circle at 8px 8px,var(--paper) 5px,transparent 5.5px) 0 4px/16px 18px repeat-y; }
#atw .atw-barcode{ width:28px; align-self:stretch; opacity:.8; background:repeating-linear-gradient(180deg,var(--onfill) 0 2px,transparent 2px 4px,var(--onfill) 4px 5px,transparent 5px 8px,var(--onfill) 8px 11px,transparent 11px 13px); }
#atw .atw-tk-stub-text{ writing-mode:vertical-rl; display:flex; gap:10px; align-items:center; font-size:10px; font-weight:700; letter-spacing:.2em; color:var(--onfill); }
#atw .atw-tk-stub-text b{ font-family:var(--display); font-size:22px; letter-spacing:0; }

#atw .atw-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:56px; }
#atw .atw-stat{ text-align:center; padding:22px 12px; }
#atw .atw-stat:nth-child(1){ background:var(--blue); color:#fff; }
#atw .atw-stat:nth-child(2){ background:var(--lime); color:var(--onfill); }
#atw .atw-stat:nth-child(3){ background:var(--orange); color:#fff; }
#atw .atw-stat:nth-child(4){ background:var(--purple); color:#fff; }
#atw .atw-num{ font-family:var(--display); font-size:clamp(28px,4vw,42px); }
#atw .atw-lbl{ font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.08em; }
#atw .atw-featured{ margin-top:64px; }
#atw .atw-featured-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:start; }

#atw .atw-filters{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:30px; }
#atw .atw-chip{ font:700 14px var(--body); border:2.5px solid var(--line); border-radius:999px; padding:8px 16px; background:var(--card); color:var(--ink); cursor:pointer; }
#atw .atw-chip.atw-on, #atw .atw-chip.atw-on:hover{ background:var(--ink); color:var(--paper); }
#atw .atw-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:26px; align-items:start; }
#atw .atw-vid{ padding:14px; overflow:hidden; transition:transform .2s; }
#atw .atw-vid:nth-child(4n+1){ --accent:var(--tint-rose); }
#atw .atw-vid:nth-child(4n+2){ --accent:var(--tint-peri); }
#atw .atw-vid:nth-child(4n+3){ --accent:var(--tint-lilac); }
#atw .atw-vid:nth-child(4n+4){ --accent:var(--tint-peach); }
#atw .atw-vid:hover{ transform:rotate(-1deg) translateY(-4px); }
#atw .atw-tag{ display:inline-block; background:var(--accent); color:var(--onfill); border:2px solid var(--line); border-radius:999px; padding:2px 12px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
#atw .atw-vid h3{ font-size:20px; margin:10px 0 12px; }
#atw blockquote.tiktok-embed{ margin:0 auto !important; min-width:0 !important; max-width:100% !important; padding:0; border:0; background:none; font-style:normal; quotes:none; }
#atw blockquote.tiktok-embed::before, #atw blockquote.tiktok-embed::after{ display:none; }
#atw .atw-placeholder{ aspect-ratio:9/16; border:3px dashed var(--line); border-radius:14px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:20px; background:repeating-linear-gradient(45deg,transparent 0 14px,color-mix(in srgb,var(--accent) 25%,transparent) 14px 28px); }
#atw .atw-big{ font-size:52px; }
#atw .atw-placeholder p{ font-weight:700; font-size:14px; }
#atw .atw-placeholder code{ font-size:12px; background:var(--card); color:var(--ink); padding:4px 8px; border-radius:6px; border:1.5px solid var(--line); word-break:break-all; }

#atw .atw-about{ display:grid; grid-template-columns:.85fr 1.15fr; gap:44px; align-items:start; }
#atw .atw-polaroid{ background:#fff; color:var(--onfill); padding:16px 16px 60px; border:3px solid var(--line); box-shadow:var(--shadow); transform:rotate(-4deg); position:relative; max-width:380px; }
#atw .atw-photo{ aspect-ratio:1; background:linear-gradient(135deg,var(--pink),var(--orange) 50%,var(--yellow)); background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; font-size:90px; border:2px solid var(--onfill); }
#atw .atw-cap{ position:absolute; bottom:14px; left:0; right:0; text-align:center; font-family:var(--hand); font-size:28px; }
#atw .atw-tape{ position:absolute; top:-16px; left:50%; width:110px; height:30px; background:color-mix(in srgb,var(--lime) 80%,transparent); transform:translateX(-50%) rotate(4deg); border:2px solid var(--onfill); }
#atw .atw-about-body p{ font-size:18px; margin-bottom:16px; }
#atw .atw-loves{ display:flex; flex-wrap:wrap; gap:8px; margin:28px 0 24px; }
#atw .atw-loves::before{ content:"things I love \2661"; flex-basis:100%; font-family:var(--hand); font-size:26px; line-height:1; color:var(--rose-text); transform:rotate(-2deg); transform-origin:left; margin-bottom:6px; }
#atw .atw-love{ border:1.5px solid var(--line); border-radius:999px; padding:5px 14px; font-weight:600; font-size:15px; background:var(--tint-rose); color:var(--onfill); }
#atw .atw-love:nth-child(3n+1){ background:var(--tint-peach); }
#atw .atw-love:nth-child(3n+2){ background:var(--tint-lilac); }

#atw .atw-diary-heading{ display:flex; align-items:center; gap:12px; font-size:clamp(24px,3.5vw,34px); margin:0 0 18px; }
#atw .atw-diary-heading + .atw-setlist{ margin-bottom:52px; }
#atw .atw-badge{ font:700 12px var(--body); text-transform:uppercase; letter-spacing:.1em; background:var(--pink); color:#fff; border:2px solid var(--line); border-radius:999px; padding:4px 12px; }
#atw .atw-badge.atw-badge-past{ background:var(--card); color:var(--ink); }
#atw .atw-setlist{ display:grid; gap:16px; }
#atw .atw-show{ display:grid; grid-template-columns:120px 1fr; gap:20px; align-items:center; padding:18px 22px; }
#atw .atw-date{ font-family:var(--display); font-size:22px; text-align:center; line-height:1; }
#atw .atw-date small{ display:block; font-family:var(--body); font-size:13px; font-weight:700; margin-top:4px; color:var(--muted); }
#atw .atw-show h3{ font-size:22px; }
#atw .atw-show p{ color:var(--muted); }
#atw .atw-upcoming .atw-show{ background:var(--yellow); color:var(--onfill); border-style:dashed; }
#atw .atw-upcoming .atw-show p, #atw .atw-upcoming .atw-date small{ color:var(--onfill-muted); }
#atw .atw-empty{ color:var(--muted); font-weight:700; padding:18px 22px; border:3px dashed var(--line); border-radius:var(--radius); }

#atw .atw-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:44px; }
#atw .atw-service h3{ font-size:24px; margin:12px 0 8px; }
#atw .atw-icon{ font-size:40px; }
#atw .atw-service:nth-child(1){ background:var(--pink); color:#fff; }
#atw .atw-service:nth-child(2){ background:var(--yellow); color:var(--onfill); }
#atw .atw-service:nth-child(3){ background:var(--lime); color:var(--onfill); }
#atw .atw-collabs-title{ font-size:28px; margin-bottom:18px; }
#atw .atw-collab-list{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
#atw .atw-collab{ border-left:8px solid var(--pink); }
#atw .atw-collab:nth-child(3n+2){ border-left-color:var(--blue); }
#atw .atw-collab:nth-child(3n+3){ border-left-color:var(--orange); }
#atw .atw-collab b{ font-family:var(--display); font-weight:800; font-size:20px; display:block; margin-bottom:4px; }
#atw .atw-collab span{ color:var(--muted); }

#atw .atw-contact{ display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }
#atw .atw-form{ display:grid; gap:16px; }
#atw .atw-form label{ font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.06em; display:grid; gap:6px; color:var(--ink); }
#atw .atw-form input, #atw .atw-form select, #atw .atw-form textarea{ font:500 16px var(--body); padding:12px 14px; border:2.5px solid var(--line); border-radius:12px; background:var(--paper); color:var(--ink); width:100%; height:auto; text-transform:none; letter-spacing:normal; }
#atw .atw-form input:focus, #atw .atw-form select:focus, #atw .atw-form textarea:focus{ outline:none; box-shadow:var(--shadow-sm); border-color:var(--pink); }
#atw .atw-form textarea{ min-height:140px; resize:vertical; }
#atw .atw-socials{ display:grid; gap:14px; }
#atw .atw-social{ display:flex; align-items:center; gap:14px; font-weight:700; font-size:18px; padding:16px 20px; transition:transform .15s; }
#atw .atw-social:hover{ transform:translateX(6px); color:var(--ink); }
#atw .atw-ic{ width:46px; height:46px; border-radius:12px; border:2.5px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
#atw .atw-social small{ display:block; font-weight:500; color:var(--muted); font-size:14px; }
#atw .atw-toast{ font-weight:700; color:var(--rose-text); min-height:1.4em; }

#atw .atw-footer{ border-top:3px solid var(--line); padding:26px 16px; text-align:center; font-weight:700; background:var(--paper); }
#atw .atw-footer .atw-scribble{ font-size:22px; }

@media (max-width:900px){
  #atw .atw-hero, #atw .atw-about, #atw .atw-contact{ grid-template-columns:1fr; }
  #atw .atw-ticket-wrap{ max-width:560px; margin:10px auto 0; }
  #atw .atw-stats{ grid-template-columns:repeat(2,1fr); }
  #atw .atw-featured-grid, #atw .atw-services{ grid-template-columns:1fr; }
  #atw .atw-polaroid{ margin:0 auto 20px; }
}
@media (max-width:640px){
  #atw .atw-main{ padding:28px 16px 50px; }
  #atw .atw-show{ grid-template-columns:1fr; }
  #atw .atw-date{ text-align:left; }
  #atw .atw-grid{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  #atw *{ animation:none !important; transition:none !important; }
}

#atw.atw-full{ border:0; border-radius:0; min-height:100vh; overflow:visible; }
#atw.atw-full .atw-marquee{ position:relative; z-index:6; }
#atw.atw-full .atw-header{ position:sticky; top:0; z-index:20; }
#atw.atw-full .atw-nav{ max-width:1180px; margin:0 auto; }
#atw.atw-full .atw-main{ max-width:1180px; margin:0 auto; padding:48px 20px 90px; }
.atw-full-body{ overflow-x:hidden; }
.atw-editbar{ font:600 13px system-ui,sans-serif; background:#2b1e3f; color:#f5f1f8; padding:6px 16px; text-align:right; }
.atw-editbar a{ color:#f7cdb4; text-decoration:none; }
@media (max-width:640px){ #atw.atw-full .atw-main{ padding:30px 16px 60px; } }

#atw .atw-hidden{ display:none !important; }
#atw .atw-more-wrap{ text-align:center; margin-top:28px; }

#atw .atw-ratecard{ margin-top:36px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; background:var(--yellow); color:var(--onfill); border:3px dashed var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px 26px; }
#atw .atw-ratecard h3{ font-size:clamp(26px,3.5vw,36px); margin:2px 0 6px; }
#atw .atw-ratecard p{ max-width:520px; color:var(--onfill-muted); }
#atw .atw-ratecard .atw-scribble{ font-size:22px; }

#atw .atw-gallery{ columns:3 260px; column-gap:26px; }
#atw .atw-shot{ break-inside:avoid; display:inline-block; width:100%; margin:0 0 26px; background:#fff; color:var(--onfill); border:3px solid var(--line); box-shadow:var(--shadow); padding:12px 12px 14px; cursor:zoom-in; transition:transform .2s; }
#atw .atw-shot:nth-child(3n+1){ transform:rotate(-1.6deg); }
#atw .atw-shot:nth-child(3n+2){ transform:rotate(1.2deg); }
#atw .atw-shot:nth-child(3n+3){ transform:rotate(-.6deg); }
#atw .atw-shot:hover, #atw .atw-shot:focus-visible{ transform:rotate(0) scale(1.03); outline:none; z-index:2; position:relative; }
#atw .atw-shot-img{ display:block; width:100%; height:auto; border:2px solid var(--onfill); }
#atw .atw-shot figcaption{ font-family:var(--hand); font-size:24px; line-height:1.1; text-align:center; margin-top:10px; }
#atw .atw-shot-empty{ cursor:default; }
#atw .atw-shot-empty .atw-shot-img{ aspect-ratio:4/5; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; padding:16px; border-style:dashed; background:repeating-linear-gradient(45deg,transparent 0 14px,rgba(180,84,111,.18) 14px 28px); }
#atw .atw-shot-empty span{ font-size:46px; }
#atw .atw-shot-empty p{ font-weight:700; font-size:14px; }

#atw .atw-lightbox{ position:fixed; inset:0; z-index:1000; background:rgba(43,30,63,.92); display:flex; align-items:center; justify-content:center; gap:14px; padding:24px; }
#atw .atw-lightbox[hidden]{ display:none; }
#atw .atw-lightbox figure{ margin:0; max-width:min(1000px,100%); background:#fff; border:3px solid var(--onfill); padding:12px 12px 16px; box-shadow:8px 8px 0 var(--pink); }
#atw .atw-lightbox img{ display:block; max-width:100%; max-height:76vh; margin:0 auto; }
#atw .atw-lightbox figcaption{ font-family:var(--hand); font-size:28px; text-align:center; color:var(--onfill); margin-top:8px; }
#atw .atw-lb-close, #atw .atw-lb-nav{ font:700 22px var(--body); width:52px; height:52px; border-radius:50%; border:3px solid var(--onfill); background:var(--yellow); color:var(--onfill); cursor:pointer; flex-shrink:0; padding:0; box-shadow:4px 4px 0 var(--onfill); }
#atw .atw-lb-close{ position:absolute; top:18px; right:18px; background:var(--pink); color:#fff; }
@media (max-width:640px){
  #atw .atw-lb-nav{ position:absolute; bottom:18px; }
  #atw .atw-lb-prev{ left:calc(50% - 64px); } #atw .atw-lb-next{ right:calc(50% - 64px); }
  #atw .atw-lightbox img{ max-height:68vh; }
}

#atw .atw-polaroid-stack{ position:relative; max-width:380px; isolation:isolate; }
#atw .atw-has-stack .atw-polaroid{ cursor:pointer; }
#atw .atw-has-stack::before, #atw .atw-has-stack::after{ content:""; position:absolute; inset:0 0 62px 0; background:#fff; border:3px solid var(--line); z-index:-1; }
#atw .atw-has-stack::before{ transform:rotate(5deg); }
#atw .atw-has-stack::after{ transform:rotate(-9deg); background:var(--yellow); }
#atw .atw-polaroid.atw-flipping{ animation:atw-flip .45s cubic-bezier(.2,1.4,.4,1); }
@keyframes atw-flip{ 0%{ transform:rotate(-4deg) translateX(0); } 40%{ transform:rotate(8deg) translateX(30px) scale(.96); } 100%{ transform:rotate(-4deg); } }
#atw .atw-flip{ display:block; margin:22px auto 0; font:700 14px var(--body); background:var(--card); color:var(--ink); border:2.5px solid var(--line); border-radius:999px; padding:8px 16px; cursor:pointer; box-shadow:var(--shadow-sm); }
#atw .atw-flip[hidden]{ display:none; }
@media (max-width:900px){ #atw .atw-polaroid-stack{ margin:0 auto 20px; } }

#atw .atw-platform{ display:inline-block; margin-left:6px; background:var(--card); color:var(--ink); border:2px solid var(--line); border-radius:999px; padding:2px 10px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
#atw blockquote.instagram-media, #atw iframe.instagram-media{ min-width:0 !important; width:100% !important; max-width:100% !important; margin:0 auto !important; border-radius:12px !important; }

#atw .atw-player{ position:relative; width:100%; max-width:360px; margin:0 auto; border:2px solid var(--line); border-radius:12px; overflow:hidden; background:repeating-linear-gradient(45deg,var(--paper) 0 14px,color-mix(in srgb,var(--accent,var(--pink)) 22%,var(--paper)) 14px 28px); }
#atw .atw-player-tt{ aspect-ratio:325/578; }
#atw .atw-player-ig{ aspect-ratio:4/6; }
#atw .atw-player iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; background:#fff; }
#atw .atw-player-ig.atw-measured{ aspect-ratio:auto; }
#atw .atw-player-ig.atw-measured iframe{ position:static; }
#atw .atw-player-fallback{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--ink); }

#atw .atw-polaroid-stack{ width:100%; }
#atw .atw-polaroid{ padding:16px 16px 18px; width:100%; }
#atw .atw-cap{ position:static; margin-top:12px; line-height:1.1; padding:0 6px; }
#atw .atw-has-stack::before, #atw .atw-has-stack::after{ inset:0 0 70px 0; }
@media (max-width:900px){
  #atw .atw-polaroid-stack{ max-width:340px; }
  #atw .atw-cap{ font-size:26px; }
}


html, body.atw-full-body{ background:#f5f1f8; }

#atw .atw-marquee, #atw .atw-logo, #atw .atw-num, #atw .atw-date{ font-weight:800; }
#atw .atw-marquee{ letter-spacing:.08em; }

/* ---------- v3: hero face, brands, home shows, closing band, contact ---------- */
#atw .atw-period{ margin-left:-.07em; }

#atw .atw-brands{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 16px; margin-top:28px; padding:16px 22px; border:1.5px solid var(--line); border-radius:999px; background:var(--card); font-weight:700; }
#atw .atw-brands-lbl{ font:600 12px var(--body); text-transform:uppercase; letter-spacing:.14em; color:var(--muted); }
#atw .atw-brand{ font-family:var(--display); font-weight:800; font-size:17px; letter-spacing:-.01em; }
#atw .atw-brand-sep{ color:var(--rose-text); font-size:12px; }

#atw .atw-home-shows{ margin-top:72px; }
#atw .atw-home-shows .atw-setlist{ margin-bottom:44px; }
#atw .atw-home-shows .atw-title{ margin-top:4px; }

#atw .atw-cta-band{ margin-top:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:34px 36px; border:3px solid var(--line); border-radius:var(--radius); background:var(--tint-lilac); color:var(--onfill); box-shadow:var(--shadow); }
#atw .atw-cta-band .atw-title{ margin:4px 0 8px; }
#atw .atw-cta-band p{ color:var(--onfill-muted); max-width:520px; }
#atw .atw-cta-band .atw-scribble{ font-size:24px; }

#atw .atw-ex{ display:inline-block; margin-top:14px; font-weight:700; color:inherit; text-decoration:underline; text-underline-offset:3px; }
#atw .atw-ex:hover{ color:inherit; opacity:.8; }

#atw .atw-email-line{ margin-bottom:18px; padding:16px 20px; border:2px dashed var(--line); border-radius:14px; font-size:16px; }
#atw .atw-email-line a{ font-weight:700; color:var(--rose-text); word-break:break-all; }
#atw .atw-copy{ font:700 13px var(--body); margin-left:6px; padding:4px 12px; border:1.5px solid var(--line); border-radius:999px; background:var(--tint-peach); color:var(--onfill); cursor:pointer; }
#atw .atw-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
#atw .atw-toast-ok{ color:var(--peri-text); }
#atw .atw-toast-err{ color:var(--rose-text); }
#atw .atw-toast a{ color:inherit; text-decoration:underline; }
#atw .atw-form button[disabled]{ opacity:.6; cursor:wait; }

@media (max-width:640px){
  #atw .atw-ctas .atw-btn{ padding:12px 18px; font-size:15px; }
  #atw .atw-brands{ border-radius:18px; }
  #atw .atw-cta-band{ padding:26px 22px; }
}

@media (max-width:640px){
  #atw .atw-ticket{ grid-template-columns:28px 1fr 64px; min-height:210px; }
  #atw .atw-tk-main{ padding:16px 14px 12px; }
  #atw .atw-ticket h3{ font-size:28px; }
  #atw .atw-tk-lines{ max-width:none; font-size:12px; }
  #atw .atw-barcode{ width:20px; }
  #atw .atw-tk-stub-text b{ font-size:18px; }
}

/* ---------- special-show sticker ---------- */
#atw .atw-show{ position:relative; }
#atw .atw-special{ margin-top:10px; }
#atw .atw-sticker{ position:absolute; top:-16px; right:22px; z-index:1; display:inline-flex; align-items:center; gap:6px; padding:3px 14px 4px 8px; background:#fffdf9; color:var(--rose-text); border:1.5px solid var(--line); border-radius:999px; font:600 21px/1.1 var(--hand); transform:rotate(3deg); box-shadow:2px 3px 0 color-mix(in srgb,var(--ink) 25%,transparent); white-space:nowrap; max-width:calc(100% - 40px); overflow:hidden; text-overflow:ellipsis; }
#atw .atw-sticker-star{ flex:none; width:26px; height:26px; background:var(--pink); clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); transform:rotate(-12deg); }
@media (max-width:640px){
  #atw .atw-sticker{ right:10px; font-size:18px; top:-15px; }
  #atw .atw-sticker-star{ width:22px; height:22px; }
}

/* ---------- hero photo frame + smaller ticket ---------- */
#atw .atw-hero-art{ position:relative; }
#atw .atw-hero-photo{ margin:0; width:56%; padding:10px; background:var(--blue); border:3px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); transform:rotate(-3deg); }
#atw .atw-hero-photo[hidden]{ display:none; }
#atw .atw-hero-photo img{ display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 30%; border-radius:10px; border:2px solid var(--line); background:var(--card); }
#atw .atw-hero-art.atw-has-photo .atw-ticket-wrap{ width:78%; max-width:400px; margin:-92px 0 0 auto; z-index:1; }
@media (max-width:900px){
  #atw .atw-hero-art{ max-width:460px; margin:10px auto 0; }
  #atw .atw-hero-art .atw-ticket-wrap{ margin-left:auto; margin-right:0; }
}
@media (max-width:640px){
  #atw .atw-hero-photo{ width:62%; }
  #atw .atw-hero-art.atw-has-photo .atw-ticket-wrap{ width:92%; margin-top:-56px; }
}
 @media (max-width:640px){
  #atw .atw-marquee{ display:none; }
}
#atw .atw-card{ border:1.5px solid var(--line) !important; box-shadow:none !important; border-radius:16px !important; }