.info-page { width: min(1040px, calc(100% - 2 * var(--frame-width))); }
.about-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
.about-copy { min-width: 0; }
.about-copy p { margin: 0 0 24px; }
.about-copy h2 { margin-top: 40px; }
.about-copy .intro-line { font-family: "ZT Bros Oskon 90s", "Times New Roman", serif; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.3; margin-top: 0; }
.about-portrait { margin: 0; aspect-ratio: 400 / 497; overflow: hidden; border: 1px solid currentColor; background: #bcbcbc; }
.about-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.info-page a { text-decoration: underline; text-underline-offset: 5px; }
.info-page a:hover { text-decoration-thickness: 2px; }
.contact-intro { max-width: 540px; margin-bottom: 48px; }
.contact-intro .intro-line { font-family: "ZT Bros Oskon 90s", "Times New Roman", serif; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.25; margin-bottom: 16px; }
.contact-method { padding: 28px 0 32px; border-top: 1px solid currentColor; }
.contact-method h2 { font-family: "PP Right Serif Mono", monospace; font-size: 14px; margin: 0 0 16px; }
.contact-method .contact-link { display: block; position: relative; padding-right: 1.5em; font-size: clamp(1.4rem, 3.5vw, 2.75rem); line-height: 1.35; overflow-wrap: anywhere; text-decoration-thickness: 1px; }
.contact-arrow { position: absolute; right: 0; top: 0; transition: transform 160ms ease; }
.contact-link:hover .contact-arrow { transform: translate(3px, -3px); }
.contact-method:last-child { border-bottom: 1px solid currentColor; }
@media (prefers-reduced-motion: reduce) { .contact-arrow { transition: none; } }
.contact-note { font-size: 14px; }
@media (max-width: 700px) {
    .about-intro { grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .about-portrait { grid-row: 1; width: 100%; max-width: 380px; justify-self: center; }
    .contact-intro { margin-bottom: 32px; }
}
