/* V9 responsive stabilization. Loaded last to avoid legacy cascade conflicts. */
html,body{max-width:100%;overflow-x:clip}
body{min-width:0}
img,video,canvas,svg{max-width:100%}
.header{background:rgba(10,10,12,.95)!important}
@media(max-width:760px){
 html{scroll-padding-top:66px}
 .container{width:calc(100% - 32px)!important;max-width:100%;margin-inline:auto}
 .header,.header.scrolled{height:60px!important;min-height:60px;padding:0 14px!important;top:0!important;left:0!important;right:0!important;position:fixed!important;z-index:110!important}
 .logo{gap:7px}.logo-label{font-size:11px!important;letter-spacing:.04em!important}.logo-mark{padding:6px!important;font-size:13px!important}
 .header-actions{gap:5px!important}.header-actions .btn-small{display:none!important}.lang-btn{padding:8px!important}
 .menu-toggle{display:block!important;z-index:3}
 .nav{top:60px!important;max-height:calc(100dvh - 60px);overflow-y:auto}
 .hero.section{display:block!important;position:relative!important;height:auto!important;min-height:0!important;max-height:none!important;padding:84px 0 20px!important;overflow:hidden!important}
 .hero-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;width:calc(100% - 32px)!important}
 .hero-copy{width:100%!important;min-width:0!important;order:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important}
 .eyebrow{font-size:9px!important;letter-spacing:0!important;flex-wrap:wrap!important;gap:6px!important}
 .hero-intro{font-size:11px!important;margin:10px 0 5px!important;letter-spacing:.06em!important}
 .hero-title{font-size:clamp(32px,9vw,46px)!important;line-height:1.08!important;letter-spacing:-.045em!important;margin:0!important;overflow-wrap:normal!important}
 .hero-title>span{font-size:.62em!important;line-height:1.22!important;letter-spacing:-.025em!important}
 .role-line{margin:10px 0 0!important;min-height:18px!important;font-size:11px!important;line-height:1.5!important}
 .hero-desc{margin:10px 0 0!important;font-size:12px!important;line-height:1.6!important;max-width:45ch!important}
 .hero-buttons{margin:14px 0 0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
 .hero-buttons .btn{padding:11px 6px!important;min-width:0!important;min-height:44px!important;font-size:10px!important;gap:4px!important;white-space:normal!important;text-align:center!important}
 .hero-bottom{display:none!important}
 .hero-visual{order:1!important;position:relative!important;width:100%!important;max-width:420px!important;height:clamp(210px,37svh,340px)!important;min-height:0!important;margin:4px auto 0!important;overflow:hidden!important;isolation:isolate}
 .photo-shell{position:relative!important;width:min(72%,270px)!important;height:100%!important;margin:auto!important;overflow:visible!important;clip-path:none!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;transform:none!important}
 .photo-shell img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important}
 .dimension-stage{inset:0!important;opacity:.42!important;overflow:hidden!important}
 .dimension-ring{width:80%!important;left:10%!important;top:4%!important}
 .float-tag{font-size:8px!important;padding:7px!important;max-width:110px!important;white-space:normal!important}
 .tag-top{right:0!important;top:12%!important}.tag-bottom{left:0!important;bottom:12%!important}
 .hero-index{display:none!important}
 .contact-dock{position:fixed!important;left:10px!important;bottom:12px!important;top:auto!important;transform:none!important;z-index:125!important;max-width:calc(100vw - 20px)!important}
 .contact-dock__toggle{writing-mode:horizontal-tb!important;transform:none!important;letter-spacing:.02em!important;padding:10px 12px!important;font-size:10px!important;min-height:44px!important}
 .contact-dock__panel{position:absolute!important;left:0!important;bottom:56px!important;top:auto!important;margin:0!important;width:min(320px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important;max-height:min(70dvh,520px)!important;overflow-y:auto!important}
 .command-trigger{position:fixed!important;right:12px!important;bottom:12px!important;left:auto!important;z-index:120!important;min-height:44px!important;min-width:44px!important}
 .community-chat-fab{right:12px!important;bottom:66px!important}
 .section:not(.hero){padding-block:64px!important}
 .services-grid,.projects-grid,.article-grid{grid-template-columns:1fr!important}
 .chat-shell{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
 .chat-sidebar{width:100%!important;padding:14px!important;border-right:0!important;border-bottom:1px solid #5c321a!important}
 .chat-channels{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:6px!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:6px 0 12px!important}
 .chat-channels button{flex:0 0 auto!important;min-height:44px!important;padding:10px 13px!important;scroll-snap-align:start}
 .chat-main{width:100%!important;min-width:0!important}
 .chat-header{padding:14px!important;gap:8px!important}.chat-header h2{font-size:17px!important;overflow-wrap:anywhere}
 .chat-messages{min-height:220px!important;max-height:45dvh!important;padding:14px!important}
 .chat-compose{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:12px!important}
 .chat-compose input{grid-column:1/-1!important;min-height:44px!important}
 .chat-compose textarea{grid-column:1!important;min-height:46px!important}
 .chat-compose button{grid-column:2!important;min-height:44px!important}
 .chat-warning{overflow-wrap:anywhere}
}
@media(max-width:380px){.hero-title{font-size:clamp(30px,8.6vw,36px)!important}.float-tag{display:none!important}.hero-visual{height:clamp(180px,32svh,270px)!important}}
@media(max-height:690px) and (max-width:760px){.hero.section{padding-top:70px!important}.hero-intro{margin-top:5px!important}.hero-desc{line-height:1.4!important}.hero-visual{height:clamp(165px,29svh,250px)!important}}
@media(prefers-reduced-motion:reduce){.hero-grid,.dimension-ring,.dimension-cube{animation:none!important}}
