/* ── PROFILE COMPOSITION ─────────────────────────
   A single reading column: portrait, biography, facts and tools belong to
   one section instead of four independent card blocks. */
.profile-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:clamp(52px,7vw,104px)}
.profile-portrait{position:sticky;top:100px;align-self:start}
.profile-portrait .about-photo-main{width:100%;max-width:340px;margin:0}
.profile-content{min-width:0}
.profile-content>.section-head{margin-bottom:30px;max-width:700px}
.profile-content .section-title{font-size:clamp(38px,4.3vw,58px)}
.profile-copy{max-width:780px}
.profile-lead{font-size:clamp(18px,1.55vw,22px);line-height:1.75;letter-spacing:-.008em;color:#ececf3}
.profile-paragraph{max-width:740px;margin-top:20px;font-size:var(--fs-xl);line-height:1.88;color:#9998aa}
.profile-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.profile-fact{min-width:0;padding:19px 18px 21px 0}
.profile-fact+.profile-fact{padding-left:18px;border-left:1px solid var(--line)}
.profile-fact dt{margin-bottom:9px;font-family:'JetBrains Mono',monospace;font-size:8px;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;color:var(--text-dim)}
.profile-fact dd{font-size:var(--fs-md);font-weight:600;line-height:1.55;color:#e8e8ef}

.profile-toolkit{margin-top:70px;border-top:1px solid var(--line)}
.toolkit-heading{display:flex;align-items:baseline;justify-content:space-between;gap:28px;padding:22px 0 28px}
.toolkit-heading>span{font-family:'JetBrains Mono',monospace;font-size:var(--fs-2xs);line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.toolkit-heading h3{font-size:clamp(25px,2.7vw,36px);font-weight:650;line-height:1.12;letter-spacing:-.03em;color:#f1f1f6}
.toolkit-index{border-top:1px solid var(--line)}
.toolkit-row{display:grid;grid-template-columns:46px minmax(132px,180px) minmax(0,1fr);align-items:start;gap:18px;padding:23px 0;border-bottom:1px solid var(--line);transition:background .25s var(--ease)}
.toolkit-row:hover{background:rgba(255,255,255,.014)}
.toolkit-number{padding-top:2px;font-family:'JetBrains Mono',monospace;font-size:var(--fs-2xs);letter-spacing:.12em;color:var(--accent)}
.toolkit-row h4{font-size:var(--fs-lg);font-weight:600;line-height:1.55;color:#e7e7ee}
.toolkit-items{display:flex;flex-wrap:wrap;gap:7px 0;font-family:'JetBrains Mono',monospace;font-size:var(--fs-xs);line-height:1.65;color:#8f8ea0}
.toolkit-items span{display:inline-flex;align-items:center;white-space:nowrap}
.toolkit-items span:not(:last-child)::after{content:"/";margin:0 9px;color:#3f3e51}

/* The certification shelf has one quiet index line; the cards do the rest. */
.selected-credentials-head{align-items:center;padding-bottom:15px}
.selected-credentials-index{margin-bottom:0}

/* Minimal footer: authorship and a useful return action only. */
.footer-top{font-family:'JetBrains Mono',monospace;font-size:var(--fs-xs);letter-spacing:.07em;text-transform:uppercase;color:#8f8ea0;transition:color .25s var(--ease)}
.footer-top:hover{color:var(--text-white)}

/* The archive title already owns its space inside the wrapper. */
.archive-page .archive-section .section-heading-row-archive .section-head{margin-bottom:0}

@media(max-width:1180px){
  .profile-layout{grid-template-columns:minmax(260px,310px) minmax(0,1fr);gap:clamp(42px,5vw,68px)}
  .profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-fact:nth-child(3),.profile-fact:nth-child(4){border-top:1px solid var(--line)}
  .profile-fact:nth-child(3){padding-left:0;border-left:0}
}

@media(max-width:960px){
  .profile-layout{display:block}
  .profile-portrait{display:none}
}

@media(max-width:760px){
  .profile-content>.section-head{margin-bottom:25px}
  .profile-lead{font-size:18px;line-height:1.72}
  .profile-paragraph{font-size:var(--fs-lg);line-height:1.84;margin-top:17px}
  .profile-facts{margin-top:38px}
  .profile-toolkit{margin-top:52px}
  .toolkit-heading{padding:19px 0 23px}
  .toolkit-row{grid-template-columns:34px minmax(0,1fr);gap:8px 12px;padding:20px 0}
  .toolkit-items{grid-column:2;font-size:var(--fs-sm)}
  .section-heading-row{align-items:flex-start;gap:22px}
}

@media(max-width:640px){
  /* Phone breakpoint: shorter photo + slightly less lift because the
     text column is shorter here (name + tagline + socials + one CTA). */
  .hero{--hero-text-lift:94px}
  .hero-photo-bleed{height:56svh;min-height:410px;max-height:520px}
  .hero-grid{padding:4px 0 28px}
  .hero-tagline{margin-bottom:20px}
  .hero-socials{margin-bottom:20px}
  .profile-section{padding-top:64px}
  .profile-content .section-title{font-size:36px}
  .profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-fact{padding:16px 12px 18px 0}
  .profile-fact+.profile-fact{padding-left:12px}
  .profile-fact:nth-child(3){padding-left:0}
  .profile-fact dt{font-size:var(--fs-2xs)}
  .profile-fact dd{font-size:var(--fs-base)}
  .toolkit-heading{align-items:flex-start;flex-direction:column;gap:7px}
  .toolkit-heading h3{font-size:27px}
  .section-heading-row{align-items:flex-end}
  .section-heading-row .section-head{flex:1 1 auto}
  .section-index-link{grid-template-columns:auto auto;padding:9px 0;gap:8px}
  .section-index-link span:first-child{display:none}
  .section-index-link strong{font-size:var(--fs-md)}
  .archive-back{margin-bottom:27px}
  .footer-inner{width:100%;flex-direction:row;align-items:center;justify-content:space-between}
}

@media(max-width:390px){
  .profile-facts{grid-template-columns:1fr}
  .profile-fact+.profile-fact,.profile-fact:nth-child(3),.profile-fact:nth-child(4){padding-left:0;border-left:0;border-top:1px solid var(--line)}
}

@media(prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .mobile-nav,.credential-preview img{transition:none}
}
