
/* V5: accessibility-conscious hover dock and compact first-screen mobile hero */
.scroll-scan{display:none!important}
.contact-dock{gap:0}
.contact-dock__panel{margin-inline-start:12px}
.contact-dock__toggle:focus-visible,.dock-close:focus-visible{outline:2px solid #ffffff;outline-offset:4px}
@media (hover:hover) and (pointer:fine){
 .contact-dock:hover .contact-dock__toggle{box-shadow:0 0 28px #ff80316b}
}
@media (max-width:760px){
 .header{height:58px;padding-inline:14px}
 .header.scrolled{height:58px}
 .logo-label{font-size:12px;letter-spacing:.08em}
 .logo-mark{font-size:14px;padding:6px}
 .nav{top:58px}
 .hero.section{
  height:auto;max-height:none;min-height:100svh;
  padding:72px 0 10px;display:block;overflow:hidden;
 }
 .hero-inner{display:flex;flex-direction:column;gap:0;align-items:stretch}
 .hero-copy{width:100%;display:flex;flex-direction:column;align-items:stretch}
 .eyebrow{font-size:9px;gap:7px;flex-wrap:wrap;min-height:18px}
 .eyebrow-line{width:18px}
 .hero-intro{margin:11px 0 5px;font-size:12px}
 .hero-title{font-size:clamp(34px,9.5vw,54px)!important;line-height:1.01;letter-spacing:-.06em}
 .hero-title>span{font-size:.61em}
 .role-line{margin-top:9px;font-size:clamp(10px,2.6vw,12px);min-height:18px}
 .hero-desc{font-size:clamp(11px,3.1vw,13px);line-height:1.55;margin:9px 0 0;max-width:40ch}
 .hero-buttons{display:flex;gap:8px;margin-top:12px;flex-wrap:nowrap}
 .hero-buttons .btn{flex:1;min-width:0;padding:10px 7px!important;gap:5px;font-size:10px!important;white-space:normal;text-align:center;min-height:42px}
 .hero-bottom{display:none}
 .hero-visual{width:100%;height:clamp(200px,37svh,345px);min-height:0;margin:0 auto;overflow:hidden}
 .photo-shell{height:100%;width:min(67%,270px);display:flex;align-items:flex-end;justify-content:center}
 .photo-shell img{height:100%;width:100%;object-fit:contain;object-position:bottom}
 .dimension-stage{inset:0;opacity:.48}
 .dimension-ring{width:min(78%,300px);left:11%;top:4%}
 .dimension-cube{top:6%;right:8%;opacity:.7}
 .float-tag{font-size:8px!important;padding:6px!important;max-width:110px}
 .tag-top{top:12%;right:0}
 .tag-bottom{bottom:12%;left:0}
 .hero-index{display:none}
 .contact-dock{bottom:10px;left:10px;z-index:105}
 .contact-dock__toggle{padding:11px;font-size:10px}
 .contact-dock__panel{bottom:51px;left:0;margin:0;max-height:min(75dvh,520px);overflow:auto}
 .command-trigger{bottom:12px;right:10px;padding:9px}
 .section:not(.hero){padding:65px 0}
 .service{min-height:0;padding:24px}
 .service .service-icon{margin-bottom:18px}
 .skills-panel{padding:18px}
}
@media(max-width:390px){
 .hero.section{padding-top:66px}
 .hero-intro{margin-top:7px}
 .hero-title{font-size:clamp(32px,9.2vw,38px)!important}
 .hero-desc{font-size:11px}
 .hero-visual{height:clamp(175px,33svh,265px)}
 .hero-buttons .btn{font-size:9px!important}
 .float-tag{display:none}
}
@media(max-height:680px) and (max-width:760px){
 .hero.section{padding-top:63px}
 .hero-intro{margin-top:5px}
 .hero-desc{line-height:1.4}
 .hero-visual{height:clamp(150px,29svh,235px)}
 .hero-buttons{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.contact-dock__panel{transition:none!important}}
