.kabiny-page {
  overflow: clip;
}

.kabiny-page .section {
  position: relative;
}

.kabiny-hero {
  position: relative;
  min-height: 45rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  isolation: isolate;
}

.kabiny-hero__media,
.kabiny-hero__media::after {
  position: absolute;
  inset: 0;
}

.kabiny-hero__media {
  z-index: -1;
}

.kabiny-hero__media::after {
  background: linear-gradient(90deg, rgba(7, 26, 43, 0.97) 0%, rgba(7, 26, 43, 0.9) 35%, rgba(7, 26, 43, 0.38) 68%, rgba(13, 57, 64, 0.08) 100%);
  content: "";
}

.kabiny-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
}

.kabiny-hero__inner {
  width: 100%;
  min-width: 0;
  padding-block: var(--space-10);
}

.kabiny-hero__panel {
  width: min(52%, 38.75rem);
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 3rem);
  border-radius: var(--radius-module);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.kabiny-hero__panel > * { margin: 0; }
.kabiny-hero__panel h1 { font-size: clamp(2.625rem, 5.3vw, 4.25rem); }
.kabiny-hero__lead { max-width: 41rem; font-size: var(--text-lead); line-height: var(--line-lead); }
.kabiny-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); width: 100%; }
.kabiny-hero__actions > * { min-width: 0; }

.kabiny-types__intro { max-width: 38.75rem; }
.kabiny-types__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-4);
}

.kabiny-type { min-width: 0; border: 1px solid var(--color-steel-border); border-radius: var(--radius-card); overflow: hidden; background: var(--color-deep-teal); transition: border-color var(--transition-base), transform var(--transition-base); }
.kabiny-type:hover { border-color: var(--color-copper-border); }
.kabiny-type--balcony { grid-column: span 5; }
.kabiny-type--inside { grid-column: span 2; margin-top: var(--space-8); }
.kabiny-type--window { grid-column: span 3; margin-top: var(--space-5); }
.kabiny-type--suite { grid-column: span 2; margin-top: var(--space-9); }
.kabiny-type__image { display: block; width: 100%; margin: 0; border-radius: 0; }
.kabiny-type--balcony .kabiny-type__image img { aspect-ratio: 4 / 3; }
.kabiny-type--window .kabiny-type__image img { aspect-ratio: 3 / 4; object-position: center top; }
.kabiny-type__content { position: relative; min-width: 0; padding: var(--space-5); }
.kabiny-type__content h3 { font-size: clamp(1.55rem, 2.1vw, 2rem); }
.kabiny-type--inside .kabiny-type__content,
.kabiny-type--suite .kabiny-type__content { padding: var(--space-4); }
.kabiny-type--inside .kabiny-type__content h3,
.kabiny-type--suite .kabiny-type__content h3 { font-size: 1.55rem; }
.kabiny-type__content p { margin-bottom: 0; }
.kabiny-type__number { display: block; margin-bottom: var(--space-3); color: rgba(224, 160, 120, 0.42); font-family: var(--font-heading); font-size: 4rem; line-height: 0.8; }

.kabiny-reading { background: linear-gradient(180deg, rgba(13, 57, 64, 0.28), transparent); }
.kabiny-reading__layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-8); }
.kabiny-reading__content { min-width: 0; }
.kabiny-reading__lead { max-width: 37.5rem; font-size: var(--text-lead); }
.kabiny-reading__rows { border-top: 1px solid var(--color-steel-border); }
.kabiny-reading__row { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; gap: var(--space-4); align-items: start; min-width: 0; padding: var(--space-5) 0; border-bottom: 1px solid var(--color-steel-border); }
.kabiny-reading__index { color: var(--color-copper-light); font-family: var(--font-mono); font-variant-numeric: tabular-nums; letter-spacing: var(--tracking-technical); }
.kabiny-reading__copy { min-width: 0; max-width: 43.75rem; }
.kabiny-reading__copy h3 { font-size: 1.65rem; }
.kabiny-reading__copy p { margin-bottom: 0; }
.kabiny-reading__diagram { width: 3rem; height: 2rem; margin-top: var(--space-2); border: 1px solid var(--color-polished-steel); background: linear-gradient(90deg, transparent 46%, var(--color-copper-light) 47% 53%, transparent 54%); }
.kabiny-reading__axis { display: flex; min-width: 0; flex-direction: column; align-items: flex-end; justify-content: center; gap: var(--space-4); color: var(--color-polished-steel); font-family: var(--font-mono); font-size: var(--text-micro); letter-spacing: var(--tracking-technical); writing-mode: vertical-rl; }
.kabiny-reading__axis i { width: 1px; height: 13rem; background: linear-gradient(var(--color-sunset-copper), transparent); }

