:root{color-scheme:dark;--ink:#090909;--ink-soft:#10100f;--panel:#141311;--panel-hi:#1c1a16;--gold:#d5b774;--gold-light:#ead8a9;--cream:#f5f0e7;--muted:#b5ad9e;--line:rgba(213,183,116,.23);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--max:1220px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
.entry-page{min-height:100svh;overflow:hidden;background:radial-gradient(ellipse at 50% 58%,rgba(116,83,39,.17),transparent 40%),linear-gradient(145deg,#11100e,#060606 68%)}
.entry-shell{min-height:100svh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 24px 34px;isolation:isolate}
.entry-shell:before,.entry-shell:after{content:"";position:absolute;inset:24px;border:1px solid rgba(213,183,116,.11);pointer-events:none;z-index:-1}
.entry-shell:after{inset:34px;border-color:rgba(213,183,116,.055)}
.wordmark{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:0 0 auto}
.brand-logo{display:block;width:64px;height:64px;object-fit:contain}
.wordmark-main{font-family:var(--serif);font-size:28px;letter-spacing:.2em;color:var(--gold-light)}
.wordmark-sub{font-size:8px;font-weight:600;letter-spacing:.34em;color:#9c8a64;margin-top:9px}
.entry-wordmark{align-items:center;position:absolute;top:9.5%;z-index:2}
.entry-wordmark .brand-logo{width:112px;height:112px}
.entry-panel{position:relative;z-index:2;width:min(100%,650px);text-align:center;padding:54px 20px 44px;animation:entry-rise 1.1s cubic-bezier(.2,.7,.2,1) both}
.eyebrow{margin:0 0 20px;color:var(--gold);font-size:10px;font-weight:650;letter-spacing:.22em;line-height:1.4}
.eyebrow-mark{display:inline-block;margin-right:9px;font-size:13px;color:var(--gold-light)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.07}
h1 em,h2 em{color:var(--gold-light);font-weight:400}
.entry-panel h1{font-size:clamp(45px,7vw,78px);margin:0 0 24px}
.entry-copy{max-width:495px;margin:0 auto;color:#c1b8a9;font-size:15px;line-height:1.8}
.language-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:540px;margin:38px auto 0}
.language-choice{min-height:88px;display:flex;align-items:center;gap:17px;text-align:left;padding:17px 18px;border:1px solid rgba(213,183,116,.42);background:rgba(18,17,15,.8);transition:background .25s,border-color .25s,transform .25s}
.language-choice:hover{background:rgba(213,183,116,.12);border-color:var(--gold-light);transform:translateY(-3px)}
.choice-code{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(213,183,116,.42);border-radius:50%;color:var(--gold-light);font-size:12px;letter-spacing:.08em}
.choice-text{display:flex;flex:1;flex-direction:column;gap:4px}
.choice-text strong{font-family:var(--serif);font-size:19px;font-weight:400}
.choice-text small{color:#a9a193;font-size:11px}
.choice-arrow{align-self:flex-start;color:var(--gold);font-size:18px}
.entry-note{margin-top:30px;color:#aaa294;font-size:11px;letter-spacing:.05em}
.entry-note>span:first-child{color:var(--gold);font-size:16px;vertical-align:-1px;margin-right:7px}
.note-divider{margin:0 10px;color:#615744}
.entry-footer{position:absolute;bottom:7%;color:#84775b;font-size:9px;letter-spacing:.25em;text-align:center}
.entry-glow{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;z-index:-1}
.entry-glow-one{width:42vw;height:42vw;max-width:540px;max-height:540px;border:1px solid rgba(213,183,116,.09);top:21%;right:-12%;animation:orbit-turn 34s linear infinite}
.entry-glow-two{width:31vw;height:31vw;max-width:390px;max-height:390px;border:1px solid rgba(213,183,116,.08);bottom:8%;left:-9%;animation:orbit-turn 42s linear infinite reverse}
.site-header{height:82px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(213,183,116,.2);position:sticky;top:0;z-index:50;background:rgba(9,9,9,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-header .brand-logo{width:68px;height:68px}
.desktop-nav{display:flex;gap:clamp(17px,3vw,42px);align-items:center}
.desktop-nav a,.footer-links a{font-size:12px;color:#c5beaf;transition:color .2s}
.desktop-nav a:hover,.footer-links a:hover{color:var(--gold-light)}
.header-actions{display:flex;align-items:center;gap:15px}
.language-switch{font-size:10px;letter-spacing:.1em;color:#d8cfbe;padding:8px 10px;border:1px solid rgba(213,183,116,.25)}
.language-switch span{color:var(--gold)}
.header-book{font-size:11px;letter-spacing:.04em;color:var(--ink);background:var(--gold);padding:12px 17px}
.header-book span{margin-left:12px}
.mobile-menu{display:none}
.hero{position:relative;min-height:min(690px,calc(100svh - 82px));max-width:1600px;margin:auto;padding:100px max(8vw,36px) 92px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden}
.hero-copy{position:relative;z-index:2;max-width:620px}
.hero h1{font-size:clamp(55px,7.1vw,94px);margin:0 0 26px}
.hero-intro{max-width:520px;color:#c6beaf;font-size:16px;line-height:1.8;margin-bottom:28px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:0 21px;font-size:12px;font-weight:650;letter-spacing:.02em;transition:transform .2s,background .2s,border-color .2s}
.button:hover{transform:translateY(-2px)}
.button-gold{background:var(--gold);color:#16130d}
.button-gold:hover{background:var(--gold-light)}
.button-outline{border:1px solid var(--line);color:var(--cream)}
.button-outline:hover{border-color:var(--gold);background:rgba(213,183,116,.08)}
.text-link{font-size:12px;color:#d1c7b4}
.text-link span{display:inline-block;color:var(--gold);margin-left:8px;transition:transform .2s}
.text-link:hover span{transform:translateY(3px)}
.hero-trust{display:flex;gap:20px;flex-wrap:wrap;margin-top:47px;padding-top:17px;border-top:1px solid var(--line);max-width:540px;color:#a69e90;font-size:10px;letter-spacing:.06em}
.hero-trust span+span:before{content:"·";color:var(--gold);margin-right:20px}
.hero-art{width:100%;height:auto;aspect-ratio:3/2;position:relative;display:grid;align-items:end;overflow:hidden;isolation:isolate;background:#090909}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;filter:saturate(.94) contrast(1.02)}
.hero-art:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,#090909 0%,rgba(9,9,9,.9) 8%,rgba(9,9,9,.56) 25%,rgba(9,9,9,.12) 52%,transparent 70%),linear-gradient(0deg,rgba(9,9,9,.68),transparent 36%)}
.art-caption{position:absolute;z-index:2;right:4%;bottom:8%;left:10%;display:flex;justify-content:space-between;gap:14px;padding-top:12px;border-top:1px solid rgba(213,183,116,.3);color:#e0c890;font-size:9px;letter-spacing:.18em;text-shadow:0 1px 8px rgba(0,0,0,.9)}
.hero-scroll{position:absolute;left:max(8vw,36px);bottom:35px;display:flex;align-items:center;gap:12px;color:#857a64;font-size:8px;letter-spacing:.22em}
.hero-scroll span{height:30px;width:1px;background:linear-gradient(var(--gold),transparent)}
.intro-strip{padding:110px max(8vw,36px) 105px;background:linear-gradient(180deg,#100f0e,#13120f 60%,#11100e)}
.intro-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr .8fr;gap:9%;align-items:end}
.intro-strip>.eyebrow{max-width:var(--max);margin:0 auto 25px}
.intro-grid h2,.section-heading h2,.visit-copy h2,.closing-cta h2{font-size:clamp(42px,5.3vw,68px);margin:0}
.intro-text{color:#c0b7a8;font-size:14px;line-height:1.85;max-width:480px}
.intro-text p:last-child{margin-bottom:0}
.feature-row{max-width:var(--max);margin:76px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.feature-item{padding:26px 25px 0 0}
.feature-item+.feature-item{padding-left:25px;border-left:1px solid var(--line)}
.feature-number,.card-index{display:block;color:var(--gold);font-size:9px;letter-spacing:.16em}
.feature-item h3{font-family:var(--serif);font-size:22px;font-weight:400;margin:18px 0 8px}
.feature-item p{max-width:285px;color:#aaa294;font-size:12px;line-height:1.8;margin:0}
.section-pad{padding:105px max(8vw,36px)}
.section-heading{max-width:var(--max);margin:0 auto 46px;display:flex;align-items:end;justify-content:space-between;gap:28px}
.section-heading .eyebrow{margin-bottom:17px}
.section-heading>p{max-width:355px;color:#aaa294;font-size:13px;line-height:1.8;margin:0 0 5px}
.experiences{background:#0b0b0a}
.experience-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.experience-card{min-height:265px;position:relative;padding:29px 31px;background:linear-gradient(130deg,#171613,#11110f);border:1px solid rgba(213,183,116,.13);display:flex;flex-direction:column;align-items:flex-start;transition:border-color .25s,transform .25s}
.experience-card:hover{border-color:rgba(213,183,116,.48);transform:translateY(-3px)}
.experience-card.card-featured{background:linear-gradient(140deg,rgba(75,58,31,.57),#15130f 75%)}
.card-symbol{position:absolute;right:28px;top:24px;color:rgba(213,183,116,.5);font-family:var(--serif);font-size:31px;line-height:1}
.experience-card h3{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.2;max-width:380px;margin:30px 0 12px}
.experience-card p{max-width:440px;color:#b4ac9f;font-size:12px;line-height:1.8;margin-bottom:21px}
.experience-card>a{margin-top:auto;color:var(--gold-light);font-size:10px;letter-spacing:.04em}
.experience-card>a span{margin-left:10px}
.section-footnote{max-width:var(--max);margin:19px auto 0;color:#8d8578;font-size:10px}
.visit-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:center;background:linear-gradient(130deg,#14120e,#0b0b0a 68%)}
.visit-art{min-height:440px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 49% 47%,rgba(164,125,63,.16),transparent 54%),linear-gradient(155deg,#181510,#0d0c0a);border:1px solid rgba(213,183,116,.15);display:grid;place-items:center}
.visit-art:before,.visit-art:after{content:"";position:absolute;width:75%;height:68%;border:1px solid rgba(213,183,116,.2);border-radius:50%;transform:rotate(-34deg) scaleY(.66)}
.visit-art:after{width:59%;height:75%;transform:rotate(28deg) scaleY(.58);border-color:rgba(213,183,116,.12)}
.visit-orbit{position:absolute;width:34%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 39% 36%,rgba(231,207,154,.6),rgba(177,130,65,.12) 42%,transparent 70%);box-shadow:0 0 60px rgba(213,183,116,.12)}
.visit-coordinate{position:absolute;right:22px;bottom:18px;color:#b49c68;font-family:var(--serif);font-size:16px;line-height:1.5;text-align:right;letter-spacing:.1em}
.visit-copy .eyebrow{margin-bottom:17px}
.visit-intro{max-width:570px;color:#b9b1a4;font-size:13px;line-height:1.85;margin:22px 0 33px}
.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;border-top:1px solid var(--line);padding-top:22px}
.visit-details>div:first-child{grid-column:1/-1}
.detail-label{color:var(--gold);font-size:9px;letter-spacing:.2em}
.visit-details p{margin:8px 0 0;color:#d0c8ba;font-size:12px;line-height:1.75}
.visit-details a:hover{color:var(--gold-light)}
.booking{background:#0b0b0a}
.booking .section-heading{align-items:end}
.booking-steps{max-width:var(--max);padding:0;margin:0 auto;list-style:none;border-top:1px solid var(--line)}
.booking-steps li{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}
.booking-steps>li>span{font-size:10px;letter-spacing:.16em;color:var(--gold);padding-top:4px}
.booking-steps h3{font-family:var(--serif);font-size:22px;font-weight:400;margin:0 0 5px}
.booking-steps p{font-size:12px;color:#aaa294;margin:0}
.faq{background:#12110f}
.faq-list{max-width:var(--max);margin:0 auto;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-family:var(--serif);font-size:19px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--gold);font-family:var(--sans);font-size:21px;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{max-width:760px;color:#b5ad9e;font-size:12px;line-height:1.8;margin:-4px 40px 21px 0}
.closing-cta{padding:95px 24px 105px;text-align:center;background:radial-gradient(ellipse at 50% 100%,rgba(128,91,40,.2),transparent 54%),#0b0b0a;border-top:1px solid rgba(213,183,116,.12)}
.closing-cta .eyebrow{margin-bottom:18px}
.closing-cta h2{font-size:clamp(45px,6vw,76px);margin-bottom:31px}
.site-footer{padding:36px max(5vw,24px) 28px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;background:#080808;border-top:1px solid rgba(213,183,116,.12)}
.site-footer .brand-logo{width:62px;height:62px}
.site-footer>p{color:#8e877b;font-size:10px;margin:0;text-align:center}
.footer-links{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.site-footer>small{grid-column:1/-1;text-align:center;color:#746d61;font-size:9px;letter-spacing:.05em;margin-top:5px}
@keyframes entry-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes orbit-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:980px){.desktop-nav{gap:15px}.desktop-nav a{font-size:10px}.hero{padding-left:6vw;padding-right:6vw}.section-pad,.intro-strip{padding-left:6vw;padding-right:6vw}.visit-section{gap:5%}.visit-art{min-height:380px}}
@media(max-width:760px){html{scroll-padding-top:90px}.site-header{height:72px;padding:0 16px;gap:10px}.site-header .brand-logo{width:54px;height:54px}.desktop-nav{display:none}.header-actions{margin-left:auto;margin-right:0}.header-book{padding:10px 13px}.mobile-menu{display:block;position:relative;color:var(--cream)}.mobile-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);padding:8px 11px;font-size:10px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:calc(100% + 12px);width:190px;padding:12px;background:#171613;border:1px solid var(--line);box-shadow:0 12px 28px rgba(0,0,0,.5)}.mobile-menu nav a{display:block;padding:9px 7px;font-size:12px;color:#ddd4c3}.hero{min-height:auto;display:flex;flex-direction:column;align-items:stretch;padding:78px 24px 72px}.hero-copy{max-width:none}.hero h1{font-size:clamp(55px,13vw,78px)}.hero-intro{font-size:14px}.hero-trust{gap:8px 14px;margin-top:32px}.hero-trust span+span:before{margin-right:13px}.hero-art{height:auto;aspect-ratio:3/2;margin:18px -5px 0}.hero-art:before{background:linear-gradient(180deg,rgba(9,9,9,.55) 0%,rgba(9,9,9,.22) 11%,transparent 28%),linear-gradient(0deg,rgba(9,9,9,.58),transparent 32%)}.hero-photo{object-position:center}.art-caption{left:5%;right:5%;bottom:7%;font-size:8px;letter-spacing:.12em}.hero-scroll{bottom:22px;left:24px}.intro-strip{padding-top:76px;padding-bottom:75px}.intro-grid{grid-template-columns:1fr;gap:22px}.intro-grid h2,.section-heading h2,.visit-copy h2{font-size:clamp(42px,10vw,58px)}.intro-text{font-size:13px}.feature-row{margin-top:46px;grid-template-columns:1fr}.feature-item,.feature-item+.feature-item{padding:20px 0;border-left:0;border-bottom:1px solid var(--line)}.feature-item:first-child{padding-top:22px}.feature-item h3{margin:11px 0 5px;font-size:20px}.feature-item p{max-width:430px}.section-pad{padding:76px 24px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:18px}.experience-grid{grid-template-columns:1fr;gap:10px}.experience-card{min-height:240px;padding:24px}.experience-card h3{font-size:23px}.visit-section{grid-template-columns:1fr;gap:34px}.visit-art{min-height:250px;order:2}.visit-copy{order:1}.visit-details{grid-template-columns:1fr;gap:18px}.visit-details>div:first-child{grid-column:auto}.booking .section-heading .button{margin-top:22px}.booking-steps li{grid-template-columns:48px 1fr;gap:10px;padding:20px 0}.booking-steps h3{font-size:20px}.faq-list summary{font-size:17px}.closing-cta{padding:76px 24px 82px}.site-footer{grid-template-columns:1fr;justify-items:center;padding:34px 24px 24px;gap:18px}.site-footer>p{grid-column:auto;margin:0}.footer-links{justify-content:center}.site-footer>small{grid-column:auto;margin-top:0}}
@media(max-width:460px){.language-choices{grid-template-columns:1fr;max-width:380px}.entry-shell{padding-left:16px;padding-right:16px}.entry-shell:before{inset:12px}.entry-shell:after{inset:20px}.entry-panel{padding:30px 0}.entry-copy{font-size:13px}.language-choice{min-height:75px}.entry-footer{bottom:4%;font-size:7px;letter-spacing:.16em}.header-actions{gap:7px}.header-book{font-size:10px;padding:9px 10px}.language-switch{padding:7px 8px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero .button{width:100%}.hero-trust{font-size:9px}.art-caption{left:4%;right:4%}.visit-art{min-height:220px}}
.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:40;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(234,216,169,.72);border-radius:50%;background:rgba(213,183,116,.96);color:#13110d;box-shadow:0 8px 24px rgba(0,0,0,.35);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .25s,transform .3s,visibility .25s}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover{background:var(--gold-light);transform:translateY(-3px)}
.back-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header .brand-logo,.site-footer .brand-logo{filter:drop-shadow(0 0 7px rgba(213,183,116,.08))}
.hero-art,.visit-art{transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}
.js-motion .reveal-on-scroll{opacity:0;transform:translate3d(0,26px,0) scale(.995);transition:opacity .72s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),transform .88s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms);will-change:opacity,transform}
.js-motion .reveal-on-scroll.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.desktop-nav a.is-active{color:var(--gold-light)}
@media(max-width:760px){.entry-wordmark .brand-logo{width:98px;height:98px}.site-footer .brand-logo{width:62px;height:62px}.back-to-top{right:max(14px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:46px;height:46px}.hero-art,.visit-art{will-change:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
