:root{
  --gold:#d9b66f;--gold2:#f0cf88;--ink:#0b0d0c;--white:#f7f4ed;--line:rgba(255,255,255,.22);
  --glass:rgba(7,9,8,.24);--glass-strong:rgba(7,9,8,.34);--blur:6px;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;background:var(--ink);color:var(--white);font-family:var(--sans)}body{overflow:hidden}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}.app{height:100dvh;overflow:hidden;background:#090b0a}.glass-lite{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur)) saturate(115%);backdrop-filter:blur(var(--blur)) saturate(115%);border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 50px rgba(0,0,0,.18)}
.topbar{position:fixed;z-index:60;top:18px;left:22px;right:22px;height:68px;border-radius:16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 16px 0 12px;animation:drop .8s .05s both}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.brand img{width:39px;height:39px;object-fit:contain}.brand span{display:grid;line-height:1}.brand strong{font-family:var(--serif);font-size:20px;letter-spacing:.18em;font-weight:500}.brand small{font-size:7px;letter-spacing:.25em;margin-top:5px;color:rgba(255,255,255,.66)}.nav-desktop{display:flex;justify-content:center;gap:28px}.nav-desktop button,.top-availability{border:0;background:transparent;font-size:11px;letter-spacing:.08em}.nav-desktop button{color:rgba(255,255,255,.78);padding:12px 2px;position:relative}.nav-desktop button::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--gold2);transition:right .28s ease}.nav-desktop button:hover{color:white}.nav-desktop button:hover::after{right:0}.top-availability{border:1px solid rgba(239,203,129,.68);padding:11px 16px;border-radius:10px;color:var(--gold2);transition:.25s}.top-availability:hover{background:rgba(219,182,111,.12);border-color:var(--gold2)}.menu-toggle{display:none;border:0;background:transparent;width:42px;height:42px}.menu-toggle span{display:block;width:20px;height:1px;background:#fff;margin:5px auto}
.hero{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate}.hero-picture{position:absolute;inset:-1.5%;z-index:-4}.hero-picture img{width:103%;height:103%;object-fit:cover;object-position:center center;animation:heroBreath 24s ease-in-out infinite alternate;will-change:transform}.hero-wash{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(3,5,4,.7) 0%,rgba(3,5,4,.38) 32%,rgba(3,5,4,.06) 61%,rgba(3,5,4,.22) 100%),linear-gradient(0deg,rgba(2,4,3,.72) 0%,transparent 36%,rgba(2,4,3,.18) 100%)}.hero-grain{position:absolute;inset:0;z-index:-2;opacity:.06;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.hero-copy{position:absolute;z-index:5;left:clamp(40px,6vw,100px);top:50%;transform:translateY(-51%);width:min(700px,48vw)}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-size:10px;letter-spacing:.24em;color:var(--gold2);animation:rise .7s .22s both}.eyebrow span{width:42px;height:1px;background:var(--gold2);transform-origin:left;animation:lineIn .9s .2s both}.hero-copy h1{margin:0;font-family:var(--serif);font-size:clamp(58px,6.2vw,108px);line-height:.88;font-weight:400;letter-spacing:-.035em;text-shadow:0 9px 40px rgba(0,0,0,.22)}.hero-copy h1 span{display:block;overflow:hidden;animation:maskUp .9s cubic-bezier(.22,.74,.2,1) both}.hero-copy h1 span:nth-child(2){animation-delay:.12s;color:#fffaf0}.hero-lead{max-width:590px;margin:26px 0 0;font-size:15px;line-height:1.75;color:rgba(255,255,255,.78);animation:rise .8s .46s both}.hero-actions{display:flex;gap:11px;margin-top:28px;animation:rise .8s .58s both}.btn-primary,.btn-ghost{height:48px;padding:0 22px;border-radius:9px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.btn-primary{border:1px solid var(--gold2);background:linear-gradient(135deg,#e7c777,#cfa85c);color:#111}.btn-ghost{border:1px solid rgba(255,255,255,.28);background:rgba(7,9,8,.16);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.btn-ghost b{margin-left:10px;color:var(--gold2)}
.availability{position:absolute;z-index:6;top:50%;right:clamp(28px,4vw,66px);transform:translateY(-46%);width:350px;border-radius:20px;padding:22px 22px 18px;animation:cardIn .85s .35s both}.availability-head{display:flex;justify-content:space-between;align-items:flex-start}.availability-head span,.calendar-label{font-size:8px;letter-spacing:.24em;color:var(--gold2)}.availability-head h2,.calendar-drawer h2{font-family:var(--serif);font-size:26px;font-weight:400;margin:6px 0 0}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 6px rgba(217,182,111,.12);margin-top:7px;animation:pulse 2.4s ease-out infinite}.month-nav{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin:20px 0 11px;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);height:46px}.month-nav button{height:100%;border:0;background:transparent;color:rgba(255,255,255,.72);font-size:22px}.month-nav strong{text-align:center;font-size:10px;letter-spacing:.17em}.month-nav small{font-size:9px;color:rgba(255,255,255,.5);font-weight:400;margin-left:5px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar>*{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;font-size:10px}.calendar .dow{aspect-ratio:auto;height:24px;font-size:8px;color:rgba(255,255,255,.42)}.calendar button{border:0;background:rgba(255,255,255,.035)}.calendar button:hover:not(.busy){outline:1px solid rgba(239,207,136,.5);background:rgba(239,207,136,.11)}.calendar .busy{color:rgba(255,255,255,.25);background:rgba(255,255,255,.025);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.2)}.calendar .outside{color:rgba(255,255,255,.17)}.calendar button.selected{background:var(--gold2);color:#12120f}.calendar button.range{background:rgba(239,207,136,.18);border-radius:10px}.legend{display:flex;align-items:center;gap:13px;margin-top:12px;font-size:8px;color:rgba(255,255,255,.53)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:6px;height:6px;border-radius:50%;border:1px solid var(--gold2)}.legend .busy-dot{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.13)}.legend .selection-label{margin-left:auto;color:var(--gold2);letter-spacing:.07em}.availability-cta{width:100%;height:45px;margin-top:15px;padding:0 14px;border:1px solid rgba(239,207,136,.55);border-radius:9px;background:rgba(219,182,111,.07);display:flex;align-items:center;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.11em}.availability-cta b{font-size:16px;color:var(--gold2)}.mock-note{margin:10px 0 0;font-size:7px;color:rgba(255,255,255,.3);text-align:center}.hero-signature{position:absolute;left:clamp(40px,6vw,100px);bottom:25px;display:flex;gap:12px;align-items:center;font-size:8px;letter-spacing:.14em;color:rgba(255,255,255,.48);animation:rise .8s .8s both}.hero-signature span{color:var(--gold2)}
.experience-rail{position:absolute;z-index:5;left:clamp(40px,6vw,100px);right:450px;bottom:67px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.12);animation:rise .8s .7s both}.experience-rail button{min-height:76px;border:0;border-right:1px solid rgba(255,255,255,.12);background:rgba(7,9,8,.05);display:grid;grid-template-columns:30px 1fr 18px;gap:7px;align-items:center;text-align:left;padding:12px 13px;transition:.3s}.experience-rail button:last-child{border-right:0}.experience-rail button:hover{background:rgba(7,9,8,.22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.experience-rail em{font-style:normal;font-family:var(--serif);font-size:16px;color:var(--gold2)}.experience-rail span{display:grid;gap:4px}.experience-rail small{font-size:7px;letter-spacing:.16em;color:rgba(255,255,255,.46)}.experience-rail strong{font-family:var(--serif);font-size:14px;font-weight:400}.experience-rail b{font-size:14px;color:rgba(239,207,136,.65)}
.story-panel{position:fixed;inset:0;z-index:80;visibility:hidden;opacity:0;transition:opacity .5s ease,visibility .5s;overflow:hidden}.story-panel.open{visibility:visible;opacity:1}.story-bg{position:absolute;inset:0}.story-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.025);transition:transform 7s ease}.story-panel.open .story-bg img{transform:scale(1.065)}.portrait-focus img{object-position:center 54%}.story-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,4,.64) 0%,rgba(3,5,4,.16) 52%,rgba(3,5,4,.1) 100%),linear-gradient(0deg,rgba(3,5,4,.42),transparent 55%)}.story-close,.gallery-close{position:absolute;z-index:4;right:28px;top:26px;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(6,8,7,.16);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:26px;font-weight:200}.story-card{position:absolute;z-index:3;left:clamp(38px,6vw,100px);top:50%;transform:translateY(-47%);width:min(540px,42vw);padding:31px 33px 28px;border-radius:20px;opacity:0;transition:opacity .55s .1s,transform .7s .08s}.story-panel.open .story-card{opacity:1;transform:translateY(-50%)}.story-index{font-size:8px;letter-spacing:.23em;color:var(--gold2)}.story-card h2{font-family:var(--serif);font-weight:400;font-size:clamp(45px,4.5vw,74px);line-height:.92;letter-spacing:-.03em;margin:16px 0 19px}.story-card p{font-size:14px;line-height:1.75;color:rgba(255,255,255,.78);max-width:470px}.story-facts{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.story-facts span{padding:9px 11px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.03);font-size:9px;color:rgba(255,255,255,.58)}.story-facts b{color:var(--gold2);font-weight:600;margin-right:4px}.story-card>button{margin-top:4px;height:44px;border:1px solid rgba(239,207,136,.5);background:rgba(219,182,111,.06);border-radius:9px;padding:0 16px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.story-card>button b{color:var(--gold2);margin-left:12px}.contact-card label{display:grid;gap:6px;font-size:8px;letter-spacing:.13em;color:rgba(255,255,255,.55);margin:12px 0}.contact-card input,.contact-card textarea{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.12);border-radius:9px;color:#fff;padding:11px 12px;outline:0;resize:none}.contact-card input:focus,.contact-card textarea:focus{border-color:rgba(239,207,136,.6)}
.gallery-overlay{position:fixed;inset:0;z-index:110;background:#070908;visibility:hidden;opacity:0;transition:.4s}.gallery-overlay.open{visibility:visible;opacity:1}.gallery-stage{position:absolute;inset:0;overflow:hidden}.gallery-stage img{width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform 7s ease}.gallery-overlay.open .gallery-stage img{transform:scale(1.035)}.gallery-bottom{position:absolute;z-index:2;left:50%;bottom:24px;transform:translateX(-50%);min-width:430px;max-width:calc(100% - 44px);height:62px;border-radius:15px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:0 15px}.gallery-bottom span{font-family:var(--serif);font-size:19px;color:var(--gold2)}.gallery-bottom strong{font-size:9px;letter-spacing:.17em;text-transform:uppercase}.gallery-nav{display:flex;gap:6px}.gallery-nav button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.1)}
.mobile-menu{display:none;position:fixed;z-index:100;inset:12px;border-radius:20px;padding:70px 28px 28px;visibility:hidden;opacity:0;transition:.35s}.mobile-menu.open{visibility:visible;opacity:1}.mobile-close{position:absolute;right:15px;top:14px;width:42px;height:42px;border:0;background:transparent;font-size:28px}.mobile-kicker{font-size:8px;letter-spacing:.25em;color:var(--gold2);margin-bottom:20px}.mobile-menu>button:not(.mobile-close){width:100%;height:58px;border:0;border-bottom:1px solid rgba(255,255,255,.13);background:transparent;text-align:left;font-family:var(--serif);font-size:30px;display:flex;align-items:center;gap:12px}.mobile-menu em{font-family:var(--sans);font-style:normal;font-size:8px;color:var(--gold2);letter-spacing:.1em}.mobile-menu .mobile-calendar{margin-top:22px!important;border:1px solid rgba(239,207,136,.6)!important;border-radius:10px!important;height:48px!important;justify-content:center!important;font-family:var(--sans)!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.14em;color:var(--gold2)}.calendar-drawer{position:fixed;z-index:105;left:10px;right:10px;bottom:10px;border-radius:22px;padding:27px 21px 18px;transform:translateY(110%);transition:transform .48s cubic-bezier(.2,.8,.2,1);visibility:hidden}.calendar-drawer.open{transform:translateY(0);visibility:visible}.drawer-close{position:absolute;right:12px;top:11px;width:38px;height:38px;border:0;background:transparent;font-size:25px}.calendar-drawer h2{margin-bottom:8px}.calendar-drawer .calendar>*{font-size:11px}.calendar-drawer .calendar .dow{font-size:8px}
@keyframes heroBreath{0%{transform:scale(1.015) translate3d(0,0,0)}100%{transform:scale(1.065) translate3d(-.7%,.35%,0)}}@keyframes drop{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes maskUp{from{opacity:0;transform:translateY(70%)}to{opacity:1;transform:none}}@keyframes lineIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cardIn{from{opacity:0;transform:translateY(-43%) translateX(25px)}to{opacity:1;transform:translateY(-46%) translateX(0)}}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(217,182,111,.22)}50%{box-shadow:0 0 0 8px rgba(217,182,111,0)}}
@media(max-width:1180px){.nav-desktop{gap:16px}.experience-rail{right:400px}.availability{right:24px;width:330px}.hero-copy{left:44px}.hero-signature{left:44px}}
@media(max-width:900px){.nav-desktop,.top-availability{display:none}.topbar{grid-template-columns:1fr auto}.menu-toggle{display:block}.hero-picture img{object-position:center center}.hero-wash{background:linear-gradient(0deg,rgba(3,5,4,.78) 0%,rgba(3,5,4,.2) 55%,rgba(3,5,4,.34) 100%)}.hero-copy{left:24px;right:24px;top:auto;bottom:170px;transform:none;width:auto}.hero-copy h1{font-size:clamp(58px,13vw,86px)}.hero-lead{max-width:620px}.availability{display:none}.experience-rail{left:22px;right:22px;bottom:60px;grid-template-columns:repeat(4,1fr)}.experience-rail button{grid-template-columns:auto;min-height:68px;padding:9px;text-align:center}.experience-rail em,.experience-rail b,.experience-rail small{display:none}.experience-rail strong{font-size:12px}.hero-signature{left:24px;bottom:28px}.mobile-menu{display:block}.story-card{left:24px;right:24px;width:auto}.story-shade{background:linear-gradient(0deg,rgba(3,5,4,.66) 0%,rgba(3,5,4,.16) 70%)}.story-card{top:auto;bottom:24px;transform:translateY(18px)}.story-panel.open .story-card{transform:none}.gallery-bottom{min-width:0;width:calc(100% - 30px)}}
@media(max-width:600px){.topbar{top:10px;left:10px;right:10px;height:59px;border-radius:14px}.brand img{width:34px;height:34px}.brand strong{font-size:16px}.brand small{font-size:6px}.hero-copy{bottom:178px;left:20px;right:20px}.eyebrow{font-size:8px;margin-bottom:13px}.eyebrow span{width:26px}.hero-copy h1{font-size:clamp(51px,15vw,72px)}.hero-lead{font-size:12px;line-height:1.55;margin-top:16px;max-width:92%}.hero-actions{margin-top:18px}.btn-primary,.btn-ghost{height:44px;padding:0 15px;font-size:8px}.experience-rail{bottom:52px;left:14px;right:14px}.experience-rail button{min-height:62px}.experience-rail strong{font-size:10px;line-height:1.15}.hero-signature{left:18px;bottom:22px;font-size:7px}.story-close,.gallery-close{right:15px;top:14px;width:42px;height:42px}.story-card{left:12px;right:12px;bottom:12px;padding:24px 22px 20px;border-radius:17px}.story-card h2{font-size:46px}.story-card p{font-size:12px;line-height:1.6}.story-facts{gap:6px;margin:16px 0}.story-facts span{font-size:7px;padding:8px}.gallery-bottom{bottom:12px;height:58px}.gallery-stage img{object-position:center}.calendar-drawer{max-height:90dvh;overflow:auto}.mobile-calendar-grid>*{min-height:34px;aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.001ms!important}.hero-picture img{transform:none!important}}
