:root{--wine:#800020;--dark:#280b17;--gold:#ffd700;--paper:#faf7f0;--ink:#2f2027;--muted:#7a6b70;--line:#e5dcd5;--radius:22px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.7 Niramit,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b17b00;outline-offset:4px}header{min-height:105px;display:flex;align-items:center;gap:30px;padding:20px 4.5%;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:700;letter-spacing:1.1px;white-space:nowrap}.brandmark{display:grid;place-items:center;border:1px solid #c1a35c;border-radius:50%;width:49px;height:49px;color:var(--wine);font-size:31px}.brand small{display:block;font-size:10px;letter-spacing:0;font-weight:500}nav{display:flex;gap:23px;align-items:center;margin:auto;font-size:13px;font-weight:600}nav a{white-space:nowrap;padding:8px 0;position:relative}nav a[aria-current=page]{color:var(--wine)}nav a[aria-current=page]:after{content:'';position:absolute;left:0;bottom:0;width:18px;height:2px;background:var(--wine)}nav i{display:inline-block;background:#b29040;width:5px;height:5px;border-radius:50%;vertical-align:top;margin:5px 0 0 3px}.header-cta{font-size:13px;border:1px solid var(--wine);border-radius:30px;padding:10px 18px;color:var(--wine);white-space:nowrap}#menu{display:none}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 30%,#a44350 0,transparent 43%),linear-gradient(130deg,#340b1b,#800020 60%,#4c1029);color:#fff;padding:72px 7% 60px;min-height:640px;display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:center}.hero:before,.hero:after{content:'';pointer-events:none;position:absolute;border:1px solid #ffffff13;border-radius:50%;width:780px;height:780px;right:-170px;top:-140px}.hero:after{width:670px;height:670px;right:-115px;top:-85px}.hero-copy,.hero-art{position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:700;text-transform:uppercase;color:#94702e;display:block}.hero .eyebrow{color:#f4d98b}.hero h1{font-weight:500;font-size:clamp(44px,5vw,73px);line-height:1.25;letter-spacing:-2px;margin:25px 0}.hero h1 em{font-weight:400;font-style:normal;color:#f3d78e}.hero p{max-width:470px;color:#eed6dc;font-size:17px}.hero-art{max-width:380px;justify-self:center;transform:rotate(3deg);padding:13px;border:1px solid #d2b57588;border-radius:8px;background:#ffffff08;box-shadow:20px 25px 70px #1c071a66}.hero-art img{width:100%;display:block;border-radius:3px;max-height:470px;object-fit:contain;background:#4c1125}.art-caption{font-size:10px;letter-spacing:2px;text-align:center;padding:10px 0 0;color:#eddda5}.hero-tag{position:absolute;bottom:26px;left:-45px;background:var(--paper);color:var(--wine);padding:13px 24px;border-radius:12px;font-size:13px;box-shadow:0 10px 30px #0002;transform:rotate(-3deg)}.hero-tag strong{display:block;font-size:21px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:13px 24px;min-height:49px;border-radius:30px;border:1px solid var(--wine);background:var(--wine);color:#fff;font-size:15px;font-weight:600;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#610019}.btn.gold{background:#f4d58c;border-color:#f4d58c;color:#421327}.btn.outline{background:transparent;color:var(--wine)}.hero .btn.outline{border-color:#dfbdc5;color:#fff}.btn.small{padding:8px 17px;font-size:13px;min-height:42px}.hero-note{display:flex;align-items:center;gap:12px;margin-top:35px;font-size:12px;color:#e6c4cc}.hero-note span{height:1px;background:#c79c61;width:40px}.ribbon{display:flex;align-items:center;justify-content:space-around;gap:20px;flex-wrap:wrap;padding:21px 6%;border-bottom:1px solid var(--line);font-size:13px;color:#6d575d}.ribbon b{color:var(--wine);font-size:16px}.section{padding:75px 7%;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.section h2,.page-head h1{font-size:clamp(30px,3.1vw,46px);line-height:1.4;font-weight:500;margin:10px 0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:28px}.card h3{font-size:23px;font-weight:600;margin:12px 0}.card p{color:var(--muted);font-size:15px}.event-card{overflow:hidden;padding:0;display:flex;flex-direction:column}.event-art{height:210px;background:radial-gradient(circle at 70% 40%,#b86578,transparent 60%),linear-gradient(130deg,#441029,#8a2943);display:grid;place-items:center;color:#f4d58c;position:relative;overflow:hidden}.event-art:after{content:'♫';font-size:180px;line-height:1;opacity:.13;position:absolute;right:15px;top:5px}.event-art img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.event-art .event-letter{font-size:26px;letter-spacing:5px}.event-body{padding:25px;flex:1;display:flex;flex-direction:column}.event-body h3{font-size:21px;line-height:1.5}.event-body .event-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:18px;margin-top:auto}.badge{display:inline-block;font-size:11px;padding:4px 11px;border-radius:20px;background:#f4ead6;color:#785815;width:fit-content}.badge.free{background:#edf3ec;color:#3b6b45}.meta{font-size:13px;color:var(--muted);margin:10px 0 20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.story-visual{padding:30px;border:1px solid #ddcdaa;border-radius:var(--radius);background:#f2eadb}.story-visual img{width:100%;display:block;border-radius:12px}.quote{font-size:30px;color:var(--wine);line-height:1.5}.join-banner{background:var(--wine);border-radius:26px;padding:48px 50px;color:white;display:flex;justify-content:space-between;align-items:center;gap:30px}.join-banner h2{margin:0}.join-banner p{color:#ebcdd5}.page-head{padding:60px 7% 45px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#f3ebdc,var(--paper));position:relative}.page-head p{max-width:700px;color:var(--muted)}.page-head .eyebrow{color:var(--wine)}.two{grid-template-columns:1fr 1fr}.registration{background:var(--wine);border:4px double var(--gold);color:white}.registration p{color:#efd5dd}.registration h3{color:#f5d775}.registration .btn{width:100%;margin:6px 0}.registration .btn.outline{border-color:#d6b774;color:#f5d775}.steps{counter-reset:step}.step{padding:25px 0;border-bottom:1px solid var(--line)}.step:before{counter-increment:step;content:'0' counter(step);color:#ae8738;font-size:14px;margin-right:22px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:26px}.toolbar input{max-width:320px}.segmented{display:flex;border:1px solid var(--line);border-radius:30px;background:white;padding:4px}.segmented button{border:0;background:none;border-radius:24px;padding:8px 20px;color:var(--muted)}.segmented button.active{background:var(--wine);color:#fff}.calendar{border:1px solid var(--line);background:white;border-radius:var(--radius);overflow:hidden}.calendar-head{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;border-bottom:1px solid var(--line)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday{padding:13px;text-align:center;background:#f5f0e7;font-size:13px}.day{min-height:115px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.day.today>span{background:var(--wine);color:#fff;border-radius:50%;padding:4px 8px}.day.empty{background:#fcfaf7}.day button{display:block;width:100%;border:0;background:#f5e8ed;color:var(--wine);padding:7px;border-radius:6px;font-size:11px;text-align:left;margin-top:6px;overflow-wrap:anywhere}.icon-button{background:transparent;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;min-width:42px;font-size:23px;line-height:1;color:var(--wine)}.empty-state{padding:45px;text-align:center;border:1px dashed #ccbcb1;border-radius:20px;color:var(--muted);grid-column:1/-1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}input,select,textarea{display:block;width:100%;border:1px solid #d7c9c9;background:white;padding:12px 14px;border-radius:10px;color:var(--ink);margin-top:6px;min-width:0}textarea{min-height:100px;resize:vertical}input[type=checkbox]{display:inline;width:auto;margin:0 8px 0 0}.notice{padding:16px 20px;background:#f5edda;border-left:3px solid #b88e39;border-radius:0 9px 9px 0;font-size:14px;margin:20px 0}.status{font-size:13px;font-weight:600;color:var(--wine)}.ticket{border:1px solid #d8bf8c;border-radius:20px;padding:30px;background:linear-gradient(135deg,#fff,#faf1df);margin:20px 0}.ticket-id{font-family:monospace;overflow-wrap:anywhere;font-size:14px}.admin-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:25px}.booking-row{padding:20px 0;border-bottom:1px solid var(--line)}.booking-row h3{font-size:18px}.booking-row .actions{margin:12px 0}.small-text{font-size:13px}.wide{grid-column:1/-1}dialog{border:1px solid var(--line);border-radius:24px;padding:40px;max-width:640px;width:calc(100% - 28px);max-height:90vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#210916aa;backdrop-filter:blur(5px)}dialog h2{padding-right:30px;font-size:29px;line-height:1.4}.close{position:absolute;right:18px;top:18px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--dark);color:white;padding:14px 26px;border-radius:15px;z-index:100;max-width:90%;display:none}#toast.visible{display:block}.skip{position:absolute;top:-100px;z-index:100;background:white;padding:15px}.skip:focus{top:0}.loading{padding:80px;text-align:center}footer{background:#24141d;color:#e9dbe0;padding:55px 7% 25px;margin-top:30px}footer .eyebrow{color:#cfad64}footer h2{font-size:32px;font-weight:400;line-height:1.4}footer p{color:#bca8b2;font-size:13px}footer a{font-size:13px;display:inline-block}footer a:hover{text-decoration:underline}.footer-top{display:grid;grid-template-columns:1fr 1.2fr .5fr;gap:60px;align-items:center}.footer-top>div:last-child a{display:block;margin:12px 0}.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #ffffff1c;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#a48d99}.footer-bottom a{font-size:11px}.gallery-image{max-width:100%;border-radius:16px}.poster{width:100%;max-height:700px;object-fit:contain}.hidden{display:none!important}@media(min-width:1500px){.hero{padding-left:calc((100% - 1300px)/2);padding-right:calc((100% - 1300px)/2)}}@media(max-width:1150px){header{gap:18px;padding:18px 4%}nav{gap:13px}.brand{font-size:11px}.brand small{font-size:9px}.header-cta{display:none}.hero{gap:45px}.hero h1{font-size:57px}}@media(max-width:800px){header{min-height:82px;flex-wrap:wrap;justify-content:space-between}.brand{font-size:12px}.brand small{font-size:9px}#menu{display:block}nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding:15px}nav.open{display:flex}.hero{padding:48px 7%;grid-template-columns:1fr;gap:40px}.hero h1{font-size:48px}.hero-art{max-width:300px;margin:0 0 15px}.hero-tag{left:-20px}.ribbon{justify-content:flex-start;font-size:12px}.section{padding:45px 6%}.grid,.two,.split,.admin-layout{grid-template-columns:1fr}.split{gap:28px}.section-heading{align-items:start}.section-heading .btn{font-size:12px;padding:9px 14px;white-space:nowrap}.join-banner{padding:30px;display:block}.footer-top{grid-template-columns:1fr;gap:20px}.footer-bottom{display:block}.footer-bottom>span{display:block;margin:10px 0}.day{min-height:83px;padding:5px}.day button{font-size:10px;padding:4px}.weekday{padding:10px 2px;font-size:11px}.calendar-head{padding:15px}.form-grid{grid-template-columns:1fr}dialog{padding:26px}.page-head{padding:40px 6%}.toolbar input{max-width:none}.toolbar{align-items:stretch}.event-art{height:230px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{header,footer,.actions,.notice,.no-print,#toast{display:none!important}.section{padding:0}.ticket{border:2px solid #333}body{background:white}}
