/* marccohencomedy.com: D1 red and cream (Marc's choice), with the record's changes. Spec lines in brackets. */
/* TOKENS: generated by tools/build.py from tokens/*.tokens.json. Do not edit here. */
:root{--space-1:0.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:3rem;--space-7:3.5rem;--space-8:6rem;--focus-width:3px;--focus-offset:3px;--dur-fast:100ms;--dur-spin:900ms;--ease-out:cubic-bezier(0.2,0,0,1);--step-small:0.9375rem;--step-body:1.125rem;--step-lede:1.25rem;--step-title:1.41rem;--step-display:clamp(3.2rem, 3.2rem + 3.5vw, 6.4rem);--step-headline:clamp(2rem, 2rem + 1.4vw, 3.25rem);--step-address:clamp(1.35rem, 1rem + 3vw, 3rem);--measure:65ch;--bar-h:0px;--paper:oklch(0.944 0.023 87);--card:oklch(0.986 0.014 85);--ink:oklch(0.184 0.005 67);--muted:oklch(0.390 0.014 72);--red:oklch(0.550 0.188 28);--on-red:oklch(1.000 0.000 0);--link:oklch(0.429 0.145 29);--stage:oklch(0.184 0.005 67);--on-stage:oklch(0.944 0.023 87);--divider:oklch(0.849 0.035 85);--ring:oklch(0.184 0.005 67);--ring-stage:oklch(0.944 0.023 87);--ring-red:oklch(1.000 0.000 0)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:oklch(0.181 0.005 39);--card:oklch(0.219 0.005 68);--ink:oklch(0.945 0.013 82);--muted:oklch(0.858 0.020 77);--red:oklch(0.550 0.188 28);--on-red:oklch(1.000 0.000 0);--link:oklch(0.866 0.072 29);--stage:oklch(0.000 0.000 0);--on-stage:oklch(0.945 0.013 82);--divider:oklch(0.312 0.010 74);--ring:oklch(0.945 0.013 82);--ring-stage:oklch(0.945 0.013 82);--ring-red:oklch(1.000 0.000 0)}}
:root[data-theme="dark"]{--paper:oklch(0.181 0.005 39);--card:oklch(0.219 0.005 68);--ink:oklch(0.945 0.013 82);--muted:oklch(0.858 0.020 77);--red:oklch(0.550 0.188 28);--on-red:oklch(1.000 0.000 0);--link:oklch(0.866 0.072 29);--stage:oklch(0.000 0.000 0);--on-stage:oklch(0.945 0.013 82);--divider:oklch(0.312 0.010 74);--ring:oklch(0.945 0.013 82);--ring-stage:oklch(0.945 0.013 82);--ring-red:oklch(1.000 0.000 0)}
/* END TOKENS */

@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/anton-latin.woff2) format("woff2")}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/worksans-latin-var.woff2) format("woff2")}
/* size-adjusted fallbacks so the swap does not shift the layout (S53, Q22.2) */
@font-face{font-family:"Anton fallback";src:local("Impact"),local("Arial Narrow Bold");size-adjust:96%}
@font-face{font-family:"Work Sans fallback";src:local("Arial");size-adjust:108%}

*{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;color-scheme:light dark}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--step-body)/1.5 "Work Sans","Work Sans fallback",system-ui,sans-serif;overflow-wrap:break-word}
p,li{max-inline-size:var(--measure)}
a{color:var(--link);text-decoration:underline;text-underline-offset:.18em}
:focus-visible{outline:var(--focus-width) solid var(--ring);outline-offset:var(--focus-offset)}
.wrap{max-width:72rem;margin:0 auto;padding:0 var(--space-2)}
.skip{position:absolute;left:-999rem;top:var(--space-2);background:var(--red);color:var(--on-red);padding:var(--space-1) var(--space-2);z-index:9}
.skip:focus{left:var(--space-2)}
.skip:focus-visible{outline-color:var(--ring-red)}

/* header (S24, S25) */
header.top{border-bottom:1px solid var(--divider)}
header.top .wrap{display:flex;flex-wrap:wrap;gap:0 var(--space-3);align-items:center;justify-content:space-between}
.mark{font:400 var(--step-title)/1 Anton,"Anton fallback",Impact,sans-serif;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 var(--space-3)}
nav a{color:var(--ink);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;min-height:44px}
nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px}

