.kabiny-page {
  overflow: clip;
}

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

.kabiny-hero__grid,
.kabiny-position__primary,
.kabiny-position__secondary,
.kabiny-view__main,
.kabiny-view__checks,
.kabiny-layout__grid,
.kabiny-sound__grid,
.kabiny-profiles__grid,
.kabiny-access__grid,
.kabiny-check__grid {
  display: grid;
  min-width: 0;
  gap: var(--space-4);
}

.kabiny-hero__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
}

.kabiny-hero__copy { grid-column: 1 / span 6; min-width: 0; max-width: 40.625rem; }
.kabiny-hero__index { grid-column: 7 / span 2; min-width: 0; align-self: stretch; display: flex; flex-direction: column; justify-content: end; }
.kabiny-hero__media { grid-column: 9 / span 4; min-width: 0; width: 100%; aspect-ratio: 3 / 4; margin: 0; }
.kabiny-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.kabiny-hero__media figcaption { padding: var(--space-2) var(--space-3); border-top: var(--border-default); background: var(--color-module); }
.kabiny-hero__lead { max-width: 40.625rem; color: var(--color-text-secondary); font-size: var(--text-lead); line-height: var(--leading-lead); }

.kabiny-hero__index a { display: grid; grid-template-columns: 2rem minmax(0, 1fr); min-width: 0; gap: var(--space-2); padding: var(--space-3) 0; border-top: 1px solid var(--color-line); }
.kabiny-hero__index a:last-child { border-bottom: 1px solid var(--color-line); }
.kabiny-hero__index a:hover { transform: translateX(2px); }
.kabiny-index__code { color: var(--color-orange); font-family: var(--font-display); font-size: 1.25rem; line-height: 1; }
.kabiny-hero__index strong { display: block; font-size: var(--text-label); letter-spacing: .1em; text-transform: uppercase; }
.kabiny-hero__index small { display: block; margin-top: var(--space-1); color: var(--color-text-secondary); font-size: var(--text-small); line-height: var(--leading-small); }

.kabiny-section-head { min-width: 0; }
.kabiny-categories__head { width: min(100%, 38rem); }
.kabiny-categories__head > p:last-child { max-width: 36rem; color: var(--color-text-secondary); }
.kabiny-categories__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; margin-top: var(--space-6); }
.kabiny-category { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.kabiny-category > * { min-width: 0; margin: 0; }
.kabiny-category h3 { font-size: clamp(1.5rem, 2vw, 1.875rem); }
.kabiny-card__top { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: var(--space-2); }
.kabiny-card__top > * { min-width: 0; }
.kabiny-disclosure { width: fit-content; min-height: 2.75rem; padding: 0; border: 0; border-bottom: 1px solid var(--color-line); background: transparent; color: var(--color-text-secondary); font-size: var(--text-label); font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-align: left; text-transform: uppercase; }
.kabiny-disclosure:hover, .kabiny-disclosure[aria-expanded="true"] { border-color: var(--color-orange); color: var(--color-orange); transform: translateX(2px); }
.kabiny-disclosure__content { display: none; padding-left: var(--space-3); border-left: 2px solid var(--color-orange); color: var(--color-text-secondary); }
.kabiny-disclosure__content.is-open { display: block; }
.kabiny-disclosure__content p { margin: 0; }

.kabiny-position__head { width: min(100%, 42rem); }
.kabiny-position__primary { grid-template-columns: repeat(12, minmax(0, 1fr)); margin-top: var(--space-6); align-items: center; }
.kabiny-position__copy { grid-column: 1 / span 6; min-width: 0; max-width: 38rem; }
.kabiny-ship-map { grid-column: 7 / span 6; position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-3); padding: var(--space-7) 0 var(--space-4); }
.kabiny-ship-map__line { position: absolute; top: 3.4rem; right: 0; left: 0; height: 1px; background: var(--color-line); }
.kabiny-map-point { position: relative; z-index: 1; display: flex; min-width: 0; min-height: 2.75rem; flex-direction: column; align-items: center; justify-content: flex-start; gap: var(--space-2); border: 0; background: transparent; color: var(--color-text-secondary); font-size: var(--text-label); font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-align: center; text-transform: uppercase; }
.kabiny-map-point::before { width: .75rem; height: .75rem; border: 2px solid var(--color-orange); background: var(--color-bg); content: ""; }
.kabiny-map-point:hover, .kabiny-map-point[aria-pressed="true"] { color: var(--color-orange); }
.kabiny-map-point[aria-pressed="true"]::before { background: var(--color-orange); }
.kabiny-map-note { grid-column: 1 / -1; min-height: 3.25rem; margin: var(--space-4) 0 0; padding: var(--space-3); border-left: 2px solid var(--color-orange); background: var(--color-module); color: var(--color-text-secondary); font-size: var(--text-small); line-height: var(--leading-small); }
.kabiny-position__secondary { grid-template-columns: repeat(12, minmax(0, 1fr)); margin-top: var(--space-6); }
.kabiny-position-card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.kabiny-position-card > * { margin: 0; min-width: 0; }
.kabiny-position-card:first-child { grid-column: 1 / span 5; }
.kabiny-position-card:last-child { grid-column: 8 / span 5; }
.kabiny-position-card ul { padding-left: 1.25rem; color: var(--color-text-secondary); }
.kabiny-position-card--alert { border-color: var(--color-line); }

