/* ============================================================
   v3 — About & Contact (minimal, white)
   Loads after base.css + v3.css.
   ============================================================ */

body { background: var(--paper); color: var(--ink); }
.page-main { padding-top: clamp(5rem, 4rem + 4vw, 8rem); }

/* —— About ——————————————————————————————————————————————— */
.about__statement { padding: 0 var(--margin); font-family: var(--display); font-weight: 400;
  font-size: clamp(1.8rem, 1.1rem + 3.2vw, 4rem); line-height: 1.1; letter-spacing: -0.025em; max-width: 24ch;
  margin-bottom: clamp(3rem, 2rem + 4vw, 6.5rem); text-wrap: balance; }
.about__statement em { color: var(--ink-mute); font-style: normal; font-weight: 300; }
.about__body { padding: clamp(2rem, 1.5rem + 2vw, 3.5rem) var(--margin) 0;
  display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(2rem, 1rem + 3vw, 4rem) 1.5rem; align-items: start;
  border-top: 1px solid var(--line); }
.about__portrait { grid-column: 1 / span 4; }
.about__portrait img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; background: var(--paper-2); }
.about__portrait figcaption { margin-top: 0.7rem; font-family: var(--mono); font-size: var(--t-cap); text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-mute); }
.about__text { grid-column: 6 / span 7; }
.about__bio p { font-size: clamp(1.1rem, 0.9rem + 0.7vw, 1.5rem); line-height: 1.45; color: var(--ink); max-width: 56ch; }
.about__bio p + p { margin-top: 1.1rem; color: var(--ink-soft); font-size: clamp(1rem, 0.85rem + 0.55vw, 1.3rem); line-height: 1.5; }
.about__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem 2rem; margin-top: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); }
.about__col dt { font-family: var(--mono); font-size: var(--t-cap); text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-mute); border-top: 1px solid var(--line); padding-top: 0.8rem; margin-bottom: 0.8rem; }
.about__col dd { line-height: 1.7; }
.about__col a:hover { color: var(--ink); }
@media (max-width: 860px){ .about__portrait { grid-column: 1 / span 6; } .about__text { grid-column: 1 / -1; } .about__cols { grid-template-columns: 1fr; } }

/* —— Contact ————————————————————————————————————————————— */
.contact { min-height: 88svh; display: flex; flex-direction: column; justify-content: center; padding: clamp(6rem, 5rem + 4vw, 9rem) var(--margin) clamp(3rem, 2rem + 2vw, 5rem); }
.contact__label { font-family: var(--mono); font-size: var(--t-cap); text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-soft); margin-bottom: clamp(1.5rem, 1rem + 2vw, 3rem); display: flex; align-items: center; gap: 0.6em; }
.contact__label .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ink); display: inline-block; }
.contact__email { display: inline-block; font-family: var(--display); font-weight: 500; font-size: clamp(2rem, 0.2rem + 5.6vw, 6.5rem); line-height: 1; letter-spacing: -0.03em; width: max-content; max-width: 100%; position: relative; }
.contact__email::after { content: ""; position: absolute; left: 0; bottom: 0.04em; width: 100%; height: 2px; background: var(--ink); transform: scaleX(0); transform-origin: left; transition: transform 0.5s var(--ease); }
.contact__email:hover::after { transform: scaleX(1); }
.contact__cols { display: flex; flex-wrap: wrap; gap: 2rem 4rem; margin-top: clamp(2.5rem, 1.5rem + 3vw, 5rem); }
.contact__col dt { font-family: var(--mono); font-size: var(--t-cap); text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-mute); margin-bottom: 0.6rem; }
.contact__col dd { line-height: 1.7; }
.contact__col a:hover { color: var(--ink); }

/* —— Shared page footer ————————————————————————————————— */
.page-foot { border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.6rem 1.5rem;
  padding: clamp(1.4rem, 1rem + 1vw, 2.2rem) var(--margin) clamp(2rem, 1.4rem + 2vw, 3.4rem); margin-top: clamp(4rem, 3rem + 3vw, 7rem);
  font-family: var(--mono); font-size: var(--t-cap); text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-soft); }
.page-foot a:hover { color: var(--ink); }
