/* Option A: Home/About only. Shared theme tokens and outer boundaries live in style.css.
   Keep readable text and bounded grids together, including at zoom-out sizes. */
.profile-surface { font-size: 16px; }
.profile-surface [hidden] { display: none !important; }
.profile-surface main h1,
.profile-surface main h2,
.profile-surface main h3 { margin-top: 0; }
.profile-surface main p { color: var(--fg2); }
.profile-surface .phv-kicker, .profile-surface .phv-qn { color: var(--teal); }
.profile-surface .phv-qq { color: var(--fg); }
.profile-surface main a { text-underline-offset: 5px; }
.profile-surface main a:hover { text-decoration: underline; }
.profile-surface .profile-accent { color: var(--teal); }
.profile-surface .profile-eyebrow {
  margin: 0 0 18px;
  font: 12px/1.8 var(--mono);
  letter-spacing: .055em;
  text-transform: uppercase;
  color: var(--teal);
}
.profile-hero {
  padding: 64px 0 42px;
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(0,.85fr);
  gap: 7%;
  align-items: center;
}
.profile-hero > *, .profile-about-grid > *, .profile-weekly-grid > * { min-width: 0; }
.profile-hero h1 {
  font-size: clamp(42px,5.2vw,78px);
  letter-spacing: -.035em;
  line-height: 1.15;
  margin-bottom: 16px;
}
.profile-surface .profile-role {
  font: 500 clamp(22px,2.3vw,32px)/1.3 var(--display);
  letter-spacing: -.02em;
  margin: 0 0 20px;
}
.profile-surface .profile-thesis {
  font: 500 clamp(21px,2.1vw,28px)/1.4 var(--display);
  color: var(--gold);
  max-width: 28ch;
  margin: 0 0 16px;
}
.profile-intro { max-width: 62ch; font-size: 16px; line-height: 1.8; }
.profile-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 28px; }
.profile-surface .profile-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 10px 21px;
  border: 1px solid var(--line2);
  border-radius: 8px;
  color: var(--fg);
  background: transparent;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.profile-surface .profile-button-primary { background: var(--gold); color: var(--bg); border-color: var(--gold); }
