/* v44 — viewport-fit fixes; desktop layout otherwise unchanged. */
@media (min-width:851px) {
  body main#main #about .section-grid > .section-body { overflow:hidden!important; justify-content:flex-start!important; gap:clamp(5px,.65vh,8px)!important; }
  body main#main #about .section-body .lead {font-size:clamp(14px,1.08vw,18px)!important;line-height:1.32!important;margin:0!important;}
  body main#main #about .section-body p:not(.lead){font-size:clamp(10.5px,.78vw,13px)!important;line-height:1.38!important;margin:0!important;}
  body main#main #about .section-body .inline-notes{margin-top:auto!important;padding-top:2px!important;}
  body main#main #about .section-body .inline-notes span{padding:3px 5px!important;font-size:8px!important;}
}
@media (max-width:760px){
  /* Mobile chapters must use the available viewport rather than stacking full-height sections. */
  #about .shell.section-grid{height:100%!important; min-height:0!important; justify-content:flex-start!important; gap:clamp(8px,1.4dvh,13px)!important; padding-top:clamp(7px,1.4dvh,14px)!important; padding-bottom:clamp(46px,7dvh,65px)!important; box-sizing:border-box!important;}
  #about .section-label{flex:none!important;min-height:0!important;max-height:none!important;}
  #about .section-label h2{font-size:clamp(17px,4.5vw,22px)!important;line-height:1.06!important;letter-spacing:-.045em!important;white-space:nowrap!important; margin:5px 0 8px!important;}
  #about .section-label h2 br{display:none!important;}
  #about .v34-locations{height:clamp(132px,23dvh,205px)!important;flex:none!important;min-height:0!important;width:100%!important;}
  #about .section-grid > .section-body{flex:1 1 auto!important;min-height:0!important;max-height:none!important;height:auto!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:8px!important;padding:12px 13px!important;}
  #about .section-body .lead{font-size:clamp(13px,3.4vw,16px)!important;line-height:1.3!important;margin:0!important;}
  #about .section-body p:not(.lead){font-size:clamp(11px,2.85vw,13px)!important;line-height:1.38!important;margin:0!important;}
  #about .inline-notes{display:none!important;}
  #about .v44-story-pages{display:flex;gap:5px;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden;}
  #about .v44-story-pages p[hidden]{display:none!important;}
  #about .v44-story-nav{display:flex!important;justify-content:space-between;gap:10px;align-items:center;margin-top:auto;padding-top:4px;flex:none;}
  .v44-story-nav button,.v44-mobile-tabs button {font:inherit;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);padding:7px 11px;font-size:11px;font-weight:700;cursor:pointer;}
  .v44-story-nav button[disabled]{opacity:.3;cursor:default;}
  .v44-story-nav span{font-size:10px;letter-spacing:.12em;color:var(--muted)}
  #home .hero-v14-visual{height:100%!important;max-height:none!important;min-width:0!important;}
  #home .v22-portrait{height:100%!important;max-height:100%!important;min-height:0!important;}
  #home .v22-portrait>img{object-position:center bottom!important;transform:scale(1.08);transform-origin:center bottom;}
  /* Tighten role descriptions and bullet rhythm; preserve the tags. */
  #experience .journey-card{padding:12px 14px!important;}
  #experience .journey-card-top{padding-bottom:3px!important;}
  #experience .journey-card-main{padding:5px 0!important;max-height:none!important;overflow-y:auto!important;}
  #experience .journey-card h3{font-size:clamp(19px,5.2vw,26px)!important;line-height:1.12!important;margin:4px 0!important;}
  #experience .journey-card p{font-size:clamp(11px,2.9vw,13px)!important;line-height:1.35!important;margin:5px 0!important;}
  #experience .journey-duties{display:grid!important;grid-template-columns:1fr!important;gap:clamp(3px,.7dvh,6px)!important;line-height:1.25!important;font-size:clamp(10.5px,2.7vw,12px)!important;margin:6px 0!important;}
  #experience .journey-duties li{margin:0!important;padding-top:0!important;padding-bottom:0!important;line-height:1.3!important;}
  #experience .journey-tags{max-height:25%!important;margin-top:5px!important;padding-top:6px!important;gap:4px!important;}
  #experience .journey-tags span{font-size:9px!important;padding:4px 6px!important;line-height:1.1!important;}
  /* Skills and tools: separate tabs, one tree at a time. */
  #skills .section-heading h2{font-size:clamp(25px,7vw,35px)!important;line-height:1.08!important;max-width:175px!important;}
  #skills .section-heading h2::first-line{line-height:1.08;}
  #skills .section-heading h2 .period{display:inline!important;}
  #skills .section-heading h2{width:160px!important;}
  #skills .shell{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;padding-bottom:50px!important;}
  #skills .v44-mobile-tabs{margin:5px 0 9px;}
  .v44-mobile-tabs{display:flex!important;gap:8px;flex:none;}
  .v44-mobile-tabs button{flex:1;background:rgba(14,32,23,.45);}
  .v44-mobile-tabs button[aria-selected="true"]{background:var(--accent);color:#10251a;border-color:var(--accent);}
  #skills .talent-forest{overflow:hidden!important;min-height:0!important;flex:1 1 auto!important;}
  #skills .talent-tree{height:100%!important;min-height:0!important;box-sizing:border-box!important;overflow-y:auto!important;margin-bottom:0!important;}
  #skills .talent-tree.v44-mobile-hidden{display:none!important;}
  #skills .talent-inspector{margin-top:5px!important;padding:6px 8px!important;min-height:30px!important;flex:none!important;}
  /* Credentials: gallery and education are individual screens on mobile. */
  #credentials .shell{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;overflow:hidden!important;padding-top:10px!important;padding-bottom:55px!important;box-sizing:border-box!important;}
  #credentials .section-heading{margin-bottom:7px!important;flex:none!important;}
  #credentials .section-heading h2{font-size:clamp(22px,5.4vw,30px)!important;line-height:1.12!important;}
  #credentials .section-heading p{font-size:11px!important;line-height:1.3!important;margin-top:5px!important;}
  #credentials .v44-mobile-tabs{margin:4px 0 8px;}
  #credentials .v21-gallery,#credentials .education-compact{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important;margin-top:0!important;}
  #credentials .v21-gallery.v44-mobile-hidden,#credentials .education-compact.v44-mobile-hidden{display:none!important;}
  #credentials .v21-gallery{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;}
  #credentials .v21-gallery-stage{height:auto!important;flex:1 1 auto!important;min-height:0!important;}
  #credentials .v21-gallery-canvas{min-height:0!important;}
  #credentials .v21-gallery-item{width:94%!important;max-height:90%!important;}
  #credentials .v21-gallery-bottom{padding-top:7px!important;flex:none!important;}
  #credentials .education-compact{padding:12px!important;display:flex!important;flex-direction:column!important;gap:10px!important;}
  #credentials .education-compact-items{display:grid!important;gap:10px!important;}
  #credentials .education-compact-item{padding:14px!important;}
  #credentials .section-footnote{display:none!important;}
}
@media(max-width:420px){
  #home .hero-v14-visual{max-height:none!important;}
  #home .v22-portrait>img{transform:scale(1.15);}
}
@media(max-width:760px) and (max-height:720px){
 #about .v34-locations{height:19dvh!important;}
 #about .section-body p:not(.lead){font-size:10.5px!important;line-height:1.24!important;}
 #about .section-body .lead{font-size:12px!important;line-height:1.23!important;}
 #experience .journey-duties{font-size:10px!important;gap:2px!important;}
}
@media(min-width:761px){.v44-mobile-tabs,.v44-story-nav{display:none!important;}.v44-story-pages{display:contents!important;}}
