/* V6.5 refinement: shared interaction, hierarchy and responsive reading. */
:root { --house-interaction: 240ms; --house-arrival: 480ms; --house-ease: cubic-bezier(.22,.8,.22,1); }
.story-hero { grid-template-rows: auto auto 1fr; }
.house-breadcrumbs { display:flex; align-items:center; gap:clamp(8px,1.5vw,18px); min-width:0; padding:0 0 24px; font:11px/1.5 var(--font-ui); letter-spacing:.11em; text-transform:uppercase; color:var(--ink); }
.house-breadcrumbs > span[aria-current] { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; opacity:.6; }
.house-breadcrumbs > span[aria-hidden] { opacity:.35; }
.house-breadcrumbs a { flex-shrink:0; border-bottom:1px solid transparent; transition:border-color var(--house-interaction) var(--house-ease), color var(--house-interaction) var(--house-ease); }
.house-breadcrumbs a:hover, .house-breadcrumbs a:focus-visible { border-color:currentColor; }
.house-breadcrumbs--index { padding:calc(var(--house-header-h) + 20px) var(--page-pad) 0; }
.story-hero__meta { opacity:1; color:rgba(17,17,15,.65); }
.story-hero__meta span:nth-child(2) { font-weight:700; letter-spacing:.16em; color:var(--ink); }
.story-hero__meta a, .story-hero__meta span { align-self:center; }
.story-hero__title h1, .interior-masthead h1, .house-related__card strong { text-wrap:balance; }
.story-body__copy h2, .story-quote blockquote, .house-archive__head h2 { text-wrap:balance; }
.story-intro__copy, .story-body__copy { max-width: min(100%, 66ch); }
.story-body__copy p { max-width:65ch; line-height:1.55; text-wrap:pretty; }
.story-intro__copy p:not(.story-drop) { text-wrap:pretty; }
.story-intro dl div { align-items:baseline; }
.story-intro dd { overflow-wrap:anywhere; line-height:1.5; }
.story-pagination a { position:relative; transition:background-color var(--house-interaction) var(--house-ease),color var(--house-interaction) var(--house-ease); }
.story-pagination a::after { content:'↗'; position:absolute; bottom:30px; right:var(--page-pad); font:18px var(--font-ui); opacity:.6; }
.story-pagination a:first-child::after { content:'↖'; right:auto; left:var(--page-pad); }
.house-footer__column nav a, .house-footer__legal a, .house-menu__secondary a, .house-menu__primary a, .house-breadcrumbs a { transition-duration:var(--house-interaction); transition-timing-function:var(--house-ease); }
@media (hover:hover) and (pointer:fine) {
  .house-footer__column nav a, .house-footer__legal a, .house-menu__secondary a { background-image:linear-gradient(currentColor,currentColor); background-size:0 1px; background-repeat:no-repeat; background-position:left bottom; transition:background-size var(--house-interaction) var(--house-ease),color var(--house-interaction) var(--house-ease),background-color var(--house-interaction) var(--house-ease); }
  .house-footer__column nav a:hover, .house-footer__legal a:hover, .house-menu__secondary a:hover { background-size:100% 1px; }
  .object-card__visual, .person-card__visual, .journal-card__visual, .place-study, .world-feature__visual { transition:transform var(--house-arrival) var(--house-ease),filter var(--house-arrival) var(--house-ease),box-shadow var(--house-arrival) var(--house-ease); }
  :is(.object-card,.person-card,.journal-card):hover .editorial-well[href],.world-feature:hover .editorial-well[href] { transform:translateY(-3px); box-shadow:0 14px 36px rgba(17,17,15,.12); }
}
/* Only opt into reveal after JS has attached an observer; content stays visible without JS. */
html[data-reveal-ready] [data-reveal]:not([data-revealed]) { opacity:0; transform:translateY(16px); }
html[data-reveal-ready] [data-reveal] { transition:opacity var(--house-arrival) var(--house-ease),transform var(--house-arrival) var(--house-ease); }
html[data-reveal-ready] [data-reveal][data-revealed] { opacity:1; transform:none; }
[data-loading="true"]:has(img[loading="lazy"]) { pointer-events:auto; }
.house-404 { min-height:100svh; display:grid; align-content:center; padding:clamp(120px,14vw,200px) var(--page-pad); background:var(--house-paper); }
.house-404__label { font:11px var(--font-ui); letter-spacing:.16em; }
.house-404 h1 { max-width:13ch; margin:32px 0; font:400 clamp(64px,10vw,160px)/.88 var(--font-house); letter-spacing:-.045em; text-wrap:balance; }
.house-404 p { max-width:48ch; line-height:1.6; }
.house-404__links { display:flex; flex-wrap:wrap; gap:18px; margin-top:32px; font:11px var(--font-ui); letter-spacing:.12em; text-transform:uppercase; }
.house-404__links a { padding:14px 20px; border:1px solid currentColor; transition:background-color var(--house-interaction),color var(--house-interaction); }
.house-404__links a:hover,.house-404__links a:focus-visible { background:var(--ink); color:var(--house-paper); }
@media (max-width:760px) {
  .house-breadcrumbs { padding-bottom:18px; gap:8px; font-size:11px; }
  .house-breadcrumbs--index { padding:calc(var(--mobile-header-h) + env(safe-area-inset-top) + 16px) 20px 0; }
  .story-hero__meta { gap:12px; }
  .story-body__copy p { font-size:20px; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-reveal-ready] [data-reveal] { opacity:1!important; transform:none!important; transition:none!important; }
}
.house-404 .hs, .house-404__near { max-width:520px; margin-top:32px; }
.house-404__near { display:grid; gap:8px; }
