/* Shared page parts, from Mark's Home v3 (doors, crew wall, proof strip, menu board, FAQ, calendar). */
/* ---------- home ---------- */
.nav .mark{background:var(--ink)}
.nav .mark img{height:34px}
.nav{position:fixed}
.nav .tab{width:auto}

/* scene 1: the recital opens to the whole screen */
.s-open{background:var(--ink);color:var(--cream)}
.s-open .scene-stage{min-height:100svh;display:grid}
.s-open .copy{position:relative;z-index:2;padding:120px var(--m) 64px;display:grid;align-content:end;gap:24px;max-width:860px;min-height:100svh}
.s-open h1{font-size:clamp(64px,10.5vw,176px)}
.s-open .copy p{font-size:var(--s-lead);max-width:34ch}
.s-open .acts{display:flex;gap:16px;flex-wrap:wrap}
.btn-ghost{background:transparent;color:var(--cream);border:2px solid rgba(235,225,206,.7)}
.btn-ghost:hover{background:var(--cream);color:var(--ink)}
.s-open .window{position:absolute;inset:0;z-index:1}
.s-open .window video{width:100%;height:100%;object-fit:cover}
.v-tall{display:none}
.s-open .window{clip-path:none}
.s-open .shade{position:absolute;inset:0;z-index:1;background:var(--ink);opacity:.5;pointer-events:none} /* flat scrim over the video so the headline always reads */
.s-open .end{position:absolute;z-index:3;left:var(--m);bottom:56px;visibility:hidden;opacity:0;font-family:"Anton",Impact,sans-serif;text-transform:uppercase;font-size:clamp(40px,6vw,96px);line-height:.92;max-width:12ch}
.is-rest.s-open .window{position:absolute;inset:0}
.is-rest.s-open .scene-stage{display:grid;position:relative}
.is-rest.s-open .scene-stage{grid-template-rows:auto auto}
.is-rest.s-open .end{display:none}

