/*
Theme Name: Nathan Crothers &The VOICES
Theme URI: https://nathancrothersandthevoices.com
Author: Nathan Crothers
Description: Official website theme for Nathan Crothers &The VOICES. Colours, typography, the brick wall background, homepage sections and all homepage copy are edited under Appearance → Customise → Nathan Crothers theme. Shows, News and Merch are managed from the dashboard menu.
Version: 2.16.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nathan-voices
*/

/* Fonts (SIL Open Font License, bundled; no third-party requests) ------- */
@font-face{font-family:'NCV Archivo';src:url('assets/fonts/archivo-latin-standard-normal.woff2') format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'NCV Archivo';src:url('assets/fonts/archivo-latin-ext-standard-normal.woff2') format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'NCV Archivo';src:url('assets/fonts/archivo-latin-standard-italic.woff2') format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap}
@font-face{font-family:'NCV Instrument Serif';src:url('assets/fonts/instrument-serif-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'NCV Instrument Serif';src:url('assets/fonts/instrument-serif-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'NCV Big Shoulders';src:url('assets/fonts/big-shoulders-display-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

/* Fallback values; the Customiser overrides these ------------------------ */
:root{
	--c-bg:#0c0b0a;--c-surface:#171513;--c-text:#f4f0e8;--c-muted:#aaa39a;--c-accent:#c8ff00;--c-accent2:#4cfd03;--c-accent2-text:#0c0b0a;--tagline-size:clamp(1.3rem,2.7vw,2.2rem);--c-btn:#c8ff00;--c-btn-text:#0c0b0a;--c-wm2:#c8ff00;--c-line:rgba(244,240,232,.16);--c-scrim:rgba(12,11,10,.92);
	--f-display:'NCV Archivo','Arial Narrow',sans-serif;--f-display-w:62%;--f-display-wt:800;--f-body:'NCV Archivo',system-ui,sans-serif;--fs-base:17px;--h-scale:1;
	--gutter:clamp(16px,4vw,40px);--header-h:calc(var(--logo-h,62px) + 26px);
}
@media (max-width:900px){:root{--header-h:72px}}
.header-centred{--header-h:calc(var(--logo-h,62px) + 76px)}
@media (max-width:900px){.header-centred{--header-h:72px}}

/* Base ------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{font-size:var(--fs-base);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
.home-main>section{scroll-margin-top:var(--header-h)}
body{margin:0;background-color:var(--c-bg);color:var(--c-text);font-family:var(--f-body);font-stretch:100%;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img,video,iframe{max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--c-accent)}
:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}
p{margin:0 0 1em}
h1,h2,h3,h4{line-height:1.1;margin:0 0 .5em}
.wrap{width:min(78rem,100% - 2 * var(--gutter));margin-inline:auto}
.wrap--narrow{width:min(46rem,100% - 2 * var(--gutter))}
.wrap--mid{width:min(64rem,100% - 2 * var(--gutter))}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:1rem;top:1rem;z-index:1000;background:var(--c-btn);color:var(--c-btn-text);padding:.75rem 1rem}

/* Display type ------------------------------------------------------------ */
.section-title,.page-title,.article-title,.booking-title,.hero-title,.video-title,.contact-title,.wordmark,.show-day,.show-month,.hl-year,.site-nav .menu a{font-family:var(--f-display);font-stretch:var(--f-display-w);font-weight:var(--f-display-wt);letter-spacing:-.005em}
.headings-upper .section-title,.headings-upper .page-title,.headings-upper .article-title,.headings-upper .booking-title,.headings-upper .hero-title,.headings-upper .video-title,.headings-upper .contact-title,.headings-upper .wm-name,.headings-upper .show-month{text-transform:uppercase}
.section-title{font-size:calc(clamp(2.4rem,5.6vw,4.6rem) * var(--h-scale));line-height:.9;margin:0}
.section-title--sm{font-size:calc(clamp(1.8rem,3.4vw,2.6rem) * var(--h-scale));margin-bottom:1.5rem}
.page-title{font-size:calc(clamp(3rem,9vw,7.25rem) * var(--h-scale));line-height:.88;margin:0}

/* Wordmark ---------------------------------------------------------------- */
.wordmark{display:block;line-height:.84;margin:0}
.wm-name{display:block}
.wm-band{display:flex;align-items:baseline;gap:.07em;flex-wrap:nowrap}
.wm-amp{font-family:'NCV Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-stretch:normal;text-transform:none;letter-spacing:-.02em;font-size:1.04em}
.wm-voices{color:var(--c-wm2)}
.wordmark--hero{font-size:calc(clamp(3.6rem,11.4vw,10.75rem) * var(--h-scale))}
.wordmark--header{font-size:1.32rem}
.wordmark--footer{font-size:2.5rem}
.brand{display:inline-block;color:var(--c-text)}
.brand:hover{color:var(--c-text)}
.brand:hover .wm-voices{color:var(--c-wm2)}
.brand-logo{display:block;max-height:52px;width:auto}
.brand--title{font-family:var(--f-display);font-stretch:var(--f-display-w);font-weight:var(--f-display-wt);font-size:1.5rem;text-transform:uppercase;line-height:1}

/* Background layers -------------------------------------------------------- */
.site-bg{position:fixed;inset:0;z-index:-1;pointer-events:none}
.site-bg::before,.has-bg::before{content:'';position:absolute;inset:0;background-image:var(--bg-img);background-size:var(--bg-size);background-repeat:var(--bg-repeat);background-position:var(--bg-pos);filter:var(--bg-filter);opacity:var(--bg-opacity)}
.site-bg::after,.has-bg::after{content:'';position:absolute;inset:0;background:var(--bg-overlay)}
.has-bg{position:relative;isolation:isolate}
.has-bg::before{z-index:-2;background-attachment:fixed}
.has-bg::after{z-index:-1}
body.admin-bar .site-bg{top:32px}
@media (max-width:760px){
	.site-bg::before,.has-bg::before{background-size:var(--bg-size-m);background-repeat:var(--bg-repeat-m);background-position:var(--bg-pos-m);background-attachment:scroll}
}

/* Header ------------------------------------------------------------------- */
/* A solid bar that stays at the top while scrolling. No script needed. */
.site-header{position:relative;z-index:50;background-color:var(--c-header-bg,var(--c-bg));border-bottom:1px solid var(--c-line)}
.header-sticky .site-header{position:sticky;top:0}
.admin-bar.header-sticky .site-header{top:var(--wp-admin--admin-bar--height,32px)}
@media (max-width:600px){.admin-bar.header-sticky .site-header{top:0}}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;min-height:var(--header-h);padding-block:.5rem}
.header-brand{display:flex;align-items:center;gap:1.25rem;min-width:0;flex-shrink:0}
.header-tagline{font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--c-muted);border-left:1px solid var(--c-line);padding-left:1.25rem}
.nav-toggle-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.site-nav .menu{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.25rem clamp(1.1rem,2.4vw,2.4rem);list-style:none;margin:0;padding:0}
.site-nav .menu a{display:block;font-family:var(--f-body);font-stretch:100%;font-size:.76rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase;padding:.6rem 0;border-bottom:2px solid transparent;white-space:nowrap}
.site-nav .menu a:hover{color:var(--c-accent)}
.site-nav .current-menu-item>a,.site-nav .current_page_item>a,.site-nav .current-menu-ancestor>a{border-bottom-color:var(--c-accent)}
.menu-toggle{display:none}
.header-centred .header-inner{flex-direction:column;justify-content:center;gap:.6rem;padding-block:1rem}
.header-centred .header-brand{flex-direction:column;gap:.4rem;text-align:center}
.header-centred .header-tagline{border:0;padding:0}
.header-centred .site-nav .menu{justify-content:center}
@media (max-width:900px){
	.header-centred .header-inner{flex-direction:row;justify-content:space-between;padding-block:.5rem}
	.header-centred .header-brand{flex-direction:row;text-align:left}
	.header-tagline{display:none}
	.header-inner{flex-wrap:nowrap}
	.menu-toggle{display:inline-flex;align-items:center;gap:.6rem;margin-left:auto;background:none;border:1px solid var(--c-line);color:var(--c-text);font:650 .72rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;padding:.75rem .95rem;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
	.menu-toggle-icon{position:relative;width:16px;height:10px}
	.menu-toggle-icon::before,.menu-toggle-icon::after{content:'';position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .2s,top .2s}
	.menu-toggle-icon::before{top:0}
	.menu-toggle-icon::after{top:8px}
	.nav-toggle-input:checked ~ .menu-toggle .menu-toggle-icon::before{top:4px;transform:rotate(45deg)}
	.nav-toggle-input:checked ~ .menu-toggle .menu-toggle-icon::after{top:4px;transform:rotate(-45deg)}
	.lbl-close{display:none}
	.nav-toggle-input:checked ~ .menu-toggle .lbl-open{display:none}
	.nav-toggle-input:checked ~ .menu-toggle .lbl-close{display:inline}
	.nav-toggle-input:checked ~ .menu-toggle{border-color:var(--c-accent);color:var(--c-accent)}
	.site-nav{display:none;position:absolute;top:100%;left:0;right:0;height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h));background:var(--c-header-bg,var(--c-bg));padding:1.5rem var(--gutter) 3rem;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--c-line)}
	.nav-toggle-input:checked ~ .site-nav{display:block}
	body:has(.nav-toggle-input:checked){overflow:hidden}
	.site-nav .menu{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0}
	.site-nav .menu li{border-bottom:1px solid var(--c-line)}
	.site-nav .menu a{font-family:var(--f-display);font-stretch:var(--f-display-w);font-weight:var(--f-display-wt);font-size:clamp(2rem,9vw,2.8rem);letter-spacing:0;text-transform:uppercase;padding:.7rem 0;line-height:1;border:0;white-space:normal}
	.site-nav .current-menu-item>a,.site-nav .current_page_item>a{color:var(--c-accent)}
}

