/* =========================================================================
   Carousel slides · shared slide markup styles (system B).
   One template on every slide: photo, soft espresso scrim at the bottom,
   one display line + one small Jost line. Grain for a non-template feel.
   ========================================================================= */
.cstage{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--espresso);touch-action:pan-y;user-select:none;-webkit-user-select:none;container-type:inline-size}
.ctrack{display:flex;height:100%;transition:transform .5s cubic-bezier(.66,0,.2,1);will-change:transform}
.ctrack.no-anim{transition:none}
.cslide{position:relative;min-width:100%;height:100%;overflow:hidden;background:var(--espresso)}
.cslide > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;pointer-events:none}
.cslide::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,16,13,0) 38%,rgba(20,16,13,.6) 62%,rgba(20,16,13,.9) 100%)}
.cslide::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.10;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.cslide__txt{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 8cqw 9cqw;color:var(--ivory);text-align:left}
.cslide__kick{display:block;margin:0 0 2.6cqw;font:500 2.9cqw/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.cslide__line{margin:0;font:500 6.9cqw/1.14 var(--display);letter-spacing:-.008em;text-wrap:pretty;font-variant-numeric:lining-nums;
  text-shadow:0 1px 18px rgba(20,16,13,.35)}
.cslide__list{list-style:none;margin:0;padding:0;counter-reset:p;display:grid;gap:2.4cqw}
.cslide__list li{counter-increment:p;display:grid;grid-template-columns:7cqw 1fr;align-items:baseline;font:500 6.4cqw/1.12 var(--display)}
.cslide__list li::before{content:counter(p);font:500 italic 5.4cqw/1 var(--display);color:var(--gold);font-variant-numeric:lining-nums}
.cslide--deep::before{background:linear-gradient(180deg,rgba(20,16,13,0) 30%,rgba(20,16,13,.72) 56%,rgba(20,16,13,.94) 100%)}
.cslide__line em{font-style:italic;color:#e9cf9f}

/* final register slide: ivory, text only, never a button */
.cslide--end{background:var(--ivory);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:9cqw 9cqw}
.cslide--end::before{background:radial-gradient(70% 50% at 50% 40%,rgba(201,165,107,.22),rgba(201,165,107,0) 70%)}
.cslide--end::after{opacity:.06}
.cslide--end > *{position:relative;z-index:3}
.end__pfp{width:22cqw;height:22cqw;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px var(--gold),0 0 0 2.2cqw var(--ivory),0 0 0 calc(2.2cqw + 1px) rgba(201,165,107,.5)}
.end__pfp img{width:100%;height:100%;object-fit:cover;object-position:52% 18%;transform:scale(1.5);transform-origin:52% 22%}
.end__kick{margin:7cqw 0 0;font:500 2.9cqw/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.end__h{margin:3cqw 0 0;font:500 9.4cqw/1.04 var(--display);letter-spacing:-.01em}
.end__h em{font-style:italic;color:var(--accent)}
.end__name{margin:3cqw 0 0;font:500 italic 5.6cqw/1.1 var(--display);color:var(--ink)}
.end__rule{width:12cqw;height:1px;background:var(--gold);margin:5cqw auto}
.end__when{margin:0;font:400 3.5cqw/1.5 var(--sans);color:var(--muted)}
.end__tap{margin:4.4cqw 0 0;font:500 3.3cqw/1.3 var(--sans);letter-spacing:.06em;color:var(--ink)}
.end__tap span{color:var(--accent)}
