:root{--bg:#100b0c;--paper:#eee5d5;--muted:#b3a5a3;--red:#9d2731;--gold:#bba184;--line:#ffffff25}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--paper);font:16px/1.75 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1}h2{font-size:clamp(38px,4.7vw,67px);letter-spacing:-2px}h3{font-size:25px}em{font-weight:400;color:#c4a69c}header{position:absolute;z-index:3;top:0;left:0;width:100%;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font:22px Georgia,serif;letter-spacing:3px}.brand small{display:block;font:8px/2 Arial,sans-serif;letter-spacing:2.5px}nav{display:flex;gap:32px;align-items:center;font-size:12px}.outline{display:inline-block;border:1px solid #ffffff65;padding:10px 20px;background:transparent;color:var(--paper)}.hero{height:100svh;min-height:730px;position:relative;display:flex;align-items:center;isolation:isolate}.hero video,.veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.veil{z-index:-1;background:linear-gradient(90deg,#090406e8 0%,#13060b77 55%,#09040633),linear-gradient(0deg,#100b0c,transparent 35%,#100b0c55)}.hero-copy{width:90%;max-width:1400px;margin:110px auto 70px}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:3px;line-height:1.8}.chapter{font:italic 18px Georgia,serif;color:#d3c1b7}h1{font-size:clamp(68px,8.5vw,130px);line-height:.98;letter-spacing:-5px;margin:25px 0}.hero-line{color:#d3c6bf;font:20px/1.5 Georgia,serif}.button{border:1px solid #ad4c53;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:#811f2a;color:#fff1df;padding:17px 25px;font-size:12px;letter-spacing:1px;min-height:54px}.button:hover{background:#a4313c}.micro{font-size:10px;letter-spacing:2px;margin-top:20px}.micro span{color:#b75a5a;margin:0 12px}.hero-bottom{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px;color:#c5b6b2}.text-button{border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:5px;padding:8px;font-size:12px}.date-strip{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;border-bottom:1px solid var(--line);padding:28px 5%;background:#170e10;font:17px Georgia,serif}.date-strip small{display:block;color:var(--gold);font:9px/2.5 Arial;letter-spacing:2px}.date-strip>div+div{border-left:1px solid var(--line)}.section{max-width:1400px;margin:auto;padding:110px 5%}.story,.booking,.faq{display:grid;grid-template-columns:1fr 1fr;gap:9%}.prose{color:var(--muted);max-width:530px}.lead{font:26px/1.5 Georgia,serif;color:var(--paper)}.pull{font:italic 30px/1.4 Georgia,serif;color:#d2aaa1;border-left:1px solid var(--red);padding-left:24px;margin:35px 0}.characters{border-block:1px solid var(--line);background:radial-gradient(ellipse at center,#38141a55,transparent 70%)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:38px}.section-heading>p{color:var(--muted);font-size:13px}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.character-grid article{border:1px solid var(--line);background:#160e10;overflow:hidden}.character-grid img{width:100%;aspect-ratio:4/4.5;object-fit:cover;object-position:top;filter:saturate(.6) brightness(.75);transition:filter .5s,transform .7s}.character-grid article:hover img{filter:saturate(.8) brightness(.95);transform:scale(1.02)}.character-grid article>div{padding:26px}.character-grid small{font-size:8px;letter-spacing:2px;color:var(--gold)}.character-grid h3{margin:14px 0}.character-grid p{font-size:13px;color:var(--muted);margin:0}.ritual{text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:60px;text-align:left}.steps span{font:italic 35px Georgia;color:#a95e64;display:block;margin-bottom:25px}.steps p{font-size:14px;color:var(--muted)}.booking{max-width:none;padding-inline:max(5%,calc((100% - 1260px)/2));background:radial-gradient(ellipse at 15% 20%,#42131d88,transparent 65%),#160d10;border-block:1px solid var(--line)}.booking>div>p{color:var(--muted)}.availability{color:#ddc2a1!important;border-top:1px solid var(--line);padding-top:22px}.ticket{border:1px solid #8c655b7a;padding:35px;background:#0e0b0cf0;align-self:start}.ticket-top{display:flex;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.ticket-top h3{font-size:28px}.ticket-top .eyebrow{margin-bottom:10px}.price{font:42px Georgia;margin-left:auto}.price small{display:block;font:8px/2 Arial;letter-spacing:2px}.ticket>p{font-size:11px;color:var(--muted)}label{display:block;font-size:12px;margin:18px 0 7px}input,select{width:100%;background:#1c1417;border:1px solid #665055;color:var(--paper);padding:12px;border-radius:0}select{color-scheme:dark}.consent{display:flex;gap:12px;color:var(--muted);font-size:11px}.consent input{width:17px;height:17px;flex-shrink:0;accent-color:var(--red)}.total{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:18px 0;margin:22px 0}.total strong{font:28px Georgia}form>.button{width:100%}.form-note,.small{font-size:12px;color:var(--muted)}#message{color:#ecc298}#confirmation{border-top:1px solid var(--line);margin-top:20px;padding-top:24px;overflow-wrap:anywhere}#confirmation h3{font-size:32px}#confirmation li{font-size:14px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq details:first-child{padding-top:0}.faq summary{cursor:pointer;font:20px Georgia;line-height:1.5}.faq details p{color:var(--muted);font-size:13px;margin-top:15px}.faq{padding-block:100px}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;justify-content:space-between;gap:25px;align-items:center}footer p,footer>a:last-child{font-size:11px;color:var(--muted)}.skip{position:absolute;top:-100px;z-index:10;background:#000;padding:15px}.skip:focus{top:0}[hidden]{display:none!important}apple-pay-button{--apple-pay-button-width:100%;--apple-pay-button-height:45px;display:block;margin:15px 0}@media(max-width:760px){header{padding:22px 5%}.brand{font-size:18px}nav>a:not(:last-child){display:none}nav .outline{font-size:10px;padding:9px}.hero{min-height:720px}.hero-copy{margin-top:110px}h1{letter-spacing:-3px;font-size:clamp(64px,13vw,94px)}.chapter{font-size:15px}.hero-bottom>span{display:none}.date-strip{grid-template-columns:1fr;gap:20px;padding:28px}.date-strip>div+div{border:0}.section{padding:65px 6%}.story,.booking,.faq{grid-template-columns:1fr;gap:35px}.section-heading{display:block}.character-grid{gap:18px;grid-template-columns:1fr}.character-grid article{display:grid;grid-template-columns:40% 1fr;align-items:center}.character-grid img{height:100%;aspect-ratio:3/4}.character-grid article>div{padding:18px}.character-grid h3{font-size:23px}.steps{grid-template-columns:1fr;gap:25px}.steps span{margin-bottom:10px}.ticket{padding:25px}.ticket-top h3{font-size:25px}footer{flex-direction:column;align-items:start}.hero-line{font-size:18px}.micro{letter-spacing:1px}.micro span{margin:0 6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{body{background:white;color:black}header,.hero,.date-strip,.story,.characters,.ritual,.booking>div:first-child,.faq,footer,form,#payment,.form-note,#message,.ticket-top,.ticket>p,#print{display:none!important}.booking{display:block;background:white;border:0;padding:0}.ticket{border:0;background:white;color:black}#confirmation{display:block!important;color:black}}
#terms{white-space:pre-line}
