/* VCR Tape — theme styles */

:root {
	--paper: #eeebe4;
	--ink: #262522;
	--muted: #5e5b55;
	--rule: #cfcbc2;
	--frame: #161514;
	--frame-text: #e9e7e1;
	--frame-muted: #a6a39b;
	--led-on: #7fd49a;
	--led-off: #1e2a21;
	--f-body: Archivo, 'Helvetica Neue', Arial, sans-serif;
	--f-head: 'Archivo Black', 'Arial Black', sans-serif;
	--f-mono: 'IBM Plex Mono', 'Courier New', monospace;
	--f-hand: 'Homemade Apple', cursive;
	--gutter: clamp(16px, 4.5vw, 64px);
	--bar-top: 72px;
	--bar-bottom: 60px;
	--carve: drop-shadow(0 -1px 0 #000) drop-shadow(0 -1px 1.2px rgba(0, 0, 0, 0.95)) drop-shadow(0 1px 0 rgba(255, 255, 255, 0.6)) drop-shadow(0 1px 1px rgba(255, 255, 255, 0.2));
	--carve-fill: linear-gradient(180deg, #77736b 0%, #bdb9b0 22%, #efece5 52%, #fff 78%, #fff 100%);
}

/* ---------- page shell ---------- */
html, body { background: var(--paper); }
body { margin: 0; color: var(--ink); font-family: var(--f-body); -webkit-font-smoothing: antialiased; }
.wp-site-blocks { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; padding: 0 !important; }
.wp-site-blocks > * { margin-block: 0 !important; }
.vcr-part-header, .vcr-part-footer, .vcr-part-bottomnav { padding: 0 !important; max-width: none !important; }
.vcr-part-header { position: relative; z-index: 30; }
.vcr-part-footer { position: relative; z-index: 30; }
.wp-site-blocks > main, .wp-site-blocks > .vcr-page, .wp-site-blocks > .wp-block-html, .wp-site-blocks > .wp-block-group { flex: 1 0 auto; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
a { color: inherit; }
a:hover { opacity: 0.75; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--led-on); outline-offset: 2px; }

/* ---------- ribbed cassette frame ---------- */
.vcr-frame {
	position: relative;
	z-index: 4;
	background: var(--frame) url(../img/ribs.jpg) repeat;
	background-size: 287px 101px;
	color: var(--frame-text);
}
.vcr-frame--top {
	height: var(--bar-top);
	box-sizing: border-box;
	padding: 0 var(--gutter);
	display: flex;
	align-items: center;
	gap: 24px;
	box-shadow: inset 0 7px 7px -5px rgba(0, 0, 0, 0.75), 0 1px 0 #000, 0 3px 4px rgba(0, 0, 0, 0.35), 0 10px 18px rgba(0, 0, 0, 0.22);
}
.vcr-frame--top::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; pointer-events: none;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.11) 35%, rgba(255, 255, 255, 0.03) 60%, rgba(0, 0, 0, 0.6) 100%);
}
.vcr-frame--bottom {
	box-shadow: inset 0 -7px 7px -5px rgba(0, 0, 0, 0.75), 0 -1px 0 #000, 0 -3px 4px rgba(0, 0, 0, 0.35), 0 -10px 18px rgba(0, 0, 0, 0.22);
}
.vcr-frame--bottom::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(255, 255, 255, 0.12) 35%, rgba(255, 255, 255, 0.03) 65%, rgba(255, 255, 255, 0) 100%);
}

