/* Content-specific sizing; approved typography, paper, motion and navigation remain shared. */
.owner-headline { text-wrap: wrap; }
.owner-hero-finish { display: inline-block; white-space: nowrap; }
.owner-intro { text-transform: none; letter-spacing: .08em; line-height: 1.9; }
.owner-social-space { min-height: 5.5rem; }
.owner-destinations { max-width: 960px; padding-inline: 24px; }
.owner-entry-line { position: absolute; inset: 10px auto 0 18px; width: 1px; background: linear-gradient(var(--color-accent), var(--color-border) 35%, transparent); }
.owner-entry { position: relative; padding: 22px 0 24px 42px; }
.owner-entry-number { position: absolute; left: 18px; top: 26px; transform: translateX(-50%); padding: 0 5px; background: var(--color-root-bg); font-variant-numeric: tabular-nums; }
.owner-entry-link { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 32px; align-items: center; padding: 8px 0 24px; border-bottom: 1px solid color-mix(in srgb, var(--color-neutral-5) 17%, transparent); }
.owner-entry-copy { min-width: 0; }
.owner-entry h3 { transition: color 200ms ease; }
.owner-entry-description { margin-block: 10px 18px; line-height: 1.9; }
.owner-entry-action { display: inline-flex; align-items: center; gap: 12px; }
.owner-entry-action > span { display: inline-block; transition: transform 250ms cubic-bezier(.22, 1, .36, 1); }
.owner-entry-link:hover h3 { color: var(--color-accent); }
.owner-entry-link:hover .owner-entry-action > span { transform: translate(2px, -2px); }
.owner-cover { overflow: hidden; border-radius: 3px; background: var(--color-neutral-2); aspect-ratio: 1.52; }
.owner-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.22, 1, .36, 1); }
.owner-entry-link:hover .owner-cover img { transform: scale(1.025); }
.owner-entry-link:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 7px; border-radius: 3px; }
.owner-reserve { display: block; width: calc(100% - 42px); height: 70px; margin: 18px 0 0 42px; border: 1px solid color-mix(in srgb, var(--color-neutral-5) 12%, transparent); border-radius: 3px; background: transparent; cursor: default; }
.owner-footer-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px 24px; }
.owner-footer-links, .owner-settings { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; }
.owner-footer-links a:hover { color: var(--color-accent); }
.owner-domain { font-size: 11px; opacity: .8; }
.owner-settings { gap: 8px 20px; }
.owner-timeline { display: block; }
.owner-timeline-help { display: none; }
.owner-top-nav { display: flex; }
.owner-top-nav button:focus-visible,
.owner-top-nav a:focus-visible,
[data-timeline-index]:focus-visible,
[data-reader-status]:focus-visible,
footer button:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}
[data-timeline-index]:is(:focus-visible, [aria-expanded="true"]) > span {
  transform: scale(1.5);
}
.owner-entry-link:is(:focus-visible, :active) h3 { color: var(--color-accent); }
.owner-entry-link:is(:focus-visible, :active) .owner-entry-action > span { transform: translate(2px, -2px); }
.owner-entry-link:is(:focus-visible, :active) .owner-cover img { transform: scale(1.025); }
.owner-popup-actions { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 8px; border-bottom: 1px solid var(--color-border); }
.owner-popup-actions a, .owner-popup-close { min-height: 44px; display: inline-flex; align-items: center; }
.owner-popup-close { min-width: 44px; justify-content: center; }
.owner-popup-close:focus-visible, .owner-popup-actions a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: -2px; }
@media (max-width: 1023px), (hover: none), (pointer: coarse) {
  .owner-top-nav { top: calc(8px + env(safe-area-inset-top)); padding-inline: 10px; }
  .owner-top-nav nav { width: min(100%, 440px); }
  .owner-top-nav ul { justify-content: space-between; padding-inline: 3px; }
  .owner-top-nav :is(button, a) { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; justify-content: center; padding-inline: 5px; font-size: 12px; }
  .owner-top-nav button > span > [aria-hidden="true"], .owner-top-nav nav > span { display: none; }
  #timeline { padding-inline: 24px; }
  .owner-timeline { margin-top: 32px; }
  .owner-timeline-help { display: block; margin-bottom: 16px; text-align: center; font-size: 12px; color: var(--color-neutral-6); }
  .owner-timeline-track { height: auto; }
  .owner-timeline-track > :not(.owner-timeline-nodes) { display: none; }
  .owner-timeline-nodes { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)); gap: 4px; }
  .owner-timeline-nodes button { position: relative; top: auto; left: auto !important; transform: none; min-width: 44px; height: 48px; display: flex; align-items: center; justify-content: center; padding: 0 0 10px; }
  .owner-timeline-nodes button::before { content: ''; position: absolute; left: 0; right: -4px; top: 18px; height: 1px; background: var(--color-border); z-index: -1; }
  .owner-timeline-nodes button::after { content: attr(data-timeline-index); position: absolute; bottom: 1px; font-size: 10px; font-variant-numeric: tabular-nums; color: var(--color-neutral-6); }
  .owner-timeline-labels { display: flex; justify-content: space-between; }
  .owner-timeline-labels > span { position: static; transform: none; }
  [data-reader-status] { align-items: flex-start; text-align: left; }
  footer [role="switch"] { min-width: 44px; min-height: 44px; }
}
@media (hover: none), (pointer: coarse) {
  .replica-menu-portal :is(a, button), .replica-hover-portal :is(a, button) { min-height: 44px; }
}
@media (max-width: 767px) {
  .owner-destinations { padding-inline: 12px; }
  .owner-entry { padding-left: 34px; }
  .owner-entry-line, .owner-entry-number { left: 12px; }
  .owner-entry-link { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-bottom: 20px; }
  .owner-cover { width: 100%; max-height: 210px; aspect-ratio: 1.8; }
  .owner-entry h3 { font-size: 20px; }
  .owner-reserve { margin-left: 34px; width: calc(100% - 34px); height: 60px; }
  .owner-footer-row { padding-bottom: 42px; }
  .owner-intro { max-width: 28em; }
}
@media (prefers-reduced-motion: reduce) {
  .owner-cover img, .owner-entry h3, .owner-entry-action > span { transition: none; }
}
