/* v3.1 responsive contract adapted to the approved live layout.
   Desktop shell widths, content and destinations remain unchanged. */
[data-sb-motion-page] :is(.hero-grid,.summary-shell,.presence-grid,.contact-band,.sub-hero-grid)>*{min-width:0}
[data-sb-motion-page] :is(.hero-actions,.cta-actions){flex-wrap:wrap}
[data-sb-motion-page] :is(.hero-actions,.cta-actions)>a{max-width:100%;white-space:normal;text-align:center}
/* An open menu remains within the viewport; its own content can scroll. */
.site-header :is(#mobile-nav,#mobile-menu,.mobile-menu,.language-menu){max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;max-width:calc(100vw - 24px)}
body[data-sb-motion-page="profile"] .nav.is-open{max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}

/* Profile: retain the 1240px desktop shell, reduce empty vertical space. */
body[data-sb-motion-page="profile"] main{padding-top:18px}
body[data-sb-motion-page="profile"] .hero{padding:4px 0 12px}
body[data-sb-motion-page="profile"] .hero.reveal{opacity:1;transform:none;transition:none}
body[data-sb-motion-page="profile"] .contact-actions .icon-action:after{left:auto;right:0}
body[data-sb-motion-page="profile"] .hero-copy{padding:28px 32px;display:flex;flex-direction:column;justify-content:center}
body[data-sb-motion-page="profile"] .hero-copy .eyebrow{margin-bottom:10px}
body[data-sb-motion-page="profile"] .hero-name{font-size:clamp(44px,4.8vw,66px)}
body[data-sb-motion-page="profile"] .hero-role{font-size:clamp(24px,2.5vw,36px);margin-top:11px;max-width:17ch}
body[data-sb-motion-page="profile"] .hero-specialty{font-size:13px;margin-top:13px}
body[data-sb-motion-page="profile"] .hero-lead{font-size:15px;line-height:1.58;margin-top:12px}
body[data-sb-motion-page="profile"] .hero-actions{margin-top:18px;gap:10px}
body[data-sb-motion-page="profile"] .hero-copy .profile-actions{margin-top:10px}
body[data-sb-motion-page="profile"] .proof-badge{min-width:134px;max-width:165px;padding:10px 12px;border-radius:15px}
body[data-sb-motion-page="profile"] .proof-badge strong{font-size:20px}
body[data-sb-motion-page="profile"] .proof-badge span{font-size:10px;margin-top:4px}
body[data-sb-motion-page="profile"] .proof-1{top:44px}
body[data-sb-motion-page="profile"] .proof-2{top:160px}
body[data-sb-motion-page="profile"] .proof-3{bottom:20px}
body[data-sb-motion-page="profile"] section{padding-block:30px}
body[data-sb-motion-page="profile"] .section-head{margin-bottom:16px}
body[data-sb-motion-page="profile"] .section-title{font-size:clamp(30px,3vw,42px)}
body[data-sb-motion-page="profile"] .summary-shell{gap:16px}
body[data-sb-motion-page="profile"] .summary-copy{padding:28px}
body[data-sb-motion-page="profile"] .summary-copy p{font-size:17px;line-height:1.72}
body[data-sb-motion-page="profile"] .summary-visual{min-height:390px}
body[data-sb-motion-page="profile"] .carousel-wrap{padding:8px 0 10px}
body[data-sb-motion-page="profile"] .carousel-card{min-height:150px;padding:18px}
body[data-sb-motion-page="profile"] .carousel-card .c-icon{width:42px;height:42px;margin-bottom:11px}
body[data-sb-motion-page="profile"] .carousel-card strong{font-size:17px}
body[data-sb-motion-page="profile"] .carousel-card p{font-size:13px}
body[data-sb-motion-page="profile"] .carousel-viewport,body[data-sb-motion-page="profile"] .credentials-carousel{padding-block:20px 24px}
body[data-sb-motion-page="profile"] .timeline.v12-stack{padding-bottom:5vh}
body[data-sb-motion-page="profile"] .timeline.v12-stack .exp-card{margin-bottom:8vh}
body[data-sb-motion-page="profile"] .contact-band{padding:28px}
@media(min-width:1101px){
 body[data-sb-motion-page="profile"] .hero-grid{gap:26px;align-items:stretch;min-height:min(650px,calc(100svh - var(--header) - 44px))}
 body[data-sb-motion-page="profile"] .hero-visual{min-height:0;height:auto}
 body[data-sb-motion-page="profile"] .portrait{height:101%!important;inset:auto -3% -1% 3%!important}
 body[data-sb-motion-page="profile"] .portrait img{max-width:100%!important;object-fit:contain!important}
}
@media(min-width:761px) and (max-width:1100px){
 body[data-sb-motion-page="profile"] main{padding-top:16px}
 body[data-sb-motion-page="profile"] .hero-grid{grid-template-columns:1.02fr .98fr;gap:20px;min-height:0}
 body[data-sb-motion-page="profile"] .hero-copy{padding:24px}
 body[data-sb-motion-page="profile"] .hero-name{font-size:clamp(40px,5vw,50px)}
 body[data-sb-motion-page="profile"] .hero-role{font-size:clamp(23px,3vw,30px);max-width:none;margin-top:10px}
 body[data-sb-motion-page="profile"] .hero-specialty{font-size:12px;margin-top:12px}
 body[data-sb-motion-page="profile"] .hero-lead{font-size:14px;line-height:1.55;margin-top:12px}
 body[data-sb-motion-page="profile"] .hero-actions{margin-top:16px}
 body[data-sb-motion-page="profile"] .hero-visual{min-height:440px}
 body[data-sb-motion-page="profile"] .portrait{height:100%!important;inset:auto 0 0 0!important}
 body[data-sb-motion-page="profile"] .portrait img{max-width:100%!important;object-fit:contain!important}
 body[data-sb-motion-page="profile"] .proof-badge{min-width:116px;max-width:140px;padding:9px 10px}
 body[data-sb-motion-page="profile"] .proof-badge strong{font-size:18px}
 body[data-sb-motion-page="profile"] .proof-1{top:40px;left:0}
 body[data-sb-motion-page="profile"] .proof-2{top:145px;right:0}
 body[data-sb-motion-page="profile"] .proof-3{bottom:18px;left:12px}
 body[data-sb-motion-page="profile"] section{padding-block:28px}
 body[data-sb-motion-page="profile"] .summary-shell{grid-template-columns:1fr 1fr}
 body[data-sb-motion-page="profile"] .summary-copy{padding:24px}
 body[data-sb-motion-page="profile"] .summary-copy p{font-size:16px;line-height:1.7}
 body[data-sb-motion-page="profile"] .summary-visual{min-height:360px}
}
@media(max-width:1100px){
 .sb-parallax-visual,.profile-parallax,.sb-magnetic,.v12-magnetic{translate:none!important}
 .profile-parallax{--parallax-y:0px!important;will-change:auto}
}
@media(max-width:760px){
 body[data-sb-motion-page="profile"] main{padding-top:12px}
 body[data-sb-motion-page="profile"] .hero-grid{grid-template-columns:1fr;gap:18px;min-height:0}
 body[data-sb-motion-page="profile"] .hero-copy{padding:22px}
 body[data-sb-motion-page="profile"] .hero-name{font-size:40px}
 body[data-sb-motion-page="profile"] .hero-role{font-size:26px;max-width:none;margin-top:9px}
 body[data-sb-motion-page="profile"] .hero-specialty{font-size:12px;margin-top:10px}
 body[data-sb-motion-page="profile"] .hero-lead{font-size:14px;line-height:1.55;margin-top:10px}
 body[data-sb-motion-page="profile"] .hero-actions{margin-top:15px}
 body[data-sb-motion-page="profile"] .hero-actions .btn{font-size:13px;min-height:44px;padding:10px 15px}
 body[data-sb-motion-page="profile"] .hero-visual{min-height:360px;margin-bottom:0}
 body[data-sb-motion-page="profile"] .portrait{height:101%!important;inset:auto 0 0 0!important}
 body[data-sb-motion-page="profile"] .proof-badge{min-width:110px;max-width:136px;padding:8px 9px}
 body[data-sb-motion-page="profile"] .proof-badge strong{font-size:18px}
 body[data-sb-motion-page="profile"] .proof-badge span{font-size:10px}
 body[data-sb-motion-page="profile"] .proof-1{top:30px;left:0}
 body[data-sb-motion-page="profile"] .proof-2{top:auto;bottom:112px;right:0}
 body[data-sb-motion-page="profile"] .proof-3{bottom:15px;left:0}
 body[data-sb-motion-page="profile"] section{padding-block:24px}
 body[data-sb-motion-page="profile"] .section-head{margin-bottom:14px}
 body[data-sb-motion-page="profile"] .section-title{font-size:clamp(28px,8vw,34px)}
 body[data-sb-motion-page="profile"] .summary-copy{padding:22px}
 body[data-sb-motion-page="profile"] .summary-copy p{font-size:16px;line-height:1.65}
 body[data-sb-motion-page="profile"] .summary-visual{min-height:330px}
 body[data-sb-motion-page="profile"] .credentials-track .credential-card{flex-basis:84%;padding:20px}
 body[data-sb-motion-page="profile"] .contact-band{padding:24px}
}
@media(max-width:480px){
 body[data-sb-motion-page="profile"] .shell{width:calc(100% - 24px)}
 body[data-sb-motion-page="profile"] .hero-copy{padding:19px}
 body[data-sb-motion-page="profile"] .hero-name{font-size:36px}
 body[data-sb-motion-page="profile"] .hero-role{font-size:23px}
 body[data-sb-motion-page="profile"] .hero-visual{min-height:340px}
 body[data-sb-motion-page="profile"] section{padding-block:22px}
 body[data-sb-motion-page="profile"] .profile-actions :is(.action-chip,.profile-action){width:44px!important;height:44px;min-width:44px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){
 [data-sb-motion-page] :is(.sb-parallax-visual,.profile-parallax,.sb-magnetic,.v12-magnetic){translate:none!important;animation:none!important;transition:none!important}
}
