/* AIOLI directions — shared kit: fonts, the mark, the film's cards as live HTML (sized in em from the film's 36 px base) */
@font-face{font-family:FD;font-weight:300;font-display:swap;src:url(/a/fonts/Funnel-Display-300.woff) format("woff")}
@font-face{font-family:FD;font-weight:600;font-display:swap;src:url(/a/fonts/Funnel-Display-600.woff) format("woff")}
@font-face{font-family:FD;font-weight:800;font-display:swap;src:url(/a/fonts/Funnel-Display-800.woff) format("woff")}
@font-face{font-family:FS;font-weight:400;font-display:swap;src:url(/a/fonts/Funnel-Sans-400.woff) format("woff")}
@font-face{font-family:FS;font-weight:500;font-display:swap;src:url(/a/fonts/Funnel-Sans-500.woff) format("woff")}
@font-face{font-family:FS;font-weight:600;font-display:swap;src:url(/a/fonts/Funnel-Sans-600.woff) format("woff")}
:root{--ink:#1c1916;--olive:#5d6b4c;--olive-l:#a9b78f;--cream:#f2eee8;--card:#fbf9f6;--ok:#3f6b4a;--warn:#b2563a;
  --muted:rgba(28,25,22,.58);--hair:rgba(28,25,22,.1);--gut:clamp(20px,5vw,72px)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font:400 17px/1.5 FS,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
img,video{display:block}
a{color:inherit}

/* the mark */
.wm{font:300 1em/1 FD;letter-spacing:.05em;display:inline-flex;align-items:flex-end;text-decoration:none;color:inherit}
.wm b{font-weight:800;color:var(--olive);letter-spacing:.02em;margin-right:.03em}
.wm i{display:inline-block;width:.735em;height:.735em;margin:0 .05em;position:relative;transform:translateY(-.118em)}
.wm i::before{content:"";position:absolute;inset:0;border-radius:50%;border:.062em solid currentColor}
.wm i::after{content:"";position:absolute;left:50%;top:50%;width:.26em;height:.26em;border-radius:50%;background:var(--olive);transform:translate(-50%,-50%)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 26px;border-radius:999px;background:var(--ink);color:#faf7f2;font:600 16px FS;text-decoration:none;border:0;cursor:pointer;transition:transform .18s,background .18s}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.98)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(28,25,22,.22)}
.btn .play{width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent}

/* cards (the film's) */
.c{font-size:var(--cs,16px);background:var(--card);border-radius:1.22em;padding:1em 1.11em;width:26.1em;box-shadow:0 1.2em 3em -1em rgba(40,30,20,.28),0 .2em .6em rgba(40,30,20,.06);line-height:1.32}
.c .k{display:flex;justify-content:space-between;align-items:center;font-size:.778em;color:var(--muted)}
.c .k b{color:var(--ink);font-weight:600}
.c .ic{width:1.556em;height:1.556em;border-radius:50%;background:rgba(28,25,22,.07);display:grid;place-items:center;flex:none}
.c svg.i,.c .ic svg{width:.78em;height:.78em;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.c .row{display:flex;align-items:center;gap:.6em}
.c h3{font:600 1.333em/1.1 FD;letter-spacing:-.02em}
.c .sub{font-size:.861em;color:var(--muted)}
.c .wave{display:flex;gap:.14em;align-items:center;height:1.556em;margin:.67em 0 .5em}
.c .wave i{flex:1;background:var(--ink);border-radius:.11em}
.c .line{display:grid;grid-template-columns:3.33em 1fr;gap:.5em;padding:.33em 0}
.c .line .w{font-size:.722em;color:var(--muted);padding-top:.25em}
.c .line.ai .w{color:var(--ink);font-weight:600}
.c .booked{display:flex;align-items:center;gap:.4em;margin-top:.56em;padding:.56em .67em;border-radius:.72em;background:rgba(63,107,74,.11);color:var(--ok);font-weight:600}
.c .booked svg{stroke:var(--ok)!important}
.c .bub{max-width:19.4em;padding:.67em .83em;border-radius:1em;margin-top:.44em;width:fit-content}
.c .bub.in{background:rgba(28,25,22,.07);border-bottom-left-radius:.28em}
.c .bub.out{background:var(--ink);color:#faf7f2;margin-left:auto;border-bottom-right-radius:.28em}
.c .who{font-size:.722em;color:var(--muted);margin-top:.5em}.c .who.r{text-align:right}
.c.ask{display:grid;grid-template-columns:4.72em 1fr;gap:.83em}
.c .poster{position:relative;width:4.72em;height:6.67em;border-radius:.72em;overflow:hidden}
.c .poster img{width:100%;height:100%;object-fit:cover}
.c .btns{grid-column:1/-1;display:flex;gap:.44em;align-items:center}
.c .pill{background:var(--ink);color:#faf7f2;border-radius:999px;height:2.67em;padding:0 1.22em;font-weight:600;display:inline-flex;align-items:center;gap:.33em}
.c .pill.ok{background:var(--ok)}
.c .gh{height:2.67em;padding:0 1em;border-radius:999px;box-shadow:inset 0 0 0 2px var(--hair);display:inline-flex;align-items:center}
.c .of{margin-left:auto;font-size:.667em;color:var(--muted)}
.c .stars{font-size:.944em;letter-spacing:.11em}
.c.rev q{display:block;font:500 1.222em/1.2 FD;margin-top:.39em;quotes:none}
.c .reply{margin-top:.61em;padding-left:.61em;border-left:.11em solid var(--ink);font-size:.889em;color:var(--muted)}
.c .reply b{color:var(--ink)}
.c .tbl{display:grid;grid-template-columns:3.33em 1fr;gap:.61em;align-items:start;padding:.61em 0;border-top:2px solid var(--hair)}
.c .tbl:first-child{border-top:0;padding-top:0}
.c .tbl .time{font:600 1.222em FD}
.c .tbl .who2{font-weight:600;font-size:1.056em}
.c .tags{display:flex;gap:.28em;flex-wrap:wrap;margin-top:.33em}
.c .tag{font-size:.75em;font-weight:600;padding:.22em .44em;border-radius:999px;background:rgba(28,25,22,.07)}
.c .tag.olive{background:rgba(93,107,76,.16);color:#3f4b33}
.c .tag.warn{background:rgba(178,86,58,.13);color:var(--warn)}

/* chips and the seat counter */
.chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;font:600 14px FS;background:var(--card);color:var(--ink);box-shadow:0 6px 18px -6px rgba(40,30,20,.25)}
.chip.ok{background:var(--ok);color:#fff}
.counter{display:flex;align-items:center;gap:14px;background:rgba(251,249,246,.94);border-radius:18px;padding:12px 18px;box-shadow:0 10px 30px -10px rgba(40,30,20,.3);font:500 14px FS;color:var(--muted)}
.counter b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.counter .dots{display:grid;grid-template-columns:repeat(40,1fr);gap:3px;flex:1;min-width:160px}
.counter .dots i{aspect-ratio:1;border-radius:50%;background:rgba(28,25,22,.14);transition:background .3s,transform .3s}
.counter .dots i.on{background:var(--ink)}
.counter .dots i.new{background:var(--olive);transform:scale(1.35)}

/* phone */
.phone{position:relative;border-radius:14.5% / 6.7%;background:#111;padding:2.6%;box-shadow:0 40px 80px -30px rgba(40,30,20,.45),0 10px 30px -10px rgba(40,30,20,.25)}
.phone .scr{position:relative;border-radius:12.4% / 5.75%;overflow:hidden;aspect-ratio:1170/2532;background:#f2eee8}
.phone .scr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
