/* Recruiter reading path: visible content, comfortable type, strong hierarchy. */
.skip-link { position:fixed; left:1rem; top:-6rem; z-index:10000; padding:.7rem 1rem; background:var(--fg); color:var(--bg); }
.skip-link:focus { top:1rem; }
[data-reveal] { opacity:1; transform:none; }
.hero { padding-top:8rem; padding-bottom:4rem; }
.hero-grid { grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr); gap:3rem; align-items:start; }
.hero-name { font-family:Inter, sans-serif; font-size:1.1rem; font-weight:600; letter-spacing:0; margin-bottom:1.2rem; }
.hero-tagline { font-family:'Playfair Display',Georgia,serif; font-size:clamp(2.5rem,4.6vw,4.1rem); line-height:1.08; letter-spacing:-.025em; max-width:15ch; margin-bottom:1.4rem; }
.hero-brief,.hero-proof li { font-size:1rem; }
.hero-role { font-size:.875rem; }
.hero-proof { padding-top:1.25rem; border-top:1px solid var(--border); gap:.6rem; margin-bottom:1.25rem; }
.hero-stack,.hero-seeking { font-size:.875rem; }
.hero-actions { margin-top:1.4rem; }
.hero-actions .btn:last-child { background:transparent; color:var(--accent); border:1px solid var(--border); }
.hero-photo-stack { width:100%; max-width:368px; border-radius:2px; box-shadow:none; margin-top:3.3rem; }
.hero-toc { margin-top:1.5rem; }
.sec-h { font-size:clamp(1.85rem,3vw,2.6rem); }
.sec-note,.case-body,.proj-line,.proj--flagship .proj-line,.creds p,.contact-lead { font-size:1rem; line-height:1.75; }
.role-org,.role-when,.role-tech,.track-scope,.case-outcome,.proj-stack,.proj-proof,.proj--flagship .proj-proof,.proj-links a,.t-line,.t-k,.t-detail summary,.contact-links a,.tr-sys,.tr-why { font-size:.875rem; line-height:1.65; }
.proj { max-width:none; padding:2rem 0; }
.proj-line { max-width:72ch; }
.proj-head { align-items:baseline; }
.proj-name,.proj--flagship .proj-name { font-size:1.65rem; }
.proj-links a { padding:.4rem 0; text-decoration:underline; text-underline-offset:4px; }
.proj-proof::before { content:none; }
.section-dark { --fg-muted:#bebbb1; }
.tr-row { grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.6fr); }
.tr-a,.tr-b { white-space:normal; }
.role-what,.hero-copy,.hero-visual,.tr-row>* { min-width:0; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
@media(max-width:860px) {
  .hero { padding-top:6.5rem; }
  .hero-grid { grid-template-columns:1fr; gap:1.5rem; }
  .hero-photo-stack { margin-top:0; max-width:280px; }
  .hero-tagline { max-width:18ch; }
  .tr-row { grid-template-columns:1fr; gap:.65rem; }
  .section-dark .role { grid-template-columns:1fr; gap:.8rem; padding-left:1.4rem; }
  .proj-head { flex-wrap:wrap; }
}
@media(max-width:480px) { .hero-tagline { font-size:2.6rem; } .container { padding-left:1.25rem; padding-right:1.25rem; } .contact-email { word-break:break-word; white-space:normal; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
@media print { .hero { padding-top:1rem; } .hero-photo-stack,.hero-toc,.skip-link { display:none; } .hero-grid { display:block; } .section-dark { background:white; color:black; --fg:black; --fg-soft:#222; --fg-muted:#333; } }

/* September 2026 editorial redesign. Existing evidence and interactions retained. */
:root {
  --bg:#f7f5ef; --bg-alt:#efede5; --fg:#182e29; --fg-soft:#425750;
  --fg-muted:#59665e; --accent:#176447; --accent-warm:#965b2e;
  --border:#c9cec2; --border-soft:#dddfd5;
}
body { background:var(--bg); }
.container { max-width:1240px; }
.site-header { background:rgba(247,245,239,.97); border-bottom:1px solid var(--border); }
.logo-name { letter-spacing:-.025em; }
.logo-role { color:var(--fg-muted); }
.hero { padding:9rem 0 5rem; border-bottom:1px solid var(--border); }
.hero-grid { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:5rem; }
.hero-role,.section-index { font-family:'JetBrains Mono',monospace; font-size:.72rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:var(--accent); }
.hero-name { margin:1.8rem 0 .9rem; font-size:1.05rem; }
.hero-tagline { font-size:clamp(3rem,5.3vw,4.6rem); max-width:15ch; font-weight:400; line-height:1.06; letter-spacing:-.045em; }
.hero-brief { max-width:56ch; line-height:1.8; color:var(--fg-soft); }
.hero-proof { margin-top:1.7rem; padding-top:1.4rem; gap:.85rem; max-width:57ch; }
.hero-proof li { font-size:.92rem; line-height:1.65; }
.hero-stack { margin-top:1.4rem; color:var(--fg); }
.hero-seeking { max-width:52ch; line-height:1.8; color:var(--fg-muted); }
.hero-actions .btn { border-radius:2px; padding:.85rem 1.25rem; }
.hero-actions .btn-primary:first-child { background:var(--accent); color:#fff; border:1px solid var(--accent); }
.hero-actions .btn:last-child { color:var(--fg); }
.hero-visual { gap:1.25rem; padding-top:2.2rem; }
.hero-photo-stack { margin:0; max-width:none; aspect-ratio:4/5; border:0; background:#e4e4da; }
.hero-photo-stack .profile-photo { width:100%; height:100%; object-fit:cover; }
.portrait-caption { border-top:1px solid var(--border); padding-top:1rem; font-size:.85rem; color:var(--fg); line-height:1.8; }
.portrait-caption span { font-size:.75rem; color:var(--fg-muted); }
.hero-toc { display:none; }
.section { padding:5rem 0; }
.section-index { margin-bottom:1.6rem; }
.sec-h { font-size:clamp(2.2rem,3.8vw,3.4rem); font-weight:400; letter-spacing:-.035em; }
.sec-note--lead { max-width:65ch; margin-bottom:2.8rem; }
.tr-row { padding:1.7rem 0; grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr) minmax(0,1.5fr); gap:2rem; }
.tr-a { font-size:1.7rem; color:var(--accent); }
.tr-b { font-size:1.05rem; }
.tr-org { margin-top:.45rem; }
.section-dark { background:#19352e; --fg:#f4f3e9; --fg-soft:#e0e7dc; --fg-muted:#b8c9be; --accent:#aadbb7; --accent-warm:#e7b681; --border:#527066; --border-soft:#3d5a50; }
.section-dark .section-index { color:#aadbb7; }
.section-dark .role { grid-template-columns:12rem minmax(0,1fr); gap:2rem; }
.section-dark .roles { margin-top:3rem; }
.section-dark .case-body { max-width:70ch; }
.role-title { font-size:1.55rem; }
.case-title { font-size:1.15rem; }
.proj { padding:2.5rem 0; }
.proj-name,.proj--flagship .proj-name { font-family:'Playfair Display',Georgia,serif; font-size:2rem; font-weight:400; }
.proj-head { margin-bottom:1rem; }
.proj-links a { color:var(--accent); }
#contact { background:#e7ecdf; border-top:1px solid var(--border); }
.contact-lead { max-width:54ch; }
.btn:hover { transform:none; }
@media(max-width:1000px) {
  .hero-grid { gap:2.5rem; }
  .main-nav { gap:1.2rem; }
}
@media(max-width:860px) {
  .hero { padding:7rem 0 3rem; }
  .hero-grid { grid-template-columns:1fr; gap:2rem; }
  .hero-visual { padding-top:0; max-width:340px; }
  .hero-tagline { max-width:16ch; }
  .hero-name { margin-top:1.1rem; }
  .tr-row { grid-template-columns:1fr; gap:.7rem; }
  .section-dark .role { grid-template-columns:1fr; gap:1rem; }
  .section { padding:3.5rem 0; }
  .section-index { margin-bottom:1rem; }
}
@media(max-width:480px) {
  .hero-tagline { font-size:2.85rem; }
  .hero-visual { max-width:280px; }
  .proj-head { align-items:flex-start; }
  .proj-name,.proj--flagship .proj-name { font-size:1.65rem; }
}
@media print { .hero { padding:1rem 0; } .hero-visual { display:none; } .section-dark,#contact { background:#fff; --fg:#000; --fg-soft:#222; --fg-muted:#333; --accent:#16432f; } }

/* A shorter first read, with original engineering evidence available on demand. */
.hero { padding-top:7rem; padding-bottom:3.5rem; }
.hero-grid { grid-template-columns:minmax(0,1.7fr) minmax(220px,.7fr); align-items:center; gap:4rem; }
.hero-tagline { max-width:20ch; font-size:clamp(2.45rem,4.3vw,3.8rem); }
.hero-name { margin-top:1rem; }
.hero-role { line-height:1.7; }
.hero-brief { font-size:1.1rem; line-height:1.7; }
.hero-photo-stack { max-width:290px; margin-left:auto; }
.hero-visual { padding-top:0; }
.portrait-caption { max-width:290px; margin-left:auto; width:100%; }
.outcomes-link { display:inline-block; margin-top:1.5rem; text-underline-offset:4px; }
.outcome-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.outcome-card { border:1px solid var(--border); padding:1.75rem; background:#fffdf8; }
.outcome-number { color:var(--accent); font-size:.8rem; margin-bottom:1rem; }
.outcome-card h3 { font:400 1.8rem/1.2 Georgia,serif; margin-bottom:1.25rem; }
.outcome-card p { line-height:1.75; margin-bottom:1rem; }
.outcome-result { font-weight:600; }
.outcome-card summary,.more-evidence summary,.experience-details>summary { cursor:pointer; padding:.8rem 0; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.more-evidence { margin-top:2rem; }
.experience-brief { max-width:64ch; font-size:1.05rem; line-height:1.75; margin:1rem 0 .5rem; }
.experience-details { margin-top:.5rem; }
.experience-details[open] { padding-bottom:1rem; }
.experience-details .case { margin-top:1.75rem; }
.section-dark .role { padding-top:1.5rem; padding-bottom:1.5rem; }
@media(max-width:860px) { .hero-grid { grid-template-columns:1fr; gap:2rem; } .hero-visual { display:none; } .outcome-grid { grid-template-columns:1fr; } .hero { padding-top:6.5rem; } .hero-tagline { max-width:22ch; } }
@media(max-width:480px) { .hero-tagline { font-size:2.5rem; } .hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; } .outcome-card { padding:1.3rem; } }
