@font-face{font-family:'Futura PT';src:url('assets/FuturaPT-Light.woff2') format('woff2');font-weight:300;font-display:swap}@font-face{font-family:'Futura PT';src:url('assets/FuturaPT-Book.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:'Futura PT';src:url('assets/FuturaPT-Medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:'Futura PT';src:url('assets/FuturaPT-DemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--warm-grey:#f2eeeb;--sand:#ccc3ae;--bronze:#847150;--brown:#46371c;--graphite:#45484d;--black:#000;--white:#fff;--line:rgba(132,113,80,.25);--font:'Futura PT',sans-serif;--ease:cubic-bezier(.22,.61,.36,1);--gutter:7.3vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--warm-grey);color:var(--brown);font:400 18px/1.6 var(--font);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--bronze);outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font);font-weight:300;line-height:1.08;letter-spacing:-.025em}em{font-style:normal;font-weight:inherit}h2{font-size:clamp(42px,4.3vw,68px)}h2 em{color:var(--bronze)}.section{padding:108px var(--gutter)}.eyebrow{display:block;font:500 11px/1.5 var(--font);letter-spacing:.19em;margin-bottom:25px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;padding:17px 27px;min-height:56px;background:var(--brown);color:var(--warm-grey);border:1px solid var(--brown);font-size:14px;line-height:1.4;letter-spacing:.025em;position:relative;overflow:hidden;isolation:isolate;transition:background .6s var(--ease),border-color .6s var(--ease),color .6s var(--ease),box-shadow .6s var(--ease)}.button:before{content:'';position:absolute;inset:0;background:var(--bronze);transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1}.button>span{font-size:23px;line-height:1;display:inline-block;transition:transform .6s var(--ease)}.button:hover:before{transform:translateY(0)}.button:hover{border-color:var(--bronze);box-shadow:0 8px 22px #46371c0d}.button:hover>span{transform:translate(3px,-3px)}.button.small{padding:12px 20px;min-height:46px;gap:28px;font-size:13px}.button.light{background:var(--warm-grey);color:var(--brown);border-color:var(--warm-grey)}.button.light:before{background:var(--sand)}.button.light:hover{border-color:var(--sand)}.text-link,.calendar-link,.booking-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:8px 0;font-size:14px;line-height:1.5;color:var(--brown);position:relative}.text-link:before,.calendar-link:before,.booking-contact:before{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.3}.text-link:after,.calendar-link:after,.booking-contact:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease)}.text-link:hover:after,.calendar-link:hover:after,.booking-contact:hover:after{transform:scaleX(1)}.text-link>span,.calendar-link>span,.booking-contact>span{font-size:23px;display:inline-block;transition:transform .6s var(--ease)}.text-link:hover>span,.calendar-link:hover>span,.booking-contact:hover>span{transform:translate(3px,-3px)}.skip{position:fixed;z-index:100;top:-80px;left:20px;padding:14px;background:var(--white);color:var(--brown)}.skip:focus{top:10px}
.header{height:96px;padding:0 4.3vw;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--warm-grey);position:sticky;top:0;z-index:30;border-bottom:1px solid transparent;transition:border-color .6s var(--ease),box-shadow .6s var(--ease)}.header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 4px 22px #46371c08}.brand{display:block;padding:10px 0}.brand img{width:136px;height:65px;object-fit:contain}.desktop-nav{display:flex;gap:36px;font-size:14px;margin-left:55px}.desktop-nav a{position:relative;padding:9px 0}.desktop-nav a:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:29px}.phone{padding:10px}.phone svg{width:19px;fill:none;stroke:var(--brown);stroke-width:1.3;display:block}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}
.hero{min-height:690px;height:calc(100svh - 96px);max-height:970px;position:relative;color:var(--warm-grey);isolation:isolate;display:flex;flex-direction:column;justify-content:space-between}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-image{object-position:center 59%}.hero-shade{z-index:-1;background:linear-gradient(90deg,#0009,#0003 65%,#0001),linear-gradient(0deg,#0006,transparent 35%)}.hero-top{margin:27px var(--gutter) 0;font-size:10px;letter-spacing:.2em}.hero-content{padding:25px var(--gutter) 30px;text-align:left}.hero-label{font-size:11px;letter-spacing:.2em;color:var(--sand);margin-bottom:25px}.hero h1{font-size:clamp(70px,7.2vw,112px);letter-spacing:-.018em;line-height:1.01;max-width:820px}.hero h1 em{color:var(--sand)}.hero-content p{font-size:17px;line-height:1.5;margin:23px 0 28px;max-width:460px}.hero-content .button{padding:14px 24px;min-width:190px}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin:0 var(--gutter) 27px;gap:25px;font-size:12px;line-height:1.6;color:var(--sand)}.hero-bottom p>span{display:block;font-size:11px;letter-spacing:.14em;color:var(--warm-grey);margin-bottom:4px}.hero-concept{max-width:230px}.scroll-link{font-size:10px;letter-spacing:.15em;display:flex;align-items:center;gap:25px}.scroll-link span{font-size:24px}
.intro{display:grid;grid-template-columns:1.12fr 1fr;gap:10%;align-items:center;padding-top:128px;padding-bottom:128px}.intro h2{font-size:clamp(40px,3.7vw,58px);margin-bottom:31px}.body-copy{font-size:17px;line-height:1.65;max-width:470px;margin-bottom:17px;color:var(--graphite)}.intro .text-link{margin-top:5px}.intro-signature{font-size:15px;margin-top:34px;color:var(--bronze)}.intro-art{position:relative}.intro-image{aspect-ratio:.91;overflow:hidden}.intro-image img{height:100%;width:100%;object-fit:cover;object-position:42% center;transition:transform 1.8s var(--ease)}.intro-art:hover .intro-image img{transform:scale(1.025)}.image-caption{display:block;font-size:10px;letter-spacing:.14em;padding:20px 0 0}.gala-section{padding:80px var(--gutter);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%;background:var(--sand)}.gala-heading h2{font-size:clamp(40px,4vw,62px)}.gala-heading h2 em{color:var(--brown)}.gala-heading .eyebrow{margin-bottom:22px}.gala-copy{font-size:17px;line-height:1.65}.gala-meta{display:flex;gap:32px;padding-top:23px;margin-top:25px;border-top:1px solid #84715066;font-size:10px;letter-spacing:.14em}
.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}.program-section .section-top .text-link{margin-bottom:5px}.program-layout{display:grid;grid-template-columns:270px 1fr;gap:10%}.date-panel{align-self:start;position:sticky;top:123px;padding:30px 0 30px 26px;border-left:1px solid var(--bronze)}.date-label{font-size:10px;letter-spacing:.18em;margin-bottom:26px;color:var(--bronze)}.date-number{font-size:104px;font-weight:300;line-height:.95;letter-spacing:-.035em}.date-month{font-size:35px;font-weight:300;line-height:1.25;margin:6px 0 8px}.date-day{font-size:10px;letter-spacing:.19em}.date-line{width:38px;height:1px;background:var(--sand);margin:26px 0 20px}.date-panel>p:not(.date-label):not(.date-month){font-size:15px;line-height:1.6;color:var(--graphite)}.calendar-link{font-size:13px;margin-top:19px;gap:36px}.timeline{border-top:1px solid var(--line)}.event{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.event summary>h3{display:grid;grid-template-columns:80px 1fr 24px;align-items:center;gap:28px;padding:26px 0;font:inherit;letter-spacing:normal}.event-time{font-size:17px;line-height:1.5}.event-time small{display:block;font-size:13px;color:var(--bronze);margin-top:3px}.event-title{font-size:30px;line-height:1.2;font-weight:300;transition:color .5s var(--ease)}.event-tag{font:500 9px/1.5 var(--font);letter-spacing:.14em;display:block;margin-top:8px;color:var(--bronze)}.event-toggle,.faq summary h3>span{display:block;width:20px;height:20px;position:relative}.event-toggle:before,.event-toggle:after,.faq summary h3>span:before,.faq summary h3>span:after{position:absolute;content:'';background:var(--bronze);height:1px;width:14px;left:3px;top:10px;transition:transform .5s var(--ease)}.event-toggle:after,.faq summary h3>span:after{transform:rotate(90deg)}details[open] .event-toggle:after,.faq details[open] summary h3>span:after{transform:rotate(0)}.event-body{padding:0 26px 27px 108px;font-size:16px;line-height:1.65;color:var(--graphite);max-width:670px}.event summary:hover .event-title{color:var(--bronze)}.program-note{font-size:13px;line-height:1.6;color:var(--graphite);margin-top:25px;max-width:620px}.program-note strong{font-weight:500;color:var(--brown)}
.experiences{background:var(--white);padding-bottom:93px}.experiences .section-top{padding-top:92px;padding-bottom:0;margin-bottom:48px}.section-description{font-size:16px;color:var(--graphite);line-height:1.6;padding-bottom:5px}.experience-grid{padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.experience-image{aspect-ratio:.84;position:relative;overflow:hidden}.experience:nth-child(2){padding-top:62px}.experience-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.8s var(--ease)}.experience:hover .experience-image img{transform:scale(1.028)}.experience-image:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0008)}.experience-image>span{position:absolute;bottom:20px;left:22px;right:22px;z-index:1;color:var(--white);font-size:10px;letter-spacing:.13em}.experience h3{font-size:31px;margin-top:25px;margin-bottom:14px}.experience p{font-size:16px;line-height:1.6;color:var(--graphite);margin-bottom:16px;max-width:340px}.experience .text-link{font-size:14px}.stay{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:11%;padding-top:117px;padding-bottom:117px}.stay-photo{position:relative;overflow:hidden}.stay-photo img{width:100%;height:565px;object-fit:cover;transition:transform 1.8s var(--ease)}.stay-photo:hover img{transform:scale(1.02)}.photo-label{display:block;font-size:10px;letter-spacing:.14em;margin-top:19px}.stay-copy h2{margin-bottom:30px;font-size:clamp(43px,4.1vw,63px)}.stay-copy>p{font-size:17px;color:var(--graphite);line-height:1.65;margin-bottom:27px}.stay-features{display:grid;grid-template-columns:1fr 1fr;margin-bottom:27px;border-top:1px solid var(--line);gap:0 20px}.stay-features span{font-size:14px;border-bottom:1px solid var(--line);padding:14px 0}
.booking{padding:97px var(--gutter) 75px;background:var(--brown);color:var(--warm-grey);text-align:left}.booking-inner{max-width:1000px}.booking h2{font-size:clamp(56px,6.1vw,92px)}.booking h2 em{color:var(--sand)}.booking .eyebrow{color:var(--sand)}.booking-inner>p:not(.eyebrow):not(.booking-fine){font-size:18px;margin-top:26px}.booking-actions{display:flex;align-items:center;gap:38px;margin-top:35px}.booking-contact{font-size:14px;color:var(--warm-grey)}.booking-benefits{display:flex;align-items:center;font-size:14px;margin-top:48px;color:var(--sand)}.booking-benefits span+span{border-left:1px solid #ccc3ae55;padding-left:25px;margin-left:25px}.booking .booking-fine{max-width:750px;margin-top:29px;font-size:12px;line-height:1.65;color:var(--sand)}.faq{display:grid;grid-template-columns:1fr 1.55fr;gap:11%;padding-top:106px;padding-bottom:106px}.faq-intro h2{margin-bottom:25px}.faq-intro>p:not(.eyebrow){font-size:16px;color:var(--graphite);line-height:1.6;margin-bottom:15px}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{padding:23px 0}.faq summary>h3{display:flex;gap:25px;align-items:center;justify-content:space-between;font:400 16px/1.5 var(--font);letter-spacing:normal}.faq summary h3>span{flex-shrink:0}.faq details p{font-size:15px;line-height:1.65;color:var(--graphite);padding:0 35px 24px 0}.footer{padding:53px var(--gutter) 27px;background:var(--graphite);color:var(--warm-grey)}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:42px}.footer-main img{width:138px;height:70px;object-fit:contain}.footer-main>p{font-size:14px;line-height:1.7}.footer-main>div{display:flex;flex-direction:column;font-size:15px;line-height:1.9}.back-top{font-size:13px;display:flex;align-items:center;gap:20px}.back-top span{font-size:23px;width:42px;height:42px;border:1px solid #ccc3ae77;display:grid;place-items:center;transition:transform .7s var(--ease),border-color .7s var(--ease)}.back-top:hover span{transform:translateY(-3px);border-color:var(--sand)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ccc3ae44;padding-top:24px;font-size:11px;color:var(--sand)}.footer-bottom>div{display:flex;gap:27px}.mobile-booking{display:none}dialog{width:min(900px,94vw);max-height:92svh;border:1px solid var(--line);padding:25px;background:var(--warm-grey);color:var(--brown);overflow:auto}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h2{font-size:30px}.dialog-close{font-size:35px;line-height:1;padding:3px 10px;font-weight:300}.dialog-head+img{width:100%}dialog>.text-link{margin-top:12px}dialog[open]{animation:dialog-in .5s var(--ease)}@keyframes dialog-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/* One-pass, low-distance motion; no looping decoration. */
.motion-ready .reveal{opacity:0;transform:translateY(20px);transition:opacity 1.05s var(--ease),transform 1.05s var(--ease);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.hero-label,.hero h1,.hero-content>p,.hero-content>.hero-description,.hero-content>.button{animation:hero-in 1.15s var(--ease) both}.hero-label{animation-delay:50ms}.hero h1{animation-delay:140ms}.hero-content>p,.hero-content>.hero-description{animation-delay:230ms}.hero-content>.button{animation-delay:310ms}@keyframes hero-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@supports(interpolate-size:allow-keywords){details{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow:hidden;transition:block-size .5s var(--ease),content-visibility .5s allow-discrete}details[open]::details-content{block-size:auto}}
@media(min-width:1600px){.section{padding-left:max(var(--gutter),calc((100vw - 1400px)/2));padding-right:max(var(--gutter),calc((100vw - 1400px)/2))}.experience-grid{max-width:1600px;margin:auto}}
@media(max-width:1050px){:root{--gutter:5.6vw}.desktop-nav{gap:23px;margin-left:0;font-size:13px}.header{gap:20px}.header-actions{gap:14px}.section{padding-top:83px;padding-bottom:83px}.intro{gap:7%}.intro h2{font-size:43px}.program-layout{grid-template-columns:210px 1fr;gap:7%}.event summary>h3{grid-template-columns:65px 1fr 20px;gap:18px}.event-title{font-size:28px}.event-body{padding-left:83px}.stay{gap:7%}.stay-photo img{height:500px}.experience-grid{gap:23px}.experience h3{font-size:28px}.gala-section{gap:8%}.footer-main{gap:25px}.footer-main>p{font-size:12px}.footer-main>div{font-size:13px}}
@media(max-width:760px){:root{--gutter:25px}html{scroll-padding-top:78px}body{font-size:16px}.header{height:78px;padding:0 24px;gap:15px}.brand{padding:8px 0}.brand img{width:109px;height:54px}.desktop-nav,.header .phone{display:none}.header-actions{gap:20px}.button.small{font-size:12px;padding:11px 14px;gap:16px;min-height:43px}.button.small>span{font-size:21px}.menu-toggle{display:flex;width:23px;height:42px;flex-direction:column;justify-content:center;gap:7px;padding:0}.menu-toggle span{display:block;height:1px;width:23px;background:var(--brown);transition:transform .5s var(--ease)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;left:0;right:0;top:78px;background:var(--warm-grey);padding:15px 25px 25px;box-shadow:0 12px 18px #46371c12;display:flex;flex-direction:column}.mobile-nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}.hero{height:calc(100svh - 78px);min-height:660px;max-height:860px}.hero-top{font-size:9px;letter-spacing:.17em;margin:25px var(--gutter) 0}.hero-content{padding:28px var(--gutter) 20px}.hero-label{font-size:9px;letter-spacing:.17em;margin-bottom:25px}.hero h1{font-size:clamp(48px,13vw,74px);line-height:1.04;letter-spacing:-.02em}.hero-content p{font-size:16px;line-height:1.5;margin:25px 0 28px}.hero-content p br{display:none}.hero-content .button{font-size:14px;min-height:53px;min-width:184px;padding:14px 21px}.hero-bottom{margin:0 var(--gutter) 28px;font-size:11px;align-items:center;padding-bottom:5px}.hero-bottom p>span{font-size:11px;letter-spacing:.12em}.hero-concept,.scroll-link{display:none}.section{padding:68px var(--gutter)}.eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:22px}h2{font-size:42px;letter-spacing:-.03em}.intro{grid-template-columns:1fr;gap:42px}.intro h2{font-size:40px;letter-spacing:-.03em;margin-bottom:25px}.body-copy{font-size:16px;line-height:1.65;max-width:none}.intro-signature{font-size:15px;margin-top:27px}.intro-image{aspect-ratio:1.04}.image-caption{font-size:9px;letter-spacing:.12em;padding-top:17px}.gala-section{grid-template-columns:1fr;gap:29px;padding:57px var(--gutter)}.gala-heading h2{font-size:43px}.gala-copy{font-size:16px;max-width:540px}.gala-meta{font-size:9px;letter-spacing:.12em;margin-top:22px;padding-top:20px;gap:25px}.section-top{display:block;margin-bottom:36px}.program-section .section-top .text-link{margin-top:22px;margin-bottom:0}.text-link{font-size:14px;gap:28px}.program-layout{grid-template-columns:1fr;gap:31px}.date-panel{position:static;padding:0 0 0 20px;display:grid;grid-template-columns:90px 1fr;gap:0 15px;align-items:center}.date-label{grid-column:2;grid-row:1;font-size:9px;margin:0 0 5px}.date-number{grid-column:1;grid-row:1/4;font-size:85px;line-height:1;letter-spacing:-.04em}.date-month{grid-column:2;grid-row:2;font-size:29px;line-height:1.1;margin:0 0 3px}.date-day{grid-column:2;grid-row:3;font-size:9px;letter-spacing:.15em}.date-line,.date-panel>p:not(.date-label):not(.date-month){display:none}.calendar-link{grid-column:1/3;justify-self:start;margin-top:17px;font-size:13px;gap:27px}.event summary>h3{grid-template-columns:57px 1fr 18px;gap:14px;padding:24px 0}.event-time{font-size:15px}.event-time small{font-size:12px}.event-title{font-size:25px;line-height:1.15}.event-tag{font-size:8px;letter-spacing:.08em;line-height:1.5;margin-top:8px}.event-body{padding:0 12px 24px 71px;font-size:15px;line-height:1.6}.program-note{font-size:12px;margin-top:22px}.experiences{padding-bottom:62px}.experiences .section-top{padding:62px var(--gutter) 0;margin-bottom:34px}.section-description{margin-top:24px;font-size:16px}.experience-grid{grid-template-columns:1fr;padding:0 var(--gutter);gap:44px}.experience:nth-child(2){padding-top:0}.experience-image{aspect-ratio:1.1}.experience h3{font-size:30px;margin-top:22px;margin-bottom:13px}.experience p{max-width:none;font-size:16px;margin-bottom:14px}.experience-image>span{font-size:9px;bottom:17px;left:19px}.stay{grid-template-columns:1fr;gap:40px}.stay-photo img{height:auto;aspect-ratio:1.02;object-fit:cover}.stay-copy h2{font-size:44px}.stay-copy>p{font-size:16px;line-height:1.65}.photo-label{font-size:9px}.stay-features{gap:0 18px}.stay-features span{font-size:13px}.booking{padding:67px var(--gutter) 54px}.booking h2{font-size:clamp(44px,11vw,65px);letter-spacing:-.025em}.booking .eyebrow{max-width:300px;line-height:1.7;margin-bottom:28px}.booking-inner>p:not(.eyebrow):not(.booking-fine){font-size:16px;max-width:300px;margin-top:25px}.booking-actions{flex-direction:column;align-items:flex-start;gap:22px;margin-top:31px}.booking .button{font-size:14px;padding:16px 19px;gap:22px}.booking-contact{font-size:14px}.booking-benefits{flex-direction:column;align-items:flex-start;gap:12px;font-size:14px;margin-top:35px}.booking-benefits span+span{border-left:0;padding-left:0;margin-left:0}.booking .booking-fine{font-size:11px;line-height:1.65;margin-top:27px}.faq{grid-template-columns:1fr;gap:34px}.faq-intro h2{font-size:43px}.faq-intro h2 br{display:none}.faq-intro>p:not(.eyebrow){font-size:16px}.faq summary{padding:22px 0}.faq summary>h3{gap:19px}.faq details p{font-size:15px;padding-right:25px}.footer{padding:44px var(--gutter) 99px}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:28px 16px;padding-bottom:31px}.footer-main img{width:115px;height:58px}.footer-main>p{font-size:12px}.footer-main>div{font-size:13px}.back-top{justify-self:end;font-size:12px;gap:12px}.back-top span{width:34px;height:34px;font-size:21px}.footer-bottom{font-size:11px;flex-direction:column;gap:18px;padding-top:23px}.footer-bottom>div{gap:25px}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;min-height:58px;z-index:25;background:var(--warm-grey);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-sizing:content-box}.mobile-booking a{display:flex;align-items:center;justify-content:center;gap:27px;flex:1;font-size:14px;padding:15px 0}.mobile-booking a:last-child{background:var(--brown);color:var(--warm-grey)}.mobile-booking span{font-size:23px}dialog{padding:17px}.dialog-head h2{font-size:27px}}
@media(max-width:360px){.header{padding:0 18px}.header-actions{gap:14px}.brand img{width:98px}.button.small{padding:10px 12px;gap:12px}.hero h1{font-size:45px}.intro h2{font-size:36px}.event-title{font-size:23px}.booking .button{font-size:13px;gap:17px}.footer-main>div{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after,*::details-content{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
.hero-content .button:hover>span{transform:translateY(3px)}

/* A restrained festive layer in the existing AKKA palette. */
.hero-ornaments{position:absolute;top:0;right:5.5vw;width:clamp(245px,31vw,430px);height:auto;pointer-events:none;z-index:-1;opacity:.92}
.festive-eyebrow{display:flex;align-items:center;gap:15px}
.fine-star{display:block;flex:0 0 19px;width:19px;height:19px;background:url('assets/festive-star.svg') center/contain no-repeat}
.festive-surface{position:relative;isolation:isolate;overflow:hidden}
.festive-surface:after{content:'';position:absolute;right:-25px;top:0;width:470px;height:100%;max-height:450px;background:url('assets/festive-stars.svg') center/contain no-repeat;pointer-events:none;z-index:-1;opacity:.27}
.booking.festive-surface:after{right:3vw;top:30px;width:510px;max-height:none;opacity:.7;filter:brightness(1.5)}
.gala-section.festive-surface:after{right:-20px;opacity:.32}
.arrival-effects{position:fixed;inset:96px 0 0;overflow:hidden;z-index:29;pointer-events:none;contain:layout paint}
.arrival-rise{position:absolute;bottom:-160px;width:62px;opacity:0;pointer-events:none;will-change:transform,opacity}
.arrival-rise img{width:100%;height:auto;filter:drop-shadow(0 4px 8px #0002)}
.arrival-one{left:5%;width:63px;--drift:24px;--tilt:-12deg;--end-tilt:9deg;--delay:0ms;--duration:4700ms}
.arrival-two{left:42%;width:43px;--drift:-25px;--tilt:15deg;--end-tilt:-9deg;--delay:380ms;--duration:4200ms}
.arrival-three{left:81%;width:79px;--drift:-33px;--tilt:8deg;--end-tilt:-10deg;--delay:160ms;--duration:5000ms}
.arrival-four{left:65%;width:57px;--drift:28px;--tilt:-14deg;--end-tilt:8deg;--delay:650ms;--duration:4300ms}
.arrival-five{left:94%;width:34px;--drift:-16px;--tilt:13deg;--end-tilt:-16deg;--delay:1000ms;--duration:4500ms}
.arrival-effects.is-active .arrival-rise{animation:festive-rise var(--duration) cubic-bezier(.22,.5,.38,1) var(--delay) both}
@keyframes festive-rise{0%{opacity:0;transform:translate3d(0,0,0) rotate(var(--tilt))}14%{opacity:.76}65%{opacity:.65}88%{opacity:.25}100%{opacity:0;transform:translate3d(var(--drift),calc(-100svh - 180px),0) rotate(var(--end-tilt))}}
@media(max-width:760px){.hero-ornaments{width:155px;right:13px;top:0;opacity:.86}.arrival-effects{top:78px}.arrival-one{left:3%;width:46px}.arrival-two{left:55%;width:31px}.arrival-three{left:82%;width:56px}.arrival-four{display:none}.arrival-five{left:39%;width:28px}.festive-eyebrow{gap:11px}.fine-star{flex-basis:17px;width:17px;height:17px}.festive-surface:after{right:-125px;width:310px;opacity:.18}.gala-section.festive-surface:after{right:-125px;opacity:.19}.booking.festive-surface:after{width:300px;right:-130px;top:10px;opacity:.38}}
@media(prefers-reduced-motion:reduce){.arrival-effects{display:none!important}.hero-ornaments{animation:none}.arrival-rise{will-change:auto}}

/* Carry the same festive linework through the photography. */
.photo-frame{--photo-radius:16px;--frame-surface:var(--warm-grey);position:relative;isolation:isolate}
.photo-frame:before{content:'';position:absolute;inset:-8px;border:1px solid rgba(132,113,80,.38);border-radius:calc(var(--photo-radius) + 7px);pointer-events:none;z-index:2;transition:border-color .9s var(--ease)}
.photo-frame:hover:before{border-color:rgba(132,113,80,.66)}
.photo-frame .intro-image,.photo-frame .experience-image,.photo-crop{overflow:hidden;border-radius:var(--photo-radius)}
.photo-frame-accent:after,.experience:nth-child(2) .photo-frame:after{content:'';position:absolute;right:-19px;top:-22px;width:22px;height:22px;border:0;background:url('assets/festive-star.svg') center/contain no-repeat;pointer-events:none;z-index:3}
.intro-art{padding-top:8px}
.intro-art .image-caption{padding-top:27px}
.experience .photo-frame{--frame-surface:var(--white)}
.experience:nth-child(2) .photo-frame:after{left:-18px;right:auto}
.experience h3{margin-top:31px}
.stay-photo{overflow:visible}
.stay-photo .photo-frame:after{top:auto;bottom:-27px;right:23px}
.stay-photo .photo-label{margin-top:27px;max-width:calc(100% - 75px)}
.date-panel:after{content:'';position:absolute;left:-11px;top:2px;width:21px;height:21px;background:var(--warm-grey) url('assets/festive-star.svg') center/contain no-repeat;pointer-events:none}
@media(max-width:760px){.photo-frame{--photo-radius:13px}.photo-frame:before{inset:-6px;border-radius:calc(var(--photo-radius) + 5px)}.photo-frame-accent:after,.experience:nth-child(2) .photo-frame:after{width:20px;height:20px;top:-19px;right:-17px;border-width:0}.experience:nth-child(2) .photo-frame:after{left:-16px;right:auto}.stay-photo .photo-frame:after{top:auto;bottom:-25px;right:20px}.experience h3{margin-top:28px}.intro-art .image-caption{padding-top:23px}.stay-photo .photo-label{margin-top:23px}.date-panel:after{top:-7px;left:-10px;width:19px;height:19px}}

/* A fuller cascade down the open side of the date panel. */
.date-ornaments{position:absolute;top:0;right:-55px;width:190px;height:410px;pointer-events:none;user-select:none}
.date-hanger{position:absolute;top:0;display:block;height:410px;transform-origin:50% 0;pointer-events:none;animation:date-sway 6.8s ease-in-out infinite alternate;will-change:transform}
.date-hanger:before{content:'';position:absolute;top:0;left:50%;height:var(--cord);width:1px;background:var(--bronze);opacity:.48}
.date-hanger img{position:absolute;top:var(--cord);left:0;display:block;width:100%;height:auto}
.date-hanger-star{left:0;width:49px;--cord:58px;--sway-from:-3deg;--sway-to:3deg;animation-duration:5.8s;animation-delay:-1.6s}
.date-hanger-star img{filter:brightness(.7);opacity:.9}
.date-hanger-bauble{left:80px;right:auto;width:66px;--cord:136px;--sway-from:2.5deg;--sway-to:-2.5deg;animation-duration:7.2s;animation-delay:-3.1s}
.date-hanger-lowstar{left:38px;width:43px;--cord:243px;--sway-from:2deg;--sway-to:-2deg;animation-duration:7.8s;animation-delay:-2.7s}
.date-hanger-lowbauble{left:136px;width:52px;--cord:326px;--sway-from:-2.4deg;--sway-to:2.4deg;animation-duration:8.4s;animation-delay:-5.2s}
@keyframes date-sway{from{transform:rotate(var(--sway-from))}to{transform:rotate(var(--sway-to))}}
@media(min-width:761px) and (max-width:1050px){.date-ornaments{right:-20px;width:105px;height:355px}.date-hanger{height:355px}.date-hanger-star{left:4px;width:34px;--cord:66px}.date-hanger-bauble{left:59px;width:45px;--cord:143px}.date-hanger-lowstar{left:11px;width:33px;--cord:265px}.date-hanger-lowbauble{display:none}}
@media(max-width:760px){.date-panel{min-height:213px;align-content:start}.date-ornaments{right:0;width:78px;height:205px}.date-hanger{height:205px}.date-hanger-star{left:5px;width:32px;--cord:24px}.date-hanger-bauble{left:39px;width:40px;--cord:67px}.date-hanger-lowstar{left:8px;width:31px;--cord:153px}.date-hanger-lowbauble{display:none}}
@media(max-width:360px){.date-ornaments{width:75px}.date-hanger-star{left:6px;width:30px;--cord:26px}.date-hanger-bauble{left:37px;width:38px;--cord:71px}.date-hanger-lowstar{left:9px;width:29px;--cord:155px}}
@media(prefers-reduced-motion:reduce){.date-hanger{animation:none!important;transform:none;will-change:auto}}

/* The same approved layout, with room for translated copy. */
.language-select{font:400 13px var(--font);color:var(--brown);background:transparent;border:0;border-bottom:1px solid var(--line);padding:8px 2px;max-width:54px;cursor:pointer}
.language-select:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
.language-links{display:flex;gap:25px;padding-top:19px}
.mobile-nav .language-links a{padding:8px 0;border:0;font-size:14px}
.language-links a[aria-current=page]{border-bottom:1px solid var(--bronze)}
html[lang=ru] .hero h1{font-size:clamp(60px,6.8vw,102px)}
html[lang=ru] .experience h3{font-size:28px;line-height:1.15}
html[lang=ru] .event-title{font-size:28px}
html[lang=ru] .date-panel{min-width:0}
html:not([lang=tr]) .event-tag{letter-spacing:.1em}
html:not([lang=tr]) .booking-benefits{flex-wrap:wrap;row-gap:12px}
.review-notice{padding:10px var(--gutter);font:500 12px/1.5 var(--font);letter-spacing:.07em;background:var(--sand);color:var(--brown)}
@media(min-width:761px) and (max-width:1050px){.header-actions{gap:12px}.header .phone{display:none}.desktop-nav{gap:18px}.desktop-nav a{font-size:13px}}
@media(max-width:760px){.header .language-select{display:none}html[lang=de] .hero h1{font-size:clamp(35px,10.7vw,60px)}html[lang=ru] .hero h1{font-size:clamp(35px,10.8vw,62px)}html[lang=ru] .hero-label{max-width:280px;line-height:1.6}html[lang=ru] .event-title{font-size:23px}html[lang=ru] .experience h3{font-size:27px}html:not([lang=tr]) .date-panel{grid-template-columns:75px 1fr;column-gap:10px}html:not([lang=tr]) .date-month{font-size:23px}html:not([lang=tr]) .date-label{font-size:8px;letter-spacing:.08em;max-width:88px}html:not([lang=tr]) .date-day{font-size:8px;letter-spacing:.08em}html:not([lang=tr]) .booking .button{gap:18px;font-size:13px}html:not([lang=tr]) .booking-benefits span+span{margin-left:0;padding-left:0}}


.hero h1.hero-destination{font-size:clamp(54px,6.1vw,98px);max-width:1040px;text-wrap:balance}
.hero-content .hero-description{max-width:560px;margin:23px 0 28px;font:400 17px/1.5 var(--font);letter-spacing:normal}
html[lang=en] .intro h2,html[lang=en] .experiences h2,html[lang=en] .stay h2{text-wrap:balance}
html[lang=en] .stay h2{font-size:clamp(38px,3.75vw,60px)}
@media(max-width:760px){
  .hero h1.hero-destination{font-size:clamp(38px,8.4vw,62px);line-height:1.04}
  .hero-content .hero-description{font-size:16px;margin:22px 0 26px}
  html[lang=en] .intro h2,html[lang=en] .experiences h2{font-size:clamp(33px,8vw,48px)}
}

/* Alinda photography and programme highlights */
.hero-image{object-position:56% 57%}
.hero-shade{background:linear-gradient(90deg,#070b12ad,#070b1252 62%,#070b120d),linear-gradient(0deg,#080d17b0,transparent 36%)}
html .hero h1.hero-destination{font-size:clamp(54px,6vw,96px)}
.hero-content .hero-description{max-width:500px}
.intro-image img{object-position:center}
.experience:nth-child(2) .experience-image img{object-position:37% center}
.stay-photo img{object-position:39% center}
.event-highlight .event-title{color:var(--bronze)}
.event-highlight .event-tag{color:var(--brown)}
.event-highlight .event-time{border-left:1px solid var(--bronze);padding-left:10px}
.event-title{overflow-wrap:anywhere}
dialog{max-width:min(900px,94vw)}
@media(max-width:760px){
  html .hero h1.hero-destination{font-size:clamp(35px,8.4vw,62px)}
  .hero-image{object-position:53% center}
}
