/* Native document snapping retains anchors, touch gestures and keyboard scrolling. */
html.fullpage{scroll-snap-type:y mandatory;scroll-padding-top:0}
html.fullpage.chapter-transition{scroll-snap-type:none;scroll-behavior:auto}
html.fullpage .hero,html.fullpage .portfolio-flow>.section{height:100svh;min-height:0;max-height:100svh;scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:0}
html.fullpage .portfolio-flow>.section{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#71995155 transparent}
html.fullpage .portfolio-flow>.experience,html.fullpage .portfolio-flow>.works,html.fullpage .portfolio-flow>.about.strengths{justify-content:safe center}
html.fullpage .hero{padding-top:100px;padding-bottom:160px}
html.fullpage .hero-chapters>a{padding-top:18px;padding-bottom:24px}
.entrance-char{display:inline-block}
.footer-icp{font-size:12px;color:#a5afa6;white-space:nowrap}
.footer-icp:hover{color:var(--lime)}
@media(max-width:430px){.contact-finale>footer{flex-wrap:wrap;gap:14px}.contact-finale>footer .footer-icp{order:3;flex-basis:100%;text-align:center}}

@media(min-width:900px) and (min-height:700px){
  html.fullpage .portfolio-flow>.section{padding-top:clamp(26px,4svh,48px);padding-bottom:clamp(26px,4svh,48px)}
  html.fullpage .experience-heading{margin-bottom:22px}
  html.fullpage .profile-copy>h3{font-size:clamp(28px,3.7svh,40px);margin-bottom:12px}
  html.fullpage .profile-intro{margin-bottom:12px;font-size:14px;line-height:1.7}
  html.fullpage .profile-facts>div{padding:7px 0 9px}
  html.fullpage .profile-focus{padding:12px 0}
  html.fullpage .profile-focus strong{font-size:24px}
  html.fullpage .profile-tools{padding-top:12px}
  html.fullpage .career-heading{margin:26px 0 20px}
  html.fullpage .career-item{padding-top:20px}
  html.fullpage .career-description{line-height:1.7;margin-top:10px}
  html.fullpage .works-heading,html.fullpage .strengths-heading{margin-bottom:24px}
  html.fullpage .category-grid{height:min(70svh,760px);min-height:0}
  html.fullpage .strengths-grid{height:min(72svh,800px);min-height:0;gap:22px}
  html.fullpage .strengths-grid .strength-card h3{font-size:clamp(20px,2.6svh,27px);margin-top:22px}
  html.fullpage .strength-soft-icon{width:180px;height:165px;transform:scale(.85);transform-origin:bottom right}
  html.fullpage .portfolio-flow>.contact.contact-finale{padding-top:40px;padding-bottom:85px}
}

@media(max-width:899px),(max-height:699px){
  html.fullpage .portfolio-flow>.section{display:block;padding-top:36px;padding-bottom:36px}
  html.fullpage .portfolio-flow>.contact.contact-finale{display:grid;align-content:start;padding-bottom:30px}
  html.fullpage .contact-finale>footer{position:static;grid-column:1/-1;margin-top:24px}
  html.fullpage .card-host--portrait .card-measure>.profile-portrait{min-height:360px}
  html.fullpage .career-heading{margin-top:34px}
  html.fullpage .strengths-heading{margin-bottom:28px}
}
@media(max-width:650px){
  html.fullpage .hero{padding-top:105px;padding-bottom:200px}
  html.fullpage .hero-chapters>a{padding:12px 0}
  html.fullpage .hero-chapters{bottom:10px}
}
@media(prefers-reduced-motion:reduce){html.fullpage{scroll-behavior:auto}}

/* Keep labels with their content; separate the larger information groups. */
html.fullpage .experience-heading>p,html.fullpage .works-heading>p,html.fullpage .strengths-heading>p{margin-top:6px}
html.fullpage .profile-copy>.eyebrow{margin-bottom:6px}
html.fullpage .profile-facts{column-gap:18px}
html.fullpage .profile-facts dt{margin-bottom:4px}
html.fullpage .profile-focus span{margin-top:4px}
html.fullpage .profile-tools>.eyebrow{margin-bottom:7px}
html.fullpage .career-domain{margin-bottom:6px}
html.fullpage .career-item h4{margin-bottom:6px}
html.fullpage .category-copy>strong{margin-bottom:6px}
html.fullpage .contact-kicker{margin-bottom:8px}
html.fullpage .contact-signature{margin-top:24px}
html.fullpage .contact-panel h3{margin-bottom:12px}
html.fullpage .contact-position{margin:20px 0}
html.fullpage .contact-download small{margin-top:4px}
@media(min-width:900px) and (min-height:700px){
  html.fullpage .experience-heading{margin-bottom:20px}
  html.fullpage .profile-grid{gap:clamp(24px,2.4vw,36px)}
  html.fullpage .profile-intro{margin-bottom:16px}
  html.fullpage .profile-focus{padding:14px 0}
  html.fullpage .profile-tools{padding-top:14px}
  html.fullpage .career-heading{margin:30px 0 18px}
  html.fullpage .career-item{padding-top:18px;padding-right:36px}
  html.fullpage .career-item:last-child{padding-right:0}
  html.fullpage .career-description{margin-top:9px}
  html.fullpage .works-heading,html.fullpage .strengths-heading{margin-bottom:22px}
  html.fullpage .category-grid,html.fullpage .strengths-grid{gap:20px}
  html.fullpage .category-grid{height:min(68svh,720px)}
  html.fullpage .strengths-grid{height:min(69svh,740px)}
  html.fullpage .portfolio-flow>.contact.contact-finale{column-gap:clamp(30px,3.2vw,48px)}
}
@media(max-width:899px),(max-height:699px){
  html.fullpage .experience-heading,html.fullpage .works-heading,html.fullpage .strengths-heading{margin-bottom:24px}
  html.fullpage .profile-grid{gap:22px}
  html.fullpage .profile-intro{margin-bottom:18px}
  html.fullpage .career-heading{margin:32px 0 22px}
  html.fullpage .career-description{margin-top:10px}
  html.fullpage .portfolio-flow>.contact.contact-finale{row-gap:28px}
}
