/* Per-section "Show details": every section starts compact (headline facts only).
   minimal.js adds .is-collapsed + a toggle button; the details open in place. */
.sec-toggle-wrap{display:flex;margin:1rem 0 1.25rem}
.sec-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 1rem;border:1px solid rgba(32,33,36,.18);border-radius:99px;background:#fff;color:#181f27;font:600 .78rem/1 Inter,system-ui,sans-serif;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.sec-toggle:hover{border-color:#405dea;background:#f6f8ff}
.sec-toggle:active{transform:scale(.98)}
.sec-toggle:focus-visible{outline:3px solid #405dea;outline-offset:2px}
.sec-toggle b{display:inline-block;font-weight:700;transition:transform .25s}
.sec-toggle[aria-expanded="true"] b{transform:rotate(180deg)}
html[data-theme="dark"] .sec-toggle{background:#1d2230;color:#eef0f7;border-color:rgba(255,255,255,.2)}
html[data-theme="dark"] .sec-toggle:hover{background:#252b3d}

/* Details hidden while a section is collapsed */
#what-i-do.is-collapsed > :not(.sec-keep):not(.sec-toggle-wrap),
#builds.is-collapsed > :not(.sec-keep):not(.sec-toggle-wrap),
#notes.is-collapsed > :not(.sec-toggle-wrap),
#what-i-do.is-collapsed .nx-section-head > p:not(.eyebrow),
#builds.is-collapsed .project-library-heading > p,
#about.is-collapsed .about-story > p:not(.about-kicker),
#about.is-collapsed .about-gallery,
#about.is-collapsed .about-live-clock,
#about.is-collapsed .about-grid > .fact-card,
#about.is-collapsed .about-grid > .stack-card,
#about.is-collapsed .about-principles,
#journey.is-collapsed .nx-step-body p,
#journey.is-collapsed .nx-section-head > p,
#education.is-collapsed .credentials-heading > p,
#education.is-collapsed #certifications .certification-card-grid,
#work.is-collapsed .featured-project p,
#work.is-collapsed .section-header > p,
#work.is-collapsed .more-builds,
#toolkit.is-collapsed .toolkit-notes,
#events.is-collapsed .event-card p,
#events.is-collapsed .event-highlights,
#events.is-collapsed .section-header > p,
#socials.is-collapsed .live-grid,
#socials.is-collapsed .social-signal-lines,
#socials.is-collapsed .social-heading > p,
#location.is-collapsed .map-embed,
#location.is-collapsed .location-copy > p:not(.eyebrow){display:none!important}

/* Phone: the profile card repeats the hero, so keep only photo, name and résumé */
@media(max-width:900px){
  .profile-rail .rail-kicker,
  .profile-rail .rail-experience,
  .profile-rail .rail-section-switcher{display:none!important}
}

/* Accessibility: raise text contrast to WCAG AA (4.5:1) without changing the look */
.nx-what-card .nx-num{color:#3d4946}
.mini-note > span{color:#2b3140}
footer > span,footer > a{color:#5a5d63}
html[data-theme="dark"] footer > span,html[data-theme="dark"] footer > a{color:#a9adb7}

/* Collapsed project cards: no empty gap where the description was */
#work.is-collapsed .featured-project{min-height:0;gap:1rem}
@media(max-width:620px){#work.is-collapsed .featured-project-grid{gap:.75rem}}

/* ---- Collapsed compaction: sections are only as tall as what they show ---- */
#what-i-do.is-collapsed,#about.is-collapsed,#journey.is-collapsed,#education.is-collapsed,#work.is-collapsed,
#notes.is-collapsed,#builds.is-collapsed,#toolkit.is-collapsed,#events.is-collapsed,#location.is-collapsed,#socials.is-collapsed{
  min-height:0!important;height:auto!important}
section#notes.is-collapsed{padding-top:0!important;padding-bottom:0!important;margin:0!important;display:block!important;overflow:visible!important}
section#notes.is-collapsed .sec-toggle-wrap{margin:.5rem 0}
section#notes.is-collapsed > :not(.sec-toggle-wrap){display:none!important}
#toolkit.is-collapsed{padding-top:2rem!important;padding-bottom:1rem!important}

/* Journey: newest 4 steps, headline + date only */
#journey.is-collapsed .nx-timeline > .nx-step:nth-child(n+5){display:none!important}
#journey.is-collapsed .nx-step{padding-bottom:.6rem!important;min-height:0!important}

/* Education: degree lines only */
#education.is-collapsed .credential-card--skills,
#education.is-collapsed .credentials-certifications,
#education.is-collapsed .education-item p,
#education.is-collapsed .education-item li{display:none!important}
#education.is-collapsed .credentials-grid{gap:.75rem!important}
#education.is-collapsed .education-item{min-height:0!important;padding-top:.75rem!important;padding-bottom:.75rem!important}

/* Toolkit: compact chips, no prose */
#toolkit.is-collapsed .toolkit-copy,
#toolkit.is-collapsed .tool-drag-hint,
#toolkit.is-collapsed .tool-selection{display:none!important}
#toolkit.is-collapsed .toolkit-main{min-height:0!important}
#toolkit.is-collapsed .tool-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:.5rem!important;height:auto!important;min-height:0!important}
#toolkit.is-collapsed .tool-card{min-height:0!important;height:auto!important;padding:.55rem .4rem!important;position:static!important;transform:none!important}
/* visually hidden, still announced: keeps each icon-only tool button named for screen readers */
#toolkit.is-collapsed .tool-card > *:not(span:first-child){position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
#toolkit.is-collapsed .tool-card span{height:auto!important;min-height:0!important;font-size:.75rem!important}

/* Events: tight list, title + date, no photo */
#events.is-collapsed .event-media{display:none!important}
#events.is-collapsed .event-grid{gap:.5rem!important;min-height:0!important}
#events.is-collapsed .event-timeline-step{min-height:0!important;height:auto!important;padding:0!important}
#events.is-collapsed .event-card{min-height:0!important;height:auto!important}
#events.is-collapsed .event-card > div{padding:.75rem 1rem!important}
#events.is-collapsed .event-card :is(ul,ol,.event-tags,.event-meta + *){display:none!important}

/* Work: compact cards, name + one line */
#work.is-collapsed .featured-project ul,
#work.is-collapsed .featured-project-actions{display:none!important}
#work.is-collapsed .featured-project{padding-top:.9rem!important;padding-bottom:.9rem!important}
#work.is-collapsed .featured-project-grid{gap:.6rem!important}
#events.is-collapsed .event-card > div > :not(span):not(h3){display:none!important}
#events.is-collapsed .event-timeline-index{display:none!important}

/* Socials: four small link tiles, two per row */
#socials.is-collapsed .social-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.5rem!important;min-height:0!important;height:auto!important}
#socials.is-collapsed .social-card{min-height:0!important;height:auto!important;padding:.65rem!important;gap:.5rem!important}
#socials.is-collapsed .social-card .social-icon{transform:scale(.75);transform-origin:left center}
#work.is-collapsed .featured-project > :not(.featured-project-top):not(h3){display:none!important}
#work.is-collapsed .featured-project{min-height:0!important;gap:.4rem!important;padding:.9rem 1rem!important}
@media(min-width:901px){
  #toolkit.is-collapsed{display:block!important}
  #toolkit.is-collapsed .tool-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important}
}