.kabiny-interior__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: center; }
.kabiny-interior__figure { width: 100%; min-width: 0; margin: 0; }
.kabiny-interior__figure img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center; }
.kabiny-interior__figure figcaption { padding-inline: var(--space-2); }
.kabiny-interior__panel { min-width: 0; max-width: 33.75rem; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); }
.kabiny-interior__panel > * { margin: 0; }
.kabiny-interior__observations { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.kabiny-interior__observations article { min-width: 0; padding-bottom: var(--space-5); border-bottom: 1px solid var(--color-steel-border); }
.kabiny-interior__observations article:last-child { padding-bottom: 0; border-bottom: 0; }
.kabiny-interior__observations h3 { font-size: 1.65rem; }
.kabiny-interior__observations p { margin-bottom: 0; }

.kabiny-location__surface { padding: clamp(1.5rem, 5vw, 4rem); border-radius: var(--radius-module); }
.kabiny-location__intro { max-width: 41.25rem; }
.kabiny-location__scenarios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.kabiny-location__scenario { min-width: 0; padding-left: var(--space-4); border-left: 2px solid var(--color-sunset-copper); }
.kabiny-location__scenario > span { display: block; margin-bottom: var(--space-4); color: var(--color-sunset-copper); font-family: var(--font-mono); letter-spacing: var(--tracking-technical); }
.kabiny-location__scenario h3 { font-size: 1.65rem; }
.kabiny-location__scenario p { margin-bottom: 0; }
.kabiny-location__scenario--high { border-left-color: var(--color-deep-teal); }
.kabiny-location__scenario--high small { display: block; margin-bottom: var(--space-2); color: var(--color-deep-teal); font-family: var(--font-mono); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-technical); }
.kabiny-location__note { max-width: 48rem; margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid rgba(7, 26, 43, 0.24); }
.kabiny-location__note h3 { font-size: 1.75rem; }
.kabiny-location__note p { margin-bottom: 0; }

.kabiny-party__intro { max-width: 38rem; }
.kabiny-party__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.kabiny-party__card { min-width: 0; padding: var(--space-5); border: 1px solid var(--color-steel-border); border-radius: var(--radius-card); background: var(--color-smoked-glass); }
.kabiny-party__card h3 { font-size: 1.75rem; }
.kabiny-party__card p { max-width: 54ch; margin-bottom: 0; }
.kabiny-party__card--couple { grid-column: span 6; }
.kabiny-party__card--family { grid-column: span 4; background: var(--color-deep-teal); }
.kabiny-party__card--group { grid-column: 1 / span 8; }

.kabiny-suite__grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: start; }
.kabiny-suite__content { min-width: 0; }
.kabiny-suite__lead { max-width: 36.25rem; font-size: var(--text-lead); }
.kabiny-suite__criteria { border-top: 1px solid var(--color-steel-border); }
.kabiny-suite__criteria article { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding: var(--space-5) 0; border-bottom: 1px solid var(--color-steel-border); }
.kabiny-suite__criteria article > span { color: var(--color-copper-light); font-family: var(--font-mono); }
.kabiny-suite__criteria h3 { font-size: 1.65rem; }
.kabiny-suite__criteria p { max-width: 48ch; margin-bottom: 0; }
.kabiny-suite__link { display: inline-flex; min-height: 2.75rem; align-items: center; margin-top: var(--space-3); padding: 0.6875rem 1rem; border: 1px solid var(--color-steel-border); border-radius: var(--radius-card); color: var(--color-warm-pearl); text-decoration: none; }
.kabiny-suite__link:hover { border-color: var(--color-copper-border); color: var(--color-copper-light); }
.kabiny-suite__figure { width: 100%; min-width: 0; margin: 0; }
.kabiny-suite__figure img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center; }
.kabiny-suite__figure figcaption { padding-inline: var(--space-2); }

