:root{--bg: #faf7f2;--bg-2: #f3eee6;--surface: #ffffff;--surface-2: #f7f3ed;--surface-3: #ebe4d9;--line: rgba(40, 30, 18, .08);--line-2: rgba(40, 30, 18, .15);--text: #1d1915;--muted: #6b6258;--faint: #9f968a;--gold: #94703c;--gold-2: #7a5a2c;--gold-fill: #d9bd8c;--on-gold: #1d1915;--gold-soft: rgba(176, 138, 82, .12);--green: #2e8a55;--amber: #a86a12;--red: #c4503f;--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 18px;--radius-sm: 12px;--radius-lg: 28px;--shadow: 0 24px 50px -24px rgba(70, 48, 20, .22);--ease: cubic-bezier(.22, 1, .36, 1);--nav-h: 76px;--gutter: clamp(16px, 4vw, 40px)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}::selection{background:var(--gold-fill);color:var(--on-gold)}h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.1}p{margin:0}ul{list-style:none;margin:0;padding:0}em{font-style:italic;color:var(--gold)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--gutter)}.section{padding:clamp(72px,10vw,128px) 0}.section-tight{padding:clamp(40px,6vw,72px) 0}.section-alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mt{margin-top:24px}.muted{color:var(--muted)}.gold{color:var(--gold)}.center{text-align:center}.grid{display:grid;gap:24px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}.display-1{font-family:var(--font-display);font-weight:400;font-size:clamp(48px,8vw,112px);line-height:.95;letter-spacing:-.02em}.display-1.sm{font-size:clamp(42px,6.5vw,84px)}.display-2{font-family:var(--font-display);font-weight:400;font-size:clamp(36px,5vw,64px);line-height:1.02;letter-spacing:-.015em}.display-3{font-family:var(--font-display);font-weight:500;font-size:clamp(26px,3vw,34px);line-height:1.1}.lead{font-size:clamp(16px,1.4vw,18px);color:var(--muted);max-width:620px;margin-top:18px}.hint{font-size:13px;color:var(--muted);margin-top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 26px;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:.01em;white-space:nowrap;transition:transform .3s var(--ease),background .3s,border-color .3s,color .3s,opacity .3s}.btn:active:not(:disabled){transform:scale(.98)}.btn-sm{height:40px;padding:0 18px;font-size:14px}.btn-block{width:100%}.btn-primary{background:linear-gradient(135deg,#e8d2a8,#d4b483 45%,#c09a5e);color:var(--on-gold);box-shadow:0 10px 26px -12px #966e328c}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 32px -12px #966e3299}.btn-primary:disabled{opacity:.45;box-shadow:none}.btn-ghost{border:1px solid var(--line-2);color:var(--text)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.btn-glass{background:#0c0b0a8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);color:#fff}.btn-danger{background:var(--red);color:#fff}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);color:var(--text);transition:background .25s,border-color .25s,color .25s,opacity .25s;flex-shrink:0}.icon-btn:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.icon-btn:disabled{opacity:.3}.icon-btn.sm{width:34px;height:34px}.icon-btn.danger:hover{border-color:var(--red);color:var(--red)}.text-btn{color:var(--gold);font-size:14px;font-weight:600;margin-left:10px;text-decoration:underline;text-underline-offset:3px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-top:20px;padding-bottom:4px}.chips-scroll::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap;transition:all .25s var(--ease)}button.chip:hover{color:var(--text);border-color:#b08a5273}.chip.is-active{background:var(--text);border-color:var(--text);color:var(--bg)}.chip.sm{height:30px;padding:0 12px;font-size:12px}.chip-glass{position:absolute;top:16px;left:16px;background:#0c0b0a8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:#ffffff26;color:#fff;height:30px;font-size:12px}.chip-count{font-size:11px;opacity:.7}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.stars{display:inline-flex;align-items:center;gap:5px;color:var(--gold);font-size:13px}.stars strong{color:var(--text);font-weight:600}.nav{position:fixed;inset:0 0 auto;z-index:50;height:var(--nav-h);transition:background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}.nav.is-solid{background:#faf7f2d9;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom-color:var(--line)}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-text{font-family:var(--font-display);font-size:24px;letter-spacing:.01em}.nav-links{display:flex;gap:6px}.nav-link{position:relative;padding:8px 16px;font-size:14px;font-weight:500;color:var(--muted);transition:color .25s}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active:after{content:"";position:absolute;left:50%;bottom:0;width:4px;height:4px;border-radius:50%;background:var(--gold);transform:translate(-50%)}.nav-actions{display:flex;align-items:center;gap:10px}.nav-bookings{position:relative;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:500;color:var(--muted);transition:color .25s,background .25s}.nav-bookings:hover,.nav-bookings.active{color:var(--gold);background:var(--gold-soft)}.badge-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--gold-fill);color:var(--on-gold);font-size:11px;font-weight:700}.show-mobile{display:none}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#faf7f2fa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;gap:40px;padding:0 32px}.mobile-menu nav{display:flex;flex-direction:column;gap:14px}.mobile-menu nav a{font-family:var(--font-display);font-size:42px;line-height:1.15}.mobile-close{position:absolute;top:16px;right:16px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(36px,5vw,56px)}.section-heading.is-center{justify-content:center;text-align:center}.section-heading.is-center .lead{margin-left:auto;margin-right:auto}.card{height:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .4s,box-shadow .4s}.card:hover{border-color:#b08a5259;box-shadow:var(--shadow)}.card-link{display:flex;flex-direction:column;height:100%}.card-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--surface-2)}.card-media.is-tall{aspect-ratio:4 / 5}.card-media>img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.card:hover .card-media>img{transform:scale(1.06)}.card-arrow{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold-fill);color:var(--on-gold);opacity:0;transform:scale(.8) rotate(-45deg);transition:all .4s var(--ease)}.card:hover .card-arrow{opacity:1;transform:scale(1) rotate(0)}.card-body{display:flex;flex-direction:column;gap:12px;padding:20px 22px 22px;flex:1}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-body h3{font-family:var(--font-display);font-size:28px;font-weight:500}.card-desc{font-size:14px;line-height:1.55}.meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:13px;color:var(--muted)}.meta-row span{display:inline-flex;align-items:center;gap:6px}.card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:13px;color:var(--muted)}.price strong{font-size:19px;font-weight:600;color:var(--text)}.price small{flex-basis:100%;font-size:12px;color:var(--faint)}.avail-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#2e8a5517;color:var(--green);font-size:12px;font-weight:600;white-space:nowrap}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #2e8a552e}.pg-overlay{position:absolute;inset:auto 0 0;display:flex;align-items:center;gap:12px;padding:60px 18px 18px;background:linear-gradient(180deg,transparent,rgba(12,11,10,.9))}.pg-overlay h3{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:24px;font-weight:500;color:#fff}.pg-overlay span{font-size:13px;color:#f3ece2bf}.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex-shrink:0}.work-tile{position:relative;display:block;width:100%;border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}.work-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s}.work-tile:hover img{transform:scale(1.05)}.work-caption{color:#fff;position:absolute;inset:auto 0 0;display:flex;flex-direction:column;align-items:flex-start;padding:40px 18px 16px;background:linear-gradient(180deg,transparent,rgba(12,11,10,.85));text-align:left;opacity:0;transform:translateY(10px);transition:all .45s var(--ease)}.work-tile:hover .work-caption,.work-tile:focus-visible .work-caption{opacity:1;transform:translateY(0)}.work-caption strong{font-family:var(--font-display);font-size:22px;font-weight:500}.work-caption small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#e8d2a8}.portfolio-masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:150px;grid-auto-flow:dense;gap:12px;margin-top:24px}.portfolio-masonry .work-tile{grid-row:span 2}.portfolio-masonry .r-landscape{grid-column:span 2}.page-hero{color:#fff;position:relative;min-height:clamp(420px,60vh,560px);display:flex;align-items:flex-end;padding:calc(var(--nav-h) + 40px) 0 56px;overflow:hidden}.page-hero-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.page-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#140f0a9e,#140f0a80,#140f0ab8)}.page-hero .eyebrow,.page-hero em{color:#e8d2a8}.page-hero .lead{color:#ffffffd9}.cover-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(20,15,10,.45) 0%,rgba(20,15,10,.2) 55%,var(--bg) 100%)}.page-hero-content{position:relative;z-index:1}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.toolbar-controls{display:flex;flex-wrap:wrap;gap:10px}.control{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);min-width:150px}.control span{display:inline-flex;align-items:center;gap:5px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.control select,.control input[type=date]{background:transparent;border:0;outline:0;font-size:14px;font-weight:500;color-scheme:light;padding:2px 0}.control select option{background:var(--surface)}.control input[type=range]{accent-color:var(--gold);margin:6px 0 2px}.search{display:flex;align-items:center;gap:10px;flex:1;min-width:240px;max-width:440px;height:52px;padding:0 10px 0 18px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);transition:border-color .25s}.search:focus-within{border-color:var(--gold)}.search input{flex:1;min-width:0;background:transparent;border:0;outline:0;font-size:15px;color:var(--text)}.result-count{margin:24px 0 20px;font-size:14px}.empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:64px 24px;text-align:center;border:1px dashed var(--line-2);border-radius:var(--radius-lg)}.empty h3{font-family:var(--font-display);font-size:30px}.detail{padding-top:calc(var(--nav-h) + 24px)}.detail:has(.profile-cover){padding-top:0}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);margin-bottom:20px;transition:color .25s}.back-link:hover{color:var(--gold)}.back-link.on-cover{position:relative;z-index:2;margin-top:-220px;padding:7px 14px;border-radius:999px;background:#140f0a80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff}.gallery-mosaic{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,clamp(180px,22vw,260px));gap:10px;border-radius:var(--radius-lg);overflow:hidden}.mosaic-item{overflow:hidden;background:var(--surface-2)}.mosaic-item img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s}.mosaic-item:hover img{transform:scale(1.05)}.m-0{grid-row:span 2}.mosaic-all{position:absolute;right:16px;bottom:16px;height:42px;font-size:13px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:clamp(32px,5vw,64px);margin-top:48px;align-items:start}.detail-main{min-width:0}.detail-aside{position:sticky;top:calc(var(--nav-h) + 20px);max-height:calc(100vh - var(--nav-h) - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;border-radius:var(--radius-lg)}.detail-aside::-webkit-scrollbar{width:6px}.detail-aside::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:6px}.detail-meta{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:14px;font-size:14px;color:var(--muted)}.detail-meta span{display:inline-flex;align-items:center;gap:6px}.spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:36px}.spec-grid>div{display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);min-width:0}.spec-grid strong{margin-top:10px;font-weight:600;font-size:16px}.spec-grid span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.detail-block{padding:44px 0;border-bottom:1px solid var(--line)}.detail-block:last-child{border-bottom:0}.detail-block>.muted{margin-top:14px}.detail-block h3{font-family:var(--font-display);font-size:26px;margin-bottom:18px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px}.check-list{display:grid;gap:12px}.check-list li{display:flex;align-items:flex-start;gap:10px;font-size:15px}.check-list svg{flex-shrink:0;margin-top:3px}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}.policy-grid h4{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;margin-bottom:8px}.policy-grid p{font-size:14px}.block-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.profile-cover{position:relative;height:clamp(320px,46vh,460px);overflow:hidden}.profile-cover img{width:100%;height:100%;object-fit:cover}.profile-head{position:relative;z-index:2;display:flex;align-items:flex-end;gap:28px;margin-top:70px}.profile-avatar{width:clamp(110px,14vw,160px);height:clamp(110px,14vw,160px);border-radius:50%;object-fit:cover;border:3px solid var(--gold);box-shadow:var(--shadow);flex-shrink:0}.profile-head h1{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.package-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}.package-card{display:flex;flex-direction:column;gap:6px;padding:26px;border-radius:var(--radius-lg);border:1px solid var(--line);background:linear-gradient(160deg,var(--surface-2),var(--surface))}.package-card h3{margin:0}.package-card strong{font-size:26px;font-weight:600}.package-card .check-list{margin-top:16px}.reviews{display:grid;gap:16px}.reviews blockquote{margin:0;padding:20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.reviews p{margin:10px 0 12px;font-size:15px}.reviews footer{display:flex;align-items:center;gap:10px;font-size:14px}.booking-panel{padding:26px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--shadow);scroll-margin-top:calc(var(--nav-h) + 16px)}.bp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}.bp-head .eyebrow{margin-bottom:6px}.bp-price strong{font-family:var(--font-display);font-size:38px;font-weight:500;line-height:1}.bp-price span,.bp-fullday span{font-size:13px;color:var(--muted)}.bp-fullday{display:flex;flex-direction:column;align-items:flex-end}.bp-fullday strong{font-size:17px;font-weight:600}.segmented{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-top:20px;padding:4px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}.segmented button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted);transition:color .3s}.segmented button.is-active{color:var(--on-gold)}.segmented-pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--gold-fill);transition:transform .45s var(--ease)}.segmented[data-mode=fullDay] .segmented-pill{transform:translate(100%)}.bp-section{margin-top:22px;overflow:hidden}.bp-label{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--text)}.bp-label svg{color:var(--gold)}.pkg-list{display:grid;gap:8px}.pkg{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);text-align:left;transition:all .25s}.pkg span{display:flex;flex-direction:column}.pkg strong{font-size:14px;font-weight:600}.pkg small{font-size:12px;color:var(--muted)}.pkg-price{font-weight:600;font-size:14px}.pkg:hover{border-color:#b08a5273}.pkg.is-active{border-color:var(--gold);background:var(--gold-soft)}.calendar{padding:14px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line)}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calendar-head strong{font-size:15px;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-dow{text-align:center;font-size:11px;font-weight:600;color:var(--faint);padding:6px 0}.calendar-day{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-size:13px;font-weight:500;transition:background .2s,color .2s}.calendar-day:not(:disabled):hover{background:var(--surface-3)}.calendar-day:disabled{color:var(--faint)}.calendar-day.s-past,.calendar-day.s-closed{opacity:.4}.calendar-day.s-booked,.calendar-day.s-off{text-decoration:line-through;text-decoration-color:#c4503f99}.day-dot{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%}.s-available .day-dot{background:var(--green)}.s-limited .day-dot{background:var(--amber)}.s-booked .day-dot,.s-off .day-dot{background:var(--red)}.s-past .day-dot,.s-closed .day-dot{display:none}.calendar-day.is-selected{background:var(--gold-fill)!important;color:var(--on-gold);font-weight:700}.calendar-day.is-selected .day-dot{background:var(--on-gold)}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:12px;color:var(--muted)}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-legend i{width:10px;height:10px;border-radius:3px}.lg-available{background:var(--green)}.lg-limited{background:var(--amber)}.lg-booked{background:var(--red)}.lg-past{background:var(--surface-3);border:1px solid var(--line-2)}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.slot{height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);font-size:13px;font-weight:500;transition:all .2s}.slot:not(:disabled):hover{border-color:var(--gold)}.slot:disabled{color:var(--faint);text-decoration:line-through;opacity:.55}.slot.is-range{background:var(--gold-soft);border-color:#b08a5273;color:var(--gold)}.slot.is-start{background:var(--gold-fill);border-color:var(--gold-fill);color:var(--on-gold);font-weight:700}.duration{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:10px 10px 10px 16px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);font-size:14px;font-weight:500}.duration small{color:var(--muted);font-weight:400}.stepper{display:flex;align-items:center;gap:12px}.stepper strong{min-width:52px;text-align:center}.addons{display:grid;gap:6px}.addon{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);text-align:left;font-size:14px;transition:all .2s}.addon:hover{border-color:#b08a5273}.addon.is-on{border-color:var(--gold);background:var(--gold-soft)}.addon .check{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;border:1px solid var(--line-2);flex-shrink:0}.addon.is-on .check{background:var(--gold-fill);border-color:var(--gold-fill);color:var(--on-gold)}.addon-label{flex:1}.addon .muted{font-size:13px}.bp-summary{display:grid;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:14px}.bp-summary .row{display:flex;justify-content:space-between;gap:12px}.bp-summary .total{padding-top:12px;border-top:1px dashed var(--line-2);font-size:17px;font-weight:700}.bp-issue{display:flex;align-items:flex-start;gap:8px;margin:16px 0 0;padding:10px 12px;border-radius:var(--radius-sm);background:#a86a1214;color:var(--amber);font-size:13px;line-height:1.45}.bp-issue svg{flex-shrink:0;margin-top:2px}.booking-panel>.btn-block{margin-top:16px}.week{margin-top:24px;padding:18px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line)}.week-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.week-toolbar strong{font-weight:600;font-size:15px}.week-nav{display:flex;gap:6px}.week-scroll{overflow-x:auto;scrollbar-width:thin}.week-table{width:100%;min-width:620px;border-collapse:separate;border-spacing:4px}.week-table thead th{font-size:11px;font-weight:600;color:var(--faint);text-align:center;padding-bottom:4px}.week-table tbody th{text-align:left;padding-right:8px;white-space:nowrap}.week-table tbody th span{display:block;font-size:13px;font-weight:600}.week-table tbody th small{font-size:11px;color:var(--muted);font-weight:400}.week-table td{padding:0}.cell{display:block;width:100%;height:34px;border-radius:7px;transition:transform .2s,background .2s}.cell.is-free{background:#2e8a551f;border:1px solid rgba(46,138,85,.28)}.cell.is-free:hover{background:#2e8a5552;transform:scale(1.06)}.cell.is-busy{background:repeating-linear-gradient(135deg,#c4503f47 0,#c4503f47 4px,#c4503f1a 4px,#c4503f1a 8px)}.cell.is-past{background:var(--surface-3);opacity:.5}.cell.is-selected{background:var(--gold-fill)!important;border-color:var(--gold)}.week-off{text-align:center;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);background:var(--surface-2);border-radius:7px;height:34px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px;background:#1e160c73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow-y:auto}.modal{position:relative;width:100%;max-width:940px;max-height:calc(100svh - 32px);overflow-y:auto;border-radius:var(--radius-lg);background:var(--bg);border:1px solid var(--line-2);box-shadow:0 50px 100px -30px #281c0c73}.modal-close{position:absolute;top:14px;right:14px;z-index:2;background:var(--surface)}.modal-grid{display:grid;grid-template-columns:.9fr 1.1fr}.modal-summary{background:var(--surface);border-right:1px solid var(--line)}.modal-summary img{width:100%;height:200px;object-fit:cover}.modal-summary-body{padding:24px 26px 28px}.modal-summary-body .eyebrow{margin-bottom:6px}.modal-summary-body h3{font-family:var(--font-display);font-size:30px}.summary-meta{display:grid;gap:8px;margin-top:16px;font-size:14px;color:var(--muted)}.summary-meta li{display:flex;align-items:flex-start;gap:8px}.summary-meta svg{flex-shrink:0;margin-top:3px;color:var(--gold)}.modal-form{display:flex;flex-direction:column;gap:16px;padding:36px 32px 28px}.modal-form>.muted{margin-top:-8px;font-size:14px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:13px;font-weight:600}.field input,.field textarea{width:100%;padding:13px 16px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line-2);outline:0;font-size:15px;transition:border-color .2s,box-shadow .2s;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.field input:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}.field.has-error input{border-color:var(--red)}.error{font-size:12px;color:var(--red)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.agree{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--muted);cursor:pointer}.agree input{margin-top:3px;accent-color:var(--gold);width:16px;height:16px;flex-shrink:0}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:64px 80px;background:#0c0a08f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f3ece2}.lightbox .icon-btn{color:#fff;border-color:#ffffff40}.lightbox .muted{color:#f3ece2a6}.lightbox-figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:14px}.lightbox-figure img{max-width:100%;max-height:calc(100svh - 160px);object-fit:contain;border-radius:var(--radius-sm)}.lightbox-figure figcaption{display:flex;justify-content:space-between;gap:16px;font-size:14px}.lightbox-figure strong{font-family:var(--font-display);font-size:20px;font-weight:500}.lightbox-close{position:absolute;top:16px;right:16px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;background:#0c0b0a80}.lightbox-nav.is-prev{left:16px}.lightbox-nav.is-next{right:16px}.mobile-bookbar{display:none}.confirm{padding:calc(var(--nav-h) + 64px) 0 96px;min-height:80vh}.confirm-inner{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:820px}.confirm-inner .lead{margin-left:auto;margin-right:auto}.confirm-check{display:grid;place-items:center;width:88px;height:88px;margin-bottom:28px;border-radius:50%;background:linear-gradient(135deg,#e8d2a8,#c09a5e);color:var(--on-gold);box-shadow:0 0 0 12px var(--gold-soft),0 20px 50px -14px #966e3280}.ticket{display:grid;grid-template-columns:240px 1fr;width:100%;margin-top:40px;text-align:left;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);border:1px solid var(--line-2)}.ticket img{width:100%;height:100%;min-height:220px;object-fit:cover}.ticket-body{padding:28px}.ticket-body .eyebrow{margin-bottom:6px}.confirm-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}.confirm-help{margin-top:28px;font-size:14px}.confirm-help a{display:inline-flex;align-items:center;gap:4px;color:var(--gold)}.bookings-page{padding-top:calc(var(--nav-h) + 56px);min-height:80vh}.booking-list{display:grid;gap:14px;margin-top:28px}.booking-row{display:grid;grid-template-columns:120px 1fr auto;gap:22px;align-items:center;padding:14px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line)}.booking-row.is-cancelled{opacity:.6}.booking-row>img{width:120px;height:100px;object-fit:cover;border-radius:var(--radius)}.booking-info .eyebrow{margin-bottom:4px;font-size:11px}.booking-info h3{font-family:var(--font-display);font-size:26px;margin-bottom:6px}.booking-info h3 a:hover{color:var(--gold)}.booking-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding-right:8px}.booking-side>strong{font-size:18px}.booking-actions{display:flex;align-items:center;gap:8px}.confirm-cancel{display:inline-flex;align-items:center}.footer{border-top:1px solid var(--line);background:var(--bg-2);padding-top:clamp(64px,8vw,96px)}.footer-cta{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px;padding-bottom:56px;border-bottom:1px solid var(--line)}.footer-cta h2{max-width:640px}.footer-cta-actions{display:flex;flex-wrap:wrap;gap:12px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:40px;padding:56px 0}.footer-about{margin-top:18px;font-size:14px;max-width:340px}.footer h4{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}.footer ul{display:grid;gap:12px;font-size:14px;color:var(--muted)}.footer ul a:hover{color:var(--gold)}.contact-list li{display:flex;align-items:flex-start;gap:10px}.contact-list svg{flex-shrink:0;margin-top:3px;color:var(--gold)}.contact-list a{overflow-wrap:anywhere}.phone-list{display:flex;flex-direction:column;gap:2px}.socials{display:flex;gap:10px;margin-top:22px}.socials a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);transition:all .25s}.socials a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:24px 0 32px;border-top:1px solid var(--line);font-size:13px;color:var(--faint)}.footer-tagline{font-family:var(--font-display);font-style:italic;font-size:16px;color:var(--muted)}@media (max-width: 1180px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:minmax(0,1fr) 380px}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 980px){:root{--nav-h: 68px}.nav-links{display:none}.hide-mobile{display:none!important}.show-mobile{display:inline-grid}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}.detail-aside{position:static;max-height:none;overflow:visible}.footer-grid{grid-template-columns:1fr 1fr}.mobile-bookbar{position:fixed;inset:auto 0 0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:#fffffff0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line-2)}.mobile-bookbar small{display:block;font-size:12px}.detail{padding-bottom:80px}.modal-grid{grid-template-columns:1fr}.modal-summary{border-right:0;border-bottom:1px solid var(--line)}.modal-summary img{height:140px}}@media (max-width: 720px){.grid-3,.grid-4,.two-col,.policy-grid,.package-cards{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start}.section-heading.is-center{align-items:center}.toolbar{flex-direction:column;align-items:stretch;border-radius:var(--radius)}.toolbar-controls{display:grid;grid-template-columns:1fr 1fr}.toolbar-controls .control:last-child:nth-child(odd){grid-column:span 2}.control{min-width:0}.search{max-width:none;min-width:0}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:240px 120px}.m-0{grid-column:span 2;grid-row:auto}.m-3,.m-4{display:none}.portfolio-masonry{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:120px}.work-caption{opacity:1;transform:none}.profile-head{flex-direction:column;align-items:flex-start;gap:16px;margin-top:40px}.back-link.on-cover{margin-top:-180px}.field-row{grid-template-columns:1fr}.modal-form{padding:28px 20px 24px}.booking-panel{padding:20px}.ticket{grid-template-columns:1fr}.ticket img{min-height:0;height:180px}.booking-row{grid-template-columns:84px 1fr;gap:14px}.booking-row>img{width:84px;height:84px}.booking-side{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;padding:0}.footer-grid{grid-template-columns:1fr;gap:32px}.lightbox{padding:64px 12px}.lightbox-nav{top:auto;bottom:16px;transform:none}}@media (max-width: 420px){.brand-text{font-size:20px}.slots{grid-template-columns:repeat(2,1fr)}.spec-grid{grid-template-columns:1fr 1fr}.spec-grid>div{padding:16px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
