@import "https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700;900&family=Noto+Sans+TC:wght@300;400;500;700;900&display=swap";:root{--brand-black:#1a1a1a;--brand-gold-dark:#8b6914;--brand-gold:#c9a04a;--brand-gold-light:#e8c96d;--brand-silver:#e5e5e5;--color-bg:var(--brand-black);--color-bg-alt:#23211d;--color-cream:#292620;--color-text:var(--brand-silver);--color-text-muted:#bcb6a8;--color-accent:var(--brand-gold);--color-accent-light:var(--brand-gold-light);--color-accent-dark:var(--brand-gold-dark);--color-border:#c9a04a47;--color-dark:#100f0d;--font-serif:"Nunito", "Noto Sans TC", -apple-system, BlinkMacSystemFont, sans-serif;--font-sans:"Nunito", "Noto Sans TC", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--radius:2px;--transition:.25s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background:radial-gradient(circle at top left, #c9a04a14, transparent 28rem), var(--color-bg);font-weight:400;line-height:1.75}.site-header{z-index:100;padding:var(--space-md) var(--space-lg);transition:background var(--transition), border-color var(--transition), box-shadow var(--transition);position:absolute;top:0;left:0;right:0}.site-header.scrolled{border-bottom:1px solid var(--color-border);background:#100f0df5;position:fixed;box-shadow:0 14px 36px #00000047}.site-header .inner{justify-content:space-between;align-items:center;gap:var(--space-md);max-width:1400px;margin:0 auto;display:flex}.logo a{align-items:center;text-decoration:none;display:inline-flex}.logo img{width:150px;height:auto;display:block}.nav-links{justify-content:center;gap:.35rem clamp(.75rem, 2vw, var(--space-lg));flex-wrap:wrap;flex:auto;min-width:0;list-style:none;display:flex}.nav-links a{letter-spacing:.08em;color:#e5e5e5e0;padding:var(--space-xs) 0;transition:border-color var(--transition), color var(--transition);border-bottom:1px solid #0000;font-size:.8125rem;text-decoration:none}.nav-links a:hover,.nav-links a.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.header-actions{align-items:center;gap:var(--space-sm);flex:none;display:flex}.lang-switcher{gap:var(--space-xs);display:flex}.lang-switcher a,.account-trigger{letter-spacing:.05em;min-height:32px;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);background:0 0;border:1px solid #c9a04a47;justify-content:center;align-items:center;padding:0 10px;font-family:inherit;font-size:.6875rem;text-decoration:none;display:inline-flex}.lang-switcher a:hover,.account-trigger:hover{color:var(--color-accent-light);border-color:var(--color-accent);background:#c9a04a14}.lang-switcher a.active,.account-trigger{color:var(--color-dark);border-color:var(--color-accent-light);background:var(--color-accent-light)}.account-menu{position:relative}.account-dropdown{border:1px solid var(--color-border);z-index:120;background:#100f0dfa;min-width:180px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 30px #00000059}.account-dropdown a{letter-spacing:.05em;color:var(--color-text);border:1px solid #0000;padding:10px 12px;font-size:.8125rem;text-decoration:none;display:block}.account-dropdown a:hover{border-color:var(--color-border);background:#c9a04a14}.account-dropdown form{margin:0}.account-dropdown-logout{letter-spacing:.05em;width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;padding:10px 12px;font-family:inherit;font-size:.8125rem;display:block}.account-dropdown-logout:hover{border-color:var(--color-border);background:#c9a04a14}.account-menu.open .account-dropdown{display:block}.site-header.scrolled{--site-header-offset:5.5rem}.site-header.scrolled+main{padding-top:var(--site-header-offset,0)}@media (width<=768px){.site-header.scrolled{--site-header-offset:8.75rem}.site-header{padding:.75rem var(--space-sm);background:#100f0df0}.site-header .inner{justify-content:space-between;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.logo{text-align:left;flex:auto;width:auto}.logo a{justify-content:flex-start}.logo img{width:120px}.nav-links{justify-content:flex-start;gap:var(--space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;order:2;width:100%;padding-bottom:4px;overflow:auto hidden}.nav-links a{white-space:nowrap;padding:2px 0;font-size:.75rem;display:inline-block}.header-actions{justify-content:flex-end;gap:var(--space-xs);flex-wrap:nowrap;flex:none;order:1;width:auto}.account-dropdown{left:50%;right:auto;transform:translate(-50%)}}.hero{text-align:left;justify-content:center;align-items:center;min-height:85vh;display:flex;position:relative;overflow:hidden}.hero-bg{background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.hero-bg:after{content:"";background:linear-gradient(90deg,#0a0908c7 0%,#0a09087a 46%,#0a090847 100%),linear-gradient(#0a090833 0%,#0a0908b8 100%);position:absolute;inset:0}.hero-content{z-index:2;width:min(100%,1200px);padding:var(--space-xl) var(--space-lg);max-width:1200px;position:relative}.hero-content h1{font-family:var(--font-serif);letter-spacing:.08em;color:var(--color-accent-light);margin-bottom:var(--space-md);text-shadow:0 1px 2px #0000004d;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.18}.hero-content p{letter-spacing:.08em;color:#e5e5e5eb;margin-bottom:var(--space-lg);max-width:35rem;font-size:.9375rem;line-height:1.8}.cta-button{letter-spacing:.12em;color:var(--color-dark);background:var(--color-accent);border:1px solid var(--color-accent);transition:background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);padding:14px 34px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-block}.cta-button:hover{background:var(--color-accent-light);border-color:var(--color-accent-light);color:#1a1a1a;transform:translateY(-1px)}.cta-button.dark{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.cta-button.dark:hover{background:var(--color-accent-light);border-color:var(--color-accent-light);color:#1a1a1a}.cta-button.secondary{color:var(--color-accent-light);border:1px solid var(--color-accent);background:0 0}.cta-button.secondary:hover{color:var(--color-accent-light);background:#c9a04a1a}.section{max-width:1200px;padding:var(--space-2xl) var(--space-lg);margin:0 auto}@media (width<=768px){.section{padding:var(--space-xl) var(--space-sm)}.hero{padding-top:8rem}.hero-content{width:100%;padding:var(--space-lg) var(--space-sm)}}.section-title{font-family:var(--font-serif);letter-spacing:.08em;text-align:center;margin-bottom:var(--space-xl);color:var(--color-accent-light);font-size:1.5rem;font-weight:700}.section-title:after,.story-section h2:after,.home-closing .cta-section h2:after{content:"";width:64px;height:1px;margin:var(--space-sm) auto 0;background:var(--color-accent);display:block}.usp-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.page-cards{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,260px);justify-content:center;display:grid}@media (width<=960px){.page-cards{grid-template-columns:repeat(2,minmax(0,260px))}}@media (width<=640px){.page-cards{grid-template-columns:1fr}}.usp-card,.page-card{background:var(--color-cream);padding:var(--space-xl);text-align:left;border:1px solid var(--color-border);transition:background var(--transition), box-shadow var(--transition), border-color var(--transition), transform var(--transition)}.usp-card:hover,.page-card:hover{border-color:var(--color-accent);background:#2f2a20;transform:translateY(-2px);box-shadow:0 16px 34px #00000038}.usp-card h3,.page-card h3{font-family:var(--font-serif);letter-spacing:.06em;margin-bottom:var(--space-sm);color:var(--color-accent-light);font-size:1.125rem;font-weight:700}.usp-card p,.page-card p{color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.875rem}.page-card--link{color:inherit;flex-direction:column;align-items:flex-start;text-decoration:none;display:flex}.page-card--link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.page-card--link .page-card__cta{margin-top:auto}.page-card a,.page-card__cta{letter-spacing:.1em;color:var(--color-accent);border-bottom:1px solid var(--color-accent);transition:color var(--transition), border-color var(--transition);white-space:nowrap;padding-bottom:2px;font-size:.8125rem;text-decoration:none;display:inline-block}.page-card a:hover,.page-card--link:hover .page-card__cta{color:var(--color-accent-light);border-bottom-color:var(--color-accent-light)}.gallery{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}@media (width<=900px){.gallery{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.gallery,.photo-gallery{gap:var(--space-sm);grid-template-columns:1fr}}.gallery-item{aspect-ratio:4/3;background:var(--color-bg-alt);border:1px solid #c9a04a24;overflow:hidden}.gallery-item img{object-fit:cover;filter:saturate(.88)contrast(1.04);width:100%;height:100%;display:block}.home-closing{background:linear-gradient(180deg, transparent 0%, #c9a04a09 28%, #100f0d00 100%), var(--color-dark)}.home-closing .story-section,.home-closing .cta-section{background:0 0}.home-closing .story-section{background:var(--color-bg);padding-bottom:var(--space-xl)}.home-closing .cta-section{background:var(--color-bg);padding-top:var(--space-xl);margin:0 auto}.home-closing .cta-section h2{font-family:var(--font-serif);letter-spacing:.08em;text-align:center;margin-bottom:var(--space-lg);color:var(--color-accent-light);max-width:640px;margin-left:auto;margin-right:auto;font-size:1.5rem;font-weight:700}.home-closing .cta-section p{max-width:640px;margin:0 auto var(--space-md);color:var(--color-text-muted);opacity:1;font-size:.9375rem;line-height:1.9}.story-section{background:linear-gradient(180deg, #c9a04a0f, transparent 34%), var(--color-bg-alt);padding:var(--space-2xl) var(--space-lg);text-align:left}.story-section h2{font-family:var(--font-serif);letter-spacing:.08em;text-align:center;margin-bottom:var(--space-lg);color:var(--color-accent-light);max-width:640px;margin-left:auto;margin-right:auto;font-size:1.5rem;font-weight:700}.story-section p{max-width:640px;margin:0 auto var(--space-md);color:var(--color-text-muted);font-size:.9375rem;line-height:1.9}.story-section .home-page-brand-story{max-width:640px;color:var(--color-text-muted);text-align:left;margin:0 auto;font-size:.9375rem;line-height:1.9}.story-section .home-page-brand-story p{margin-bottom:var(--space-md)}.story-section .home-page-brand-story ul,.story-section .home-page-brand-story ol{margin:var(--space-sm) 0;padding-left:1.25rem}.story-section .home-page-brand-story a{color:var(--color-accent-light);text-underline-offset:2px;text-decoration:underline}.vote-section{background:var(--color-cream);border:1px solid var(--color-border);padding:var(--space-xl);box-shadow:inset 0 1px #e8c96d0f}.vote-title{font-family:var(--font-serif);letter-spacing:.06em;text-align:center;margin-bottom:var(--space-sm);color:var(--color-accent-light);font-size:1.25rem;font-weight:700}.vote-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:var(--space-xs);max-width:36rem;margin-left:auto;margin-right:auto;font-size:.9375rem;line-height:1.8}.vote-hint{text-align:center;color:var(--color-text-muted);margin-bottom:var(--space-lg);max-width:36rem;margin-left:auto;margin-right:auto;font-size:.8125rem;line-height:1.7}.kol-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));max-width:56rem;margin:0 auto;display:grid}@media (width>=520px){.kol-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=720px){.kol-grid{grid-template-columns:repeat(5,minmax(0,1fr));max-width:52rem}}.kol-card{background:var(--color-cream);border:1px solid var(--color-border);text-align:center;transition:border-color var(--transition), box-shadow var(--transition);padding:0;overflow:hidden}.kol-card:hover{border-color:var(--color-accent);box-shadow:0 4px 14px #00000040}button.kol-photo{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;margin:0;padding:0;display:flex}button.kol-photo:hover{filter:brightness(1.06)}button.kol-photo:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.kol-photo{aspect-ratio:1;background:#fff;justify-content:center;align-items:center;width:100%;overflow:hidden}.kol-photo img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.kol-photo--empty{background:#fff}.kol-name{font-family:var(--font-serif);letter-spacing:.04em;margin:var(--space-sm) var(--space-xs) .25rem;color:var(--color-text);font-size:.9375rem;font-weight:700;line-height:1.5}.kol-votes{color:var(--color-text-muted);margin:0 var(--space-xs) var(--space-sm);font-size:.8125rem}.vote-count{color:var(--color-text);font-size:.9375rem;font-weight:600}.kol-card .vote-button{width:calc(100% - var(--space-sm));margin:0 var(--space-xs) var(--space-xs);letter-spacing:.08em;color:var(--color-accent-light);border:1px solid var(--color-border);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);background:0 0;padding:.55rem .5rem;font-size:.8125rem}.kol-card .vote-button:hover:not(:disabled){background:var(--color-accent);color:#1a1a1a;border-color:var(--color-accent)}.kol-card .vote-button:disabled{background:var(--color-bg-alt);color:var(--color-text-muted);border-color:var(--color-border);cursor:default}.kol-card .vote-button.voted{background:var(--color-accent);color:#1a1a1a;border-color:var(--color-accent)}.footer-cta{background:linear-gradient(180deg, #c9a04a14, transparent), var(--color-dark);color:var(--color-text);padding:var(--space-2xl) var(--space-lg);text-align:center}.footer-cta h2{font-family:var(--font-serif);letter-spacing:.08em;margin-bottom:var(--space-md);font-size:1.25rem;font-weight:700}.footer-cta a{color:var(--color-accent-light);margin:0 var(--space-md);letter-spacing:.1em;border-bottom:1px solid var(--color-accent);font-size:.875rem;text-decoration:none}.footer-cta a:hover{color:var(--color-text);border-bottom-color:var(--color-accent-light)}.site-footer{background:var(--color-dark);color:var(--color-text-muted);padding:var(--space-xl) var(--space-lg);text-align:center}.footer-links{justify-content:center;column-gap:clamp(var(--space-sm), 3vw, var(--space-lg));margin-bottom:var(--space-md);flex-wrap:wrap;row-gap:.75rem;display:flex}.footer-links--legal{margin-top:var(--space-sm);padding-top:var(--space-sm);margin-bottom:var(--space-sm);gap:var(--space-xl)}.footer-links--line{margin-bottom:var(--space-md);flex-direction:column;align-items:center;gap:.25rem}.footer-links--line span{letter-spacing:.08em;font-size:.8125rem}.footer-links a{letter-spacing:.08em;color:var(--color-text-muted);padding:var(--space-xs) 0;transition:border-color var(--transition), color var(--transition);border-bottom:1px solid #0000;font-size:.8125rem;text-decoration:none}.footer-links a:hover{color:var(--color-accent-light);border-bottom-color:var(--color-accent)}.site-footer p{letter-spacing:.05em;color:#fff6;font-size:.75rem}@media (width<=768px){.site-footer{padding:var(--space-lg) var(--space-sm)}.footer-links{column-gap:var(--space-sm);margin-bottom:var(--space-sm);row-gap:.9rem}.footer-links--legal{column-gap:var(--space-sm);row-gap:.75rem;margin-top:.75rem;margin-bottom:.75rem;padding-top:.75rem}.footer-links--line{margin-bottom:var(--space-sm)}}.page-header{text-align:center;justify-content:center;align-items:center;height:45vh;min-height:280px;display:flex;position:relative;overflow:hidden}.page-header .bg{background-position:50%;background-size:cover;position:absolute;inset:0}.page-header .bg:after{content:"";background:linear-gradient(90deg,#0a0908b3,#0a09085c),#00000052;position:absolute;inset:0}.page-header h1{z-index:2;font-family:var(--font-serif);letter-spacing:.1em;color:var(--color-accent-light);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;position:relative}.page-header p{z-index:2;letter-spacing:.1em;color:#ffffffe6;margin-top:var(--space-sm);font-size:.875rem;position:relative}.campaign-coming-soon{font-family:var(--font-serif);letter-spacing:.06em;text-align:center;color:var(--color-accent-light);margin:0 auto;font-size:1.25rem;font-weight:700;line-height:1.8}.event-hero{max-width:1100px;padding:var(--space-xl) var(--space-lg) 0;background:var(--color-bg);margin:0 auto}.event-hero img{width:100%;height:auto;display:block}.event-section{max-width:1100px;padding:var(--space-xl) var(--space-lg);margin:0 auto}.event-rule-block{background:var(--color-cream);border:1px solid var(--color-border);padding:var(--space-xl);color:var(--color-text);line-height:1.9}.event-rule-block h2,.event-rule-block h3{font-family:var(--font-serif);color:var(--color-accent-light);font-weight:700}.event-rule-block h2{letter-spacing:.08em;margin-bottom:var(--space-lg);text-align:center;font-size:1.5rem}.event-rule-block h3{letter-spacing:.04em;margin:var(--space-lg) 0 var(--space-xs);font-size:1.0625rem}.event-rule-block p,.event-rule-block ul{margin:0 0 var(--space-sm)}.event-rule-block ul{padding-left:1.25rem}.event-rule-block li+li{margin-top:.35rem}.event-table-wrap{margin:var(--space-md) 0;overflow-x:auto}.event-table{border-collapse:collapse;background:#ffffff05;width:100%;min-width:320px}.event-table th,.event-table td{border:1px solid var(--color-border);text-align:center;padding:.85rem 1rem}.event-table th{color:var(--color-accent-light);background:#e8c96d14;font-weight:700}.content-section,.services-section{max-width:1100px;padding:var(--space-xl) var(--space-lg);margin:0 auto}@media (width<=768px){.page-header{min-height:360px;padding-top:2.5rem}.content-section,.event-section,.services-section,.news-section,.article-section,.contact-section,.account-section,.orders-section{padding-left:var(--space-sm);padding-right:var(--space-sm)}.event-hero{max-width:none;padding:0}.description,.facilities,.event-rule-block,.service-card .body,.contact-form,.vote-section,.booking-section{padding:var(--space-md)}}.description,.facilities{background:var(--color-cream);padding:var(--space-xl);margin-bottom:var(--space-xl);border:1px solid var(--color-border);box-shadow:inset 0 1px #e8c96d0f}.description h2,.facilities h2{font-family:var(--font-serif);letter-spacing:.06em;margin-bottom:var(--space-md);color:var(--color-accent-light);font-size:1.25rem;font-weight:700}.description p,.info-list{color:var(--color-text-muted);margin-bottom:var(--space-sm);font-size:.9375rem}.booking-complete-intro{margin-bottom:var(--space-xl);text-align:center}.booking-complete-intro p{font-family:var(--font-serif);letter-spacing:.05em;color:var(--color-accent-light);margin:0;font-size:clamp(1.125rem,2.5vw,1.375rem);line-height:1.75}.booking-complete-intro strong{font-weight:600}.description .room-intro-description{margin-bottom:var(--space-md)}.description .room-intro-description ul,.description .room-intro-description ol{margin:var(--space-sm) 0;color:var(--color-text-muted);padding-left:1.25rem;font-size:.9375rem}.description .room-intro-description a{color:var(--color-text);text-underline-offset:2px;text-decoration:underline}.info-list{margin-top:var(--space-md);list-style:none}.info-list li{padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border);font-size:.9375rem}.room-overview{display:none}@media (width>=769px){.room-overview{background:var(--color-cream);border:1px solid var(--color-border);margin-bottom:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(300px,38%);align-items:start;gap:clamp(24px,3vw,44px);padding:clamp(24px,3vw,36px);display:grid}.room-overview--text-only{grid-template-columns:minmax(0,1fr)}.room-overview__copy{min-width:0}.room-overview__description{color:var(--color-text-muted);font-size:.95rem;line-height:1.85}.room-overview__description p{margin:0 0 var(--space-sm)}.room-overview__description>:first-child{margin-top:0}.room-overview__description>:last-child{margin-bottom:0}.room-overview__description ul,.room-overview__description ol{margin:var(--space-sm) 0;padding-left:1.35rem}.room-overview__description a{color:var(--color-text);text-underline-offset:2px;text-decoration:underline}.room-carousel{background:var(--color-border);justify-self:end;width:100%;min-width:0;max-width:420px;position:relative;overflow:hidden}.room-carousel__viewport{aspect-ratio:4/3;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;width:100%;display:flex;overflow-x:auto}.room-carousel__viewport::-webkit-scrollbar{display:none}.room-carousel__slide{scroll-snap-align:start;flex:0 0 100%;margin:0}.room-carousel__slide img{object-fit:cover;width:100%;height:100%;display:block}.room-carousel__nav{z-index:2;color:#fff;cursor:pointer;width:42px;height:42px;transition:background var(--transition), border-color var(--transition);background:#20202061;border:1px solid #ffffff73;border-radius:999px;justify-content:center;align-items:center;font-size:28px;line-height:1;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.room-carousel__nav:hover{background:#20202094;border-color:#fffc}.room-carousel__nav--prev{left:14px}.room-carousel__nav--next{right:14px}.room-carousel__dots{z-index:2;justify-content:center;gap:8px;display:flex;position:absolute;bottom:14px;left:16px;right:16px}.room-carousel__dot{cursor:pointer;background:#fff3;border:1px solid #ffffffd9;border-radius:999px;width:8px;height:8px;padding:0}.room-carousel__dot.is-active{background:#fff}}.photo-gallery{gap:var(--space-md);margin:var(--space-xl) 0;grid-template-columns:repeat(3,1fr);display:grid}@media (width<=768px){.photo-gallery{grid-template-columns:1fr 1fr}}@media (width<=520px){.photo-gallery{gap:var(--space-sm);grid-template-columns:1fr}}.floor-plan-gallery{grid-template-columns:1fr;max-width:1200px;margin-left:auto;margin-right:auto}.photo-item{aspect-ratio:4/3;background:var(--color-border);cursor:zoom-in;border:0;width:100%;padding:0;display:block;overflow:hidden}.photo-item img{object-fit:cover;width:100%;height:100%;display:block}.photo-card{min-width:0;margin:0}.photo-caption{color:var(--color-text);margin-top:10px;font-size:.9375rem;line-height:1.5}.floor-plan-item{aspect-ratio:16/9;background:#fff;border:1px solid #c9a04a3d}.floor-plan-item img{object-fit:contain}.floor-plan-card .photo-caption{font-size:1rem;font-weight:500}.lightbox{z-index:300;display:none;position:fixed;inset:0}.lightbox.open{display:block}.lightbox__backdrop{background:#000000bf;position:absolute;inset:0}.lightbox__content{grid-template-columns:56px 1fr 56px;align-items:center;padding:24px;display:grid;position:absolute;inset:0}.lightbox__figure{justify-items:center;gap:10px;margin:0;display:grid}.lightbox__img{background:#ffffff0a;border:1px solid #ffffff24;width:auto;max-width:min(1100px,90vw);height:auto;max-height:78vh}.lightbox__caption{color:#ffffffd9;text-align:center;font-size:.875rem}.lightbox__close{color:#fff;cursor:pointer;background:#00000059;border:1px solid #fff3;border-radius:999px;width:44px;height:44px;font-size:24px;position:absolute;top:16px;right:16px}.lightbox__nav{color:#fff;cursor:pointer;background:#00000059;border:1px solid #fff3;border-radius:999px;justify-content:center;justify-self:center;align-items:center;width:44px;height:44px;font-size:28px;display:inline-flex}.lightbox__nav:hover,.lightbox__close:hover{background:#ffffff0f}.lightbox__nav--prev{justify-self:start}.lightbox__nav--next{justify-self:end}@media (width<=640px){.lightbox__content{grid-template-columns:44px minmax(0,1fr) 44px;padding:56px 8px 18px}.lightbox__figure{min-width:0}.lightbox__img{object-fit:contain;max-width:100%;max-height:72vh}.lightbox__close{top:10px;right:10px}.lightbox__nav{width:38px;height:38px;font-size:24px}}.facility-tags{gap:var(--space-sm);flex-wrap:wrap;display:flex}.facility-tag{letter-spacing:.05em;border:1px solid var(--color-accent-light);color:var(--color-accent-light);background:#c9a04a14;padding:8px 16px;font-size:.8125rem}.cta-section{background:linear-gradient(180deg, #c9a04a14, transparent), var(--color-dark);color:#fff;padding:var(--space-2xl) var(--space-lg);text-align:center;margin:var(--space-xl) 0}.booking-complete-actions{background:0 0}.cta-section h2{font-family:var(--font-serif);letter-spacing:.08em;margin-bottom:var(--space-sm);font-size:1.25rem;font-weight:700}.cta-section p{opacity:.9;margin-bottom:var(--space-lg);font-size:.9375rem}.cta-buttons{gap:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.service-cards{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.content-section,.content-section *,.event-section,.event-section *,.services-section,.services-section *,.faq-section,.faq-section *,.news-section,.news-section *,.contact-section,.contact-section *{overflow-wrap:anywhere;word-break:break-word}.service-card{background:var(--color-cream);border:1px solid var(--color-border);overflow:hidden}.service-image{aspect-ratio:16/9;background:var(--color-border);overflow:hidden}.service-image img{object-fit:cover;filter:saturate(.9)contrast(1.03);width:100%;height:100%;display:block}.service-card .body{padding:var(--space-lg);min-width:0}.service-card h3{font-family:var(--font-serif);letter-spacing:.08em;margin-bottom:var(--space-sm);color:var(--color-accent-light);overflow-wrap:anywhere;word-break:break-word;font-size:1.125rem;font-weight:700}.service-description{color:var(--color-text-muted);margin-bottom:var(--space-md);overflow-wrap:anywhere;word-break:break-word;font-size:.9375rem}.service-description p{overflow-wrap:anywhere;word-break:break-word}.service-notes{padding:var(--space-md);color:var(--color-text-muted);margin-bottom:var(--space-md);overflow-wrap:anywhere;word-break:break-word;background:#c9a04a0f;font-size:.8125rem}.service-notes ul{margin:var(--space-sm) 0 0 1.25rem;list-style:outside}.service-notes li{overflow-wrap:anywhere;word-break:break-word}.service-partner{margin-bottom:var(--space-md);font-size:.8125rem}.service-partner a{color:var(--color-accent);border-bottom:1px solid var(--color-accent);text-decoration:none}.service-cta a{letter-spacing:.1em;background:var(--color-accent);color:var(--color-dark);transition:background var(--transition), color var(--transition);padding:12px 28px;font-size:.8125rem;text-decoration:none;display:inline-block}.service-cta a:hover{background:var(--color-accent-light)}.intro-content{gap:var(--space-xl);margin-bottom:var(--space-2xl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.intro-content>*,.attraction-item>*{min-width:0}@media (width<=768px){.intro-content{grid-template-columns:1fr}}.intro-text h2{font-family:var(--font-serif);letter-spacing:.1em;margin-bottom:var(--space-md);color:var(--color-accent-light);font-size:1.25rem}.intro-text p,.intro-text .intro-body{color:var(--color-text-muted);font-size:.9375rem;line-height:1.8}.intro-admin-hint{color:var(--color-text-muted);opacity:.9;margin-top:var(--space-sm);font-size:.8125rem;line-height:1.6}.intro-image{aspect-ratio:4/3;background:var(--color-border);overflow:hidden}.intro-image img{object-fit:cover;width:100%;height:100%;display:block}.attraction-item{gap:var(--space-xl);padding:var(--space-xl) 0;border-bottom:1px solid var(--color-border);grid-template-columns:320px 1fr;display:grid}@media (width<=768px){.attraction-item{grid-template-columns:1fr}}.attraction-image{aspect-ratio:4/3;background:var(--color-border);overflow:hidden}.attraction-image img{object-fit:cover;width:100%;height:100%;display:block}.attraction-info h3{font-family:var(--font-serif);letter-spacing:.08em;margin-bottom:var(--space-sm);color:var(--color-accent-light);font-size:1.125rem;font-weight:700}.attraction-meta{color:var(--color-text-muted);margin-bottom:var(--space-sm);font-size:.8125rem}.attraction-meta span{margin-right:var(--space-md)}@media (width<=768px){.attraction-meta{gap:4px;display:grid}.attraction-meta span{margin-right:0}}.attraction-description{color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.9375rem;line-height:1.8}.attraction-link{letter-spacing:.08em;background:var(--color-accent);color:var(--color-dark);transition:background var(--transition);padding:8px 16px;font-size:.8125rem;text-decoration:none;display:inline-block}.attraction-link:hover{background:var(--color-accent-light)}.map-container{aspect-ratio:16/9;background:var(--color-border);margin:var(--space-lg) 0;overflow:hidden}.map-container img{object-fit:cover;width:100%;height:100%;display:block}.map-container iframe{border:0;width:100%;height:100%;min-height:280px;display:block}.related-links{background:var(--color-bg-alt);padding:var(--space-xl);text-align:center}.related-links a{color:var(--color-accent);margin:0 var(--space-md);letter-spacing:.08em;font-size:.9375rem;text-decoration:none}.related-links a:hover{text-decoration:underline}.news-section{max-width:1100px;padding:var(--space-xl) var(--space-lg);margin:0 auto}.news-list{gap:0;display:grid}.news-item{gap:var(--space-xl);padding:var(--space-xl) 0;border-bottom:1px solid var(--color-border);color:inherit;transition:background var(--transition);grid-template-columns:320px 1fr;text-decoration:none;display:grid}.news-cover,.news-content{min-width:0}@media (width<=768px){.news-item{grid-template-columns:1fr}}.news-item:hover{background:#c9a04a0f}.news-cover{aspect-ratio:16/9;background:var(--color-border);overflow:hidden}.news-cover img{object-fit:cover;filter:saturate(.9)contrast(1.03);width:100%;height:100%;display:block}.news-content h3{font-family:var(--font-serif);letter-spacing:.05em;margin-bottom:var(--space-sm);color:var(--color-accent-light);overflow-wrap:anywhere;word-break:break-word;font-size:1.125rem;font-weight:700}.news-excerpt{color:var(--color-text-muted);margin-bottom:var(--space-sm);overflow-wrap:anywhere;word-break:break-word;font-size:.9375rem;line-height:1.7}.news-meta{gap:var(--space-md);color:var(--color-text-muted);overflow-wrap:anywhere;word-break:break-word;flex-wrap:wrap;font-size:.8125rem;display:flex}.news-lang{background:var(--color-bg-alt);padding:2px 8px;font-size:.75rem}.news-read-more{margin-top:var(--space-sm);letter-spacing:.04em;text-underline-offset:3px;font-size:.8125rem;display:inline-block}.news-empty{padding:var(--space-xl) var(--space-md);text-align:center;color:var(--color-text-muted)}.news-pagination{margin-top:var(--space-xl);justify-content:center;display:flex}.news-pagination-nav{flex-wrap:wrap;align-items:center;gap:.625rem;padding:0;display:inline-flex}.news-pagination-link{border:1px solid var(--color-border);min-width:2.5rem;height:2.5rem;color:var(--color-text);letter-spacing:.02em;cursor:pointer;appearance:none;transition:color var(--transition), background var(--transition), border-color var(--transition), transform var(--transition);background:0 0;justify-content:center;align-items:center;padding:0 .875rem;font-family:inherit;font-size:.875rem;text-decoration:none;display:inline-flex}.news-pagination-link:hover{border-color:var(--color-accent);background:#c9a04a14}.news-pagination-link:focus-visible{outline:none;box-shadow:0 0 0 2px #c9a04a6b}.news-pagination-link.is-current,.news-pagination-link[aria-current=page]{color:var(--color-dark);background:var(--color-accent);border-color:var(--color-accent);cursor:default;font-weight:600}.news-pagination-link.is-disabled{color:var(--color-text-muted);background:var(--color-bg-alt);border-color:var(--color-border);opacity:.45;pointer-events:none;cursor:not-allowed}.article-section{max-width:1100px;padding:var(--space-xl) var(--space-lg);margin:0 auto;padding-top:5.5rem}.legal-article-section{padding-top:8.5rem}.article-header{margin-bottom:var(--space-xl)}.article-meta{gap:var(--space-md);margin-bottom:var(--space-md);color:var(--color-text-muted);font-size:.8125rem;display:flex}.article-lang{background:var(--color-bg-alt);padding:2px 8px;font-size:.75rem}.article-header h1{font-family:var(--font-serif);letter-spacing:.08em;color:var(--color-accent-light);overflow-wrap:anywhere;word-break:break-word;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.4}.article-subtitle{margin:var(--space-xs) 0 0;color:var(--color-text-muted);font-size:.875rem}.article-hero{aspect-ratio:16/9;background:var(--color-border);margin-bottom:var(--space-xl);overflow:hidden}.article-hero img{object-fit:cover;filter:saturate(.9)contrast(1.03);width:100%;height:100%;display:block}.article-content{color:var(--color-text-muted);overflow-wrap:anywhere;word-break:break-word;font-size:.9375rem;line-height:1.9}.article-content>:first-child{margin-top:0}.article-content p{margin-bottom:var(--space-lg)}.article-content .rules-summary{gap:var(--space-xs);margin-bottom:var(--space-xl);display:grid}.article-content .rules-summary p{margin-bottom:0}.article-content h1,.article-content h2{font-family:var(--font-serif);letter-spacing:.08em;margin:var(--space-xl) 0 var(--space-md);color:var(--color-accent-light);overflow-wrap:anywhere;word-break:break-word;font-weight:700;line-height:1.35}.article-content h1{font-size:clamp(1.5rem,3vw,2.25rem)}.article-content h2{font-size:1.5rem}.article-content h3{font-family:var(--font-serif);letter-spacing:.06em;margin:var(--space-lg) 0 var(--space-sm);color:var(--color-accent-light);overflow-wrap:anywhere;word-break:break-word;font-size:1.25rem;font-weight:700;line-height:1.4}.article-content h4,.article-content h5,.article-content h6{margin:var(--space-md) 0 var(--space-xs);color:var(--color-text);overflow-wrap:anywhere;word-break:break-word;font-size:1rem;font-weight:600;line-height:1.45}.article-content ul,.article-content ol{margin:var(--space-md) 0 var(--space-md) 1.5rem}.article-content ul{list-style:outside}.article-content ol{list-style:decimal}.article-content li{margin-bottom:var(--space-xs);overflow-wrap:anywhere;word-break:break-word}.article-content img{max-width:100%;height:auto;margin:var(--space-lg) 0;display:block}.article-content blockquote{margin:var(--space-lg) 0;padding:var(--space-sm) var(--space-md);border-left:4px solid var(--color-accent);color:var(--color-text);background:#c9a04a14}.article-content hr{margin:var(--space-xl) 0;border:0;border-top:1px solid var(--color-border)}.article-content table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.article-content th,.article-content td{border:1px solid var(--color-border);vertical-align:top;padding:.5rem .75rem}.article-content a{color:var(--color-accent-light);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:3px;overflow-wrap:anywhere;word-break:break-word;transition:color var(--transition), text-decoration-color var(--transition)}.article-content a:hover{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent-light);text-decoration-color:var(--color-accent-light)}.join-us-content{max-width:820px;margin:0 auto var(--space-lg)}.join-us-content p{letter-spacing:.04em;color:var(--color-text-muted)}.join-us-content p:last-child{margin-bottom:0}.join-us-panel>.contact-form{max-width:820px;margin:0 auto}.contact-form-intro{max-width:none;margin:0 0 var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.contact-info-panel{max-width:820px;margin-left:auto;margin-right:auto}.contact-info-content p{letter-spacing:.04em;color:var(--color-text-muted)}.contact-info-content p:last-child{margin-bottom:0}.back-link{margin-bottom:var(--space-lg);letter-spacing:.05em;color:var(--color-accent);border-bottom:1px solid var(--color-accent);font-size:.875rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-accent-light);border-bottom-color:var(--color-accent-light)}.related-news{background:var(--color-bg-alt);padding:var(--space-xl);margin-top:var(--space-2xl);border:1px solid var(--color-border)}.related-news h2{font-family:var(--font-serif);letter-spacing:.1em;margin-bottom:var(--space-lg);color:var(--color-accent-light);font-size:1.25rem}.related-list{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.related-item{background:var(--color-cream);padding:var(--space-md);border:1px solid var(--color-border);min-width:0}.related-item a{color:var(--color-text);text-decoration:none}.related-item a:hover{color:var(--color-accent-light)}.related-item h3{margin-bottom:var(--space-xs);overflow-wrap:anywhere;word-break:break-word;font-size:.9375rem;font-weight:500}.related-item p{color:var(--color-text-muted);overflow-wrap:anywhere;word-break:break-word;font-size:.8125rem}.guest-portal-page--success{flex-direction:column;min-height:100svh;display:flex}.guest-portal-page--success .content-section{flex-direction:column;flex:1;justify-content:center;display:flex}.guest-portal-success-message{letter-spacing:.05em;color:var(--color-text);margin:0;font-size:1rem}.contact-section{max-width:1100px;padding:var(--space-xl) var(--space-lg);margin:0 auto}.contact-form{background:var(--color-cream);border:1px solid var(--color-border);padding:var(--space-xl);margin-bottom:var(--space-xl)}.account-panel__inner .contact-form.account-profile-form{background:0 0;border:0;margin-bottom:0;padding:0}.form-group{margin-bottom:var(--space-lg)}.form-group label{margin-bottom:var(--space-xs);letter-spacing:.05em;color:var(--color-text);font-size:.8125rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;font-family:var(--font-sans);color:#1a1a1a;background:#fff;border:1px solid #c9a04a52;padding:12px 14px;font-size:.9375rem}.contact-form .form-group input,.contact-form .form-group select,.contact-form .form-group textarea{color:#222}.contact-form .form-group input::placeholder,.contact-form .form-group textarea::placeholder{color:#7a7a7a;opacity:1}.contact-form .form-group select option{color:#222}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #c9a04a38}.form-group textarea{resize:vertical;min-height:160px}.phone-input-row{align-items:center;gap:12px;display:flex}.phone-input-row select{flex:0 0 200px;width:200px}.phone-input-row input{flex:auto;min-width:0}@media (width<=640px){.contact-section{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.contact-form{padding:var(--space-md) var(--space-sm)}.phone-input-row{align-items:stretch;gap:var(--space-sm);flex-direction:column}.phone-input-row select,.phone-input-row input{flex:auto;width:100%}}.time-input-row{align-items:center;gap:12px;display:flex}.contact-form .time-input-row select,.form-group .time-input-row select{flex:0 0 5.5rem;width:5.5rem;min-width:5.5rem;max-width:5.5rem;margin:0}.time-input-row__sep{color:var(--color-text);flex:none;font-size:1.125rem;font-weight:600;line-height:1}@media (width<=480px){.time-input-row{gap:8px}.contact-form .time-input-row select,.form-group .time-input-row select{flex-basis:4.5rem;width:4.5rem;min-width:4.5rem;max-width:4.5rem}}.contact-form .form-secondary-button{font-family:var(--font-sans);letter-spacing:.05em;background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);padding:10px 18px;font-size:.875rem}.contact-form .form-secondary-button:hover{background:var(--color-border);border-color:var(--color-text-muted);color:var(--color-text)}.companion-import__picker select{width:100%}.companion-import__tags{min-height:42px;margin-top:var(--space-sm);background:var(--color-bg-alt);border:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.companion-import__tags-empty{color:var(--color-text-muted);font-size:.875rem}.companion-import__tag{max-width:100%;color:var(--color-text);background:var(--color-cream);border:1px solid var(--color-border);align-items:center;gap:4px;padding:4px 6px 4px 10px;font-size:.875rem;line-height:1.25;display:inline-flex}.companion-import__tag>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.companion-import__tag-remove{width:18px;height:18px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.companion-import__tag-remove:hover{color:var(--color-text)}.companion-import__actions{margin-top:var(--space-sm);justify-content:flex-end;display:flex}.form-group small{color:var(--color-text-muted);margin-top:4px;font-size:.75rem;display:block}.contact-form .form-message{border:1px solid;padding:12px 14px;font-size:.875rem;line-height:1.5}.contact-form .form-message-success{color:#0f5132;background:#d1e7dd;border-color:#badbcc}.contact-form .form-error-message{color:#c62828;font-weight:500}.checkbox-group{align-items:flex-start;gap:var(--space-sm);display:flex}.checkbox-group input[type=checkbox]{width:auto;margin-top:4px}.checkbox-group label{font-weight:400}.captcha-area{padding:var(--space-lg);margin:var(--space-lg) 0;text-align:center;border:1px dashed var(--color-border);color:var(--color-text-muted);background:#c9a04a0f;font-size:.8125rem}.submit-button{width:100%;font-family:var(--font-sans);letter-spacing:.1em;background:var(--color-accent);color:var(--color-dark);cursor:pointer;transition:background var(--transition);border:none;padding:16px;font-size:.9375rem}.submit-button:hover{background:var(--color-accent-light)}.contact-info{background:var(--color-bg-alt);padding:var(--space-xl);text-align:center}.contact-info h2{font-family:var(--font-serif);letter-spacing:.1em;margin-bottom:var(--space-md);color:var(--color-accent-light);font-size:1.125rem}.contact-info p{color:var(--color-text-muted);margin-bottom:var(--space-xs);font-size:.9375rem}.faq-section{max-width:1100px;padding:var(--space-xl) var(--space-lg);margin:0 auto}.faq-category{margin-bottom:var(--space-xl)}.faq-category h2{font-family:var(--font-serif);letter-spacing:.1em;margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);color:var(--color-accent-light);font-size:1.25rem;font-weight:700}.faq-item{border:1px solid var(--color-border);margin-bottom:var(--space-sm);background:var(--color-cream)}.faq-question{padding:var(--space-md) var(--space-lg);cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--color-text);transition:background var(--transition);font-size:.9375rem;font-weight:500;display:flex}.faq-question-text{overflow-wrap:anywhere;word-break:break-word;flex:auto;min-width:0}.faq-question:hover{background:#c9a04a0f}.faq-question:after{content:"+";color:var(--color-accent);font-size:1.25rem;font-weight:300}.faq-question.active:after{content:"−"}.faq-answer{padding:0 var(--space-lg);overflow-wrap:anywhere;word-break:break-word;white-space:normal;max-height:0;transition:max-height .3s,padding .3s;overflow:hidden}.faq-answer.active{padding:var(--space-md) var(--space-lg) var(--space-lg);max-height:1200px}.faq-answer p,.faq-answer ul,.faq-answer ol{color:var(--color-text-muted);font-size:.9375rem;line-height:1.8}.faq-answer>*,.faq-answer p,.faq-answer div,.faq-answer span,.faq-answer li{overflow-wrap:anywhere;word-break:break-word}.faq-answer ul,.faq-answer ol{margin:var(--space-sm) 0 var(--space-sm) 1.5rem}.faq-answer ul{list-style:outside}.faq-answer ol{list-style:decimal}.faq-answer li{margin-bottom:var(--space-xs);overflow-wrap:anywhere;word-break:break-word}.faq-answer a{color:var(--color-accent-light);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:3px;overflow-wrap:anywhere;word-break:break-word;transition:color var(--transition), text-decoration-color var(--transition)}.faq-answer a:hover{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent-light);text-decoration-color:var(--color-accent-light)}.booking-section{background:var(--color-cream);border:1px solid var(--color-border);padding:var(--space-xl);margin-bottom:var(--space-xl)}@media (width<=600px){.booking-section{padding:var(--space-md)}}.booking-section h2,.booking-section__title{font-family:var(--font-serif);letter-spacing:.06em;margin-bottom:var(--space-md);color:var(--color-accent-light);font-size:1.25rem;font-weight:700}.booking-section__title{text-align:left;scroll-margin-top:5.5rem}.booking-toolbar{gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-md);background:var(--color-bg-alt);border:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}@media (width<=600px){.booking-toolbar{gap:var(--space-sm);padding:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.booking-field--total{grid-column:1/-1}}.booking-field{flex-direction:column;gap:4px;min-width:0;display:flex}.booking-field>span{letter-spacing:.06em;color:var(--color-text-muted);font-size:.75rem}.booking-field>strong{color:var(--color-text);overflow-wrap:anywhere;font-size:1rem;font-weight:500}.booking-field--total>strong{color:var(--color-accent-light);font-size:1.125rem}.booking-field select{background:var(--color-bg);width:100%;color:var(--color-text);border:1px solid var(--color-border);font-family:var(--font-sans);padding:8px 10px;font-size:.9375rem}.booking-field select:focus{border-color:var(--color-accent);outline:none}.booking-guest-hint{color:var(--color-accent-light);flex-direction:column;grid-column:1/-1;align-items:flex-start;gap:2px;font-size:.75rem;font-weight:500;line-height:1.5;display:flex}.booking-guest-hint a{color:inherit;text-underline-offset:2px;text-decoration:underline}.booking-guest-hint a:hover{color:var(--color-text)}.booking-price-summary{margin-bottom:var(--space-md);border:1px solid var(--color-border);background:var(--color-bg-alt);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.booking-price-item{padding:var(--space-md);border-right:1px solid var(--color-border);flex-direction:column;gap:6px;display:flex}.booking-price-item:last-child{border-right:0}.booking-price-item>span{color:var(--color-text-muted);letter-spacing:.04em;font-size:.75rem}.booking-price-item>strong{color:var(--color-text);font-size:1rem;font-weight:500}.booking-price-item--total{background:#c9a04a1f}.booking-price-item--total>strong{color:var(--color-accent-light);font-size:1.125rem}@media (width<=600px){.booking-price-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-price-item:nth-child(2){border-right:0}.booking-price-item:nth-child(-n+2){border-bottom:1px solid var(--color-border)}}.booking-hint{color:var(--color-text-muted);margin-bottom:var(--space-sm);font-size:.8125rem}.booking-hint--warning{color:#9a3412;margin-bottom:var(--space-sm);background:#fff7ed;border:1px solid #fed7aa;padding:10px 12px;line-height:1.5}.booking-message{margin-bottom:var(--space-md);border:1px solid;padding:12px 14px;font-size:.875rem;line-height:1.6}.booking-message--success{color:#0f5132;background:#d1e7dd;border-color:#badbcc}.booking-calendar-nav{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-sm);background:var(--color-bg-alt);border:1px solid var(--color-border);display:flex}.booking-calendar-nav-btn{border:1px solid var(--color-border);background:var(--color-bg);width:36px;height:36px;color:var(--color-text);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);justify-content:center;align-items:center;font-size:1.125rem;display:inline-flex}.booking-calendar-nav-btn:hover:not(:disabled){background:var(--color-cream);border-color:var(--color-accent);color:var(--color-accent)}.booking-calendar-nav-btn:disabled{opacity:.35;cursor:not-allowed}.booking-calendar-nav-label{font-family:var(--font-serif);letter-spacing:.06em;color:var(--color-accent-light);text-align:center;overflow-wrap:anywhere;flex:auto;min-width:0;font-size:.9375rem}.booking-calendar{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=767px){.booking-calendar{gap:var(--space-sm);grid-template-columns:1fr}}.booking-month{border:1px solid var(--color-border);background:var(--color-bg-alt);padding:var(--space-sm);min-width:0}.booking-month-title{font-family:var(--font-serif);letter-spacing:.08em;text-align:center;color:var(--color-accent-light);border-bottom:1px solid var(--color-border);margin-bottom:6px;padding:6px 0 10px;font-size:1rem}.booking-weekday-row,.booking-day-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.booking-weekday{text-align:center;color:var(--color-text-muted);padding:4px 0;font-size:.6875rem}.booking-day-cell{aspect-ratio:1/1.05;min-width:0;overflow:hidden}.booking-day{width:100%;height:100%;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);cursor:pointer;min-width:0;transition:background var(--transition), border-color var(--transition), color var(--transition);border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;display:flex;overflow:hidden}.booking-day-num{font-size:.875rem;font-weight:500;line-height:1}.booking-day-price{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.625rem;line-height:1;overflow:hidden}@media (width<=600px){.booking-day{gap:1px;padding:1px}.booking-day-num{font-size:.8125rem}.booking-day-price{font-size:.5625rem}}.booking-day.is-selectable:hover{border-color:var(--color-accent);background:var(--color-cream)}.booking-day.is-selectable:hover .booking-day-price{color:var(--color-text)}.booking-day.is-past,.booking-day.is-soldout,.booking-day.is-disabled{cursor:not-allowed;color:#b0b0b066;background:0 0}.booking-day.is-past .booking-day-price,.booking-day.is-soldout .booking-day-price,.booking-day.is-disabled .booking-day-price{color:#b0b0b059}.booking-day.is-checkin,.booking-day.is-checkout{background:var(--color-accent);color:var(--color-dark);border-color:var(--color-accent)}.booking-day.is-checkin .booking-day-price,.booking-day.is-checkout .booking-day-price{color:var(--color-dark)}.booking-day.is-inrange{color:var(--color-text);background:#c9a04a2e;border-color:#c9a04a59}.booking-day.is-inrange .booking-day-price{color:var(--color-text)}.booking-day.is-checkout-candidate{border-color:var(--color-accent);color:var(--color-text)}.booking-day.is-checkout-candidate .booking-day-price{color:var(--color-accent);letter-spacing:.02em;font-size:.5625rem}.booking-legend{gap:var(--space-md);color:var(--color-text-muted);margin:var(--space-md) 0 var(--space-md);flex-wrap:wrap;font-size:.75rem;display:flex}@media (width<=600px){.booking-legend{gap:var(--space-sm);font-size:.6875rem}}.booking-legend .dot{vertical-align:middle;border:1px solid var(--color-border);width:10px;height:10px;margin-right:6px;display:inline-block}.booking-legend .dot--available{background:var(--color-bg)}.booking-legend .dot--selected{background:var(--color-accent);border-color:var(--color-accent)}.booking-legend .dot--inrange{background:#c9a04a2e;border-color:#c9a04a59}.booking-legend .dot--disabled{background:0 0;border-style:dashed}.booking-submit-row{justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.booking-submit{letter-spacing:.12em;cursor:pointer;min-width:200px;font-size:.8125rem;font-family:var(--font-sans);transition:background var(--transition), border-color var(--transition), color var(--transition);border:1px solid #0000;padding:14px 28px}.booking-submit:disabled{opacity:.5;cursor:not-allowed}.contact-form .form-actions .cta-button.dark.booking-submit{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.contact-form .form-actions .cta-button.dark.booking-submit:hover{background:var(--color-accent-light);border-color:var(--color-accent-light);color:#1a1a1a}.booking-submit--reset{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.booking-submit--reset:hover{border-color:var(--color-accent);color:var(--color-accent)}@media (width<=600px){.booking-submit-row{flex-direction:column;width:100%}.booking-submit{width:100%;min-width:0}}[x-cloak]{display:none!important}.account-section{max-width:1280px;padding:var(--space-xl) var(--space-md);margin:0 auto}.account-layout{gap:var(--space-lg);grid-template-columns:minmax(0,176px) minmax(0,1fr);align-items:start;display:grid}@media (width>=1024px){.account-section{max-width:1320px;padding-left:var(--space-sm);padding-right:var(--space-md)}.account-layout{gap:var(--space-xl);grid-template-columns:minmax(0,168px) minmax(0,1fr)}}.account-nav-wrap,.account-nav-scroll{min-width:0}.account-nav-arrow{display:none}.account-nav{gap:var(--space-xs);padding:var(--space-md);background:var(--color-cream);border:1px solid var(--color-border);flex-direction:column;display:flex}.account-nav__btn{text-align:left;width:100%;font-family:var(--font-sans);letter-spacing:.06em;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:var(--radius);background:0 0;border:1px solid #0000;padding:12px 14px;font-size:.875rem;display:block}.account-nav__btn:hover{color:var(--color-accent-light);background:#c9a04a14}.account-nav__btn.is-active{color:var(--color-dark);border-color:var(--color-accent);background:var(--color-accent)}.account-panel{min-width:0}.account-panel__inner{background:var(--color-cream);border:1px solid var(--color-border);padding:var(--space-xl);min-height:280px}@media (width<=640px){.account-panel__inner{padding:var(--space-md) var(--space-sm)}}.account-panel__title{font-family:var(--font-serif);letter-spacing:.06em;margin-bottom:var(--space-lg);color:var(--color-accent-light);font-size:1.125rem;font-weight:700}.account-placeholder{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.9375rem}.account-payment-actions{margin-bottom:var(--space-lg)}.account-add-payment{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.stripe-card-fields{grid-template-columns:minmax(0,2.1fr) minmax(130px,1fr) minmax(110px,1fr);gap:14px;display:grid}.payment-for-card-fields{grid-template-columns:minmax(0,2fr) minmax(150px,1fr) minmax(110px,1fr);gap:14px;display:grid}.payment-for-card-field label{color:var(--color-text-muted);margin-bottom:6px;font-size:.8125rem;display:block}.payment-for-card-field input{background:#fff;border:1px solid #0000;width:100%;min-height:56px;padding:18px 16px;transition:border-color .2s,box-shadow .2s}.payment-for-card-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent);outline:none}.payment-for-card-expiry{align-items:center;gap:8px;display:flex}.payment-for-card-expiry input{flex:1 1 0;min-width:0}.payment-for-card-field--name{grid-column:1/-1}.stripe-card-field{background:#fff;border:1px solid #0000;min-height:56px;padding:18px 16px;transition:border-color .2s,box-shadow .2s}.stripe-card-field.is-focused{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.stripe-card-field.is-invalid{border-color:#dc2626;box-shadow:0 0 0 1px #dc2626}.booking-default-payment{margin-bottom:var(--space-lg);padding:var(--space-md);border:1px solid var(--color-border)}.booking-default-payment__card{margin:var(--space-sm) 0;font-size:.9375rem}.booking-default-payment__exp{color:var(--color-text-muted)}.payment-method-list__item{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.payment-method-list__card{flex:1;min-width:0}.payment-method-list__exp{color:var(--color-text-muted)}.payment-method-list__badge{letter-spacing:.04em;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);margin-left:.5em;padding:.15em .5em;font-size:.75rem;display:inline-block}.payment-method-list__actions{align-items:center;gap:var(--space-md);flex-shrink:0;display:flex}.payment-method-list__set-default,.payment-method-list__delete{color:var(--color-text-muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;text-decoration:underline}.payment-method-list__set-default:hover,.payment-method-list__delete:hover{color:var(--color-text)}.payment-method-list__set-default:disabled,.payment-method-list__delete:disabled{opacity:.5;cursor:not-allowed}@media (width<=767px){.stripe-card-fields{grid-template-columns:1fr;gap:10px}.stripe-card-field{min-height:52px;padding:16px 14px}.payment-for-card-fields{grid-template-columns:1fr;gap:10px}.payment-for-card-field input{min-height:52px;padding:16px 14px}}.orders-section{max-width:1400px;padding:var(--space-xl) var(--space-lg);margin:0 auto}.orders-panel{background:var(--color-cream);border:1px solid var(--color-border);padding:var(--space-xl)}.orders-panel__title{font-family:var(--font-serif);letter-spacing:.06em;margin-bottom:var(--space-md);color:var(--color-accent-light);font-size:1.125rem;font-weight:700}.orders-search{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.orders-search__label{letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-xs);font-size:.8125rem;display:block}.orders-search__row{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.orders-search__input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);min-width:0;color:var(--color-text);letter-spacing:.02em;flex:220px;padding:10px 12px;font-family:inherit;font-size:.9375rem}.orders-search__input::placeholder{color:var(--color-text-muted);opacity:.85}.orders-search__input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #c9a04a4d}.orders-search__clear{letter-spacing:.12em;flex:none;padding:10px 18px;font-size:.75rem}.orders-table-wrap{-webkit-overflow-scrolling:touch;margin-bottom:var(--space-lg);overflow-x:auto}.orders-table{border-collapse:collapse;width:100%;min-width:1080px;color:var(--color-text);font-size:.9375rem}.orders-table thead th:first-child,.orders-table thead th:nth-child(5),.orders-table thead th:nth-child(6),.orders-table tbody td:first-child,.orders-table tbody td:nth-child(5),.orders-table tbody td:nth-child(6){white-space:nowrap}.orders-table thead th{letter-spacing:.05em;color:var(--color-text-muted);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 12px;font-size:.8125rem;font-weight:500}.orders-table tbody td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:14px 12px}.orders-table tbody tr:last-child td{border-bottom:none}.orders-table__order-no,.orders-card__order-no{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.875rem}.orders-order-link{color:var(--color-text);text-underline-offset:3px;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.875rem;text-decoration:underline}.orders-order-link:hover{color:var(--color-accent-dark)}.orders-card__order-no{font-weight:600;display:block}.orders-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.orders-actions__empty{color:var(--color-text-muted)}.orders-action-btn{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);letter-spacing:.06em;white-space:nowrap;cursor:pointer;transition:color var(--transition), background var(--transition), border-color var(--transition);padding:6px 12px;font-size:.75rem}.orders-action-btn--pay{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-dark)}.orders-action-btn--pay:hover{border-color:var(--color-accent-dark);background:var(--color-accent-dark);color:var(--color-text)}.orders-action-btn--cancel{color:#805252;border-color:#80525259}.orders-action-btn--cancel:hover{background:#80525214;border-color:#805252}.orders-status{border:1px solid var(--color-accent);color:var(--color-accent-light);white-space:nowrap;background:#c9a04a29;border-radius:999px;align-items:center;padding:4px 10px;font-size:.8125rem;display:inline-flex}.orders-status--completed{border-color:var(--color-border);color:var(--color-text-muted);background:var(--color-bg-alt)}.orders-status--cancelled{color:#805252;background:#80525214;border-color:#8052524d}.orders-amount{white-space:nowrap;display:block}.orders-payment{color:var(--color-text-muted);white-space:nowrap;margin-top:3px;font-size:.8125rem;display:block}.orders-detail{color:var(--color-text);letter-spacing:.08em;text-underline-offset:3px;white-space:nowrap;font-size:.8125rem}.orders-detail:hover{color:var(--color-accent-dark)}.orders-card-list{display:none}.orders-card{border:1px solid var(--color-border);background:var(--color-bg);padding:var(--space-md)}.orders-card+.orders-card{margin-top:var(--space-md)}.orders-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);display:flex}.orders-card__label{color:var(--color-text-muted);letter-spacing:.08em;margin-bottom:4px;font-size:.75rem;display:block}.orders-card__list{gap:var(--space-sm);margin:var(--space-md) 0;display:grid}.orders-card__list div{gap:var(--space-sm);grid-template-columns:88px minmax(0,1fr);display:grid}.orders-card__list dt{color:var(--color-text-muted);font-size:.8125rem}.orders-card__list dd{min-width:0;color:var(--color-text)}.orders-card__actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.orders-card__actions .orders-action-btn{flex:auto;min-height:44px;padding:10px 14px;font-size:.8125rem}@media (width<=767px){.orders-section,.orders-panel{padding:var(--space-lg) var(--space-md)}.orders-table-wrap{display:none}.orders-card-list{margin-bottom:var(--space-lg);display:block}}.vote-records{min-width:0}.vote-records-actions{justify-content:flex-end;margin-bottom:6px;display:flex}.vote-records-actions .cta-button{letter-spacing:.12em;padding:10px 18px;font-size:.75rem}@media (width<=767px){.vote-records-actions{margin-top:var(--space-sm);justify-content:center}}.vote-records-wrap{-webkit-overflow-scrolling:touch;margin-bottom:var(--space-lg);overflow-x:auto}.vote-records-table{border-collapse:collapse;width:100%;min-width:280px;color:var(--color-text);font-size:.9375rem}.vote-records-table thead th{letter-spacing:.05em;color:var(--color-text-muted);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 12px;font-size:.8125rem;font-weight:500}.vote-records-table tbody td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:12px}.vote-records-table tbody tr:last-child td{border-bottom:none}@media (width<=767px){.account-layout{gap:var(--space-md);grid-template-columns:1fr}.account-nav-scroll{position:relative}.account-nav-arrow{z-index:3;pointer-events:none;opacity:0;justify-content:center;align-items:center;width:28px;transition:opacity .25s;display:flex;position:absolute;top:0;bottom:0}.account-nav-arrow--prev{left:2px}.account-nav-arrow--next{right:2px}.account-nav-arrow:after{content:"";border-style:solid;border-color:var(--color-accent);width:9px;height:9px;display:block}.account-nav-arrow--prev:after{border-width:0 0 2px 2px;transform:rotate(45deg)}.account-nav-arrow--next:after{border-width:2px 2px 0 0;transform:rotate(45deg)}.account-nav-scroll.is-scrollable:not(.is-at-start) .account-nav-arrow--prev,.account-nav-scroll.is-scrollable:not(.is-at-end) .account-nav-arrow--next{opacity:.95}.account-nav{gap:var(--space-xs);padding:var(--space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;overflow:auto hidden}.account-nav__btn{white-space:nowrap;flex:none;width:auto;min-height:44px;padding:10px 16px}}@media (width<=768px){.content-section,.services-section,.news-section,.article-section,.contact-section,.account-section,.orders-section{padding-left:var(--space-sm);padding-right:var(--space-sm)}.description,.facilities,.service-card .body,.contact-form,.booking-section,.orders-panel,.account-panel{padding-left:var(--space-md);padding-right:var(--space-md)}}@media (width<=480px){.description,.facilities,.service-card .body,.contact-form,.booking-section,.orders-panel,.account-panel{padding-left:var(--space-sm);padding-right:var(--space-sm)}}