/* hero (S30, S59) */
.hero{background:var(--stage);color:var(--on-stage);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:70vw;max-width:46rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in oklch,var(--red) 32%,transparent),transparent 65%);pointer-events:none}
.hero :focus-visible{outline-color:var(--ring-stage)}
.hero-grid{position:relative;display:grid;grid-template-columns:min(7.5rem,35%) minmax(0,1fr);grid-template-areas:"name name" "photo lede" "next next" "ctas ctas";gap:var(--space-2) var(--space-2);padding-top:var(--space-4);padding-bottom:var(--space-4)}
h1{font:400 var(--step-display)/1 Anton,"Anton fallback",Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em;margin:0}
.hero h1{grid-area:name}
.hero-photo{grid-area:photo;background:var(--card);aspect-ratio:4/5;overflow:hidden;align-self:start}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.hero .lede{grid-area:lede;font-size:var(--step-lede);margin:0;align-self:center}
.hero .next{grid-area:next;margin:0}
.hero .next a{color:var(--on-stage)}
.ctas{grid-area:ctas;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}
/* content query: from 48rem there is room for the photo beside the text column (S59, Q19.1) */
@media (min-width:48rem){
  .wrap{padding:0 var(--space-4)}
  .hero-grid{grid-template-columns:1fr 20rem;grid-template-areas:"name photo" "lede photo" "next photo" "ctas photo" ". photo";grid-template-rows:auto auto auto auto 1fr;padding-top:var(--space-7);padding-bottom:var(--space-7);gap:var(--space-3) var(--space-6);align-items:start}
  .hero .lede{align-self:start}
}

.btn{display:inline-flex;align-items:center;max-width:100%;min-height:44px;padding:var(--space-1) var(--space-3);font-weight:700;text-decoration:none;border:2px solid var(--red);color:var(--ink)}
.btn.solid{background:var(--red);color:var(--on-red)}
.btn.outline{background:transparent}
.hero .btn.outline{color:var(--on-stage);border-color:var(--on-stage)}

/* sections (S8, S59) */
main > section{padding:var(--space-3) 0 var(--space-7);border-bottom:1px solid var(--divider)}
h2{font:400 var(--step-headline)/1.05 Anton,"Anton fallback",Impact,sans-serif;text-transform:uppercase;margin:var(--space-4) 0 var(--space-2)}
h3{font:400 var(--step-title)/1.1 Anton,"Anton fallback",Impact,sans-serif;text-transform:uppercase;margin:var(--space-3) 0 var(--space-1)}
.sub{color:var(--muted);margin:0 0 var(--space-3)}
.page-head{padding:var(--space-3) 0 var(--space-4)}
.page-head h1{font-size:var(--step-headline);margin-top:var(--space-4)}

/* clips (S48, S49, Q19.1) */
.clips{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,10rem),1fr));padding:0;margin:0;list-style:none}
.clip{background:var(--card);border:1px solid var(--divider);display:flex;flex-direction:column;max-inline-size:none;container-type:inline-size}
.clip.feature{grid-column:1/-1}
.frame{position:relative;aspect-ratio:9/16;background:var(--stage);max-height:28rem}
.feature .frame{aspect-ratio:16/9;max-height:none}
.facade{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);color:var(--on-stage);text-align:center;padding:var(--space-2);text-decoration:none}
.facade:focus-visible{outline-color:var(--ring-stage);outline-offset:calc(var(--focus-width) * -1)}
.play{display:grid;place-items:center;width:4rem;height:4rem;border:2px solid var(--on-stage);border-radius:50%;background:var(--red);color:var(--on-red)}
.play svg{width:1.5rem;height:1.5rem;fill:currentColor}
.facade .word{font-weight:700}
.facade small,.frame .state{font-size:var(--step-small);max-inline-size:18rem}
.frame .state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2);color:var(--on-stage);text-align:center}
.frame .state a{color:var(--on-stage)}
.frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.spinner{width:2rem;height:2rem;border:3px solid var(--on-stage);border-right-color:transparent;border-radius:50%}
.clip .clip-title{font:700 var(--step-body)/1.35 "Work Sans","Work Sans fallback",sans-serif;text-transform:none;margin:0;padding:var(--space-2) var(--space-2) 0}
.clip .meta{padding:0 var(--space-2) var(--space-2);margin:0;color:var(--muted);font-size:var(--step-small)}
@container (min-width:36rem){.clip .clip-title{padding-top:var(--space-3)}}
.more{margin-top:var(--space-3)}