/* Buttons ------------------------------------------------------------------ */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.1rem;padding:0 1.6rem;background:var(--c-btn);color:var(--c-btn-text);border:2px solid var(--c-btn);font-family:var(--f-body);font-stretch:100%;font-size:.78rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;line-height:1;text-align:center;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s;white-space:nowrap}
.button:hover{background:transparent;color:var(--c-btn)}
.button--ghost{background:transparent;color:var(--c-text);border-color:currentColor}
.button--ghost:hover{color:var(--c-accent);border-color:var(--c-accent)}
.button--small{min-height:2.5rem;padding:0 1.1rem;font-size:.72rem}
.button--large{min-height:4rem;padding:0 2.2rem;font-size:.86rem}
.button--disabled,.button--disabled:hover{background:transparent;color:var(--c-muted);border-color:var(--c-line);cursor:default}
.button-row{display:flex;flex-wrap:wrap;gap:.75rem}
.more-link{display:inline-flex;gap:.5rem;font-size:.76rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase;padding-bottom:.3rem;border-bottom:1px solid var(--c-accent)}

/* Media -------------------------------------------------------------------- */
.media{position:relative;margin:0}
.media img{display:block;width:100%}
.credit{position:absolute;right:.6rem;bottom:.55rem;font-size:.66rem;letter-spacing:.04em;color:rgba(255,255,255,.82);background:rgba(0,0,0,.5);padding:.2rem .45rem;line-height:1.3}
.credit a{text-decoration:underline}
.treat-bw img{filter:grayscale(1)}
.treat-contrast img{filter:grayscale(1) contrast(1.4) brightness(.95)}
.treat-duotone{background:var(--c-accent2)}
.treat-duotone img{filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply}
.images-soft .media,.images-soft .video-frame,.images-soft .contact-card,.images-soft .empty-panel{border-radius:10px;overflow:hidden}

