/* Shared site application layer; approved design-system source remains read-only. */
@font-face{font-family:OMHM-Site;src:url('./tomorrow-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:OMHM-Site;src:url('./tomorrow-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
.om-mvp{--site-red:#ff2638;--site-green:#68f8b3;--site-paper:#fff9f1;--site-border:#ff405a;--site-motion:450ms;--site-ease:cubic-bezier(.22,1,.36,1);font-family:OMHM-Site,Arial,sans-serif}
.om-mvp .om-site-header{position:sticky;top:0;z-index:1000;box-sizing:border-box;display:flex;align-items:center;gap:20px;width:100%;max-width:1440px;min-height:80px;margin:0 auto 24px;padding:12px 28px;background:#030303f7;border:4px solid var(--site-red);border-top:0;border-radius:0 0 14px 14px;box-shadow:0 8px 24px #0009,0 0 18px #ff26384d;font:700 15px OMHM-Site,Arial,sans-serif;color:#fff}
.om-mvp .om-site-brand{display:block;flex-shrink:0}.om-mvp .om-site-brand img{display:block;width:160px;height:45px;object-fit:contain}
.om-mvp .om-site-desktop{display:flex;align-items:center;justify-content:center;gap:10px;flex:1}.om-mvp .om-site-header a{text-decoration:none;color:#fff}.om-mvp .om-site-desktop a{position:relative;isolation:isolate;overflow:hidden;padding:11px 14px;border:2px solid transparent;border-radius:9px;transition:border-color var(--site-motion) var(--site-ease),box-shadow var(--site-motion) var(--site-ease)}.om-mvp .om-site-desktop a::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#19060955,#19060955),url('./journey-weave-tile.jpg') repeat;background-size:auto,94px 93px;opacity:0;transition:opacity var(--site-motion) var(--site-ease)}.om-mvp .om-site-desktop a[aria-current],.om-mvp .om-site-desktop a:hover{border-color:var(--site-red);box-shadow:0 0 14px #ff263866}.om-mvp .om-site-desktop a[aria-current]::before,.om-mvp .om-site-desktop a:hover::before{opacity:1}
.om-mvp .om-site-ticket{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;border:2px solid #ff7a84;border-radius:8px;padding:10px 18px;background:#e00819;color:#fff;font:700 13px OMHM-Site,Arial,sans-serif;cursor:pointer;white-space:nowrap;box-shadow:inset 0 0 0 1px #210004,0 0 12px #ff26384d}.om-mvp .om-site-menu{display:none}
.om-mvp .om-site-footer{box-sizing:border-box;display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;max-width:1340px;margin:48px auto 0;padding:36px clamp(20px,4vw,56px);background:#110b0df5;border-top:2px solid var(--site-red);color:var(--site-paper);font:400 14px/1.8 OMHM-Site,Arial,sans-serif;text-transform:none;position:relative}.om-mvp .om-site-footer p{margin:14px 0;font-size:14px;line-height:1.8}.om-mvp .om-site-footer nav{display:flex;flex-direction:column;gap:12px}.om-mvp .om-site-footer a{color:var(--site-paper);text-decoration:none}.om-mvp .om-site-footer a:hover{text-decoration:underline}.om-mvp .om-site-footer-note{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:16px;color:#d8cdd0}
.om-mvp a:focus-visible,.om-mvp button:focus-visible,.om-mvp summary:focus-visible{outline:3px solid white;outline-offset:4px}
/* Keep source motion hooks mounted, but replace their independent navigation. */
.omhm-holiday .hdr,.omhm-holiday #drawer,.omhm-holiday footer:not(.om-site-footer){display:none!important}.omhm-holiday .om-site-header{margin-bottom:0}.omhm-holiday .om-site-header~main{padding-top:0}
.om-mvp .omhm26-root.omhm26-journey::before{background-image:linear-gradient(#0c070859,#0c070859),url('./journey-weave-tile.jpg');background-size:auto,187px 186px;animation:om-site-plaid 24s linear infinite;transform:none}
@keyframes om-site-plaid{to{background-position:0 0,187px 186px}}
.om-mvp .om-site-motion{display:none!important}
.om-mvp .omhm26-root.omhm26-journey-home .journey-home-feature{aspect-ratio:auto;height:auto;min-height:0;padding:clamp(20px,4svh,40px) clamp(12px,3vw,36px)}
/* Keep the opening and its ticket action within a normal viewport; content can grow at zoom. */
.om-mvp .omhm26-root.omhm26-journey-home .journey-home-feature .journey-home-wordmark{width:min(72%,680px);max-height:20svh;object-fit:contain;margin:8px auto}
.om-mvp .omhm26-root.omhm26-journey-home .journey-home-anniversary-mark{margin:0 auto 12px}
.om-mvp .omhm26-root.omhm26-journey-home .journey-home-feature .owner-draft-hero{max-width:900px;margin:12px auto;padding:16px 24px}
.om-mvp .omhm26-root.omhm26-journey-home .owner-draft-hero h2{font-size:clamp(24px,2.4vw,34px);line-height:1.12;margin:0 auto 12px;max-width:30ch}
.om-mvp .omhm26-root.omhm26-journey-home .owner-draft-hero p{font-size:16px;line-height:1.5}
.om-mvp .omhm26-root.omhm26-journey-home .journey-home-feature>.journey-actions{margin-top:8px}
@media(max-width:760px){.om-mvp .omhm26-root.omhm26-journey-home .journey-home-feature .journey-home-wordmark{width:min(82%,340px);max-height:27svh}.om-mvp .omhm26-root.omhm26-journey-home .journey-home-feature{padding:24px 12px}}
.om-mvp .journey-section{padding-block:clamp(32px,5vw,72px)}.om-mvp .journey-support-page{max-width:900px;margin:40px auto;min-height:320px}.om-mvp .journey-route-opening h1{font-size:clamp(32px,5vw,64px);line-height:1.08}.om-mvp .journey-kicker{color:#ff6570}
.om-mvp .journey-button,.om-mvp .btn{transition:transform var(--site-motion) var(--site-ease),background var(--site-motion) var(--site-ease);border-radius:8px}.om-mvp .journey-button:hover,.om-mvp .btn:hover{transform:translateY(-3px)}
.om-mvp[data-site-paused] *,.om-mvp[data-site-paused] *::before,.om-mvp[data-site-paused] *::after{animation-play-state:paused!important;scroll-behavior:auto!important}
@media(max-width:1000px){.om-mvp .om-site-header{gap:12px;padding:10px 16px}.om-mvp .om-site-desktop{gap:14px;font-size:11px}.om-mvp .om-site-brand img{width:125px}.om-mvp .om-site-motion{padding:8px}}
@media(max-width:760px){.om-mvp .om-site-header{display:grid;grid-template-columns:auto 1fr auto;gap:8px;min-height:72px;padding:10px 12px}.om-mvp .om-site-desktop{display:none}.om-mvp .om-site-brand{margin:0}.om-mvp .om-site-brand img{width:112px}.om-mvp .om-site-menu{display:block;justify-self:end;order:initial}.om-mvp .om-site-menu summary{padding:10px 6px;cursor:pointer;font-size:13px}.om-mvp .om-site-menu nav{position:absolute;top:100%;left:12px;right:12px;display:flex;flex-direction:column;gap:4px;padding:16px;background:#050505;border:2px solid var(--site-red);border-radius:10px}.om-mvp .om-site-menu nav a{padding:12px}.om-mvp .om-site-ticket{order:initial;justify-self:end;padding:9px 10px;font-size:11px}.om-mvp .om-site-motion{display:none!important}.om-mvp .om-site-footer{grid-template-columns:1fr 1fr;margin-top:28px}.om-mvp .om-site-footer>div{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.om-mvp *,.om-mvp *::before,.om-mvp *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Shared maker invitation: one component across all three main pages. */
.om-mvp .om-site-maker-call{box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:32px;width:calc(100% - 48px);max-width:1380px;margin:40px auto;padding:clamp(24px,4vw,48px);border:4px solid var(--site-red);border-radius:24px;background:#110b0d;color:var(--site-paper);box-shadow:0 18px 40px #0004;font:400 16px/1.65 OMHM-Site,Arial,sans-serif;text-transform:none}
.om-mvp .om-site-maker-call::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#110b0def,#110b0d99),url('./journey-weave-tile.jpg');background-size:auto,187px 186px;animation:om-site-plaid 24s linear infinite}
.om-mvp .om-site-maker-call h2{font:700 clamp(28px,3.5vw,46px)/1.1 OMHM-Site,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.025em;margin:12px 0 18px;color:var(--site-paper)}
.om-mvp .om-site-maker-call p{font:inherit;max-width:58ch;margin:0;color:var(--site-paper)}
.om-mvp .om-site-maker-call .om-site-call-kicker{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#ff7784}
.om-mvp .om-site-call-button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:14px 24px;border:2px solid var(--site-border);border-radius:10px;background:#db001a;color:white;text-decoration:none;font-weight:700;transition:transform var(--site-motion) var(--site-ease),background var(--site-motion) var(--site-ease)}
.om-mvp .om-site-call-button:hover{transform:translateY(-3px);background:#ba0016}
.om-mvp .om-site-call-action p{font-size:13px;line-height:1.6;margin-top:14px;color:#e6dce0}
@media(max-width:760px){.om-mvp .om-site-maker-call{grid-template-columns:1fr;width:calc(100% - 28px);gap:24px;margin:24px auto;padding:24px 20px;border-width:3px;border-radius:18px}.om-mvp .om-site-call-button{box-sizing:border-box;width:100%}}
@media(prefers-reduced-motion:reduce){.om-mvp .om-site-maker-call::before{animation:none}.om-mvp .om-site-call-button{transition:none}}

.om-mvp .om-site-community{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1380px;width:calc(100% - 48px);margin:36px auto}
.om-mvp .om-site-community>section{box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;gap:28px;width:100%;min-width:0;margin:0;padding:clamp(24px,3vw,40px);border:4px solid var(--site-red);border-radius:24px;font:400 16px/1.65 OMHM-Site,Arial,sans-serif;box-shadow:0 18px 40px #0004}
.om-mvp .om-site-community>section:only-child{grid-column:1/-1}
.om-mvp .journey-support-page .journey-accessibility-list{list-style:disc;margin:0 0 20px;padding-left:1.3em}.om-mvp .journey-support-page .journey-accessibility-list li{margin:6px 0}.om-mvp :is(.journey-support-page,.maker-applicant-page) a:not(.journey-button),.om-mvp .journey-maker-directory p a{color:var(--site-green);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.om-mvp :is(.journey-support-page,.maker-applicant-page) a:not(.journey-button):focus-visible,.om-mvp .journey-maker-directory p a:focus-visible{outline:3px solid #fff;outline-offset:4px;text-decoration-thickness:3px}
.om-mvp .om-site-newsletter-call{background:var(--site-paper);color:#201517}
.om-mvp .om-site-community h2{font:700 clamp(27px,3vw,40px)/1.12 OMHM-Site,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.025em;margin:12px 0 18px}
.om-mvp .om-site-community p{font:inherit;margin:0;max-width:58ch}
.om-mvp .om-site-community .om-site-call-kicker{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.om-mvp .om-site-newsletter-call .om-site-call-kicker{color:#b6001a}
.om-mvp .om-site-community .om-site-call-action p{font-size:13px;line-height:1.6;margin-top:14px}
.om-mvp .om-site-newsletter-call .om-site-call-action p{color:#4c3b40}
.om-mvp .om-site-newsletter-call .om-site-call-action p a{color:inherit;text-decoration:underline}
.om-mvp .om-site-community .om-site-call-button{color:#fff}
@media(max-width:760px){.om-mvp .om-site-community{grid-template-columns:1fr;width:calc(100% - 28px);gap:20px;margin:24px auto}.om-mvp .om-site-community>section{padding:24px 20px;border-width:3px;border-radius:18px}}

/* Site-wide Leo refinement: solid surfaces, exact accents, shared entrance motion. */
.om-mvp{--site-green:#68f8b3;--site-red:#ff162c;--site-border:#ff162c}
.om-mvp .om-site-header{background:#050505;border-color:var(--site-red)}
.om-mvp .om-site-desktop{font-size:16px}
.om-mvp .om-site-desktop a::before{background-image:url('./journey-weave-tile.jpg');background-size:46px 46px;opacity:0}
.om-mvp .om-site-desktop a[aria-current]::before,.om-mvp .om-site-desktop a:hover::before{opacity:1}
.om-mvp .om-site-footer,.om-mvp .om-site-maker-call,.om-mvp .om-site-menu nav{background:#050505}
.om-mvp :is([data-motion-control],[data-orbit-control],[data-cascade-pause],[data-home-maker-toggle],#hmMotion){display:none!important}
.om-mvp :is(.journey-well,.journey-card,.journey-faq-item,.journey-footer,.journey-ticket-intro-scrim,.journey-ticket-panel,.journey-ticket-scrim,.journey-special-copy,.journey-maker-rail,.journey-maker-directory,.journey-shopping-dock,.journey-maker-detail,.journey-maker-story-index,.journey-maker-story-detail,.journey-entry-path,.journey-after-dark,.journey-raffle-chapter,.journey-anniversary-marker,.journey-route-bridge,.journey-editorial-photo-band,.journey-maker-editorial-strip,.journey-story-editorial-band,.omhm26-wall-controls,.omhm26-community-panel){background-color:#050505}
.om-mvp :is(.journey-well,.journey-card,.journey-faq-item,.journey-ticket-intro-scrim,.journey-ticket-panel,.journey-ticket-scrim,.journey-special-copy,.journey-maker-rail,.journey-maker-directory,.journey-shopping-dock,.journey-maker-detail,.journey-maker-story-index,.journey-maker-story-detail,.journey-entry-path,.journey-after-dark,.journey-raffle-chapter,.journey-anniversary-marker,.journey-route-bridge,.journey-editorial-photo-band,.journey-maker-editorial-strip,.journey-story-editorial-band,.omhm26-wall-controls,.omhm26-community-panel){backdrop-filter:none}
.om-mvp [data-site-reveal="pending"]{opacity:0;transform:translate3d(0,32px,0)}
.om-mvp [data-site-reveal="entered"]{opacity:1;transform:translate3d(0,0,0);transition:opacity 650ms var(--site-ease),transform 650ms var(--site-ease)}
.om-mvp [data-site-reveal="entered"]:nth-of-type(2n){transition-delay:60ms}
@media(max-width:1000px){.om-mvp .om-site-desktop{font-size:13px;gap:7px}.om-mvp .om-site-desktop a{padding:10px 9px}}
@media(prefers-reduced-motion:reduce){.om-mvp [data-site-reveal="pending"],.om-mvp [data-site-reveal="entered"]{opacity:1;transform:none;transition:none}}
@media(max-width:600px){.om-mvp .om-site-header{grid-template-columns:auto 1fr}.om-mvp .om-site-ticket{display:none}.om-mvp .om-site-menu{display:block!important;grid-column:2;justify-self:end;width:78px;color:#fff;visibility:visible}.om-mvp .om-site-menu summary{display:flex!important;align-items:center;justify-content:flex-end;min-height:44px;color:#fff;font-size:0}.om-mvp .om-site-menu summary::before{content:"Menu";font-size:13px;font-weight:700}}
@media(min-width:761px) and (max-width:800px){.om-mvp .om-site-header{display:grid;grid-template-columns:auto 1fr auto;gap:8px;min-height:72px;padding:10px 12px}.om-mvp .om-site-desktop{display:none}.om-mvp .om-site-brand img{width:112px}.om-mvp .om-site-menu{display:block;justify-self:end}.om-mvp .om-site-menu summary{padding:10px 6px;cursor:pointer;font-size:13px}.om-mvp .om-site-menu nav{position:absolute;top:100%;left:12px;right:12px;display:flex;flex-direction:column;gap:4px;padding:16px;background:#050505;border:2px solid var(--site-red);border-radius:10px}.om-mvp .om-site-menu nav a{padding:12px}.om-mvp .om-site-ticket{justify-self:end;padding:9px 10px;font-size:11px}}

/* Batch 10 (2026-10-01): one plaid dim for every route. A black layer on main, below all content, clear at the page edges
   and 0.55 across the center so headings, photo frames and cards stand out. No blur, no glow. Routes may only move the top edge
   with --om-plaid-dim-top (Holiday Market keeps its hero band clear). */
:root{--om-plaid-dim-alpha:.55;--om-plaid-dim-edge:8%}
body.om-mvp{overflow-x:clip}
body.om-mvp main{position:relative;isolation:isolate}
body.om-mvp main::before{content:"";position:absolute;top:var(--om-plaid-dim-top,0px);right:auto;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,0) 0,rgba(0,0,0,var(--om-plaid-dim-alpha)) var(--om-plaid-dim-edge),rgba(0,0,0,var(--om-plaid-dim-alpha)) calc(100% - var(--om-plaid-dim-edge)),rgba(0,0,0,0) 100%)}

/* Batch 10 (2026-10-01): one shared header and footer on every route. Route sheets used to narrow the frame (Holiday Market 1100px,
   album pages 1100px and 1180px), leave the 8px default body margin (About, Shopping Guide), swap the type family, and drop the plaid
   Get Tickets fill. The markup already comes from site-shell.php for every route; these rules make the look match Home. */
body.om-mvp{margin:0}
body.om-mvp header.om-site-header,body.om-mvp footer.om-site-footer,body.om-mvp .om-site-community{font-family:"OMHM Tomorrow",system-ui,sans-serif}
body.om-mvp header.om-site-header{box-sizing:border-box;width:100%;max-width:1440px;margin-left:auto;margin-right:auto;padding:12px 28px;gap:20px}
body.om-mvp header.om-site-header .om-site-brand img{width:160px;max-width:100%;height:auto}
body.om-mvp header.om-site-header .om-site-desktop{gap:4px;font-size:14px}
body.om-mvp header.om-site-header .om-site-desktop a{padding-inline:8px;white-space:nowrap}
body.om-mvp header.om-site-header .om-site-ticket{font:700 1.8rem/1 "OMHM Backline",cursive!important;padding:10px 18px;background-color:#000!important;background-image:linear-gradient(#0004,#0004),url('./journey-weave-tile.jpg')!important;background-size:auto,94px 93px!important;color:#fff!important;text-shadow:0 2px 3px #000!important}
body.om-mvp footer.om-site-footer{width:100%;max-width:1340px;margin-left:auto;margin-right:auto;background:#000}
body.om-mvp footer.om-site-footer nav a,body.om-mvp footer.om-site-footer>div>a:not(.om-site-brand){display:flex;align-items:center;min-height:44px}
@media(max-width:1000px){body.om-mvp header.om-site-header{padding:10px 16px;gap:12px}body.om-mvp header.om-site-header .om-site-brand img{width:125px}}
@media(max-width:760px){body.om-mvp header.om-site-header{padding:10px 12px;gap:8px}body.om-mvp header.om-site-header .om-site-brand img{width:112px}}
body.om-mvp header.om-site-header .om-site-desktop a::after{height:0!important;margin:0!important;padding:0!important;overflow:hidden}
body.om-mvp header.om-site-header .om-site-desktop a{min-height:45px;min-width:104px;font-size:1rem}
body.om-mvp :is(header.om-site-header,footer.om-site-footer,.om-site-community),body.om-mvp :is(header.om-site-header,footer.om-site-footer,.om-site-community) *{box-sizing:border-box}
body.om-mvp header.om-site-header{background:#000;line-height:normal}
body.om-mvp header.om-site-header .om-site-desktop a{line-height:normal}
body.om-mvp header.om-site-header .om-site-desktop a{text-align:center;font-weight:700;letter-spacing:normal}
body.om-mvp header.om-site-header .om-site-desktop a::after{content:attr(data-nav-label);display:block;visibility:hidden;text-transform:uppercase;white-space:nowrap;pointer-events:none;font:inherit;font-weight:700;letter-spacing:normal}
body.om-mvp header.om-site-header .om-site-desktop a:is(:hover,[aria-current]){text-transform:uppercase}
body.om-mvp header.om-site-header .om-site-ticket{box-shadow:none!important}
body.om-mvp footer.om-site-footer .om-site-brand img{max-width:100%}
/* Editorial pages (About, Shopping Guide) never declared the Tomorrow faces, so the shared header and footer fell back to another font. */
@font-face{font-family:"OMHM Tomorrow";src:url('./tomorrow-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"OMHM Tomorrow";src:url('./tomorrow-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}

/* Batch 10 (2026-10-01): the site-wide primary heading. Brand red fill, thick white stroke drawn behind the fill (paint-order), Tomorrow caps,
   no glow. The Tickets "Pick your" heading is the pattern. The stroke is 6px on large type and scales down to 0.1em on small type so
   letters stay open. Mint kickers, Backline script words, the nav, buttons, card titles and body text are not part of it.
   Markup can opt in with class om-headline-red; the page headings below already use it through this one rule. */
:root{--om-headline-red:#ef2435;--om-headline-stroke:min(6px,.1em)}
body.om-mvp :is(.om-headline-red,
  #journey-home-benefits-heading,#home-highlights-title,#home-ticket-choice-title,#home-categories-title,
  #held-founder-title,#story-learned-title,#archive-next-title,.hz-head h2.hm9-ten-head,
  #editorial-main h1,#editorial-main h2:not(.editorial-choice h2),
  #journey-main h1:not(.home-accessible-title),.journey-page h1,#album-main .album-heading h1){
  font-family:"OMHM Tomorrow",system-ui,sans-serif!important;font-weight:700!important;text-transform:uppercase!important;
  color:var(--om-headline-red)!important;-webkit-text-stroke:var(--om-headline-stroke) #fff!important;paint-order:stroke fill!important;text-shadow:none!important}
/* Accent words keep their own look. */
body.om-mvp #home-categories-title .review-script{-webkit-text-stroke:0!important;paint-order:normal!important;color:#68f8b3!important}
/* Batch 11: Backline script lines inside a red headline stay white and unstroked; the Tickets "Shopping Party" span is the case.
   Opt-in class om-headline-script for any other script line. Mint accents keep their own rule above. */
body.om-mvp :is(.om-headline-red,#journey-main h1,.journey-page h1,#editorial-main h1,#editorial-main h2,#album-main .album-heading h1) :is(.om-headline-script,.ticket-intro h1>span){-webkit-text-stroke:0!important;paint-order:normal!important;color:#fff!important;text-shadow:none!important}
/* Batch 43 (2026-10-05, PG-01): A Shopping Party For Everyone no longer keeps a layered red and black shadow; it uses the shared rule above. */