/* moulded, paint-filled lettering */
.carved {
	background-image: var(--carve-fill);
	background-size: 100% 100%;
	-webkit-background-clip: text; background-clip: text;
	color: transparent; -webkit-text-fill-color: transparent;
	filter: var(--carve);
}
.carved-icon { color: #f1eee7; filter: var(--carve); display: block; }
.carved-logo {
	display: block; width: 72px; height: 43px;
	background-image: var(--carve-fill); background-size: 100% 100%;
	-webkit-mask: url(../img/vcr-logo-white.svg) center / contain no-repeat;
	mask: url(../img/vcr-logo-white.svg) center / contain no-repeat;
	filter: var(--carve);
}
.vcr-logo { display: block; flex: none; }

/* top navigation */
.vcr-topnav { margin-left: auto; display: flex; gap: 30px; }
.vcr-topnav a {
	display: flex; align-items: center; gap: 8px; text-decoration: none;
	font-family: var(--f-mono); font-weight: 600; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase;
	min-height: 44px;
}
.vcr-ico { position: relative; display: flex; }
.vcr-ico .vcr-led { position: absolute; left: 50%; top: calc(100% + 4px); margin-left: -5px; }
.vcr-led { display: block; width: 10px; height: 3px; border-radius: 1px; background: var(--led-off); }
[aria-current="page"] .vcr-led { background: var(--led-on); box-shadow: 0 0 4px rgba(127, 212, 154, 0.4); }
.vcr-hello { display: none; margin: 0 0 0 auto; font-size: 13px; color: var(--frame-muted); }

/* desktop footer */
.vcr-footer { height: var(--bar-bottom); box-sizing: border-box; padding: 0 var(--gutter); display: flex; align-items: center; }
.vcr-footer p { margin: 0; font-size: 14px; color: var(--frame-muted); }
.vcr-footer span { color: var(--frame-text); }

/* phone bottom bar */
.vcr-bottomnav { display: none; }

/* ---------- stickers ---------- */
.st-index, .st-spine, .st-key, .st-name { position: relative; isolation: isolate; }
.st-index::before, .st-spine::before, .st-key::before, .st-name::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	background-position: center; background-size: 100% 100%; background-repeat: no-repeat;
}
.st-index::before { inset: -10px; background-image: url(../img/st-index.webp); }
.st-spine::before { inset: -8px; background-image: url(../img/st-spine.webp); }
.st-name::before { inset: -6px; background-image: url(../img/st-name-0.png); }
.st-name--1::before { background-image: url(../img/st-name-1.png); }
.st-name--2::before { background-image: url(../img/st-name-2.png); }
.st-key::before { inset: -7px; background-image: url(../img/st-food.png); }
.st-key--drinks::before { background-image: url(../img/st-drinks.png); }
.st-key--food.is-active::before { background-image: url(../img/st-food-black.png); }
.st-key--drinks.is-active::before { background-image: url(../img/st-drinks-black.png); }

/* ---------- home ---------- */
.vcr-home {
	position: relative; flex: 1 0 auto; overflow: hidden; background: #111;
	min-height: calc(100svh - var(--bar-top) - var(--bar-bottom));
	display: flex; align-items: center; justify-content: center; padding: 48px var(--gutter);
	box-sizing: border-box;
}
.vcr-home__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vcr-home__dim { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.3); pointer-events: none; }
.vcr-home--full { padding: 0; }
.vcr-home__video, .vcr-reel img { transition: opacity 1.4s ease; }
.vcr-reel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.vcr-reel img.is-on { opacity: 1; }
.vcr-home.is-reeling .vcr-home__video { opacity: 0; }
@media (prefers-reduced-motion: reduce) { .vcr-home__video, .vcr-reel img { transition: none; } }