/* Hero --------------------------------------------------------------------- */
.hero{position:relative;display:flex;align-items:flex-end;min-height:min(calc(100svh - var(--header-h)),56rem);padding:clamp(3rem,7vw,6rem) 0;overflow:hidden}
.hero:not(.is-first){min-height:min(88svh,56rem)}
.hero-media{position:absolute;top:0;right:0;bottom:0;width:58%;z-index:0}
.hero-media .media{height:100%}
.hero-media img{height:100%;object-fit:cover;object-position:var(--hero-pos);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
.hero-media .credit{right:var(--gutter);bottom:1rem}
.hero--full .hero-media{width:100%}
.hero--full .hero-media img{-webkit-mask-image:none;mask-image:none}
.hero--full .hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--c-bg) 82%,transparent) 0,color-mix(in srgb,var(--c-bg) 25%,transparent) 65%,transparent 100%),linear-gradient(0deg,var(--c-bg) 0,transparent 35%)}
.hero-inner{position:relative;z-index:2}
.hero-copy{max-width:100%}
.hero-title{font-size:calc(clamp(3.4rem,10vw,9rem) * var(--h-scale));line-height:.86;margin:0}
.hero-tagline{font-size:var(--tagline-size);font-weight:700;letter-spacing:.24em;line-height:1.2;text-transform:uppercase;margin:1.75rem 0 2.25rem}
.hero-text{max-width:34rem;color:var(--c-muted);font-size:1.1rem;margin:-1rem 0 2rem}
@media (max-width:760px){
	.hero{display:block;min-height:0;padding-top:0}
	.hero.is-first{padding-top:0}
	.hero-media{position:relative;width:100%;height:min(78svh,40rem);margin-bottom:-28%}
	.hero.is-first .hero-media{height:min(68svh,36rem)}
	.hero-media img{-webkit-mask-image:linear-gradient(180deg,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,#000 45%,transparent 100%)}
	.hero-media .credit{top:.5rem;bottom:auto}
	.hero--full .hero-media::after{background:none}
	.hero--no-image{padding-top:3rem}
	.hero-tagline{letter-spacing:.16em;margin:1.25rem 0 1.75rem}
	.hero .button-row .button{flex:1 1 12rem}
}

/* Sections ----------------------------------------------------------------- */
.section{padding-block:clamp(4rem,9vw,8rem)}
.section--tight{padding-block:clamp(2.5rem,5vw,4rem)}
.home-main>.section+.section:not(.booking--accent){border-top:1px solid var(--c-line)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;margin-bottom:clamp(2rem,4vw,3.25rem)}
.empty-note{color:var(--c-muted);font-size:1.1rem;margin:0}
.empty-panel{padding:clamp(1.5rem,4vw,2.75rem);border:1px solid var(--c-line);background:color-mix(in srgb,var(--c-surface) 88%,transparent)}
.empty-panel .social{margin:1.25rem 0 1.75rem}

/* Shows -------------------------------------------------------------------- */
.show-list{border-top:1px solid var(--c-line)}
.show{display:grid;grid-template-columns:8rem minmax(0,1fr) auto;gap:1.25rem 2.5rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid var(--c-line)}
.show-date{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.55rem;align-items:end;line-height:1}
.show-day{grid-row:1/3;font-size:4.4rem;line-height:.78}
.show-month{font-size:1.45rem;line-height:.85;align-self:start;padding-top:.1rem}
.show-weekday{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);white-space:nowrap}
.show-date--tbc{display:block}
.show-date--tbc .show-month{display:block;font-size:1.45rem}
.show-date--tbc .show-weekday{display:block;margin-top:.4rem;white-space:normal}
.show-venue{font-size:clamp(1.2rem,2.1vw,1.65rem);font-weight:650;line-height:1.15;margin:0}
.show-where{margin:.3rem 0 0;font-size:1rem}
.show-event{margin:.4rem 0 0;color:var(--c-muted);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.show-status{margin:.6rem 0 0;font-size:.9rem;color:var(--c-accent)}
.show-actions{display:flex;align-items:center;gap:1.4rem}
.show-details{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted);text-decoration:underline;text-underline-offset:5px}
.badge{display:inline-block;padding:.28rem .55rem;font-size:.66rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;line-height:1;border:1px solid currentColor;color:var(--c-text);margin-right:.35rem}
.badge--postponed{color:var(--c-accent)}
.badge--cancelled{background:var(--c-text);color:var(--c-bg);border-color:var(--c-text)}
.status-cancelled .show-venue a{text-decoration:line-through;text-decoration-thickness:2px}
.status-cancelled .show-date,.status-cancelled .show-where{opacity:.5}
.show--past{grid-template-columns:8rem minmax(0,1fr);padding:1rem 0}
.show--past .show-day{font-size:2.3rem}
.show--past .show-month{font-size:1rem}
.show--past .show-venue{font-size:1.1rem}
.section--past{border-top:1px solid var(--c-line)}
@media (max-width:760px){
	.show{grid-template-columns:5.25rem minmax(0,1fr);gap:.9rem 1.1rem;align-items:start}
	.show-day{font-size:3.2rem}
	.show-month{font-size:1.1rem}
	.show-weekday{grid-column:1/3;margin-top:.45rem}
	.show-actions{grid-column:2;gap:1rem;flex-wrap:wrap}
	.show-actions .button{min-height:2.75rem;padding:0 1.25rem}
	.show--past{grid-template-columns:5.25rem minmax(0,1fr)}
	.show--past .show-day{font-size:2rem}
}

/* Video -------------------------------------------------------------------- */
.video-feature{display:grid;gap:1.5rem}
.video-frame{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-play{position:absolute;inset:0;display:block;width:100%;padding:0;border:0;background:#000;cursor:pointer}
.video-play img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .25s,transform .6s}
.video-play:hover img{opacity:1;transform:scale(1.015)}
.video-play-icon{position:absolute;left:50%;top:50%;width:clamp(4rem,9vw,6.5rem);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--c-btn);transition:transform .2s}
.video-play-icon::before{content:'';position:absolute;left:54%;top:50%;width:34%;height:38%;transform:translate(-50%,-50%);background:var(--c-btn-text);clip-path:polygon(0 0,100% 50%,0 100%)}
.video-play:hover .video-play-icon,.video-play:focus-visible .video-play-icon{transform:translate(-50%,-50%) scale(1.08)}
.video-caption{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem 2rem}
.video-title{font-size:calc(clamp(1.7rem,3.4vw,2.8rem) * var(--h-scale));line-height:.95;margin:0}
.video-meta{margin:0;color:var(--c-muted);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}

/* News cards --------------------------------------------------------------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:2.75rem 2rem}
.card-media{display:block}
.card-media .media{aspect-ratio:3/2;overflow:hidden;background:var(--c-surface)}
.card-media img{height:100%;object-fit:cover;transition:transform .6s}
.card:hover .card-media img{transform:scale(1.035)}
.card-meta{margin:1.1rem 0 .55rem;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted)}
.card-cat{color:var(--c-accent);margin-left:.6rem}
.card-title{font-size:1.32rem;font-weight:650;line-height:1.22;margin:0}
.card-excerpt{margin:.7rem 0 0;color:var(--c-muted);font-size:.95rem}
.card--text{border-top:2px solid var(--c-text)}
.card--text .card-title{font-size:1.6rem}

/* About -------------------------------------------------------------------- */
.about-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.about-split--text{grid-template-columns:minmax(0,48rem)}
.about-photo img,.merch-photo img,.show-photo img,.press-photo img{aspect-ratio:4/5;object-fit:cover}
.lead{font-size:clamp(1.12rem,1.6vw,1.38rem);line-height:1.55;margin:1.5rem 0 2.25rem}
.lead p:last-child{margin-bottom:0}
@media (max-width:760px){.about-split{grid-template-columns:1fr}}

/* Booking ------------------------------------------------------------------ */
.booking--accent{background:var(--c-accent2);color:var(--c-accent2-text)}
.booking--accent.has-bg::before,.booking--accent.has-bg::after{display:none}
.booking-inner{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:2rem}
.booking-title{font-size:calc(clamp(3.4rem,10vw,9rem) * var(--h-scale));line-height:.84;margin:0}
.booking-text{font-size:1.15rem;max-width:32rem;margin-top:1.25rem}
.booking-text p:last-child{margin:0}

/* Page headers -------------------------------------------------------------- */
.page-head{padding:clamp(3rem,8vw,6.5rem) 0 clamp(2rem,4vw,3.25rem);border-bottom:1px solid var(--c-line)}
.kicker{margin:0 0 1rem;font-size:.76rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted)}
.page-intro{max-width:44rem;margin-top:1.5rem;color:var(--c-muted);font-size:1.15rem}
.page-intro p:last-child{margin:0}
.show-head-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:3rem;align-items:end}
.show-head-line{font-size:1.3rem;margin:.35rem 0 0}
.show-head-line:first-of-type{margin-top:1.5rem;font-weight:650}
.show-head .button-row{margin-top:2rem}
@media (max-width:760px){.show-head-inner{grid-template-columns:1fr}}

