.person-card__page { display: block; height: 100%; }
.person-card:focus-within { border-color: var(--accent-text); }
.person-card__link { display: block; margin-top: 24px; color: var(--accent-text); font-size: .78rem; }
.person-card__body > p:not(.person-card__role) { color: var(--subtle); font-size: .89rem; line-height: 1.8; }
.founder-page { background-image: radial-gradient(ellipse at 90% 10%, var(--wash), transparent 45%); }
.founder-hero { padding-top: 155px; }
.back-link { display: inline-block; margin-bottom: 55px; color: var(--subtle); font-size: .65rem; letter-spacing: .12em; }
.back-link:hover { color: var(--accent-text); }
.founder-hero__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 8%; align-items: center; }
.founder-hero h1 { margin: 28px 0 32px; font-size: clamp(4.8rem,8vw,9.2rem); line-height: .95; letter-spacing: -.07em; }
.founder-hero h1 em { color: var(--accent-text); }
.founder-lead { margin-bottom: 20px; font-size: clamp(1.8rem,3vw,3.3rem); line-height: 1.16; letter-spacing: -.04em; }
.founder-lead em { font-family: "Cormorant Garamond",Georgia,serif; color: var(--accent-text); }
.founder-summary { max-width: 500px; color: var(--subtle); font-size: .94rem; line-height: 1.9; margin-bottom: 28px; }
.founder-portrait { margin: 0; }
.founder-portrait > img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; object-position: center 25%; background: var(--panel); }
.founder-portrait figcaption { padding-top: 18px; display: flex; justify-content: space-between; gap: 12px; font-size: .58rem; letter-spacing: .12em; }
.founder-portrait figcaption span { color: var(--subtle); text-align: right; }
.founder-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; border-block: 1px solid var(--line); margin-top: 80px; padding-block: 32px; }
.founder-facts strong { display: block; margin-bottom: 9px; font-family: "Cormorant Garamond",Georgia,serif; font-size: clamp(1.7rem,2.8vw,3rem); font-weight: 400; }
.founder-facts span { color: var(--subtle); font-size: .58rem; letter-spacing: .16em; }
.founder-section-heading { margin-bottom: 64px; }
.founder-section-heading h2 { font-size: clamp(2.8rem,5.6vw,6.3rem); line-height: 1.03; letter-spacing: -.055em; margin-bottom: 28px; }
.founder-section-heading h2 em { color: var(--accent-text); }
.founder-section-heading > p:last-child { max-width: 580px; color: var(--subtle); line-height: 1.9; }
.timeline { position: relative; }
.timeline-entry { position: relative; display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 45px; }
.timeline-date { position: relative; color: var(--accent-text); font-size: .7rem; letter-spacing: .1em; padding: 10px 25px 0 0; border-right: 1px solid var(--line); }
.timeline-date::after { content: ''; position: absolute; width: 9px; height: 9px; background: var(--champagne); border-radius: 50%; right: -5px; top: 15px; }
.timeline-body { padding-bottom: 80px; }
.timeline-body h3 { font-family: "Cormorant Garamond",Georgia,serif; font-size: clamp(2rem,3vw,3.5rem); letter-spacing: -.025em; line-height: 1.12; margin-bottom: 18px; }
.timeline-body > p { max-width: 650px; color: var(--subtle); font-size: .9rem; line-height: 1.9; }
.journey-photos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 30px; }
.journey-photo { display: block; position: relative; overflow: hidden; }
.journey-photo img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; transition: transform .4s; }
.journey-photo span { display: block; padding-top: 12px; font-size: .55rem; letter-spacing: .12em; color: var(--subtle); }
.journey-photo:hover img { transform: scale(1.025); }
.practice-section { background: var(--panel); border-block: 1px solid var(--line); }
.practice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 45px 26px; }
.practice-grid figure { margin: 0; }
.practice-grid figcaption { margin-top: 14px; font-size: .88rem; }
.portfolio-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 22px; }
.portfolio-filters[hidden] { display: none; }
.portfolio-filters button { border: 1px solid var(--line); background: transparent; color: var(--subtle); cursor: pointer; border-radius: 30px; padding: 10px 20px; font-size: .78rem; }
.portfolio-filters button[aria-pressed="true"] { color: var(--bg); background: var(--champagne); border-color: var(--champagne); }
.portfolio-count { color: var(--subtle); font-size: .68rem; margin-bottom: 30px; }
.portfolio-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 50px 25px; }
.portfolio-card[hidden] { display: none; }
.portfolio-card__visual { position: relative; aspect-ratio: 16/9; background: var(--panel); overflow: hidden; }
.portfolio-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.portfolio-card a:hover img { transform: scale(1.04); }
.play-mark { position: absolute; inset: 0; margin: auto; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; background: rgba(0,0,0,.55); color: white; font-size: 14px; }
.portfolio-card__meta { display: flex; justify-content: space-between; gap: 8px; margin: 18px 0 9px; color: var(--accent-text); font-size: .54rem; letter-spacing: .1em; }
.portfolio-card h3 { font-size: 1.13rem; line-height: 1.4; }
.expertise-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.expertise-grid article { border-top: 1px solid var(--line); padding-top: 25px; }
.expertise-grid span { color: var(--accent-text); font-size: .6rem; letter-spacing: .1em; }
.expertise-grid h3 { font-size: 1.65rem; line-height: 1.2; margin-block: 24px 20px; letter-spacing: -.03em; }
.expertise-grid p { color: var(--subtle); line-height: 1.9; font-size: .9rem; }
.behind-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 50px; }
.behind-grid img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.founder-next { padding-block: 80px; }
.founder-next > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-family: "Cormorant Garamond",Georgia,serif; font-size: clamp(2rem,4vw,4rem); border-bottom: 1px solid var(--line); padding-block: 16px; }
.founder-next > a:hover { color: var(--accent-text); }
.contact-intro { color: var(--subtle); margin-bottom: 30px; }
.message-form { max-width: 900px; margin-top: 50px; text-align: left; }
.form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.message-form label { display: block; margin-bottom: 26px; color: var(--text); font-size: .8rem; }
.message-form input,.message-form select,.message-form textarea { display: block; width: 100%; margin-top: 10px; padding: 16px; border: 1px solid var(--line-strong); border-radius: 0; background: var(--panel); color: var(--text); font: inherit; line-height: 1.5; }
.message-form input::placeholder,.message-form textarea::placeholder { color: var(--subtle); opacity: .85; }
.message-form textarea { resize: vertical; }
.message-form :is(input,textarea,select):focus-visible { outline: 2px solid var(--accent-text); outline-offset: 3px; }
.message-form .form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form-submit { display: flex; align-items: center; gap: 26px; }
.form-submit button { cursor: pointer; border: 1px solid var(--champagne); }
.form-submit button:disabled { opacity: .65; cursor: wait; }
.form-submit p { max-width: 320px; margin: 0; font-size: .7rem; color: var(--subtle); }
.form-status { min-height: 1.5em; font-size: .9rem; color: var(--accent-text); margin-top: 20px; }
.form-status[data-state="error"] { color: var(--text); border-left: 2px solid var(--champagne); padding-left: 16px; }
.media-dialog { width: min(1200px,94vw); max-height: 94dvh; border: 1px solid var(--line-strong); background: var(--bg); color: var(--text); padding: 18px; }
.media-dialog::backdrop { background: rgba(0,0,0,.88); }
.media-dialog__bar { display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: .72rem; padding-bottom: 18px; }
.media-dialog__bar button { padding: 9px 12px; border: 1px solid var(--line); background: var(--panel); color: var(--text); cursor: pointer; }
#media-content :is(video,img) { display: block; max-width: 100%; max-height: 77dvh; margin: auto; }
#media-content video { width: 100%; background: #000; }
@media (max-width: 980px) {
  .founder-hero__grid { gap: 6%; }
  .timeline-entry { grid-template-columns: 135px minmax(0,1fr); gap: 25px; }
  .portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .expertise-grid { gap: 22px; }
}
@media (max-width: 640px) {
  .founder-hero { padding-top: 120px; }
  .back-link { margin-bottom: 34px; }
  .founder-hero__grid { grid-template-columns: 1fr; gap: 40px; }
  .founder-hero h1 { font-size: clamp(4.2rem,17vw,6rem); }
  .founder-portrait > img { max-height: 580px; }
  .founder-facts { margin-top: 40px; gap: 18px; grid-template-columns: 1fr; }
  .founder-facts > div { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
  .founder-facts strong { font-size: 1.7rem; margin: 0; }
  .founder-facts span { text-align: right; font-size: .5rem; }
  .founder-section-heading { margin-bottom: 40px; }
  .timeline-entry { display: block; border-left: 1px solid var(--line); padding-left: 25px; }
  .timeline-date { border: 0; padding: 0 0 20px; }
  .timeline-date::after { left: -30px; top: 5px; }
  .timeline-body { padding-bottom: 55px; }
  .journey-photos,.practice-grid,.expertise-grid,.behind-grid,.form-fields { grid-template-columns: 1fr; }
  .journey-photos { gap: 26px; }
  .portfolio-grid { gap: 35px 15px; }
  .portfolio-card__meta { font-size: .48rem; flex-wrap: wrap; }
  .portfolio-card h3 { font-size: 1rem; }
  .portfolio-filters button { padding: 9px 15px; }
  .form-submit { align-items: flex-start; flex-direction: column; gap: 16px; }
  .message-form input,.message-form select,.message-form textarea { font-size: 16px; }
}
@media (max-width: 380px) { .portfolio-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .journey-photo img,.portfolio-card img { transition: none; } }