.kabiny-view__head { width: min(100%, 38rem); }
.kabiny-view__main { grid-template-columns: repeat(12, minmax(0, 1fr)); margin-top: var(--space-6); align-items: center; }
.kabiny-view__copy { grid-column: 1 / span 5; min-width: 0; max-width: 37.5rem; }
.kabiny-view__media { grid-column: 6 / span 7; width: 100%; min-width: 0; aspect-ratio: 16 / 9; margin: 0; }
.kabiny-view__media img { width: 100%; height: 100%; object-fit: cover; }
.kabiny-view__media figcaption { padding: var(--space-2) var(--space-3); border-top: var(--border-default); background: var(--color-module); }
.kabiny-view__checks { grid-template-columns: repeat(12, minmax(0, 1fr)); margin-top: var(--space-4); }
.kabiny-view__checks > article { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.kabiny-view__checks > article > * { margin: 0; }
.kabiny-view__checks > article:first-child { grid-column: 1 / span 3; }
.kabiny-view__checks > article:last-child { grid-column: 4 / span 4; }

.kabiny-layout__head { width: min(100%, 42rem); }
.kabiny-layout__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-6); }
.kabiny-layout-card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.kabiny-layout-card > * { min-width: 0; margin: 0; }
.kabiny-layout-card ul { padding-left: 1.25rem; color: var(--color-text-secondary); }
.kabiny-bed-diagram { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 10rem; height: 6rem; gap: var(--space-2); padding: var(--space-2); border: 1px solid var(--color-line); }
.kabiny-bed-diagram span { border: 1px solid var(--color-text-muted); background: transparent; }

.kabiny-sound__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
.kabiny-sound__media { grid-column: 1 / span 5; width: 100%; min-width: 0; aspect-ratio: 4 / 3; margin: 0; }
.kabiny-sound__media img { width: 100%; height: 100%; object-fit: cover; }
.kabiny-sound__media figcaption { padding: var(--space-2) var(--space-3); border-top: var(--border-default); background: var(--color-module); }
.kabiny-sound__copy { grid-column: 6 / span 7; min-width: 0; max-width: 40rem; }
.kabiny-sound-list { display: flex; min-width: 0; flex-direction: column; }
.kabiny-sound-list article { min-width: 0; padding: var(--space-4) 0; border-top: 1px solid var(--color-line); }
.kabiny-sound-list article:last-child { border-bottom: 1px solid var(--color-line); }
.kabiny-sound-list h3 { margin-bottom: var(--space-2); }
.kabiny-sound-list p { max-width: 26rem; margin: 0; color: var(--color-text-secondary); }
.kabiny-sound-list article:nth-child(2) { padding-left: var(--space-4); border-left: 2px solid var(--color-orange); }