/* Articles and pages -------------------------------------------------------- */
.article-head{border-bottom:0;padding-bottom:1rem}
.article-title{font-size:calc(clamp(2.5rem,6.2vw,4.8rem) * var(--h-scale));line-height:.92;margin:0}
.article-standfirst{font-size:clamp(1.15rem,1.8vw,1.4rem);color:var(--c-muted);margin:1.5rem 0 0;line-height:1.45}
.article-media{margin-block:2rem 3rem}
.article-media .media img{width:100%;max-height:70vh;object-fit:cover}
.card-event{margin:-.2rem 0 .5rem;font-size:.72rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text)}
.card-grid--past .card-title{font-size:1.1rem}
.card-grid--past .card-media img{filter:grayscale(.6)}
.past-label{color:var(--c-accent)}
.dateline{margin:0 0 1.25rem;font-size:.78rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:var(--c-accent)}
.article-body{padding-bottom:clamp(3rem,7vw,6rem)}
.section--more{border-top:1px solid var(--c-line)}
.prose{font-size:1.08rem;line-height:1.7}
.prose>*:first-child{margin-top:0}
.prose h2{font-size:1.7rem;font-weight:650;margin:2.2em 0 .6em}
.prose h3{font-size:1.3rem;font-weight:650;margin:2em 0 .5em}
.prose a{text-decoration:underline;text-decoration-color:var(--c-accent);text-underline-offset:3px;text-decoration-thickness:2px}
.prose blockquote,.prose .wp-block-quote{margin:2em 0;padding:0 0 0 1.5rem;border-left:3px solid var(--c-accent);font-size:1.35rem;line-height:1.45}
.prose blockquote cite{display:block;margin-top:.8rem;font-size:.8rem;font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin-bottom:.4em}
.prose figure{margin:2em 0}
.prose figcaption{font-size:.82rem;color:var(--c-muted);margin-top:.5rem}
.prose hr{border:0;border-top:1px solid var(--c-line);margin:2.5em 0}
.prose .alignwide{width:min(64rem,100vw - 2 * var(--gutter));max-width:none;margin-left:50%;transform:translateX(-50%)}
.prose .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.prose .wp-block-button__link{background:var(--c-btn);color:var(--c-btn-text);border-radius:0;font-size:.78rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:1rem 1.6rem}
.prose .wp-block-embed iframe{width:100%}

