/**
 * Comedy Republic — Your Visit: the whole design stylesheet for page-visit.php / page-your-visit.php.
 *
 * The only stylesheet this page loads (+ Google fonts): functions.php enqueues it when
 * cr_design_page() is 'visit' — no theme.css, design-base.css or design-home.css. It carries its own
 * chrome (header, footer with the mailing-list form, menu), which differs slightly from the homepage's.
 *
 * PORTED from docs/design/canvas/YourVisit.dc.html (its <style> block), value for value, between the
 * PORT-BEGIN / PORT-END markers. Do not round, re-tokenise or reorder; change the design, then re-port.
 * Scoping (as round 1): the design root .cr is .crd; every other selector is prefixed with `.crd `
 * (inside media queries too); the bare a / a:hover resets are :where(.crd) a; html / body stay global.
 * Asset URLs: /_blob/<id> → ../design/<file> (+ ../fonts/guess-sans-800.woff2).
 * Check the port is intact: python3 tests/visual/port-css.py docs/design/canvas/YourVisit.dc.html --check assets/css/design-visit.css
 *
 * After PORT-END: theme additions (things the design does not need because it is one static page).
 * The chrome block is the same in every inner page's file (foundation); the page block is the Your Visit builder's.
 */

/* ==== PORT-BEGIN docs/design/canvas/YourVisit.dc.html ==== */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#F5F0D3}
:where(.crd) a{color:inherit}
:where(.crd) a:hover{color:inherit}

.crd{--cream:#F5F0D3;--card:#FFFDF6;--ivory:#FFFBEA;--ink:#2E2D2A;--ink-dk:#242321;--green:#4F744A;--green-dk:#33502F;--sage:#8E9680;--gold:#FFBC29;--gold-dk:#A87700;--ox:#720002;--ox-dk:#3F0001;--blue:#1C79AE;--grey:#B1B2B0;--line:rgba(46,45,42,.15);--muted:#5C5A53;--wrap:1320px;--gut:clamp(20px,4.4vw,64px);position:relative;background-color:var(--cream);background-image:linear-gradient(rgba(245,240,211,.85),rgba(245,240,211,.85)),url('../design/grain.webp');background-size:auto,220px 220px;background-blend-mode:normal,multiply;color:var(--ink);font-family:'futura-pt','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
:where(.crd) *,:where(.crd) *::before,:where(.crd) *::after{box-sizing:border-box}
:where(.crd) img{display:block;max-width:100%;height:auto}
:where(.crd) h1,:where(.crd) h2,:where(.crd) h3,:where(.crd) p,:where(.crd) address,:where(.crd) dl,:where(.crd) dd,:where(.crd) ul{margin:0}
:where(.crd) ul{padding:0;list-style:none}
:where(.crd) button,:where(.crd) input{font:inherit;color:inherit}
.crd :focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px var(--gold)}
.crd .cr-footer :focus-visible,.crd .cr-signup :focus-visible,.crd .cr-done :focus-visible,.crd .cr-tab:focus-visible,.crd .cr-promo:focus-visible,.crd .cr-new__panel :focus-visible,.crd .cr-hero :focus-visible,.crd .ev-car :focus-visible,.crd .ct-pass :focus-visible,.crd .ct-cta__band :focus-visible,.crd .yv-food :focus-visible{outline-color:var(--gold);box-shadow:0 0 0 3px var(--ink-dk)}
.crd .cr-wrap{width:min(var(--wrap),calc(100% - 2 * var(--gut)));margin-inline:auto}
.crd .cr-grain{display:none}
.crd .cr-ico{flex:none;width:18px;height:18px}
.crd .cr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.crd .cr-display{font-family:'futura-pt-bold','Futura','Century Gothic','Avenir Next',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:.95}
.crd .cr-script{font-family:'Norican','Brush Script MT',cursive;font-weight:400;line-height:1}
.crd .cr-x-ink{text-shadow:-1px 1px 0 #BAB6A2,-2px 2px 0 #AEAA96,-3px 3px 0 #A29E8A,-4px 4px 0 #96927E,-5px 5px 0 #8A8672}

/* Header */
.crd .cr-header{position:sticky;top:0;z-index:50;background:rgba(245,240,211,.9);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);border-bottom:1px solid var(--line)}
.crd .cr-header__inner{display:flex;align-items:center;gap:20px;min-height:88px}
.crd .cr-burger{display:none;flex:none;width:46px;height:46px;padding:0;border:0;background:none;cursor:pointer;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}
.crd .cr-burger span{display:block;width:24px;height:2px;border-radius:2px;background:var(--ink)}
.crd .cr-burger span:nth-child(2){width:17px}
.crd .cr-burger--x{align-items:center}
.crd .cr-brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-decoration:none}
.crd .cr-brand__logo{width:232px}
.crd .cr-tagline{font-weight:900;font-size:9.5px;line-height:1;letter-spacing:.27em;text-transform:uppercase;color:var(--muted);padding-left:5px;white-space:nowrap}
.crd .cr-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.crd .cr-nav a{font-weight:700;font-size:15.5px;text-decoration:none;padding:12px 16px;border-radius:999px;transition:background .2s}
.crd .cr-nav a:hover{background:rgba(46,45,42,.07)}
.crd .cr-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--ox);text-decoration-thickness:2px;text-underline-offset:8px}
.crd .cr-search{flex:none;width:48px;height:48px;margin-left:6px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;text-decoration:none;transition:background .2s,color .2s}
.crd .cr-search:hover{background:var(--ink);color:var(--cream)}
.crd .cr-whatson{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px 0 18px;margin-left:8px;border-radius:999px;background:var(--ink);color:var(--cream);font-weight:900;font-size:14.5px;letter-spacing:.03em;text-decoration:none;white-space:nowrap;box-shadow:-3px 3px 0 rgba(46,45,42,.28);transition:transform .15s,box-shadow .15s}
.crd .cr-whatson:hover{color:var(--cream);transform:translate(-1px,1px);box-shadow:-2px 2px 0 rgba(46,45,42,.28)}

