.cabin-comparisons-page { overflow: hidden; }
.cabin-comparisons-page .section { padding-block: clamp(4rem, 8vw, 6rem); }
.cabin-comparisons-page .cc-section-intro { max-width: 62ch; margin-bottom: var(--space-6); }
.cabin-comparisons-page .cc-section-intro > :last-child { margin-bottom: 0; }
.cabin-comparisons-page .cc-lead { padding-top: var(--space-9); }
.cabin-comparisons-page .cc-lead__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.cabin-comparisons-page .cc-lead__copy { grid-column: span 5; display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); }
.cabin-comparisons-page .cc-lead__copy > * { min-width: 0; margin: 0; }
.cabin-comparisons-page .cc-lead__copy h1 { max-width: 18ch; }
.cabin-comparisons-page .cc-lead__prose { max-width: 64ch; }
.cabin-comparisons-page .cc-lead__image { grid-column: span 7; width: 100%; min-width: 0; margin: 0; }
.cabin-comparisons-page .cc-image-frame { position: relative; overflow: hidden; border: 1px solid var(--color-line); background: var(--color-surface); clip-path: var(--clip-panel); }
.cabin-comparisons-page .cc-image-frame::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(184,242,61,.24) 50%, transparent 52%); content: ""; opacity: 0; pointer-events: none; transition: opacity var(--transition-base), transform var(--transition-base); transform: translateY(-70%); }
.cabin-comparisons-page .cc-image-frame:hover::after { opacity: .55; transform: translateY(70%); }
.cabin-comparisons-page .cc-image-frame img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.cabin-comparisons-page .cc-image-frame figcaption { padding: var(--space-3) var(--space-4); margin: 0; background: var(--color-void-elevated); }
.cabin-comparisons-page .cc-scope { grid-column: 1 / span 5; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.cabin-comparisons-page .cc-scope__item { display: flex; flex-direction: column; min-width: 0; gap: var(--space-1); color: var(--color-text-secondary); font-size: var(--text-meta); line-height: 1.45; }
.cabin-comparisons-page .cc-scope__item:last-child { grid-column: span 2; }
.cabin-comparisons-page .cc-scope__item .label { font-size: var(--text-meta); }
.cabin-comparisons-page .cc-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.cabin-comparisons-page .cc-category { position: relative; display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }
.cabin-comparisons-page .cc-category > * { margin: 0; }
.cabin-comparisons-page .cc-category h3 { max-width: 14ch; }
.cabin-comparisons-page .cc-signals { display: grid; grid-template-columns: 1fr; gap: var(--space-2); font-size: var(--text-meta); }
.cabin-comparisons-page .cc-signals span { display: flex; justify-content: space-between; gap: var(--space-2); color: var(--color-text-secondary); }
.cabin-comparisons-page .cc-signals strong { color: var(--color-text-primary); font-family: var(--font-heading); font-size: .7rem; font-weight: 600; text-align: right; text-transform: uppercase; }
.cabin-comparisons-page .cc-category p:not(.coordinate) { font-size: .92rem; line-height: 1.55; }
.cabin-comparisons-page .cc-card-annotation { color: var(--color-bio-signal); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 600; letter-spacing: .1em; opacity: 0; text-transform: uppercase; transition: opacity var(--transition-fast); }
.cabin-comparisons-page .cc-category:hover, .cabin-comparisons-page .cc-category:focus-within { border-color: var(--color-bio-signal); }
.cabin-comparisons-page .cc-category:hover .cc-card-annotation, .cabin-comparisons-page .cc-category:focus-within .cc-card-annotation, .cabin-comparisons-page .cc-card-annotation--visible { opacity: 1; }
.cabin-comparisons-page .cc-diagnostic-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.cabin-comparisons-page .cc-sleep, .cabin-comparisons-page .cc-storage, .cabin-comparisons-page .cc-bathroom, .cabin-comparisons-page .cc-diagnostic-note { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }
.cabin-comparisons-page .cc-sleep > *, .cabin-comparisons-page .cc-storage > *, .cabin-comparisons-page .cc-bathroom > *, .cabin-comparisons-page .cc-diagnostic-note > * { margin: 0; }
.cabin-comparisons-page .cc-sleep { grid-column: span 7; }
.cabin-comparisons-page .cc-storage { grid-column: span 5; }
.cabin-comparisons-page .cc-bathroom { grid-column: span 5; }
.cabin-comparisons-page .cc-diagnostic-note { grid-column: span 7; justify-content: center; }
.cabin-comparisons-page .cc-route-motif { display: flex; align-items: center; min-height: 42px; gap: var(--space-2); }
.cabin-comparisons-page .cc-route-motif span { display: block; height: 1px; background: var(--color-line); }
.cabin-comparisons-page .cc-route-motif span:nth-child(1) { width: 26%; }.cabin-comparisons-page .cc-route-motif span:nth-child(2) { width: 38%; background: var(--color-bio-signal); }.cabin-comparisons-page .cc-route-motif span:nth-child(3) { width: 20%; }
.cabin-comparisons-page .cc-check-list { display: grid; grid-template-columns: 1fr; gap: var(--space-2); }
.cabin-comparisons-page .cc-check-list span { padding: var(--space-2) var(--space-3); border-left: 2px solid var(--color-line); background: var(--color-void-elevated); color: var(--color-text-secondary); font-size: .875rem; }
.cabin-comparisons-page .cc-warning-tag { align-self: flex-start; padding: .3rem .45rem; border: 1px solid var(--color-warning); color: var(--color-warning); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 600; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.cabin-comparisons-page .cc-light-note { max-width: 62ch; margin: var(--space-5) 0 0 calc((100% / 12) + var(--space-5)); padding: var(--space-5); border-left: 4px solid var(--color-bio-signal-soft); background: var(--color-surface); }
.cabin-comparisons-page .cc-light-note > :last-child { margin-bottom: 0; }
.cabin-comparisons-page .cc-profile-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4); }
.cabin-comparisons-page .cc-profile { grid-column: span 3; display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }
.cabin-comparisons-page .cc-profile > * { margin: 0; }
.cabin-comparisons-page .cc-profile--family, .cabin-comparisons-page .cc-profile--access { grid-column: span 6; }
.cabin-comparisons-page .cc-tags { display: flex; flex-wrap: wrap; min-width: 0; gap: var(--space-2); }
.cabin-comparisons-page .cc-tags span { padding: .3rem .45rem; border: 1px solid var(--color-line); color: var(--color-text-secondary); font-family: var(--font-heading); font-size: var(--text-meta); letter-spacing: .05em; line-height: 1.2; text-transform: uppercase; }
.cabin-comparisons-page .cc-profile p { font-size: .92rem; line-height: 1.55; }
.cabin-comparisons-page .cc-access-note { padding: var(--space-3); border: 1px solid var(--color-warning); color: var(--color-warning); }
.cabin-comparisons-page .cc-location-split { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.cabin-comparisons-page .cc-location__image { grid-column: span 7; width: 100%; min-width: 0; margin: 0; }.cabin-comparisons-page .cc-location__image img { aspect-ratio: 3 / 2; }
.cabin-comparisons-page .cc-location-lead { grid-column: span 5; display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }.cabin-comparisons-page .cc-location-lead > * { margin: 0; }
.cabin-comparisons-page .cc-caution { padding: var(--space-3); border-left: 2px solid var(--color-warning); color: var(--color-text-secondary); font-size: .875rem; }
.cabin-comparisons-page .cc-location-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-5); }
.cabin-comparisons-page .cc-location-card { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }.cabin-comparisons-page .cc-location-card > * { margin: 0; }.cabin-comparisons-page .cc-location-card p { font-size: .9rem; line-height: 1.55; }
.cabin-comparisons-page .cc-adjacency { display: grid; grid-template-columns: 1fr; gap: 1px; border: 1px solid var(--color-line); background: var(--color-line); }.cabin-comparisons-page .cc-adjacency span { padding: var(--space-2); background: var(--color-void-elevated); color: var(--color-text-secondary); font-family: var(--font-heading); font-size: var(--text-meta); letter-spacing: .08em; text-transform: uppercase; }.cabin-comparisons-page .cc-adjacency span:nth-child(2) { background: var(--color-bio-signal-soft); color: var(--color-text-primary); }
.cabin-comparisons-page .cc-step-list { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
.cabin-comparisons-page .cc-step { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr); align-items: stretch; min-width: 0; gap: var(--space-4); }.cabin-comparisons-page .cc-step > * { min-width: 0; }
.cabin-comparisons-page .cc-step__number { display: flex; align-items: flex-start; color: var(--color-bio-signal); font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.cabin-comparisons-page .cc-step__body { display: flex; flex-direction: column; gap: var(--space-3); }.cabin-comparisons-page .cc-step__body > * { margin: 0; }
.cabin-comparisons-page .cc-step__note { padding-top: var(--space-4); border-top: 1px solid var(--color-line); color: var(--color-text-secondary); }.cabin-comparisons-page .cc-step__note p { margin-top: var(--space-2); font-size: .875rem; }
.cabin-comparisons-page .cc-worksheet-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }.cabin-comparisons-page .cc-nonnegotiables { grid-column: span 4; }.cabin-comparisons-page .cc-tradeoffs { grid-column: span 8; }.cabin-comparisons-page .cc-unconfirmed { grid-column: 5 / span 8; }
.cabin-comparisons-page .cc-nonnegotiables, .cabin-comparisons-page .cc-tradeoffs, .cabin-comparisons-page .cc-unconfirmed { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }.cabin-comparisons-page .cc-nonnegotiables > *, .cabin-comparisons-page .cc-tradeoffs > *, .cabin-comparisons-page .cc-unconfirmed > * { margin: 0; }
.cabin-comparisons-page .cc-static-checks { display: grid; gap: var(--space-2); padding: 0; list-style: none; }.cabin-comparisons-page .cc-static-checks li { display: flex; gap: var(--space-2); color: var(--color-text-secondary); }.cabin-comparisons-page .cc-static-checks li::before { width: .8rem; height: .8rem; flex: 0 0 auto; margin-top: .35rem; border: 1px solid var(--color-bio-signal); content: ""; }
.cabin-comparisons-page .cc-contrast-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }.cabin-comparisons-page .cc-contrast-grid > div { min-width: 0; padding: var(--space-3); border: 1px solid var(--color-line); }.cabin-comparisons-page .cc-contrast-grid strong { display: block; margin-top: var(--space-1); font-family: var(--font-heading); }.cabin-comparisons-page .cc-contrast-grid p { margin: var(--space-2) 0 0; color: var(--color-text-secondary); font-size: .875rem; }
.cabin-comparisons-page .cc-research-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }.cabin-comparisons-page .cc-research-card { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }.cabin-comparisons-page .cc-research-card > * { margin: 0; }.cabin-comparisons-page .cc-editorial-link { display: inline-flex; min-height: 44px; align-items: center; align-self: flex-start; gap: var(--space-2); font-family: var(--font-heading); font-weight: 600; }.cabin-comparisons-page .cc-editorial-link span { transition: transform var(--transition-fast); }.cabin-comparisons-page .cc-editorial-link:hover span { transform: translateX(4px); }
.cabin-comparisons-page .cc-faq-shell { width: min(100%, 62.5rem); margin-inline: auto; }.cabin-comparisons-page .cc-faq-list { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }.cabin-comparisons-page .cc-faq-list details { margin: 0; clip-path: var(--clip-panel); }.cabin-comparisons-page .cc-faq-list details[open] { background: var(--color-surface-raised); }.cabin-comparisons-page .cc-faq-list p { max-width: 64ch; }.cabin-comparisons-page .cc-warning-copy { color: var(--color-warning); font-family: var(--font-heading); font-size: var(--text-label); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cabin-comparisons-page .cc-final { padding-bottom: var(--space-11); }.cabin-comparisons-page .cc-final-panel { width: min(100%, 50rem); margin-inline: auto; display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); border-top: 3px solid var(--color-bio-signal); }.cabin-comparisons-page .cc-final-panel > * { margin: 0; }.cabin-comparisons-page .cc-final-panel p { max-width: 58ch; }.cabin-comparisons-page .cc-final-links { display: flex; flex-wrap: wrap; min-width: 0; gap: var(--space-3); }.cabin-comparisons-page .cc-final-links a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 var(--space-3); border: 1px solid var(--color-line); font-family: var(--font-heading); font-size: var(--text-nav); font-weight: 600; }
@media (max-width: 1079px) { .cabin-comparisons-page .cc-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.cabin-comparisons-page .cc-category h3 { max-width: none; } }
@media (max-width: 999px) { .cabin-comparisons-page .cc-location-split { grid-template-columns: 1fr; }.cabin-comparisons-page .cc-location-lead, .cabin-comparisons-page .cc-location__image { grid-column: 1; }.cabin-comparisons-page .cc-location-lead { order: 1; }.cabin-comparisons-page .cc-location__image { order: 2; }.cabin-comparisons-page .cc-location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 959px) { .cabin-comparisons-page .cc-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.cabin-comparisons-page .cc-profile, .cabin-comparisons-page .cc-profile--family, .cabin-comparisons-page .cc-profile--access { grid-column: span 1; }.cabin-comparisons-page .cc-diagnostic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.cabin-comparisons-page .cc-sleep, .cabin-comparisons-page .cc-storage, .cabin-comparisons-page .cc-bathroom, .cabin-comparisons-page .cc-diagnostic-note { grid-column: span 1; }.cabin-comparisons-page .cc-light-note { margin-left: 0; } }
@media (max-width: 899px) { .cabin-comparisons-page .cc-lead__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }.cabin-comparisons-page .cc-lead__copy, .cabin-comparisons-page .cc-lead__image, .cabin-comparisons-page .cc-scope { grid-column: span 8; }.cabin-comparisons-page .cc-lead__image { order: 2; }.cabin-comparisons-page .cc-scope { order: 3; }.cabin-comparisons-page .cc-lead__copy h1 { font-size: clamp(2.8rem, 7vw, 4.5rem); }.cabin-comparisons-page .cc-step { grid-template-columns: minmax(0, 2fr) minmax(0, 6fr); }.cabin-comparisons-page .cc-step__note { grid-column: 2; padding-top: 0; border-top: 0; }.cabin-comparisons-page .cc-worksheet-grid { grid-template-columns: 1fr; }.cabin-comparisons-page .cc-nonnegotiables, .cabin-comparisons-page .cc-tradeoffs, .cabin-comparisons-page .cc-unconfirmed { grid-column: 1; }.cabin-comparisons-page .cc-research-grid { grid-template-columns: 1fr; } }
@media (max-width: 639px) { .cabin-comparisons-page .section { padding-block: 3.5rem; }.cabin-comparisons-page .cc-lead { padding-top: var(--space-7); }.cabin-comparisons-page .cc-lead__grid, .cabin-comparisons-page .cc-diagnostic-grid, .cabin-comparisons-page .cc-profile-grid { grid-template-columns: 1fr; gap: var(--space-4); }.cabin-comparisons-page .cc-lead__copy, .cabin-comparisons-page .cc-lead__image, .cabin-comparisons-page .cc-scope, .cabin-comparisons-page .cc-sleep, .cabin-comparisons-page .cc-storage, .cabin-comparisons-page .cc-bathroom, .cabin-comparisons-page .cc-diagnostic-note, .cabin-comparisons-page .cc-profile, .cabin-comparisons-page .cc-profile--family, .cabin-comparisons-page .cc-profile--access { grid-column: 1; }.cabin-comparisons-page .cc-lead__copy h1 { font-size: var(--text-display); }.cabin-comparisons-page .cc-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); }.cabin-comparisons-page .cc-category-grid, .cabin-comparisons-page .cc-location-grid { grid-template-columns: 1fr; }.cabin-comparisons-page .cc-location-grid { gap: var(--space-4); }.cabin-comparisons-page .cc-step { grid-template-columns: 1fr; gap: var(--space-3); }.cabin-comparisons-page .cc-step__number, .cabin-comparisons-page .cc-step__note { grid-column: 1; }.cabin-comparisons-page .cc-step__number { font-size: 2.5rem; }.cabin-comparisons-page .cc-step__note { padding: var(--space-3); border-top: 1px solid var(--color-line); background: var(--color-void-elevated); }.cabin-comparisons-page .cc-contrast-grid { grid-template-columns: 1fr; }.cabin-comparisons-page .cc-final-panel { width: 100%; }.cabin-comparisons-page .cc-final-links { flex-direction: column; }.cabin-comparisons-page .cc-final-links a { width: 100%; }.cabin-comparisons-page .cc-faq-shell { width: 100%; } }
@media (max-width: 379px) { .cabin-comparisons-page .cc-scope { grid-template-columns: 1fr; }.cabin-comparisons-page .cc-scope__item:last-child { grid-column: 1; } }
@media (prefers-reduced-motion: reduce) { .cabin-comparisons-page .cc-image-frame::after { opacity: 0; transform: none; }.cabin-comparisons-page .cc-image-frame:hover::after { opacity: .18; transform: none; }.cabin-comparisons-page .cc-editorial-link:hover span { transform: none; } }