.profile-surface .profile-button:hover { border-color: var(--teal); text-decoration: none; }
.profile-text-link { padding: 10px 4px; color: var(--teal); font-size: 14px; }
.profile-portrait { margin: 0; width: min(100%,420px); justify-self: center; }
.profile-portrait img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border: 1px solid var(--line2);
  border-radius: 16px;
}
.profile-portrait figcaption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 2px 0;
  font: 11px/1.6 var(--mono);
  text-transform: uppercase;
  color: var(--fg2);
}
.profile-portrait figcaption span:last-child { color: var(--teal); }
.profile-credentials {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 40px;
  padding: 21px 0;
  border-block: 1px solid var(--line2);
}
.profile-credentials a { color: var(--gold); font-size: 13px; }
.profile-surface .profile-proof { margin: 0; padding-right: 30px; border-right: 1px solid var(--line2); color: var(--fg); font: 18px var(--display); }
.profile-proof strong { color: var(--gold); font-size: 28px; font-weight: 500; margin-right: 8px; }
.profile-section { padding: 54px 0; }
.profile-section-bordered { border-top: 1px solid var(--line); }
.profile-section-heading { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 20px; margin-bottom: 24px; }
.profile-section-heading .profile-eyebrow { margin-bottom: 10px; }
.profile-section-heading h2 { margin-bottom: 0; font-size: clamp(30px,3vw,42px); }
.profile-controls { display: flex; flex-wrap: wrap; gap: 9px; }
.profile-controls button {
  min-height: 44px;
  padding: 10px 13px;
  border: 1px solid var(--line2);
  border-radius: 8px;
  background: transparent;
  color: var(--fg2);
  font: 13px/1.5 var(--body);
  text-align: left;
  cursor: pointer;
}
.profile-controls button:hover { color: var(--fg); border-color: var(--teal); }
.profile-controls button[aria-pressed="true"] { color: var(--teal); border-color: var(--teal); background: rgba(62,207,168,.055); }
.profile-work-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.profile-work-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 27px;
  background: var(--s1);
  border: 1px solid var(--line2);
  border-radius: 14px;
  transition: border-color .18s, transform .18s;
}
.profile-work-card:hover, .profile-work-card:focus-within { border-color: var(--teal); }
@media (hover:hover) { .profile-work-card:hover { transform: translateY(-3px); } }
.profile-work-card .profile-eyebrow { color: var(--gold); font-size: 10px; }
.profile-work-card h3 { font-size: 24px; margin-bottom: 10px; line-height: 1.25; }
.profile-work-card p { font-size: 14px; line-height: 1.8; }
.profile-work-link { margin-top: auto; padding-top: 12px; color: var(--teal); font-size: 13px; }
.profile-more { display: inline-block; margin-top: 22px; color: var(--teal); font-size: 14px; }
.profile-weekly { background: var(--s1); border-block: 1px solid var(--line); }
.profile-weekly-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5%; align-items: start; }
.profile-weekly .profile-intro { max-width: none; }
.profile-series { margin-top: 28px; background: var(--bg); }
.profile-about-teaser { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 5%; }
.profile-about-teaser p { line-height: 1.8; }
.profile-about-teaser .profile-actions a { color: var(--teal); font-size: 14px; }
.profile-surface .profile-principle { color: var(--gold); }
.profile-about-heading { padding: 52px 0 26px; }
.profile-about-heading h1 { font-size: clamp(42px,4.5vw,56px); margin-bottom: 18px; }
.profile-about-heading .profile-intro { max-width: 80ch; margin-bottom: 0; }
.profile-about-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 7%; align-items: start; padding: 42px 0 46px; }
.profile-narrative h2 { font-size: 24px; margin: 30px 0 16px; }
.profile-narrative section:first-child h2 { margin-top: 0; }
.profile-narrative p { font-size: 15px; line-height: 1.9; }
.profile-skills { padding: 28px; border: 1px solid var(--line2); border-radius: 16px; background: var(--s1); }
.profile-skills h2 { font-size: 27px; margin-bottom: 9px; }
.profile-skills .profile-eyebrow { font-size: 11px; }
.profile-skill-help { font-size: 13px; margin-bottom: 20px; }
.profile-skills .profile-controls { margin-bottom: 25px; }
.profile-skills button { background: var(--s2); }
.profile-skill-detail { border-top: 1px solid var(--line2); padding-top: 22px; margin-top: 22px; }
.profile-skill-detail:first-child { margin-top: 0; }
.profile-skill-detail h3 { font-size: 23px; color: var(--gold); }
.profile-skill-detail p { font-size: 14px; line-height: 1.8; }
.profile-skill-detail a { font-size: 13px; color: var(--teal); }
.profile-education, .profile-series-context { border-top: 1px solid var(--line2); padding: 32px 0 46px; }
.profile-education h2, .profile-series-context h2 { font-size: 28px; }
.profile-education-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.profile-education h3 { font-size: 21px; margin-bottom: 10px; }
.profile-education p { font-size: 14px; margin: 0; }
.profile-education .profile-eyebrow { margin-bottom: 10px; }
.profile-series-context p { max-width: 80ch; line-height: 1.8; }
.profile-contact-band { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 32px; margin-bottom: 45px; background: var(--s1); border: 1px solid var(--line2); border-radius: 14px; }
.profile-contact-band h2 { font-size: 31px; margin-bottom: 10px; }
.profile-contact-band p { font-size: 14px; }
.profile-contact-band p a { color: var(--teal); }
.profile-contact-band > .profile-button { flex-shrink: 0; }
.profile-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.profile-home #work { scroll-margin-top: 110px; }
/* Keep navigation available without scripting on narrow profile pages. */
@media (max-width:940px) {
  .profile-surface .phv-head .site-header-inner { flex-wrap: wrap; padding-block: 10px; gap: 8px 12px; }
  .profile-surface .phv-nav { display: flex; order: 3; width: 100%; gap: 8px 18px; }
  .profile-surface .phv-nav a { display: inline-flex; align-items: center; min-height: 36px; font-size: 13px; }
}
@media (min-width:1500px) { .profile-work-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (min-width:1800px) {
  .profile-portrait { width: min(100%,470px); }
  .profile-hero .profile-intro { font-size: 18px; }
  .profile-narrative p { font-size: 17px; }
}
@media (max-width:1100px) { .profile-hero { gap: 5%; } .profile-about-grid { gap: 32px; } }
@media (max-width:760px) {
  .profile-hero { grid-template-columns: 1fr; gap: 32px; padding: 35px 0 30px; }
  .profile-hero h1 { font-size: clamp(40px,9vw,58px); }
  .profile-hero .profile-eyebrow { font-size: 11px; }
  .profile-hero .profile-intro { font-size: 15px; }
  .profile-portrait { width: min(85%,370px); }
  .profile-portrait figcaption { font-size: 10px; }
  .profile-credentials { display: grid; gap: 16px; padding: 23px 0; }
  .profile-surface .profile-proof { border: 0; padding: 0; }
  .profile-section { padding: 36px 0; }
  .profile-work-grid, .profile-about-grid, .profile-education-grid,
  .profile-weekly-grid, .profile-about-teaser { grid-template-columns: 1fr; gap: 25px; }
  .profile-work-card { padding: 24px; }
  .profile-about-grid { padding-top: 30px; }
  .profile-about-heading { padding-top: 32px; }
  .profile-skills { padding: 22px; }
  .profile-contact-band { display: block; padding: 24px; }
  .profile-contact-band > .profile-button { margin-top: 16px; }
  .profile-surface .profile-button { padding: 10px 16px; }
}
@media (max-width:360px) {
  .profile-surface .header-actions { gap: 8px; }
  .profile-surface .header-actions .btn { padding: 9px 12px; }
}
@media (prefers-reduced-motion:reduce) {
  .profile-surface *, .profile-surface *::before, .profile-surface *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