.vcr-playlist {
	position: relative; isolation: isolate; width: 604px; max-width: 100%; height: 362px; box-sizing: border-box;
	padding: 24px 34px 18px 30px; color: var(--ink); transform: rotate(-0.6deg);
}
.vcr-playlist::before {
	content: ""; position: absolute; z-index: -1; left: -15px; top: -15px; right: -15px; bottom: -15px;
	background: url(../img/label-landscape.webp) center / 100% 100% no-repeat;
}
.vcr-home .vcr-playlist { will-change: transform; }
.vcr-home .vcr-playlist::before { filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.5)) drop-shadow(0 2px 3px rgba(0, 0, 0, 0.35)); }
.vcr-playlist__head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 8px; border-bottom: 2px solid var(--ink); }
.vcr-playlist h1 { margin: 0; font-family: var(--f-head); font-weight: 400; font-size: 26px; letter-spacing: 1px; text-transform: uppercase; line-height: 1.1; }
.vcr-playlist__head p { margin: 0; font-family: var(--f-mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #55524c; }
.vcr-playlist ul { list-style: none; margin: 0; padding: 0; }
.vcr-playlist li { border-bottom: 1px solid rgba(38, 37, 34, 0.22); }
.vcr-playlist li a { height: 33px; display: flex; align-items: center; gap: 14px; text-decoration: none; }
.vcr-playlist .no { width: 20px; font-family: var(--f-mono); font-size: 11px; color: #55524c; }
.vcr-playlist .name { flex: 1; font-family: var(--f-head); font-size: 17px; }
.vcr-playlist .n-short { display: none; }
.vcr-playlist .hrs { font-size: 14px; color: #55524c; font-variant-numeric: tabular-nums; }
.play { fill: currentColor; flex: none; }
.vcr-sig {
	position: absolute; right: 34px; bottom: 16px; padding: 4px 6px; border: 0; background: transparent; cursor: pointer;
	font-family: var(--f-hand); font-size: 24px; line-height: 1; color: #24356b; transform: rotate(-3deg); opacity: 0.92;
}

/* menu hub (paper page with the same label) */
.vcr-menuhub { display: flex; align-items: center; justify-content: center; padding: 64px var(--gutter); }

/* Instagram confirm */
.vcr-ig {
	width: min(320px, calc(100vw - 32px)); box-sizing: border-box; padding: 16px 16px 14px; border: 0; border-radius: 6px;
	background: var(--frame); color: var(--frame-text); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.5);
}
.vcr-ig::backdrop { background: rgba(10, 10, 9, 0.45); }
.vcr-ig p { margin: 0 0 8px; }
.vcr-ig__kicker { display: flex; align-items: center; gap: 6px; font-family: var(--f-mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--frame-muted); }
.vcr-ig__q { font-weight: 600; font-size: 16px; }
.vcr-ig__note { font-size: 13px; line-height: 1.4; color: var(--frame-muted); }
.vcr-ig__actions { display: flex; gap: 8px; margin-top: 6px; }
.vcr-btn-light, .vcr-btn-ghost {
	height: 40px; padding: 0 14px; display: inline-flex; align-items: center; cursor: pointer; text-decoration: none;
	font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
}
.vcr-btn-light { background: #ecebe6; color: #141414; border: 0; }
.vcr-btn-ghost { background: transparent; color: var(--frame-text); border: 1px solid #4a4844; }

/* ---------- generic pages ---------- */
.vcr-page { padding-top: 48px; padding-bottom: 96px; }
.vcr-wrap { max-width: 1312px; margin-inline: auto; padding-inline: var(--gutter); }
.vcr-prose .wp-block-post-title { margin-bottom: 24px; }
.vcr-prose img { max-width: 100%; height: auto; }
.vcr-page h1 { font-family: var(--f-head); font-weight: 400; text-transform: uppercase; line-height: 1; }

/* ---------- contact ---------- */
.vcr-contact h1 { margin: 8px 0 36px; font-size: 64px; }
.vcr-ctable { display: grid; grid-template-rows: auto; }
.vcr-crow {
	display: grid; grid-template-columns: 56px 260px minmax(0, 1fr) 260px 170px 100px; column-gap: 24px; align-items: center;
	padding: 16px 0; border-bottom: 1px solid var(--rule); font-size: 16px; line-height: 1.45;
}
.vcr-ctable { grid-auto-rows: 1fr; }
.vcr-ctable .vcr-crow--head { grid-row: auto; }
.vcr-crow--head { padding: 0 0 10px; border-bottom: 1.5px solid var(--ink); font-family: var(--f-mono); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); }
.c-no { font-family: var(--f-mono); font-size: 12px; color: var(--muted); }
.c-name {
	height: 40px; padding: 0 14px; display: flex; align-items: center; justify-self: start; max-width: 100%; box-sizing: border-box;
	font-family: var(--f-head); font-size: 17px; text-transform: uppercase; white-space: nowrap; color: var(--ink);
	transform: rotate(var(--rot, 0deg));
}
.c-hrs { color: var(--muted); font-variant-numeric: tabular-nums; }
.c-tel { font-variant-numeric: tabular-nums; }
.c-act { display: flex; justify-content: flex-end; gap: 4px; }
.vcr-iconbtn { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.vcr-careers { margin-top: 36px; font-size: 17px; }
.vcr-careers a { font-weight: 600; }

/* ---------- outlet menu ---------- */
.vcr-outlet__grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 72px; align-items: start; }
.vcr-outlet__side { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; }
.vcr-crumb { margin: 0; font-family: var(--f-mono); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); }
.vcr-outlet__title { margin: 0; font-size: 44px; }
.vcr-outlet__switch {
	display: flex; align-items: center; gap: 12px; padding: 0; border: 0; background: none; cursor: pointer; text-align: left;
	font: inherit; text-transform: inherit; letter-spacing: inherit; color: inherit;
}
.vcr-outlet__switch .chev { display: none; }
.vcr-outlet__info p { margin: 0 0 6px; font-size: 17px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.vcr-contactline { display: flex; align-items: center; gap: 4px; }
.vcr-contactline .tel { flex: 1; }
.vcr-index { margin: 26px 0 8px; width: 300px; box-sizing: border-box; padding: 24px 26px 20px 22px; color: var(--ink); transform: rotate(0.3deg); }
.vcr-index h2, .vcr-others h2 { margin: 0; }
.vcr-index h2 { padding-bottom: 8px; border-bottom: 2px solid var(--ink); font-size: 19px; letter-spacing: 0.5px; }
.vcr-index ol { list-style: none; margin: 0; padding: 0; }
.vcr-index li { border-bottom: 1px solid rgba(38, 37, 34, 0.22); }
.vcr-index a { height: 38px; display: flex; align-items: center; gap: 10px; text-decoration: none; font-family: var(--f-mono); font-size: 13px; letter-spacing: 1px; text-transform: uppercase; }
.vcr-index .mark { width: 12px; display: flex; visibility: hidden; }
.vcr-index a.is-current .mark { visibility: visible; }
.vcr-index .no { color: #55524c; }
.vcr-others h2 { margin-top: 16px; font-family: var(--f-mono); font-weight: 500; font-size: 12px; letter-spacing: 2px; color: var(--muted); }
.vcr-others ul { list-style: none; margin: 8px 0 0; padding: 0; border-top: 1.5px solid var(--ink); }
.vcr-others li { border-bottom: 1px solid var(--rule); }
.vcr-others a { min-height: 40px; display: flex; align-items: center; justify-content: space-between; text-decoration: none; font-weight: 500; font-size: 15px; }

.vcr-menubar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.vcr-tabs { display: flex; gap: 14px; padding: 4px 0; }
.st-key { width: 130px; height: 50px; padding: 0; border: 0; background: transparent; cursor: pointer; transform: rotate(0.5deg); }
.st-key.is-active { transform: rotate(-0.6deg); }
.st-key__in {
	position: relative; height: 100%; display: flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--f-mono); font-weight: 600; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--ink);
}
.st-key .play { display: none; }
.st-key.is-active .st-key__in { color: #ece9e2; }
.st-key.is-active .play { display: block; }
.vcr-jog { display: none; }
.vcr-legend { margin: 0; font-family: var(--f-mono); font-size: 12px; color: var(--muted); }

.vcr-side { column-count: 2; column-gap: 56px; }
.vcr-side[hidden] { display: none; }
.vcr-sec { break-inside: avoid; display: inline-block; width: 100%; margin: 0 0 44px; scroll-margin-top: 24px; }
.st-spine {
	font-family: var(--f-head); font-weight: 400; text-transform: uppercase;
	height: 52px; margin: 8px 0 10px; padding: 0 20px 0 18px; box-sizing: border-box; display: flex; align-items: center; gap: 12px;
	font-size: 23px; color: var(--ink); transform: rotate(-0.4deg);
}
.st-spine .no { font-family: var(--f-mono); font-size: 12px; color: #55524c; }
.st-spine .t { flex: 1; }
.st-spine .time { font-family: var(--f-body); font-size: 14px; color: #55524c; text-transform: none; font-variant-numeric: tabular-nums; }
.mi-list, .mi-grid { list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--ink); }
.mi { padding: 9px 0; border-bottom: 1px solid var(--rule); }
.mi--rich { padding: 14px 0; }
.mi .r { display: flex; align-items: baseline; gap: 8px; }
.mi .n { flex: 1; font-weight: 600; font-size: 15.5px; }
.mi--rich .n { font-size: 16px; text-transform: uppercase; letter-spacing: 0.2px; }
.mi .tags { font-family: var(--f-mono); font-size: 11px; color: var(--muted); }
.mi .p, .mi-grid .p { font-weight: 600; font-variant-numeric: tabular-nums; }
.mi .d { margin: 4px 0 0; font-size: 14.5px; line-height: 1.45; color: var(--muted); }
.mi-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.mi-grid li { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid var(--rule); font-size: 15px; }
.vcr-note { margin: 0; padding-top: 14px; border-top: 1.5px solid var(--ink); font-size: 14px; color: var(--muted); }

/* sheets (outlet chooser, section list) */
.vcr-sheet {
	width: min(420px, calc(100vw - 24px)); box-sizing: border-box; padding: 10px 16px 24px; border: 0; border-radius: 12px;
	background: #f7f5f0; color: var(--ink); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
}
.vcr-sheet::backdrop { background: rgba(10, 10, 9, 0.55); }
.vcr-sheet__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 8px; border-bottom: 1.5px solid var(--ink); }
.vcr-sheet__head h2 { margin: 0; font-family: var(--f-mono); font-weight: 600; font-size: 12px; letter-spacing: 2px; }
.vcr-sheet__close { width: 44px; height: 44px; margin-right: -10px; display: flex; align-items: center; justify-content: center; border: 0; background: none; cursor: pointer; }
.vcr-sheet__list { list-style: none; margin: 0; padding: 0; }
.vcr-sheet__list a, .vcr-sheet__list button {
	width: 100%; height: 52px; padding: 0; display: flex; align-items: center; gap: 12px; text-decoration: none; text-align: left;
	border: 0; border-bottom: 1px solid var(--rule); background: none; cursor: pointer;
}
.vcr-sheet__list .mark { width: 12px; display: flex; }
.vcr-sheet__list .no { width: 18px; font-family: var(--f-mono); font-size: 11px; color: var(--muted); }
.vcr-sheet__list .nm { flex: 1; font-family: var(--f-head); font-size: 17px; text-transform: uppercase; }
.vcr-sheet__list .hrs { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }

/* ---------- phone ---------- */
@media (max-width: 781px) {
	:root { --bar-top: 56px; }
	.vcr-topnav, .vcr-part-footer { display: none; }
	.vcr-hello { display: block; }
	.carved-logo { width: 56px; height: 34px; }
	body { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
	.vcr-bottomnav {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
		display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px;
		height: calc(84px + env(safe-area-inset-bottom)); box-sizing: border-box; padding: 6px 8px calc(16px + env(safe-area-inset-bottom));
	}
	.vcr-bottomnav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 58px; text-decoration: none; }
	.vcr-bottomnav a:not([aria-current="page"]) .carved, .vcr-bottomnav a:not([aria-current="page"]) .carved-icon { opacity: 0.7; }
	.vcr-bottomnav .carved { font-family: var(--f-mono); font-weight: 600; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }

	.vcr-home { min-height: calc(100svh - var(--bar-top) - 84px); padding: 24px 16px; }
	.vcr-playlist { width: 340px; height: 566px; padding: 26px 26px 20px 24px; }
	.vcr-playlist::before { background-image: url(../img/label-portrait.webp); }
	.vcr-playlist__head { flex-direction: column; align-items: flex-start; gap: 4px; padding-bottom: 10px; }
	.vcr-playlist__head p { font-size: 10px; letter-spacing: 1.5px; }
	.vcr-playlist li a { height: 54px; gap: 10px; }
	.vcr-playlist .no { width: 16px; font-size: 10px; }
	.vcr-playlist .name { font-size: 16px; }
	.vcr-playlist .n-long { display: none; }
	.vcr-playlist .n-short { display: inline; }
	.vcr-playlist .hrs { font-size: 13px; }
	.vcr-sig { right: 22px; bottom: 26px; }

	.vcr-page { padding-top: 24px; padding-bottom: 40px; }
	.vcr-contact h1 { font-size: 40px; margin-bottom: 18px; }
	.vcr-crow--head { display: none; }
	.vcr-ctable { display: block; border-top: 1.5px solid var(--ink); }
	.vcr-crow {
		grid-template-columns: 18px minmax(0, 1fr) auto; grid-template-areas: "no name act" ". addr addr" ". hrs hrs";
		column-gap: 8px; row-gap: 6px; padding: 16px 0; font-size: 15px;
	}
	.c-no { grid-area: no; font-size: 11px; }
	.c-name { grid-area: name; height: 38px; padding: 0 12px; font-size: 15px; }
	.c-addr { grid-area: addr; }
	.c-hrs { grid-area: hrs; }
	.c-tel { display: none; }
	.c-act { grid-area: act; gap: 0; }

	.vcr-outlet { padding-top: 20px; }
	.vcr-outlet__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.vcr-outlet__side { position: static; gap: 12px; margin-bottom: 18px; }
	.vcr-outlet__title { font-size: 34px; }
	.vcr-outlet__switch .chev { display: flex; width: 30px; height: 30px; flex: none; align-items: center; justify-content: center; border-radius: 50%; background: var(--ink); color: var(--paper); }
	.vcr-outlet__info p { font-size: 15px; margin: 0; }
	.vcr-contactline .tel { font-size: 15px; }
	.vcr-index, .vcr-others, .vcr-legend { display: none; }
	.vcr-menubar {
		position: sticky; top: 0; z-index: 20; margin: 0 calc(var(--gutter) * -1) 4px; padding: 6px 12px 6px 16px; gap: 6px;
		background: var(--paper); border-top: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink);
	}
	.vcr-tabs { gap: 4px; padding: 0; flex: none; }
	.st-key { width: 66px; height: 44px; }
	.st-key::before { inset: 3px -4px; }
	.st-key__in { font-size: 10.5px; letter-spacing: 1.5px; gap: 5px; }
	.st-key .play { width: 7px; height: 7px; }
	.vcr-jog { display: flex; align-items: center; flex: 1; min-width: 0; gap: 0; }
	.vcr-jog__btn { width: 40px; height: 44px; flex: none; display: flex; align-items: center; justify-content: center; border: 0; background: none; cursor: pointer; color: var(--ink); }
	.vcr-jog__btn svg { fill: currentColor; }
	.vcr-jog__btn[disabled] { opacity: 0.3; }
	.vcr-jog__cur {
		flex: 1; min-width: 0; height: 44px; padding: 0; display: flex; align-items: center; justify-content: center; gap: 6px;
		border: 0; background: none; cursor: pointer; white-space: nowrap;
		font-family: var(--f-mono); font-weight: 600; font-size: 12px; letter-spacing: 1px; text-transform: uppercase;
	}
	.vcr-jog__cur .no { color: var(--muted); font-weight: 500; }
	.vcr-jog__cur .t { overflow: hidden; text-overflow: ellipsis; }
	.vcr-side { column-count: 1; }
	.vcr-sec { margin-bottom: 28px; scroll-margin-top: 70px; padding-top: 12px; }
	.st-spine { height: 42px; padding: 0 14px 0 12px; gap: 10px; font-size: 19px; }
	.st-spine .no { font-size: 11px; }
	.st-spine .time { font-size: 13px; }
	.mi--rich { padding: 12px 0; }
	.mi--rich .n { font-size: 15px; }
	.mi .d { font-size: 14px; }
	.mi-grid { column-gap: 18px; }
	.mi-grid li { font-size: 14px; }
	.vcr-sheet { margin: auto 0 0; width: 100vw; max-width: 100vw; border-radius: 14px 14px 0 0; padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
}
@media (max-width: 781px) {
	.wp-site-blocks { min-height: calc(100svh - 84px - env(safe-area-inset-bottom)); }
}

/* ---------- about / space / careers / press ---------- */
.vcr-split { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 72px; align-items: start; }
.vcr-split__text { max-width: 680px; }
.vcr-split__text p { font-size: 17px; line-height: 1.6; margin: 0 0 18px; }
.vcr-about h1, .vcr-space h1, .vcr-careers-page h1, .vcr-press h1 { margin: 8px 0 28px; font-size: 64px; }
.vcr-lede { font-size: 22px !important; line-height: 1.4 !important; }
.vcr-photo { margin: 0; padding: 10px 10px 34px; background: #f8f6ef; transform: rotate(1.2deg); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); align-self: start; }
.vcr-photo img { display: block; width: 100%; height: auto; filter: grayscale(1) contrast(1.02); }
.vcr-photo--wide { transform: rotate(-0.8deg); margin: 8px 0 36px; max-width: 560px; }
.vcr-about .vcr-photo { position: sticky; top: 24px; margin-top: 92px; }
.vcr-subhead { margin: 36px 0 16px; font-family: var(--f-mono); font-weight: 600; font-size: 13px; letter-spacing: 2px; color: var(--muted); }
.vcr-role { margin-bottom: 12px; }
.vcr-role .st-spine { font-size: 21px; margin-bottom: 16px; }
.vcr-apply { position: sticky; top: 24px; width: 300px; box-sizing: border-box; padding: 24px 26px 22px; transform: rotate(0.3deg); text-align: left; }
.vcr-apply h2, .vcr-space__card h2 { margin: 0 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--ink); font-size: 19px; }
.vcr-apply p, .vcr-space__card p { margin: 0 0 12px; font-size: 15px; }
.vcr-apply img { display: block; width: 100%; max-width: 220px; height: auto; margin: 4px 0 12px; mix-blend-mode: multiply; }
.vcr-space__grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 56px; align-items: start; }
.vcr-space__card { padding: 24px 26px 22px; transform: rotate(-0.3deg); }
.vcr-mail { font-weight: 600; font-size: 17px; }
.vcr-gallery { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.vcr-gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: grayscale(1); }
.vcr-press__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 56px; }
.vcr-press__item a { display: flex; flex-direction: column; gap: 14px; text-decoration: none; }
.vcr-press__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #ddd9cf; }
.vcr-press__img img { width: 100%; height: 100%; object-fit: cover; object-position: top; filter: grayscale(1); display: block; }
.vcr-press__label { height: 40px; padding: 0 14px; display: flex; align-items: center; gap: 12px; align-self: flex-start; transform: rotate(-0.5deg); }
.vcr-press__label .no { font-family: var(--f-mono); font-size: 11px; color: #55524c; }
.vcr-press__label .pub { font-family: var(--f-head); font-size: 17px; text-transform: uppercase; }
.vcr-press__label .date { font-family: var(--f-mono); font-size: 12px; color: #55524c; text-transform: uppercase; }
.vcr-press__title { font-family: var(--f-mono); font-weight: 600; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; }
.vcr-press__title::after { content: " ▸"; }

@media (max-width: 781px) {
	.vcr-split, .vcr-space__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.vcr-about h1, .vcr-space h1, .vcr-careers-page h1, .vcr-press h1 { font-size: 40px; margin-bottom: 18px; }
	.vcr-lede { font-size: 19px !important; }
	.vcr-split__text p { font-size: 16px; }
	.vcr-about .vcr-photo { position: static; margin-top: 0; max-width: 340px; }
	.vcr-apply { position: static; width: 100%; max-width: 340px; }
	.vcr-space__card { max-width: 340px; }
	.vcr-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.vcr-press__list { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}

/* ---------- in-between widths (small laptops, tablets, narrowed windows) ---------- */
@media (min-width: 782px) and (max-width: 1240px) {
	/* contact: address and hours share one column so nothing gets squeezed */
	.vcr-ctable { grid-auto-rows: auto; }
	.vcr-crow {
		grid-template-columns: 32px minmax(0, 1fr) minmax(0, 1.3fr) 150px 92px;
		grid-template-areas: "no name addr tel act" "no name hrs tel act";
		column-gap: 20px; row-gap: 4px;
	}
	.vcr-crow--head { grid-template-areas: "no name addr tel act"; }
	.vcr-crow--head > :nth-child(1) { grid-area: no; } .vcr-crow--head > :nth-child(2) { grid-area: name; }
	.vcr-crow--head > :nth-child(3) { grid-area: addr; } .vcr-crow--head > :nth-child(4) { display: none; }
	.vcr-crow--head > :nth-child(5) { grid-area: tel; } .vcr-crow--head > :nth-child(6) { grid-area: act; }
	.c-no { grid-area: no; } .c-name { grid-area: name; } .c-addr { grid-area: addr; }
	.c-hrs { grid-area: hrs; } .c-tel { grid-area: tel; } .c-act { grid-area: act; }
	.c-name { font-size: 15px; padding: 8px 12px; height: auto; min-height: 40px; white-space: normal; line-height: 1.15; }

	/* outlet menus: slimmer sidebar, then one menu column */
	.vcr-outlet__grid { grid-template-columns: 240px minmax(0, 1fr); gap: 40px; }
	.vcr-outlet__title { font-size: clamp(30px, 3.4vw, 44px); overflow-wrap: anywhere; }
	.vcr-index { width: 100%; padding: 20px 18px 16px; }
	.vcr-menubar { flex-wrap: wrap; row-gap: 12px; }
	.vcr-legend { white-space: nowrap; }
	.st-spine { font-size: 20px; }
	.st-spine .t { min-width: 0; }

	/* about / careers / space */
	.vcr-split { grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; }
	.vcr-space__grid { grid-template-columns: 240px minmax(0, 1fr); gap: 32px; }
	.vcr-press__list { gap: 40px 32px; }
}
@media (min-width: 782px) and (max-width: 1100px) {
	.vcr-side { column-count: 1; }
	.vcr-split { grid-template-columns: minmax(0, 1fr); }
	.vcr-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
