/* Shared responsive and accessibility refinements */
img{max-width:100%}.wrap{min-width:0}main{overflow-x:clip}input,textarea,select{max-width:100%}a,button,input,select,textarea{touch-action:manipulation}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f47d43;outline-offset:3px}.skip-link{position:fixed;inset-inline-start:16px;top:-100px;padding:12px 20px;background:#fff;color:#101d31;z-index:100}.skip-link:focus{top:12px}.nav{gap:22px}.links{gap:18px}.links a{white-space:nowrap}.about-intro{max-width:860px}.about-intro p{font-size:18px;line-height:2;color:#596879}.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.about-card{background:white;border:1px solid #dedfdc;border-radius:8px;padding:30px}.about-card h2,.about-card h3{margin-top:0}.about-card p{color:#596879;line-height:2}.about-band{background:#101d31;color:#fff;border-radius:8px;padding:36px;margin-top:32px}.about-band p{line-height:2;color:#c2cedb}.about-band .actions{flex-wrap:wrap}.about-step{color:#bd5322;font-size:13px;font-weight:600}.portfolio-badge{display:inline-block;padding:5px 10px;margin-bottom:12px;border:1px solid #dbc9b9;background:#fff8ef;color:#714422;border-radius:4px;font-size:11px}.portfolio-note{line-height:1.9}.portfolio-filter{flex-wrap:wrap}.project-dialog{max-height:90dvh;overflow:auto}.project-dialog .dialog-close{min-width:44px;min-height:44px}.menu{min-width:44px;min-height:44px}.nav .lang{padding:10px 0;white-space:nowrap}.footer-links a{overflow-wrap:anywhere}.about-home-link{display:inline-block;margin-top:20px;color:#f47d43;font-weight:600}
@media(max-width:1150px){.nav{height:78px;gap:16px;justify-content:space-between}.nav>.btn{display:none}.nav .menu{display:block}.nav .lang{margin-inline-start:auto}.nav .links{display:none;position:absolute;inset-inline:0;top:78px;background:#15253b;padding:22px 28px;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100dvh - 78px);overflow-y:auto;font-size:15px}.nav .links.open{display:flex}.nav .links a{padding:10px 4px;white-space:normal}.nav .brand b{font-size:15px}.nav .brand small{font-size:8px}}
@media(max-width:760px){.about-grid{grid-template-columns:1fr}.about-card,.about-band{padding:24px}.about-intro p{font-size:16px}.actions,.entry-actions{flex-wrap:wrap}.actions .btn,.entry-actions .btn{min-height:46px}.portfolio-filter button{min-height:44px}.form input,.form textarea,.form select,.meeting-form input,.meeting-form textarea,.meeting-form select,.blog-tools input,.blog-tools select{font-size:16px}.hero h1{font-size:clamp(33px,8.8vw,47px)}.project-dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);padding:16px}.dialog-top h3{font-size:19px}.blog-tools input,.blog-tools select{min-width:0;width:100%}}
@media(max-width:400px){.wrap{padding-left:18px;padding-right:18px}.nav{gap:8px}.nav .brand{gap:7px}.nav .brand b{font-size:12px}.nav .brand small{font-size:7px;letter-spacing:1px}.nav .brand-logo{width:34px;height:45px}.nav .lang{font-size:12px}.hero .ecosystem{transform:scale(.7);transform-origin:top center;height:310px;margin-bottom:-50px}.btn{padding:12px 16px;gap:12px}}