/* dates (S37, S38, S39) */
.dates{list-style:none;margin:0;padding:0;border-top:1px solid var(--divider);max-inline-size:var(--measure)}
.dates li{padding:var(--space-2) 0;border-bottom:1px solid var(--divider)}
.dates .when{display:block;font-weight:700}
.tag{display:inline-block;font-size:var(--step-small);font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--red);color:var(--on-red);padding:0 var(--space-1);margin-bottom:var(--space-1);cursor:default}

/* nights (S34, S41) */
.nights{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.night{border:2px solid var(--ink);padding:var(--space-3);background:var(--card)}
.night h3{margin-top:0}
.night p{margin:0 0 var(--space-2)}

/* the poster-red bookings band (S33) */
.band{background:var(--red);color:var(--on-red);border-bottom:0}
.band h2,.band p{color:var(--on-red)}
.band a{color:var(--on-red)}
.band :focus-visible{outline-color:var(--ring-red)}
.band a.mail{font:400 var(--step-address)/1.15 Anton,"Anton fallback",Impact,sans-serif;text-decoration-thickness:3px;word-break:break-word}

.photo-download{display:inline-block;max-inline-size:14rem}
.photo-download img{display:block;width:100%;height:auto;background:var(--card)}
.table-scroll{overflow-x:auto;max-inline-size:100%}
table{border-collapse:collapse}
th,td{text-align:left;padding:var(--space-1) var(--space-2) var(--space-1) 0;border-bottom:1px solid var(--divider);vertical-align:top}
.credits li{margin-bottom:var(--space-1)}
.draft-note{border:2px dashed var(--muted);color:var(--ink);background:var(--card);padding:var(--space-1) var(--space-2);margin:var(--space-2) 0;font-size:var(--step-small);max-inline-size:var(--measure)}
.hero .draft-note,.band .draft-note{color:var(--ink)}
.past-notice{font-weight:700}

/* footer (S28) */
footer{padding:var(--space-4) 0;font-size:var(--step-small);color:var(--muted)}
footer a{color:var(--link)}
footer ul{list-style:none;padding:0;margin:0 0 var(--space-2);display:flex;flex-wrap:wrap;gap:0 var(--space-3)}
footer li a,footer .linkbtn{display:inline-flex;align-items:center;min-height:44px}
footer p{margin:0 0 var(--space-1)}

/* consent bar (S87, S57): fixed to the bottom, never covers the hero items, does not take focus */
.consent{position:fixed;left:0;right:0;bottom:0;background:var(--card);color:var(--ink);border-top:2px solid var(--ink);z-index:8}
.consent .wrap{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);align-items:center;padding-top:var(--space-1);padding-bottom:var(--space-1)}
.consent p{margin:0;font-size:var(--step-small);flex:1 1 16rem}
.consent .choices{display:flex;flex-wrap:wrap;gap:var(--space-1)}
.consent button{font:700 var(--step-body)/1 "Work Sans","Work Sans fallback",sans-serif;min-height:44px;min-width:min(7rem,100%);padding:0 var(--space-2);background:var(--card);color:var(--ink);border:2px solid var(--ink)}
.linkbtn{font:inherit;color:var(--link);text-decoration:underline;background:none;border:0;padding:0}
html.has-consent-bar{scroll-padding-bottom:var(--bar-h)}
html.has-consent-bar body{padding-bottom:var(--bar-h)}

/* motion is opt-in (S63) */
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  a,.btn,.linkbtn{transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),text-decoration-color var(--dur-fast) var(--ease-out)}
  .spinner{animation:spin var(--dur-spin) linear infinite}
  @keyframes spin{to{transform:rotate(1turn)}}
}
@media (hover:hover){
  nav a:hover,footer a:hover{text-decoration:underline}
  .btn.solid:hover{background:var(--link);border-color:var(--link)}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .btn:hover{transform:translateY(-1px)}
}

/* forced colours: the play icon is currentColor SVG, buttons keep borders (S66) */
@media (forced-colors:active){
  .play{border-color:ButtonText}
}

/* print (S65) */
@media print{
  nav,.facade,.frame,.consent,.skip,.hero::before,.ctas,.draft-note{display:none}
  body,.hero,.band{background:Canvas;color:CanvasText}
  .hero .next a,.band a,.band h2,.band p,.hero h1,.hero .lede{color:CanvasText}
  a[href^="http"]::after,a[href^="mailto"]::after{content:" (" attr(href) ")"}
}


