/* Phone layouts keep the paper identity, with room for fingers and browser chrome. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,summary{-webkit-tap-highlight-color:#efb08f45}
.graph-scroll{min-width:0}.graph-scroll>svg{display:block;width:100%;height:auto}
.graph-day-controls{display:none}
@media screen and (max-width:600px),screen and (max-width:900px) and (max-height:500px){
 :root{--dock-bottom:calc(8px + env(safe-area-inset-bottom))}
 .layout{width:auto;max-width:none;margin:0;padding:30px max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left))}
 .identity{gap:14px;align-items:flex-start}.identity-copy{min-width:0;flex:1}.identity h1{font-size:clamp(30px,8.7vw,38px)}
 .avatar-widget,.portrait-frame{width:68px;height:68px;flex-basis:68px}.identity-role{font-size:14px;line-height:1.5}
 .hero-status{gap:8px 12px}.availability-badge{min-height:44px;font-size:12px}.traffic-stats{font-size:13px}
 .hero-contacts{gap:14px;margin:24px 0 28px}.social-icon-row{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:4px;width:100%;max-width:360px}
 .social-icon-row a{width:44px;height:44px;justify-self:start}.social-icon-row svg{width:21px;height:21px}
 .contact-utilities{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;max-width:360px}
 .contact-utilities a{min-height:46px;justify-content:center;font-size:13px;padding:8px 11px}
 .intro p,.projects-intro,.contact-lead{font-size:16px;line-height:1.6}
 .skills-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 10px;align-items:start}
 .skill{width:auto;min-width:0;font-size:12px;overflow-wrap:normal;word-break:normal;hyphens:none}.skill-icon{width:44px;height:44px}
 .tech{width:30px;height:30px}.tech-row{gap:5px}.tech>svg,.tech>img{width:19px;height:19px}
 .tech-row>.tech:nth-child(n+7):not(.tech--mobile-more),.tech-row>.tech--more{display:none}.tech-row>.tech--mobile-more{display:grid}
 .proj--row{grid-template-columns:minmax(0,1fr);gap:16px}.proj--row .proj-art-button{grid-row:auto;max-width:none}.proj--row .proj-actions{grid-column:1}
 .proj--row .proj-copy h3{font-size:26px}.proj--row .proj-hook{font-size:16px}.proj-copy h3 button{min-height:44px}
 .proj-actions button,.proj-actions a,.icon-action{min-width:44px;min-height:44px}.proj-actions svg,.icon-action svg{width:20px;height:20px}
 .selected-actions{gap:12px}.selected-actions>a,.bench-heading>a,.heatmap-footer>a{display:inline-flex;align-items:center;min-height:44px}
 .home-contact-links a,.copy-mail{min-height:44px}.home-contact-links{gap:10px}
 .navigation{width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));max-width:390px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 44px;gap:2px;padding:5px;bottom:var(--dock-bottom)}
 .navigation>a{min-width:0;min-height:46px;padding:0 4px;gap:6px;font-size:12px;text-decoration:none}.navigation>a svg{width:18px;height:18px}
 .sound-toggle{min-width:44px;min-height:46px;padding:0 8px}
 .sound-toggle span{display:none}
 .site-footer{margin-bottom:0}.footer-main{gap:24px;flex-wrap:wrap}.footer-links{gap:0}.footer-links a,.footer-email,.footer-bottom>a,.keyboard-help,.sound-test{min-height:44px;display:inline-flex;align-items:center}
 .footer-bottom{gap:8px 20px}.footer-bottom>span{flex-basis:100%}.footer-signoff,.footer-links{min-width:0}.footer-name{display:inline-block;font-size:32px;min-height:44px}.footer-email{overflow-wrap:anywhere}
 .graph-scroll{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:5px 3px 10px;scrollbar-width:thin;touch-action:pan-x pan-y;scroll-padding-inline:3px}
 .graph-scroll>svg{width:760px;max-width:none;height:auto}.github-activity{min-width:0}.graph-readout{flex-wrap:wrap;gap:7px;min-height:36px}.graph-readout-text{font-size:13px}.graph-readout-hint{width:100%;margin-left:16px;font-size:12px}
 .graph-day-controls{display:flex;gap:8px;margin-top:8px}.graph-day-controls button{min-width:44px;min-height:44px;padding:7px 13px;background:var(--surface);border:1px solid var(--line);border-radius:3px;color:var(--ink);font-size:13px}.graph-day-controls button:disabled{opacity:.5;cursor:default}
 .heatmap-footer{gap:8px 16px;align-items:center;font-size:12px}.heat-legend{margin-left:auto}
 .directory-copy,.contact-options a>span{min-width:0;overflow-wrap:anywhere}.contact-facts dd{overflow-wrap:anywhere}
 /* A single scrolling content area leaves the close action visible. */
 dialog{width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;overscroll-behavior:contain}
 .resume-modal[open]{display:flex;flex-direction:column;overflow:hidden}.resume-toolbar{flex:none;align-items:center;padding:15px 16px;gap:10px}.resume-toolbar h2{font-size:25px;overflow-wrap:anywhere}.resume-toolbar>button{min-width:44px;min-height:44px;padding:9px}
 .resume-content{min-height:0;max-height:none;overflow-y:auto;padding:18px 16px;overscroll-behavior:contain;overflow-wrap:anywhere}.resume-content p,.resume-content li{font-size:16px;line-height:1.6}.detail-layout{gap:18px}.detail-cover{margin-bottom:18px}.detail-meta{padding-bottom:16px}
 .film-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.film-body .resume-content{overflow:visible}.contact-dialog{padding:20px;overflow-y:auto}.contact-dialog header{gap:12px}.contact-dialog header button{min-width:44px;min-height:44px}.contact-dialog h2{font-size:25px}
 body:has(dialog[open]){overflow:hidden}
}
@media screen and (max-width:360px){
 .identity{gap:11px}.avatar-widget,.portrait-frame{width:58px;height:58px;flex-basis:58px}.identity h1{font-size:30px}.hero-status{gap:6px 9px}
 .footer-main{flex-direction:column}.footer-links{flex-direction:row;flex-wrap:wrap;gap:0 20px}.footer-links>span{flex-basis:100%;margin:0}.bench-heading{gap:10px}.bench-heading>a{white-space:nowrap}
}
@media (hover:none) and (pointer:coarse){
 .keyboard-help{display:none}.social-icon-row a:hover,.contact-directory li>a:hover .directory-icon,a[href^="https://cal.com/"]:hover{transform:none}
 a,button,summary{-webkit-tap-highlight-color:#efb08f45}.icon-action:active,.contact-utilities a:active,.social-icon-row a:active{transform:translateY(1px)}
 .tech[data-tip]:focus::after{white-space:normal;width:max-content;max-width:150px;text-align:center}
}
@media (prefers-reduced-motion:reduce){.icon-action:active,.contact-utilities a:active,.social-icon-row a:active{transform:none}}

@media(max-width:600px){
 .identity h1{font-size:clamp(30px,8.7vw,38px);font-weight:600}
 .identity-role{font-size:14px;line-height:1.6}
 .layout{padding-bottom:var(--dock-clearance)}
 .hero-contacts{margin:24px 0 28px}
 .proof-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:24px 0 16px}
 .proof-chips .availability-badge{min-height:44px;align-items:center;font-size:12px;line-height:1.6;padding:3px 8px}
 .hero-availability{font-size:12px;line-height:1.6}
 .home-contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .home-contact-links a{justify-content:center;min-width:0;min-height:46px;padding:10px 8px}
 .home-contact-links svg{flex:none}
 .skill-label{font-size:11px}.skill{font-size:11px}
 .project-results{font-size:12px;gap:5px 10px}
 .resume-content .tech{width:30px;height:30px}
 .contact-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
