:root{--black:#0c0d0c;--black-soft:#121312;--cream:#f0ede4;--cream-dark:#ddd7ca;--red:#8f2525;--red-dark:#571918;--copper:#b58469;--white:#f8f6f0;--gray:#aaa79f;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Arial,sans-serif;--max-width:1450px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background:var(--black);color:var(--white);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}img,video{width:100%;display:block;object-fit:cover}a{color:inherit;text-decoration:none}button,input,textarea{font-family:inherit}em{font-style:italic}::selection{background:var(--red);color:white}:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.texture{position:relative}.texture:after{content:"";pointer-events:none;position:absolute;inset:0;opacity:.06;background-image:repeating-radial-gradient(circle at 20% 30%,#000 0,#000 1px,transparent 0,transparent 4px);mix-blend-mode:multiply}.texture>*{position:relative;z-index:1}.container{width:min(90%,var(--max-width));margin:auto}.eyebrow{display:flex;align-items:center;gap:20px;font-size:.68rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase}.eyebrow:after{content:"";width:42px;height:2px;background:var(--red);flex-shrink:0}.display-title{font-family:var(--serif);font-weight:500;line-height:.92}.display-title em{color:var(--red)}.body-text{line-height:1.85;font-size:.88rem;color:#55534e}.btn{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 30px;border:1px solid rgba(255,255,255,.5);background:transparent;color:inherit;font-size:.65rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;transition:.35s ease;cursor:pointer}.btn:hover{background:white;color:var(--black)}.btn-red{border-color:var(--red);background:var(--red);color:white}.btn-red:hover{background:#aa3030;border-color:#aa3030;color:white}.btn-light{border-color:var(--white);background:var(--white);color:var(--black)}.btn-light:hover{background:var(--cream-dark);border-color:var(--cream-dark)}.btn:disabled{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.4);cursor:not-allowed}.btn-text{background:none;border:none;color:inherit;opacity:.7;font-size:.7rem;letter-spacing:.08em;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:12px 0}.section-head{margin-bottom:55px}.section-head h2{margin-top:25px;font-size:clamp(3rem,4vw,4.7rem)}.header{height:92px;position:fixed;z-index:1000;top:0;left:0;width:100%;background:rgba(9,10,9,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07);transition:background .3s}.header.is-scrolled{background:rgba(7,8,7,.97)}.nav{width:min(90%,var(--max-width));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--serif);font-size:1.5rem;line-height:.78;text-transform:uppercase;letter-spacing:.03em}.logo small{display:block;margin-top:10px;font-family:var(--sans);font-size:.42rem;letter-spacing:.32em}.nav-links{display:flex;gap:43px;align-items:center}.nav-links a{position:relative;font-size:.62rem;letter-spacing:.03em;transition:.25s}.nav-links a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--red);transition:.3s}.nav-links a:hover:after{width:100%}.menu-button{display:none;background:none;border:none;color:white;font-size:1.6rem;width:44px;height:44px;cursor:pointer}.weave{background-size:44px 44px;background-repeat:repeat-y;background-position:top}.weave--cream{background-color:#e3dccd;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg fill='none' stroke='%23b3a68f' stroke-width='3'%3E%3Cpath d='M22 3 41 22 22 41 3 22Z'/%3E%3Cpath d='M22 13 31 22 22 31 13 22Z'/%3E%3C/g%3E%3Cpath fill='%23b3a68f' d='M22 19 25 22 22 25 19 22Z'/%3E%3C/svg%3E")}.weave--red{background-color:#4d1615;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg fill='none' stroke='%23a9665a' stroke-width='3'%3E%3Cpath d='M22 3 41 22 22 41 3 22Z'/%3E%3Cpath d='M22 13 31 22 22 31 13 22Z'/%3E%3C/g%3E%3Cpath fill='%23a9665a' d='M22 19 25 22 22 25 19 22Z'/%3E%3C/svg%3E")}.diamond{display:block;width:26px;height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cg fill='none' stroke='%23b58469' stroke-width='3'%3E%3Cpath d='M22 3 41 22 22 41 3 22Z'/%3E%3Cpath d='M22 13 31 22 22 31 13 22Z'/%3E%3C/g%3E%3Cpath fill='%23b58469' d='M22 19 25 22 22 25 19 22Z'/%3E%3C/svg%3E") 50% /contain no-repeat}.btn-outline{border-color:var(--red);color:var(--black)}.btn-outline:hover{background:var(--red);border-color:var(--red);color:white}.hero{min-height:760px;height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;border-left:22px solid var(--red-dark)}.hero-img{height:100%;object-position:center 30%}.hero-img,.hero-scrim{position:absolute;inset:0}.hero-scrim{background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 30%),linear-gradient(90deg,rgba(4,5,4,.94),rgba(5,5,4,.77) 32%,rgba(6,6,5,.18) 70%,rgba(6,6,5,.3))}.hero-content{position:relative;z-index:2;width:min(90%,var(--max-width));margin:70px auto 0}.hero .eyebrow{margin-bottom:30px;color:#c8bcb2}.hero h1{max-width:650px;font-family:var(--serif);font-size:clamp(3.6rem,6vw,6.6rem);font-weight:400;line-height:.92;color:#efe8dc}.hero-subtitle{margin-top:30px;font-size:.8rem;letter-spacing:.03em;color:#ddd7ca}.hero-actions{display:flex;gap:20px;margin-top:40px}.hero-meta{margin-top:45px;display:flex;align-items:center;gap:18px;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#aaa79f}.hero-meta:before{content:"";width:30px;height:1px;background:#999}.hero-side{position:absolute;z-index:3;right:3%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:26px}.hero-side span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.58rem;letter-spacing:.35em;text-transform:uppercase;color:#c8bcb2}.about{background:var(--cream);color:var(--black);padding:0}.about-grid{display:grid;grid-template-columns:1fr 1fr 60px .8fr;grid-gap:40px;gap:40px;align-items:stretch;padding:18px 0}.about-grid>.reveal:first-child{align-self:center;padding:45px 0}.about h2{margin:25px 0 22px;font-size:clamp(2.6rem,3.4vw,4rem)}.about .body-text{max-width:440px;margin-bottom:30px}.about-photo{min-height:520px;overflow:hidden}.about-photo img{height:100%;filter:grayscale(100%) contrast(1.05);transition:1s}.about-photo:hover img{filter:grayscale(20%);transform:scale(1.025)}.about-values{align-self:center;display:flex;flex-direction:column;gap:34px}.about-values span{display:flex;align-items:center;gap:14px;margin-bottom:10px;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em}.about-values span:after{content:"";width:26px;height:2px;background:var(--red)}.about-values p{font-size:.76rem;line-height:1.75;color:#55534e}.discipline{background:var(--black);padding:55px 0 40px}.discipline .eyebrow{margin-bottom:30px;color:#c8bcb2}.discipline-title{max-width:720px;margin:-8px 0 40px;font-family:var(--serif);font-size:clamp(2rem,2.8vw,2.8rem);font-weight:400;line-height:1.05}.discipline-grid{display:grid;grid-template-columns:repeat(3,1fr)}.discipline-card{padding:0 40px;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column}.discipline-card:first-child{padding-left:0}.discipline-card:last-child{border-right:none;padding-right:0}.discipline-head{display:flex;gap:22px}.card-number{color:var(--copper);font-size:1.5rem}.card-number,.discipline-card h3{font-family:var(--serif);line-height:1}.discipline-card h3{font-size:1.9rem;font-weight:400;margin-bottom:14px}.discipline-card p{color:#c5c2ba;font-size:.76rem;line-height:1.7;max-width:300px}.discipline-image{margin-top:auto;padding-top:18px;height:190px;overflow:hidden}.discipline-image img{height:100%;filter:sepia(.2) grayscale(.6) brightness(.85);transition:.7s}.discipline-card:hover img{transform:scale(1.05);filter:grayscale(.1)}.cast{background:var(--cream);color:var(--black);padding:20px 0 25px}.cast-grid{display:grid;grid-template-columns:.72fr 1.5fr;grid-gap:60px;gap:60px;align-items:center}.cast h2{font-size:clamp(2.8rem,3.8vw,4.3rem);margin:25px 0 22px}.cast .body-text{max-width:420px;margin-bottom:30px}.cast-photo{position:relative;height:430px;overflow:hidden;background:#1a1b1a}.cast-photo img{height:100%;animation:fade .6s ease}.cast-photo figcaption{position:absolute;left:20px;bottom:18px;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:white;text-shadow:0 1px 8px rgba(0,0,0,.7)}.cast-arrows{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:12px}.cast-arrows span{margin-right:auto;font-size:.62rem;letter-spacing:.18em;color:#6b675f}.cast-arrows button{width:40px;height:40px;background:none;border:none;font-size:1.2rem;color:var(--black);cursor:pointer;transition:color .2s}.cast-arrows button:hover{color:var(--red)}@keyframes fade{0%{opacity:0}to{opacity:1}}.gallery{background:var(--black);padding:18px 0}.gallery-grid{display:grid;grid-template-columns:.55fr 1.6fr;grid-gap:40px;gap:40px;align-items:center}.gallery .eyebrow{color:#c8bcb2}.gallery h2{margin:25px 0 20px;font-size:clamp(2.6rem,3.4vw,3.8rem)}.gallery p{color:#bbb8b0;max-width:300px;font-size:.8rem;line-height:1.7}.gallery-link{margin-top:30px;background:none;border:none;border-bottom:1px solid var(--red);color:white;padding:0 0 6px;font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}.photo-strip{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-gap:10px;gap:10px;height:330px}.photo-strip button,.strip-video{height:100%;overflow:hidden;border:none;padding:0;background:#1a1b1a}.photo-strip button{cursor:zoom-in}.photo-strip button:nth-child(2){margin-top:30px}.photo-strip img,.strip-video video{height:100%;object-position:50% 25%;filter:saturate(.7);transition:.6s}.photo-strip button:hover img{transform:scale(1.04);filter:saturate(1)}.cta-section{display:grid;grid-template-columns:1fr 1fr}.cta-section--single{grid-template-columns:1fr}.cta{position:relative;min-height:330px;display:flex;align-items:center}.cta-body{padding:50px 8%}.cta h2{margin:18px 0 14px;font-family:var(--serif);font-size:clamp(2.4rem,3.4vw,3.4rem);font-weight:400;line-height:1}.cta p{max-width:420px;line-height:1.75;font-size:.8rem;margin-bottom:28px;opacity:.85}.cta-red{background:linear-gradient(120deg,#5a1716,#3b1211);color:white;padding-left:60px}.cta-red .weave{position:absolute;top:0;bottom:0;left:0;width:60px}.cta-red h2{color:#e98a82}.cta-red .cta-fine{margin:22px 0 0;font-size:.7rem;opacity:.7}.cta-fine a{border-bottom:1px solid}.cta-light{background:var(--cream);color:var(--black);justify-content:space-between;gap:20px;padding-right:3%}.cta-photo{width:38%;height:250px;flex-shrink:0;overflow:hidden}.cta-photo img{height:100%;object-position:50% 25%}.contact{background:#0b0c0b;padding:50px 0 0}.contact-grid{display:grid;grid-template-columns:1.1fr 1.4fr .5fr .3fr;grid-gap:50px;gap:50px;align-items:center;padding-bottom:40px}.contact-brand{display:flex;align-items:center;gap:30px}.logo--lg{font-size:1.65rem;padding-right:30px;border-right:1px solid #4d4d49}.contact-location{color:#aaa;font-size:.66rem;line-height:1.7}.contact-main{border-left:1px solid #4d4d49;border-right:1px solid #4d4d49;padding:0 50px}.contact-main .eyebrow{color:#aaa}.contact h3{font-family:var(--serif);font-size:2.3rem;font-weight:400;margin:12px 0 10px}.contact-main p{color:#aaa;font-size:.76rem;line-height:1.7;max-width:380px}.contact-actions{margin-top:22px;display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px}.contact-actions .btn{min-height:44px;padding:0 22px}.contact-alt{font-size:.66rem;color:#aaa;border-bottom:1px solid #555;padding-bottom:3px}.contact-alt:hover{color:white}.footer-nav{display:flex;flex-direction:column;gap:8px}.footer-nav a{color:#bbb;font-size:.66rem}.footer-nav a:hover{color:white}.social{align-self:end;display:flex;gap:14px;color:#bbb}.social a:hover{color:white}.footer-bottom{padding:18px 5%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #1e1f1d;color:#666;font-size:.58rem;letter-spacing:.08em}.modal{position:fixed;inset:0;z-index:1500;background:rgba(5,5,4,.8);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;animation:fade .25s ease}.modal-card{position:relative;width:min(540px,100%);max-height:calc(100svh - 40px);overflow-y:auto;padding:50px 45px 40px;background:var(--black-soft);color:white;border:1px solid rgba(255,255,255,.12)}.modal-card--red{background:linear-gradient(120deg,#5a1716,#3b1211)}.modal-close{position:absolute;top:10px;right:12px;width:44px;height:44px;background:none;border:none;color:white;font-size:1.6rem;cursor:pointer;opacity:.7}.modal-close:hover{opacity:1}.modal-title{font-family:var(--serif);font-size:2.2rem;font-weight:400;line-height:1;margin:14px 0 18px}.reserve-form{margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12)}.reserve-form .step-next{width:100%;margin-top:16px}.reserve-form .btn{width:100%}.reserve-error{margin-top:12px;font-size:.75rem;color:#f0a3a3}.ticket-rows div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.78rem}.ticket-rows dt{color:#999;text-transform:uppercase;letter-spacing:.14em;font-size:.6rem;align-self:center}.ticket-rows dd{text-align:right}.ticket-rows .accent{color:var(--copper);font-weight:600}.pips{display:flex;align-items:center;gap:8px;margin-bottom:30px}.pip{width:34px;height:2px;background:rgba(255,255,255,.2);transition:background .3s}.pip.is-current{background:rgba(255,255,255,.7)}.pip.is-done{background:var(--copper)}.step-label{margin-left:auto;margin-right:40px;font-size:.62rem;letter-spacing:.18em;opacity:.7}.step h3{font-family:var(--serif);font-size:2.2rem;font-weight:400;line-height:1}.step-sub{margin:12px 0 24px;font-size:.8rem;line-height:1.7;opacity:.8}.step-sub a{text-decoration:underline}.field-col,.opt-col{display:flex;flex-direction:column;gap:10px}.field-row{display:grid;grid-template-columns:1fr 2fr;grid-gap:10px;gap:10px}.opt-btn{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:0 20px;background:transparent;border:1px solid rgba(255,255,255,.25);color:white;font-size:.8rem;text-align:left;cursor:pointer;transition:.25s}.opt-btn:hover{border-color:rgba(255,255,255,.7)}.opt-btn.is-selected{background:var(--white);border-color:var(--white);color:var(--black)}.input{width:100%;min-height:52px;padding:15px 18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.25);color:white;font-size:.85rem;resize:vertical;transition:border-color .25s}.input::placeholder{color:rgba(255,255,255,.5)}.input:focus{outline:none;border-color:var(--copper)}.step-nav{display:flex;gap:10px;margin-top:28px}.step-next{flex:1 1}.step-consent{margin-top:14px;font-size:.65rem;opacity:.6}.step-done{display:flex;flex-direction:column;align-items:flex-start}.step-done .btn{width:100%}.check-circle{width:56px;height:56px;margin-bottom:22px;border-radius:50%;border:1px solid var(--copper);color:var(--copper);display:grid;place-items:center;font-size:1.3rem}.bar-bottom{display:none}.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(5,5,4,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:5%;cursor:zoom-out}.lightbox img{width:auto;max-width:100%;max-height:80vh;object-fit:contain}.lightbox-bar{display:flex;align-items:center;gap:8px;cursor:default}.lightbox-bar button{width:44px;height:44px;background:none;border:1px solid rgba(255,255,255,.2);color:white;font-size:1.1rem;cursor:pointer}.lightbox-bar button:hover{border-color:white}.lightbox-cap{padding:0 14px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#bbb}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.cast-photo img,.modal{animation:none}}@media (max-width:1000px){.nav-links{position:fixed;top:92px;left:0;width:100%;height:calc(100vh - 92px);background:#0a0b0a;flex-direction:column;justify-content:center;gap:30px;transform:translateX(100%);transition:.4s ease}.nav-links.active{transform:translateX(0)}.nav-links a{font-family:var(--serif);font-size:2.2rem}.menu-button{display:block}.hero-side{display:none}.about-grid{grid-template-columns:1fr;gap:30px;padding:50px 0}.about-grid>.reveal:first-child{padding:0}.about-photo{min-height:0;height:420px}.about .weave{height:44px;background-repeat:repeat-x;background-position:0}.discipline-grid{grid-template-columns:1fr;gap:50px}.discipline-card,.discipline-card:first-child,.discipline-card:last-child{padding:0;border:none}.discipline-image{height:230px}.cast{padding:50px 0}.cast-grid,.gallery-grid{grid-template-columns:1fr;gap:40px}.gallery{padding:55px 0}.contact-grid,.cta-section{grid-template-columns:1fr}.contact-grid{gap:35px}.contact-main{border:none;padding:0}.footer-nav{flex-direction:row;flex-wrap:wrap;gap:12px 20px}.social{align-self:start}}@media (max-width:700px){html{scroll-padding-top:76px}body{padding-bottom:64px}.header{height:76px}.logo{font-size:1.15rem}.nav-links{top:76px;height:calc(100vh - 76px)}.hero{min-height:700px;height:100svh;border-left-width:10px}.hero-img{object-position:60% center}.hero-scrim{background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 40%),linear-gradient(90deg,rgba(5,5,4,.92),rgba(5,5,4,.45))}.hero h1{font-size:clamp(3.2rem,15vw,4.6rem)}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.cast-photo{height:300px}.photo-strip{grid-template-columns:1fr 1fr;height:auto}.photo-strip>*{height:220px}.photo-strip button:nth-child(2){margin-top:0}.cta-red{padding-left:30px}.cta-red .weave{width:30px;background-size:30px 30px}.cta-light{flex-direction:column;align-items:stretch;padding:0 0 40px}.cta-photo{width:auto;margin:0 8%;height:220px}.contact-brand{flex-direction:column;align-items:flex-start;gap:16px}.logo--lg{border:none;padding:0}.footer-bottom{flex-direction:column;text-align:center;gap:8px}.modal-card{padding:50px 22px 30px}.step-nav .btn{width:auto}.bar-bottom{position:fixed;z-index:900;left:0;right:0;bottom:0;height:64px;display:grid;grid-template-columns:1fr 1fr;background:#070807;border-top:1px solid rgba(255,255,255,.1)}.bar-bottom a{display:grid;place-items:center;font-size:.65rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.bar-red{background:var(--red)}}