/* About page ---------------------------------------------------------------- */
.about-page{padding:clamp(3rem,7vw,6rem) 0;border-bottom:1px solid var(--c-line)}
.about-page-inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.about-page-inner--text{grid-template-columns:minmax(0,48rem)}
.about-page-media{position:sticky;top:calc(var(--header-h) + 2rem)}
.about-page-copy .page-title{margin-bottom:2rem}
.about-links{display:flex;flex-wrap:wrap;gap:.75rem}
@media (max-width:760px){.about-page-inner{grid-template-columns:1fr}.about-page-media{position:static}}

/* Highlights ----------------------------------------------------------------- */
.highlights{list-style:none;margin:0;padding:0;border-top:1px solid var(--c-line)}
.highlights li{display:grid;grid-template-columns:5rem minmax(0,1fr) minmax(0,1fr);gap:.25rem 1.5rem;padding:1rem 0;border-bottom:1px solid var(--c-line);align-items:baseline}
.hl-year{font-size:1.45rem;line-height:1}
.hl-what{font-weight:650}
.hl-where{color:var(--c-muted)}
@media (max-width:760px){.highlights li{grid-template-columns:4rem minmax(0,1fr)}.hl-where{grid-column:2}}

/* Press ---------------------------------------------------------------------- */
.press-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,20rem);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.bio-block{padding:2rem 0;border-top:1px solid var(--c-line)}
.bio-block:first-child{border-top:0;padding-top:0}
.bio-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem}
.bio-head .section-title{margin:0}
.bio-count{font-size:.78rem;color:var(--c-muted)}
.copy-button{margin-left:auto;background:transparent;color:var(--c-text);border:1px solid var(--c-line);padding:.55rem .95rem;font:650 .72rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.copy-button:hover{border-color:var(--c-accent);color:var(--c-accent)}
.bio-text{font-size:1.05rem;max-width:44rem}
.facts{margin:0 0 2rem;border-top:1px solid var(--c-line)}
.facts div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--c-line)}
.facts dt{font-size:.72rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);padding-top:.2rem}
.facts dd{margin:0}
.press-contact p,.contact-email{margin:0 0 1.25rem}
.label{display:block;font-size:.72rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);margin-bottom:.25rem}
.press-contact a,.contact-email a,.footer-email a{border-bottom:1px solid var(--c-accent);overflow-wrap:anywhere}
.press-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:2rem}
.press-photo{margin:0}
.press-photo figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1rem;margin-top:.85rem;font-size:.84rem;color:var(--c-muted)}
.press-photo .credit-line{color:var(--c-text);flex-basis:100%}
.press-photo .button{margin-left:auto}
.small-print{margin-top:1.5rem;font-size:.84rem;color:var(--c-muted)}
@media (max-width:860px){.press-grid{grid-template-columns:1fr}}

/* Contact -------------------------------------------------------------------- */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.25rem;margin-bottom:3rem}
.contact-card{padding:clamp(1.5rem,3vw,2.25rem);background:color-mix(in srgb,var(--c-surface) 90%,transparent);border:1px solid var(--c-line)}
.contact-title{font-size:calc(1.9rem * var(--h-scale));line-height:.95;margin:0 0 .6rem}
.contact-desc{color:var(--c-muted);margin-bottom:1.5rem}
.contact-email{font-size:1.1rem;font-weight:650}
.contact-management,.contact-social{margin-bottom:2.5rem}
.contact-extra{max-width:46rem}

/* Merch ---------------------------------------------------------------------- */
.merch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:2.5rem 2rem}
.merch-body{padding-top:1.1rem}
.merch-title{font-size:1.25rem;font-weight:650;margin:0 0 .3rem}
.merch-price{font-weight:650;margin:0 0 .6rem}
.merch-desc{color:var(--c-muted);font-size:.95rem}
.merch-avail{font-size:.72rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted)}

/* Social --------------------------------------------------------------------- */
.social{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;list-style:none;margin:0;padding:0}
.social a{font-size:.76rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase}
.social--large a{font-size:1.05rem}