.kabiny-evening__intro { max-width: 40rem; }
.kabiny-evening__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.kabiny-evening__panel { min-width: 0; min-height: 100%; padding: var(--space-6); border: 1px solid var(--color-steel-border); border-radius: var(--radius-card); background: var(--color-deep-teal); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kabiny-evening__panel > * { margin: 0; }
.kabiny-evening__panel h3 { font-size: 1.8rem; }
.kabiny-evening__panel p { max-width: 52ch; }
.kabiny-evening__panel a { margin-top: auto; min-height: 2.75rem; display: inline-flex; align-items: center; }
.kabiny-evening__panel--casino { border-color: rgba(84, 37, 53, 0.9); background: linear-gradient(135deg, rgba(84, 37, 53, 0.56), var(--color-smoked-glass)); }

.kabiny-comparison__surface { padding: clamp(1.5rem, 5vw, 4rem); border-radius: var(--radius-module); }
.kabiny-comparison__intro { max-width: 38.75rem; }
.kabiny-comparison__table-wrap { margin-top: var(--space-6); overflow: hidden; border: 1px solid rgba(7, 26, 43, 0.2); border-radius: var(--radius-card); }
.kabiny-comparison table { color: var(--color-atlantic-navy); }
.kabiny-comparison th,
.kabiny-comparison td { color: rgba(7, 26, 43, 0.86); }
.kabiny-comparison thead th { color: var(--color-atlantic-navy); background: rgba(13, 57, 64, 0.08); }
.kabiny-comparison th:nth-child(1) { width: 22%; }
.kabiny-comparison th:nth-child(2) { width: 20%; }
.kabiny-comparison th:nth-child(3) { width: 20%; }
.kabiny-comparison th:nth-child(4) { width: 38%; }
.kabiny-comparison tbody tr { transition: background-color var(--transition-fast); }
.kabiny-comparison tbody tr:hover { background: rgba(196, 119, 77, 0.1); }
.kabiny-comparison__highlight td:nth-child(3) { color: var(--color-atlantic-navy); font-weight: var(--weight-semibold); text-decoration: underline 2px var(--color-sunset-copper); text-underline-offset: 0.3em; }
.kabiny-comparison__note { max-width: 47.5rem; margin-top: var(--space-6); padding-top: var(--space-4); border-top: 2px solid var(--color-sunset-copper); }
.kabiny-comparison__note h3 { font-size: 1.65rem; }
.kabiny-comparison__note p { margin-bottom: 0; }

.kabiny-next { background: linear-gradient(180deg, transparent, rgba(13, 57, 64, 0.52)); }
.kabiny-next__intro { max-width: 40rem; }
.kabiny-next__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
.kabiny-next__card { position: relative; display: flex; min-width: 0; min-height: 12rem; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-steel-border); border-radius: var(--radius-card); background: var(--color-smoked-glass); color: var(--color-warm-pearl); text-decoration: none; transition: border-color var(--transition-base), background-color var(--transition-base); }
.kabiny-next__card > * { margin: 0; }
.kabiny-next__card h3 { font-size: 1.75rem; }
.kabiny-next__card p { max-width: 44ch; }
.kabiny-next__card:hover { border-color: var(--color-copper-border); background: rgba(13, 57, 64, 0.78); color: var(--color-warm-pearl); }
.kabiny-next__arrow { margin-top: auto; color: var(--color-copper-light); font-size: 1.5rem; transition: transform var(--transition-fast); }
.kabiny-next__card:hover .kabiny-next__arrow { transform: translateX(0.35rem); }
.kabiny-next__note { max-width: 45rem; margin-top: var(--space-7); padding-top: var(--space-4); border-top: 1px solid var(--color-copper-border); }
.kabiny-next__note p { margin-top: var(--space-3); margin-bottom: 0; }

@media (max-width: 1080px) {
  .kabiny-types__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kabiny-type--balcony, .kabiny-type--inside, .kabiny-type--window, .kabiny-type--suite { grid-column: auto; margin-top: 0; }
  .kabiny-type--inside { order: 2; }
  .kabiny-type--window { order: 3; }
  .kabiny-type--suite { order: 4; }
}

