:root {
  --ink: #07130f;
  --ink-2: #10281f;
  --forest: #153d2f;
  --cream: #f2ecdf;
  --paper: #f8f4ec;
  --sand: #d7c6ae;
  --acid: #caff7d;
  --acid-2: #e0ffb7;
  --terracotta: #d16f50;
  --white: #fffdf8;
  --muted: rgba(7,19,15,.66);
  --line: rgba(7,19,15,.14);
  --line-light: rgba(255,255,255,.18);
  --display: Georgia, 'Times New Roman', serif;
  --sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --pad: clamp(20px, 4vw, 72px);
  --radius: 30px;
  --shadow: 0 28px 90px rgba(3, 12, 8, .18);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.6; overflow-x: hidden; }
body.menu-open, body.dialog-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
img { display: block; max-width: 100%; }
svg { width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
::selection { background: var(--acid); color: var(--ink); }
:focus-visible { outline: 3px solid var(--acid); outline-offset: 4px; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.skip-link { position: fixed; z-index: 20000; left: 14px; top: 14px; transform: translateY(-160%); padding: 10px 14px; border-radius: 10px; background: var(--acid); color: var(--ink); font-weight: 800; transition: transform .2s; }
.skip-link:focus { transform: none; }
.scroll-progress { position: fixed; inset: 0 0 auto; height: 2px; z-index: 10000; pointer-events: none; }
.scroll-progress span { display:block; width:0; height:100%; background:var(--acid); }
.preloader { position: fixed; inset: 0; z-index: 15000; display:grid; place-items:center; align-content:center; gap:10px; color:var(--cream); background:var(--ink); transition:opacity .65s, visibility .65s; }
.preloader.is-hidden { opacity:0; visibility:hidden; }
.preloader__mark { width:68px; height:68px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; font: 38px var(--display); }
.preloader__word { font-size:11px; font-weight:800; letter-spacing:.52em; margin-left:.52em; }
.preloader__line { width:min(250px,60vw); height:1px; background:rgba(255,255,255,.15); overflow:hidden; margin-top:12px; }
.preloader__line span { display:block; width:0; height:100%; background:var(--acid); animation:load 1.25s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes load { to { width:100%; } }
.cursor { position:fixed; z-index:12000; left:0; top:0; pointer-events:none; border-radius:50%; transform:translate(-50%,-50%); }
.cursor-dot { width:5px; height:5px; background:var(--acid); }
.cursor-ring { width:38px; height:38px; border:1px solid rgba(202,255,125,.75); transition:width .2s,height .2s,background .2s; }
.cursor-ring.active { width:62px; height:62px; background:rgba(202,255,125,.12); }
.site-header { position:fixed; inset:0 0 auto; z-index:5000; height:86px; display:flex; align-items:center; justify-content:space-between; padding:0 var(--pad); color:var(--white); border-bottom:1px solid transparent; transition:.3s background,.3s color,.3s height,.3s backdrop-filter,.3s border-color; }
.site-header.scrolled, .site-header.header-solid { height:70px; color:var(--ink); background:rgba(248,244,236,.88); backdrop-filter:blur(16px); border-bottom-color:var(--line); }
.brand { display:inline-flex; align-items:center; gap:12px; font-size:11px; font-weight:900; letter-spacing:.22em; }
.brand__mark { width:36px; height:36px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font:21px var(--display); letter-spacing:0; }
.nav { display:flex; gap:clamp(18px,2.5vw,42px); align-items:center; font-size:11px; font-weight:750; }
.nav a { position:relative; }
.nav a::after { content:''; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:currentColor; transition:right .25s; }
.nav a:hover::after, .nav a[aria-current='page']::after { right:0; }
.header-actions { display:flex; align-items:center; gap:9px; }
.lang-link { min-width:42px; height:42px; display:grid; place-items:center; border-radius:50%; font-size:10px; font-weight:850; }
.menu-toggle { display:none; width:44px; height:44px; border:0; border-radius:50%; background:rgba(255,255,255,.1); color:inherit; position:relative; cursor:pointer; }
.site-header.scrolled .menu-toggle, .site-header.header-solid .menu-toggle { background:rgba(7,19,15,.07); }
.menu-toggle span { position:absolute; left:13px; width:18px; height:1px; background:currentColor; transition:.25s; }
.menu-toggle span:first-child { top:17px; }
.menu-toggle span:last-child { top:25px; }
.menu-toggle[aria-expanded='true'] span:first-child { top:21px; transform:rotate(45deg); }
.menu-toggle[aria-expanded='true'] span:last-child { top:21px; transform:rotate(-45deg); }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:0 23px; border:1px solid transparent; border-radius:999px; font-size:11px; font-weight:850; letter-spacing:.01em; cursor:pointer; transition:.22s transform,.22s background,.22s color,.22s border-color; }
.button--small { min-height:44px; padding:0 18px; }
.button--light { background:var(--white); color:var(--ink); }
.site-header.scrolled .button--light, .site-header.header-solid .button--light { background:var(--ink); color:var(--white); }
.button--acid { background:var(--acid); color:var(--ink); }
.button--acid:hover { background:var(--acid-2); }
.button--outline { color:var(--white); border-color:rgba(255,255,255,.3); }
.button--outline:hover { color:var(--acid); border-color:var(--acid); }
.button--dark { background:var(--ink); color:var(--white); }
.text-link { display:inline-flex; align-items:center; gap:9px; font-size:11px; font-weight:850; }
.text-link svg { transition:transform .22s; }
.text-link:hover svg { transform:translate(3px,-3px); }
.mobile-menu { position:fixed; inset:0; z-index:4500; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:5vw; padding:108px var(--pad) 42px; background:var(--ink); color:var(--cream); opacity:0; visibility:hidden; transform:translateY(-16px); transition:.35s; }
.mobile-menu.open { opacity:1; visibility:visible; transform:none; }
.mobile-menu__art { height:min(58vh,600px); border:1px solid rgba(255,255,255,.16); border-radius:999px 999px 28px 28px; background:radial-gradient(circle at 50% 35%,rgba(202,255,125,.24),transparent 35%),linear-gradient(145deg,#265843,#07130f 75%); position:relative; overflow:hidden; }
.mobile-menu__art::before,.mobile-menu__art::after { content:''; position:absolute; border:1px solid rgba(255,255,255,.16); border-radius:50%; left:50%; top:46%; transform:translate(-50%,-50%); }
.mobile-menu__art::before { width:240px; height:240px; }
.mobile-menu__art::after { width:420px; height:420px; }
.mobile-menu nav { display:grid; }
.mobile-menu nav a { display:grid; grid-template-columns:38px 1fr; gap:18px; align-items:baseline; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.mobile-menu nav span { font-size:9px; opacity:.45; }
.mobile-menu nav b { font:500 clamp(44px,6.6vw,82px)/.95 var(--display); }
.hero { min-height:100svh; position:relative; overflow:hidden; color:var(--white); background:var(--ink); }
.hero__media { position:absolute; inset:0; overflow:hidden; }
.hero__media img { width:100%; height:100%; object-fit:cover; transform:scale(1.08); filter:saturate(.9) contrast(1.05); }
.hero__media::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 68% 30%,transparent 0 18%,rgba(0,0,0,.1) 60%),linear-gradient(90deg,rgba(4,14,10,.75),rgba(4,14,10,.17) 62%,rgba(4,14,10,.42)),linear-gradient(0deg,rgba(4,14,10,.78),transparent 48%); }
.hero__content { position:relative; z-index:2; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding:160px var(--pad) 48px; }
.hero__topline { position:absolute; top:112px; left:var(--pad); right:var(--pad); display:flex; justify-content:space-between; font-size:9px; font-weight:850; letter-spacing:.17em; }
.availability { display:inline-flex; align-items:center; gap:10px; }
.availability i { width:6px; height:6px; border-radius:50%; background:var(--acid); box-shadow:0 0 0 6px rgba(202,255,125,.12); }
.hero__eyebrow { margin:0 0 3.8vh; font-size:10px; font-weight:850; letter-spacing:.22em; text-transform:uppercase; }
.hero__title { margin:0; display:flex; justify-content:space-between; align-items:flex-end; font:500 clamp(100px,22vw,410px)/.63 var(--display); letter-spacing:-.065em; }
.hero__title span { display:inline-block; opacity:0; transform:translateY(120%) rotate(6deg); }
.hero__title small { position:absolute; left:0; transform:translateY(55px); font:850 10px/1 var(--sans); letter-spacing:.28em; color:var(--acid); }
.hero__footer { margin-top:7vh; padding-right:90px; display:flex; justify-content:space-between; align-items:flex-end; gap:34px; }
.hero__footer h2 { margin:0; font:500 clamp(34px,4.7vw,73px)/.95 var(--display); }
.hero__footer em { color:var(--acid); font-style:italic; }
.hero__actions { display:flex; align-items:center; gap:26px; }
.hero__rating { position:absolute; z-index:3; right:calc(var(--pad) + 65px); top:112px; display:flex; gap:13px; align-items:center; padding:11px 16px 11px 11px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(7,19,15,.3); backdrop-filter:blur(14px); }
.hero__rating b { font:500 23px/1 var(--display); }
.hero__rating small { display:block; font-size:8px; opacity:.7; }
.rating-orbit { width:38px; height:38px; border:1px solid rgba(255,255,255,.24); border-radius:50%; position:relative; animation:spin 8s linear infinite; }
.rating-orbit::after { content:''; position:absolute; left:50%; top:-3px; width:6px; height:6px; border-radius:50%; background:var(--acid); transform:translateX(-50%); }
@keyframes spin { to { transform:rotate(360deg); } }
.scroll-cue { position:absolute; z-index:3; right:var(--pad); bottom:48px; writing-mode:vertical-rl; display:flex; gap:14px; align-items:center; font-size:8px; letter-spacing:.17em; text-transform:uppercase; }
.scroll-cue i { width:1px; height:48px; background:rgba(255,255,255,.36); overflow:hidden; position:relative; }
.scroll-cue i::after { content:''; position:absolute; inset:-100% 0 100%; background:var(--acid); animation:scroll 1.8s infinite; }
@keyframes scroll { to { transform:translateY(200%); } }
.marquee { overflow:hidden; padding:14px 0; background:var(--acid); color:var(--ink); }
.marquee__track { width:max-content; display:flex; gap:28px; align-items:center; font-size:10px; font-weight:900; letter-spacing:.15em; animation:marquee 25s linear infinite; }
@keyframes marquee { to { transform:translateX(-50%); } }
.section { padding:clamp(86px,10vw,170px) var(--pad); }
.kicker { display:flex; align-items:center; gap:16px; font-size:9px; font-weight:850; letter-spacing:.18em; text-transform:uppercase; }
.kicker::after { content:''; width:76px; height:1px; background:currentColor; opacity:.25; }
.kicker b { width:27px; height:27px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:8px; }
.kicker--light { color:var(--cream); }
.display-title { margin:clamp(50px,6vw,90px) 0 0; font:500 clamp(64px,10vw,160px)/.84 var(--display); letter-spacing:-.045em; }
.display-title em { color:var(--terracotta); font-style:italic; }
.display-title--light { color:var(--cream); }
.display-title--light em { color:var(--acid); }
.lead-grid { display:grid; grid-template-columns:1.2fr .58fr; gap:8vw; align-items:end; margin-top:clamp(65px,8vw,120px); }
.lead-copy { margin:0; font:500 clamp(52px,8.7vw,134px)/.84 var(--display); letter-spacing:-.04em; }
.lead-body { max-width:540px; color:var(--muted); }
.lead-body p { margin:0 0 28px; font-size:clamp(16px,1.3vw,20px); }
.facts-grid { margin-top:clamp(70px,9vw,130px); display:grid; grid-template-columns:repeat(4,1fr); border-left:1px solid var(--line); border-top:1px solid var(--line); }
.fact-card { min-height:250px; padding:23px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; justify-content:flex-end; position:relative; background:rgba(255,255,255,.18); transform-style:preserve-3d; }
.fact-card small { position:absolute; left:22px; top:20px; font-size:8px; opacity:.46; }
.fact-card strong { font:500 clamp(72px,8vw,132px)/.72 var(--display); letter-spacing:-.06em; }
.fact-card p { margin:25px 0 0; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.fact-card--dark { color:var(--cream); background:var(--ink); }
.fact-card--dark strong { color:var(--acid); }
.journey { background:var(--ink); color:var(--cream); padding-bottom:clamp(90px,11vw,170px); }
.moments { padding:0 var(--pad); }
.moment { position:sticky; top:82px; min-height:calc(100svh - 106px); margin-bottom:28px; border-radius:var(--radius); overflow:hidden; box-shadow:0 -20px 60px rgba(0,0,0,.2); isolation:isolate; }
.moment:nth-child(2) { top:98px; }
.moment:nth-child(3) { top:114px; }
.moment img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.06); }
.moment::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,14,10,.86),rgba(4,14,10,.12) 68%),linear-gradient(0deg,rgba(4,14,10,.52),transparent 60%); }
.moment__content { position:relative; z-index:2; min-height:inherit; padding:clamp(30px,6vw,90px); display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; max-width:900px; }
.moment__time { color:var(--acid); font-size:9px; letter-spacing:.2em; margin-bottom:28px; }
.moment h3 { margin:0; font:500 clamp(54px,8vw,125px)/.86 var(--display); letter-spacing:-.04em; }
.moment p { margin:30px 0 0; max-width:580px; color:rgba(255,255,255,.7); font-size:clamp(15px,1.25vw,19px); }
.amenity-grid { margin-top:clamp(70px,9vw,130px); display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.amenity { min-height:210px; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
.amenity::after { content:''; position:absolute; width:150px; height:150px; border:1px solid rgba(7,19,15,.1); border-radius:50%; right:-45px; bottom:-55px; transition:.4s transform,.4s background; }
.amenity:hover::after { transform:scale(1.4); background:var(--acid); }
.amenity span { display:block; font-size:8px; opacity:.45; }
.amenity h3 { margin:70px 0 8px; font:500 31px/1 var(--display); }
.amenity p { margin:0; max-width:320px; color:var(--muted); font-size:13px; }
.gallery-preview { background:var(--cream); }
.gallery-head { display:grid; grid-template-columns:.4fr 1fr; gap:6vw; }
.gallery-head .display-title { margin-top:0; }
.gallery-grid { margin-top:clamp(70px,9vw,130px); display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:minmax(100px,8vw); gap:clamp(10px,1.2vw,18px); }
.gallery-card { position:relative; overflow:hidden; padding:0; border:0; border-radius:21px; background:var(--ink-2); color:var(--white); cursor:pointer; text-align:left; }
.gallery-card img { width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.2,.7,.2,1); }
.gallery-card::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.46),transparent 48%); }
.gallery-card:hover img { transform:scale(1.06); }
.gallery-card span { position:absolute; z-index:2; left:18px; bottom:16px; font-size:8px; font-weight:850; letter-spacing:.14em; }
.gallery-card i { position:absolute; z-index:2; right:16px; top:16px; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.14); backdrop-filter:blur(10px); font-style:normal; transition:.25s; }
.gallery-card:hover i { background:var(--acid); color:var(--ink); transform:rotate(45deg); }
.gallery-card--wide { grid-column:1/span 7; grid-row:1/span 4; }
.gallery-card--tall { grid-column:8/span 5; grid-row:1/span 6; }
.gallery-card--square { grid-column:1/span 4; grid-row:5/span 5; }
.gallery-card--landscape { grid-column:5/span 5; grid-row:7/span 3; }
.gallery-card--portrait { grid-column:10/span 3; grid-row:7/span 5; }
.review-band { display:grid; grid-template-columns:.42fr 1fr .56fr; gap:5vw; align-items:center; background:var(--acid); }
.review-score strong { display:block; font:500 clamp(95px,11vw,175px)/.72 var(--display); letter-spacing:-.06em; }
.review-score span { display:block; letter-spacing:.18em; font-size:11px; margin-top:24px; }
.review-band blockquote { margin:0; font:500 clamp(34px,4.5vw,68px)/.98 var(--display); }
.rating-list { display:grid; border-top:1px solid rgba(7,19,15,.2); }
.rating-list span { display:flex; justify-content:space-between; padding:15px 0; border-bottom:1px solid rgba(7,19,15,.2); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.location-band { min-height:90svh; display:grid; grid-template-columns:1.1fr .9fr; background:var(--forest); color:var(--cream); }
.map-art { min-height:90svh; position:relative; overflow:hidden; border-right:1px solid rgba(255,255,255,.15); background:radial-gradient(circle at 52% 50%,rgba(202,255,125,.12),transparent 28%),#102d23; }
.map-art__grid { position:absolute; inset:-20%; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size:58px 58px; transform:perspective(700px) rotateX(58deg) scale(1.3); transform-origin:center bottom; }
.map-ring { position:absolute; left:50%; top:50%; border:1px solid rgba(202,255,125,.22); border-radius:50%; transform:translate(-50%,-50%); animation:mapPulse 4s ease-in-out infinite; }
.map-ring.r1 { width:160px; height:160px; }
.map-ring.r2 { width:340px; height:340px; animation-delay:.6s; }
.map-ring.r3 { width:560px; height:560px; animation-delay:1.2s; }
@keyframes mapPulse { 0%,100%{opacity:.35;transform:translate(-50%,-50%) scale(.95)} 50%{opacity:.9;transform:translate(-50%,-50%) scale(1.02)} }
.map-pin { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:78px; height:78px; display:grid; place-items:center; border-radius:50%; background:var(--acid); color:var(--ink); box-shadow:0 0 0 12px rgba(202,255,125,.12),0 0 80px rgba(202,255,125,.32); font:38px var(--display); }
.location-content { padding:clamp(80px,9vw,150px) clamp(30px,6vw,95px); display:flex; flex-direction:column; justify-content:center; }
.location-content p { margin:36px 0; max-width:560px; color:rgba(255,255,255,.66); }
.tag-row { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:40px; }
.tag-row span { padding:9px 13px; border:1px solid rgba(255,255,255,.17); border-radius:999px; font-size:8px; letter-spacing:.12em; }
.faq-section { background:var(--paper); }
.faq-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:8vw; margin-top:70px; }
.faq-intro { position:sticky; top:110px; align-self:start; }
.faq-intro p { color:var(--muted); }
.faq-list { border-top:1px solid var(--line); }
details { border-bottom:1px solid var(--line); }
summary { list-style:none; cursor:pointer; padding:25px 46px 25px 0; position:relative; font:500 clamp(22px,2.4vw,34px)/1.1 var(--display); }
summary::-webkit-details-marker { display:none; }
summary::before, summary::after { content:''; position:absolute; right:4px; top:50%; width:18px; height:1px; background:currentColor; transition:transform .2s; }
summary::after { transform:rotate(90deg); }
details[open] summary::after { transform:rotate(0); }
details .answer { padding:0 50px 26px 0; color:var(--muted); max-width:850px; }
.reserve { min-height:90svh; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; background:var(--ink); color:var(--cream); }
.reserve::before { content:''; position:absolute; width:650px; height:650px; right:-190px; top:-220px; border:1px solid rgba(202,255,125,.15); border-radius:50%; box-shadow:inset 0 0 160px rgba(202,255,125,.06); }
.reserve__title { margin:55px 0 80px; font:500 clamp(72px,11.5vw,182px)/.79 var(--display); letter-spacing:-.05em; }
.reserve__title em { color:var(--acid); }
.booking-panel { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr .7fr auto; border:1px solid rgba(255,255,255,.18); border-radius:24px; padding:9px; background:rgba(255,255,255,.055); backdrop-filter:blur(12px); }
.booking-panel label { min-height:78px; padding:13px 20px; border-right:1px solid rgba(255,255,255,.14); display:flex; flex-direction:column; justify-content:center; }
.booking-panel label span { font-size:8px; letter-spacing:.15em; text-transform:uppercase; opacity:.55; }
.booking-panel input,.booking-panel select { width:100%; border:0; outline:0; background:transparent; color:var(--white); color-scheme:dark; }
.booking-panel select option { color:var(--ink); }
.booking-panel .button { border-radius:17px; min-width:220px; }
.reserve__note { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-top:22px; font-size:10px; color:rgba(255,255,255,.55); }
.page-hero { min-height:70svh; position:relative; display:flex; align-items:flex-end; color:var(--white); background:var(--ink); overflow:hidden; }
.page-hero__media { position:absolute; inset:0; }
.page-hero__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.88); }
.page-hero__media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,14,10,.83),rgba(4,14,10,.22) 70%),linear-gradient(0deg,rgba(4,14,10,.74),transparent 55%); }
.page-hero__content { position:relative; z-index:2; width:100%; padding:160px var(--pad) 62px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin-bottom:46px; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.68); }
.breadcrumbs a:hover { color:var(--acid); }
.page-hero h1 { margin:0; max-width:1200px; font:500 clamp(64px,10vw,155px)/.84 var(--display); letter-spacing:-.045em; }
.page-hero p { margin:32px 0 0; max-width:700px; font-size:clamp(16px,1.4vw,21px); color:rgba(255,255,255,.72); }
.content-section { padding:clamp(75px,9vw,140px) var(--pad); }
.content-grid { display:grid; grid-template-columns:.42fr 1fr; gap:7vw; align-items:start; }
.content-aside { position:sticky; top:105px; }
.content-aside h2 { margin:0 0 18px; font:500 clamp(38px,4vw,62px)/.95 var(--display); }
.content-aside p { color:var(--muted); }
.prose { max-width:920px; }
.prose h2 { margin:0 0 25px; font:500 clamp(40px,5vw,76px)/.95 var(--display); }
.prose h3 { margin:48px 0 14px; font:500 33px/1 var(--display); }
.prose p { margin:0 0 22px; color:var(--muted); font-size:clamp(15px,1.15vw,18px); }
.prose ul { margin:0 0 30px; padding-left:20px; color:var(--muted); }
.prose li { margin:8px 0; }
.info-panel { margin:34px 0; padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--cream); }
.info-panel strong { display:block; margin-bottom:8px; font:500 28px var(--display); }
.data-table { width:100%; border-collapse:collapse; margin-top:30px; }
.data-table th,.data-table td { padding:18px 0; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.data-table th { width:42%; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.data-table td { color:var(--muted); }
.review-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:45px; }
.review-card { min-height:260px; padding:25px; border-radius:22px; background:var(--cream); border:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; }
.review-card strong { font:500 55px/1 var(--display); }
.review-card small { font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.contact-card { min-height:260px; padding:26px; border:1px solid var(--line); border-radius:22px; background:var(--cream); display:flex; flex-direction:column; justify-content:space-between; }
.contact-card span { font-size:9px; letter-spacing:.12em; text-transform:uppercase; opacity:.55; }
.contact-card h3 { margin:30px 0 10px; font:500 34px/1 var(--display); }
.contact-card p { margin:0; color:var(--muted); }
.contact-card .button { margin-top:28px; align-self:flex-start; }
.site-footer { padding:78px var(--pad) 22px; color:var(--cream); background:#030806; }
.footer-brand { display:grid; justify-items:start; }
.footer-brand__mark { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.23); border-radius:50%; font:30px var(--display); }
.footer-brand strong { margin-top:30px; font:500 clamp(95px,19vw,340px)/.66 var(--display); letter-spacing:-.06em; }
.footer-brand p { margin:48px 0 0; color:var(--acid); font:24px var(--display); }
.footer-links { margin:72px 0; padding-top:32px; border-top:1px solid rgba(255,255,255,.12); display:grid; grid-template-columns:repeat(4,1fr); gap:36px; }
.footer-links div { display:grid; gap:9px; align-content:start; }
.footer-links span { margin-bottom:8px; font-size:8px; letter-spacing:.15em; text-transform:uppercase; opacity:.42; }
.footer-links a { color:rgba(255,255,255,.72); font-size:12px; }
.footer-links a:hover { color:var(--acid); }
.footer-bottom { padding-top:21px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:20px; font-size:8px; letter-spacing:.12em; opacity:.55; }
.mobile-cta { display:none; position:fixed; z-index:4000; left:10px; right:10px; bottom:10px; padding:7px; border:1px solid rgba(255,255,255,.16); border-radius:18px; background:rgba(7,19,15,.9); backdrop-filter:blur(18px); box-shadow:0 18px 55px rgba(0,0,0,.28); grid-template-columns:1fr 1fr; gap:7px; }
.mobile-cta a { min-height:48px; display:flex; align-items:center; justify-content:center; border-radius:12px; font-size:10px; font-weight:850; }
.mobile-cta a:first-child { background:var(--acid); color:var(--ink); }
.mobile-cta a:last-child { color:var(--white); border:1px solid rgba(255,255,255,.18); }
dialog.lightbox { width:100vw; height:100vh; max-width:none; max-height:none; margin:0; padding:clamp(20px,5vw,80px); border:0; color:var(--white); background:rgba(3,8,6,.95); backdrop-filter:blur(20px); }
dialog.lightbox::backdrop { background:rgba(3,8,6,.95); }
.lightbox__frame { width:100%; height:100%; display:grid; place-items:center; position:relative; }
.lightbox img { max-width:1400px; max-height:82vh; width:auto; height:auto; border-radius:18px; box-shadow:var(--shadow); }
.lightbox__close { position:absolute; right:0; top:0; width:48px; height:48px; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:var(--white); background:transparent; font-size:25px; cursor:pointer; }
.toast { position:fixed; z-index:16000; left:50%; bottom:26px; transform:translate(-50%,18px); opacity:0; visibility:hidden; padding:12px 17px; border-radius:999px; background:var(--acid); color:var(--ink); font-size:10px; font-weight:850; box-shadow:0 18px 55px rgba(0,0,0,.25); transition:.25s; }
.toast.visible { opacity:1; visibility:visible; transform:translate(-50%,0); }
.reveal { opacity:0; transform:translateY(36px); transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity:1; transform:none; }
.image-reveal { clip-path:inset(0 0 100% 0 round 21px); transition:clip-path 1s cubic-bezier(.2,.7,.2,1); }
.image-reveal.visible { clip-path:inset(0 0 0 0 round 21px); }
.image-fallback { background:radial-gradient(circle at 70% 25%,rgba(202,255,125,.22),transparent 25%),linear-gradient(145deg,#2b5a45,#07130f 75%); }
.image-fallback::before { content:'AYSEL · ORTACA'; position:absolute; z-index:0; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-8deg); color:rgba(255,255,255,.12); font:500 clamp(24px,5vw,80px) var(--display); white-space:nowrap; }
.image-fallback img { opacity:0; }
@media (max-width:1100px) {
  .nav { display:none; }
  .menu-toggle { display:block; }
  .header-actions .button { display:none; }
  .hero__rating { display:none; }
  .lead-grid,.gallery-head { grid-template-columns:1fr; }
  .lead-body { margin-left:auto; }
  .facts-grid { grid-template-columns:repeat(2,1fr); }
  .review-band { grid-template-columns:.5fr 1fr; }
  .rating-list { grid-column:1/-1; grid-template-columns:repeat(3,1fr); }
  .rating-list span { padding:16px; border-right:1px solid rgba(7,19,15,.2); }
  .booking-panel { grid-template-columns:1fr 1fr; }
  .booking-panel label:nth-child(2) { border-right:0; }
  .booking-panel label:nth-child(3) { border-top:1px solid rgba(255,255,255,.14); }
  .booking-panel .button { margin:7px; }
  .footer-links { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:780px) {
  :root { --pad:20px; --radius:23px; }
  .cursor { display:none; }
  .site-header { height:70px; }
  .brand__name { display:none; }
  .mobile-menu { grid-template-columns:1fr; padding-top:90px; }
  .mobile-menu__art { display:none; }
  .mobile-menu nav b { font-size:50px; }
  .hero__topline { top:92px; }
  .hero__topline span:last-child { display:none; }
  .hero__content { padding-top:145px; padding-bottom:34px; }
  .hero__title { font-size:28vw; }
  .hero__footer { display:block; padding-right:0; }
  .hero__footer h2 { font-size:45px; }
  .hero__actions { margin-top:28px; flex-direction:column; align-items:flex-start; gap:17px; }
  .scroll-cue { display:none; }
  .section { padding-top:90px; padding-bottom:90px; }
  .kicker::after { width:42px; }
  .lead-copy { font-size:17.5vw; }
  .facts-grid { grid-template-columns:1fr 1fr; }
  .fact-card { min-height:185px; padding:17px; }
  .fact-card strong { font-size:70px; }
  .fact-card p { font-size:8px; }
  .display-title { font-size:18vw; }
  .moment { min-height:74svh; top:74px; }
  .moment:nth-child(2) { top:84px; }
  .moment:nth-child(3) { top:94px; }
  .moment__content { padding:25px; }
  .moment h3 { font-size:15vw; }
  .amenity-grid { grid-template-columns:1fr 1fr; }
  .amenity { min-height:190px; padding:18px; }
  .gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:210px; }
  .gallery-card--wide,.gallery-card--tall,.gallery-card--square,.gallery-card--landscape,.gallery-card--portrait { grid-column:auto; grid-row:auto; }
  .gallery-card--wide,.gallery-card--landscape { grid-column:1/-1; }
  .gallery-card--tall { grid-row:span 2; }
  .review-band { grid-template-columns:1fr; gap:50px; }
  .rating-list { grid-template-columns:1fr 1fr; }
  .location-band { grid-template-columns:1fr; }
  .map-art { min-height:65svh; border-right:0; border-bottom:1px solid rgba(255,255,255,.15); }
  .location-content { padding:85px 20px; }
  .faq-layout { grid-template-columns:1fr; }
  .faq-intro { position:static; }
  .booking-panel { grid-template-columns:1fr; }
  .booking-panel label { border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .booking-panel label:nth-child(3) { border-top:0; }
  .booking-panel .button { min-height:68px; min-width:0; }
  .reserve__note { align-items:flex-start; flex-direction:column; }
  .page-hero { min-height:64svh; }
  .page-hero__content { padding-top:135px; padding-bottom:45px; }
  .page-hero h1 { font-size:17vw; }
  .content-grid { grid-template-columns:1fr; }
  .content-aside { position:static; }
  .review-cards,.contact-grid { grid-template-columns:1fr; }
  .footer-links { grid-template-columns:1fr 1fr; }
  .mobile-cta { display:grid; }
  .site-footer { padding-bottom:90px; }
}
@media (max-width:460px) {
  .button { width:100%; }
  .hero__actions .text-link { margin-left:6px; }
  .facts-grid { grid-template-columns:1fr; }
  .amenity-grid { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:1fr; grid-auto-rows:270px; }
  .gallery-card--wide,.gallery-card--landscape { grid-column:auto; }
  .gallery-card--tall { grid-row:auto; }
  .rating-list { grid-template-columns:1fr; }
  .footer-links { grid-template-columns:1fr; }
  .footer-bottom { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .hero__title span,.reveal { opacity:1; transform:none; }
  .image-reveal { clip-path:none; }
}
/* Local responsive property media */
.hero__media picture,.page-hero__media picture,.moment>div:first-child,.moment>div:first-child picture { position:absolute; inset:0; width:100%; height:100%; display:block; }
.hero__media picture img,.page-hero__media picture img,.moment picture img { width:100%; height:100%; object-fit:cover; }
.gallery-card picture,.film__card picture { display:block; width:100%; height:100%; }
.gallery-card picture img,.film__card picture img { width:100%; height:100%; object-fit:cover; }
.film { position:relative; min-height:100svh; padding:clamp(90px,11vw,170px) var(--pad); display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(50px,8vw,130px); align-items:center; overflow:hidden; background:radial-gradient(circle at 75% 38%,rgba(202,255,125,.12),transparent 27%),var(--ink); color:var(--cream); }
.film::before { content:''; position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent,#000 28%,#000 82%,transparent); }
.film__copy,.film__stage { position:relative; z-index:2; }
.film__copy h2 { margin:55px 0 28px; font:500 clamp(64px,8.5vw,145px)/.82 var(--display); letter-spacing:-.05em; }
.film__copy p { max-width:590px; color:rgba(255,255,255,.66); font-size:clamp(16px,1.25vw,20px); }
.film__facts { display:flex; flex-wrap:wrap; gap:8px; margin-top:38px; }
.film__facts span { padding:9px 13px; border:1px solid rgba(255,255,255,.18); border-radius:999px; font-size:8px; letter-spacing:.14em; }
.film__stage { min-height:760px; display:grid; place-items:center; }
.film__halo { position:absolute; width:min(690px,80vw); aspect-ratio:1; border:1px solid rgba(202,255,125,.18); border-radius:50%; box-shadow:inset 0 0 130px rgba(202,255,125,.06),0 0 100px rgba(202,255,125,.05); }
.film__video-shell { position:relative; z-index:3; width:min(390px,64vw); aspect-ratio:9/16; overflow:hidden; border-radius:42px; border:1px solid rgba(255,255,255,.25); background:#0b1c16; box-shadow:0 40px 110px rgba(0,0,0,.48); }
.film__video-shell video { width:100%; height:100%; display:block; object-fit:cover; }
.film__video-shell::after { content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 0 10px rgba(7,19,15,.14); }
.film__toggle { position:absolute; z-index:4; left:50%; bottom:22px; transform:translateX(-50%); min-width:170px; display:flex; align-items:center; justify-content:center; gap:10px; padding:12px 17px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(7,19,15,.72); color:var(--white); backdrop-filter:blur(14px); cursor:pointer; }
.film__toggle span { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; background:var(--acid); color:var(--ink); font-size:10px; }
.film__toggle b { font-size:9px; letter-spacing:.04em; }
.film__card { position:absolute; z-index:1; width:300px; aspect-ratio:4/3; overflow:hidden; border-radius:22px; border:1px solid rgba(255,255,255,.16); box-shadow:0 25px 70px rgba(0,0,0,.33); opacity:.72; }
.film__card--one { left:2%; top:13%; transform:rotate(-8deg); }
.film__card--two { right:0; bottom:10%; transform:rotate(8deg); }
.film--compact { min-height:auto; padding-top:90px; padding-bottom:90px; grid-template-columns:.9fr 1.1fr; }
.film--compact .film__stage { min-height:650px; }
.film--compact .film__copy h2 { font-size:clamp(58px,7.5vw,112px); }
.gallery-filters { margin:38px 0 12px; display:flex; flex-wrap:wrap; gap:8px; }
.gallery-filters button { padding:11px 16px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--ink); font-size:9px; font-weight:800; letter-spacing:.06em; cursor:pointer; transition:.25s; }
.gallery-filters button:hover,.gallery-filters button.active { background:var(--ink); border-color:var(--ink); color:var(--acid); }
.gallery-grid--full { grid-template-columns:repeat(12,1fr); grid-auto-rows:clamp(105px,8vw,145px); }
.gallery-grid--full .gallery-card--full { grid-column:span 4; grid-row:span 3; }
.gallery-grid--full .gallery-card--full:nth-child(7n+1) { grid-column:span 8; grid-row:span 4; }
.gallery-grid--full .gallery-card--full:nth-child(7n+4) { grid-column:span 4; grid-row:span 5; }
.gallery-grid--full .gallery-card--full:nth-child(7n+6) { grid-column:span 8; grid-row:span 3; }
.gallery-grid--full .image-reveal { clip-path:inset(0 0 0 0 round 21px); }
.gallery-grid--full .gallery-card[hidden] { display:none; }
.gallery-empty { margin:40px 0 0; color:var(--muted); }
.lightbox__frame { position:relative; width:min(92vw,1500px); height:min(88vh,1000px); display:grid; place-items:center; }
.lightbox__frame img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.lightbox__nav { position:absolute; z-index:3; top:50%; transform:translateY(-50%); width:50px; height:50px; border:1px solid rgba(255,255,255,.24); border-radius:50%; color:var(--white); background:rgba(7,19,15,.55); backdrop-filter:blur(12px); cursor:pointer; }
.lightbox__nav--prev { left:14px; }
.lightbox__nav--next { right:14px; }
.lightbox__caption { position:absolute; z-index:3; left:50%; bottom:-36px; transform:translateX(-50%); color:rgba(255,255,255,.72); font-size:9px; letter-spacing:.13em; white-space:nowrap; }
@media (max-width:1000px) {
  .film { grid-template-columns:1fr; }
  .film__copy { max-width:760px; }
  .film__stage { min-height:700px; }
  .gallery-grid--full .gallery-card--full { grid-column:span 6; }
  .gallery-grid--full .gallery-card--full:nth-child(7n+1),.gallery-grid--full .gallery-card--full:nth-child(7n+6) { grid-column:span 12; }
  .gallery-grid--full .gallery-card--full:nth-child(7n+4) { grid-column:span 6; }
}
@media (max-width:780px) {
  .film { padding-left:20px; padding-right:20px; }
  .film__stage,.film--compact .film__stage { min-height:610px; }
  .film__video-shell { width:min(340px,82vw); border-radius:32px; }
  .film__card { width:190px; opacity:.46; }
  .film__card--one { left:-30px; top:7%; }
  .film__card--two { right:-25px; bottom:4%; }
  .gallery-grid--full { grid-template-columns:1fr 1fr; grid-auto-rows:230px; }
  .gallery-grid--full .gallery-card--full,.gallery-grid--full .gallery-card--full:nth-child(7n+1),.gallery-grid--full .gallery-card--full:nth-child(7n+4),.gallery-grid--full .gallery-card--full:nth-child(7n+6) { grid-column:auto; grid-row:auto; }
  .gallery-grid--full .gallery-card--full:nth-child(5n+1) { grid-column:1/-1; }
  .lightbox__nav { top:auto; bottom:10px; transform:none; }
  .lightbox__nav--prev { left:50%; margin-left:-66px; }
  .lightbox__nav--next { right:50%; margin-right:-66px; }
  .lightbox__caption { bottom:-28px; max-width:80vw; overflow:hidden; text-overflow:ellipsis; }
}
@media (max-width:460px) {
  .gallery-grid--full { grid-template-columns:1fr; grid-auto-rows:290px; }
  .gallery-grid--full .gallery-card--full:nth-child(5n+1) { grid-column:auto; }
  .film__copy h2 { font-size:17vw; }
}
