/* Report previews, not lifestyle stock photography. */
.hero-visual-story { min-width:0; }
.hero-editorial-note { max-width:440px; margin:28px 0 0 auto; padding:0; border:0; background:none; color:#685862; font:400 .9375rem/1.8 var(--sans); text-align:left; }
.hero-editorial-note span { display:block; margin-top:12px; color:#513c49; }
@media(max-width:820px){ .hero-editorial-note { max-width:none; margin:24px 0 0; font-size:1rem; } }
.reading-cover { --cover-accent:#79445b; margin:0 0 42px; padding:clamp(24px,4vw,42px); background:#f4e9ec; border:1px solid #dac5cc; color:#392c35; }
.reading-cover small,.report-display small { display:block; font:500 .8125rem/1.5 var(--sans); letter-spacing:.035em; }
.reading-cover h4 { font:400 clamp(1.8rem,3vw,2.6rem)/1.2 var(--serif); margin:18px 0 28px; color:inherit; }
.cover-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cover-cell { padding:22px; background:#ffffffa6; border-top:2px solid var(--cover-accent); }
.cover-cell b { display:block; font:500 1.0625rem/1.4 var(--sans); margin:12px 0; }
.cover-cell p { font-size:1rem; line-height:1.65; margin:0; color:#61505b; }
.cover-foot { margin:24px 0 0; font-size:.875rem; line-height:1.6; color:#6b5662; }
.reading-cover.work-cover { --cover-accent:#8c6334; background:#f2ece0; border-color:#ddd0b8; }
.pair-cover { --cover-accent:#65537e; background:#efeaf3; border-color:#d8cce1; }
.pair-diagram { display:grid; grid-template-columns:1fr 40px 1fr; align-items:center; margin:28px 0; }
.pair-node { aspect-ratio:1; border:1px solid #ad7c90; border-radius:50%; background:#f7e9ed; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:22px; }
.pair-node:last-child { border-color:#718d88; background:#e6eee9; }
.pair-node strong { font:400 clamp(1.5rem,3vw,2.3rem)/1.2 var(--serif); margin:10px 0; }
.pair-node span { font-size:1rem; line-height:1.5; }
.pair-link { height:1px; background:#9c88aa; position:relative; }
.pair-link::after { content:''; position:absolute; width:8px; height:8px; border:1px solid #9c88aa; background:#efeaf3; border-radius:50%; top:-4px; left:calc(50% - 4px); }
.pair-result { text-align:center; padding-top:22px; border-top:1px solid #cfc2d9; font-size:1rem; line-height:1.65; }
.pair-result strong { display:block; margin-bottom:8px; font-weight:500; }
.report-display { position:relative; padding:38px; border:1px solid #d9c7ce; background:#fffaf6; color:#42323c; box-shadow:0 20px 60px #4328380e; }
.report-display h3 { font:400 clamp(1.8rem,3vw,2.8rem)/1.2 var(--serif); margin:28px 0 20px; }
.report-display > p { font-size:1rem; line-height:1.8; }
.report-display .cover-grid { margin-top:28px; }
.report-display .cover-cell { background:#f3e9ed; padding:18px; }
.report-display .cover-cell:last-child { background:#e9efeb; }
.report-display .cover-cell b { font-size:.9375rem; }
.report-display .cover-cell small { letter-spacing:0; }
.element-key { display:flex; gap:7px; flex-wrap:wrap; padding-top:24px; margin-top:26px; border-top:1px solid #dfd1d6; }
.element-key span { padding:6px 9px; border-radius:3px; background:var(--element-color); color:#fff; font:500 .8125rem/1.4 var(--sans); }
.hero-art.report-hero { padding:0; overflow:visible; background:none; border:0; box-shadow:none; }
.hero-art.report-hero .hero-caption { position:static; color:#74616e; background:none; padding:16px 0 0; font-size:.8125rem; }
.compatibility-offer > .reading-cover { margin:0; align-self:center; padding:24px; }
.compatibility-offer .pair-node { padding:12px; }
.compatibility-offer .pair-node span { font-size:.875rem; }
.topic-life .life-arc { margin:0 0 44px; padding:clamp(20px,4vw,36px); background:#edf2ee; border:1px solid #bdcfc5; }
.topic-life .life-arc-stories { display:grid; grid-template-columns:1fr!important; gap:24px; }
.topic-life .life-arc-stories li { padding:22px 0!important; border-top:1px solid #bdcfc5; }
@media(max-width:600px){
 .cover-grid { grid-template-columns:1fr; }
 .pair-diagram { grid-template-columns:1fr 20px 1fr; }
 .pair-node { padding:12px 8px; }
 .pair-node strong { font-size:1.5rem; }
 .pair-node span { font-size:.875rem; }
 .pair-node small { font-size:.75rem; }
 .report-display { padding:26px; }
 .report-display .cover-grid { grid-template-columns:1fr 1fr; gap:10px; }
 .report-display .cover-cell { padding:14px; }
 .reading-cover { padding:24px 18px; }
}