/* Footer --------------------------------------------------------------------- */
.site-footer{padding:clamp(3rem,6vw,5rem) 0 2rem;border-top:1px solid var(--c-line);background:color-mix(in srgb,var(--c-bg) 88%,transparent)}
.footer-inner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.2fr);gap:2.5rem}
.footer-tagline{margin:1.1rem 0 0;font-size:.7rem;font-weight:650;letter-spacing:.3em;text-transform:uppercase;color:var(--c-muted)}
.footer-nav .menu{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.footer-nav a{font-size:.8rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase}
.footer-email{margin:0 0 1.25rem}
.footer-email span{display:block;font-size:.72rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);margin-bottom:.25rem}
.footer-legal{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--c-line);font-size:.8rem;color:var(--c-muted)}
.footer-legal p{margin:0}
@media (max-width:760px){.footer-inner{grid-template-columns:1fr}.wordmark--footer{font-size:2.1rem}}
.site-footer--simple{padding:1.75rem 0}
.site-footer--simple .footer-legal{margin:0;padding:0;border:0;text-align:center;font-size:.78rem;letter-spacing:.06em}

/* Pagination ----------------------------------------------------------------- */
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:3rem}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;height:2.75rem;padding:0 .9rem;border:1px solid var(--c-line);font-size:.8rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}
.pagination .page-numbers.current{background:var(--c-text);color:var(--c-bg);border-color:var(--c-text)}


/* Logo ------------------------------------------------------------------- */
.ncv-logo{display:block;color:var(--c-logo);line-height:0;--ncv-art:var(--c-logo);--ncv-back:var(--c-logo-back)}

.brand--header{transition:opacity .3s}
.ncv-logo svg{display:block;width:100%;height:100%;fill:currentColor;overflow:visible}
.ncv-logo--logo{aspect-ratio:1458.7/533.6}
.ncv-logo--original{aspect-ratio:1716/700}
.ncv-logo--mark{aspect-ratio:1213/1395}
.ncv-logo--header{height:var(--logo-h)}
.ncv-logo--footer{height:var(--logo-foot-h);max-width:100%}
.ncv-logo--hero.ncv-logo--logo,.ncv-logo--hero.ncv-logo--original{width:min(100%,var(--logo-hero-w))}
.ncv-logo--hero.ncv-logo--mark{height:min(40vh,22rem)}
.logo-img--header{display:block;height:var(--logo-h);width:auto}
.logo-img--footer{display:block;height:var(--logo-foot-h);width:auto;max-width:100%}
.logo-img--hero{display:block;width:min(100%,var(--logo-hero-w));height:auto}
.hero-logo{margin:0;line-height:0}
.brand-text{font-family:var(--f-display);font-stretch:var(--f-display-w);font-weight:var(--f-display-wt);text-transform:uppercase;line-height:1;font-size:1.5rem}
.brand-text--hero{font-size:calc(clamp(3rem,9vw,7.5rem) * var(--h-scale));line-height:.9}
.brand-text--footer{font-size:2.2rem}
@media (max-width:900px){.ncv-logo--header,.logo-img--header{height:min(var(--logo-h),46px)}}
.header-social{margin-left:auto;margin-right:2rem}
.social--header a{font-size:.7rem}
@media (max-width:900px){.header-social{display:none}}

/* Clips ------------------------------------------------------------------ */
.clips-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.5rem 2rem;margin-top:2.5rem}
.clip-title{font-size:1.05rem;font-weight:650;margin:.8rem 0 0}
.clip .video-play-icon{width:3.5rem}

/* Press quotes ----------------------------------------------------------- */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:2rem 3rem}
.quotes--1{grid-template-columns:minmax(0,52rem)}
.quote{margin:0}
.quote blockquote{margin:0;font-family:var(--f-display);font-stretch:var(--f-display-w);font-weight:var(--f-display-wt);font-size:calc(clamp(1.6rem,2.8vw,2.4rem) * var(--h-scale));line-height:1.02}
.quotes--1 .quote blockquote{font-size:calc(clamp(2rem,4.4vw,3.6rem) * var(--h-scale))}
.headings-upper .quote blockquote{text-transform:uppercase}
.quote blockquote p{margin:0}
.quote blockquote p::before{content:'\201C'}
.quote blockquote p::after{content:'\201D'}
.quote figcaption{margin-top:1rem;font-size:.76rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent)}