/* doors */
.doors{background:var(--cream)}
.doors h2,.board h2,.faqh h2{font-size:var(--s-h2)}
.doors .intro{display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:end;margin-bottom:56px}
.doors .intro p{font-size:var(--s-lead);max-width:36ch}
.dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
a.door{text-decoration:none;color:var(--ink);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:220px;border-radius:20px;overflow:hidden;transition:transform .25s var(--ease);
  -webkit-mask:radial-gradient(circle 14px at 0 50%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 50%,#0000 97%,#000) right/51% 100% no-repeat; /* taste-skill-ignore: ticket notches */
  mask:radial-gradient(circle 14px at 0 50%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 50%,#0000 97%,#000) right/51% 100% no-repeat} /* taste-skill-ignore */
a.door:hover{transform:translateY(-4px) rotate(-.5deg)}
.door .stub{background:var(--ink);color:var(--cream);padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.door .stub b{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(48px,5vw,80px);line-height:.9}
.door .stub span{font-size:var(--s-small);font-weight:800}
.door .rest{background:var(--paper);padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.door .rest p{font-size:var(--s-body)}
.door .rest .go{font-weight:800;font-size:var(--s-btn);color:var(--ink);display:flex;align-items:center;gap:10px}
.door .rest .go i{font-style:normal;color:var(--orange-press,#C95A18);transition:transform .2s}
a.door:hover .go i{transform:translateX(6px)}
.door.d2 .stub{background:var(--maroon)}
.door.d3 .stub{background:var(--orange);color:var(--ink)}
.door.d4 .stub{background:var(--teal3)}
.tix .door.d3 .stub{background:var(--teal3);color:var(--cream)}

/* scene 2: the crew */
.s-crew{background:var(--maroon);color:var(--cream)}
.s-crew .scene-stage{min-height:100svh;display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:center;padding:96px var(--m) 48px}
.s-crew h2{font-size:clamp(48px,6vw,100px)}
.s-crew .txt{position:relative;z-index:2}
.s-crew .txt p{font-size:var(--s-lead);max-width:32ch;margin-top:32px}
.s-crew .titles{display:grid;gap:6px;margin-top:28px;font-size:var(--s-body);font-weight:800}
.wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 4px;align-items:end}
.wall figure{margin:0;text-align:center}
.wall img{width:100%;height:auto}
.wall figcaption{font-family:"Anton",Impact,sans-serif;text-transform:uppercase;font-size:var(--s-btn);letter-spacing:.03em}

/* proof strip */
.proofs{background:var(--orange);color:var(--ink);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:72px}
.proofs div b{display:block;font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:clamp(48px,6vw,96px);line-height:.9}
.proofs div span{font-weight:800;font-size:var(--s-btn)}

/* scene 3: tear-off calendar of our story */
.s-cal{background:var(--paper);color:var(--ink)}
.s-cal .scene-stage{min-height:100svh;display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:center;padding:96px var(--m) 48px}
.s-cal h2{font-size:clamp(48px,6vw,100px)}
.s-cal .lead{font-size:var(--s-lead);max-width:30ch;margin-top:24px}
.pad{position:relative;height:min(64svh,560px);max-width:520px;width:100%;justify-self:center}
.sheet{position:absolute;inset:0;background:var(--white);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;transform-origin:50% 0}
.sheet .bar{position:relative;z-index:2;background:var(--maroon);color:var(--cream);font-family:"Anton",Impact,sans-serif;text-transform:uppercase;font-size:var(--s-lead);letter-spacing:.06em;padding:12px 20px;display:flex;justify-content:space-between}
.sheet .holes{height:14px;background-color:var(--maroon);background-image:radial-gradient(circle 4px,var(--paper) 97%,transparent);background-size:26px 14px;background-repeat:repeat-x;background-position:6px 50%} /* taste-skill-ignore: punched holes */
.sheet .yr{font-family:"Anton",Impact,sans-serif;font-size:clamp(120px,14vw,220px);line-height:1;padding:12px 20px 0;overflow:hidden;color:var(--ink)}
.sheet .what{padding:28px 20px 24px;display:grid;gap:8px;align-content:start}
.sheet .what h3{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(28px,2.6vw,40px);line-height:.95}
.sheet .what p{font-size:var(--s-body);max-width:40ch}
.sheet:nth-child(1){z-index:4}.sheet:nth-child(2){z-index:3}.sheet:nth-child(3){z-index:2}.sheet:nth-child(4){z-index:1}
.s-cal.is-live .sheet:not(:first-child){display:none}
.pad::before{content:"";position:absolute;inset:10px -10px -10px 10px;background:var(--cream2);border-radius:6px}
.is-rest .pad{height:auto;display:grid;gap:16px}
.is-rest .sheet{position:relative;inset:auto}
.is-rest .sheet .yr{font-size:96px}

/* menu board timetable */
.board{background:var(--ink);color:var(--cream)}
.board .head{display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:end;margin-bottom:48px}
.board .head p{font-size:var(--s-lead);max-width:36ch}
.menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 12px}
.day{background:var(--ink2);border-radius:6px;padding:22px 22px 24px}
.day h3{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(28px,2.6vw,40px);color:var(--orange);margin-bottom:12px}
.day ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.day li{display:grid;grid-template-columns:76px 1fr;gap:8px;font-size:var(--s-body)}
.day li b{font-weight:800}
.day li span em{font-style:normal;opacity:.75;display:block;font-size:var(--s-small)}
.day.kidz{background:var(--teal3)}
.board .foot{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:40px;font-size:var(--s-body)}

/* faq */
.faqh{background:var(--cream);display:grid;grid-template-columns:4fr 8fr;gap:clamp(32px,5vw,96px)}
.faqh h2{position:sticky;top:96px;align-self:start}
.faqh .list{display:grid;gap:8px}
.faqh details{background:var(--cream2)}
.faqh details[open]{background:var(--ink);color:var(--cream)}

/* phone */
@media (max-width:820px){
  .s-open .copy{padding:96px var(--m) 32px}
  .s-open h1{font-size:17vw}
  .v-wide{display:none}.v-tall{display:block}
  .s-open .copy{min-height:100svh;padding-bottom:40px}
  .doors .intro,.board .head{grid-template-columns:1fr}
  .dgrid{grid-template-columns:1fr}
  a.door{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);min-height:180px}
  .door .stub,.door .rest{padding:20px}
  .s-crew .scene-stage,.s-cal .scene-stage{grid-template-columns:1fr;padding-top:88px}
  .wall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wall figure:nth-child(n+7){display:none}
  .proofs{grid-template-columns:1fr;gap:28px}.proofs div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.proofs div span{text-align:right}
  .menu{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .menu{grid-template-columns:1fr}
  .faqh{grid-template-columns:1fr}.faqh h2{position:static}
  .pad{height:420px}
}
@supports (animation-timeline: view()){ @media (min-width:821px){
  .rv.sd{opacity:1;transform:none;transition:none;animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  @keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
}}
@media (prefers-reduced-motion:reduce){.rv.sd{animation:none}}
