/* Screen-only adaptation: retain the desktop composition and print layout. */
@media screen {
  header, main, footer { width:100%; }
  header { height:auto; min-height:100px; padding-top:16px; padding-bottom:16px; }
  main, .hero, .section, .hero-copy, .profile-body, .section-label,
  .job-body, .job-meta, .timeline article > div, .contact > div,
  .skill-grid > article, .extra-grid > article { min-width:0; }
  h1,h2,h3,p,li,dd,figcaption { overflow-wrap:break-word; }
  h2,h3 { hyphens:auto; }
  .hero { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
  nav,.hero-actions,.hero-foot,.portrait figcaption,footer { flex-wrap:wrap; }
  nav a { display:inline-flex; align-items:center; min-height:44px; }
  .button,.print,.linkedin { min-height:44px; }
  .button { max-width:100%; white-space:normal; }
  .linkedin { display:inline-flex; align-items:center; gap:8px; }
  .portrait figcaption { column-gap:14px; row-gap:4px; }
  .portrait img { max-width:100%; }
  .contact { flex-wrap:wrap; }
  .contact .button { flex-shrink:1; }
  .profile,.journey { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); }
  .job { grid-template-columns:minmax(0,230px) minmax(0,1fr); }
  .skill-grid,.extra-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media screen and (max-width:62rem) {
  header { flex-wrap:wrap; gap:12px 24px; }
  nav { order:3; flex-basis:100%; justify-content:center; gap:8px 28px; }
  .hero { column-gap:4%; }
  h1 { font-size:clamp(2rem,4.4vw,3.2rem); letter-spacing:-.04em; }
}
@media screen and (max-width:53.125rem) {
  header { min-height:0; }
  .profile,.journey { grid-template-columns:minmax(0,1fr); }
  .job { grid-template-columns:minmax(0,180px) minmax(0,1fr); }
  .skill-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .extra-grid { grid-template-columns:minmax(0,1fr); gap:26px; }
}
@media screen and (max-width:47.5rem) {
  .hero { grid-template-columns:minmax(0,1fr); gap:24px; }
  .hero-copy { order:1; }
  .portrait { order:2; width:100%; height:auto; min-height:0; max-height:none;
    aspect-ratio:1 / 1; border-radius:65px 8px 8px 8px; }
  .portrait img { object-position:50% 35%; }
  .portrait figcaption { flex-direction:row; align-items:center; }
  .hero-foot { order:3; margin-top:6px; gap:12px 18px; }
  .hero-actions { flex-direction:row; align-items:center; }
  .intro { max-width:none; }
  h1 { font-size:clamp(2rem,6.5vw,2.7rem); }
}
@media screen and (max-width:37.5rem) {
  nav { justify-content:space-between; gap:4px 12px; font-size:.875rem; }
  .print { font-size:.875rem; }
  .job,.skill-grid,.extra-grid { grid-template-columns:minmax(0,1fr); }
  .project-skills { grid-column:auto; }
  .portrait figcaption { padding:40px 16px 16px; }
  .portrait figcaption > span:first-child { font-size:1rem; }
  .hero-foot,.hero-foot > span { font-size:.75rem; }
  footer > a:last-child { white-space:normal; }
}
@media screen and (max-width:23rem) {
  .hero { padding-left:6%; padding-right:6%; }
  h1 { font-size:2rem; }
  .section { margin-left:6%; margin-right:6%; }
  .hero-actions { gap:10px; }
  nav { justify-content:flex-start; column-gap:16px; }
}
