/* ===== Inner pages (layout A) ===== */
.pg-hero{position:relative;min-height:76svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;padding:200px 0 90px}
.pg-hero>img.bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.04)}
.pg-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(26,4,8,.7) 0%,rgba(42,7,16,.35) 42%,rgba(26,4,8,.94) 100%)}
.pg-hero.plain::before{background:radial-gradient(circle at 80% 30%,rgba(201,162,77,.22),transparent 45%),linear-gradient(160deg,#5c1426,#1a0408)}
.pg-hero .a-frame{z-index:0}
.pg-hero .lead{color:#ead9c9}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.86rem;color:#ead9c9;margin-bottom:22px}
.crumbs a{color:#ecd396}
.crumbs .s{width:5px;height:5px;border:1px solid #c9a24d;transform:rotate(45deg)}
.pg-emblem{position:absolute;right:clamp(20px,8vw,140px);top:52%;transform:translateY(-50%);width:clamp(170px,24vw,320px);aspect-ratio:1;display:grid;place-items:center;color:#ddb96a;z-index:0}
.pg-emblem::before{content:"";position:absolute;inset:13%;border:1px solid rgba(221,185,106,.45);transform:rotate(45deg)}
.pg-emblem::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(221,185,106,.3)}
.pg-emblem svg{width:44%;height:44%}
@media (max-width:767px){.pg-emblem{opacity:.3;right:-40px;top:40%}.pg-hero{padding:150px 0 70px;min-height:68svh}}

/* facts bar */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-radius:24px;overflow:hidden;border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow);margin-top:-48px;position:relative;z-index:3}
.facts>div{padding:22px 24px;border-left:1px solid var(--line)}
.facts>div:first-child{border-left:0}
.facts .v{font-family:var(--serif);font-size:1.6rem;line-height:1.15;font-weight:500;margin:4px 0 0}
@media (max-width:767px){.facts{grid-template-columns:1fr 1fr}.facts>div:nth-child(3){border-left:0}.facts>div:nth-child(n+3){border-top:1px solid var(--line)}}

/* room mosaic */
.rm-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;grid-auto-flow:dense;gap:12px}
.rm-mosaic a{position:relative;border-radius:16px;overflow:hidden;display:block}
.rm-mosaic a.big{grid-column:span 2;grid-row:span 2;border-radius:999px 999px 16px 16px}
.rm-mosaic a.wide{grid-column:span 2}
.rm-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.rm-mosaic a:hover img{transform:scale(1.06)}
.rm-mosaic a::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(221,185,106,0);transition:border-color .4s}
.rm-mosaic a:hover::after{border-color:rgba(221,185,106,.8)}
.rm-mosaic .zoom{position:absolute;right:12px;bottom:12px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(26,4,8,.6);color:#ecd396;opacity:0;transition:opacity .3s;backdrop-filter:blur(4px)}
.rm-mosaic .zoom svg{width:16px;height:16px}
.rm-mosaic a:hover .zoom{opacity:1}
@media (max-width:767px){.rm-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.rm-mosaic a.big{grid-column:span 2;grid-row:span 2}}

/* story + booking */
.story p.lead{margin:0 0 18px}
.made-for{display:flex;gap:16px;align-items:center;margin-top:28px;padding:18px 20px;border-radius:18px;border:1px solid var(--line-strong);background:var(--surface-2)}
.made-for .motif-icon{width:46px;height:46px;flex:none}
.made-for p{margin:0;font-family:var(--serif);font-size:1.3rem;line-height:1.3;font-style:italic}
.book-card{position:sticky;top:96px;border-radius:26px;padding:26px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow)}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1023px){.feat-grid{grid-template-columns:1fr 1fr}.book-card{position:relative;top:0}}
@media (max-width:560px){.feat-grid{grid-template-columns:1fr}}