.kabiny-profiles__head { width: min(100%, 39rem); }
.kabiny-profiles__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: var(--space-6); }
.kabiny-profiles__grid article { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.kabiny-profiles__grid article > * { min-width: 0; margin: 0; }
.kabiny-profiles__grid a { margin-top: auto; padding-top: var(--space-3); border-top: 1px solid var(--color-line); color: var(--color-text-secondary); font-size: var(--text-label); font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.kabiny-profiles__grid a:hover { border-color: var(--color-orange); color: var(--color-orange); transform: translateX(2px); }

.kabiny-access__head { width: min(100%, 42rem); }
.kabiny-access__intro { display: flex; width: min(100%, 42.5rem); min-width: 0; flex-direction: column; gap: var(--space-4); margin-top: var(--space-6); }
.kabiny-access__intro > * { margin: 0; }
.kabiny-access__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-4); }
.kabiny-access__grid article { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.kabiny-access__grid article > * { margin: 0; }

.kabiny-method__head { width: min(100%, 42rem); }
.kabiny-method__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); min-width: 0; gap: var(--space-4); margin: var(--space-6) 0 0; padding: var(--space-6) 0 0; list-style: none; border-top: 1px solid var(--color-line); }
.kabiny-method__steps li, .kabiny-method__steps a { min-width: 0; }
.kabiny-method__steps a { display: flex; min-height: 100%; flex-direction: column; gap: var(--space-3); padding-top: var(--space-3); border-top: 2px solid var(--color-line); }
.kabiny-method__steps a:hover { border-color: var(--color-orange); color: var(--color-text); transform: translateY(-2px); }
.kabiny-method__steps span { color: var(--color-orange); font-family: var(--font-display); font-size: 1.75rem; line-height: 1; }
.kabiny-method__steps h3, .kabiny-method__steps p { margin: 0; }
.kabiny-method__steps h3 { font-size: clamp(1.25rem, 1.8vw, 1.625rem); }
.kabiny-method__steps p { color: var(--color-text-secondary); font-size: var(--text-small); line-height: var(--leading-small); }
.kabiny-method__steps li:last-child a { border-color: var(--color-orange); }