@media (max-width: 979px) {
  .kabiny-hero { min-height: 0; display: block; background: var(--color-atlantic-navy); }
  .kabiny-hero__media { position: relative; height: max(15.625rem, 52vw); }
  .kabiny-hero__media::after { background: linear-gradient(180deg, transparent 50%, var(--color-atlantic-navy)); }
  .kabiny-hero__media img { object-position: 70% top; }
  .kabiny-hero__inner { padding-top: 0; padding-bottom: var(--section-space-compact); }
  .kabiny-hero__panel { width: 100%; max-width: 38.75rem; margin-top: calc(var(--space-8) * -1); padding: var(--space-5); background: var(--color-smoked-glass); }
  .kabiny-interior__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .kabiny-interior__panel { max-width: none; }
  .kabiny-location__scenarios { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kabiny-location__scenario--high { grid-column: 1 / -1; }
}

@media (max-width: 940px) {
  .kabiny-party__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kabiny-party__card--couple, .kabiny-party__card--family, .kabiny-party__card--group { grid-column: auto; }
  .kabiny-party__card--group { grid-column: 1 / -1; }
}

@media (max-width: 920px) {
  .kabiny-reading__layout { grid-template-columns: minmax(0, 1fr); }
  .kabiny-reading__axis { display: none; }
}

@media (max-width: 900px) {
  .kabiny-suite__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .kabiny-suite__figure { order: -1; }
  .kabiny-suite__content { width: 100%; }
  .kabiny-suite__lead { max-width: 36.25rem; }
  .kabiny-next__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 860px) {
  .kabiny-comparison__table-wrap { border: 0; overflow: visible; }
  .kabiny-comparison table, .kabiny-comparison tbody, .kabiny-comparison tr, .kabiny-comparison th, .kabiny-comparison td { display: block; width: 100%; }
  .kabiny-comparison thead { display: none; }
  .kabiny-comparison tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
  .kabiny-comparison tbody tr { min-width: 0; padding: var(--space-4); border: 1px solid rgba(7, 26, 43, 0.2); border-radius: var(--radius-card); background: rgba(255, 255, 255, 0.18); }
  .kabiny-comparison tbody th, .kabiny-comparison tbody td { padding: var(--space-2) 0; border-bottom: 1px solid rgba(7, 26, 43, 0.16); }
  .kabiny-comparison tbody td:last-child { border-bottom: 0; }
  .kabiny-comparison tbody td::before { display: block; margin-bottom: var(--space-1); color: rgba(7, 26, 43, 0.66); font-size: var(--text-micro); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; content: attr(data-label); }
  .kabiny-comparison tbody th::before { display: block; margin-bottom: var(--space-1); color: rgba(7, 26, 43, 0.66); font-size: var(--text-micro); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; content: attr(data-label); }
}

@media (max-width: 780px) {
  .kabiny-evening__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 680px) {
  .kabiny-location__scenarios { grid-template-columns: minmax(0, 1fr); }
  .kabiny-location__scenario--high { grid-column: auto; }
  .kabiny-comparison tbody { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 599px) {
  .kabiny-hero__panel { margin-top: calc(var(--space-6) * -1); padding: var(--space-4); }
  .kabiny-hero__panel h1 { font-size: clamp(2.5rem, 11vw, 2.875rem); }
  .kabiny-hero__lead { font-size: 1.0625rem; line-height: 1.65; }
  .kabiny-hero__actions { flex-direction: column; }
  .kabiny-hero__actions > * { width: 100%; }
  .kabiny-types__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .kabiny-type--balcony { order: 1; }
  .kabiny-type--inside { order: 2; }
  .kabiny-type--window { order: 3; }
  .kabiny-type--suite { order: 4; }
  .kabiny-type__content, .kabiny-type--inside .kabiny-type__content, .kabiny-type--suite .kabiny-type__content { padding: var(--space-4); }
  .kabiny-reading__row { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .kabiny-reading__row > :last-child { justify-self: start; }
  .kabiny-reading__copy { max-width: none; }
  .kabiny-reading__copy h3, .kabiny-interior__observations h3, .kabiny-suite__criteria h3 { font-size: 1.55rem; }
  .kabiny-interior__panel { gap: var(--space-4); }
  .kabiny-location__surface, .kabiny-comparison__surface { padding: var(--space-5); }
  .kabiny-location__scenarios { gap: var(--space-5); margin-top: var(--space-6); }
  .kabiny-party__grid { grid-template-columns: minmax(0, 1fr); }
  .kabiny-party__card--group { grid-column: auto; }
  .kabiny-party__card { padding: var(--space-5); }
  .kabiny-suite__criteria article { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .kabiny-evening__panel { padding: var(--space-5); }
  .kabiny-comparison tbody tr { padding: var(--space-4); }
  .kabiny-next__card { min-height: 9rem; padding: var(--space-5); }
}

@media (prefers-reduced-motion: reduce) {
  .kabiny-next__card:hover .kabiny-next__arrow { transform: none; }
}
