/* Case detail pages — editorial layout */
.nobr { white-space: nowrap; }
.cjk-headline { word-break: keep-all; line-break: strict; }

.hh-case-page {
 padding: 1.6rem 0 4.5rem;
 background: var(--hh-paper-2);
}

.hh-case-sheet {
 background: transparent;
 border: 0;
 border-radius: 0;
 padding: 0;
}

.hh-case-page h1 {
 max-width: 18em;
 margin: 0 0 0.45rem;
 font-family: var(--hh-serif);
 font-weight: 500;
 font-size: clamp(1.7rem, 2.6vw, 2.15rem);
 letter-spacing: 0.03em;
 line-height: 1.35;
 color: var(--hh-ink);
}

.hh-case-disclaimer {
 margin: 0 0 1.75rem;
 padding: 0;
 border: 0;
 background: none;
 color: var(--hh-muted);
 font-size: 0.8rem;
 line-height: 1.6;
}

.hh-case-layout {
 display: grid;
 grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
 gap: 1.5rem 2.25rem;
 align-items: start;
 max-width: none;
}

.hh-case-pair {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 0.85rem;
 max-width: none;
 margin: 0;
 position: static;
 top: auto;
}

.hh-case-pair figure {
 margin: 0;
}

.hh-case-pair img {
 width: 100%;
 height: auto;
 aspect-ratio: 3 / 4;
 object-fit: cover;
 object-position: center 16%;
 border-radius: 18px;
 background: #efe8e1;
}

.hh-case-pair figcaption {
 margin-top: 0.55rem;
 font-family: var(--hh-serif);
 font-size: 0.78rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 color: var(--hh-muted);
}

.hh-case-pair__note {
 display: none;
}

.hh-case-copy {
 max-width: none;
 min-width: 0;
}

.hh-case-lead {
 margin: 0 0 0.35rem;
 color: var(--hh-ink-soft);
 font-size: 0.98rem;
 line-height: 1.9;
}

.hh-case-block {
 margin: 0;
 padding: 1.15rem 0 0.15rem;
 border-top: 1px solid var(--hh-line);
}

.hh-case-block h2 {
 margin: 0 0 0.45rem;
 font-family: var(--hh-serif);
 font-weight: 500;
 font-size: 1.05rem;
 letter-spacing: 0.06em;
 color: var(--hh-ink);
}

.hh-case-block p {
 margin: 0;
 max-width: none;
 color: var(--hh-ink-soft);
 font-size: 0.96rem;
 line-height: 1.85;
}

.hh-case-links {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 0.65rem;
 max-width: none;
 margin: 2.5rem 0 0;
}

.hh-case-links a {
 display: block;
 padding: 0.8rem 0.9rem;
 border: 1px solid var(--hh-line);
 border-radius: 12px;
 background: var(--hh-paper);
 color: var(--hh-ink);
 font-size: 0.86rem;
 font-weight: 500;
 line-height: 1.45;
 text-decoration: none;
}

.hh-case-links a:hover,
.hh-case-links a:focus-visible {
 color: var(--hh-orange);
 border-color: var(--hh-orange);
 text-decoration: none;
}

.hh-case-page + .hh-visit-cta {
 position: relative;
 z-index: 1;
 clear: both;
 margin-top: 0;
}

@media (max-width: 860px) {
 .hh-case-page {
 padding-top: 1.15rem;
 padding-bottom: 3rem;
 }
 .hh-case-layout {
 grid-template-columns: 1fr;
 gap: 1.5rem;
 }
 .hh-case-pair {
 gap: 0.7rem;
 max-width: 28rem;
 margin-bottom: 0.25rem;
 }
 .hh-case-pair img {
 border-radius: 14px;
 }
 .hh-case-links {
 grid-template-columns: 1fr 1fr;
 }
}