/* service mini cards */
.svc-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc-mini a{display:flex;gap:14px;align-items:center;padding:18px;border-radius:18px;border:1px solid rgba(221,185,106,.35);background:rgba(26,4,8,.35);transition:border-color .3s,transform .3s var(--ease)}
.svc-mini a:hover{border-color:#ddb96a;transform:translateY(-3px)}
.svc-mini .ic2{flex:none;width:46px;height:46px;border-radius:12px;rotate:45deg;display:grid;place-items:center;border:1px solid rgba(221,185,106,.55);color:#ecd396}
.svc-mini .ic2 svg{rotate:-45deg;width:19px;height:19px}
@media (max-width:767px){.svc-mini{grid-template-columns:1fr}}

/* prev / next */
.pn{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:26px 0;border-block:1px solid var(--line)}
.pn a{display:flex;align-items:center;gap:14px}
.pn small{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}
.pn b{font-family:var(--serif);font-weight:500;font-size:1.5rem}

/* rooms overview rows */
.ro-row{display:grid;grid-template-columns:7fr 5fr;gap:clamp(28px,5vw,70px);align-items:center}
.ro-row.flip .ro-pics{order:2}
.ro-pics{position:relative;height:500px}
.ro-pics .p1{position:absolute;left:0;top:0;width:76%;height:88%;border-radius:24px;overflow:hidden}
.ro-pics .p2{position:absolute;right:0;bottom:0;width:44%;height:52%;border-radius:999px 999px 20px 20px;overflow:hidden;border:5px solid var(--bg);box-shadow:var(--shadow)}
.ro-row.flip .ro-pics .p1{left:auto;right:0}
.ro-row.flip .ro-pics .p2{right:auto;left:0}
.ro-pics img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.ro-pics a:hover img{transform:scale(1.05)}
.ro-pics .num{position:absolute;left:18px;top:14px;z-index:2;font-family:var(--serif);font-style:italic;font-size:3rem;color:#ecd396;text-shadow:0 4px 16px rgba(0,0,0,.5)}
.ro-row.flip .ro-pics .num{left:auto;right:18px}
@media (max-width:1023px){.ro-row{grid-template-columns:1fr}.ro-row.flip .ro-pics{order:0}.ro-pics{height:380px}}
.cmp-wrap{overflow-x:auto;border-radius:22px;border:1px solid var(--line-strong);background:var(--surface)}
.cmp{width:100%;border-collapse:collapse;min-width:760px}
.cmp th,.cmp td{padding:15px 14px;border-bottom:1px solid var(--line);text-align:center;font-size:.94rem}
.cmp th:first-child,.cmp td:first-child{text-align:left;color:var(--muted)}
.cmp thead th{font-family:var(--serif);font-weight:500;font-size:1.25rem;color:var(--text)}
.cmp thead th a:hover{color:var(--gold-ink)}
.cmp .y{color:var(--gold-ink)}.cmp .n{color:var(--muted);opacity:.45}
.cmp svg{width:18px;height:18px;display:inline}

/* amenities page */
.am-block{display:grid;grid-template-columns:7fr 5fr;gap:clamp(28px,5vw,70px);align-items:center}
.am-block.flip .am-pics{order:2}
.am-pics{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:12px}
.am-pics a{border-radius:16px;overflow:hidden;display:block}
.am-pics a:first-child{grid-column:span 2;grid-row:span 2;border-radius:24px}
.am-pics img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.am-pics a:hover img{transform:scale(1.05)}
.am-pics.six{grid-template-columns:repeat(3,1fr)}
.am-pics.six a:first-child{grid-column:span 2;grid-row:span 2}
@media (max-width:1023px){.am-block{grid-template-columns:1fr}.am-block.flip .am-pics{order:0}}
@media (max-width:560px){.am-pics{grid-auto-rows:110px}}
.am-ic{width:58px;height:58px;display:grid;place-items:center;position:relative;color:var(--gold-ink);margin-bottom:22px}
.am-ic::before{content:"";position:absolute;inset:0;border:1px solid var(--line-strong);transform:rotate(45deg);border-radius:12px}
.am-ic svg{width:24px;height:24px}
.am-points{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.am-points li{display:flex;gap:12px;align-items:flex-start;color:var(--text-soft)}
.am-points .dd{flex:none;width:8px;height:8px;margin-top:9px;border:1px solid var(--gold-500);transform:rotate(45deg)}

/* attractions page */
.at-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:1023px){.at-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.at-grid{grid-template-columns:1fr}}
.at-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--surface);transition:transform .45s var(--ease),border-color .45s,box-shadow .45s;height:100%}
.at-card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:var(--shadow)}
.at-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(var(--ang,140deg),#761a31,#1a0408)}
.at-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.at-card:hover .at-media img{transform:scale(1.06)}
.at-media .illu{position:absolute;inset:0;display:grid;place-items:center;color:#ddb96a}
.at-media .illu svg{width:64px;height:64px}
.at-media .illu::before{content:"";position:absolute;width:118px;height:118px;border:1px solid rgba(221,185,106,.4);transform:rotate(45deg)}
.at-media .illu::after{content:"";position:absolute;width:168px;height:168px;border-radius:50%;border:1px dashed rgba(221,185,106,.22)}
.at-media .chips{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.at-body{padding:22px;display:flex;flex-direction:column;flex:1}
.at-body h3{font-family:var(--serif);font-weight:500;font-size:1.6rem;line-height:1.1;margin:0 0 6px}
.at-body .area{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 10px;font-weight:500}
.at-body p{margin:0;color:var(--muted);font-size:.95rem}
.at-body .link{margin-top:auto;padding-top:16px}
.at-legend{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}

/* gallery page */
.g-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px}
.g-filters button{border:1px solid var(--line-strong);background:transparent;color:var(--text-soft);padding:.75rem 1.25rem;border-radius:999px;font-size:.95rem;cursor:pointer;transition:all .3s}
.g-filters button[aria-pressed="true"],.g-filters button:hover{background:var(--wine-700);border-color:var(--wine-700);color:#f6e7bf}
[data-theme="dark"] .g-filters button[aria-pressed="true"],[data-theme="dark"] .g-filters button:hover{background:var(--gold-500);border-color:var(--gold-500);color:#2a0710}
.g-filters button span{opacity:.6;margin-left:6px;font-size:.82rem}
.g-masonry{columns:3 280px;column-gap:16px}
.g-masonry a{display:block;position:relative;margin-bottom:16px;border-radius:16px;overflow:hidden;break-inside:avoid}
.g-masonry a.is-hidden{display:none}
.g-masonry img{width:100%;transition:transform 1.1s var(--ease)}
.g-masonry a:hover img{transform:scale(1.05)}
.g-masonry .cap{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 12px;background:linear-gradient(transparent,rgba(26,4,8,.85));color:#f6e7bf;font-family:var(--serif);font-size:1.15rem;opacity:0;transform:translateY(8px);transition:all .35s var(--ease)}
.g-masonry a:hover .cap,.g-masonry a:focus-visible .cap{opacity:1;transform:none}
@media (hover:none){.g-masonry .cap{opacity:1;transform:none}}
.rm-mosaic a.full{grid-column:1/-1}
.rm-mosaic a.sr-only{position:absolute}
@media (max-width:767px){.rm-mosaic a.wide,.rm-mosaic a.full{grid-column:span 2}}

/* concierge tile that completes an attractions row */
.at-concierge{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:34px;border-radius:22px;border:1px solid rgba(221,185,106,.45);position:relative;overflow:hidden}
.at-concierge .motif-icon{width:54px;height:54px;opacity:1}
@media (max-width:1023px){.at-concierge{grid-column:1/-1}}

.facts-5{grid-template-columns:repeat(5,1fr)}
.facts-5>a{display:block;padding:22px 24px;border-left:1px solid var(--line);transition:background .3s}
.facts-5>a:first-child{border-left:0}
.facts-5>a:hover{background:var(--surface-2)}
@media (max-width:900px){.facts-5{grid-template-columns:repeat(3,1fr)}.facts-5>a:nth-child(4){border-left:0}.facts-5>a:nth-child(n+4){border-top:1px solid var(--line)}}
@media (max-width:560px){.facts-5{grid-template-columns:1fr 1fr}.facts-5>a{border-left:1px solid var(--line)!important;border-top:1px solid var(--line)}.facts-5>a:nth-child(odd){border-left:0!important}.facts-5>a:nth-child(-n+2){border-top:0}}