.kabiny-check__head { width: min(100%, 38.75rem); }
.kabiny-check__head > p:last-child { color: var(--color-text-secondary); }
.kabiny-check__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); margin-top: var(--space-6); align-items: start; }
.kabiny-checklist { grid-column: 1 / span 7; display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.kabiny-priorities { grid-column: 8 / span 5; display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.kabiny-check fieldset { min-width: 0; padding: 0; border: 0; margin: 0; }
.kabiny-check legend { margin-bottom: var(--space-3); color: var(--color-text); font-family: var(--font-display); font-size: clamp(1.375rem, 2vw, 1.875rem); font-weight: 600; line-height: 1.05; letter-spacing: .01em; text-transform: uppercase; }
.kabiny-check label { display: flex; min-width: 0; min-height: 2.75rem; align-items: center; gap: var(--space-3); padding: var(--space-2) 0; border-bottom: 1px solid var(--color-line); color: var(--color-text-secondary); line-height: var(--leading-body); cursor: pointer; }
.kabiny-check label input { width: 1.25rem; min-width: 1.25rem; min-height: 1.25rem; }
.kabiny-priorities__note { margin: 0; padding-left: var(--space-3); border-left: 2px solid var(--color-orange); color: var(--color-text-secondary); }
.kabiny-live { min-height: 1.5rem; margin-top: var(--space-3); color: var(--color-text-secondary); font-size: var(--text-small); }

@media (max-width: 67.5rem) {
  .kabiny-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kabiny-hero__copy { grid-column: 1 / span 4; }
  .kabiny-hero__media { grid-column: 5 / span 2; }
  .kabiny-hero__index { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
  .kabiny-hero__index a { border-bottom: 1px solid var(--color-line); }
  .kabiny-categories__grid, .kabiny-profiles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kabiny-position__primary, .kabiny-view__main, .kabiny-sound__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kabiny-position__copy { grid-column: 1 / -1; }
  .kabiny-ship-map { grid-column: 1 / -1; }
  .kabiny-position__secondary { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kabiny-position-card:first-child { grid-column: 1 / span 3; }
  .kabiny-position-card:last-child { grid-column: 4 / span 3; }
  .kabiny-view__main { gap: var(--space-6); }
  .kabiny-view__copy { grid-column: 1 / -1; order: 2; }
  .kabiny-view__media { grid-column: 1 / -1; order: 1; }
  .kabiny-view__checks { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kabiny-view__checks > article:first-child { grid-column: 1 / span 3; }
  .kabiny-view__checks > article:last-child { grid-column: 4 / span 3; }
  .kabiny-layout__grid, .kabiny-access__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kabiny-layout-card:nth-child(1), .kabiny-layout-card:nth-child(2) { grid-column: span 3; }
  .kabiny-layout-card:nth-child(3) { grid-column: 1 / -1; }
  .kabiny-access__grid article:nth-child(1), .kabiny-access__grid article:nth-child(2) { grid-column: span 3; }
  .kabiny-access__grid article:nth-child(3) { grid-column: 1 / -1; }
  .kabiny-sound__media { grid-column: 1 / -1; }
  .kabiny-sound__copy { grid-column: 1 / -1; }
  .kabiny-method__steps { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kabiny-method__steps li:nth-child(-n+3) { grid-column: span 2; }
  .kabiny-method__steps li:nth-child(4) { grid-column: 2 / span 2; }
  .kabiny-method__steps li:nth-child(5) { grid-column: 4 / span 2; }
  .kabiny-check__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .kabiny-checklist, .kabiny-priorities { grid-column: 1 / -1; }
}

@media (max-width: 45rem) {
  .kabiny-hero__grid,
  .kabiny-position__primary,
  .kabiny-position__secondary,
  .kabiny-view__main,
  .kabiny-view__checks,
  .kabiny-layout__grid,
  .kabiny-sound__grid,
  .kabiny-profiles__grid,
  .kabiny-access__grid,
  .kabiny-check__grid { grid-template-columns: minmax(0, 1fr); }
  .kabiny-hero__copy, .kabiny-hero__index, .kabiny-hero__media,
  .kabiny-position__copy, .kabiny-ship-map, .kabiny-position-card:first-child, .kabiny-position-card:last-child,
  .kabiny-view__copy, .kabiny-view__media, .kabiny-view__checks > article:first-child, .kabiny-view__checks > article:last-child,
  .kabiny-layout-card:nth-child(1), .kabiny-layout-card:nth-child(2), .kabiny-layout-card:nth-child(3),
  .kabiny-sound__media, .kabiny-sound__copy,
  .kabiny-access__grid article:nth-child(1), .kabiny-access__grid article:nth-child(2), .kabiny-access__grid article:nth-child(3),
  .kabiny-checklist, .kabiny-priorities { grid-column: 1; }
  .kabiny-hero__index { display: flex; }
  .kabiny-hero__media { aspect-ratio: 4 / 3; }
  .kabiny-categories__grid, .kabiny-profiles__grid { grid-template-columns: minmax(0, 1fr); }
  .kabiny-view__main { gap: var(--space-4); }
  .kabiny-view__media { order: 1; }
  .kabiny-view__copy { order: 2; }
  .kabiny-view__checks { margin-top: var(--space-4); }
  .kabiny-ship-map { gap: var(--space-2); padding-top: var(--space-6); }
  .kabiny-map-point { font-size: .6875rem; }
  .kabiny-method__steps { display: flex; flex-direction: column; gap: 0; margin-top: var(--space-5); padding: 0 0 0 var(--space-5); border-top: 0; border-left: 1px solid var(--color-line); }
  .kabiny-method__steps li { position: relative; padding-bottom: var(--space-5); }
  .kabiny-method__steps li::before { position: absolute; top: var(--space-3); left: calc(-1 * var(--space-5) - .3125rem); width: .625rem; height: .625rem; border: 1px solid var(--color-orange); background: var(--color-bg); content: ""; }
  .kabiny-method__steps li:last-child::before { background: var(--color-orange); }
  .kabiny-method__steps a { padding-top: 0; border-top: 0; }
  .kabiny-method__steps li:nth-child(n) { grid-column: auto; }
  .kabiny-check label { min-height: 3rem; }
}
