@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');
:root{--paper:#f8f5ee;--ink:#253c34;--muted:#7b8177;--gold:#b38342;--line:#e5e4d9;--green:#284b3e;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,a,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #d1ab65;outline-offset:4px}input:focus,select:focus{outline:2px solid #b28d53;outline-offset:2px}button svg{flex-shrink:0}.review-strip{background:#203b32;color:#e5e9db;text-align:center;min-height:29px;font-size:10px;letter-spacing:.9px;display:flex;align-items:center;justify-content:center;gap:9px;padding:6px 18px}.review-dot,.live-label>span{width:5px;height:5px;background:#b7c98e;border-radius:50%;display:inline-block}.strip-sep{opacity:.4;margin:0 5px}.review-strip button{background:none;color:#d9c394;font-size:10px;display:flex;gap:4px;align-items:center;margin-left:20px;padding:0}header{height:99px;max-width:1380px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 60px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:17px;letter-spacing:1.8px;line-height:1.25}.brand>span:last-child>span{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:3.1px;margin-top:6px}.brand-mark{color:var(--gold);display:grid;place-items:center;width:41px;height:41px;border:1px solid #cfbc94;border-radius:50%}nav{display:flex;gap:29px}nav button{background:none;padding:14px 0;font-size:12px;color:#818478;position:relative}nav button.nav-active{color:#294b3c}nav button.nav-active:after{position:absolute;content:'';width:4px;height:4px;border-radius:50%;background:#b38a4a;bottom:2px;left:50%}.header-cta{background:none;border:1px solid #bfc5b7;border-radius:6px;padding:12px 15px;display:flex;gap:19px;align-items:center;font-size:11px}.hero{max-width:1280px;margin:auto;padding:55px 60px 50px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:28px;min-height:584px;overflow:hidden}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:#a28046;display:flex;align-items:center;gap:8px;line-height:1.7}.eyebrow>span{width:17px;height:1px;background:#b18a50}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:66px;line-height:1.08;letter-spacing:-2px;font-weight:400;margin:19px 0 21px}h1 em{font-size:51px;color:#a37c42;font-weight:400;white-space:nowrap;letter-spacing:-2px}.hero-copy>p{color:#808278;font-size:12px;line-height:1.9;margin-bottom:23px}.event-meta{display:flex;gap:17px;flex-wrap:wrap;font-size:10px;color:#687367}.event-meta span{display:flex;align-items:center;gap:7px}.event-meta svg{color:#a08a60}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:29px}.primary{display:flex;align-items:center;justify-content:center;gap:24px;background:var(--green);color:#fffdf3;border-radius:5px;padding:16px 21px;font-size:12px;font-weight:500;box-shadow:0 5px 15px #163c2610;transition:background .2s,transform .2s}.primary:hover:not(:disabled){background:#365d4b;transform:translateY(-1px)}.hero-small{font-size:9px;color:#909284;line-height:1.8}.hero-small b{font-weight:400;color:#62705f}.year-note{font-size:9px;color:#a2a18f;margin-top:17px}.hero-art{position:relative;height:465px;display:grid;place-items:center;perspective:1000px}.poster-frame{position:relative;width:292px;height:392px;transform:rotate(5deg) rotateY(-9deg);border-radius:150px 150px 11px 11px;box-shadow:18px 27px 50px #664d252e,0 0 0 8px #f0e8d7;overflow:hidden;z-index:2;animation:poster-enter 1.5s ease both}.poster-frame img{width:100%;height:100%;object-fit:cover}.halo{position:absolute;left:50%;top:49%;border:1px solid #d9cbb0;border-radius:50%;transform:translate(-50%,-50%) rotate(-15deg);width:400px;height:400px}.halo-two{width:470px;height:470px;border-color:#e8ddc8;transform:translate(-50%,-50%) rotate(15deg)}.hero-art:before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse,#ecd6aa77,transparent 68%)}.orbit-word{position:absolute;top:0;right:26px;transform:rotate(13deg);font-size:8px;letter-spacing:4px;color:#baa273}.floating-card{position:absolute;z-index:3;background:#fffdf7ec;backdrop-filter:blur(12px);box-shadow:0 13px 35px #514b2520;border:1px solid #fff;border-radius:9px;display:flex;align-items:center;padding:14px 16px;gap:11px;font-size:11px;font-weight:500;animation:float 6s ease-in-out infinite}.floating-card small{display:block;font-size:9px;font-weight:400;color:#8a8e7f;margin-top:4px}.venue-card{left:-17px;bottom:91px;transform:rotate(-4deg)}.mini-icon{color:#9e7e41;background:#f4ecd8;padding:10px;display:grid;place-items:center;border-radius:50%}.qr-card{right:-10px;bottom:16px;transform:rotate(3deg);animation-delay:-3s}.qr-card>svg{color:#738861}.art-star{position:absolute;color:#b38a47;font-size:27px}.star-one{left:13px;top:43px}.star-two{right:0;top:75px;font-size:40px}.experience-bar{max-width:1160px;margin:0 auto;border-block:1px solid var(--line);padding:22px 22px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#70786b}.experience-bar span{display:flex;align-items:center;gap:10px}.experience-bar svg{color:#a08b61}.experience-bar i{height:14px;border-left:1px solid #dddccf}.booking-section{max-width:1280px;margin:auto;padding:63px 60px 35px;scroll-margin-top:20px}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}h2{font-family:var(--serif);font-size:35px;font-weight:400;letter-spacing:-.8px;margin:10px 0 10px}.section-top p{font-size:11px;color:var(--muted);margin:0}.live-label{font-size:9px;display:flex;gap:7px;align-items:center;color:#6d8067;white-space:nowrap}.live-label>span{background:#66875f;box-shadow:0 0 0 3px #73996213}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:23px;align-items:start}.seat-panel{border:1px solid #dedfd4;border-radius:10px;overflow:hidden;background:#fdfbf6;box-shadow:0 8px 30px #30453104}.seat-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 21px}.view-toggle{display:flex;border:1px solid #dedfd5;padding:3px;border-radius:6px;gap:3px}.view-toggle button{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:9px;background:transparent;border-radius:4px;color:#7d8275}.view-toggle .active{color:#fff;background:#365244;box-shadow:0 2px 5px #203b321a}.zoom-controls{display:flex;align-items:center;gap:10px;font-size:9px;color:#7f8476}.zoom-controls button{display:grid;place-items:center;background:none;padding:6px}.auditorium{margin:0 12px;background:radial-gradient(ellipse at 50% 0%,#3b4332 0%,#1d2e29 40%,#162923 100%);border-radius:7px;padding:35px 8px 18px;position:relative;overflow:hidden}.ceiling-glow{position:absolute;left:15%;top:0;width:70%;height:90px;filter:blur(25px);background:radial-gradient(ellipse at top,#d4ac6133,transparent)}.stage{position:relative;width:72%;height:62px;margin:0 auto 31px;text-align:center;perspective:300px;border-top:1px solid #bd9b61;border-radius:50% 50% 0 0 / 15% 15% 0 0;background:linear-gradient(180deg,#d1ab6414,transparent);padding-top:15px;color:#dcc393}.stage:before{content:'';position:absolute;inset:-3px 10px 0;border-top:1px solid #cfac6366;border-radius:50% 50% 0 0 / 15% 15% 0 0}.stage:after{content:'';position:absolute;top:0;left:10%;right:10%;height:10px;filter:blur(12px);background:#ddb96b88}.stage>span{font-family:var(--serif);font-size:12px;letter-spacing:3px}.stage>small{display:block;font-size:6px;letter-spacing:3px;margin-top:8px;color:#a7a998}.seat-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#536455 transparent;padding:0 8px 15px;perspective:1400px}.seat-floor{width:100%;min-width:510px;display:flex;flex-direction:column;gap:5px;transform:scale(var(--zoom));transform-origin:50% 0;transition:transform .55s ease,padding .55s; padding-bottom:10px}.seat-floor.isometric{transform:perspective(1200px) rotateX(23deg) scale(var(--zoom));transform-origin:50% 25%;padding-top:3px}.seat-row{display:flex;align-items:center;gap:10px;justify-content:center}.row-chairs{display:flex;justify-content:center;gap:4px;min-height:14px;align-items:center}.chair{position:relative;width:16px;height:13px;padding:0;border:1px solid #bd9f5d88;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,#b99a60,#8d784a);color:#e8dfc8;box-shadow:0 3px 0 #665936,0 4px 2px #0005;transition:transform .18s,filter .18s,opacity .18s}.chair span{font-size:6px;position:relative;top:-1px}.chair:after{content:'';position:absolute;left:-2px;right:-2px;bottom:1px;height:3px;border-inline:2px solid #baa27588;pointer-events:none}.chair:hover:not(:disabled){transform:translateY(-3px);filter:brightness(1.3);z-index:2}.chair:disabled{opacity:1}.chair.p799{background:linear-gradient(#809583,#5d7464);border-color:#8a9a8099;box-shadow:0 3px 0 #3e584b,0 4px 2px #0005}.chair.p599{background:linear-gradient(#8c989b,#67777e);border-color:#98a2a199;box-shadow:0 3px 0 #44585f,0 4px 2px #0005}.chair.p399{background:linear-gradient(#96869a,#78677a);border-color:#a094a299;box-shadow:0 3px 0 #56445d,0 4px 2px #0005}.chair.sponsor,.chair.booked,.chair.blocked{background:#31433b;border-color:#52605244;box-shadow:0 3px 0 #23372e;color:#68756c}.chair.held{background:#947347;border-color:#b88f53;box-shadow:0 3px 0 #6e562c;color:#d9bd86}.chair.chosen{background:#d7bb76;border-color:#ffe2a4;color:#273d31;box-shadow:0 3px 0 #9e8040,0 0 10px #e3bc6e66;transform:translateY(-2px)}.chair.dimmed:not(.chosen){opacity:.22}.row-label{width:8px;font-size:7px;color:#89998a;text-align:center}.row-A{margin-bottom:5px}.row-G{margin-top:7px}.row-M{margin-top:8px}.row-W{margin-top:7px}.map-caption{display:flex;justify-content:center;gap:17px;margin-top:14px;flex-wrap:wrap}.map-caption>span{display:flex;align-items:center;gap:5px;font-size:7px;color:#a1ad9e}.status-dot{display:inline-block;width:6px;height:6px;border-radius:2px}.available-dot{background:#8b9d83}.chosen-dot{background:#e6c77c}.held-dot{background:#b39056}.booked-dot{background:#475b50}.price-filter{display:flex;align-items:center;justify-content:center;gap:12px;padding:19px 10px 13px;flex-wrap:wrap}.price-filter>span{font-size:7px;letter-spacing:1.4px;color:#8b8e80;margin-right:5px}.price-filter button{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid #dedfd4;border-radius:4px;padding:6px 9px;font-size:9px}.price-filter button.filter-active{border-color:#52755c;background:#e4e9de}.price-filter button>span{height:7px;width:7px;border-radius:2px;background:#b4965a}.price-filter .filter-799>span{background:#809680}.price-filter .filter-599>span{background:#86949b}.price-filter .filter-399>span{background:#a495aa}.map-help{font-size:8px;color:#979b8b;padding:0 20px 17px;text-align:center;line-height:1.6}.map-help svg{vertical-align:middle;margin-right:4px}.map-help>span{display:block;font-size:8px;margin-top:2px}.booking-summary{background:#fffdf8;border:1px solid #e0e1d6;border-radius:10px;padding:23px 21px;box-shadow:0 8px 30px #30453104;position:sticky;top:20px}.summary-top{display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:1.5px;color:#9a895f}.booking-summary h3{font-family:var(--serif);font-size:23px;font-weight:400;letter-spacing:-.7px;margin:15px 0 24px}.summary-event{display:flex;gap:12px;align-items:center}.summary-event img{width:44px;height:57px;object-fit:cover;border-radius:4px}.summary-event strong{font-size:11px;font-weight:500;display:block}.summary-event span{font-size:9px;color:#949789;display:block;margin:5px 0 8px}.summary-event small{font-size:8px;color:#6c7d68}.summary-line{display:flex;gap:9px;align-items:center;font-size:9px;margin-top:18px;color:#7b826f}.summary-line small{display:block;font-size:8px;color:#a1a292;margin-top:4px}.summary-divider{border-top:1px dashed #dcded1;margin:22px 0}.selected-label{display:flex;justify-content:space-between;font-size:10px}.selected-label b{font-size:8px;color:#89947d;font-weight:400}.empty-selection{display:flex;align-items:center;justify-content:center;gap:11px;padding:30px 0;color:#acb49e}.empty-selection span{font-size:10px;color:#87917c}.empty-selection small{display:block;font-size:8px;color:#b0b3a2;margin-top:5px}.selected-chips{display:flex;gap:5px;flex-wrap:wrap;margin:13px 0}.selected-chips button,.checkout-seats span{background:#eff1e7;border:1px solid #d5dfca;border-radius:4px;color:#4a684a;padding:6px 8px;font-size:10px;display:flex;align-items:center;gap:7px}.ticket-lines{font-size:9px;color:#7d8774;margin:15px 0}.ticket-lines>div{display:flex;justify-content:space-between;margin:8px 0}.hold-timer{display:flex;align-items:center;gap:6px;background:#f6efdf;color:#9a7940;padding:10px;border-radius:5px;font-size:10px;margin:14px 0}.hold-timer strong,.hold-timer b{margin-left:auto;font-variant-numeric:tabular-nums}.summary-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0;align-items:center;font-size:10px}.summary-total small{display:block;font-size:7px;color:#a0a38e;margin-top:5px}.summary-total b{font-size:24px;font-weight:500;letter-spacing:-1px}.continue{width:100%;font-size:10px;gap:14px;padding:14px}.secure-note{display:flex;align-items:center;gap:5px;justify-content:center;font-size:7px;color:#8d9980;margin-top:13px}.summary-foot{margin-top:23px;border-top:1px solid var(--line);padding-top:20px;text-align:center;font:14px/1.6 var(--serif);color:#a5a88e}.summary-foot em{color:#728363}.text-button{background:none;font-size:9px;color:#8d8469}.release{display:block;margin:12px auto 0}.closing{display:flex;align-items:center;justify-content:center;gap:50px;text-align:center;padding:60px 20px 75px}.closing>span{color:#c4ac7c;font-size:17px}.closing p{font:27px/1.5 var(--serif);font-weight:400;margin:0;color:#607454}.closing em{color:#ab8d53}.error-banner{position:sticky;top:0;z-index:50;background:#fbeae3;color:#974d39;padding:14px 30px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px}.error-banner button{background:none;display:flex}.workspace{max-width:1160px;margin:0 auto;padding:58px 35px 85px;min-height:650px}.page-title{font-size:46px;line-height:1.17;letter-spacing:-1.3px;margin:15px 0 24px}.page-title em{font-size:44px}.page-sub{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-sub p,.workspace-intro{font-size:12px;color:#8a8f7f;margin:0}.outline-button{border:1px solid #ced3c5;border-radius:5px;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 15px;background:transparent;font-size:11px}.outline-button:hover{background:#e9ede2}.review-notice{font-size:11px;color:#8c805e;background:#f1ebdb;border:1px solid #e7dec5;border-radius:5px;padding:13px 16px;display:flex;gap:10px;align-items:center;line-height:1.6}.empty-page{text-align:center;padding:75px 20px;color:#7d9075}.empty-page>svg{margin-bottom:18px}.empty-page h3{font-family:var(--serif);font-size:27px;font-weight:400}.empty-page p{font-size:12px;color:#8e9687}.empty-page button{margin:25px auto 0}.ticket-tools{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#919780;margin:28px 0 20px}.tickets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ticket-card{background:#fffef8;border:1px solid #e0e1d5;border-radius:11px;overflow:hidden;box-shadow:0 14px 30px #34452608;break-inside:avoid}.ticket-band{display:flex;align-items:center;justify-content:space-between;background:#29493a;color:#e4cc95;padding:18px 20px;font:12px var(--serif);letter-spacing:2px}.ticket-content{padding:25px 23px}.ticket-content>.eyebrow{font-size:7px;letter-spacing:1px}.ticket-content h3{font:24px var(--serif);margin:12px 0}.ticket-content>p{font-size:10px;line-height:1.9;color:#8a8e7e}.ticket-seat{display:flex;gap:23px;margin-top:22px}.ticket-seat>span{font-size:8px;letter-spacing:1px;color:#9ca48b}.ticket-seat strong{font:30px var(--serif);display:block;color:#425c40;margin-top:5px}.ticket-seat strong.guest-name{font-family:inherit;font-size:12px;line-height:1.5;letter-spacing:0;word-break:break-word}.ticket-perforation{border-top:1px dashed #d8dbc9;position:relative}.ticket-perforation:before,.ticket-perforation:after{content:'';height:21px;width:21px;background:var(--paper);position:absolute;top:-11px;border:1px solid #dddccf;border-radius:50%}.ticket-perforation:before{left:-11px}.ticket-perforation:after{right:-11px}.ticket-qr{text-align:center;padding:20px}.ticket-qr>img{width:160px;height:160px;display:block;margin:0 auto 14px}.ticket-status{display:flex;align-items:center;justify-content:center;gap:5px;color:#66825a;font-size:10px;margin-bottom:13px}.ticket-status>span{width:5px;height:5px;border-radius:50%;background:#748d5a}.ticket-status.used{color:#a27840}.ticket-status.used>span{background:#a27840}.ticket-qr>small{font-size:8px;color:#8e9780;letter-spacing:1px}.ticket-qr>p{font-size:9px;color:#a4ac99;margin:10px 0 0}.token-details{text-align:left;font-size:9px;color:#89967d;margin-top:17px}.token-details summary{cursor:pointer}.token-details code{display:block;word-break:break-all;padding:10px;background:#eef0e7;margin-top:7px;font-size:8px;user-select:all}.staff-lock{margin:45px auto 0;max-width:390px;background:#fffdf8;border:1px solid var(--line);border-radius:10px;padding:34px;text-align:center}.lock-circle{width:60px;height:60px;background:#eff0e2;border-radius:50%;display:grid;place-items:center;color:#a48a4d;margin:0 auto 20px}.staff-lock h3{font:28px var(--serif);margin-bottom:12px}.staff-lock p{font-size:12px;line-height:1.7;color:#959985}.staff-lock label{text-align:left}.staff-lock button{width:100%;margin-top:19px}.staff-lock>small{display:block;font-size:9px;color:#a2a58f;margin-top:18px}label{display:block;font-size:11px;color:#6f7b62}input,select{display:block;width:100%;border:1px solid #d8dccd;background:#fffef9;border-radius:5px;padding:12px;color:var(--ink);margin-top:8px;font-size:12px}.scanner-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:37px}.scanner-card,.scan-feedback{border:1px solid var(--line);border-radius:10px;background:#fffdf8;padding:27px}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.card-heading h3{font:24px var(--serif);margin:0}.camera-area{min-height:310px;background:#edf0e4;border:1px solid #dde3d2;border-radius:8px;text-align:center;margin:20px 0;padding:25px 15px;color:#80956b}.scan-corners{padding:30px 0 10px}.camera-area p{font-size:11px;margin:14px 0 20px}.camera-area .primary{margin:auto;gap:10px}.full{width:100%}.scanner-card form>button{margin-top:12px}.scan-feedback{display:grid;place-items:center}.scan-ready{color:#8b997b;padding:30px;text-align:center}.scan-ready h3{font:27px/1.5 var(--serif);margin:24px 0 13px}.scan-ready p{font-size:11px;line-height:1.8;margin-bottom:28px}.scan-ready>div{display:flex;align-items:center;gap:8px;justify-content:center;font-size:11px;margin:15px 0}.scan-status{text-align:center;padding:20px}.scan-status>svg{margin-bottom:25px}.scan-status.success{color:#527a4d}.scan-status.rejected{color:#ad614b}.scan-status .eyebrow{justify-content:center}.scan-status h2{font-size:30px}.admit-seat{font:65px var(--serif);margin:22px 0 10px}.scan-status p{font-size:12px;line-height:1.8}.scan-status small{font-size:10px}.scan-status button{margin:25px auto 0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}.stat{background:#fffef8;border:1px solid var(--line);border-radius:8px;padding:24px}.stat span{font-size:11px;color:#929782}.stat strong{display:block;font:34px var(--serif);margin:15px 0 10px}.stat small{font-size:9px;color:#a5aa94}.admin-controls{display:flex;justify-content:space-between;gap:15px;margin:30px 0 18px}.admin-controls label{display:flex;align-items:center;gap:10px;flex:1;max-width:400px}.admin-controls input{margin:0}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:7px;background:#fffdf8}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}th{text-align:left;background:#ebeee3;padding:15px 19px;font-weight:500;color:#7b896c}td{padding:19px;border-bottom:1px solid var(--line)}td b{font-weight:500;font-size:10px}td small{display:block;font-size:9px;color:#9ca28c;margin-top:7px}.block-form{display:flex;align-items:center;gap:17px;background:#edeedf;border-radius:7px;padding:25px;margin-top:25px}.block-form>div{flex:1}.block-form h3{font:19px var(--serif);margin:0 0 8px}.block-form p{font-size:10px;color:#8b927a;margin:0}.block-form input{width:100px;margin:0}.block-form button{white-space:nowrap}.modal-backdrop{position:fixed;inset:0;background:#132d26a8;backdrop-filter:blur(8px);z-index:100;display:grid;place-items:center;padding:20px}.modal{position:relative;max-width:440px;width:100%;padding:35px;background:#fcfaf2;border:1px solid #ede7d4;border-radius:12px;box-shadow:0 35px 100px #0e261d66;max-height:90dvh;overflow:auto}.modal-close{position:absolute;top:15px;right:15px;background:none;padding:5px}.modal h2{font-size:35px;line-height:1.3;margin:17px 0 25px}.modal h2 em{color:#a4864c}.checkout-seats{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.modal label{margin-top:20px}.modal .review-notice{font-size:10px;margin-bottom:18px}.modal>p{font-size:12px;line-height:1.9;color:#808c73}.modal>button.full{margin-top:23px}footer{max-width:1160px;padding:30px 0 35px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin:auto}footer .brand{font-size:12px}footer .brand>span:last-child>span{font-size:6px;letter-spacing:2px}footer .brand-mark{width:34px;height:34px}footer>p{font-size:10px;color:#8c957e;margin:0}footer>span{font-size:9px;color:#aaad99}.map-loading{color:#b0bba8;text-align:center;padding:130px 10px;font-size:12px}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes poster-enter{from{opacity:0;transform:rotate(9deg) rotateY(-15deg) translateY(20px)}to{opacity:1;transform:rotate(5deg) rotateY(-9deg)}}
@media(min-width:1400px){.hero{padding-block:65px;min-height:640px}.hero h1{font-size:76px}.hero h1 em{font-size:57px}.hero-art{height:480px}.poster-frame{width:313px;height:422px}.chair{width:18px;height:14px}.row-chairs{gap:5px}.seat-floor{gap:6px}.auditorium{padding-top:40px}}
@media(max-width:1100px){header{padding:0 30px}.hero{padding:40px 35px;gap:12px}.hero h1{font-size:56px}.hero h1 em{font-size:40px}.hero-art{height:420px}.poster-frame{width:250px;height:337px}.halo{width:340px;height:340px}.halo-two{width:390px;height:390px}.venue-card{left:0;bottom:65px}.qr-card{right:-5px;bottom:4px}.experience-bar{margin-inline:30px}.booking-section{padding-inline:30px}.booking-layout{grid-template-columns:minmax(0,1fr) 270px;gap:15px}.booking-summary{padding:20px 17px}.seat-toolbar{padding:12px}footer{margin:0 30px}.tickets-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){header{height:81px;padding:0 20px}.brand{font-size:14px;gap:8px}.brand>span:last-child>span{font-size:7px;letter-spacing:2px}nav{gap:15px}nav button{font-size:10px}.header-cta{display:none}.hero{padding:40px 25px 35px;grid-template-columns:1.1fr 1fr;min-height:460px}.hero h1{font-size:46px}.hero h1 em{font-size:33px}.hero .eyebrow{font-size:7px;letter-spacing:1.3px}.hero-copy>p{font-size:11px}.event-meta{font-size:9px;gap:10px}.hero-actions{gap:12px;margin-top:22px}.hero-small{font-size:8px}.hero-art{height:360px}.poster-frame{width:210px;height:282px}.halo{width:270px;height:270px}.halo-two{width:320px;height:320px}.floating-card{padding:11px 12px;font-size:9px;gap:8px}.floating-card small{font-size:7px}.venue-card{left:-17px;bottom:50px}.qr-card{right:-5px;bottom:4px}.mini-icon{padding:7px}.orbit-word{font-size:6px;right:0}.experience-bar{gap:12px;padding:18px 0;font-size:8px}.experience-bar span{gap:6px}.experience-bar svg{width:14px}.booking-section{padding:45px 20px 20px}.section-top{align-items:flex-start;gap:15px}.section-top h2{font-size:30px}.section-top p{font-size:10px}.section-top .live-label{margin-top:15px;font-size:8px}.booking-layout{grid-template-columns:minmax(0,1fr)}.booking-summary{position:relative;display:block;padding:24px}.summary-event,.summary-line,.summary-foot{display:none}.booking-summary h3{margin:10px 0 15px}.summary-divider{margin:0 0 17px}.summary-top{font-size:8px}.summary-total small,.secure-note{font-size:9px}.continue{font-size:12px}.selected-label{font-size:12px}.empty-selection{padding:20px}.empty-selection span{font-size:12px}.empty-selection small{font-size:10px}.ticket-lines{font-size:12px}.hold-timer{font-size:12px}.selected-chips button{font-size:12px}.seat-floor{min-width:550px}.chair{width:18px;height:14px}.seat-row{gap:11px}.row-chairs{gap:5px}.seat-floor{gap:6px}.chair span{font-size:7px}.row-label{font-size:8px}.auditorium{padding-top:30px}.map-caption>span{font-size:8px}.price-filter button{font-size:11px}.map-help{font-size:9px}.closing{padding:40px 20px 50px;gap:30px}.closing p{font-size:24px}footer{margin:0 20px;flex-wrap:wrap;gap:20px}footer>span{display:none}.workspace{padding:40px 20px 60px}.page-title,.page-title em{font-size:38px}.scanner-layout{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.block-form{flex-wrap:wrap}.block-form>div{flex-basis:100%}}
@media(max-width:560px){.review-strip{font-size:8px;gap:5px;letter-spacing:.3px;padding:7px 10px}.review-strip button{display:none}.strip-sep{margin:0 2px}header{flex-wrap:wrap;height:auto;padding:19px 20px 0;gap:18px}.brand{font-size:14px}.brand-mark{width:35px;height:35px}nav{width:100%;justify-content:space-between;gap:5px;border-top:1px solid #e7e7dc}nav button{font-size:10px;padding:13px 0}nav button.nav-active:after{bottom:4px}.hero{display:flex;flex-direction:column;padding:30px 23px 25px;gap:20px;overflow:hidden}.hero-copy{width:100%}.hero .eyebrow{font-size:7px;letter-spacing:1.5px}.hero h1{font-size:54px;line-height:1.07;margin:17px 0 19px}.hero h1 em{font-size:38px;letter-spacing:-1.6px}.hero-copy>p{font-size:11px;line-height:1.8;margin-bottom:19px}.event-meta{font-size:9px;gap:15px}.event-meta svg{width:13px}.hero-actions{margin-top:22px;gap:22px}.hero-actions>.primary{font-size:11px;padding:14px 18px}.hero-small{font-size:9px}.year-note{font-size:8px;margin-top:13px}.hero-art{height:365px;width:100%;max-width:360px;margin-top:7px}.poster-frame{width:227px;height:305px}.halo{width:280px;height:280px}.halo-two{width:335px;height:335px}.floating-card{font-size:10px}.floating-card small{font-size:8px}.venue-card{left:0;bottom:53px}.qr-card{right:-3px;bottom:1px}.star-one{left:2px;top:20px}.star-two{right:1px;top:48px}.orbit-word{top:5px;right:10px}.experience-bar{margin:0 20px;padding:20px 0;display:grid;grid-template-columns:1fr 1fr;row-gap:19px;font-size:9px}.experience-bar i{display:none}.experience-bar span{gap:7px}.booking-section{padding:37px 14px 20px}.section-top{display:block;margin-bottom:20px;padding:0 7px}.section-top h2{font-size:30px;margin-top:8px}.section-top .eyebrow{font-size:7px;letter-spacing:1.4px}.section-top p{font-size:11px}.section-top .live-label{margin-top:18px}.seat-toolbar{padding:13px 11px}.view-toggle button{font-size:9px}.zoom-controls{gap:6px}.auditorium{margin:0 7px;padding-inline:0}.stage{width:80%;margin-bottom:19px}.stage>span{font-size:10px}.seat-scroll{padding-inline:13px}.seat-floor{width:550px;min-width:550px;transform-origin:left top}.seat-floor.isometric{transform:perspective(1200px) rotateX(16deg) scale(var(--zoom));transform-origin:0 25%}.map-caption{gap:12px;padding:0 7px}.map-caption>span{font-size:7px}.price-filter{gap:7px;padding:16px 8px 10px}.price-filter>span{flex-basis:100%;text-align:center;margin-bottom:4px}.price-filter button{font-size:10px;padding:6px 9px}.map-help{font-size:8px;padding:0 15px 14px}.map-help>span{font-size:8px}.booking-summary{padding:22px 20px}.booking-summary h3{font-size:26px}.summary-top{font-size:8px}.empty-selection{justify-content:flex-start;padding:25px 0}.summary-total{font-size:12px}.summary-total b{font-size:27px}.summary-total small{font-size:8px}.secure-note{font-size:8px}.closing{padding:30px 10px 45px;gap:17px}.closing p{font-size:22px}.closing>span{font-size:12px}footer{padding-block:25px;display:block}footer>p{font-size:9px;margin-top:19px}.workspace{padding:35px 18px 50px}.page-title,.page-title em{font-size:32px;white-space:normal;letter-spacing:-1px}.page-sub{display:block}.page-sub p{font-size:11px;line-height:1.7}.page-sub button{margin-top:17px}.review-notice{font-size:10px;padding:11px 12px}.tickets-grid{grid-template-columns:1fr}.ticket-card{max-width:360px;width:100%;margin:auto}.ticket-tools{font-size:10px;gap:12px}.outline-button{font-size:10px;padding:10px 12px}.staff-lock{padding:28px 23px}.scanner-card,.scan-feedback{padding:22px}.scan-ready{padding:15px}.camera-area{min-height:290px}.stat-grid{gap:10px}.stat{padding:18px 14px}.stat strong{font-size:28px}.stat span{font-size:9px}.stat small{font-size:8px}.admin-controls{gap:10px}.admin-controls input{font-size:10px}.block-form{padding:20px}.block-form h3{font-size:18px}.block-form p{line-height:1.7}.modal{padding:30px 25px}.modal h2{font-size:31px}.error-banner{font-size:10px;padding:12px 15px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.review-strip,header,footer,.page-title,.page-sub,.ticket-tools,.review-notice,.eyebrow,.token-details,.error-banner{display:none!important}.workspace{padding:0}.tickets-grid{grid-template-columns:repeat(2,1fr);gap:20px}.ticket-card{box-shadow:none;break-inside:avoid}.ticket-band{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ticket-content>.eyebrow{display:block!important}.ticket-perforation:before,.ticket-perforation:after{background:white}}
.mobile-hint,.mobile-booking-bar{display:none!important}@media(max-width:800px){.map-help>.mobile-hint{display:block!important;margin:0 0 9px;color:#758568;font-size:10px}.mobile-booking-bar{position:fixed;z-index:40;bottom:12px;left:14px;right:14px;display:flex!important;justify-content:space-between;align-items:center;padding:12px 14px;background:#fffdf7ed;backdrop-filter:blur(12px);border:1px solid #d2dac6;border-radius:9px;box-shadow:0 5px 35px #213b3233}.mobile-booking-bar b{font-size:12px;font-weight:500}.mobile-booking-bar span{display:block;font-size:9px;color:#a2824b;margin-top:5px}.mobile-booking-bar .primary{font-size:11px;padding:12px 16px;gap:15px}}@media print{.mobile-booking-bar{display:none!important}}

/* Mobile seat selection uses full-size touch targets instead of a clipped desktop map. */
.mobile-row-picker{display:none}
@media(max-width:800px){
.app{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));overflow-x:clip}
.hero,.booking-section,.workspace,header,footer{min-width:0;max-width:100%}
.seat-panel,.booking-summary,.booking-layout{min-width:0}
.auditorium>.seat-scroll{display:none}
.mobile-row-picker{display:block;padding:0 17px 20px;color:#d6dfce}
.mobile-row-selector{display:flex;gap:10px;align-items:center;margin:0 0 13px}
.mobile-row-selector label{flex:1;min-width:0;font-size:9px;letter-spacing:1.3px;color:#b5bfa9;text-align:left}
.mobile-row-selector select{font-size:16px;letter-spacing:0;width:100%;background:#2f463b;color:#f7f3df;border-color:#526950;min-height:44px;padding:9px;margin-top:6px}
.mobile-row-selector>button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:#314a3d;border:1px solid #5b6b50;border-radius:6px;font-size:24px;color:#ded9b4;margin-top:19px}
.mobile-row-selector>button:disabled{opacity:.3}
.mobile-row-description{font-size:11px;line-height:1.6;color:#a9b99f;margin:0 0 17px}
.mobile-seat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 8px;perspective:800px}
.mobile-chair{height:46px;min-width:0;width:100%;padding:0;border-radius:9px 9px 5px 5px;border:1px solid #c2a86e;background:linear-gradient(#b49a60,#887442);box-shadow:0 4px 0 #65552d;color:#fff9e5;font-size:13px;font-weight:500;position:relative;transition:transform .2s,background .2s}
.mobile-chair:after{position:absolute;content:'';left:3px;right:3px;bottom:6px;height:3px;background:#f9e0a425;border-radius:2px}
.mobile-seat-grid.isometric .mobile-chair{transform:perspective(200px) rotateX(12deg)}
.mobile-chair.p799{background:linear-gradient(#809983,#506b55);border-color:#a5b79a;box-shadow:0 4px 0 #37513d}
.mobile-chair.p599{background:linear-gradient(#81999f,#596f7a);border-color:#9eb2b6;box-shadow:0 4px 0 #3c545f}
.mobile-chair.p399{background:linear-gradient(#a18ea6,#7b6585);border-color:#b5a0bd;box-shadow:0 4px 0 #57435c}
.mobile-chair.chosen{background:#e4c57a;border:2px solid #ffebb3;box-shadow:0 4px 0 #987336,0 0 14px #d4bc7144;color:#243c30}
.mobile-chair:disabled{opacity:.38;color:#c9d0c0;background:#344a3d;border-color:#6c7f61;box-shadow:0 4px 0 #273b30}
.mobile-chair.chosen:disabled{opacity:.7;background:#e4c57a;color:#243c30}
.mobile-map-note{font-size:10px;color:#9ba991;text-align:center;line-height:1.7;margin-top:19px}
.seat-toolbar{padding:13px 12px}.seat-toolbar .zoom-controls{display:none}
.view-toggle{width:100%}.view-toggle button{justify-content:center;min-height:39px;flex:1;font-size:12px}
.auditorium{padding:24px 0 18px}.stage{width:85%;height:58px;margin-bottom:17px}.stage>span{font-size:11px;letter-spacing:2px}.stage>small{font-size:8px}
.map-caption{margin:0 10px;gap:12px}.map-caption>span{font-size:9px}
.price-filter{gap:8px;padding:17px 12px}.price-filter>span{flex-basis:100%;font-size:9px;margin:0 0 3px}.price-filter button{min-height:40px;flex:1;justify-content:center;font-size:12px;padding:8px 5px;gap:5px}
.map-help{font-size:10px;line-height:1.7;padding:0 17px 17px}.map-help>span{font-size:10px}.map-help>.mobile-hint{display:none!important}
.summary-top{font-size:9px}.booking-summary h3{font-size:27px}.selected-label{font-size:13px}.selected-label b{font-size:11px}.selected-chips button{font-size:13px;min-height:36px;padding:7px 10px}.ticket-lines{font-size:12px}.continue{min-height:47px;font-size:13px}.summary-total small,.secure-note{font-size:10px}.summary-total b{font-size:28px}
.mobile-booking-bar{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));min-height:69px;gap:10px;padding:11px 13px}.mobile-booking-bar>div{min-width:0}.mobile-booking-bar b{font-size:13px;line-height:1.5}.mobile-booking-bar span{font-size:10px}.mobile-booking-bar .primary{min-height:44px;font-size:12px;padding:12px 16px;white-space:nowrap}
.modal{max-height:calc(100dvh - 35px);padding:30px 23px}.modal input,.staff-lock input,.scanner-card input,.scanner-card select,.admin-controls input,.block-form input{font-size:16px;min-height:44px}.modal .primary{min-height:46px}.modal-close{width:38px;height:38px;display:grid;place-items:center;font-size:25px}
}
@media(max-width:560px){
.hero{padding:26px 20px 27px;gap:12px}.hero h1{font-size:43px;letter-spacing:-1.2px;line-height:1.07;margin:14px 0 19px}.hero h1 em{display:block;font-size:clamp(26px,8vw,35px);white-space:normal;letter-spacing:-1px;line-height:1.25}.hero-copy>p{font-size:13px;line-height:1.8;margin-bottom:18px}.hero .eyebrow{font-size:8px;letter-spacing:1px;line-height:1.7}.hero-actions{gap:17px;margin-top:20px}.hero-actions>.primary{font-size:12px;min-height:46px;padding:13px 17px}.hero-small{font-size:10px}.event-meta{font-size:10px;gap:10px 13px;line-height:1.7}.event-meta span{white-space:nowrap}.year-note{font-size:9px;line-height:1.7}.hero-art{height:285px;width:100%;max-width:320px;margin:5px auto 0}.poster-frame{width:182px;height:244px;flex-shrink:0}.halo{width:234px;height:234px}.halo-two{width:275px;height:275px}.orbit-word{font-size:6px;letter-spacing:2.4px;right:16px}.floating-card{font-size:9px;padding:10px;gap:8px;max-width:86%}.floating-card small{font-size:8px}.venue-card{left:0;bottom:44px}.qr-card{right:0;bottom:-2px}.art-star.star-one{font-size:22px;top:22px}.art-star.star-two{font-size:29px;top:40px}
header{padding:17px 16px 0}.brand{font-size:14px}.review-strip{font-size:8px;padding:7px 11px;flex-wrap:wrap;gap:5px;line-height:1.6}.review-strip button{display:none}nav button{min-height:44px;font-size:11px}.experience-bar{margin-inline:20px;font-size:10px;line-height:1.7;padding:18px 0;gap:15px}
.booking-section{padding:30px 12px 20px}.section-top h2{font-size:28px;line-height:1.3}.section-top .eyebrow{font-size:8px;letter-spacing:1.1px}.section-top p{font-size:12px;line-height:1.8}.section-top .live-label{font-size:10px}.booking-summary{padding:22px 19px}.empty-selection small{font-size:11px;line-height:1.7}.demo-count{padding:14px 12px!important;font-size:11px!important;line-height:1.6}.demo-count button{min-height:36px;flex-shrink:0}.demo-quantity{display:grid!important;grid-template-columns:repeat(4,1fr);gap:10px!important}.demo-quantity button{width:100%!important;height:46px!important;font-size:16px!important}.demo-only{font-size:11px!important;line-height:1.8!important}.demo-nav a{font-size:10px}.demo-nav{gap:8px!important}.demo-nav a:last-child{display:none}header:has(.demo-nav){padding-bottom:15px}.workspace .page-title,.workspace .page-title em{font-size:30px}.closing p{font-size:23px;line-height:1.6}
}
@media(max-width:370px){.mobile-seat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 8px}.mobile-row-picker{padding-inline:13px}.hero h1{font-size:40px}.hero-copy>p{font-size:12px}.hero-small{font-size:9px}.hero-actions{gap:13px}.event-meta{gap:8px;font-size:9px}.experience-bar{font-size:9px;column-gap:10px}.brand{font-size:12px;letter-spacing:1px}.brand>span:last-child>span{font-size:6px;letter-spacing:1.8px}.mobile-booking-bar b{font-size:12px}.mobile-booking-bar .primary{font-size:11px;padding:11px 13px}}
@media print{.mobile-row-picker,.mobile-booking-bar{display:none!important}.app{padding-bottom:0}}
