:root{--background:#fcfbf8;--paper:#f4f0e7;--ink:#24212e;--muted:#777180;--primary:#7045c3;--deep:#292039;--gold:#a38a58;--gold-light:#d6be87;--border:#ded9cf;--card:#fffefc;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--background)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold-light);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}h1{font-size:clamp(42px,5vw,64px);line-height:1.06}h2{font-size:clamp(42px,5vw,68px);line-height:1.04}h3{font-weight:500}p{font-size:14px;line-height:1.9;color:var(--muted)}em{font-weight:400}img{max-width:100%;display:block;object-fit:cover}.container{max-width:1390px;margin:auto;padding-left:48px;padding-right:48px}.section{padding-top:100px;padding-bottom:100px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;line-height:1.7}.gold{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:14px 26px;background:var(--primary);color:white;border:1px solid var(--primary);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;transition:opacity .2s}.button:hover{opacity:.84}.button.outline{background:transparent;border-color:#ffffff70;color:white}.button.light{background:var(--background);border-color:var(--background);color:var(--ink)}.button.secondary{background:transparent;color:var(--primary);border-color:var(--border)}.text-button{border:0;background:none;color:var(--primary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:8px 0}.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}.brand{display:flex;align-items:center;font-size:25px;font-weight:700;white-space:nowrap}.brand .gold{color:var(--gold-light)}.brand-divider{height:24px;width:1px;background:#ffffff80;margin:0 14px}.privileges{font-size:11px;font-weight:500;letter-spacing:.23em;text-transform:uppercase;margin-left:8px}.hero{position:relative;min-height:min(860px,89vh);color:white;display:flex;flex-direction:column}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-position:center}.hero-shade{background:linear-gradient(90deg,#181323bc,#18132359,transparent),#18132344}.hero-header{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 64px;height:82px;border-bottom:1px solid #ffffff40}.hero-header nav{display:flex;gap:36px;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.header-cta{min-height:40px}.menu-toggle{display:none;background:transparent;border:0;color:white;font-size:25px}.hero-content{position:relative;padding:80px 64px 100px;max-width:1500px;width:100%;margin:auto;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero-content .gold{color:var(--gold-light);margin-bottom:24px}.hero h1{font-size:clamp(55px,6.5vw,105px);line-height:.96}.hero .intro{max-width:570px;color:#ffffffd9;margin-top:30px;font-size:16px;line-height:1.8}.exclusive{color:#ffffffb9;font-size:12px;margin-top:38px}.scroll-link{position:absolute;bottom:32px;right:64px;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.discovery{position:sticky;top:0;z-index:10;max-width:1390px;padding:0 40px;margin:-40px auto 0}.filter-bar{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;background:var(--card);min-height:100px;box-shadow:0 18px 55px -25px #29203959}.filter-bar label{margin:0;padding:12px 28px;border-right:1px solid var(--border)}.filter-bar label span{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.filter-bar select{border:0;padding:8px 0 0;height:auto;background:transparent;font-size:14px}.filter-bar .button{margin:16px}.story{text-align:center;max-width:1240px;margin:auto;padding-left:48px;padding-right:48px}.story h2{max-width:930px;margin:26px auto}.story h2 em{color:var(--primary)}.story>p:not(.eyebrow){max-width:740px;margin:14px auto;font-size:16px;line-height:2}.features{margin-top:68px;border-top:1px solid var(--border);padding-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;text-align:left}.feature-number{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;color:var(--gold)}.features h3{font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:14px 0 10px}.occasions{background:var(--paper);padding:80px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-heading h2{margin-top:16px}.section-heading>p{max-width:330px}.campaign-tabs{display:flex;gap:8px;overflow-x:auto;margin-top:38px;padding-bottom:20px;border-bottom:1px solid var(--border)}.chip{flex-shrink:0;background:none;border:1px solid var(--border);padding:12px 20px;font-size:12px;color:var(--ink)}.chip.active{background:var(--primary);border-color:var(--primary);color:white}.campaign-feature{display:grid;grid-template-columns:44% 56%;background:var(--deep);color:white}.campaign-copy{padding:80px 48px 80px max(48px,calc((100vw - 1390px)/2));display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.campaign-copy .gold{color:var(--gold-light)}.campaign-copy h2{font-size:clamp(45px,4.5vw,69px);margin-top:30px;max-width:540px}.campaign-copy>p:not(.eyebrow){color:#ffffffb9;margin:26px 0 30px;line-height:2.2;max-width:490px}.campaign-copy .availability{font-size:10px;margin-top:42px;letter-spacing:.16em}.campaign-feature>img{height:100%;width:100%;min-height:630px}.category-tabs{display:flex;gap:28px;overflow:auto;border-bottom:1px solid var(--border);margin-top:40px}.category{background:none;border:0;border-bottom:2px solid transparent;flex-shrink:0;padding:18px 0;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.category.active{border-color:var(--primary);color:var(--primary)}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}.offer-card{background:var(--card)}.offer-image{position:relative;aspect-ratio:1.25;overflow:hidden}.offer-image img{width:100%;height:100%;transition:transform .6s}.offer-card:hover .offer-image img{transform:scale(1.045)}.offer-image span{position:absolute;top:20px;left:20px;background:var(--background);padding:10px 12px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}.offer-copy{padding:24px;border:1px solid var(--border);border-top:0}.offer-copy .eyebrow{font-size:10px;letter-spacing:.16em}.offer-copy h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;line-height:1.05;margin:12px 0 16px}.offer-copy>p:not(.eyebrow){min-height:84px}.card-actions{border-top:1px solid var(--border);margin-top:24px;padding-top:20px;display:flex;align-items:center;gap:12px;justify-content:space-between}.card-actions>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-weight:600}.card-actions .text-button{font-size:9px}.book-link{border:1px solid var(--border);border-radius:30px;padding:9px 14px;text-transform:uppercase;font-size:11px;font-weight:600;color:var(--primary);white-space:nowrap}.center{text-align:center;margin-top:40px}.center h3{font-family:Georgia,serif;font-size:28px}.center p{margin:20px}.notice{font-size:12px;text-align:center;margin-top:30px;line-height:1.8}.invitation{text-align:center;background:var(--paper)}.invitation h2{max-width:770px;margin:20px auto}.invitation>p:not(.eyebrow){margin:24px auto;max-width:540px}.invitation .button{margin-top:6px}footer{background:var(--deep);color:white;padding:40px 0}.footer-content{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-content p,.footer-content>a{font-size:12px;color:#ffffffa6}.footer-content .brand{margin-bottom:8px}label{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin:20px 0}input:not([type=checkbox]):not([type=hidden]),select,textarea{display:block;width:100%;margin-top:8px;padding:12px;height:48px;border:1px solid var(--border);border-radius:0;color:var(--ink);background:var(--background);text-transform:none;letter-spacing:normal;font-size:14px;font-weight:400}textarea{height:auto;resize:vertical}input[type=checkbox]{accent-color:var(--primary);width:17px;height:17px;flex-shrink:0}.check{display:flex;gap:12px;align-items:flex-start;text-transform:none;letter-spacing:normal;font-weight:400;line-height:1.8;color:var(--ink);font-size:13px}.panel{border:1px solid var(--border);background:var(--card);padding:26px}.panel h2{font-size:36px;margin:12px 0 18px}.panel h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;margin:26px 0 10px}.panel ul{padding-left:20px;font-size:14px;color:var(--muted);line-height:2}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding:22px 48px}.page-header form{margin:0}.page-header .brand{font-family:'Cormorant Garamond',Georgia,serif}.page-header .privileges{color:var(--gold)}.booking-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:56px;padding-top:40px;padding-bottom:80px;max-width:1200px}.booking-layout aside>img{aspect-ratio:1.6;width:100%}.booking-layout aside .notice{text-align:left}.steps{display:flex;gap:24px;list-style:none;padding:0 0 18px;margin:26px 0 32px;border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.steps [aria-current]{color:var(--primary);font-weight:700}fieldset{border:0;padding:0;margin:0 0 30px}legend{font-family:'Cormorant Garamond',Georgia,serif;font-size:48px;line-height:1.1;padding:0;margin-bottom:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fields label{margin:20px 0 0}.counter{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:14px 0;margin:0}.counter input[type=number]{width:90px;text-align:center;margin:0}.booking-layout fieldset h2{font-size:34px;margin-top:40px}.addons{margin-bottom:26px}.addons label{border:1px solid var(--border);padding:12px}.full{width:100%;margin-top:20px}.error{color:#a73333;font-size:14px;margin:16px 0}.error:empty{display:none}.flash{padding:14px 24px;background:#ede7f8;text-align:center;color:var(--primary)}.success{max-width:720px;margin:80px auto;padding:0 24px;text-align:center}.success h1{margin:18px 0 30px}.reference{font-family:'Cormorant Garamond',Georgia,serif;font-size:48px;color:var(--primary);overflow-wrap:anywhere}.success .panel{max-width:480px;text-align:left;margin:26px auto}.success .panel p{margin:8px 0}.success .panel strong{color:var(--ink);margin-right:14px}.success>.button{margin:30px 16px}.auth{min-height:75vh;display:grid;place-items:center;padding:40px 24px}.auth>form{width:100%;max-width:390px;padding:32px}.auth h1{font-size:40px;margin:8px 0 24px}.auth-toggle{display:block;text-align:center;color:var(--primary);font-size:12px;margin-top:20px}.portal h1{margin-bottom:24px}.portal-filters{display:flex;gap:20px;align-items:center}.portal-filters label{min-width:250px}.portal-filters label:last-child{margin-left:auto}.table-scroll{overflow:auto;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--paper);color:var(--muted)}th,td{padding:14px 16px;border-bottom:1px solid var(--border)}td a{color:var(--primary);font-weight:600}small{display:block;font-size:11px;color:var(--muted);line-height:1.8}td{min-width:120px}.staff-form{max-width:460px;margin-top:40px}.detail-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;margin-top:30px}dl{margin:0}dl>div{display:flex;gap:24px;border-top:1px solid var(--border);padding:14px 0}dt{width:140px;flex-shrink:0;text-transform:uppercase;font-size:11px;letter-spacing:.1em;color:var(--muted)}dd{margin:0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.detail-layout h2{font-size:32px;margin:24px 0 14px}.history{border-left:1px solid var(--border);padding-left:22px;list-style:none}.history li{margin:16px 0;font-size:14px}dialog{border:1px solid var(--border);background:var(--background);padding:36px;width:calc(100% - 32px);max-width:560px;max-height:90vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#181323b3}dialog h2{font-size:38px;margin:14px 0}dialog .dialog-close{position:absolute;top:10px;right:15px;border:0;background:none;font-size:30px;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1600px){.hero-header{padding-left:max(64px,calc((100vw - 1372px)/2));padding-right:max(64px,calc((100vw - 1372px)/2))}}
@media(max-width:1100px){.hero-header{padding:0 32px}.hero-header nav{gap:20px;font-size:10px}.header-cta{display:none}.hero-content{padding-left:48px}.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery{position:relative;margin:24px auto 0;padding:0 24px}.filter-bar{grid-template-columns:repeat(3,1fr)}.filter-bar>.button{grid-column:1/-1}.filter-bar label{padding:16px}.campaign-feature{grid-template-columns:1fr 1fr}.campaign-copy{padding:60px 32px}.campaign-feature>img{min-height:560px}.booking-layout{gap:30px}.card-actions{flex-wrap:wrap}}
@media(max-width:760px){html{scroll-padding-top:20px}.container{padding-left:24px;padding-right:24px}.section{padding-top:70px;padding-bottom:70px}.hero{min-height:740px}.hero-header{padding:0 24px}.hero-header .brand{font-size:24px}.privileges{font-size:10px;letter-spacing:.18em}.menu-toggle{display:block}.hero-header nav{display:none;position:absolute;top:81px;left:0;right:0;padding:28px 24px;background:var(--deep);z-index:20;flex-direction:column;gap:24px;font-size:12px}.hero-header nav.open{display:flex}.hero-content{padding:65px 24px 70px}.hero .intro{font-size:14px;max-width:540px}.hero h1{font-size:clamp(48px,9vw,72px)}.scroll-link{display:none}.hero-content .actions{gap:12px}.button{padding:14px 20px}.filter-bar{grid-template-columns:1fr}.filter-bar label{border-right:0;border-bottom:1px solid var(--border)}.filter-bar>.button{grid-column:auto}.story{padding-left:24px;padding-right:24px}.story>p:not(.eyebrow){font-size:14px}.features{grid-template-columns:1fr;gap:30px;text-align:left;margin-top:40px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px}.occasions{padding:60px 0}.campaign-feature{grid-template-columns:1fr}.campaign-copy{padding:60px 24px}.campaign-feature>img{min-height:0;height:380px}.offer-grid{grid-template-columns:1fr;gap:30px}.offer-copy>p:not(.eyebrow){min-height:0}.card-actions{flex-wrap:nowrap}.footer-content{flex-direction:column;align-items:flex-start}.booking-layout{grid-template-columns:1fr;padding-top:28px}.booking-layout aside{order:-1}.booking-layout aside>img{max-height:220px}.booking-layout aside .panel{padding:20px}.booking-layout aside .panel h2{font-size:32px}.booking-layout aside .panel ul,.booking-layout aside .panel h3{display:none}.fields{gap:14px}.steps{gap:16px;font-size:10px}.page-header{padding:20px 24px}.page-header .brand{font-size:21px}.page-header .privileges{font-size:9px}.portal-filters{flex-direction:column;align-items:stretch;gap:0}.portal-filters label:last-child{margin-left:0}.portal-filters label{margin:12px 0}.table-scroll{margin-top:20px}.detail-layout{grid-template-columns:1fr}dt{width:105px}.success{margin:60px auto}legend{font-size:42px}.reference{font-size:38px}dialog{padding:28px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
