:root{--ink:#111012;--paper:#f4f1eb;--purple:#b5a1f3;--muted:#aaa6ad;--line:#ffffff25;--max:1320px;font-family:Arial,Helvetica,sans-serif;color:var(--paper);background:var(--ink);font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.055em}h1{font-size:clamp(64px,7.5vw,112px);line-height:.99}h2{font-size:clamp(36px,4vw,62px);line-height:1.04}h3{font-size:26px;line-height:1.12}p{line-height:1.7}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.06em}ul{padding-left:20px;line-height:1.8}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--purple);outline-offset:5px}.wrap{max-width:var(--max);width:calc(100% - 112px);margin-inline:auto}.section{padding-block:100px}.section-bottom{padding-bottom:100px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;line-height:1.4}.skip-link{position:fixed;top:-100px;left:20px;background:var(--paper);color:var(--ink);padding:15px;z-index:100}.skip-link:focus{top:10px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--purple);color:var(--ink);padding:20px 25px;border:1px solid transparent;font-weight:700;font-size:14px;line-height:1.3;border-radius:2px;transition:background .2s,transform .2s}.button:hover{background:#c5b5fa;transform:translateY(-2px)}.button span{font-size:23px;line-height:.7}.button-small{padding:15px 19px;font-size:12px;gap:22px}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#302735}.text-link{display:inline-flex;align-items:center;gap:27px;font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:7px;line-height:1.4}.text-link span{font-size:21px}.text-link:hover{color:var(--purple)}.button-row{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.header{height:96px;background:var(--ink);position:relative;z-index:10;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap;font-size:22px;letter-spacing:-.04em;font-weight:800}.brand small{display:block;font-size:7px;letter-spacing:.17em;line-height:2}.brand-mark{position:relative;font-family:Georgia,serif;font-size:26px;border:1px solid #928398;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;letter-spacing:-.18em;padding-right:5px}.brand-mark span{position:absolute;font-size:15px;color:var(--purple);top:-8px;right:1px;letter-spacing:0;background:var(--ink)}.header nav{display:flex;gap:33px;align-items:center}.header nav>a:not(.button){font-size:12px;font-weight:600}.header nav>a:hover{color:var(--purple)}.header nav>.button:hover{color:var(--ink)}.menu-toggle{display:none}.hero{min-height:620px;height:calc(100svh - 96px);max-height:830px;position:relative;overflow:hidden}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;inset:0}.hero-image{object-position:center 46%;filter:saturate(.75)}.hero-shade{background:linear-gradient(90deg,rgba(8,5,11,.72),rgba(8,5,11,.18)),linear-gradient(0deg,rgba(8,5,11,.8),transparent 60%)}.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:5px;padding-bottom:40px}.hero h1{font-size:clamp(78px,8.8vw,138px);font-weight:800;letter-spacing:-.065em;line-height:.9;margin-top:34px}.hero h1>span{color:var(--purple)}.live-dot{display:inline-block;width:7px;height:7px;background:var(--purple);border-radius:50%;margin-right:9px}.hero-bottom{display:flex;align-items:center;gap:70px;margin-top:39px}.hero-bottom p{font-size:15px;line-height:1.7;color:#e2dbe4}.hero-caption{position:absolute;bottom:28px;left:56px;right:56px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.18em;color:#c7becb}.ticker{display:flex;justify-content:space-around;align-items:center;gap:25px;padding:23px 36px;background:var(--purple);color:var(--ink);white-space:nowrap;overflow:hidden}.ticker span{font-size:17px;font-weight:800;letter-spacing:.03em}.ticker b{font-size:26px;font-weight:400}.events-section{background:var(--paper);color:var(--ink)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:43px}.section-heading .eyebrow{margin-bottom:17px}.purple-dot{color:#77629f}.events-section .text-link:hover{color:#725895}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.event-card{min-width:0}.event-art{position:relative;display:block;aspect-ratio:2/1;background:#211526;overflow:hidden}.event-art>img{width:100%;height:100%;transition:transform .4s;object-fit:cover}.event-art:hover>img{transform:scale(1.035)}.date-badge{position:absolute;top:15px;left:15px;background:var(--paper);padding:11px 15px;text-align:center;display:flex;flex-direction:column}.date-badge span{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}.date-badge strong{font-size:26px;line-height:1.15;letter-spacing:-.06em}.ticket-arrow{position:absolute;bottom:15px;right:15px;border-radius:50%;background:var(--paper);width:44px;height:44px;display:grid;place-items:center;font-size:25px}.event-meta{display:flex;justify-content:space-between;margin-block:20px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.event-meta span:last-child{border:1px solid #c8c4bf;border-radius:20px;padding:2px 6px}.event-card h3{margin-bottom:18px;font-size:25px;text-transform:capitalize;letter-spacing:-.04em}.event-card .text-link{font-size:12px;font-weight:600;border:0}.event-note{border-top:1px solid #d6d2ce;margin-top:36px;padding-top:17px;font-size:11px;color:#69646c}.event-empty{grid-column:1/-1;padding:40px 0}.event-placeholder{font-size:80px;font-weight:800;line-height:.8;color:var(--purple);display:block;padding:40px 20px}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;align-items:center}.venue-image{position:relative}.venue-image img{width:100%;aspect-ratio:1.12;filter:saturate(.7)}.image-label{position:absolute;left:18px;bottom:18px;background:var(--paper);color:var(--ink);padding:10px 13px;font-size:8px;letter-spacing:.08em}.venue-copy .eyebrow{color:var(--purple);margin-bottom:24px}.venue-copy h2{font-size:clamp(50px,5vw,80px)}.venue-copy p:not(.eyebrow){margin-block:28px;max-width:370px;color:var(--muted);font-size:14px}.venue-copy .text-link{margin-top:9px}.gallery-section{padding-top:0}.section-aside{font-size:12px;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo{position:relative;border:0;padding:0;background:#201924;color:var(--paper);overflow:hidden}.photo img{width:100%;aspect-ratio:1.25;transition:transform .4s;filter:saturate(.75)}.photo:hover img{transform:scale(1.04)}.photo>span{position:absolute;right:15px;bottom:15px;background:#111012c9;border:1px solid #ffffff50;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.photo-dialog{border:1px solid #ffffff40;padding:45px 12px 12px;background:var(--ink);max-width:min(95vw,1200px);max-height:95svh}.photo-dialog::backdrop{background:#000d}.photo-dialog img{object-fit:contain;max-height:80svh;margin:auto}.photo-dialog button{position:absolute;top:10px;right:14px;color:var(--paper);background:none;border:0;font-size:13px;padding:5px}.cta{background:var(--purple);color:var(--ink);padding-block:80px}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.cta h2{font-size:clamp(60px,6vw,90px);margin-top:22px}.cta-inner>div:last-child{max-width:390px}.cta p:not(.eyebrow){font-size:14px;margin-bottom:24px}.cta-secondary{display:block;font-size:11px;margin-top:18px}.cta-secondary:hover{text-decoration:underline}footer{padding:75px 0 0}.footer-top{display:grid;grid-template-columns:1.3fr 1fr .65fr;gap:45px;padding-bottom:70px}.footer-top h2{font-size:54px}.footer-top .eyebrow{color:var(--muted);margin-bottom:24px;font-size:9px}.contact-block>a,.footer-links>a{display:block;font-size:13px;line-height:1.6;margin-bottom:13px}.contact-block>a:first-of-type{margin-bottom:22px}.contact-block p:last-child{font-size:10px;color:var(--muted);margin-top:21px}.footer-links>a:hover,.contact-block>a:hover{color:var(--purple)}.footer-bottom{border-top:1px solid var(--line);padding-block:24px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted)}.page-intro{padding-block:85px 65px}.page-intro .eyebrow{color:var(--purple);margin-bottom:28px}.page-intro h1 em{color:var(--purple)}.intro-copy{max-width:560px;font-size:16px;color:#bcb6bf;margin-top:30px;line-height:1.75}.venue-panorama img{width:100%;aspect-ratio:2.3;object-position:50% 50%}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.detail-grid .eyebrow{color:var(--purple);margin-bottom:18px}.detail-grid h2{font-size:30px;letter-spacing:-.04em;margin-bottom:20px}.detail-grid p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:24px}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.policy-card{background:#1c191f;border:1px solid var(--line);padding:35px}.card-number{display:block;font-size:11px;color:var(--purple);letter-spacing:.12em;margin-bottom:50px}.policy-card h2{font-size:37px;margin-bottom:20px}.policy-card p,.policy-card li{font-size:14px;color:#bfb8c2}.policy-card p+p{margin-top:18px}.policy-card p a{color:var(--paper);text-decoration:underline}.policy-wide{grid-column:1/-1}.policy-wide p{max-width:800px}.policy-wide .card-number{margin-bottom:28px}.form-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:90px}.inquiry-form{display:flex;flex-direction:column;gap:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:23px}.inquiry-form label{display:flex;flex-direction:column;gap:10px;font-size:12px;font-weight:600;min-width:0}.inquiry-form input,.inquiry-form textarea{width:100%;border:1px solid #ffffff32;border-radius:0;background:#1c191f;color:var(--paper);padding:16px;font-size:15px;min-width:0}.inquiry-form textarea{resize:vertical}.inquiry-form [aria-invalid=true]{border-color:#ffadb9}.inquiry-form .button{align-self:flex-start;min-width:220px}.form-consent{font-size:11px;color:var(--muted)}.form-status{color:#efc2ee;font-size:13px}.form-status:empty{display:none}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-aside{border-top:1px solid var(--line);padding-top:27px}.form-aside .eyebrow{color:var(--purple);margin-bottom:24px}.form-aside h2{font-size:50px;margin-bottom:24px}.form-aside p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:26px;max-width:340px}.form-aside a{display:table;font-size:14px;margin-bottom:18px}.form-aside hr{border:0;border-top:1px solid var(--line);margin-block:35px}.menu-note{font-size:13px;color:var(--muted);margin-bottom:30px}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.menu-grid img{width:100%;height:auto;object-fit:contain;background:white}.menu-grid a>span{display:flex;justify-content:space-between;padding:16px 0;font-size:12px;border-bottom:1px solid var(--line)}.confirmation{padding-block:100px;min-height:70svh;max-width:850px}.confirmation .eyebrow{color:var(--purple)}.confirmation-symbol{display:block;font-size:70px;color:var(--purple);margin-block:30px}.confirmation h1{font-size:80px;margin-bottom:30px}.confirmation p{max-width:580px;margin-bottom:18px}.confirmation .button-row{margin-top:35px}.muted{color:var(--muted);font-size:14px}.hub-body{background:radial-gradient(ellipse at top,#3b284c 0%,var(--ink) 65%);min-height:100svh}.link-hub{max-width:500px;width:calc(100% - 40px);margin:auto;text-align:center;padding:50px 0 35px}.hub-logo{width:140px;height:100px;object-fit:contain;margin:0 auto 30px}.link-hub>.eyebrow{color:var(--purple);font-size:9px}.link-hub h1{font-size:66px;line-height:1;margin-top:25px}.link-hub h1 em{color:var(--purple)}.link-hub>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:22px}.hub-links{display:flex;flex-direction:column;gap:11px;margin-top:34px;text-align:left}.hub-links>a{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #ffffff2b;padding:20px 22px;background:#ffffff05;font-size:14px;font-weight:600;transition:background .2s}.hub-links>a>span:last-child{font-size:23px}.hub-links>a:hover{background:#ffffff14}.hub-links .hub-primary{background:var(--purple);color:var(--ink);padding-block:24px}.hub-links .hub-primary:hover{background:#c9b8fb}.hub-primary small{display:block;font-size:8px;letter-spacing:.1em;margin-bottom:7px}.hub-social{display:flex;justify-content:center;gap:27px;font-size:12px;margin-top:30px}.link-hub>.hub-address{font-size:10px!important;margin-bottom:22px}.link-hub>.text-link{font-size:10px;color:var(--muted)}
.venue-panorama .photo{width:100%}
@media(min-width:1600px){.hero-caption{left:calc((100vw - 1320px)/2);right:calc((100vw - 1320px)/2)}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header nav{gap:21px}.brand{font-size:19px}.brand-mark{width:38px;height:38px;font-size:23px}.header nav>a:not(.button){font-size:11px}.header .button-small{font-size:11px;padding:14px;gap:15px}.hero-caption{left:32px;right:32px}.hero{min-height:600px}.hero h1{font-size:11vw}.split{gap:45px}.footer-top{gap:30px;grid-template-columns:1fr 1fr .65fr}.footer-top h2{font-size:42px}.event-grid{gap:20px}.event-card h3{font-size:21px}.form-layout{gap:45px}.detail-grid{gap:30px}.detail-grid h2{font-size:27px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:78px}.brand{font-size:19px}.brand-mark{width:36px;height:36px}.brand small{font-size:6px}.menu-toggle{display:flex;align-items:center;gap:18px;border:1px solid var(--line);padding:11px 14px;background:transparent;color:var(--paper);font-size:11px}.menu-toggle>span{font-size:17px}.header nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--ink);padding:22px 20px 30px;border-bottom:1px solid var(--line);align-items:stretch;gap:0}.header nav.is-open{display:flex;flex-direction:column}.header nav>a:not(.button){font-size:17px;padding:15px 0;border-bottom:1px solid var(--line)}.header nav>.button{margin-top:20px;font-size:13px;padding:17px}.hero{min-height:580px;height:calc(85svh - 78px);max-height:730px}.hero-content{justify-content:center;padding-bottom:35px}.hero h1{font-size:clamp(40px,12.1vw,86px);margin-top:28px}.hero-content>.eyebrow{font-size:9px}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#0b0612ad,#0b061238),linear-gradient(0deg,#0b0612c9,transparent)}.hero-bottom{flex-direction:column;align-items:flex-start;gap:25px;margin-top:28px}.hero-bottom p{font-size:13px}.hero-bottom .button{padding:18px 22px;font-size:12px;gap:40px}.hero-caption{left:20px;right:20px;bottom:24px;font-size:7px}.hero-caption span:last-child{display:none}.ticker{justify-content:flex-start;padding:17px 22px;gap:22px}.ticker span{font-size:12px}.ticker b{font-size:22px}.section{padding-block:65px}.section-bottom{padding-bottom:65px}.section-heading{align-items:flex-start;margin-bottom:30px;gap:20px}.section-heading h2{font-size:38px}.section-heading .eyebrow{font-size:9px;margin-bottom:14px}.section-heading>.text-link{font-size:10px;gap:10px;flex-shrink:0;margin-top:28px}.section-heading>.text-link span{font-size:17px}.event-grid{grid-template-columns:1fr;gap:36px}.event-art{aspect-ratio:2/1}.event-art img{object-position:center 40%}.event-card h3{font-size:27px}.event-meta{margin-top:16px}.event-card .text-link{font-size:13px}.event-note{margin-top:28px}.split{grid-template-columns:1fr;gap:38px}.venue-image img{aspect-ratio:1.2}.venue-copy h2{font-size:62px}.venue-copy p:not(.eyebrow){max-width:none;margin-block:22px}.gallery-section{padding-top:0}.gallery-section .section-heading{display:block}.section-aside{display:block;margin-top:17px;font-size:11px}.photo-grid{grid-template-columns:1fr 1fr;gap:12px}.photo:first-child{grid-column:1/-1}.photo img{aspect-ratio:1.05}.photo:first-child img{aspect-ratio:1.8}.photo>span{bottom:10px;right:10px;width:27px;height:27px}.cta{padding-block:60px}.cta-inner{align-items:flex-start;flex-direction:column;gap:30px}.cta h2{font-size:70px}.cta .eyebrow{font-size:9px}.cta p:not(.eyebrow){font-size:13px}.cta .button{font-size:12px}.footer-top{grid-template-columns:1fr 1fr;gap:36px 22px;padding-bottom:45px}.footer-top h2{grid-column:1/-1;font-size:58px}.footer-top .eyebrow{font-size:8px;margin-bottom:21px}.contact-block>a,.footer-links>a{font-size:11px}.contact-block p:last-child{font-size:9px}.footer-bottom{font-size:8px;flex-wrap:wrap;gap:14px;padding-block:22px}.footer-bottom>span:nth-child(2){display:none}footer{padding-top:55px}.page-intro{padding-block:58px 45px}.page-intro h1{font-size:clamp(55px,12.5vw,88px)}.page-intro .eyebrow{font-size:9px;margin-bottom:22px}.intro-copy{font-size:14px;margin-top:26px}.venue-panorama img{aspect-ratio:1.4}.detail-grid{grid-template-columns:1fr;gap:38px}.detail-grid h2{font-size:33px}.detail-grid p:not(.eyebrow){margin-bottom:15px}.policy-grid{grid-template-columns:1fr;gap:16px}.policy-card{padding:27px}.card-number{margin-bottom:28px}.policy-card h2{font-size:32px}.policy-card p,.policy-card li{font-size:13px}.policy-wide{grid-column:auto}.form-layout{grid-template-columns:1fr;gap:50px}.form-row{grid-template-columns:1fr;gap:24px}.inquiry-form input,.inquiry-form textarea{font-size:16px}.form-aside h2{font-size:44px}.menu-grid{grid-template-columns:1fr;gap:20px}.confirmation{padding-block:65px;min-height:65svh}.confirmation h1{font-size:58px}.confirmation p{font-size:14px}.confirmation .button-row{gap:25px}.link-hub{padding-top:35px}.link-hub h1{font-size:60px}.hub-logo{height:85px;width:125px;margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* La Mirage's original script logo anchors a softer, photo-led nightlife design. */
:root{--ink:#100a18;--paper:#fff9ff;--purple:#c6a0ff;--muted:#bdb0c7;--line:#ead0ff26;background:var(--ink)}
body{background:radial-gradient(ellipse at 95% 45%,#30103d66,transparent 45%),var(--ink)}
.header{height:112px;background:#100a18dc;border-bottom:1px solid #dab5ff14}
.home-page .header{position:absolute;inset:0 0 auto;background:linear-gradient(#100a18d9,#100a1800);border:0}
.brand{display:block;line-height:0}.brand-logo{width:116px;height:98px;object-fit:contain;filter:drop-shadow(0 0 16px #b877ff30)}
.header nav>a:not(.button){font-size:13px;letter-spacing:.02em;font-weight:400}
.button{border-radius:100px;background:linear-gradient(125deg,#e0c7ff,#b388ec);box-shadow:0 8px 36px #ad68ff25;transition:transform .25s,box-shadow .25s,background .25s}
.button:hover{background:#e5d1ff;box-shadow:0 8px 40px #ad68ff50;transform:translateY(-3px)}
.button-dark{color:var(--paper);background:#20122d;border-color:#dab5ff60;box-shadow:0 4px 40px #08001055}
.menu-toggle{border-radius:100px;background:#1e102a88}
.hero{height:900px;max-height:none;min-height:770px;isolation:isolate}
.hero-image{object-position:center;filter:saturate(1.2);animation:night-drift 24s ease-in-out infinite alternate}
.hero-shade{background:linear-gradient(180deg,#100a1840 10%,#17052255 48%,#100a18 100%),linear-gradient(90deg,#18072655,#17052211,#18072655)}
.hero::after{content:'';position:absolute;width:44vw;height:44vw;min-width:300px;min-height:300px;top:0;right:-10%;background:radial-gradient(circle,#c665ff60,transparent 65%);pointer-events:none;animation:light-drift 16s ease-in-out infinite alternate;z-index:0}
.hero-content{align-items:center;text-align:center;padding-top:118px;padding-bottom:75px;justify-content:center}
.hero-content>.eyebrow{font-weight:500;font-size:10px;letter-spacing:.24em;color:#eadff2;text-shadow:0 2px 10px #000}
.hero-logo{width:350px;height:292px;object-fit:contain;filter:drop-shadow(0 5px 26px #b068ee55);margin:16px 0 0}
.hero h1{font-size:clamp(42px,4.3vw,66px);font-weight:500;letter-spacing:-.035em;line-height:1.04;margin-top:0;text-shadow:0 4px 30px #180524}
.hero h1 em{color:#e3c7ff;letter-spacing:-.045em}
.hero-bottom{flex-direction:column;gap:23px;margin-top:26px}.hero-bottom p{font-size:14px;color:#e3d8e9;line-height:1.65}
.hero-bottom .button{padding:18px 29px;gap:45px}.hero-caption{color:#c6b0d5;bottom:28px}
.ticker{position:relative;z-index:1;background:transparent;color:#d9bcee;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:24px;margin-inline:auto;max-width:var(--max);width:calc(100% - 112px);border-radius:100px}
.ticker span{font-size:12px;font-weight:500;letter-spacing:.15em}.ticker b{font-size:15px;color:#b980ed}
.events-section{position:relative;isolation:isolate;background:transparent;color:var(--paper);overflow:hidden}
.events-section::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#100a18 0%,#100a188f 45%,#100a18 100%),url('/assets/images/lamirage-home.jpg') center/cover;opacity:.7}
.events-section .eyebrow{color:var(--purple)}.section-heading h2{font-weight:500}.purple-dot{color:var(--purple)}
.event-grid{gap:25px;align-items:stretch}
.event-card{border:1px solid #d2a2ff35;border-radius:28px;padding:12px 12px 24px;background:linear-gradient(160deg,#170c2c55,#16091ec9),url('/assets/images/lamirage-home.jpg') 35% 70%/cover;box-shadow:0 15px 45px #0003;transition:transform .35s,box-shadow .35s,border-color .35s;overflow:hidden}
.event-card:nth-child(2){background-position:65% 35%}.event-card:nth-child(3){background-position:90% 65%}
.event-card:hover{transform:translateY(-7px);box-shadow:0 18px 55px #8f38c333;border-color:#d2a2ff75}
.event-art{border-radius:19px;box-shadow:0 6px 25px #0005}.event-art>img{object-fit:contain}
.date-badge{border-radius:50%;width:60px;height:60px;justify-content:center;padding:5px;top:10px;left:10px;background:#fff5fff0;color:#271339;box-shadow:0 4px 18px #10031d55}
.date-badge strong{font-size:24px}.date-badge span{font-size:9px}.ticket-arrow{background:#fff2ffec;color:#2a1538;width:38px;height:38px;bottom:10px;right:10px}
.event-meta{padding:0 10px;font-size:9px;color:#e1cee9;gap:8px}.event-meta span:last-child{border-color:#e2c5f755}
.event-card h3{padding:0 10px;font-size:23px;letter-spacing:-.03em;font-weight:500}.event-card>.text-link{margin-left:10px;color:#ead3ff;font-size:12px}
.events-section .text-link:hover{color:#e2bcff}.event-note{border-color:var(--line);color:#c1afcd}
.venue-teaser{background:radial-gradient(ellipse at 15% 40%,#64237138,transparent 60%)}
.venue-image{border-radius:48% 48% 24px 24px;overflow:hidden;border:1px solid #d0a5eb2b;box-shadow:0 0 80px #8527a722}
.venue-image img{aspect-ratio:1;filter:saturate(1.12)}.image-label{border-radius:50px;left:50%;transform:translateX(-50%);bottom:23px;white-space:nowrap;background:#1e102dcc;color:#e3ceef;border:1px solid #dab5ff55;padding:12px 17px}
.venue-copy h2,.cta h2,.footer-top h2{font-weight:500}.venue-copy h2 em{color:#dbc2eb}.venue-copy p:not(.eyebrow){color:#c6b8cf}
.cta{position:relative;isolation:isolate;background:linear-gradient(110deg,#281137cf,#442158ad),url('/assets/images/lamirage-home.jpg') center 58%/cover;color:var(--paper);margin:0 auto 35px;width:calc(100% - 48px);border-radius:70px;border:1px solid #deb7ff33;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 75% 0,#c13cdb44,transparent 65%)}
.cta .eyebrow{color:#e0bffa}.cta h2 em{color:#ddb9fa}.cta p{color:#f0dff4}.cta-inner>div:last-child{max-width:370px}
footer{background:radial-gradient(ellipse at 15% 30%,#47245e44,transparent 60%)}
.footer-brand{align-self:center}.footer-logo{width:210px;height:180px;object-fit:contain}.footer-brand>small{display:block;font-size:10px;color:var(--muted);letter-spacing:.1em;margin-left:16px}
.page-intro{position:relative}.page-intro h1{font-weight:500}.page-intro::before{content:'';position:absolute;inset:0 -20px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 5%,#8f32ac33,transparent 60%)}
.policy-card{border-radius:32px;background:linear-gradient(140deg,#21102aaa,#180b24e8),url('/assets/images/lamirage-home.jpg') center/cover;border-color:#d6b1f22b;box-shadow:0 12px 36px #0002}.policy-card:nth-child(2){background-position:right center}
.policy-card p,.policy-card li{color:#e0d2e8}.card-number{color:#d9b6fa}
.photo,.photo-dialog{border-radius:26px}.venue-panorama .photo{border-radius:45px}.photo img{filter:saturate(1.12)}
.inquiry-form input,.inquiry-form textarea{border-radius:17px;background:#24132d99;border-color:#d6b1f233}.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:#c6a0ff}
.form-aside{padding:36px;border-radius:32px;border:1px solid #d6b1f22b;align-self:start;background:linear-gradient(#1c0a28b0,#180b24ec),url('/assets/images/lamirage-home.jpg') center/cover}
.form-aside p:not(.eyebrow){color:#d9c8e1}.menu-grid a{border-radius:24px;overflow:hidden;background:#22122d;padding:10px}.menu-grid img{border-radius:17px}.menu-grid a>span{padding:17px 10px;border:0}
.hub-body{background:linear-gradient(#13091bd9,#190c27d9),url('/assets/images/lamirage-home.jpg') center/cover fixed}
.hub-logo{width:190px;height:155px;filter:drop-shadow(0 0 25px #b46be933)}
.hub-links>a{border-radius:100px;background:#d4a8ff0e;border-color:#dec3ee40;backdrop-filter:blur(12px);padding:22px 28px;transition:transform .3s,background .3s,box-shadow .3s}
.hub-links>a:hover{transform:translateY(-3px);box-shadow:0 8px 25px #aa65ec24}.hub-links .hub-primary{background:linear-gradient(120deg,#e4caff,#b78aed);box-shadow:0 8px 30px #ad68ff30}
.reveal-enter{animation:section-arrive .85s cubic-bezier(.18,.65,.28,1) both}.event-card.reveal-enter:nth-child(2){animation-delay:.1s}.event-card.reveal-enter:nth-child(3){animation-delay:.2s}
.motion-toggle{position:relative;z-index:2;background:#180e2580;border:1px solid #dec4ee50;color:#eadff2;border-radius:100px;padding:8px 13px;font-size:10px;letter-spacing:.02em;margin-top:-8px}.hero-caption{align-items:center;gap:18px}.motion-paused .hero-image,.motion-paused .hero::after{animation-play-state:paused}.motion-paused .reveal-enter{animation:none}
@keyframes night-drift{from{transform:scale(1.02) translateX(-.5%)}to{transform:scale(1.09) translateX(.5%)}}
@keyframes light-drift{from{transform:translate(-12%,0);opacity:.35}to{transform:translate(-40%,24%);opacity:.8}}
@keyframes section-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.header nav{gap:24px}.header nav>a:not(.button){font-size:12px}.hero{height:860px}.hero h1{font-size:58px}.ticker{width:calc(100% - 64px)}.event-grid{gap:16px}.event-card h3{font-size:20px}.event-meta{padding-inline:3px;font-size:8px}.date-badge{width:48px;height:48px}.date-badge strong{font-size:21px}.date-badge span{font-size:8px}.cta{border-radius:50px}.form-aside{padding:26px}}
@media(max-width:760px){.header{height:98px}.brand-logo{width:100px;height:88px}.header nav{top:98px;background:#150c20f5;border-radius:0 0 30px 30px;box-shadow:0 15px 35px #0006}.header nav>a:not(.button){font-size:17px}.menu-toggle{padding:12px 19px}.hero{min-height:735px;height:92svh;max-height:870px}.hero-content{padding-top:98px;padding-bottom:60px}.hero-logo{width:260px;height:228px;margin-top:14px}.hero h1{font-size:clamp(38px,10.2vw,54px);line-height:1.05;margin-top:0}.hero-content>.eyebrow{font-size:8px;letter-spacing:.2em}.hero-bottom{align-items:center;gap:21px;margin-top:22px}.hero-bottom p{font-size:12px}.hero-bottom .button{font-size:12px;padding:17px 25px}.hero-caption{justify-content:center;font-size:7px;bottom:24px}.hero-image{object-position:58% center}.ticker{width:calc(100% - 30px);gap:20px;padding:19px 20px}.ticker span{font-size:9px;letter-spacing:.1em}.ticker b{font-size:13px}.section-heading h2{font-size:38px}.event-grid{gap:23px}.event-card{border-radius:26px;padding:10px 10px 22px}.event-card h3{font-size:24px}.event-meta{font-size:9px;padding-inline:9px}.event-art{border-radius:18px}.event-meta span:last-child{padding-inline:7px}.date-badge{width:52px;height:52px}.venue-image{border-radius:45% 45% 22px 22px}.venue-image img{aspect-ratio:1.03}.image-label{font-size:7px;bottom:16px;padding:10px 13px}.cta{width:calc(100% - 24px);border-radius:38px;padding-block:50px}.cta h2{font-size:65px}.cta-inner{gap:27px}.cta .wrap{width:calc(100% - 46px)}.footer-brand{grid-column:1/-1}.footer-logo{width:170px;height:145px}.footer-brand>small{display:block;margin-left:12px;font-size:9px}.policy-card{border-radius:27px}.form-aside{border-radius:27px}.venue-panorama .photo{border-radius:27px}.link-hub{padding-top:30px}.hub-logo{width:180px;height:148px;margin-bottom:22px}.hub-links>a{border-radius:30px;padding:22px 24px}.page-intro h1{font-size:clamp(50px,12vw,80px)}}
@media(prefers-reduced-motion:reduce){.hero-image,.hero::after,.reveal-enter{animation:none!important;transform:none!important}.event-card:hover,.hub-links>a:hover,.button:hover{transform:none}.hero-image{will-change:auto}.motion-toggle{display:none}}

.venue-gallery{padding-bottom:86px}.venue-gallery .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.venue-gallery .photo{width:100%;border:1px solid #d6b1f238;border-radius:44% 44% 26px 26px;box-shadow:0 16px 45px #0004;cursor:pointer}.venue-gallery .photo img{display:block;aspect-ratio:4/5;object-fit:cover;filter:saturate(1.12)}.venue-gallery .photo:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.gallery-message{grid-column:1/-1;min-height:220px;display:grid;place-items:center;text-align:center;padding:38px;border:1px solid #d6b1f238;border-radius:32px;background:radial-gradient(ellipse at 50% 0,#702e8d4a,transparent 75%),#21102a;color:#ead9f3;font-size:clamp(18px,2.2vw,25px)}
@media(max-width:760px){.venue-gallery{padding-bottom:65px}.venue-gallery .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.venue-gallery .photo:first-child{grid-column:auto}.venue-gallery .photo img,.venue-gallery .photo:first-child img{aspect-ratio:4/5}.venue-gallery .photo{border-radius:42% 42% 20px 20px}}
@media(max-width:480px){.venue-gallery .photo-grid{grid-template-columns:1fr 1fr}.venue-gallery .photo{border-radius:40% 40% 17px 17px}.gallery-message{min-height:180px;padding:26px}}