.consent{display:none!important}
.hero-photo{display:none!important}
.hero-grid{display:block!important;padding-top:4.5rem!important;padding-bottom:5rem!important}
.hero::before{inset:-10% -15% auto auto!important;width:90vw!important;max-width:60rem!important;background:radial-gradient(circle,color-mix(in oklch,var(--red) 55%,transparent),transparent 62%)!important}
.hero h1{font-size:clamp(4.6rem,1.5rem + 11vw,11rem)!important;line-height:.88!important;max-width:6ch}
.hero .lede{font-size:clamp(1.15rem,1rem + .6vw,1.5rem)!important;max-width:34rem;margin:1.4rem 0 1rem!important}
.hero .next{margin:0 0 1.6rem!important}
.hero .tag-pill{background:var(--red);color:#fff;font-family:"Work Sans",system-ui,sans-serif;font-weight:700;text-transform:uppercase;margin:0}

@media (min-width:48rem){.hero-grid{display:grid!important;grid-template-columns:1fr 20rem;column-gap:3rem;align-items:start}.hero-grid>*{grid-column:1;justify-self:start}.hero-grid>.tag-pill{grid-row:1}.hero-grid>h1{grid-row:2}.hero-grid>.lede{grid-row:3}.hero-grid>.next{grid-row:4}.hero-grid>.ctas{grid-row:5}.hero-grid>.hero-clip{justify-self:stretch;width:100%;grid-column:2;grid-row:2 / span 4;align-self:center;margin-top:0}}
.hero-clip{display:block;margin-top:2rem;aspect-ratio:9/16;max-height:30rem;background:#000;border:2px solid var(--on-stage);position:relative;color:var(--on-stage);text-decoration:none}
.hero-clip span.play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:4.5rem;height:4.5rem;border-radius:50%;background:var(--red)}
.hero-clip span.play::after{content:"";position:absolute;left:1.75rem;top:1.35rem;border-left:1.3rem solid #fff;border-top:.9rem solid transparent;border-bottom:.9rem solid transparent}
.hero-clip span.t{position:absolute;left:1rem;right:1rem;bottom:1rem;font:600 1rem/1.3 "Work Sans",system-ui,sans-serif}
.hero .tag-pill{display:block;justify-self:stretch!important;width:100%;max-width:none!important;box-sizing:border-box;text-align:center;font-size:clamp(.78rem,.55rem + .7vw,1.2rem);line-height:1.2;letter-spacing:.32em;padding:clamp(.8rem,.5rem + .8vw,1.3rem) .5rem;margin-bottom:clamp(1.2rem,.8rem + 1vw,2rem)}
@media (min-width:48rem){.hero-grid>.tag-pill{grid-column:1 / -1!important}}
.ph{color:inherit;opacity:.62;font-style:italic}
.page-head .ph,.hero .ph{opacity:.75}
.protobar{background:#ffd84a;color:#141210;font:600 .8rem/1.3 "Work Sans",system-ui,sans-serif;padding:.45rem 0}
.protobar .wrap{display:flex;flex-wrap:wrap;gap:.3rem 1rem;justify-content:space-between}
.protobar a{color:#141210}
.insta{background:var(--red);color:#fff;padding:2.2rem 0}
.insta h2,.insta p{color:#fff}
.insta a.btn{background:#fff;color:var(--red);border-color:#fff}
.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:0;padding:0;list-style:none}
.links a{display:block;border:2px solid currentColor;padding:1rem;text-decoration:none}
.links b{display:block;font-family:Anton,Impact,sans-serif;font-weight:400;font-size:1.6rem;text-transform:uppercase}
.hero-clip span.t{opacity:.85}
.page-head{background:var(--stage);color:var(--on-stage);position:relative;overflow:hidden;padding:0!important}
.page-head::before{content:"";position:absolute;inset:-10% -15% auto auto;width:90vw;max-width:60rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in oklch,var(--red) 55%,transparent),transparent 62%);pointer-events:none}
.page-head .wrap{position:relative;padding-top:4.5rem;padding-bottom:4.5rem}
.page-head .page-band{display:block;max-width:none!important;background:var(--red);color:#fff;font:700 clamp(.78rem,.55rem + .7vw,1.2rem)/1.2 "Work Sans",system-ui,sans-serif;letter-spacing:.32em;text-transform:uppercase;text-align:center;padding:clamp(.8rem,.5rem + .8vw,1.3rem) .5rem;margin:0 0 clamp(1.2rem,.8rem + 1vw,2rem)}
.page-head h1{font-family:Anton,Impact,"Arial Narrow",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(3.6rem,1.4rem + 8vw,8.5rem)!important;line-height:.88;margin:0 0 1.2rem!important;color:var(--on-stage)}
.page-head p{color:var(--on-stage);max-width:38rem}
.page-head .lede{font-size:clamp(1.15rem,1rem + .6vw,1.5rem)}
.page-head a{color:var(--on-stage)}
.page-head .btn.outline{color:var(--on-stage);border-color:var(--on-stage)}

.n{display:inline-block;min-width:1.35em;padding:0 .3em;margin-right:.35em;border-radius:1em;background:#ffd84a;color:#141210;font:700 .7rem/1.35 "Work Sans",system-ui,sans-serif;text-align:center;vertical-align:.25em;letter-spacing:0;text-transform:none;font-style:normal}
.n.new{background:#7fe3a0}
.protobar .n{box-shadow:0 0 0 1.5px #141210}
.hero-clip .s{font-weight:400;margin-top:.25rem}
.gigline{list-style:none;padding:0;margin:1.4rem 0}
.gigline{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.8rem}
.gigline li{margin:0}
.gigline a{display:block;height:100%;box-sizing:border-box;border-left:4px solid var(--red);padding:.55rem .9rem;background:color-mix(in oklch,var(--on-stage) 7%,transparent);color:var(--on-stage);text-decoration:none}
.gigline a:hover,.gigline a:focus-visible{background:color-mix(in oklch,var(--on-stage) 14%,transparent)}
.gigline span{display:block}
.gigline .where{font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklch,var(--red) 55%,var(--on-stage))}
.gigline .when{font-weight:700;font-size:1.1rem;margin-top:.15rem}
.gigline .what{font-size:.95rem;opacity:.9}
.gigline .n{display:inline-block}
@media (max-width:52rem){.hero .ctas{margin-top:1.5rem}}
.tog{font:700 .8rem/1 "Work Sans",system-ui,sans-serif;background:#141210;color:#ffd84a;border:0;padding:.45rem .7rem;cursor:pointer;flex:none}
html.clean main .n,html.clean footer .n{display:none!important}
.gigline.light{max-width:44rem}
.gigline.light a{color:inherit;background:rgba(20,18,16,.06)}
.gigline.light a:hover,.gigline.light a:focus-visible{background:rgba(20,18,16,.11)}
.gigline.light .where{color:var(--red)}
.gigline.light .what{opacity:1}
p.more{margin-top:1rem}
.rows{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink,#141210);max-width:none!important}
.rows li{max-width:none!important}
.rows .n{display:inline-block}
.rows li{border-bottom:2px solid var(--ink,#141210)}
.rows a{display:block;padding:1rem 2.4rem 1rem 0;position:relative;color:inherit;text-decoration:none}
.rows a::after{content:"\2192";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-size:1.6rem;color:var(--red)}
.rows a:hover b,.rows a:focus-visible b{color:var(--red)}
.rows b{display:block;font-family:Anton,Impact,sans-serif;font-weight:400;font-size:clamp(1.6rem,1.2rem + 1.2vw,2.2rem);line-height:1.05;text-transform:uppercase}
.rows span{display:block;margin-top:.25rem}
.soon{font-size:clamp(1.15rem,1rem + .6vw,1.5rem)}
.avail{margin:.9rem 0 0}
.avail a{color:var(--on-stage)}
.legend{font:600 .8rem/1.3 "Work Sans",system-ui,sans-serif}
.hero-clip{text-decoration:none;background:#000 url(/img/hedge-fund-reel-cover.jpg) center/cover no-repeat;overflow:hidden}
.hero-clip::after{content:"";position:absolute;inset:55% 0 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.hero-clip span.t{z-index:1;opacity:1}
.hero-clip span.play{display:none}
.hero-clip .t{display:block;font-weight:700}
.hero-clip .s{display:block;font-size:.85rem;opacity:.85}

button.hero-clip{font:inherit;padding:0;cursor:pointer;text-align:left;-webkit-appearance:none;appearance:none;display:block;width:100%}
@media (max-width:52rem){.hero-clip{max-width:20rem}}
.hero-clip{background:#000 url(/img/hedge-fund-cover-540.jpg) center/cover no-repeat}
.hero-clip span.play{display:block!important;z-index:1}
.hero-clip:focus-visible{outline:3px solid #ffd84a;outline-offset:3px}
.hero-clip.loaded{aspect-ratio:auto;max-height:none;background:#fff;border-color:#fff;cursor:default}
.hero-clip.loaded::after{display:none}
.hero-clip iframe{display:block;width:100%;height:min(80vh,44rem);border:0}
