/* Phone and touch improvements; desktop styling stays in the main stylesheets. */
.avatar-minimize{display:grid;place-items:center;position:absolute;right:-4px;top:-18px;width:44px;height:44px;background:#18221a;border:1px solid var(--accent);border-radius:6px;font-size:23px;z-index:3}
.avatar-restore{display:block;position:fixed;right:24px;bottom:calc(60px + env(safe-area-inset-bottom));min-height:44px;padding:12px 16px;background:var(--accent);color:var(--bg);border-radius:6px;z-index:45;font-size:13px}
.avatar-minimized .assistant-widget,.assistant-open .avatar-restore{display:none}
.avatar-restore[hidden]{display:none!important}
@media(max-width:700px){
  [hidden]{display:none!important}
  html{scroll-padding-top:88px}
  .wrap,.header-inner{width:calc(100% - 32px)}
  .section{padding-block:56px}
  .header-inner{height:72px;gap:12px}
  .brand small{font-size:10px}
  .menu-toggle{min-height:44px;min-width:76px;font-size:12px}
  .site-header nav{max-height:calc(100dvh - 72px);overflow-y:auto;padding:8px 16px 20px}
  .site-header nav>a{min-height:48px;font-size:15px}
  .site-header nav .nav-cv{margin-left:0}
  .hero{height:auto;min-height:760px;max-height:none;padding-bottom:250px}
  .hero-content{padding-top:44px}
  .hero h1{font-size:clamp(35px,9vw,52px);line-height:1.12;letter-spacing:-1.4px}
  .hero .eyebrow{font-size:10px;line-height:1.7;flex-wrap:wrap}
  .hero-intro{font-size:16px;line-height:1.7;max-width:440px}
  .hero-photo{top:260px;bottom:24px}
  .hero-actions{gap:12px;align-items:stretch}
  .hero-actions .button,.contact-actions .button{min-height:48px;font-size:14px;padding:14px 16px;gap:12px}
  .hero-actions .text-link{font-size:14px;min-height:48px}
  .hero-footnote{font-size:10px;line-height:1.7;flex-wrap:wrap}
  .hero-bottom{font-size:9px;line-height:1.6}
  .hero-bottom a{min-height:44px;flex-shrink:0}
  .photo-caption{bottom:90px}
  .credentials-strip .wrap>span{font-size:13px}
  .credentials-strip .wrap>a{font-size:12px;min-height:36px}
  .section-meta{flex-wrap:wrap;gap:10px}
  .section-meta .meta-note{font-size:11px;max-width:none;text-align:left}
  .section-meta>.eyebrow{font-size:11px}
  .story-heading>p,.story-copy p,.section-heading>p{font-size:15px;line-height:1.8}
  .story-numbers p{font-size:12px}
  .transition-steps{font-size:10px;flex-wrap:wrap}
  .transition-steps span{max-width:100px}
  .journey-track>div{grid-template-columns:82px minmax(0,1fr);gap:0 12px}
  .track-date{font-size:10px}.journey-track h3{font-size:15px}.journey-track p{font-size:12px}
  .project-filters button{font-size:12px;min-height:44px}
  .project,.project-featured{min-height:0;padding:22px}
  .project>p,.featured-copy p{font-size:15px;line-height:1.75}
  .case-label{font-size:10px;flex-wrap:wrap}.case-status{font-size:9px}
  .tags{flex-wrap:wrap}.tags span{font-size:10px}
  .case-link{min-height:44px;font-size:13px}
  .signal-query{overflow-x:auto;max-width:100%;font-size:11px}
  .lab-node{min-height:72px}.lab-node strong,.lab-two .lab-node strong{font-size:15px}
  .lab-node em{font-size:11px}.lab-detail>p:not(.layer-question),.layer-question{font-size:15px}
  .investigation-method ol{grid-template-columns:1fr;gap:18px}
  .investigation-method strong{font-size:14px}.investigation-method p{font-size:13px}
  .experience{padding-inline:14px}
  .experience summary{grid-template-columns:67px minmax(0,1fr) 24px;gap:12px;padding-block:22px}
  .experience-title{min-width:0}.experience-title strong{font-size:21px}
  .experience-title>span{font-size:14px}.experience-title small{font-size:11px}
  .experience-date{font-size:11px;line-height:1.8}.experience-date i{font-size:10px;margin-left:8px}
  .experience-body{padding:0 0 22px;font-size:14px}
  .experience-body ul{padding-left:20px;line-height:1.8}.experience-body li{margin-bottom:10px}
  .experience-heading{font-size:15px}.experience-body .tags span{font-size:10px}
  .career-note ul,.career-note h4{font-size:13px}.career-note>span{font-size:11px}
  .capability-list small{font-size:12px}.credential-row h3{font-size:16px}
  .roadmap-item p,.contact-section>p{font-size:15px}
  .contact-section h2{font-size:clamp(38px,10vw,60px)}.contact-section h2>span{display:none}
  .contact-actions{flex-direction:column}.contact-actions .button{width:100%}
  .contact-links{font-size:13px;gap:12px}.contact-links a{overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center}
  .contact-links button{min-height:44px;font-size:12px}
  footer{font-size:12px;padding-bottom:280px}footer small{font-size:10px}
  footer>a:nth-last-child(2){font-size:12px;min-height:44px;display:flex;align-items:center}
  #case-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 24px)}
  .case-dialog-head{padding:12px 16px}.case-dialog-head button{min-height:44px;flex-shrink:0;font-size:13px}
  #case-content{padding:22px 18px}#case-content p,#case-content li{font-size:15px}
  #case-content pre{overflow-x:auto;max-width:100%;font-size:12px}
  #assistant-dialog{left:8px;right:8px;top:calc(var(--chat-viewport-top,0px) + 8px);bottom:auto;width:auto;max-width:none;height:calc(var(--chat-viewport-height,100dvh) - 16px);max-height:680px;border-radius:10px}
  .assistant-header{padding:12px 16px;gap:10px;align-items:center}
  .assistant-header .eyebrow{font-size:10px;margin-bottom:5px}.assistant-header h2{font-size:20px}
  .assistant-header>button{width:44px;height:44px;display:grid;place-items:center}
  .assistant-description{font-size:12px;padding:8px 16px}
  #assistant-messages{min-height:0;padding:14px;overscroll-behavior:contain}
  .assistant-message{padding:13px;margin-bottom:10px}.assistant-message p{font-size:15px;line-height:1.65}
  .assistant-message small{font-size:10px}.assistant-message a{font-size:13px;min-height:36px}
  .assistant-topics{flex-wrap:nowrap;overflow-x:auto;padding:8px 14px;gap:8px}
  .assistant-topics button{font-size:12px;min-height:44px;flex-shrink:0;padding:10px}
  #assistant-status{font-size:11px;padding:4px 14px;min-height:0}
  #assistant-form{padding:8px 14px;gap:8px}#assistant-question{font-size:16px;min-height:46px}
  #assistant-send{font-size:13px;min-height:46px}
  .assistant-footer{padding:0 14px max(10px,env(safe-area-inset-bottom));gap:4px 14px}
  .assistant-footer>p{font:10px/1.5 var(--sans)}.assistant-footer button{font-size:12px;min-height:36px}
  .assistant-name-panel{padding:20px 16px}.assistant-name-panel label,#assistant-storage-notice,.assistant-name-panel .assistant-consent{font-size:14px}
  #assistant-save-consent{width:22px;height:22px}#assistant-continue{font-size:15px;min-height:48px}
  .assistant-widget{right:12px;bottom:calc(40px + env(safe-area-inset-bottom))}
  .avatar-sound-toggle{min-height:44px;font-size:11px;left:6px;bottom:6px;padding:8px}
  .avatar-minimize{display:grid;place-items:center;position:absolute;right:-4px;top:-18px;width:44px;height:44px;background:#18221a;border:1px solid var(--accent);border-radius:6px;font-size:23px;z-index:3}
  .avatar-restore{display:block;position:fixed;right:12px;bottom:calc(40px + env(safe-area-inset-bottom));min-height:48px;padding:12px 16px;background:var(--accent);color:var(--bg);border-radius:6px;z-index:45;font-size:13px}
  .avatar-minimized .assistant-widget,.assistant-open .avatar-restore{display:none}
  .debate-intro,.debate-card p,#debate-summary p{font-size:15px}
  .debate-shell label,.debate-note,.debate-meta{font-size:11px;overflow-wrap:anywhere}
  .debate-shell button,.debate-presets button{min-height:44px;font-size:12px}
  .debate-controls{display:grid;grid-template-columns:1fr 1fr}#debate-reset{margin-left:0}
  .debate-card{min-width:0}.debate-card h4,.debate-round>h3{font-size:12px}
}
@media(max-width:700px) and (max-height:560px){
  .assistant-header{padding:6px 12px}.assistant-description,.assistant-footer>p{display:none}
  .assistant-topics{padding-block:4px}.assistant-footer{padding-bottom:4px}
}
@media(max-width:370px){
  .hero-actions{flex-direction:column}.hero-actions .text-link{align-self:flex-start}
  .hero h1{font-size:34px}.hero-bottom>span{max-width:150px}
  .experience summary{grid-template-columns:57px minmax(0,1fr) 20px;gap:10px}
  .company-logo,.company-logo-stack{width:57px}.company-logo img{max-width:45px}
}