/* Shared bits */
.crd .cr-art{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;width:62px;height:62px;border-radius:12px;color:var(--ivory);background:var(--ink)}
.crd .cr-art::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(rgba(0,0,0,.22) 1px,rgba(0,0,0,0) 1.7px) 0 0/5px 5px,radial-gradient(120% 100% at 15% 0%,rgba(255,255,255,.22),rgba(255,255,255,0) 58%)}
.crd .cr-art__ini{font-family:'futura-pt-bold','Futura',sans-serif;font-weight:800;font-size:23px;line-height:1;letter-spacing:.02em;text-shadow:-1px 1px 0 rgba(0,0,0,.3),-2px 2px 0 rgba(0,0,0,.22)}
.crd .cr-art--blue{background-color:var(--blue)}
.crd .cr-art--gold{background-color:var(--gold);color:var(--ink)}
.crd .cr-chip{position:relative;display:inline-flex;align-items:center;height:22px;padding:0 10px 0 8px;border-radius:3px;font-weight:900;font-size:10px;line-height:1;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.crd .cr-chip::after{content:'';position:absolute;top:0;right:0;width:7px;height:7px;background:linear-gradient(225deg,var(--card) 0 50%,rgba(0,0,0,.26) 50%);border-bottom-left-radius:2px}
.crd .cr-chip--last{background:var(--ox);color:#FFF6E0}
.crd .cr-cattag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border:1px solid rgba(46,45,42,.45);border-radius:4px;font-weight:900;font-size:10.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.crd .cr-status{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:13px}
.crd .cr-status--fast{color:#9A5B00}
.crd .cr-status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;animation:cr-pulse-f 1.8s ease-out infinite}
@keyframes cr-pulse-f{0%{box-shadow:0 0 0 0 rgba(154,91,0,.55)}70%{box-shadow:0 0 0 7px rgba(154,91,0,0)}100%{box-shadow:0 0 0 0 rgba(154,91,0,0)}}
.crd .cr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border:0;border-radius:12px;font-weight:900;font-size:15px;line-height:1.2;letter-spacing:.02em;text-align:center;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .2s,color .2s}
.crd .cr-btn .cr-ico{width:17px;height:17px}
.crd .cr-btn--outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.crd .cr-btn--outline:hover{background:var(--ink);color:var(--cream)}
.crd .cr-btn--ox{background:var(--ox);color:#FFF6E0;box-shadow:-3px 3px 0 var(--ox-dk)}
.crd .cr-btn--ox:hover{color:#FFF6E0;transform:translate(-1px,1px);box-shadow:-2px 2px 0 var(--ox-dk)}


/* Shared extras for the content pages */
.crd .cr-art--ox{background-color:var(--ox)}
.crd .cr-art--green{background-color:var(--green)}
.crd .cr-art--ink{background-color:var(--ink)}
.crd .cr-art--sage{background-color:var(--sage);color:var(--ink)}
.crd .cr-art--gold .cr-art__ini,.crd .cr-art--sage .cr-art__ini{text-shadow:-1px 1px 0 rgba(255,255,255,.4),-2px 2px 0 rgba(255,255,255,.22)}
.crd .cr-chip--fast{background:var(--gold);color:var(--ink)}
.crd .cr-chip--sold{background:var(--ink);color:var(--cream)}
.crd .cr-chip--ink{background:#4A463F;color:#FFF6E0}
.crd .cr-btn--gold{background:var(--gold);color:var(--ink);box-shadow:-3px 3px 0 var(--gold-dk)}
.crd .cr-btn--gold:hover{color:var(--ink);transform:translate(-1px,1px);box-shadow:-2px 2px 0 var(--gold-dk)}
.crd .cr-btn--ox:active,.crd .cr-btn--gold:active{transform:translate(-3px,3px);box-shadow:0 0 0 transparent}
.crd .cr-btn--block{width:100%}
.crd .cr-btn--lg{min-height:60px;padding:0 32px;font-size:16.5px;border-radius:14px}
.crd .cr-btn .cr-ico{transition:transform .2s}
.crd .cr-btn:hover .cr-ico--go{transform:translateX(3px)}
.crd .cr-x-sm{text-shadow:-1px 1px 0 rgba(0,0,0,.32),-2px 2px 0 rgba(0,0,0,.26),-3px 3px 0 rgba(0,0,0,.2)}

.crd .pg-hero{position:relative;padding-top:56px}
.crd .pg-kicker{font-size:42px;color:var(--ox);transform:rotate(-4deg);transform-origin:left bottom}
.crd .pg-title{margin-top:12px;font-size:clamp(48px,5.6vw,80px);line-height:.88}
.crd .pg-lede{margin-top:20px;max-width:36em;font-size:19px;line-height:1.6;color:var(--muted)}
.crd .pg-rule{position:relative;margin-top:40px;border-top:1.5px solid var(--ink)}
.crd .pg-rule::after{content:'';position:absolute;left:0;right:0;top:4px;border-top:1px solid var(--ink)}
.crd .pg-h2{font-size:clamp(28px,2.6vw,36px);line-height:.95}
.crd .pg-h3{font-size:22px;line-height:1}
.crd .pg-copy{font-size:17px;line-height:1.65;color:var(--muted)}
.crd .pg-copy strong{color:var(--ink)}
.crd .pg-tbc{color:var(--muted);font-style:italic}

.crd .pg-card{position:relative;border-radius:24px;background-color:var(--card);background-image:linear-gradient(rgba(255,253,246,.85),rgba(255,253,246,.85)),url('../design/grain.webp');background-size:auto,220px 220px;background-blend-mode:normal,multiply;border:1px solid rgba(46,45,42,.16);box-shadow:0 30px 60px -44px rgba(46,45,42,.6),0 8px 18px -14px rgba(46,45,42,.2)}

.crd .pg-facts{margin:0}
.crd .pg-fact{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:16px;padding:15px 0;border-top:1px dashed rgba(46,45,42,.22)}
.crd .pg-fact:first-child{padding-top:0;border-top:0}
.crd .pg-fact:last-child{padding-bottom:0}
.crd .pg-fact dt{display:flex;align-items:center;gap:12px;font-weight:900;font-size:10.5px;line-height:1;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.crd .pg-fact__ico{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(79,116,74,.11);color:var(--green-dk)}
.crd .pg-fact__ico .cr-ico{width:18px;height:18px}
.crd .pg-fact dd{font-weight:700;font-size:16px;line-height:1.45}
.crd .pg-fact dd span{font-weight:400;color:var(--muted)}

.crd .pg-acc{border-top:1.5px solid var(--ink)}
.crd .pg-acc__item{border-bottom:1px solid rgba(46,45,42,.2)}
.crd .pg-acc__btn{width:100%;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px;border:0;background:none;color:var(--ink);font-family:'futura-pt-bold','Futura',sans-serif;font-weight:800;font-size:18px;line-height:1.1;letter-spacing:.015em;text-transform:uppercase;text-align:left;cursor:pointer}
.crd .pg-acc__sign{flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;transition:background .2s,color .2s,transform .25s}
.crd .pg-acc__sign .cr-ico{width:15px;height:15px}
.crd .pg-acc__btn:hover .pg-acc__sign{background:var(--ink);color:var(--cream)}
.crd .pg-acc__item.is-open .pg-acc__sign{background:var(--ink);color:var(--cream);transform:rotate(45deg)}
.crd .pg-acc__body{padding:0 52px 22px 2px;font-size:16px;line-height:1.6;color:var(--muted)}

.crd .pg-map{position:relative;isolation:isolate;overflow:hidden;min-height:300px;border-radius:20px;background:var(--green) url('../design/texture-felt.webp') center/360px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.crd .pg-map svg{position:absolute;inset:0;width:100%;height:100%}
.crd .pg-map__open{position:absolute;z-index:2;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:999px;background:var(--cream);color:var(--ink);font-weight:900;font-size:12.5px;text-decoration:none;box-shadow:-2px 2px 0 rgba(0,0,0,.28);transition:transform .15s}
.crd .pg-map__open:hover{transform:translate(-1px,1px)}
.crd .pg-map__open .cr-ico{width:14px;height:14px}

.crd .pg-tix{display:inline-flex;text-decoration:none;filter:drop-shadow(-3px 3px 0 var(--ox-dk));transition:transform .15s ease,filter .15s ease}
.crd .pg-tix:hover{transform:translate(-1px,1px);filter:drop-shadow(-2px 2px 0 var(--ox-dk))}
.crd .pg-tix:active{transform:translate(-3px,3px);filter:drop-shadow(0 0 0 var(--ox-dk))}
.crd .pg-tix__body{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-width:300px;height:64px;padding:0 34px 0 78px;border-radius:12px;background:var(--ox);color:#FFF6E0;font-weight:900;font-size:18px;line-height:1;letter-spacing:.02em;white-space:nowrap;-webkit-mask:radial-gradient(circle 9px at 0 50%,#0000 96%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 96%,#000) 100% 0/51% 100% no-repeat;mask:radial-gradient(circle 9px at 0 50%,#0000 96%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 96%,#000) 100% 0/51% 100% no-repeat}
.crd .pg-tix__body::before{content:'';position:absolute;left:58px;top:13px;bottom:13px;border-left:2px dashed rgba(255,246,224,.45)}
.crd .pg-tix__ico{position:absolute;left:21px;top:50%;width:22px;height:22px;margin-top:-11px;opacity:.9}
.crd .pg-tix__arrow{width:18px;height:18px;transition:transform .2s}
.crd .pg-tix:hover .pg-tix__arrow{transform:translateX(3px)}

/* Your Visit */
.crd .yv-hero{padding-bottom:0}
.crd .yv-hero .pg-lede{max-width:34em}
.crd .yv-hero__char{position:absolute;z-index:2;right:24px;top:40px;width:170px;transform:rotate(6deg);filter:drop-shadow(-5px 7px 0 rgba(46,45,42,.16));pointer-events:none}
.crd .yv-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:64px;align-items:start;margin-top:44px;padding-bottom:120px}
.crd .yv-toc{position:sticky;top:112px;padding:22px 20px 20px;border-radius:24px;background-color:var(--card);background-image:linear-gradient(rgba(255,253,246,.85),rgba(255,253,246,.85)),url('../design/grain.webp');background-size:auto,220px 220px;background-blend-mode:normal,multiply;border:1px solid rgba(46,45,42,.16);box-shadow:0 30px 60px -44px rgba(46,45,42,.6)}
.crd .yv-toc__label{font-weight:900;font-size:10.5px;line-height:1;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.crd .yv-toc__list{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.crd .yv-toc__link{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px 0 10px;border-radius:14px;border:1.5px solid transparent;font-weight:900;font-size:14.5px;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.crd .yv-toc__link:hover{background:rgba(46,45,42,.06)}
.crd .yv-toc__n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(46,45,42,.35);font-family:'futura-pt-bold','Futura',sans-serif;font-weight:800;font-size:12px;line-height:1;color:var(--muted)}
.crd .yv-toc__link.is-on{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.crd .yv-toc__link.is-on .yv-toc__n{border-color:var(--gold);background:var(--gold);color:var(--ink)}
.crd .yv-main{min-width:0}
.crd .yv-sec{scroll-margin-top:112px}
.crd .yv-sec + .yv-sec{margin-top:64px}
.crd .yv-card{margin-top:22px;padding:28px 30px}
.crd .yv-card .pg-fact{grid-template-columns:160px minmax(0,1fr)}

.crd .yv-door{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:center;margin-top:22px}
.crd .yv-door__addr{font-family:'futura-pt-bold','Futura',sans-serif;font-weight:800;font-size:40px;line-height:.95;text-transform:uppercase;color:var(--ox)}
.crd .yv-door__copy .pg-copy{margin-top:14px}
.crd .yv-street{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:16/10;border-radius:22px;background:#3A2418;box-shadow:0 30px 60px -40px rgba(46,45,42,.7)}
.crd .yv-street__brick{position:absolute;inset:0 0 18% 0;z-index:0;background:linear-gradient(180deg,rgba(255,220,170,.16),rgba(0,0,0,.3)),repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 2px,rgba(0,0,0,0) 2px 22px),repeating-linear-gradient(90deg,rgba(0,0,0,.22) 0 2px,rgba(0,0,0,0) 2px 46px),linear-gradient(180deg,#7A3E26,#5C2C1B)}
.crd .yv-street__brick::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,0) 0 23px,rgba(0,0,0,.22) 23px 25px,rgba(0,0,0,0) 25px 46px);-webkit-mask:repeating-linear-gradient(0deg,#000 0 22px,transparent 22px 44px);mask:repeating-linear-gradient(0deg,#000 0 22px,transparent 22px 44px);opacity:.9}
.crd .yv-street__win{position:absolute;z-index:1;left:6%;top:20%;width:48%;height:58%;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border-radius:6px;border:8px solid #1E2A1C;background:radial-gradient(80% 90% at 50% 100%,#FFD98A,#F2A541 55%,#B8641E);box-shadow:0 0 50px rgba(255,190,90,.55),inset 0 0 0 2px rgba(0,0,0,.2)}
.crd .yv-street__win::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:6px;margin-left:-3px;background:#1E2A1C;z-index:2}
.crd .yv-street__win img{position:relative;z-index:1;height:78%;width:auto;margin-bottom:-4%;filter:drop-shadow(-4px 5px 0 rgba(0,0,0,.2))}
.crd .yv-street__sign{position:absolute;z-index:2;left:61%;top:12%;width:29%;padding:9px 10px;border-radius:6px;background:#1A1714;box-shadow:0 0 0 3px #2E2A24,0 0 26px rgba(255,236,190,.35)}
.crd .yv-street__sign img{width:100%}
.crd .yv-street__door{position:absolute;z-index:1;left:64%;top:27%;width:24%;height:56%;border-radius:8px 8px 0 0;border:7px solid #1E2A1C;border-bottom:0;background:linear-gradient(90deg,#33502F,#4F744A 45%,#33502F);box-shadow:inset 0 0 0 6px rgba(0,0,0,.12),inset 0 18px 0 6px rgba(0,0,0,.08)}
.crd .yv-street__num{position:absolute;left:50%;top:14%;transform:translateX(-50%);padding:4px 8px;border-radius:4px;background:#E9C46A;color:#2E2D2A;font-family:'futura-pt-bold','Futura',sans-serif;font-weight:800;font-size:15px;line-height:1;letter-spacing:.06em;box-shadow:0 2px 0 rgba(0,0,0,.25)}
.crd .yv-street__knob{position:absolute;right:12%;top:55%;width:9px;height:9px;border-radius:50%;background:#E9C46A;box-shadow:0 1px 0 rgba(0,0,0,.35)}
.crd .yv-street__step{position:absolute;z-index:1;left:61%;bottom:18%;width:30%;height:4%;background:#6B655A;border-radius:2px 2px 0 0}
.crd .yv-street__path{position:absolute;z-index:0;left:0;right:0;bottom:0;height:18%;background:linear-gradient(180deg,#8D8778,#6E695E);box-shadow:inset 0 3px 0 rgba(255,255,255,.12)}
.crd .yv-street__path::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,0) 0 88px,rgba(0,0,0,.18) 88px 90px)}
.crd .yv-street__note{position:absolute;z-index:3;left:6%;top:4.5%;display:flex;align-items:flex-start;color:var(--gold);transform:rotate(-3deg)}
.crd .yv-street__note .cr-script{font-size:26px;white-space:nowrap;text-shadow:-2px 2px 0 rgba(0,0,0,.35)}
.crd .yv-street__note svg{flex:none;width:112px;height:66px;margin:14px 0 0 4px;filter:drop-shadow(-2px 2px 0 rgba(0,0,0,.35))}

.crd .yv-getting{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:22px}
.crd .yv-map{min-height:320px}
.crd .yv-food{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:18px;padding:26px 28px;border-radius:24px;background:var(--green) url('../design/texture-felt.webp') center/360px;color:var(--ivory);box-shadow:0 30px 60px -44px rgba(46,45,42,.7)}
.crd .yv-food__copy{max-width:34em;color:rgba(255,251,234,.92)}
.crd .yv-food__btn{flex:none;background:var(--gold);color:var(--ink);box-shadow:-3px 3px 0 var(--gold-dk)}
.crd .yv-food__btn:hover{background:var(--gold);color:var(--ink);transform:translate(-1px,1px);box-shadow:-2px 2px 0 var(--gold-dk)}

.crd .yv-access{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:18px}
.crd .yv-steps{padding:26px 26px 22px}
.crd .yv-steps__total{display:flex;align-items:center;gap:16px}
.crd .yv-steps__n{font-size:72px;line-height:.85;color:var(--ox);text-shadow:-2px 2px 0 rgba(114,0,2,.18)}
.crd .yv-steps__l{font-weight:900;font-size:12px;line-height:1.35;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.crd .yv-steps__route{display:flex;flex-direction:column;margin:22px 0 0;padding:0;list-style:none}
.crd .yv-stop{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:34px}
.crd .yv-stop__dot{width:18px;height:18px;border-radius:50%;border:3px solid var(--ink);background-color:var(--card);background-image:linear-gradient(rgba(255,253,246,.85),rgba(255,253,246,.85)),url('../design/grain.webp');background-size:auto,220px 220px;background-blend-mode:normal,multiply}
.crd .yv-stop--end .yv-stop__dot{background:var(--ox);border-color:var(--ox)}
.crd .yv-stop__name{font-family:'futura-pt-bold','Futura',sans-serif;font-weight:800;font-size:17px;line-height:1;text-transform:uppercase}
.crd .yv-stop__sub{font-size:13px;color:var(--muted)}
.crd .yv-flight{display:flex;align-items:center;gap:10px;min-height:46px;margin-left:8px;padding-left:22px;border-left:3px dotted rgba(46,45,42,.4);font-weight:900;font-size:13px;color:var(--green-dk)}
.crd .yv-flight svg{width:20px;height:20px}

.crd .yv-rest{margin-top:22px}
.crd .yv-end{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:72px;align-items:stretch}
.crd .yv-stuck,.crd .yv-book{padding:28px 28px 26px}
.crd .yv-stuck{background:#F1EDDA;box-shadow:none;border-style:dashed;border-color:rgba(46,45,42,.32)}
.crd .yv-stuck__ico{display:grid;place-items:center;width:46px;height:46px;margin-bottom:16px;border-radius:14px;background:var(--ink);color:var(--gold)}
.crd .yv-stuck__ico .cr-ico{width:22px;height:22px}
.crd .yv-end__text{margin-top:8px;font-size:15.5px;line-height:1.5;color:var(--muted)}
.crd .yv-book__tix{margin-top:20px}
.crd .yv-book__tix .pg-tix__body{min-width:280px}

/* Footer */
.crd .cr-footer{position:relative;isolation:isolate;overflow:hidden;padding:76px 0 34px;background:var(--ink-dk);color:var(--ivory)}
.crd .cr-footer__mark{position:absolute;z-index:-1;right:-70px;bottom:-120px;width:430px;opacity:.06;pointer-events:none}
.crd .cr-footer__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:start}
.crd .cr-footer__logo{width:280px}
.crd .cr-footer__addr{margin-top:22px;font-style:normal;font-size:16px;line-height:1.65;color:rgba(245,240,211,.78)}
.crd .cr-footer__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 28px}
.crd .cr-footer__links a{width:fit-content;padding:6px 0;font-size:16px;line-height:1.35;text-decoration:none;color:var(--ivory);background:linear-gradient(var(--gold),var(--gold)) 0 calc(100% - 4px)/0 2px no-repeat;transition:background-size .25s}
.crd .cr-footer__links a:hover{color:var(--ivory);background-size:100% 2px}
.crd .cr-ftform{display:flex;flex-direction:column;gap:10px}
.crd .cr-ftform__label{font-weight:900;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,240,211,.72)}
.crd .cr-ftform__row{display:flex;gap:8px}
.crd .cr-ftform__input{flex:1;min-width:0;height:52px;padding:0 16px;border-radius:12px;border:1.5px solid rgba(245,240,211,.28);background:rgba(245,240,211,.05);color:var(--ivory);font-size:15px}
.crd .cr-ftform__input::placeholder{color:rgba(245,240,211,.5)}
.crd .cr-ftform__input[aria-invalid="true"]{border-color:var(--gold)}
.crd .cr-ftform__input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(255,188,41,.2)}
.crd .cr-ftform__btn{flex:none;height:52px;padding:0 20px;border:0;border-radius:12px;background:var(--gold);color:var(--ink);font-weight:900;font-size:15px;cursor:pointer;box-shadow:-3px 3px 0 var(--gold-dk);transition:transform .15s,box-shadow .15s}
.crd .cr-ftform__btn:hover{transform:translate(-1px,1px);box-shadow:-2px 2px 0 var(--gold-dk)}
.crd .cr-ftform__note{font-size:13.5px;color:rgba(245,240,211,.72)}
.crd .cr-ftform__done{display:flex;align-items:center;gap:10px;min-height:52px;font-family:'futura-pt-bold','Futura',sans-serif;font-weight:800;text-transform:uppercase;font-size:20px;color:var(--gold)}
.crd .cr-footer__base{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:64px;padding-top:22px;border-top:1px solid rgba(245,240,211,.14);font-size:13.5px;color:rgba(245,240,211,.62)}
.crd .cr-footer__legal{display:flex;gap:22px}
.crd .cr-footer__legal a{padding:6px 0;text-decoration:none}
.crd .cr-footer__legal a:hover{color:var(--ivory)}

/* Menu */
.crd .cr-menu{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;background:rgba(36,35,33,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.crd .cr-menu__panel{background:var(--cream);padding-bottom:30px;box-shadow:0 30px 60px -30px rgba(0,0,0,.5);animation:cr-drop .35s cubic-bezier(.2,.75,.2,1)}
@keyframes cr-drop{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.crd .cr-menu__bar{display:flex;align-items:center;gap:10px;min-height:70px;border-bottom:1.5px solid var(--ink)}
.crd .cr-menu__nav{display:flex;flex-direction:column;margin-top:6px}
.crd .cr-menu__item{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:24px 0 21px;border-bottom:1px solid var(--line);text-decoration:none}
.crd .cr-menu__label{flex:none;font-size:clamp(32px,8.6vw,46px);line-height:.95;white-space:nowrap}
.crd .cr-menu__desc{flex:1;min-width:0;font-size:15px;line-height:1.3;color:var(--muted);text-align:right}
.crd .cr-menu__cta{width:100%;margin-top:26px}


@media (max-width:1099px){
  .crd .cr-nav a{padding:10px 11px;font-size:15px}
  .crd .cr-brand__logo{width:200px}
}
@media (max-width:899px){
  .crd .cr-header__inner{min-height:70px;gap:10px}
  .crd .cr-burger{display:flex}
  .crd .cr-brand{flex:1;align-items:center;gap:5px}
  .crd .cr-brand__logo{width:158px}
  .crd .cr-tagline{padding-left:0;font-size:7.5px;letter-spacing:.2em}
  .crd .cr-nav,.crd .cr-search{display:none}
  .crd .cr-whatson{height:42px;padding:0 14px 0 12px;margin-left:0;gap:8px;font-size:13px;box-shadow:none}
  .crd .cr-whatson:hover{transform:none;box-shadow:none}
  .crd .cr-whatson .cr-ico{width:16px;height:16px}
  .crd .pg-hero{padding-top:30px}
  .crd .pg-kicker{font-size:32px}
  .crd .pg-title{margin-top:8px;font-size:44px;line-height:.92}
  .crd .pg-lede{margin-top:14px;font-size:16.5px}
  .crd .pg-rule{margin-top:26px}
  .crd .pg-h2{font-size:26px}
  .crd .pg-h3{font-size:19px}
  .crd .pg-copy{font-size:15.5px}
  .crd .pg-card{border-radius:20px}
  .crd .pg-fact{grid-template-columns:118px minmax(0,1fr);gap:10px;padding:12px 0}
  .crd .pg-fact dt{gap:10px;font-size:9.5px;letter-spacing:.16em}
  .crd .pg-fact__ico{width:32px;height:32px;border-radius:10px}
  .crd .pg-fact__ico .cr-ico{width:16px;height:16px}
  .crd .pg-fact dd{font-size:14.5px}
  .crd .pg-acc__btn{min-height:56px;font-size:15.5px}
  .crd .pg-acc__sign{width:30px;height:30px}
  .crd .pg-acc__body{padding:0 40px 18px 2px;font-size:15px}
  .crd .pg-map{min-height:210px;border-radius:16px}
  .crd .pg-tix{width:100%}
  .crd .pg-tix__body{flex:1;min-width:0;height:60px;font-size:17px}
  .crd .cr-footer{padding:52px 0 28px}
  .crd .cr-footer__grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .crd .cr-footer__logo{width:228px}
  .crd .cr-footer__addr{margin-top:16px;font-size:15px}
  .crd .cr-footer__links{gap:0 18px}
  .crd .cr-footer__links a{font-size:15.5px}
  .crd .cr-footer__base{flex-direction:column;align-items:flex-start;gap:10px;margin-top:40px}
  .crd .cr-footer__mark{width:260px;right:-60px;bottom:-60px}
}
@media (prefers-reduced-motion:reduce){
  .crd .cr-status i,.crd .cr-menu__panel{animation:none}
  .crd .cr-btn,.crd .pg-tix,.crd .pg-acc__sign{transition:none}
}

@media (max-width:1199px){
  .crd .yv-layout{grid-template-columns:240px minmax(0,1fr);gap:40px}
  .crd .yv-hero__char{width:140px}
}
@media (max-width:899px){
  .crd .yv-hero__char{width:70px;right:-2px;top:18px}
  .crd .yv-hero .pg-lede{padding-right:0}
  .crd .yv-layout{grid-template-columns:minmax(0,1fr);gap:34px;margin-top:24px;padding-bottom:64px}
  .crd .yv-toc{position:static;padding:0;border:0;background:none;box-shadow:none}
  .crd .yv-toc__label{display:none}
  .crd .yv-toc__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0}
  .crd .yv-toc__link{min-height:46px;padding:0 10px 0 8px;gap:9px;border-color:var(--ink);border-radius:999px;font-size:13.5px;background-color:var(--card);background-image:linear-gradient(rgba(255,253,246,.85),rgba(255,253,246,.85)),url('../design/grain.webp');background-size:auto,220px 220px;background-blend-mode:normal,multiply}
  .crd .yv-toc__n{width:24px;height:24px;font-size:11px}
}
@media (max-width:599px){
  .crd .yv-toc__n{display:none}
  .crd .yv-toc__link{padding:0 12px;font-size:14px}
}
@media (max-width:899px){
  .crd .yv-sec{scroll-margin-top:84px}
  .crd .yv-sec + .yv-sec{margin-top:48px}
  .crd .yv-card{margin-top:16px;padding:20px 18px}
  .crd .yv-card .pg-fact{grid-template-columns:100px minmax(0,1fr)}
  .crd .yv-door{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:14px}
  .crd .yv-door__addr{font-size:30px}
  .crd .yv-street{border-radius:18px}
  .crd .yv-street__sign{padding:5px 6px}
  .crd .yv-street__num{font-size:11px;padding:3px 5px}
  .crd .yv-street__note .cr-script{font-size:16px}
  .crd .yv-street__note svg{width:62px;height:38px;margin:8px 0 0 2px}
  .crd .yv-getting{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:14px}
  .crd .yv-map{min-height:220px}
  .crd .yv-food{flex-direction:column;align-items:flex-start;gap:16px;padding:22px 20px;border-radius:20px}
  .crd .yv-food__btn{width:100%}
  .crd .yv-access{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:14px}
  .crd .yv-steps{padding:20px 18px 18px}
  .crd .yv-steps__n{font-size:58px}
  .crd .yv-end{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:48px}
  .crd .yv-stuck,.crd .yv-book{padding:22px 20px}
  .crd .yv-book__tix .pg-tix__body{min-width:0}
}

/* Global nav (wireframe 3a): search panel, compact scrolled header, hamburger under 960px, search + sign-up in the menu */
.crd .cr-search{background:transparent;padding:0;color:var(--ink);cursor:pointer;font:inherit}
.crd .cr-search.is-on{background:var(--ink);color:var(--cream)}
.crd .cr-whatson__x{display:none}
.crd .cr-menu{overflow-y:auto}
.crd .cr-sp{border-top:1px solid var(--line);background-color:var(--card);background-image:linear-gradient(rgba(255,253,246,.85),rgba(255,253,246,.85)),url('../design/grain.webp');background-size:auto,220px 220px;background-blend-mode:normal,multiply;box-shadow:0 34px 50px -36px rgba(46,45,42,.55);animation:cr-drop .3s cubic-bezier(.2,.75,.2,1)}
.crd .cr-sp > .cr-wrap{padding:26px 0 30px}
.crd .cr-sp__row{display:flex;align-items:center;gap:12px}
.crd .cr-sp__field{position:relative;display:block;flex:1;min-width:0}
.crd .cr-sp__ico{position:absolute;left:20px;top:50%;width:22px;height:22px;margin-top:-11px;color:var(--muted);pointer-events:none}
.crd .cr-sp__input{display:block;width:100%;height:64px;padding:0 20px 0 56px;border-radius:16px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-size:19px;-webkit-appearance:none;appearance:none}
.crd .cr-sp__input::placeholder{color:#8B887E}
.crd .cr-sp__input::-webkit-search-cancel-button,.crd .cr-ms__input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.crd .cr-sp__input:focus{outline:none;box-shadow:0 0 0 4px rgba(255,188,41,.5)}
.crd .cr-sp__close{flex:none;display:inline-flex;align-items:center;gap:8px;height:64px;padding:0 22px;border-radius:16px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font-weight:900;font-size:15px;cursor:pointer;transition:background .2s,color .2s}
.crd .cr-sp__close:hover{background:var(--ink);color:var(--cream)}
.crd .cr-sp__close .cr-ico{width:16px;height:16px}
.crd .cr-sp__meta{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:22px}
.crd .cr-sp__label{font-weight:900;font-size:11.5px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.crd .cr-sp__all{display:inline-flex;align-items:center;gap:6px;padding:8px 0;margin:-8px 0;font-weight:900;font-size:14px;color:var(--green);text-decoration:none;white-space:nowrap}
.crd .cr-sp__all:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.crd .cr-sp__all .cr-ico{width:15px;height:15px}
.crd .cr-sp__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.crd .cr-sp__item{display:flex;align-items:center;gap:14px;min-width:0;padding:10px 16px 10px 10px;border-radius:16px;border:1px solid rgba(46,45,42,.16);background:#FFFEF9;color:var(--ink);text-decoration:none;box-shadow:0 14px 26px -22px rgba(46,45,42,.5);transition:border-color .2s,transform .2s}
.crd .cr-sp__item:hover{color:var(--ink);border-color:var(--ink);transform:translateY(-1px)}
.crd .cr-sp__art{position:relative;isolation:isolate;overflow:hidden;flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background-color:var(--ink);color:var(--ivory)}
.crd .cr-sp__art::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(rgba(0,0,0,.22) 1px,rgba(0,0,0,0) 1.7px) 0 0/5px 5px,radial-gradient(120% 100% at 15% 0%,rgba(255,255,255,.22),rgba(255,255,255,0) 58%)}
.crd .cr-sp__art--ox{background-color:var(--ox)}
.crd .cr-sp__art--blue{background-color:var(--blue)}
.crd .cr-sp__art--green{background-color:var(--green)}
.crd .cr-sp__art--gold{background-color:var(--gold);color:var(--ink)}
.crd .cr-sp__art--sage{background-color:var(--sage);color:var(--ink)}
.crd .cr-sp__art--ms{background:var(--green) url('../design/tile-main-stage.jpg') center/cover}
.crd .cr-sp__art--ms::before{display:none}
.crd .cr-sp__ini{font-family:'futura-pt-bold','Futura',sans-serif;font-weight:800;font-size:21px;line-height:1;letter-spacing:.02em;text-shadow:-1px 1px 0 rgba(0,0,0,.3),-2px 2px 0 rgba(0,0,0,.22)}
.crd .cr-sp__art--gold .cr-sp__ini,.crd .cr-sp__art--sage .cr-sp__ini{text-shadow:-1px 1px 0 rgba(255,255,255,.4),-2px 2px 0 rgba(255,255,255,.22)}
.crd .cr-sp__txt{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.crd .cr-sp__title{font-family:'futura-pt-bold','Futura',sans-serif;font-weight:800;text-transform:uppercase;font-size:15.5px;line-height:1.08;letter-spacing:.015em}
.crd .cr-sp__when{font-size:13px;line-height:1.35;color:var(--muted)}
.crd .cr-sp__go{flex:none;width:18px;height:18px;color:var(--muted);transition:transform .2s,color .2s}
.crd .cr-sp__item:hover .cr-sp__go{color:var(--ink);transform:translateX(2px)}
.crd .cr-sp__empty{margin-top:14px;padding:20px 22px;border-radius:16px;border:1.5px dashed rgba(46,45,42,.32);font-size:15.5px;line-height:1.5;color:var(--muted)}
.crd .cr-sp__empty a{font-weight:900;color:var(--green)}
.crd .cr-ms{margin-top:16px}
.crd .cr-ms__field{position:relative;display:block}
.crd .cr-ms__field .cr-sp__ico{left:16px;width:20px;height:20px;margin-top:-10px}
.crd .cr-ms__input{display:block;width:100%;height:54px;padding:0 16px 0 46px;border-radius:14px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-size:16px;-webkit-appearance:none;appearance:none}
.crd .cr-ms__input::placeholder{color:#8B887E}
.crd .cr-ms__input:focus{outline:none;box-shadow:0 0 0 4px rgba(255,188,41,.5)}
.crd .cr-ms__results{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.crd .cr-ms__results .cr-sp__label{margin-bottom:2px}
.crd .cr-ms__results .cr-sp__item{padding:8px 14px 8px 8px}
.crd .cr-ms__results .cr-sp__art{width:46px;height:46px;border-radius:10px}
.crd .cr-ms__results .cr-sp__ini{font-size:17px}
.crd .cr-ms__results .cr-sp__empty{margin-top:0;padding:16px 18px;font-size:14.5px}
.crd .cr-msign{display:flex;flex-direction:column;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.crd .cr-msign__label{font-weight:900;font-size:11px;line-height:1;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.crd .cr-msign__row{display:flex;gap:8px}
.crd .cr-msign__input{flex:1;min-width:0;height:52px;padding:0 16px;border-radius:12px;border:1.5px solid rgba(46,45,42,.4);background:#fff;color:var(--ink);font:inherit;font-size:15px}
.crd .cr-msign__input::placeholder{color:#8B887E}
.crd .cr-msign__input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(255,188,41,.5)}
.crd .cr-msign__input[aria-invalid="true"]{border-color:var(--ox)}
.crd .cr-msign__btn{flex:none;height:52px;padding:0 20px;border:0;border-radius:12px;background:var(--ink);color:var(--cream);font-weight:900;font-size:15px;cursor:pointer;box-shadow:-3px 3px 0 rgba(46,45,42,.28)}
.crd .cr-msign__note{font-size:13.5px;color:var(--ox)}
.crd .cr-msign__done{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-family:'futura-pt-bold','Futura',sans-serif;font-weight:800;text-transform:uppercase;font-size:20px;line-height:1;color:var(--green)}
@media (min-width:960px){
  .crd .cr-header__inner{transition:min-height .25s ease}
  .crd .cr-brand__logo{transition:width .25s ease}
  .crd .cr-header.is-compact .cr-header__inner{min-height:66px}
  .crd .cr-header.is-compact .cr-brand__logo{width:176px}
  .crd .cr-header.is-compact .cr-tagline{display:none}
  .crd .cr-header.is-compact .cr-whatson{background:var(--ox);color:#FFF6E0;box-shadow:-3px 3px 0 var(--ox-dk)}
  .crd .cr-header.is-compact .cr-whatson:hover{color:#FFF6E0;box-shadow:-2px 2px 0 var(--ox-dk)}
  .crd .cr-header.is-compact .cr-whatson__x{display:inline}
}
@media (min-width:960px) and (max-width:1099px){
  .crd .cr-sp__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:959px){
  .crd .cr-header__inner{min-height:70px;gap:10px}
  .crd .cr-burger{display:flex}
  .crd .cr-brand{flex:1;align-items:center;gap:5px}
  .crd .cr-brand__logo{width:158px}
  .crd .cr-tagline{padding-left:0;font-size:7.5px;letter-spacing:.2em}
  .crd .cr-nav,.crd .cr-search,.crd .cr-sp{display:none}
  .crd .cr-whatson{height:42px;padding:0 14px 0 12px;margin-left:0;gap:8px;font-size:13px;background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
  .crd .cr-whatson:hover{color:var(--ink);transform:none;box-shadow:inset 0 0 0 1.5px var(--ink)}
  .crd .cr-whatson .cr-ico{width:16px;height:16px}
}
@media (prefers-reduced-motion:reduce){
  .crd .cr-sp,.crd .cr-header__inner,.crd .cr-brand__logo{animation:none;transition:none}
}

/* Green header (Brett, 07 Oct, round 2): the nav takes the core CR green with the New here panel's felt texture; the page stays brand cream with its grain. Cards, panels and footer are unchanged. */
.crd .cr-header{background:var(--green) url('../design/texture-felt.webp') center/360px;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(255,251,234,.08);color:var(--ivory)}
.crd .cr-header .cr-tagline,.crd .cr-menu__bar .cr-tagline{color:rgba(255,251,234,.9)}
.crd .cr-nav a{color:var(--ivory)}
.crd .cr-nav a:hover{background:rgba(255,251,234,.14)}
.crd .cr-nav a[aria-current]{text-decoration-color:var(--gold)}
.crd .cr-burger span{background:var(--ivory)}
.crd .cr-search{border-color:rgba(255,251,234,.6);color:var(--ivory)}
.crd .cr-search:hover,.crd .cr-search.is-on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.crd .cr-header .cr-whatson{background:var(--cream);color:var(--ink);box-shadow:-3px 3px 0 rgba(0,0,0,.45)}
.crd .cr-header .cr-whatson:hover{color:var(--ink);box-shadow:-2px 2px 0 rgba(0,0,0,.45)}
.crd .cr-menu__bar{position:relative;isolation:isolate;border-bottom:0;color:var(--ivory)}
.crd .cr-menu__bar::before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:var(--green) url('../design/texture-felt.webp') center/360px}
.crd .cr-menu__bar .cr-burger{color:var(--ivory)}
.crd .cr-menu__bar .cr-whatson{background:transparent;color:var(--ivory);box-shadow:inset 0 0 0 1.5px rgba(255,251,234,.7)}
.crd .cr-menu__bar .cr-whatson:hover{color:var(--ivory);transform:none;box-shadow:inset 0 0 0 1.5px rgba(255,251,234,.7)}
.crd .cr-sp{color:var(--ink)}
.crd .cr-header :focus-visible,.crd .cr-menu__bar :focus-visible{outline-color:var(--gold);box-shadow:0 0 0 3px var(--ink-dk)}
.crd .cr-sp :focus-visible{outline-color:var(--ink);box-shadow:0 0 0 3px var(--gold)}
.crd .cr-sp .cr-sp__input:focus-visible{box-shadow:0 0 0 4px rgba(255,188,41,.5)}
@media (min-width:960px){
  .crd .cr-header.is-compact .cr-whatson{background:var(--gold);color:var(--ink);box-shadow:-3px 3px 0 var(--gold-dk)}
  .crd .cr-header.is-compact .cr-whatson:hover{color:var(--ink);box-shadow:-2px 2px 0 var(--gold-dk)}
}
@media (max-width:959px){
  .crd .cr-header .cr-whatson{background:transparent;color:var(--ivory);box-shadow:inset 0 0 0 1.5px rgba(255,251,234,.7)}
  .crd .cr-header .cr-whatson:hover{color:var(--ivory);transform:none;box-shadow:inset 0 0 0 1.5px rgba(255,251,234,.7)}
}
/* ==== PORT-END ==== */

/* ==== Theme additions — chrome (the same block in every inner page's stylesheet) ==== */

/* Skip link: first thing in <body>, outside .crd, off-screen (no layout) until focused. */
.cr-skip{position:absolute;top:0;left:-9999px;z-index:200}
.cr-skip:focus{left:16px;top:16px;padding:12px 18px;border-radius:12px;background:#FFBC29;color:#2E2D2A;font:900 15px/1.2 'futura-pt','Helvetica Neue',Helvetica,Arial,sans-serif;text-decoration:none}

/* The global nav's parts that wait in the page ([hidden]) for design.js: the menu dialog, the header
   search panel, the menu's search results. */
.crd .cr-menu[hidden],.crd .cr-sp[hidden],.crd .cr-ms__results[hidden]{display:none}

/* Without JS the header's search is a link to What's on's search box (the <noscript> one, a flex
   item of the header row like the button): the button (it opens the panel) needs JS. */
html:not(.cr-js) .crd button.cr-search{display:none}
html:not(.cr-js) .crd .cr-header__inner>noscript{display:contents}

/* Mailing-list forms (footer.php, the menu dialog): the error note and the done state are in the
   page, hidden; design.js shows them. A known subscriber (html.cr-subscribed, set before paint by the
   head script) sees the done states. A staff platform embed (Site settings → Email form embed)
   replaces the form. */
.crd .cr-ftform[hidden]{display:none}
html.cr-subscribed .crd [data-cr-ftform],html.cr-subscribed .crd [data-cr-msign]{display:none}
html.cr-subscribed .crd [data-cr-ftform-done]{display:flex}
html.cr-subscribed .crd [data-cr-msign-done]{display:block}
.crd .cr-ftform__embed,.crd .cr-msign__embed{min-width:0}

/* Focus and anchor jumps clear the sticky header (89px; 71px under 960px; the compact header, 67px,
   keeps the same padding so in-page jumps land where the designs' do). No effect at rest. */
html{scroll-padding-top:89px}

/* Without JS (no html.cr-js): under 960px the nav the burger would open shows as a row under the
   header. */
@media (max-width:959px){
  html{scroll-padding-top:71px}
  html:not(.cr-js) .crd .cr-header__inner{flex-wrap:wrap}
  html:not(.cr-js) .crd .cr-burger{visibility:hidden}
  html:not(.cr-js) .crd .cr-nav{display:flex;flex-wrap:wrap;order:1;flex-basis:100%;margin:-6px 0 8px -11px}
}

/* Art tile from an uploaded image (a show's Art image; cr_art_attrs() puts the URL in --art). */
.crd .cr-art--image{background:var(--green) var(--art) center/cover}
.crd .cr-art--image::before{display:none}

/* Under 360px the burger, the brand and the What's on button do not fit one row (the button was cut
   off at the right edge): the button keeps its calendar icon in a 44px square, and its words stay
   its accessible name. */
@media (max-width:359px){
  .crd .cr-whatson{position:relative;width:44px;height:44px;padding:0;justify-content:center}
  .crd .cr-whatson>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* 360–389px: the burger, the brand and the What's on button need 341px and the row has 320–349px
   (the button ran past the right edge at 360, into the side gutter at 375): the gaps and the
   button's padding tighten under 390px, the wordmark and its tagline under 375px. The 390px design
   is untouched. Same for the open menu's bar. */
@media (min-width:360px) and (max-width:389px){
  .crd .cr-header__inner,.crd .cr-menu__bar{gap:8px}
  .crd .cr-whatson{padding:0 10px 0 9px;gap:6px}
}
@media (min-width:360px) and (max-width:374px){
  .crd .cr-brand__logo{width:148px}
  .crd .cr-tagline{letter-spacing:.14em}
}

/* Touch screens (pointer: coarse): the chrome's small controls get hit areas of at least 44px — an
   invisible ::after around each — without changing what is drawn (the canvas is drawn for a mouse,
   so nothing changes there): footer and legal links (33px tall in the design), the header wordmark
   (30px), What's on (42px on phones), the nav links (43px at 960–1099px), the dock's × (36–40px). */
@media (pointer:coarse){
  .crd .cr-footer__links a,.crd .cr-footer__legal a,.crd .cr-brand,.crd .cr-whatson,.crd .cr-nav a,.crd .cr-close{position:relative}
  .crd .cr-footer__links a::after,.crd .cr-footer__legal a::after{content:'';position:absolute;inset:-6px -6px}
  .crd .cr-brand::after{content:'';position:absolute;inset:-8px 0}
  .crd .cr-whatson::after,.crd .cr-nav a::after{content:'';position:absolute;inset:-2px 0}
  .crd .cr-close::after{content:'';position:absolute;inset:-4px}
}

/* ==== Theme additions — Your Visit (the Your Visit builder) ==== */

/* Without JS (no html.cr-js) every answer shows (template-parts/visit/accordion.php prints the closed
   ones in <noscript>) and the buttons do nothing, so their +/× signs would mislead. */
html:not(.cr-js) .crd .pg-acc__sign{visibility:hidden}

/* In-page jumps land where the design's do (section top 112px under the viewport top, 84px ≤899):
   the chrome's html scroll-padding-top (89px, 71px under 960px, above) already clears the header
   and adds to a section's scroll-margin, so the sections keep only the difference — 23px from
   960px, 41px from 900 to 959px (the burger header, the design's 112px margin), 13px ≤899. */
.crd .yv-sec{scroll-margin-top:23px}
@media (min-width:900px) and (max-width:959px){
  .crd .yv-sec{scroll-margin-top:41px}
}
@media (max-width:899px){
  .crd .yv-sec{scroll-margin-top:13px}
}

/* The drawn map crops to fill its box (the SVG's slice): from 520 to 899px it ran full width but
   only 210–220px tall, which cut the "Comedy Republic / 231 Bourke St" label off the top (iPad
   portrait lost the venue's name). Kept at 2:1 there, the label stays in; 390px and 1440px (the
   design) are untouched. */
@media (min-width:520px) and (max-width:899px){
  .crd .pg-map.yv-map{min-height:0;aspect-ratio:2/1}
}

/* Touch screens (pointer: coarse): Open in Maps (38px tall) gets a 44px hit area, drawn the same. */
@media (pointer:coarse){
  .crd .pg-map__open::after{content:'';position:absolute;inset:-4px -2px}
}

/* Under 360px the title runs the full width and the microphone sat over the end of "YOUR VISIT"
   (30px at 320px); there is no room beside it, so the drawing stays out. */
@media (max-width:359px){
  .crd .yv-hero__char{display:none}
}

/* The design scrolls smoothly to a section; not when the visitor asks for less motion. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* The ticket stub (.pg-tix) under 360px: the arrow, a shrinkable flex item in a nowrap row, was
   crushed to 0–4px once the label filled the stretched body. It keeps its 18px, and the body's
   padding, gap and type tighten so the label clears the stub's perforation (58px). */
.crd .pg-tix__arrow{flex:none}
@media (max-width:359px){
  .crd .pg-tix__body{gap:8px;padding:0 22px 0 70px;font-size:16px}
}

/* ==== Restyle to the design system (Brett, 08 Oct: design-system.md, his 21-item list) ====
   A surface pass: structure, copy and behaviour stay. Everything is scoped under the page's body class
   (page-template-page-visit-php; page-your-visit.php adds it when the page is served by slug), so the
   rules beat the ported block above and components.css / design-brand.css, which load after this
   sheet, without !important. The shared pg-* parts (pg-hero, pg-card, pg-fact__ico, pg-acc__sign,
   pg-map, pg-tix) are restyled here for this page only; NOTES.md asks for the same change in their
   component defaults.
   Page values (not new tokens; NOTES.md):
   - --yv-head: the compact header, 67px (71px under 960px, where the header keeps its phone layout);
     the index sticks 24px under it on desktop, the chip row right under it on phones;
   - --yv-fs-h2: section headings at 32px, 24px at 768px and under (no --cr-fs-* gives 32 / 24);
   - --yv-chips: the phone chip row's height (10px + 40px + 10px), which in-page jumps clear;
   - --yv-map-crop: how far the map embed is lifted to hide Google's place card (item 13);
   - --cr-brass-text #A87700: brass for numerals on cream and paper (the 47), as home's design-home.css 38
     (NOTES.md 8). Labels on cream are ink-muted; labels on black are brass (Brett, 08 Oct). */
:root{--cr-brass-text:#A87700}
.page-template-page-visit-php .crd{--yv-head:67px;--yv-fs-h2:32px;--yv-chips:60px;--yv-map-crop:120px}
@media (max-width:959px){
  .page-template-page-visit-php .crd{--yv-head:71px}
}
@media (max-width:768px){
  .page-template-page-visit-php .crd{--yv-fs-h2:24px}
}

/* -- Frame. 1. The header is black, as home's: the cream wordmark and links on --cr-black, no felt, no
   rule under it. Your Visit, the current page, keeps the system's marigold and is underlined the way
   Citizens and What's on underline theirs (the text link's 1px line, 4px under the words). 2. The hero's double rule is gone (template); one section pad separates the
   lede from the first section. 3. The script eyebrow is oxblood (home's eyebrows on cream), the title
   56px (40px at 768px and under), the lede 18px muted ink; the mic stays beside the title from 600px
   and is left out under it. */
.page-template-page-visit-php .crd.crd .cr-header{background:var(--cr-black);border-bottom-color:transparent;box-shadow:none}
.page-template-page-visit-php .crd.crd .cr-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:currentColor}
.page-template-page-visit-php .crd.crd .yv-hero{padding-bottom:0}
.page-template-page-visit-php .crd.crd .pg-kicker{font-size:var(--cr-fs-script);color:var(--cr-oxblood)}
.page-template-page-visit-php .crd.crd .pg-title{font-size:var(--cr-fs-hero);line-height:.95}
.page-template-page-visit-php .crd.crd .pg-lede{font-size:var(--cr-fs-lede);line-height:1.6;color:var(--cr-ink-muted)}
@media (max-width:599px){
  .page-template-page-visit-php .crd.crd .yv-hero__char{display:none}
}

/* -- Type on the page's scale: section headings 32 / 24px, card titles h3, copy and answers body
   (14.5px), muted ink. Links in copy (Companion Card, the Contact details in Still stuck?, any staff
   add) are the text link: ink, Lato 700, a 1px underline 4px below that turns marigold on hover.
   11. Placeholders (.pg-tbc: the entrance copy "… written by Rob", unanswered questions) stay
   italic, from the ported rule. */
.page-template-page-visit-php .crd.crd .pg-h2{font-size:var(--yv-fs-h2);line-height:1}
.page-template-page-visit-php .crd.crd .pg-h3{font-size:var(--cr-fs-h3);line-height:1}
.page-template-page-visit-php .crd.crd :is(.pg-copy,.pg-acc__body,.yv-end__text){font-size:var(--cr-fs-body);line-height:1.6;color:var(--cr-ink-muted)}
.page-template-page-visit-php .crd.crd :is(.pg-copy,.pg-acc__body,.yv-end__text) a{font-weight:700;color:var(--cr-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:currentColor}
.page-template-page-visit-php .crd.crd :is(.pg-copy,.pg-acc__body,.yv-end__text) a:hover{text-decoration-color:var(--cr-marigold)}

/* -- Rhythm: sections on the same cream sit one pad apart, not two (design-system.md, Section rhythm).
   The first section and the index keep the pad above them; each later section, and the end cards,
   start at the previous section's bottom pad. Jumps to those sections take the ported margins again
   (23px from 960px, 41px from 900 to 959px; the phone row's below), so headings still land 112px under
   the top (84px under 900px, below the chip row there). */
.page-template-page-visit-php .crd.crd .yv-sec+.yv-sec,.page-template-page-visit-php .crd.crd .yv-main>.yv-end{padding-top:0}
.page-template-page-visit-php .crd.crd .yv-sec+.yv-sec{scroll-margin-top:23px}
@media (min-width:900px) and (max-width:959px){
  .page-template-page-visit-php .crd.crd .yv-sec+.yv-sec{scroll-margin-top:41px}
}

/* -- Rich text (22 Oct: the long-copy fields and the answers are editors): paragraphs 0.9em apart,
   lists with discs and numbers (the ported reset strips them), 1.2em in. */
.page-template-page-visit-php .crd.crd :is(.pg-copy,.pg-acc__body,.yv-end__text) p+p,.page-template-page-visit-php .crd.crd :is(.pg-copy,.pg-acc__body,.yv-end__text) :is(ul,ol){margin-top:.9em}
.page-template-page-visit-php .crd.crd :is(.pg-copy,.pg-acc__body,.yv-end__text) :is(ul,ol){margin-bottom:.9em;padding-left:1.2em}
.page-template-page-visit-php .crd.crd :is(.pg-copy,.pg-acc__body,.yv-end__text) ul{list-style:disc}
.page-template-page-visit-php .crd.crd :is(.pg-copy,.pg-acc__body,.yv-end__text) ol{list-style:decimal}
.page-template-page-visit-php .crd.crd :is(.pg-copy,.pg-acc__body,.yv-end__text) :is(ul,ol):last-child{margin-bottom:0}

/* -- Cards: every card on the page is the system card (.cr-card): paper, the lg corner (16px), the
   card shadow, no border or grain. The Still stuck? card loses its dashed cream look. */
.page-template-page-visit-php .crd.crd :is(.pg-card,.yv-toc){border:0;border-radius:var(--cr-radius-lg);background:var(--cr-paper);box-shadow:var(--cr-shadow-card)}

/* -- On this page. 4. The card; its label 11px, tracked, ink-muted (a label on cream). 5. Links: ink
   type at body size on the sm corner, a 6% ink wash on hover, the number in a 24px circle with a 1px ink line at
   40%. The current one is black with cream type, its circle a cream line at 40%. Sections already
   scrolled past (the links before the current one) sit at 55%. 6. It sticks 24px under the compact
   header. */
@media (min-width:900px){
  .page-template-page-visit-php .crd.crd .yv-toc{top:calc(var(--yv-head) + 24px);padding:24px 20px 20px}
}
.page-template-page-visit-php .crd.crd .yv-toc__label{font-size:var(--cr-fs-label);letter-spacing:var(--cr-label-track);color:var(--cr-ink-muted)}
.page-template-page-visit-php .crd.crd .yv-toc__link{border:0;border-radius:var(--cr-radius-sm);box-shadow:none;font-size:var(--cr-fs-body);color:var(--cr-ink);transition:background .2s,color .2s,opacity .2s}
.page-template-page-visit-php .crd.crd .yv-toc__link:hover{background:color-mix(in srgb,var(--cr-ink) 6%,transparent)}
.page-template-page-visit-php .crd.crd .yv-toc__n{width:24px;height:24px;border:1px solid color-mix(in srgb,var(--cr-ink) 40%,transparent);background:transparent;font-size:var(--cr-fs-fine);color:var(--cr-ink)}
.page-template-page-visit-php .crd.crd .yv-toc__link.is-on{background:var(--cr-black);color:var(--cr-cream)}
.page-template-page-visit-php .crd.crd .yv-toc__link.is-on .yv-toc__n{border-color:color-mix(in srgb,var(--cr-cream) 40%,transparent);background:transparent;color:var(--cr-cream)}
.page-template-page-visit-php .crd.crd .yv-toc__list li:has(~ li .yv-toc__link.is-on) .yv-toc__link{opacity:.55}

/* -- Bar, doors and running time (and Finding us' pattern). 7. The icons are plain brass, 20px, no
   tile (decoration: the label beside each says it); the label 11px tracked muted, the value body ink.
   8. Rows part on home's show-row rule: 1px dashed ink at 16%. */
.page-template-page-visit-php .crd.crd .pg-fact{border-top:1px dashed var(--cr-ink-line)}
.page-template-page-visit-php .crd.crd .pg-fact:first-child{border-top:0}
.page-template-page-visit-php .crd.crd .pg-fact dt{gap:12px;font-size:var(--cr-fs-label);letter-spacing:var(--cr-label-track);color:var(--cr-ink-muted)}
.page-template-page-visit-php .crd.crd .pg-fact__ico{width:20px;height:20px;border-radius:0;background:none;color:var(--cr-brass)}
.page-template-page-visit-php .crd.crd .pg-fact__ico .cr-ico{width:20px;height:20px}
.page-template-page-visit-php .crd.crd .pg-fact dd{font-weight:400;font-size:var(--cr-fs-body);line-height:1.5;color:var(--cr-ink)}

/* -- Finding us (Brett, 21 Oct: the drawn street front and its Door photo slot are gone; the copy is
   his). 9. The address is ink, a card title (h3); the copy sits under it at the lede's measure, in
   the one column the ported two-column grid has left. The Getting here intro (his trains-and-trams
   paragraph) sits the same way above the map and the questions. */
.page-template-page-visit-php .crd.crd .yv-door{grid-template-columns:minmax(0,1fr)}
.page-template-page-visit-php .crd.crd .yv-door__addr{font-size:var(--cr-fs-h3);line-height:1;color:var(--cr-ink)}
.page-template-page-visit-php .crd.crd :is(.yv-door__copy .pg-copy,.yv-getting__copy){max-width:36em}
.page-template-page-visit-php .crd.crd .yv-getting__copy{margin-top:14px}

/* -- Getting here and The rest. 12 / 18. Accordions: the question Guess Sans 17px (16px at 768px and
   under) in ink; a 1px ink rule at 16% over and between; the +/× in a 32px circle with a 1px ink line
   at 40% in both states (a 6% wash and a full ink line on hover); open, the + turns to ×. */
.page-template-page-visit-php .crd.crd .pg-acc{border-top:1px solid var(--cr-ink-line)}
.page-template-page-visit-php .crd.crd .pg-acc__item{border-bottom:1px solid var(--cr-ink-line)}
.page-template-page-visit-php .crd.crd .pg-acc__btn{font-size:var(--cr-fs-h4);color:var(--cr-ink)}
.page-template-page-visit-php .crd.crd .pg-acc__sign{width:32px;height:32px;border:1px solid color-mix(in srgb,var(--cr-ink) 40%,transparent);background:transparent;color:var(--cr-ink)}
.page-template-page-visit-php .crd.crd .pg-acc__btn:hover .pg-acc__sign{border-color:var(--cr-ink);background:color-mix(in srgb,var(--cr-ink) 6%,transparent);color:var(--cr-ink)}
.page-template-page-visit-php .crd.crd .pg-acc__item.is-open .pg-acc__sign{background:transparent;color:var(--cr-ink);transform:rotate(45deg)}
.page-template-page-visit-php .crd.crd .pg-acc__item.is-open .pg-acc__btn:hover .pg-acc__sign{background:color-mix(in srgb,var(--cr-ink) 6%,transparent)}
/* 13. The map: a Google Maps embed of the venue (cr_visit_map_embed_url()), in colour, on the lg
   corner, raised black while it loads; Open in Maps is a text link under it (the → is text). Google's
   red pin marks the venue with its name. The embed is drawn --yv-map-crop (120px) taller and lifted
   by as much, so its place card (name, rating, "View larger map") and its own Open in Maps sit above
   the box; Google's logo and attribution stay in view at the foot (their terms want them visible).
   The map's centre (cr_visit_map_center()) is set north of the venue so the pin sits mid-box. */
.page-template-page-visit-php .crd.crd .yv-mapcol{display:flex;flex-direction:column;gap:12px;min-width:0}
.page-template-page-visit-php .crd.crd .pg-map.yv-map{min-height:320px;border-radius:var(--cr-radius-lg);background:var(--cr-black-raised);box-shadow:none}
.page-template-page-visit-php .crd.crd .yv-map__frame{position:absolute;top:calc(var(--yv-map-crop) * -1);left:0;width:100%;height:calc(100% + var(--yv-map-crop));border:0}
.page-template-page-visit-php .crd.crd .yv-map__open{align-self:flex-start}
.page-template-page-visit-php .crd.crd :is(.yv-map__open,.yv-food__link)::after{content:"\00a0\2192";content:"\00a0\2192" / ""}

/* -- Food, drink and seating. 14. The page's one dark band: --cr-black under the cards' grain (the
   grain at the cards' 15%), the lg corner, the card shadow, cream type. See the bar menu is a cream
   text link. */
.page-template-page-visit-php .crd.crd .yv-food{border-radius:var(--cr-radius-lg);background:linear-gradient(color-mix(in srgb,var(--cr-black) 85%,transparent),color-mix(in srgb,var(--cr-black) 85%,transparent)),url('../design/grain.webp') 0 0/220px 220px,var(--cr-black);box-shadow:var(--cr-shadow-card);color:var(--cr-cream)}
.page-template-page-visit-php .crd.crd .yv-food__copy{color:var(--cr-cream)}
.page-template-page-visit-php .crd.crd .yv-food__link{flex:none;color:var(--cr-cream)}
.page-template-page-visit-php .crd.crd .yv-food__link:hover{color:var(--cr-cream);text-decoration-color:var(--cr-marigold)}

/* -- Accessibility. 15. The total in brass for text (#A87700, AA as large text on paper); its label
   11px tracked muted. 16. The route: every stop dot ink (the destination filled), the flights' dotted
   line ink at 40%, the stop names Guess Sans 14px. 17. Companion Card links only once the client gives
   the scheme's URL (staff add it in the copy; it then takes the text link above). */
.page-template-page-visit-php .crd.crd .yv-steps__n{color:var(--cr-brass-text)}
.page-template-page-visit-php .crd.crd .yv-steps__l{font-size:var(--cr-fs-label);letter-spacing:var(--cr-label-track);color:var(--cr-ink-muted)}
.page-template-page-visit-php .crd.crd .yv-stop__dot{border-color:var(--cr-ink);background:var(--cr-paper)}
.page-template-page-visit-php .crd.crd .yv-stop--end .yv-stop__dot{border-color:var(--cr-ink);background:var(--cr-ink)}
.page-template-page-visit-php .crd.crd .yv-stop__name{font-size:var(--cr-fs-link);color:var(--cr-ink)}
.page-template-page-visit-php .crd.crd .yv-flight{border-left-color:color-mix(in srgb,var(--cr-ink) 40%,transparent)}

/* -- The end cards. 19. Still stuck?: the icon plain brass, no tile; the contact details are text
   links (above). Haven't booked yet?: the marigold ticket stub, 54px on the sm corner in the button
   type, the page's only marigold; hover takes the marigold hover. */
.page-template-page-visit-php .crd.crd .yv-stuck__ico{display:block;width:24px;height:24px;margin-bottom:16px;border-radius:0;background:none;color:var(--cr-brass)}
.page-template-page-visit-php .crd.crd .yv-stuck__ico .cr-ico{width:24px;height:24px}
.page-template-page-visit-php .crd.crd .pg-tix__body{height:var(--cr-btn-h);border-radius:var(--cr-radius-sm);background:var(--cr-marigold);color:var(--cr-ink);font-size:var(--cr-fs-btn)}
.page-template-page-visit-php .crd.crd .pg-tix:hover .pg-tix__body{background:var(--cr-marigold-hover)}

/* -- Phones and tablets (899px and under). 20. On this page is a row of chips under the hero, What's
   on's chip as its restyle draws it (40px, a 1px ink line at 40% that goes full ink on hover, the sm
   corner, the label type: Lato 900 11px tracked upper case, centred on its letters), scrolling sideways
   and sticking right under the header on the page's cream; the current chip black with cream type. As
   on What's on, the row fades out over the side gutters (a chip cut at the edge reads as "more this
   way") and keeps 6px above and below inside the scroller, so focus rings aren't clipped.
   Jumps land their heading clear of the row. 21. The map sits above its copy. */
@media (max-width:899px){
  .page-template-page-visit-php .crd.crd .yv-hero{padding-bottom:24px}
  .page-template-page-visit-php .crd.crd .yv-toc{position:sticky;top:var(--yv-head);z-index:5;margin-inline:calc(var(--gut) * -1);padding:10px 0;border-radius:0;background-color:var(--cr-cream);background-image:linear-gradient(color-mix(in srgb,var(--cr-cream) 85%,transparent),color-mix(in srgb,var(--cr-cream) 85%,transparent)),url('../design/grain.webp');background-size:auto,220px 220px;background-blend-mode:normal,multiply;box-shadow:0 1px 0 var(--cr-ink-line)}
  .page-template-page-visit-php .crd.crd .yv-toc__list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none;margin-block:-6px;padding:6px var(--gut);scroll-padding-inline:var(--gut);-webkit-mask-image:linear-gradient(90deg,transparent,var(--cr-ink) var(--gut),var(--cr-ink) calc(100% - var(--gut)),transparent);mask-image:linear-gradient(90deg,transparent,var(--cr-ink) var(--gut),var(--cr-ink) calc(100% - var(--gut)),transparent)}
  .page-template-page-visit-php .crd.crd .yv-toc__list::-webkit-scrollbar{display:none}
  .page-template-page-visit-php .crd.crd .yv-toc__list li{flex:none}
  .page-template-page-visit-php .crd.crd .yv-toc__link{min-height:0;height:40px;padding:0 16px 0 calc(16px + var(--cr-label-track));border:1px solid color-mix(in srgb,var(--cr-ink) 40%,transparent);box-shadow:none;background:transparent;font-weight:900;font-size:var(--cr-fs-label);line-height:1;letter-spacing:var(--cr-label-track);text-transform:uppercase;white-space:nowrap}
  .page-template-page-visit-php .crd.crd .yv-toc__link:hover{border-color:var(--cr-ink);background:transparent}
  .page-template-page-visit-php .crd.crd .yv-toc__link.is-on,.page-template-page-visit-php .crd.crd .yv-toc__link.is-on:hover{border-color:var(--cr-black);background:var(--cr-black);color:var(--cr-cream)}
  .page-template-page-visit-php .crd.crd .yv-toc__n{display:none}
  .page-template-page-visit-php .crd.crd .yv-sec{scroll-margin-top:calc(13px + var(--yv-chips) - var(--cr-section-pad))}
  .page-template-page-visit-php .crd.crd .yv-sec+.yv-sec{scroll-margin-top:calc(13px + var(--yv-chips))}
  .page-template-page-visit-php .crd.crd .yv-getting .yv-mapcol{order:-1}
  .page-template-page-visit-php .crd.crd .pg-map.yv-map{min-height:0;aspect-ratio:4 / 3}
}
