/* Dial Pizza: live call hero + scroll-scrubbed call to ticket to Friday rush */
.hero-dialpizza{position:relative;width:100%;max-width:520px;margin:0 auto}
.hero-dialpizza .hd-wrap{position:relative;display:grid;place-items:center;padding:20px 0 10px}
.hero-dialpizza .hd-rings{position:absolute;left:50%;top:44%;width:0;height:0}
.hero-dialpizza .hd-rings i{position:absolute;left:-150px;top:-150px;width:300px;height:300px;border-radius:50%;border:2px solid rgba(255,59,82,.55);opacity:0}
.hero-dialpizza .ringing .hd-rings i{animation:hd-ring 1.4s cubic-bezier(.2,.6,.3,1) infinite}
.hero-dialpizza .ringing .hd-rings i:nth-child(2){animation-delay:.35s}
.hero-dialpizza .ringing .hd-rings i:nth-child(3){animation-delay:.7s}
@keyframes hd-ring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.hero-dialpizza .hd-phone{position:relative;width:min(300px,78vw);aspect-ratio:300/600;padding:10px;border-radius:46px;background:#141414;box-shadow:0 50px 100px -30px rgba(192,18,44,.65),0 0 0 1.5px #2e2e2e,inset 0 0 0 1px rgba(255,255,255,.07)}
.hero-dialpizza .ringing .hd-phone{animation:hd-buzz .7s linear infinite}
@keyframes hd-buzz{0%,50%,100%{transform:none}10%,30%{transform:translateX(-2px) rotate(-.6deg)}20%,40%{transform:translateX(2px) rotate(.6deg)}}
.hero-dialpizza .hd-screen{position:relative;height:100%;border-radius:37px;overflow:hidden;background:#fff;color:#1a1a1a;display:flex;flex-direction:column;padding:34px 14px 14px}
.hero-dialpizza .hd-screen::before{content:"";position:absolute;left:50%;top:9px;width:86px;height:22px;margin-left:-43px;border-radius:12px;background:#141414}
.hero-dialpizza .hd-head{text-align:center}
.hero-dialpizza .hd-line{margin:0;font:700 .62rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#c0122c}
.hero-dialpizza .hd-state{margin:6px 0 2px;font:800 1.5rem/1 var(--display);text-transform:uppercase}
.hero-dialpizza .hd-sub{margin:0;display:flex;justify-content:center;gap:8px;font:600 .72rem/1 var(--sans);color:#737373}
.hero-dialpizza .hd-wave{display:flex;justify-content:center;align-items:center;gap:3px;height:30px;margin:8px 0 6px}
.hero-dialpizza .hd-wave i{width:3px;height:6px;border-radius:2px;background:#c0122c;opacity:.75}
.hero-dialpizza .live .hd-wave i{animation:hd-bar 1s ease-in-out infinite}
.hero-dialpizza .sent .hd-wave i{animation:none}
.hero-dialpizza .hd-wave i:nth-child(3n){animation-delay:-.3s}.hero-dialpizza .hd-wave i:nth-child(3n+1){animation-delay:-.6s}.hero-dialpizza .hd-wave i:nth-child(4n){animation-delay:-.15s}
@keyframes hd-bar{0%,100%{height:5px}50%{height:26px}}
.hero-dialpizza .hd-log{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;overflow:hidden;padding-bottom:8px}
.hero-dialpizza .bub,.scene-dialpizza .bub{display:none;margin:0;max-width:84%;padding:8px 11px;border-radius:15px;font:500 .76rem/1.35 var(--sans)}
.hero-dialpizza .bub.on,.scene-dialpizza .bub.on{display:block;animation:hd-pop .25s ease-out}
.hero-dialpizza .bub.ai,.scene-dialpizza .bub.ai{align-self:flex-end;background:#c0122c;color:#fff;border-bottom-right-radius:5px}
.hero-dialpizza .bub.me,.scene-dialpizza .bub.me{align-self:flex-start;background:#f2f2f2;color:#1a1a1a;border-bottom-left-radius:5px}
.hero-dialpizza .bub.typing span::after,.scene-dialpizza .bub.typing span::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:currentColor;animation:hd-caret .6s steps(1) infinite}
@keyframes hd-caret{50%{opacity:0}}
@keyframes hd-pop{from{transform:translateY(6px) scale(.96);opacity:0}to{transform:none;opacity:1}}
.hero-dialpizza .hd-order{border-radius:16px;background:#fff5f5;padding:10px 12px;font:500 .74rem/1.3 var(--sans);transition:box-shadow .4s}
.hero-dialpizza .hd-ok{margin:0 0 4px;font:700 .58rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#c0122c}
.hero-dialpizza .sent .hd-ok{color:#0f7a3d}
.hero-dialpizza .sent .hd-order{box-shadow:0 0 0 2px #0f7a3d}
.hero-dialpizza .hd-items p{display:none;margin:0;justify-content:space-between}
.hero-dialpizza .hd-items p.on{display:flex;animation:hd-pop .3s ease-out}
.hero-dialpizza .hd-total{display:flex;justify-content:space-between;margin:5px 0 0;padding-top:5px;border-top:1px dashed #e8c9cc;font-weight:700}
.hero-dialpizza .hd-badge{position:absolute;right:max(0px,calc(50% - 230px));top:16%;display:flex;align-items:center;gap:8px;padding:9px 13px 9px 9px;border-radius:999px;background:#fff;color:#1a1a1a;font:700 .78rem/1 var(--sans);box-shadow:0 16px 34px -12px rgba(0,0,0,.55);opacity:0;transform:translateY(8px) scale(.9);transition:opacity .4s,transform .4s cubic-bezier(.2,.8,.2,1)}
.hero-dialpizza .hd-badge svg{width:22px;height:22px;padding:3px;border-radius:50%;background:#c0122c;color:#fff}
.hero-dialpizza .live .hd-badge{opacity:1;transform:none}
@media(max-width:480px){.hero-dialpizza .hd-badge{right:auto;left:0;top:0}}

/* ---- scene ---- */
.scene-dialpizza{position:relative;background:#120607;color:#fff}
.scene-dialpizza .ds-track{height:440vh;position:relative}
.scene-dialpizza .ds-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.scene-dialpizza .ds-glow{position:absolute;inset:0;background:radial-gradient(50% 45% at 68% 45%,rgba(192,18,44,.42),transparent 70%),radial-gradient(40% 40% at 10% 100%,rgba(192,18,44,.2),transparent 70%);pointer-events:none}
.scene-dialpizza .ds-stage::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
.scene-dialpizza .ds-desk{position:absolute;left:16px;right:16px;top:76px;z-index:2;will-change:transform,opacity;transform-origin:50% 30%}
.scene-dialpizza .ds-call{position:relative;height:min(40svh,350px);display:flex;flex-direction:column;padding:14px;border-radius:24px;background:#fff;color:#1a1a1a;box-shadow:0 40px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.1)}
.scene-dialpizza .ds-ch{display:flex;align-items:center;gap:12px}
.scene-dialpizza .ds-ico{position:relative;flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#c0122c;color:#fff}
.scene-dialpizza .ds-ico svg{width:22px;height:22px;position:relative;z-index:1}
.scene-dialpizza .ds-ico i{position:absolute;inset:0;border-radius:50%;border:2px solid #c0122c;opacity:0}
.scene-dialpizza .ringing .ds-ico i{animation:hd-ring 1.2s ease-out infinite}
.scene-dialpizza .ringing .ds-ico i+i{animation-delay:.4s}
.scene-dialpizza .ringing .ds-ico{animation:hd-buzz .6s linear infinite}
.scene-dialpizza .live .ds-ico{background:#0f7a3d}
.scene-dialpizza .ds-cht{flex:1;min-width:0}
.scene-dialpizza .ds-who{margin:0;font:600 .72rem/1.2 var(--sans);color:#737373}
.scene-dialpizza .ds-st{margin:2px 0 0;font:800 1.45rem/1 var(--display);text-transform:uppercase}
.scene-dialpizza .ds-rc{display:inline-block;margin-left:6px;vertical-align:3px;padding:4px 8px;border-radius:999px;background:#fde8ea;color:#c0122c;font:700 .62rem/1 var(--sans);letter-spacing:.04em;text-transform:none}
.scene-dialpizza .live .ds-rc{background:#e3f5ea;color:#0f7a3d}
.scene-dialpizza .ds-tm{font:700 .9rem/1 var(--sans);font-variant-numeric:tabular-nums;color:#737373}
.scene-dialpizza .ds-wave{display:flex;align-items:center;gap:3px;height:34px;margin:10px 0 8px;padding:0 4px}
.scene-dialpizza .ds-wave i{flex:1;max-width:5px;height:3px;border-radius:3px;background:#c0122c;opacity:.6}
.scene-dialpizza .live .ds-wave i{animation:hd-bar 1.1s ease-in-out infinite}
.scene-dialpizza .ds-wave i:nth-child(3n){animation-delay:-.35s}.scene-dialpizza .ds-wave i:nth-child(3n+1){animation-delay:-.7s}.scene-dialpizza .ds-wave i:nth-child(5n){animation-delay:-.2s}
.scene-dialpizza .ds-info{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.scene-dialpizza .ds-info p{margin:0;padding:8px 10px;border-radius:12px;background:#f6f3f3;font-size:.72rem;line-height:1.25}
.scene-dialpizza .ds-info span{display:block;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a3a3a3;margin-bottom:2px}
.scene-dialpizza .ds-info b{font-weight:600}
@media(max-width:759px){.scene-dialpizza .ds-info{display:none}}
.scene-dialpizza .ds-log{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%);mask-image:linear-gradient(180deg,transparent,#000 18%)}
.scene-dialpizza .bub{font-size:.84rem;max-width:82%}
.scene-dialpizza .bub.up{box-shadow:0 0 0 3px #fff,0 0 0 5px #ffb21e}

.scene-dialpizza .ds-printer{position:absolute;right:6px;top:calc(min(40svh,350px) + 8px);width:190px;z-index:3}
.scene-dialpizza .ds-slot{height:14px;border-radius:8px;background:linear-gradient(180deg,#2a2a2a,#0b0b0b);box-shadow:0 8px 20px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.12)}
.scene-dialpizza .ds-ticket{--feed:.28;position:relative;margin:-6px 8px 0;padding:14px 12px 16px;background:#fffdf8;color:#1a1a1a;font:600 .66rem/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:0 24px 40px -18px rgba(0,0,0,.8);clip-path:inset(0 0 calc((1 - var(--feed)) * 100%) 0);transition:clip-path .45s cubic-bezier(.2,.8,.2,1)}
.scene-dialpizza .ds-ticket::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:linear-gradient(-45deg,transparent 6px,#fffdf8 0) 0 0/12px 8px,linear-gradient(45deg,transparent 6px,#fffdf8 0) 0 0/12px 8px}
.scene-dialpizza .ds-tk-h{margin:0 0 4px;text-align:center;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#c0122c}
.scene-dialpizza .ds-tk-n{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 6px;padding-bottom:6px;border-bottom:1px dashed #1a1a1a}
.scene-dialpizza .ds-tk-n b{font-size:1rem}
.scene-dialpizza .ds-tk-items p{display:flex;justify-content:space-between;gap:6px;margin:0;padding:2px 0;opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s,background .4s}
.scene-dialpizza .ds-tk-items p.on{opacity:1;transform:none}
.scene-dialpizza .ds-tk-items p.mod b{font-weight:600;padding-left:12px}
.scene-dialpizza .ds-tk-items p.up.on{background:#fff1c9;margin:0 -4px;padding:2px 4px}
.scene-dialpizza .ds-tk-t{display:flex;justify-content:space-between;margin:6px 0 0;padding-top:6px;border-top:1px dashed #1a1a1a;font-size:.8rem}
.scene-dialpizza .ds-stamp{margin:10px 0 0;text-align:center;padding:5px;border:2px solid #0f7a3d;border-radius:6px;color:#0f7a3d;font:800 .8rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:scale(1.6) rotate(-8deg);transition:opacity .25s,transform .35s cubic-bezier(.2,1.4,.4,1)}
.scene-dialpizza .ds-ticket.done .ds-stamp{opacity:1;transform:rotate(-4deg)}

.scene-dialpizza .ds-rush{position:absolute;left:16px;right:16px;top:76px;z-index:3;opacity:0;visibility:hidden}
.scene-dialpizza .ds-rk{margin:0;font:700 .72rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#ff6b7d}
.scene-dialpizza .ds-rh{margin:6px 0 14px;font:800 clamp(1.9rem,8vw,3rem)/.95 var(--display);text-transform:uppercase}
.scene-dialpizza .ds-rh em{font-style:normal;color:#ff3b52}
.scene-dialpizza .ds-lines{display:grid;gap:6px}
.scene-dialpizza .ds-ln{display:grid;grid-template-columns:10px 46px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:.8rem;opacity:.2;transform:translateX(-10px);transition:opacity .35s,transform .35s,background .35s}
.scene-dialpizza .ds-ln.on{opacity:1;transform:none;background:rgba(255,255,255,.1)}
.scene-dialpizza .ds-ln i{width:9px;height:9px;border-radius:50%;background:#ff3b52;box-shadow:0 0 0 0 rgba(255,59,82,.6)}
.scene-dialpizza .ds-ln.on i{animation:ds-live 1.4s infinite}
@keyframes ds-live{70%{box-shadow:0 0 0 7px rgba(255,59,82,0)}100%{box-shadow:0 0 0 0 rgba(255,59,82,0)}}
.scene-dialpizza .ds-ln b{font-weight:700}
.scene-dialpizza .ds-ln span{color:#e8d5d7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scene-dialpizza .ds-ln em{font-style:normal;font-variant-numeric:tabular-nums;color:#a3a3a3;font-weight:600}
.scene-dialpizza .ds-rail{position:relative;display:flex;gap:6px;margin-top:14px;padding-top:10px;border-top:3px solid #4a4a4a}
.scene-dialpizza .ds-rail span{width:40px;height:54px;background:#fffdf8;opacity:0;transform:translateY(-14px) rotate(-3deg);transition:opacity .3s,transform .4s cubic-bezier(.2,1.3,.4,1);background-image:repeating-linear-gradient(180deg,transparent 0 8px,#ddd 8px 9px)}
.scene-dialpizza .ds-rail span:nth-child(even){transform:translateY(-14px) rotate(3deg)}
.scene-dialpizza .ds-rail span.on{opacity:1;transform:rotate(-2deg)}
.scene-dialpizza .ds-rail span.on:nth-child(even){transform:rotate(2deg)}

.scene-dialpizza .ds-copy{position:absolute;left:0;right:0;bottom:0;padding:60px 16px 26px;z-index:4;background:linear-gradient(180deg,transparent,#120607 40%)}
.scene-dialpizza .ds-h2{margin:0 0 8px;font:700 .72rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#ff6b7d}
.scene-dialpizza .ds-caps{list-style:none;margin:0;padding:0;position:relative;min-height:112px}
.scene-dialpizza .ds-caps li{position:absolute;left:0;right:0;bottom:0;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s cubic-bezier(.2,.8,.2,1)}
.scene-dialpizza .ds-caps li.on{opacity:1;transform:none}
.scene-dialpizza .ds-caps h3{margin:0 0 6px;font:800 clamp(2.3rem,10vw,4.2rem)/.92 var(--display);text-transform:uppercase}
.scene-dialpizza .ds-caps p{margin:0;color:#e5cfd2;max-width:36ch}
@media(max-width:759px){.scene-dialpizza .ds-track{height:380vh}}
@media(max-width:759px) and (max-height:720px){.scene-dialpizza .ds-call{height:34svh}.scene-dialpizza .ds-printer{top:calc(34svh + 6px);width:160px}.scene-dialpizza .ds-ticket{font-size:.58rem}}
@media(min-width:760px){
  .scene-dialpizza .ds-copy{left:max(24px,calc(50vw - 560px));right:auto;top:50%;bottom:auto;transform:translateY(-50%);width:min(380px,34vw);padding:0;background:none}
  .scene-dialpizza .ds-caps{min-height:200px}
  .scene-dialpizza .ds-caps li{top:0;bottom:auto}
  .scene-dialpizza .ds-caps p{font-size:1.1rem}
  .scene-dialpizza .ds-desk{left:auto;right:max(24px,calc(50vw - 560px));top:50%;margin-top:-250px;width:min(640px,58vw);height:500px}
  .scene-dialpizza .ds-call{width:calc(100% - 210px);height:500px;padding:20px}
  .scene-dialpizza .ds-printer{right:0;top:30px;width:230px}
  .scene-dialpizza .ds-ticket{font-size:.78rem;padding:18px 16px 20px}
  .scene-dialpizza .ds-rush{left:auto;right:max(24px,calc(50vw - 560px));top:50%;margin-top:-240px;width:min(560px,54vw)}
}

/* reduced motion: final frame, every caption listed */
.scene-dialpizza.is-static .ds-track{height:auto}
.scene-dialpizza.is-static .ds-stage{position:relative;height:auto;padding:60px 0}
.scene-dialpizza.is-static .ds-desk{display:none}
.scene-dialpizza.is-static .ds-rush{position:relative;opacity:1;visibility:visible;transform:none;top:auto;left:auto;right:auto;margin:0 auto 40px;max-width:560px;padding:0 16px}
.scene-dialpizza.is-static .ds-copy{position:relative;transform:none;top:auto;left:auto;right:auto;width:auto;max-width:1180px;margin:0 auto;background:none;padding:0 16px}
.scene-dialpizza.is-static .ds-caps{min-height:0;display:grid;gap:20px}
.scene-dialpizza.is-static .ds-caps li{position:relative;opacity:1;transform:none}
