:root{--ink:#0d1b28;--ink-2:#1b3140;--paper:#f7f8f3;--white:#fff;--muted:#52616a;--line:#dce3df;--green:#33e17a;--green-dark:#15803d;--green-deep:#0b4a24;--purple:#8b5cf6;--purple-dark:#6d28d9;--cyan:#75d6df;--coral:#f4876c;--radius:20px;--shell:1240px;font-family:Inter,"Aptos","Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
[hidden]{display:none!important}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
p{margin:0 0 1em}
h1,h2,h3{margin:0;line-height:1.05;letter-spacing:-.045em}
h1,h2{font-weight:850}
h3{font-weight:800}
em{font-style:normal;color:var(--green-dark)}
ul{margin:0;padding:0;list-style:none}
.shell{width:min(calc(100% - 64px),var(--shell));margin-inline:auto}
.skip-link{position:absolute;left:16px;top:-70px;z-index:50;padding:12px 16px;background:var(--green);color:var(--ink);font-weight:800}
.skip-link:focus{top:8px}
:focus-visible{outline:3px solid var(--purple);outline-offset:4px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:14px 20px;border:2px solid var(--green);border-radius:7px;background:var(--green);color:var(--ink);font-size:.9rem;font-weight:850;letter-spacing:-.01em;line-height:1.15;text-align:left;transition:transform .2s,background .2s,border-color .2s}
.button:hover{transform:translateY(-2px);background:#e4fb91;border-color:#e4fb91}
.button>span[aria-hidden],.text-link>span[aria-hidden],.card-link>span{transition:transform .2s ease}
.button:hover>span[aria-hidden],.button:focus-visible>span[aria-hidden],.text-link:hover>span[aria-hidden]{transform:translate(3px,-3px)}
.button:disabled{cursor:wait;opacity:.75;transform:none}
.button-small{min-height:43px;padding:9px 14px;font-size:.78rem}
.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.button-outline:hover{background:var(--purple);border-color:var(--purple);color:#fff}
.text-link{display:inline-flex;align-items:center;gap:18px;font-weight:800;font-size:.9rem;border-bottom:2px solid var(--ink);padding-bottom:5px;transition:border-color .2s}
.text-link:hover{gap:25px;border-color:var(--purple)}
.eyebrow,.section-index{display:block;color:var(--green-dark);font-size:.7rem;font-weight:900;line-height:1.3;letter-spacing:.14em;text-transform:uppercase}
.eyebrow.light{color:var(--green)}
.section-index{color:#718980}
.action-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}

.site-header{position:relative;z-index:20;background:var(--ink);color:#fff;border-bottom:1px solid #29404b}
.nav-row{display:flex;align-items:center;gap:36px;min-height:82px}
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}
.brand-picture{display:block;line-height:0}
.temporary-wordmark{display:inline-flex;align-items:center;gap:10px}
.brand-logo{display:block;width:auto;height:62px;max-width:180px;object-fit:contain}
.brand-mark{position:relative;display:grid;place-items:center;width:40px;height:40px;background:var(--green);color:var(--ink);border-radius:8px;font-size:1.55rem;font-weight:1000;letter-spacing:-.14em;padding-right:5px;transform:skew(-6deg)}
.brand-mark span{position:absolute;top:-7px;right:-7px;color:var(--purple);font-size:.72rem;letter-spacing:0;transform:skew(6deg)}
.brand-name{display:flex;flex-direction:column;line-height:1}
.brand-name strong{font-size:1.38rem;letter-spacing:-.07em}
.brand-name small{font-size:.49rem;letter-spacing:.135em;margin-top:3px;font-weight:900}
.site-nav{display:flex;align-items:center;gap:36px;margin-left:auto}
.site-nav a{font-size:.85rem;font-weight:750;color:#d6e1df;padding-block:11px}
.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--green)}
.header-cta{margin-left:8px}
.menu-toggle{display:none;border:0;background:none;color:#fff;padding:8px}
.menu-toggle span{display:block;width:23px;height:2px;margin:5px 0;background:currentColor}

.sticky-call{display:none}
@media(max-width:1100px){
.sticky-call{display:flex;position:fixed;inset:auto 0 0 0;z-index:40;justify-content:center;padding:10px 16px;background:var(--ink);border-top:2px solid var(--green);box-shadow:0 -8px 24px #09141e40}
.sticky-call a{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:420px;min-height:50px;background:var(--green);color:var(--ink);border-radius:8px;font-weight:850;font-size:.95rem}
body{padding-bottom:76px}
}

.home-hero{background:var(--ink);color:#fff;overflow:hidden}
.home-hero-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:630px;align-items:center;gap:20px;position:relative}
.home-hero-copy{position:relative;z-index:2;padding:75px 0 90px}
.home-hero h1{font-size:clamp(3.2rem,5.65vw,6.4rem);line-height:.91;letter-spacing:-.075em;margin:28px 0 27px}
.home-hero h1 span,.home-hero h1 em{display:block;white-space:nowrap}
.home-hero h1 em{color:var(--green)}
.home-hero-copy>p{max-width:550px;color:#c9d8d9;font-size:1.1rem;line-height:1.65;margin-bottom:30px}
.light-link{color:#fff;border-color:var(--cyan)}
.home-art{position:relative;height:550px;overflow:hidden;transform:translateX(8px)}
.art-ring{position:absolute;border:1px solid #53717a;border-radius:50%;aspect-ratio:1}
.ring-one{width:520px;left:3%;top:2%}
.ring-two{width:380px;left:15%;top:15%}
.ring-three{width:230px;left:29%;top:28%;background:radial-gradient(circle at 30% 30%,#31525d,#122632 60%);box-shadow:0 0 80px #4c8b8c3b}
.art-ring::before,.art-ring::after{content:"";position:absolute;border-radius:50%;background:var(--green);width:10px;height:10px;top:50%;left:-5px}
.art-ring::after{background:var(--cyan);top:8%;left:62%;width:7px;height:7px}
.art-word{position:absolute;font-weight:1000;letter-spacing:-.08em;font-size:clamp(3rem,5vw,5.7rem);transform:rotate(-13deg);text-shadow:0 8px 25px #06131cb3;transition:transform .4s ease}
.home-hero:hover .art-word-one{transform:rotate(-9deg) translateY(-4px)}
.home-hero:hover .art-word-two{transform:rotate(8deg) translateY(4px)}
.home-hero:hover .art-word-three{transform:rotate(-3deg) translateX(4px)}
.art-word-one{left:2%;top:16%;color:var(--green)}
.art-word-two{right:4%;top:42%;color:var(--purple);transform:rotate(11deg)}
.art-word-three{left:8%;bottom:12%;color:#fff;transform:rotate(-6deg)}
.art-star{position:absolute;right:5%;top:12%;font-size:5rem;color:var(--purple)}
.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid #39515d;padding:19px 0;color:#9fb2b9;font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.hero-bottom span span{color:var(--green);margin-left:10px}

.intro-band{background:var(--green);padding:66px 0}
.intro-band-inner{display:grid;grid-template-columns:170px minmax(0,1.1fr) minmax(0,.9fr);gap:38px;align-items:start}
.intro-band .section-index{color:var(--green-deep);padding-top:9px}
.intro-band h2{font-size:clamp(2.2rem,3.5vw,3.8rem)}
.intro-band h2 em{color:var(--green-deep)}
.intro-band p{font-size:1.08rem;line-height:1.65;max-width:425px;margin:0}
.section{padding:94px 0}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:34px}
.section-heading h2{font-size:clamp(2.3rem,4vw,4.5rem);margin-top:13px}
.section-heading>p{width:350px;max-width:100%;color:var(--muted);font-size:1rem;line-height:1.6;margin:0 0 4px}
.attraction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.attraction-card{display:flex;flex-direction:column;min-width:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 30px #172a3510;transition:transform .24s,box-shadow .24s,border-color .24s}
.attraction-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px #172a3525;border-color:#a9c8bf}
.attraction-card:focus-visible{transform:translateY(-3px);box-shadow:0 20px 45px #172a3525}
.attraction-card:hover .card-link>span,.attraction-card:focus-visible .card-link>span{transform:translate(3px,-3px)}
.attraction-card:focus-visible{outline-offset:4px}
.media{position:relative;overflow:hidden}
.media-card{height:218px}
.media-hero{height:420px;border-radius:18px}
.media-real{background:linear-gradient(135deg,#173244,#0e1d2b 76%)}
.media-real img{display:block;width:100%;height:100%;object-fit:contain}
.media-placeholder{--accent:var(--green);background:linear-gradient(135deg,#173244,#0e1d2b 76%);color:#fff;isolation:isolate}
.accent-lime{--accent:var(--green)}
.accent-cyan{--accent:#75d6df}
.accent-blue{--accent:#83aff1}
.accent-coral{--accent:#f4876c}
.accent-orange{--accent:#f5b46b}
.accent-purple{--accent:var(--purple)}
.media-placeholder::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0 39px,#ffffff0a 40px 41px),radial-gradient(circle at 92% 6%,var(--accent),transparent 29%);opacity:.8}
.media-placeholder::after{content:"";position:absolute;inset:auto -15% -62% 25%;height:100%;border:1px solid #ffffff30;border-radius:50%;transform:rotate(-12deg)}
.media-orbit{position:absolute;top:-70px;right:-42px;width:230px;height:230px;border:1px solid #ffffff3d;border-radius:50%;transform:rotate(-25deg);transition:transform .4s ease}
.attraction-card:hover .media-orbit,.attraction-card:focus-visible .media-orbit{transform:rotate(-17deg) scale(1.04)}
.media-orbit span{position:absolute;border:1px solid #ffffff3d;border-radius:50%;inset:26px}
.media-orbit span:nth-child(2){inset:52px}
.media-orbit span:nth-child(3){inset:78px;background:var(--accent);opacity:.9;border:0}
.media-label{position:absolute;z-index:1;inset:auto 20px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.media-kicker{font-size:.58rem;font-weight:950;letter-spacing:.16em;color:var(--accent)}
.media-label strong{font-size:clamp(1.25rem,1.85vw,1.85rem);line-height:1.06;letter-spacing:-.04em;max-width:86%;text-wrap:balance}
.media-hero .media-label{inset:auto 32px 30px;gap:11px}
.media-hero .media-kicker{font-size:.68rem}
.media-hero .media-label strong{font-size:clamp(2rem,3vw,3.8rem)}
.media-hero .media-orbit{width:390px;height:390px;top:-80px;right:-20px}
.media-hero .media-orbit span:nth-child(3){inset:128px}
.card-body{padding:23px 24px 25px;display:flex;flex-direction:column;flex:1}
.card-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.card-meta .eyebrow{max-width:calc(100% - 30px)}
.card-number{color:#8b9e96;font-size:.68rem;font-weight:900;letter-spacing:.08em}
.card-body h2,.card-body h3{font-size:1.48rem;line-height:1.13;margin:11px 0 10px}
.card-body p{color:var(--muted);font-size:.9rem;line-height:1.5;margin:0 0 25px;min-height:4.5em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-link{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.card-link span{font-size:1.15rem}
.section-tail{display:flex;justify-content:center;margin-top:42px}
.grid-interlude{display:grid;grid-template-columns:155px minmax(0,1fr) auto;gap:38px;align-items:end;margin:62px 0;padding:48px 0;border-top:1px solid #a9bbb2;border-bottom:1px solid #a9bbb2}
.interlude-index{align-self:start;padding-top:9px;color:#6d8479;font-size:.7rem;font-weight:900;letter-spacing:.12em}
.grid-interlude h2{font-size:clamp(2.3rem,3.65vw,4.25rem);max-width:720px}
.grid-interlude p{max-width:540px;margin:18px 0 0;color:var(--muted);font-size:.95rem;line-height:1.6}
.grid-interlude .text-link{white-space:nowrap;margin-bottom:5px}
.dark-cta{background:var(--ink);color:#fff;padding:82px 0}
.dark-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}
.dark-cta h2{font-size:clamp(2.8rem,4.6vw,5rem);margin:12px 0}
.dark-cta p{color:#c0d0d0;margin:0;font-size:1rem}
.dark-cta .button{min-width:240px}

.page-top{background:#edf1e9;padding:88px 0 75px;overflow:hidden}
.page-top h1{font-size:clamp(3.2rem,6.1vw,6.5rem);max-width:1050px;margin:20px 0 22px}
.page-top p{max-width:680px;color:#435861;font-size:1.15rem;line-height:1.58;margin-bottom:28px}
.small-note{color:#52616a;font-size:.8rem;font-weight:750}
.overview-section{padding-top:56px}
.overview-count{display:flex;justify-content:space-between;border-bottom:1px solid #bfcfc6;padding:0 0 15px;margin-bottom:25px;color:#5d716b;font-size:.73rem;font-weight:900;letter-spacing:.13em}

.detail-hero{background:#edf1e9;padding:21px 0 70px}
.breadcrumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#647670;font-size:.75rem;font-weight:750;padding:13px 0 38px}
.breadcrumbs a:hover{text-decoration:underline}
.detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:66px}
.detail-hero-copy{padding:20px 0}
.detail-hero h1{font-size:clamp(3.1rem,5vw,5.8rem);overflow-wrap:anywhere;margin:18px 0 22px}
.hero-headline{font-size:clamp(1.3rem,2.2vw,2rem);font-weight:850;line-height:1.2;letter-spacing:-.035em;margin:0 0 15px}
.hero-summary{max-width:530px;color:#435861;font-size:1.05rem;line-height:1.6;margin:0 0 30px}
.detail-intro{padding:80px 0 70px;background:#fff}
.detail-intro-grid{display:grid;grid-template-columns:230px minmax(0,760px);gap:55px}
.detail-intro .section-index{padding-top:10px}
.spec-wrap{margin-top:50px}
.spec-wrap>.section-index{padding:0;margin-bottom:13px}
.prose{color:#354954;font-size:1.03rem;line-height:1.78}
.prose p:last-child{margin-bottom:0}
.intro-prose{font-size:1.17rem;line-height:1.72}
.intro-prose p:first-child{color:var(--ink);font-weight:750}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:0;background:var(--ink);border-radius:12px;overflow:hidden}
.spec{padding:27px 25px;min-height:126px;border-right:1px solid #314a54}
.spec:last-child{border-right:0}
.spec strong{display:block;color:var(--green);font-size:clamp(1.5rem,2.25vw,2.45rem);letter-spacing:-.055em;line-height:1.1}
.spec span{display:block;margin-top:9px;color:#b8cacc;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.detail-section{padding:78px 0;border-top:1px solid #dbe3dd}
.detail-section.section-shaded{background:#f0f4ed}
.detail-section-inner{display:grid;grid-template-columns:230px minmax(0,1fr);gap:55px}
.detail-section-label{padding-top:9px}
.detail-section h2{max-width:820px;font-size:clamp(2rem,3.3vw,3.7rem);margin-bottom:23px}
.detail-section .prose{max-width:790px}
.detail-section.copy-only .detail-section-content{max-width:850px}
.detail-section.copy-only h2{max-width:720px}
.detail-section.has-features .detail-section-content>h2{max-width:690px}
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:35px}
.feature{padding:23px 25px;border:1px solid #d8e3da;border-radius:12px;background:#fff}
.feature-number{color:var(--green-dark);font-size:.7rem;font-weight:900;letter-spacing:.1em}
.feature h3{font-size:1.2rem;letter-spacing:-.03em;line-height:1.2;margin:14px 0 8px}
.feature p{color:#4a5d64;font-size:.9rem;line-height:1.55;margin:0}
.events-section{padding:90px 0;background:var(--green)}
.events-grid{display:grid;grid-template-columns:300px 1fr;gap:65px}
.events-section .section-index{color:var(--green-deep)}
.events-section h2{font-size:clamp(2.3rem,3.7vw,4rem);margin:12px 0 15px}
.events-section p{color:var(--green-deep);font-size:.95rem;line-height:1.5}
.event-list{display:flex;flex-wrap:wrap;gap:10px;align-content:start}
.event-list li{padding:11px 14px;background:#ffffffac;border:1px solid #28b863;border-radius:6px;font-size:.84rem;font-weight:750}
.gallery-section h2,.video-section h2{font-size:clamp(2rem,3vw,3rem);margin:12px 0 30px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery-grid img{width:100%;height:250px;object-fit:cover;border-radius:12px}
.video-section video{width:min(100%,920px);border-radius:14px;background:var(--ink)}
.detail-final{background:var(--ink);color:#fff;padding:90px 0}
.detail-final-inner{max-width:900px;text-align:center}
.detail-final h2{font-size:clamp(2.7rem,4.5vw,5rem);margin:15px 0 20px}
.detail-final-copy{max-width:700px;margin:0 auto 28px;color:#c7d6d5;line-height:1.65}
.detail-final-copy p:last-child{margin-bottom:0}
.related-section{background:#f7f8f3}
.testimonials-section{background:#f7f8f3}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px}
.testimonial-card{display:flex;flex-direction:column;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 8px 30px #172a3510;margin:0}
.testimonial-card blockquote{margin:0;color:#354954;font-size:1rem;line-height:1.68}
.testimonial-card blockquote p{margin:0}
.testimonial-card figcaption{display:flex;flex-direction:column;gap:6px;font-weight:800}
.testimonial-rating{color:#e3a31a;font-size:.95rem;letter-spacing:.1em}
.policies-list{display:flex;flex-direction:column;gap:46px;max-width:790px}
.policy-block h2{font-size:1.9rem;margin:0 0 12px}

.contact-top{position:relative;background:var(--ink);color:#fff;padding:94px 0 96px;overflow:hidden}
.contact-top-inner{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px;align-items:center}
.contact-top h1{font-size:clamp(3.7rem,6.4vw,6.8rem);line-height:.96;margin:18px 0 22px;max-width:780px}
.contact-top h1 em{color:var(--green)}
.contact-top p{color:#c4d4d6;font-size:1.1rem;line-height:1.6;max-width:610px;margin:0}
.contact-art{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;height:250px;border:1px solid #45616a;border-radius:50%;transform:rotate(-9deg)}
.contact-art::before,.contact-art::after{content:"";position:absolute;border:1px solid #45616a;border-radius:50%;inset:24px}
.contact-art::after{inset:55px;background:#152e3a}
.contact-art span,.contact-art strong{z-index:1;font-size:2.2rem;font-weight:1000;letter-spacing:-.07em}
.contact-art span:first-child{color:var(--cyan)}
.contact-art span:nth-child(2){color:#fff}
.contact-art strong{color:var(--green)}
.contact-section{background:#f7f8f3}
.contact-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:75px}
.contact-aside h2{font-size:clamp(2.3rem,3.5vw,3.9rem);margin:16px 0}
.contact-aside>p{max-width:370px;color:#52616a;line-height:1.65}
.contact-aside-rule{width:95px;height:4px;margin:30px 0;background:var(--green)}
.contact-direct{border-top:1px solid #cbd7d0;margin-top:45px;padding-top:20px;display:flex;flex-direction:column;gap:10px}
.contact-direct span{color:#658078;font-size:.7rem;font-weight:900;letter-spacing:.12em}
.contact-direct a{font-weight:850;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#9ec850;text-underline-offset:5px}
.inquiry-form{background:#fff;border:1px solid #dce5de;border-top:5px solid var(--green);border-radius:16px;box-shadow:0 20px 45px #0d1b2810;padding:34px}
.selected-context{background:#e8f7f6;border:1px solid #b0ddda;border-left:4px solid #58bbc5;border-radius:7px;padding:16px 18px;margin-bottom:26px}
.selected-context span{display:block;color:#3e7983;font-size:.66rem;font-weight:900;letter-spacing:.12em}
.selected-context strong{display:block;font-size:1.28rem;letter-spacing:-.03em;margin:6px 0}
.selected-context p{color:#42646a;font-size:.78rem;line-height:1.5;margin:0}
.form-heading{display:flex;justify-content:space-between;border-bottom:1px solid #dce5de;padding-bottom:20px;margin-bottom:26px;color:#6b817b;font-size:.7rem;letter-spacing:.12em;font-weight:900}
.inquiry-form label{display:block;margin-bottom:20px;font-size:.82rem;font-weight:850}
.inquiry-form label>span[aria-hidden]{color:#a14c36}
.optional{color:#8a9891;font-weight:500;font-size:.74rem}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #bac9c4;border-radius:6px;padding:12px 13px;background:#fbfcf9;color:var(--ink);outline:0;min-height:48px}
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #8b5cf640}
.inquiry-form textarea{resize:vertical;min-height:145px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-submit{width:100%;margin-top:3px}
.form-note{color:#60716c;font-size:.74rem;line-height:1.5;margin:13px 0 0}
.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-status{border-radius:9px;margin:4px 0 20px;padding:18px 20px;background:#edf3ed;border:1px solid #c8d9cd}
.form-status[data-state=success]{background:#eaf5d7;border-color:#9cc46a}
.form-status[data-state=error]{background:#fff0eb;border-color:#e9ac95}
.form-status[data-state=submitting]{background:#e8f7f6;border-color:#acd8d9}
.form-status strong{display:block;font-size:1.06rem}
.form-status p{color:#40585a;font-size:.85rem;line-height:1.55;margin:7px 0 0}
.send-another{margin-top:18px;background:none;border-left:0;border-right:0;border-top:0;cursor:pointer}
.inquiry-form[aria-busy=true] .form-submit{cursor:wait}

.site-footer{background:#09141e;color:#dce5e5;padding:65px 0 22px}
.footer-identity .brand{margin-bottom:7px}
.footer-rule{width:62px;height:3px;margin:6px 0;background:var(--green)}
.footer-social{display:flex;flex-direction:column;gap:12px;margin-top:13px}
.footer-booking{color:var(--green)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:50px}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-grid p{color:#94a9ad;font-size:.84rem;line-height:1.5;margin:0;max-width:280px}
.footer-grid strong{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
.footer-grid a:not(.brand){font-size:.88rem}
.footer-grid a:hover{text-decoration:underline}
.footer-brand{margin-bottom:8px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:60px;border-top:1px solid #2d414d;padding-top:20px;color:#829ba1;font-size:.72rem}

@media(max-width:1100px){.shell{width:min(calc(100% - 48px),var(--shell))}
.header-cta{display:none}
.detail-hero-grid{gap:35px}
.detail-intro-grid,.detail-section-inner{grid-template-columns:175px 1fr;gap:35px}
.events-grid{gap:35px}
.contact-grid{gap:45px}
.home-hero-inner{min-height:570px}
.home-art{margin-right:-60px}
}

@media(max-width:850px){.attraction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.intro-band-inner{grid-template-columns:1fr 1fr;gap:20px}
.intro-band .section-index{grid-column:1/-1}
.home-hero-inner{grid-template-columns:1fr}
.home-hero-copy{padding:85px 0 75px}
.home-art{position:absolute;inset:0 -35% 0 45%;height:auto;opacity:.32;pointer-events:none}
.home-hero h1{font-size:clamp(3.8rem,9vw,6rem)}
.detail-hero-grid{grid-template-columns:1fr}
.detail-hero-copy{padding:0}
.media-hero{height:340px}
.detail-intro-grid,.detail-section-inner{grid-template-columns:1fr;gap:22px}
.detail-intro .section-index,.detail-section-label{padding:0}
.events-grid{grid-template-columns:1fr;gap:22px}
.events-grid>div p{max-width:500px}
.contact-grid{grid-template-columns:1fr}
.contact-aside>p{max-width:650px}
.contact-direct{margin-top:28px}
.section{padding:72px 0}
}

@media(max-width:650px){.shell{width:min(calc(100% - 36px),var(--shell))}
.nav-row{min-height:68px}
.brand-logo{height:44px;max-width:125px}
.brand-mark{width:34px;height:34px;font-size:1.35rem}
.brand-name strong{font-size:1.19rem}
.brand-name small{font-size:.42rem}
.menu-toggle{display:block;margin-left:auto}
.site-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:12px 18px 20px;background:var(--ink);border-top:1px solid #29404b;box-shadow:0 20px 30px #09141e40}
.site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
.site-nav a{padding:15px 8px;border-bottom:1px solid #29404b;font-size:1rem}
.home-hero-copy{padding:72px 0 75px}
.home-hero h1{font-size:clamp(3rem,12vw,4.8rem);margin:22px 0}
.home-hero-copy>p{font-size:1rem}
.home-art{inset:0 -90% 0 28%;opacity:.15}
.hero-bottom{font-size:.62rem}
.intro-band{padding:48px 0}
.intro-band-inner{display:block}
.intro-band h2{margin:15px 0;font-size:2.4rem}
.intro-band p{font-size:1rem}
.section{padding:58px 0}
.section-heading{display:block;margin-bottom:24px}
.section-heading h2{font-size:2.7rem}
.section-heading>p{width:auto;margin-top:15px}
.attraction-grid{grid-template-columns:1fr;gap:16px}
.media-card{height:210px}
.card-body{padding:20px}
.card-body h2,.card-body h3{font-size:1.5rem}
.dark-cta{padding:60px 0}
.dark-cta-inner{display:block}
.dark-cta .button{margin-top:25px}
.page-top{padding:65px 0 55px}
.page-top h1{font-size:clamp(3rem,11vw,5rem)}
.page-top p{font-size:1rem}
.overview-section{padding-top:35px}
.detail-hero{padding:14px 0 52px}
.breadcrumbs{padding-bottom:27px}
.detail-hero h1{font-size:clamp(2.8rem,10.5vw,4.5rem)}
.media-hero{height:235px}
.media-hero .media-label{inset:auto 20px 20px;gap:6px}
.media-hero .media-label strong{font-size:2rem}
.media-hero .media-orbit{width:270px;height:270px}
.media-hero .media-orbit span:nth-child(3){inset:85px}
.detail-intro{padding:56px 0}
.intro-prose{font-size:1.05rem}
.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}
.spec{min-height:96px;padding:16px}
.spec strong{font-size:1.45rem}
.detail-section{padding:56px 0}
.detail-section h2{font-size:2.35rem}
.prose{font-size:.98rem;line-height:1.7}
.feature-grid{grid-template-columns:1fr;gap:10px;margin-top:25px}
.feature{padding:19px}
.events-section{padding:58px 0}
.event-list li{font-size:.79rem;padding:9px 11px}
.detail-final{padding:64px 0}
.detail-final h2{font-size:2.8rem}
.gallery-grid{grid-template-columns:1fr}
.gallery-grid img{height:240px}
.testimonial-grid{grid-template-columns:1fr}
.contact-grid{gap:35px}
.inquiry-form{padding:22px}
.form-row{grid-template-columns:1fr;gap:0}
.footer-grid{grid-template-columns:1fr 1fr;gap:32px}
.footer-grid>div:first-child{grid-column:1/-1}
.footer-bottom{margin-top:40px;flex-direction:column}
}

@media(max-width:390px){.shell{width:min(calc(100% - 30px),var(--shell))}
.home-hero h1{font-size:2.9rem}
.button{gap:16px}
.hero-bottom span:first-child{max-width:145px}
.spec strong{font-size:1.3rem}
.footer-grid{grid-template-columns:1fr}
.footer-grid>div:first-child{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.button,.attraction-card{transition:none}
}

@media(max-width:1100px){
.grid-interlude{grid-template-columns:125px minmax(0,1fr);gap:24px}
.grid-interlude .text-link{grid-column:2;justify-self:start}
.contact-top-inner{grid-template-columns:minmax(0,1fr) 250px;gap:34px}
.contact-art{height:220px}
}

@media(max-width:850px){
.contact-top-inner{grid-template-columns:1fr 200px}
.contact-art{height:180px}
.contact-art span,.contact-art strong{font-size:1.7rem}
.grid-interlude{grid-template-columns:1fr;gap:18px;margin:48px 0;padding:36px 0}
.grid-interlude .text-link{grid-column:1}
.interlude-index{padding:0}
}

@media(max-width:650px){
.home-hero-inner{display:flex;flex-direction:column;align-items:stretch;min-height:0}
.home-hero-copy{padding:65px 0 26px}
.home-hero h1{font-size:clamp(2.65rem,10.4vw,4.2rem);line-height:.95;margin:23px 0}
.home-hero-copy>p{max-width:490px}
.home-hero .action-row{align-items:flex-start;gap:20px}
.home-hero .button{width:min(100%,360px)}
.home-art{position:relative;inset:auto;margin:0;height:184px;opacity:1;transform:none;pointer-events:none}
.home-art .ring-one{width:300px;left:6%;top:-52px}
.home-art .ring-two{width:220px;left:18%;top:-12px}
.home-art .ring-three{width:150px;left:29%;top:22px}
.home-art .art-word{font-size:2.45rem}
.home-art .art-word-one{left:2%;top:0}
.home-art .art-word-two{right:1%;top:52px}
.home-art .art-word-three{left:8%;bottom:0}
.home-art .art-star{font-size:2.4rem;right:7%;top:0}
.media-card{height:210px}
.card-body p{min-height:0}
.grid-interlude h2{font-size:2.5rem}
.grid-interlude p{margin-top:13px}
.spec-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));margin-top:0}
.spec{min-height:105px;padding:19px 17px}
.spec-wrap{margin-top:35px}
.contact-top{padding:65px 0 52px}
.contact-top-inner{display:block}
.contact-top h1{font-size:clamp(3.2rem,11vw,4.8rem)}
.contact-top p{font-size:1rem}
.contact-art{height:105px;margin-top:29px;border-radius:80px;transform:rotate(-3deg)}
.contact-art::before{inset:12px}
.contact-art::after{inset:24px}
.contact-art span,.contact-art strong{font-size:1.7rem}
.inquiry-form{padding:23px}
.selected-context{padding:14px}
}

@media(max-width:390px){
.home-hero h1{font-size:2.65rem}
.home-art .art-word{font-size:2.2rem}
.spec-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.contact-top h1{font-size:3.1rem}
}

@media(prefers-reduced-motion:reduce){
*,*::before,*::after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}
}