/* Mailing list ----------------------------------------------------------- */
.mailing-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 4rem;align-items:end}
.mailing-text{font-size:1.15rem;color:var(--c-muted);margin-top:1.25rem;max-width:32rem}
.mailing-text p:last-child{margin:0}
.mailing-form input[type=email],.mailing-form input[type=text]{width:100%;min-height:3.1rem;padding:0 1rem;background:transparent;border:1px solid var(--c-line);color:var(--c-text);font:inherit}
.mailing-form button,.mailing-form input[type=submit]{min-height:3.1rem;padding:0 1.6rem;background:var(--c-btn);color:var(--c-btn-text);border:0;font:750 .78rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
@media (max-width:760px){.mailing-inner{grid-template-columns:1fr}}

/* Booking with contact and social --------------------------------------- */
.booking-inner{align-items:flex-end}
.booking-main .button{margin-top:2rem}
.booking-side{display:grid;gap:1.75rem;min-width:min(100%,18rem)}
.booking-email{margin:0;font-size:1.15rem;font-weight:650}
.booking-email a{border-bottom:2px solid currentColor;overflow-wrap:anywhere}
.booking--accent .label{color:inherit;opacity:.75}
.booking--accent .button{background:var(--c-accent2-text);border-color:var(--c-accent2-text);color:var(--c-accent2)}
.booking--accent .button:hover{background:transparent;color:var(--c-accent2-text)}
.booking--accent a:hover{color:var(--c-accent2-text);opacity:.75}

/* Merch catalogue -------------------------------------------------------- */
.merch-link{display:block}
.merch-link:hover .merch-title{color:var(--c-accent)}
.merch-link .media{overflow:hidden;background:var(--c-surface)}
.merch-link img{transition:transform .5s}
.merch-link:hover img{transform:scale(1.03)}
.merch-photo--empty{display:block;aspect-ratio:4/5;background:var(--c-surface)}
.merch-link .merch-body{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:1rem}
.merch-link .merch-title{font-size:1.15rem;font-weight:650;line-height:1.25}
.merch-link .merch-price{font-weight:650;white-space:nowrap}
.merch-item .merch-desc{margin:.5rem 0 0}
.merch-item .merch-avail{margin:.6rem 0 0}
.product-inner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.product-inner--text{grid-template-columns:minmax(0,46rem)}
.product-media{position:sticky;top:calc(var(--header-h) + 2rem)}
.product-photo img{width:100%}
.product-title{font-size:calc(clamp(2.4rem,5vw,4.2rem) * var(--h-scale))}
.product-price{font-size:1.6rem;font-weight:650;margin:1rem 0}
.product-standfirst{font-size:1.15rem;color:var(--c-muted)}
.product-facts{margin:1.5rem 0 2rem}
.product-body{margin-top:2.5rem}
.product .kicker a{border-bottom:1px solid var(--c-accent)}
@media (max-width:760px){.product-inner{grid-template-columns:1fr}.product-media{position:static}}


/* Photo effects ----------------------------------------------------------- */
.media::after{content:none;position:absolute;inset:0;pointer-events:none;z-index:1}
.media .credit{z-index:2}
.treat-grain img{filter:grayscale(1) contrast(1.15)}
.treat-grain::after{content:'';opacity:.32;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 1.6 -.3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.treat-photocopy{background:#fff}
.treat-photocopy img{filter:grayscale(1) contrast(2.6) brightness(1.15)}
.treat-photocopy::after{content:'';opacity:.45;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -2.4 1.25'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.treat-halftone{background:#fff;filter:grayscale(1) contrast(16)}
.treat-halftone img{filter:blur(.7px) brightness(1.05)}
.treat-halftone::after{content:'';opacity:.5;background:radial-gradient(circle at center,#000 0,#fff 72%);background-size:6px 6px}
.treat-green{background:var(--c-logo,#4cfd03)}
.treat-green img{filter:grayscale(1) contrast(1.2) brightness(1.15);mix-blend-mode:multiply}
.treat-warm img{filter:sepia(.35) saturate(1.25) contrast(1.06) brightness(.97)}
.treat-faded img{filter:contrast(.86) saturate(.55) brightness(1.06) sepia(.12)}
.treat-faded::after{content:'';background:rgba(244,240,232,.06)}
.treat-spotlight::after{content:'';background:radial-gradient(ellipse at 50% 42%,transparent 38%,rgba(0,0,0,.78) 100%)}

/* Photo frames ------------------------------------------------------------ */
.frame-border :is(.about-photo,.show-photo,.product-photo,.merch-photo,.article-media .media,.card-media .media,.press-photo .media){outline:3px solid var(--c-logo,#4cfd03);outline-offset:-3px}
.frame-cutout :is(.about-photo,.show-photo,.product-photo,.article-media .media,.press-photo .media){transform:rotate(-1.6deg);border:6px solid var(--c-logo,#4cfd03);box-shadow:0 0 0 4px #000}
.frame-cutout :is(.merch-photo,.card-media .media){border:5px solid var(--c-logo,#4cfd03);box-shadow:0 0 0 3px #000}
.frame-cutout .merch-item:nth-child(even) .merch-photo,.frame-cutout .card:nth-child(even) .card-media .media{transform:rotate(1.2deg)}
.frame-cutout .merch-item:nth-child(odd) .merch-photo,.frame-cutout .card:nth-child(odd) .card-media .media{transform:rotate(-1deg)}
.frame-polaroid :is(.about-photo,.show-photo,.product-photo,.merch-photo,.article-media .media,.card-media .media,.press-photo .media){background:#f4f0e8;padding:10px 10px 34px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.frame-polaroid .about-photo{transform:rotate(-1.2deg)}


/* Show cards and list images ----------------------------------------------- */
.show-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:2.5rem 1.75rem}
.show-cards--n1{grid-template-columns:minmax(0,24rem)}
@media (min-width:761px){.show-cards--n2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:52rem}.show-cards--n3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.show-cards--past{grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:2rem 1.25rem}
.show-card{display:flex;flex-direction:column}
.show-card-media{position:relative;display:block;overflow:hidden;background:var(--c-surface)}
.show-card-media .media,.show-card-media .show-img{display:block;width:100%;aspect-ratio:4/5}
.ratio-landscape .show-card-media .media,.ratio-landscape .show-card-media .show-img{aspect-ratio:3/2}
.ratio-square .show-card-media .media,.ratio-square .show-card-media .show-img{aspect-ratio:1}
.show-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.show-card:hover .show-card-media img{transform:scale(1.035)}
.show-card-media .show-img--empty,.show-thumb .show-img--empty,.show-img--empty{display:flex;align-items:center;justify-content:center;background:var(--c-surface)}
.show-img--empty svg{display:block;width:44%;height:44%;color:var(--c-logo,#4cfd03);opacity:.22;--ncv-art:currentColor;--ncv-back:transparent}
.show-card-badge{position:absolute;top:.75rem;left:.75rem;display:grid;justify-items:center;min-width:3.6rem;padding:.45rem .55rem .4rem;background:var(--c-btn);color:var(--c-btn-text);line-height:.9;z-index:2}
.show-card-badge .b-day{font-family:var(--f-display);font-stretch:var(--f-display-w);font-weight:var(--f-display-wt);font-size:2rem}
.show-card-badge .b-mon{font-family:var(--f-display);font-stretch:var(--f-display-w);font-weight:var(--f-display-wt);font-size:.95rem;text-transform:uppercase;margin-top:.15rem}
.show-card-badge .b-yr{font-size:.62rem;font-weight:700;letter-spacing:.08em;margin-top:.25rem}
.show-card-status{position:absolute;left:0;right:0;bottom:0;padding:.55rem .75rem;background:var(--c-text);color:var(--c-bg);font-size:.72rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase;text-align:center;z-index:2}
.show-card-body{padding-top:1rem;display:flex;flex-direction:column;flex:1}
.show-card-when{margin:0 0 .4rem;font-size:.74rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent)}
.show-card-title{font-size:1.35rem;font-weight:650;line-height:1.2;margin:0}
.show-card-sub{margin:.35rem 0 0;font-size:1rem;color:var(--c-text);font-style:italic}
.show-card-where{margin:.45rem 0 0;color:var(--c-muted);font-size:.95rem}
.show-card .show-actions{margin-top:auto;padding-top:1.1rem}
.show-card--past .show-card-title{font-size:1.05rem}
.show-card--past .show-card-when{color:var(--c-muted)}
.show-card--past .show-card-badge{background:var(--c-text);color:var(--c-bg);min-width:3rem}
.show-card--past .show-card-badge .b-day{font-size:1.5rem}
.show-card.status-cancelled .show-card-title a{text-decoration:line-through}
.show-card.status-cancelled .show-card-media{opacity:.55}
.show-thumb{display:block;width:5.5rem;overflow:hidden;background:var(--c-surface)}
.show-thumb .media,.show-thumb .show-img{display:block;width:100%;aspect-ratio:4/5}
.show-thumb.ratio-landscape .media,.show-thumb.ratio-landscape .show-img{aspect-ratio:3/2}
.show-thumb.ratio-square .media,.show-thumb.ratio-square .show-img{aspect-ratio:1}
.show-thumb img{width:100%;height:100%;object-fit:cover}
.show{grid-template-columns:8rem 5.5rem minmax(0,1fr) auto}
.show--past{grid-template-columns:8rem 4rem minmax(0,1fr)}
.show--past .show-thumb{width:4rem}
.show-sub{margin:.25rem 0 0;font-style:italic}
.show-head-sub{font-size:1.4rem;font-style:italic;margin:1rem 0 0}
@media (max-width:760px){
	.show{grid-template-columns:5.25rem minmax(0,1fr)}
	.show-thumb{display:none}
	.show--past{grid-template-columns:5.25rem minmax(0,1fr)}
	.show-cards--past{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Gallery and lightbox ----------------------------------------------------- */
.ncv-gallery{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:761px){.ncv-gallery.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ncv-gallery.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ncv-gallery-item{margin:0}
.ncv-gallery-item a{display:block;overflow:hidden;background:var(--c-surface);cursor:zoom-in}
.ncv-gallery.shape-square .ncv-gallery-item img{aspect-ratio:1;object-fit:cover}
.ncv-gallery.shape-natural{align-items:start}
.ncv-gallery-item img{width:100%;height:auto;display:block;transition:transform .5s}
.ncv-gallery-item a:hover img{transform:scale(1.04)}
.ncv-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.97);padding:3.5rem 1rem}
.ncv-lightbox[hidden]{display:none}
.ncv-lightbox figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.ncv-lightbox img{max-width:min(92vw,1600px);max-height:calc(100vh - 8rem);object-fit:contain}
.ncv-lightbox figcaption{color:#ddd;font-size:.85rem;margin-top:.75rem;text-align:center}
.ncv-lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer;padding:.75rem 1rem}
.ncv-lightbox button:hover,.ncv-lightbox button:focus-visible{color:var(--c-accent)}
.ncv-lb-close{top:.5rem;right:.5rem}
.ncv-lb-prev{left:.25rem;top:50%;transform:translateY(-50%)}
.ncv-lb-next{right:.25rem;top:50%;transform:translateY(-50%)}
.ncv-lb-count{position:absolute;top:1.1rem;left:1.25rem;color:#aaa;font-size:.8rem;letter-spacing:.1em}
body.lb-open{overflow:hidden}


/* Merch: green catalogue photos and stock status --------------------------- */
.media{isolation:isolate}
.media.treat-green-light,.merch-link .media.treat-green-light{background:var(--c-logo,#4cfd03)}
.media.treat-green,.merch-link .media.treat-green{background:var(--c-logo,#4cfd03)}
.treat-green-light img{filter:grayscale(1) contrast(1.15) brightness(1.05);mix-blend-mode:screen}
.merch-media{position:relative;display:block}
.merch-status{position:absolute;left:0;right:0;bottom:0;padding:.55rem .75rem;background:var(--c-text);color:var(--c-bg);font-size:.72rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase;text-align:center;z-index:2}
.stock-soldout .merch-media .media{opacity:.75}
.stock-soldout .merch-price{text-decoration:line-through;opacity:.6}
.product-stock{display:inline-block;margin:0 0 1rem;padding:.4rem .7rem;background:var(--c-text);color:var(--c-bg);font-size:.75rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase}

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