/* OTOYARD Public Site v0.2.5 — scoped to .oy-app; no external fonts or assets */
.oy-app { --oy-ink:#1c2022; --oy-dark:#172126; --oy-cream:#f8f5ee; --oy-muted:#727875; --oy-orange:#ed673e; --oy-line:#deddd5; color:var(--oy-ink); background:var(--oy-cream); font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Helvetica Neue", Arial, sans-serif; line-height:1.6; isolation:isolate; min-width:0; }
.oy-app *, .oy-app *::before, .oy-app *::after {box-sizing:border-box}
.oy-app a{text-decoration:none;color:inherit}
.oy-app button{font:inherit;cursor:pointer}
.oy-app em{font-style:normal;color:var(--oy-orange)}
.oy-app h1,.oy-app h2,.oy-app h3,.oy-app p{margin:0}
.oy-app h1,.oy-app h2,.oy-app h3 {font-weight:800;letter-spacing:-.045em;line-height:1.23}
.oy-app :focus-visible{outline:3px solid #ed673e;outline-offset:4px}
.oy-skip{position:absolute;z-index:50;top:-100px;left:12px;background:#fff;padding:10px 15px}
.oy-skip:focus{top:10px}
.oy-meta{height:30px;background:var(--oy-ink);color:#e5e7e1;display:flex;align-items:center;gap:10px;padding:0 clamp(16px,5vw,80px);font-size:9px;letter-spacing:.21em;font-weight:700}
.oy-meta-dot{width:6px;height:6px;border-radius:50%;background:#fb855d}
.oy-meta-right{margin-left:auto}
.oy-header{padding:18px clamp(16px,5vw,80px);display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--oy-line);background:var(--oy-cream);position:relative;z-index:10}
.oy-brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.oy-brand-symbol{height:38px;width:38px;border:7px solid #182122;display:grid;place-items:center;border-radius:50%;font-size:0;position:relative}
.oy-brand-symbol span{width:8px;height:8px;background:var(--oy-orange);border-radius:50%;position:absolute;right:-8px;top:-8px}
.oy-brand-type{display:flex;flex-direction:column;font-size:25px;line-height:.93;font-weight:900;letter-spacing:-.075em;font-family:Arial,sans-serif}
.oy-brand-sub{font-family:inherit;font-size:9px;font-weight:650;letter-spacing:.07em;margin-top:6px}
.oy-nav{display:flex;align-items:center;gap:clamp(10px,1.6vw,27px)}
.oy-nav a{font:800 10px/1.5 Arial,sans-serif;letter-spacing:.07em;white-space:nowrap;padding:11px 0;border-bottom:2px solid transparent}
.oy-nav a:hover,.oy-nav a[aria-current="page"]{border-color:var(--oy-orange)}
.oy-nav a.oy-nav-entry{padding:12px 14px;background:var(--oy-orange);color:#fff;border:0;border-radius:2px;display:flex;gap:12px;align-items:center}
.oy-mobile-menu{display:none;border:0;background:none;width:40px;padding:10px}
.oy-mobile-menu span{display:block;height:2px;margin:5px 0;background:var(--oy-ink)}
.oy-eyebrow{font:900 10px/1.5 Arial,sans-serif;letter-spacing:.19em;color:var(--oy-orange)}
.oy-hero{display:grid;grid-template-columns:1.04fr .96fr;min-height:570px;padding:0 clamp(16px,5vw,80px);border-bottom:1px solid var(--oy-line)}
.oy-hero-copy{display:flex;flex-direction:column;justify-content:center;position:relative;padding:78px 6vw 55px 0}
.oy-hero-label{display:flex;gap:12px;align-items:center;font-size:9px;font-weight:850;letter-spacing:.13em;color:#535f5c;white-space:nowrap}
.oy-signal{width:9px;height:9px;border-radius:50%;background:var(--oy-orange)}
.oy-line{height:1px;background:#bdbdb4;flex:1;max-width:46px}
.oy-hero h1{font-size:clamp(64px,6.8vw,112px);line-height:1.16;letter-spacing:-.082em;margin:38px 0 27px;white-space:nowrap}
.oy-hero-lead{font-size:clamp(13px,1.12vw,16px);line-height:2.1;color:#5c6361;font-weight:600}
.oy-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:34px}
.oy-button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:17px 19px;font-size:12px;font-weight:800;min-width:204px;transition:transform .2s,background .2s}
.oy-button:hover{transform:translateY(-3px)}
.oy-button-dark{background:#1d2629;color:#fff!important}
.oy-button-text{min-width:auto;padding:14px 0;border-bottom:1px solid #aaa}
.oy-hero-foot{margin-top:auto;padding-top:35px;display:flex;align-items:center;gap:13px;font:800 9px/1.5 Arial,sans-serif;letter-spacing:.2em;color:#8a928e}
.oy-tiny-line{width:33px;height:1px;background:#8a928e}
.oy-hero-art{margin:42px 0 42px 10px;min-height:490px;background:#182429;display:flex;flex-direction:column;color:#dce6dd;overflow:hidden}
.oy-hall-caption,.oy-hall-bottom{font:700 9px/1.4 Arial,sans-serif;letter-spacing:.2em;padding:16px 20px;display:flex;justify-content:space-between;gap:12px;color:#9ea9a7}
.oy-scene{flex:1;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 70%,#32484b 0%,#182729 45%,#111b21 90%);min-height:375px}
.oy-stage-ceil{position:absolute;top:-5%;width:120%;height:17%;border-radius:0 0 60% 60%;background:#101a1e;z-index:4}
.oy-stage-arch{position:absolute;width:70%;height:83%;left:15%;top:12%;border:2px solid rgba(246,201,132,.3);border-bottom:0;border-radius:49% 49% 0 0;box-shadow:0 0 60px #fa9b5128,inset 0 0 65px #b67c3c1d}
.oy-arch-text{position:relative;text-align:center;z-index:2;transform:translateY(-12px)}
.oy-arch-text span{font:800 9px Arial,sans-serif;letter-spacing:.43em;color:#f5c0a0}
.oy-arch-text strong{display:block;font:900 clamp(76px,8vw,136px)/.84 Arial,sans-serif;letter-spacing:-.12em;color:#f6a36c;text-align:left;margin:16px 0 0 -10px;text-shadow:0 0 65px #ff7c554d}
.oy-asterisk{font-size:.3em;vertical-align:top;position:relative;left:5px;top:14px}
.oy-beam{position:absolute;top:-60%;height:170%;width:25%;transform-origin:top center;background:linear-gradient(180deg,#e7994f30,transparent 87%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%)}
.oy-beam-a{left:18%;transform:rotate(-18deg)}.oy-beam-b{left:48%;transform:rotate(6deg);opacity:.65}.oy-beam-c{right:16%;transform:rotate(22deg);opacity:.7}
.oy-stage-curtain{position:absolute;top:0;bottom:0;width:21%;background:repeating-linear-gradient(90deg,#121b1e,#232b2b 15%,#161d21 35%);z-index:3}
.oy-curtain-left{left:-11%;transform:skewX(-10deg)}.oy-curtain-right{right:-11%;transform:skewX(10deg)}
.oy-stage-floor{position:absolute;bottom:0;left:0;right:0;height:20%;background:linear-gradient(0deg,#0b171a,#141d20c7)}
.oy-stage-crowd{position:absolute;bottom:-35px;display:flex;justify-content:center;gap:6px;width:110%;z-index:5;align-items:flex-end}
.oy-stage-crowd span{display:block;border-radius:50% 50% 0 0;background:#090f14;width:9%;height:70px}
.oy-stage-crowd span:nth-child(2n){height:86px}.oy-stage-crowd span:nth-child(3n){height:56px}.oy-stage-crowd span:nth-child(5n){height:98px}
.oy-running{background:#e26a48;color:#231e1b;display:flex;align-items:center;justify-content:space-around;gap:22px;padding:17px 20px;overflow:hidden;white-space:nowrap;font:900 13px Arial,sans-serif;letter-spacing:.12em}
.oy-star{font-size:18px}
.oy-section{padding:clamp(64px,8vw,110px) clamp(16px,5vw,80px)}
.oy-intro{display:grid;grid-template-columns:30% 70%;gap:0;border-bottom:1px solid var(--oy-line)}
.oy-section-side{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
.oy-section-number{font:800 10px Arial,sans-serif;letter-spacing:.15em;color:#a4aba7}
.oy-intro h2,.oy-section h2{font-size:clamp(36px,4.5vw,68px);letter-spacing:-.07em}
.oy-intro p{max-width:740px;margin:27px 0 25px;font-size:15px;line-height:2.3;color:#606966}
.oy-underlink{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid #89938c;padding:8px 0;font-weight:800;font-size:12px}
.oy-underlink:hover{color:var(--oy-orange)}
.oy-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.oy-section-heading h2{margin-top:9px}
.oy-room-section{background:#f2f0e8}
.oy-room-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}
.oy-room-card{display:block;background:#fff;transition:transform .2s;min-width:0}
.oy-room-card:hover{transform:translateY(-4px)}
.oy-room-art{height:clamp(220px,30vw,380px);background:#252d33;position:relative;overflow:hidden;display:grid;place-items:center}
.oy-main-room .oy-room-art{background:radial-gradient(circle at 50% 55%,#82584d,#2a393b 68%,#182125 100%)}
.oy-schedule-room .oy-room-art{background:#d5d4bb}
.oy-disc{border-radius:50%;width:52%;aspect-ratio:1;background:repeating-radial-gradient(circle,#e1a181 0 2px,transparent 2px 12px);border:2px solid #f3ac8c;display:grid;place-items:center;box-shadow:0 0 70px #f8a8862a}
.oy-disc-center{border-radius:50%;width:20%;aspect-ratio:1;background:#dd815f;border:10px solid #2a393b}
.oy-time-outline{font:900 clamp(76px,11vw,175px)/1 Arial,sans-serif;letter-spacing:-.095em;color:#263435}.oy-time-outline span{color:var(--oy-orange)}
.oy-room-type,.oy-room-arrow{position:absolute;color:#fff;font:800 10px Arial,sans-serif;letter-spacing:.14em;top:21px;left:21px}
.oy-room-arrow{left:auto;right:22px;font-size:19px}.oy-schedule-room .oy-room-type,.oy-schedule-room .oy-room-arrow{color:#2d3b3c}
.oy-room-copy{padding:25px 26px;display:flex;justify-content:space-between;gap:14px;align-items:center}
.oy-room-copy h3{font:900 clamp(24px,2.5vw,38px)/1.1 Arial,sans-serif;letter-spacing:-.055em}
.oy-room-copy p{font-size:12px;color:#727875;margin-top:9px}
.oy-pill{display:inline-flex;align-items:center;border:1px solid #c2c7c1;font-size:10px;font-weight:750;padding:7px 10px;color:#6e7874;white-space:nowrap;border-radius:30px;letter-spacing:.04em}
.oy-notice-section{padding-top:85px;padding-bottom:100px}
.oy-live-tag{display:flex;align-items:center;gap:10px;font:800 9px Arial,sans-serif;letter-spacing:.15em;color:#65706d;white-space:nowrap}
.oy-live-tag span{width:8px;height:8px;border-radius:50%;background:#ce805a}
.oy-empty-event{display:flex;align-items:center;gap:24px;border-top:1px solid #cfd3ce;border-bottom:1px solid #cfd3ce;padding:38px 4px}
.oy-empty-icon{font-size:64px;line-height:1;color:#bdc3bb;flex-shrink:0}
.oy-empty-event>div{flex:1}
.oy-empty-event h3{font-size:21px}.oy-empty-event p{font-size:12px;margin-top:8px;color:#6f7774}
.oy-outline-link{font-size:11px;font-weight:800;border:1px solid #8e9893;padding:16px 20px;white-space:nowrap}
.oy-spotlight{background:#253437;color:#f3eee2;margin:0;padding:clamp(48px,6vw,86px) clamp(16px,5vw,80px);display:flex;align-items:end;justify-content:space-between;gap:28px}
.oy-spotlight h2{font-size:clamp(42px,6vw,82px);margin:20px 0;letter-spacing:-.075em;color:#fff}
.oy-spotlight p{font-size:13px;color:#c6cecb;max-width:540px;line-height:2}
.oy-link-arrow{white-space:nowrap;border-bottom:1px solid #e1bca9;color:#fff!important;font-size:13px;font-weight:750;padding-bottom:13px;display:flex;gap:45px}
.oy-footer{background:#121b1e;color:#f2f0e8;padding:66px clamp(16px,5vw,80px) 23px}
.oy-footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;align-items:start;padding-bottom:85px}
.oy-footer-brand{font:900 clamp(38px,5.5vw,74px)/1 Arial,sans-serif;letter-spacing:-.09em}
.oy-footer-brand span{font-size:.23em;vertical-align:top;letter-spacing:0}
.oy-footer-main p{font-size:13px;color:#aeb8b4;line-height:2.25}
.oy-footer-links{display:flex;flex-direction:column;gap:13px;align-items:flex-start;font:800 12px Arial,sans-serif;letter-spacing:.09em}
.oy-footer-links a{border-bottom:1px solid #586463;padding-bottom:6px}
.oy-footer-bottom{border-top:1px solid #445151;padding-top:17px;display:flex;justify-content:space-between;gap:22px;font:800 9px Arial,sans-serif;letter-spacing:.11em;color:#99a4a0}
.oy-page-hero{position:relative;min-height:345px;display:flex;flex-direction:column;justify-content:center;padding:65px clamp(16px,5vw,80px);background:#e7e8dd;overflow:hidden}
.oy-page-hero:before{content:'✳';font:900 350px/1 Arial,sans-serif;color:#d1d6c8;position:absolute;right:-2%;top:-80px;opacity:.5}
.oy-page-hero h1{font-size:clamp(54px,7vw,100px);margin:18px 0 17px;position:relative}
.oy-page-hero p{font-size:14px;color:#5e6a65;position:relative;line-height:1.9;max-width:600px}
.oy-page-hero .oy-eyebrow,.oy-page-index{position:relative}
.oy-page-index{position:absolute;bottom:20px;right:clamp(16px,5vw,80px);font:900 11px Arial,sans-serif;letter-spacing:.1em}
.oy-page-hero-indigo{background:#d5ddd9}.oy-page-hero-green{background:#cbdcd0}.oy-page-hero-accent{background:#eed7c8}
.oy-prose-grid{display:grid;grid-template-columns:32% 68%;padding:90px clamp(16px,5vw,80px);gap:0}
.oy-large-mark{font:900 120px Arial,sans-serif;color:#eb865f;margin-top:40px}
.oy-prose-grid h2{font-size:clamp(35px,5vw,74px);margin-bottom:25px;line-height:1.3}
.oy-prose-grid p,.oy-guidelines>p{font-size:15px;max-width:730px;color:#57625f;line-height:2.3;margin-bottom:25px}
.oy-info-panel{margin-top:48px;padding:35px 38px;background:#e9e8df;border-left:4px solid var(--oy-orange)}
.oy-info-panel span{display:block;font:900 10px Arial,sans-serif;letter-spacing:.15em;color:var(--oy-orange);margin-bottom:10px}
.oy-info-panel strong{font-size:20px;line-height:1.5}
.oy-info-panel p{font-size:13px;line-height:2;max-width:710px;margin:10px 0 0}
.oy-small-note{font-size:12px;color:#7d8984}
.oy-venue-cards{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:19px}
.oy-venue-card{background:#e7e8e0;padding:25px;display:flex;flex-direction:column;min-height:480px;transition:transform .2s}
.oy-venue-card.oy-venue-current{background:#263637;color:#fff}
.oy-venue-current:hover{transform:translateY(-5px)}
.oy-venue-num{font:900 10px Arial,sans-serif;letter-spacing:.13em}
.oy-venue-icon{font-size:25px;align-self:flex-end}
.oy-venue-art{height:228px;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}
.oy-venue-art-ring{width:230px;height:230px;border:3px solid #e6916a;border-radius:50%;position:absolute;box-shadow:0 0 60px #f07e5066}
.oy-venue-art-inner{width:135px;height:135px;border:1px solid #c9907d;border-radius:50%;position:absolute}
.oy-venue-art strong{font:900 51px/.9 Arial,sans-serif;letter-spacing:-.07em;z-index:1}
.oy-venue-card h3{font:900 clamp(23px,2.5vw,34px)/1.15 Arial,sans-serif;margin:16px 0 12px}
.oy-venue-card p{font-size:12px;line-height:2;color:#d8dfdb}.oy-venue-muted p{color:#707b77}
.oy-venue-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto;padding-top:35px;font:900 9px Arial,sans-serif;letter-spacing:.05em}
.oy-venue-current .oy-pill{color:#b7c5bd;border-color:#6a8480}
.oy-muted-icon{font:900 100px Arial,sans-serif;color:#bbc9c0;text-align:center;flex:1;display:grid;place-items:center}
.oy-stage-header{background:#17262b;color:#eaf1e9;padding:55px clamp(16px,5vw,80px);display:flex;justify-content:space-between;gap:20px;align-items:center}
.oy-stage-header h1{font:900 clamp(60px,7.5vw,120px)/1.05 Arial,sans-serif;letter-spacing:-.075em;margin:15px 0}
.oy-stage-header p{font-size:12px;color:#c3d1cb}.oy-eyebrow-light{color:#f1a57e}
.oy-stage-clock{display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap}
.oy-stage-clock span{font:900 10px Arial,sans-serif;letter-spacing:.12em;color:#9eafaa}
.oy-stage-clock strong{font:800 clamp(28px,3.3vw,54px) Arial,sans-serif;font-variant-numeric:tabular-nums}
.oy-stage-section{background:#f1f0e8;padding-top:36px}
.oy-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 17px;font:900 10px Arial,sans-serif;letter-spacing:.1em;color:#718078}
.oy-player{position:relative;height:clamp(370px,53vw,650px);overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#34474c,#18292e 55%,#10181c);color:#f6f7ef;display:flex;align-items:center;justify-content:center;text-align:center}
.oy-player-backdrop{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.oy-player-circle{position:absolute;width:54%;aspect-ratio:1;border:2px solid #df85575c;border-radius:50%;box-shadow:0 0 100px #e18b4b1c,inset 0 0 80px #e18b4b15}
.oy-player-wordmark{font:900 clamp(75px,13vw,235px)/1 Arial,sans-serif;letter-spacing:-.095em;color:#4d646637;white-space:nowrap;transform:rotate(-8deg)}
.oy-player-wordmark i{font-size:.25em}
.oy-player-center{position:relative;z-index:1;padding:28px}.oy-offair-icon{font-size:48px;color:#e1926c}
.oy-player-center h2{font:900 clamp(34px,5vw,72px)/1.2 Arial,sans-serif;letter-spacing:-.06em;margin:11px 0 14px}
.oy-player-center p{font-size:13px;color:#c6cfca;margin-bottom:30px}
.oy-player-status{border:1px solid #7b918d;padding:11px 18px;font:800 10px Arial,sans-serif;letter-spacing:.14em}
.oy-player-bottom{position:absolute;bottom:0;left:0;right:0;padding:15px 20px;display:flex;justify-content:space-between;gap:10px;font:800 10px Arial,sans-serif;color:#b0bdba;letter-spacing:.13em}
.oy-lineup{display:grid;grid-template-columns:1fr 1fr auto;background:#e3e6df;border-bottom:1px solid #cad2cc}
.oy-lineup-cell{padding:30px 24px;border-right:1px solid #c9d1cb}
.oy-lineup-cell h3{font-size:23px;margin:10px 0 6px}.oy-lineup-cell p{font-size:12px;color:#63706b}
.oy-lineup-link{background:#d4dcd3;padding:32px 24px;display:flex;align-items:center;gap:25px;font-size:12px;font-weight:900}
.oy-info-note{padding:17px 0;font-size:12px;color:#6c7974;line-height:1.8}
.oy-calendar{border:1px solid #d4d9d1;background:#fff}
.oy-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 27px;border-bottom:1px solid #d4d9d1}
.oy-calendar-month{font:900 28px Arial,sans-serif;letter-spacing:-.02em;margin-top:6px}
.oy-calendar-actions{display:flex;gap:8px}
.oy-calendar-actions button{border:1px solid #c4cbc5;background:#fff;padding:9px 14px;min-width:42px;font-size:12px;font-weight:800}
.oy-calendar-actions button:hover{background:#f1eee7}
.oy-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.oy-calendar-grid .oy-day-name,.oy-calendar-grid .oy-day{padding:13px 15px;border-bottom:1px solid #e4e9e3;border-right:1px solid #e4e9e3;min-height:58px;font:750 12px Arial,sans-serif}
.oy-day-name{text-align:center;color:#73807a;background:#f3f5ef;min-height:35px!important;padding:10px!important}
.oy-day.oy-day-empty{background:#fbfbf8}
.oy-day.oy-today{background:#fbe9df;color:#a94826}
.oy-day small{display:block;font-size:9px;font-weight:600;margin-top:7px;color:#b2bdb6}
.oy-calendar-note{padding:12px 20px;font-size:11px;color:#67716d}
.oy-empty-event-spacious{margin-top:38px}
.oy-empty-big{min-height:400px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid #d5dad3;padding:55px 24px;background:#f1f3ec}
.oy-empty-disc{width:95px;height:95px;border:2px solid #d0d8cd;border-radius:50%;display:grid;place-items:center;color:#9bac9c;font-size:50px;margin-bottom:24px}
.oy-empty-big h3{font-size:clamp(23px,3vw,38px);margin:15px 0}
.oy-empty-big p{max-width:620px;color:#6c7770;font-size:13px;line-height:2;margin-bottom:18px}
.oy-entry-banner{display:flex;align-items:flex-start;gap:18px;background:#f8ebe3;border-left:4px solid #df6a44;padding:25px 30px;margin-bottom:40px}
.oy-entry-banner-dot{width:10px;height:10px;background:#ec825a;border-radius:50%;margin-top:8px;flex:none}
.oy-entry-banner strong{font-size:17px}.oy-entry-banner p{font-size:12px;line-height:2;color:#7b6358;margin-top:8px}
.oy-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.oy-steps article{border:1px solid #d2d8cf;padding:28px;min-height:235px;display:flex;flex-direction:column}
.oy-steps article>span{font:900 41px Arial,sans-serif;letter-spacing:-.06em;color:#db8b6e}
.oy-steps h3{font-size:19px;margin:10px 0}.oy-steps p{font-size:12px;color:#707a74;line-height:1.9}.oy-steps small{font-weight:800;color:#bd785b;margin-top:auto;padding-top:15px}
.oy-guidelines{min-height:430px}
@media (max-width:1100px){.oy-nav{gap:12px}.oy-nav a{font-size:9px}.oy-hero{grid-template-columns:1fr 1fr}.oy-hero h1{font-size:clamp(64px,7vw,88px)}.oy-venue-cards{grid-template-columns:1fr 1fr}.oy-venue-card:first-child{grid-column:1/-1}.oy-venue-card{min-height:360px}}
@media (max-width:850px){.oy-header{padding:14px 22px}.oy-mobile-menu{display:block;margin-left:auto}.oy-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--oy-cream);border-bottom:2px solid #202b29;padding:15px 22px 23px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 16px 28px #0002}.oy-nav.oy-open{display:flex}.oy-nav a{padding:11px 8px!important;font-size:12px}.oy-nav a.oy-nav-entry{padding:13px!important;justify-content:space-between}.oy-hero{grid-template-columns:1fr;padding:0 22px}.oy-hero-copy{padding:60px 0 25px}.oy-hero h1{font-size:clamp(62px,12vw,100px);margin-top:25px}.oy-hero-art{margin:25px 0 35px;min-height:420px}.oy-intro,.oy-prose-grid{grid-template-columns:1fr;gap:33px}.oy-section-side{flex-direction:row}.oy-stage-header{align-items:start}.oy-stage-clock{padding-top:10px}.oy-footer-main{grid-template-columns:1fr 1fr}.oy-footer-brand{grid-column:1/-1}.oy-spotlight{align-items:start;flex-direction:column}.oy-room-grid{grid-template-columns:1fr 1fr}.oy-empty-event{flex-wrap:wrap}.oy-empty-event .oy-outline-link{margin-left:90px}}
@media (max-width:600px){.oy-meta{font-size:8px;letter-spacing:.08em;padding:0 15px}.oy-meta-right{display:none}.oy-header{padding:12px 16px}.oy-brand-type{font-size:22px}.oy-hero{padding:0 16px}.oy-hero-copy{padding-top:46px}.oy-hero h1{font-size:clamp(62px,15vw,91px)}.oy-hero-label{font-size:8px;letter-spacing:.07em;gap:7px}.oy-hero-lead{font-size:12px}.oy-actions{gap:8px;align-items:stretch}.oy-button{width:100%}.oy-button-text{width:auto}.oy-hero-art{min-height:330px}.oy-scene{min-height:310px}.oy-arch-text strong{font-size:94px}.oy-running{font-size:10px;gap:18px}.oy-section{padding:62px 16px}.oy-intro h2,.oy-section h2{font-size:clamp(35px,9vw,54px)}.oy-intro p{font-size:13px}.oy-room-grid{grid-template-columns:1fr}.oy-room-art{height:250px}.oy-room-copy{padding:20px}.oy-section-heading{align-items:start;flex-direction:column}.oy-spotlight{padding:55px 16px}.oy-spotlight h2{font-size:44px}.oy-empty-event{gap:15px;padding:25px 0}.oy-empty-icon{font-size:45px}.oy-empty-event h3{font-size:17px}.oy-empty-event .oy-outline-link{margin-left:0;width:100%;text-align:center}.oy-footer{padding:60px 16px 20px}.oy-footer-main{grid-template-columns:1fr;gap:21px;padding-bottom:48px}.oy-footer-brand{grid-column:auto}.oy-footer-bottom{flex-direction:column;font-size:8px}.oy-page-hero{min-height:290px;padding:48px 16px}.oy-page-hero h1{font-size:clamp(47px,11vw,68px)}.oy-page-hero:before{font-size:270px;top:0}.oy-page-index{right:16px}.oy-prose-grid{padding:60px 16px}.oy-large-mark{display:none}.oy-prose-grid h2{font-size:36px}.oy-prose-grid p,.oy-guidelines>p{font-size:13px}.oy-info-panel{padding:26px}.oy-info-panel strong{font-size:16px}.oy-venue-cards{grid-template-columns:1fr}.oy-venue-card:first-child{grid-column:auto}.oy-venue-card{min-height:370px}.oy-stage-header{padding:40px 16px;flex-direction:column}.oy-stage-header h1{font-size:58px}.oy-stage-clock{align-items:flex-start}.oy-player{height:420px}.oy-player-center h2{font-size:35px}.oy-player-status{font-size:9px}.oy-player-bottom{font-size:8px}.oy-lineup{grid-template-columns:1fr 1fr}.oy-lineup-cell{padding:24px 15px}.oy-lineup-cell h3{font-size:19px}.oy-lineup-link{grid-column:1/-1;padding:19px;justify-content:center}.oy-calendar-top{padding:20px 13px}.oy-calendar-month{font-size:23px}.oy-calendar-actions{gap:4px}.oy-calendar-actions button{padding:8px;min-width:35px}.oy-calendar-grid .oy-day-name,.oy-calendar-grid .oy-day{padding:10px 5px;min-height:55px;text-align:center}.oy-steps{grid-template-columns:1fr}.oy-steps article{min-height:175px}}
@media (prefers-reduced-motion: reduce){.oy-app *, .oy-app *::before,.oy-app *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* v0.1.1: desktop typography legibility refresh.
   Changes intentionally isolated from <=850px mobile rules. */
@media (min-width: 851px) {
  .oy-meta { font-size: 11px; letter-spacing: .14em; }
  .oy-brand-sub { font-size: 12px; }
  .oy-nav a { font-size: 15px; letter-spacing: .035em; }
  .oy-eyebrow { font-size: 14px; letter-spacing: .13em; }
  .oy-hero-label { font-size: 13px; letter-spacing: .08em; white-space: normal; }
  .oy-hero-foot { font-size: 13px; letter-spacing: .13em; }
  .oy-hall-caption, .oy-hall-bottom { font-size: 12px; letter-spacing: .12em; }
  .oy-arch-text span { font-size: 12px; }
  .oy-button { font-size: 15px; }
  .oy-section-number { font-size: 14px; }
  .oy-underlink { font-size: 16px; }
  .oy-room-type { font-size: 13px; }
  .oy-room-copy p { font-size: 15px; }
  .oy-pill { font-size: 13px; }
  .oy-live-tag { font-size: 13px; }
  .oy-empty-event p { font-size: 15px; }
  .oy-outline-link { font-size: 15px; }
  .oy-spotlight p { font-size: 15px; }
  .oy-link-arrow { font-size: 16px; }
  .oy-footer-main p { font-size: 15px; }
  .oy-footer-links { font-size: 14px; }
  .oy-footer-bottom { font-size: 12px; }
  .oy-page-index { font-size: 14px; }
  .oy-info-panel span { font-size: 13px; }
  .oy-info-panel p { font-size: 15px; }
  .oy-small-note { font-size: 14px; }
  .oy-venue-num { font-size: 13px; }
  .oy-venue-card p { font-size: 15px; }
  .oy-venue-foot { font-size: 13px; }
  .oy-stage-header p { font-size: 15px; }
  .oy-stage-clock span, .oy-stage-toolbar { font-size: 13px; }
  .oy-player-center p { font-size: 15px; }
  .oy-player-status, .oy-player-bottom { font-size: 13px; }
  .oy-lineup-cell p { font-size: 15px; }
  .oy-lineup-link { font-size: 15px; }
  .oy-info-note { font-size: 15px; }
  .oy-calendar-grid .oy-day-name, .oy-calendar-grid .oy-day { font-size: 14px; }
  .oy-day small { font-size: 12px; }
  .oy-calendar-note { font-size: 14px; }
  .oy-empty-big p { font-size: 15px; }
  .oy-entry-banner p { font-size: 15px; }
  .oy-steps p { font-size: 15px; }
}
/* Preserve legible 15px navigation labels by switching to the existing
   responsive menu before the horizontal desktop menu runs out of space. */
@media (min-width: 851px) and (max-width: 1160px) {
  .oy-mobile-menu { display: block; margin-left: auto; }
  .oy-nav {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    background: var(--oy-cream); border-bottom: 2px solid #202b29;
    padding: 15px 22px 23px; flex-direction: column; align-items: stretch;
    gap: 0; box-shadow: 0 16px 28px #0002;
  }
  .oy-nav.oy-open { display: flex; }
  .oy-nav a { padding: 13px 8px !important; font-size: 15px; }
  .oy-nav a.oy-nav-entry { padding: 13px !important; justify-content: space-between; }
}

/* v0.2.0: published artist and confirmed performance listings. */
.oy-artist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.oy-artist-card{background:#fff;border:1px solid #d6dcd4;padding:32px;min-width:0}
.oy-artist-card h3{font-size:clamp(24px,3vw,37px);margin:12px 0}
.oy-artist-card p{color:#616f6a;font-size:15px;line-height:1.9;margin:12px 0}
.oy-artist-card .oy-artist-genre{font-weight:800;color:#d36943}
.oy-events-list{border-top:1px solid #d2d6cf}
.oy-event-card{border-bottom:1px solid #d2d6cf;display:grid;grid-template-columns:145px 1fr;gap:25px;padding:25px 10px;align-items:center}
.oy-event-datetime{display:flex;flex-direction:column;gap:6px}
.oy-event-datetime strong{font:900 40px/1.15 Arial,sans-serif;letter-spacing:-.05em}
.oy-event-datetime span{font:800 12px Arial,sans-serif;color:#78837e}
.oy-event-detail h3{font-size:clamp(21px,2.5vw,32px);margin:8px 0}
.oy-event-detail p{font-size:15px;color:#66716d}
.oy-day.oy-has-event{background:#e8efe6}
.oy-day.oy-has-event small{color:#23714e;font-weight:850}
@media (max-width:600px){.oy-artist-grid{grid-template-columns:1fr}.oy-artist-card{padding:24px}.oy-event-card{grid-template-columns:90px 1fr;gap:12px}.oy-event-datetime strong{font-size:27px}.oy-event-datetime span{font-size:10px}.oy-calendar-grid .oy-day.oy-has-event small{font-size:9px}}

/* v0.2.1 artist registration example, isolated from live artist data. */
.oy-sample-wrap{margin-bottom:42px;scroll-margin-top:110px}
.oy-sample-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.oy-sample-heading h3{font-size:clamp(23px,3vw,32px);margin:7px 0 0}
.oy-sample-badge{display:inline-flex;align-items:center;background:#f8e7db;border:1px solid #ca754e;color:#713c27;font-size:14px;font-weight:850;line-height:1.6;padding:8px 13px}
.oy-sample-notice{font-size:15px;line-height:1.9;color:#52615a;margin-bottom:16px;max-width:920px}
.oy-artist-sample-card{border:2px solid #e4ad8e;max-width:1100px;background:#fffdfa}
.oy-sample-label{display:flex;gap:12px;align-items:center;font:800 14px/1.4 Arial,sans-serif;letter-spacing:.08em;color:#915437}
.oy-sample-label span{display:inline-block;background:#f8e7db;color:#77402c;padding:3px 9px;letter-spacing:0}
.oy-sample-fields{display:grid;grid-template-columns:1fr;gap:0;margin-top:23px}
.oy-sample-fields>div{display:grid;grid-template-columns:172px minmax(0,1fr);gap:16px;border-top:1px solid #e5e4de;padding:15px 0}
.oy-sample-fields dt{font-size:14px;font-weight:850;color:#5c6862}
.oy-sample-fields dd{font-size:16px;line-height:1.95;color:#26352f;margin:0;overflow-wrap:anywhere}
.oy-sample-footnote{font-size:15px;line-height:1.9;color:#51615a;margin-top:15px}
.oy-entry-sample-link{background:#f3f4ec;border:1px solid #d1d8cf;padding:25px 30px;margin:0 0 38px}
.oy-entry-sample-link h3{font-size:25px;margin:9px 0 7px}
.oy-entry-sample-link p{font-size:15px;color:#536158;line-height:1.9;margin-bottom:12px}
@media(max-width:600px){.oy-sample-heading{align-items:flex-start}.oy-artist-sample-card{padding:21px}.oy-sample-fields>div{grid-template-columns:1fr;gap:4px}.oy-sample-badge{font-size:13px}.oy-entry-sample-link{padding:24px 18px}}

/* v0.2.2: max 3 artist images; main photo required for public profile. */
.oy-artist-card figure{margin:0}
.oy-artist-main-photo{margin:0 0 20px!important;overflow:hidden;background:#eaece6;border:1px solid #d7dcd7}
.oy-artist-main-photo img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.oy-artist-photo-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.oy-artist-extra-photo{overflow:hidden;min-width:0;max-width:100%;background:#eaece6}
.oy-artist-extra-photo img{display:block;width:100%;max-width:100%;height:clamp(120px,18vw,220px);object-fit:contain;background:#162025}
.oy-artist-extra-photo figcaption{padding:8px 6px 10px;font-size:13px;line-height:1.5;color:#4b6056}
.oy-sample-photo-section{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:15px;margin:18px 0 24px}
.oy-sample-photo-main{border:1px solid #e2dfd7;background:#f4f2ed;min-width:0;max-width:100%;overflow:hidden}
.oy-sample-photo-main img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center top}
.oy-sample-photo-main figcaption{padding:12px 15px;display:flex;flex-direction:column;gap:3px}
.oy-sample-photo-main figcaption strong,.oy-sample-photo-empty strong,.oy-sample-photo-extra figcaption strong{font-size:14px;color:#264b3b;letter-spacing:.03em}
.oy-sample-photo-main figcaption span,.oy-sample-photo-empty span,.oy-sample-photo-extra figcaption span{font-size:13px;line-height:1.65;color:#56645c}
.oy-sample-photo-optional{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr 1fr;gap:15px;min-width:0;max-width:100%}
.oy-sample-photo-empty{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:20px;border:2px dashed #bac9c0;background:#f5f8f3;min-height:130px}
.oy-entry-photo-note{margin:0 0 24px;padding:26px 30px;background:#f7f6f1;border:1px solid #ccd4cb}
.oy-entry-photo-note h3{font-size:25px;margin:6px 0 12px}.oy-entry-photo-note p{font-size:15px;line-height:1.85;margin:8px 0;color:#52635b}
@media(max-width:690px){.oy-sample-photo-section{grid-template-columns:1fr}.oy-sample-photo-optional{grid-template-columns:1fr 1fr;grid-template-rows:auto}.oy-sample-photo-empty{min-height:140px;padding:15px}.oy-entry-photo-note{padding:20px}}
@media(max-width:400px){.oy-sample-photo-optional{grid-template-columns:1fr}}

/* v0.2.3: demo gallery ② user-supplied scene illustration / ③ user-supplied art. */
.oy-sample-photo-extra{margin:0;min-width:0;max-width:100%;overflow:hidden;border:1px solid #d5d8d2;background:#f4f2ed;display:flex;flex-direction:column}
.oy-sample-photo-extra img{display:block;width:100%;max-width:100%;min-width:0;min-height:0;height:clamp(140px,14vw,185px);object-fit:contain;object-position:center;background:#162025}
.oy-sample-photo-extra-art img{object-fit:contain;background:#111113}
.oy-sample-photo-extra figcaption{padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px;background:#f4f2ed}
@media (max-width:690px){.oy-sample-photo-extra img{height:clamp(130px,24vw,210px)}}
@media (max-width:400px){.oy-sample-photo-extra img{height:210px}}

/* v0.2.4: prevent intrinsic image sizes from expanding the grid. */
.oy-sample-photo-section,.oy-sample-photo-optional,.oy-sample-photo-section>*,.oy-sample-photo-optional>*{min-width:0;max-width:100%}
.oy-artist-sample-card{min-width:0;max-width:min(100%,1100px)}
.oy-sample-photo-extra img,.oy-sample-photo-main img{max-inline-size:100%;box-sizing:border-box}
@media(max-width:690px){.oy-sample-photo-optional{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.oy-sample-photo-extra img{height:clamp(150px,32vw,240px)}}
@media(max-width:400px){.oy-sample-photo-optional{grid-template-columns:minmax(0,1fr)}.oy-sample-photo-extra img{height:210px}}

/* v0.2.5: robust image bounds in the original 1-large / 2-stacked design. */
.oy-app .oy-artist-sample-card .oy-sample-photo-section{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
  gap:15px;
  min-width:0;
  max-width:100%;
}
.oy-app .oy-artist-sample-card .oy-sample-photo-section > *,
.oy-app .oy-artist-sample-card .oy-sample-photo-optional > *{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.oy-app .oy-artist-sample-card .oy-sample-photo-optional{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:repeat(2,minmax(0,auto));
  gap:15px;
  min-width:0;
  max-width:100%;
}
.oy-app .oy-artist-sample-card .oy-sample-photo-section img{
  display:block;
  box-sizing:border-box;
  inline-size:100%;
  max-inline-size:100%;
  min-inline-size:0;
  object-fit:contain;
}
.oy-app .oy-artist-sample-card .oy-sample-photo-extra img{
  block-size:clamp(140px,14vw,185px);
}
.oy-app .oy-artist-sample-card .oy-sample-photo-main img{
  block-size:auto;
  aspect-ratio:3 / 2;
}
@media (max-width:690px){
  .oy-app .oy-artist-sample-card .oy-sample-photo-section{grid-template-columns:minmax(0,1fr)}
  .oy-app .oy-artist-sample-card .oy-sample-photo-optional{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .oy-app .oy-artist-sample-card .oy-sample-photo-extra img{block-size:clamp(150px,32vw,240px)}
}
@media (max-width:400px){
  .oy-app .oy-artist-sample-card .oy-sample-photo-optional{grid-template-columns:minmax(0,1fr)}
  .oy-app .oy-artist-sample-card .oy-sample-photo-extra img{block-size:210px}
}

/* v0.3.0: Joomla account-linked artist registration form. */
.oy-app .oy-registration-wrap{margin:36px 0;padding:clamp(24px,3vw,45px);background:#e7ebe5;border:1px solid #c4d0c7;min-width:0}
.oy-app .oy-registration-wrap>p{font-size:15px;line-height:1.8;max-width:810px}
.oy-app .oy-register-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:25px}
.oy-app .oy-register-form label{font-size:14px;font-weight:750;display:flex;flex-direction:column;gap:7px;min-width:0}
.oy-app .oy-register-form input,.oy-app .oy-register-form textarea{width:100%;max-width:100%;padding:12px;background:#fff;border:1px solid #b7c6bc;border-radius:2px;color:#202b29;font:normal 16px/1.5 inherit}
.oy-app .oy-register-form > label:nth-child(4){grid-column:1/-1}
.oy-app .oy-register-form .oy-registration-note{grid-column:1/-1}
.oy-app .oy-register-form button{cursor:pointer;border:0;text-align:center}
.oy-app .oy-registration-note{font-size:13px;line-height:1.8;color:#4a5a52}
.oy-app .oy-register-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;align-items:center}
@media(max-width:750px){.oy-app .oy-register-form{grid-template-columns:minmax(0,1fr)}.oy-app .oy-register-form > label:nth-child(4){grid-column:auto}}

/* v0.3.3: distinguish stage invitation from registration; no changes to other nav items. */
.oy-nav a.oy-nav-entry{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 16px;line-height:1.2}
.oy-nav-entry-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px;white-space:nowrap}
.oy-nav-entry-text strong{font-size:15px;line-height:1.2;letter-spacing:.035em;font-weight:900}
.oy-nav-entry-text small{font-size:11px;line-height:1.15;letter-spacing:.035em;font-weight:700;color:rgba(255,255,255,.95)}
.oy-nav-entry-arrow{margin-left:auto;font-size:17px}
.oy-entry-hero-mark{position:absolute;bottom:29px;right:clamp(16px,5vw,80px);width:84px;height:12px;border-top:2px solid currentColor;opacity:.62}
.oy-entry-hero-mark::after{content:'';position:absolute;right:0;top:-6px;width:9px;height:9px;border-radius:50%;background:currentColor}
@media(max-width:1160px){.oy-nav.oy-open a.oy-nav-entry{justify-content:space-between;padding:12px 16px!important}}
@media(max-width:600px){.oy-entry-hero-mark{right:16px;bottom:20px;width:53px}}

/* v0.4.2: published / saved / preview cards share the registration sample layout. */
.oy-app .oy-artist-profile-card{max-width:1100px;width:100%}
.oy-app .oy-artist-profile-card .oy-sample-photo-section{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.oy-app .oy-artist-profile-card .oy-sample-photo-optional{display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr}
.oy-app .oy-artist-profile-card .oy-sample-photo-section>*,.oy-app .oy-artist-profile-card .oy-sample-photo-optional>*{min-width:0;max-width:100%}
.oy-app .oy-artist-profile-card .oy-sample-photo-extra img{block-size:clamp(140px,14vw,185px);object-fit:contain}
.oy-app .oy-profile-save-confirmation{border:2px solid #6b9e79;background:#f0faf1;padding:18px 22px;margin:20px 0;line-height:1.8}
.oy-app .oy-profile-current{margin:22px 0;padding:16px;border:1px solid #cad2ca}
.oy-app .oy-profile-current summary{cursor:pointer;font-weight:700}
.oy-app .oy-profile-current .oy-artist-card{margin-top:20px}
.oy-app .oy-profile-preview{margin-top:25px;padding:20px;background:#f5f5ef;border:2px solid #aab8ab}
.oy-app .oy-profile-preview[hidden]{display:none}
.oy-app .oy-profile-preview-heading h3{font-size:24px}
.oy-app .oy-profile-preview-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:20px}
.oy-app .oy-profile-preview-actions button{cursor:pointer;padding:12px 20px}
.oy-app .oy-artist-profile-card .oy-sample-photo-empty{min-height:120px}
@media(max-width:690px){.oy-app .oy-artist-profile-card .oy-sample-photo-section{grid-template-columns:minmax(0,1fr)}.oy-app .oy-artist-profile-card .oy-sample-photo-optional{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}}
@media(max-width:400px){.oy-app .oy-artist-profile-card .oy-sample-photo-optional{grid-template-columns:minmax(0,1fr)}}

.oy-app .oy-profile-preview [data-oy-card-bio]{white-space:pre-line}

.oy-app .oy-profile-name-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.oy-app .oy-profile-name-link:hover{text-decoration-thickness:2px}

/* 0.7.3: restore established fonts; keep readable descriptions. */
.oy-app .oy-copy-emphasis{font-weight:800}
.oy-app .oy-hero-lead,.oy-app .oy-intro p,.oy-app .oy-page-hero p,.oy-app .oy-prose-grid p,.oy-app .oy-about-programs p{font-size:16px;font-weight:400;line-height:2.1;color:#414b47}
.oy-app .oy-hero-copy{min-width:0}
.oy-app .oy-hero h1{font-size:clamp(32px,5.6vw,100px);letter-spacing:-.065em;white-space:normal;overflow-wrap:anywhere}
.oy-app .oy-actions{align-items:stretch}
.oy-app .oy-actions .oy-button{box-sizing:border-box;min-height:58px;padding-top:16px;padding-bottom:16px;line-height:1.5}
.oy-app .oy-footer-main>p{min-width:0;font-size:clamp(12px,1.1vw,15px);overflow-wrap:normal;line-break:strict}
.oy-app .oy-footer-main .oy-copy-emphasis{display:inline;font-weight:700}
@media(max-width:850px){.oy-app .oy-hero h1{font-size:clamp(30px,8.8vw,76px)}}
@media(max-width:600px){.oy-app .oy-hero-lead,.oy-app .oy-intro p,.oy-app .oy-page-hero p,.oy-app .oy-prose-grid p,.oy-app .oy-about-programs p{font-size:15px}.oy-app .oy-footer-main>p{font-size:14px}}

/* 0.7.4: consistent home actions and closing headline. */
.oy-app .oy-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:480px;align-items:stretch}
.oy-app .oy-actions .oy-button{width:100%;min-width:0;max-width:100%;margin:0;padding:16px 18px;gap:12px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.oy-app .oy-actions .oy-button>span{flex-shrink:0}
.oy-app .oy-home-spotlight{flex-direction:column;align-items:flex-start}
.oy-app .oy-home-spotlight>div{min-width:0;width:100%}
.oy-app .oy-home-spotlight h2{font-size:clamp(32px,5.6vw,100px);line-height:1.3;letter-spacing:-.065em;overflow-wrap:anywhere}
.oy-app .oy-home-spotlight h2 .oy-copy-emphasis{color:var(--oy-orange);white-space:nowrap}
@media(max-width:850px){.oy-app .oy-home-spotlight h2{font-size:clamp(30px,8.8vw,76px)}}
@media(max-width:600px){.oy-app .oy-actions{gap:10px}.oy-app .oy-actions .oy-button{font-size:12px;padding:14px 10px;min-height:58px;gap:6px}}

/* 0.7.5: let the closing description use the available desktop width. */
.oy-app .oy-home-spotlight p{max-width:100%;overflow-wrap:normal;word-break:normal;line-break:strict}


/* 0.7.6: full-width taxonomy and unambiguous checkbox labels. */
.oy-app .oy-register-form .oy-category-fields{grid-column:1/-1;min-width:0;width:100%}
.oy-app .oy-category-fields fieldset{min-width:0;margin:18px 0;padding:18px;border:1px solid var(--oy-line)}
.oy-app .oy-category-fields legend{font-size:16px;font-weight:700;padding:0 8px}
.oy-app .oy-category-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px 16px}
.oy-app .oy-register-form .oy-category-options label,.oy-app .oy-category-options label{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:9px;margin:0;padding:10px;background:#fff9;font-size:14px;line-height:1.7;font-weight:400;cursor:pointer}
.oy-app .oy-register-form .oy-category-options input[type=checkbox],.oy-app .oy-category-options input[type=checkbox]{appearance:auto;width:18px;height:18px;min-height:0;flex:0 0 18px;margin:3px 0 0;padding:0;accent-color:var(--oy-orange)}

.oy-app .oy-profile-extras{grid-column:1/-1;min-width:0}.oy-app .oy-social-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.oy-app .oy-profile-extras fieldset{padding:16px;margin:16px 0;border:1px solid var(--oy-line)}.oy-app .oy-social-links{display:flex;flex-wrap:wrap;gap:12px}.oy-app .oy-social-links a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--oy-line);border-radius:6px}.oy-app .oy-social-icon{display:inline-grid;place-items:center;min-width:30px;height:30px;background:var(--oy-ink);color:#fff;border-radius:6px;font-weight:800}.oy-app .oy-profile-social,.oy-app .oy-profile-notices{margin-top:24px}.oy-app .oy-profile-notices li{margin:12px 0;overflow-wrap:anywhere}

/* 0.8.2: account status remains visible beside responsive navigation. */
.oy-app .oy-brand{order:0}.oy-app .oy-nav{order:1}.oy-app .oy-account-link{order:2;display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 10px;border:1px solid var(--oy-line);border-radius:6px;margin-left:14px;color:var(--oy-ink);line-height:1.35}.oy-account-link>span{display:flex;flex-direction:column}.oy-account-link strong{font-size:13px}.oy-account-link small{font-size:10px;color:#53615b}.oy-app .oy-mobile-menu{order:3}
@media(min-width:1161px){.oy-app .oy-nav{gap:13px}.oy-app .oy-nav>a{font-size:13px}}
@media(max-width:1160px){.oy-app .oy-account-link{margin-left:auto}.oy-app .oy-mobile-menu{margin-left:12px}}
@media(max-width:380px){.oy-app .oy-account-link{gap:5px;padding:6px}.oy-account-link strong{font-size:11px}.oy-account-link small{font-size:9px}.oy-app .oy-mobile-menu{margin-left:8px}}

.oy-app .oy-member-home{padding:clamp(24px,4vw,64px);min-width:0}.oy-app .oy-member-heading h1{font-size:clamp(30px,4vw,48px);margin:12px 0}.oy-app .oy-member-status{display:inline-block;padding:6px 12px;margin:12px 0;background:#e4eee5;color:#315540;border-radius:4px;font-size:13px}.oy-app .oy-member-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 28px;padding-bottom:18px;border-bottom:1px solid var(--oy-line)}.oy-app .oy-member-tabs a{padding:12px 18px;border:1px solid var(--oy-line);border-radius:5px}.oy-app .oy-member-tabs a[aria-current]{background:var(--oy-orange);color:var(--oy-ink);font-weight:700}.oy-app [data-oy-member-panel][hidden]{display:none!important}.oy-app .oy-member-home .oy-registration-wrap{margin:0}.oy-app .oy-member-home .oy-media-library{padding:24px 0}

/* 0.8.4: distinguish initial registration from the member workspace. */
.oy-app[data-section="mypage"]{--oy-member-surface:#e7ebe5}
.oy-app .oy-member-status,.oy-app .oy-member-home [data-oy-member-panel]{background:var(--oy-member-surface,#e7ebe5)}
.oy-app .oy-member-home [data-oy-member-panel]{padding:clamp(20px,3vw,40px);border:1px solid #c4d0c7;border-radius:6px;min-width:0}
.oy-app .oy-member-home .oy-registration-wrap,.oy-app .oy-member-home .oy-media-library{background:transparent;border:0;margin:0;padding:0}
.oy-app[data-section="artist-profile"] .oy-registration-wrap{background:var(--oy-cream)}

.oy-app .oy-public-track-list{margin:12px 0;padding-left:1.5em;color:var(--oy-ink)}.oy-app .oy-public-track-list a{text-decoration:underline}.oy-app .oy-lineup-panel{padding:24px;background:#f3eee4;color:#26332e;margin:20px 0}.oy-app .oy-lineup-panel ol{padding-left:1.5em}.oy-app .oy-lineup-panel li{padding:8px 0}.oy-app .oy-lineup-panel span{display:block}

/* Historical alpha calendar examples, visibly distinct from upcoming bookings. */
.oy-calendar-test-notice{padding:16px;border:1px solid #b68236;border-radius:8px;background:#fff3dc;color:#493519;font-size:15px;line-height:1.8}
.oy-schedule-test-history{margin:24px 0;padding:16px;border:1px solid #aeb6bc;border-radius:8px}
.oy-schedule-test-history>summary{cursor:pointer;font-weight:700}
.oy-schedule-test-history .oy-events-list{margin-top:16px}
.oy-schedule-test-history .oy-event-card{background:#edf0f2;color:#26323a}
.oy-calendar .oy-day.oy-past{background:#e1e5e8;color:#46515a}
.oy-calendar .oy-day.oy-past small{color:#46515a}

.oy-calendar a.oy-day{display:block;text-decoration:none;color:inherit;cursor:pointer}
.oy-calendar a.oy-day:hover{outline:2px solid #b95012;outline-offset:-2px}
.oy-calendar a.oy-day:focus-visible{outline:3px solid #b95012;outline-offset:-3px}
.oy-event-card[data-oy-event-date]{scroll-margin-top:130px}
.oy-event-card:target,.oy-event-card[data-oy-event-date]:focus{outline:3px solid #b95012;outline-offset:3px}
