/* Shared control layout. Keep geometry and label optics in this file. */
.button,.header-cta,.text-link,.process-tabs button,.contact-tabs button{
 display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
 font-family:Nexa,Arial,sans-serif;font-size:14px;line-height:20px;letter-spacing:0;
 -webkit-text-size-adjust:100%;text-size-adjust:100%;vertical-align:middle;
}
.button{height:48px;min-height:48px;padding:0 22px;gap:20px;white-space:normal;font-weight:700}
.header-cta{height:42px;min-height:42px;padding:0 18px;gap:12px;font-weight:400;white-space:nowrap}
.text-link{height:auto;min-height:40px;padding:8px 0;gap:12px;font-weight:400;white-space:normal}
.process-tabs button{height:auto;min-height:48px;padding:12px 16px;gap:9px;font-weight:400;white-space:normal}
.contact-tabs button{height:auto;min-height:44px;padding:12px 16px;gap:9px;font-weight:400;white-space:normal}
/* Nexa has a 700/−300 em box. Correct the visible label, not the SVG or padding. */
.button>.control-label,.header-cta>.control-label,.text-link>.control-label,
.process-tabs button>.control-label,.contact-tabs button>.control-label{
 font-size:inherit;font-weight:inherit;line-height:20px;letter-spacing:inherit;
 width:auto;height:auto;min-width:0;flex:0 1 auto;margin:0;padding:0;
 background:none;border:0;border-radius:0;color:inherit;
 transform:translateY(.12em);transition:none;
}
.button>.control-label,.text-link>.control-label,.process-tabs button>.control-label,.contact-tabs button>.control-label{display:block}
.button>.control-label,.text-link>.control-label{white-space:normal}
.text-link>.control-label{text-align:left}
.process-tabs button>.control-label,.contact-tabs button>.control-label{text-align:center}
.process-tabs button>.step-index{display:block;width:auto;height:auto;margin:0;padding:0;font-size:12px;font-weight:400;line-height:20px;flex:0 0 auto;color:#a393b6;transform:translateY(.12em)}
.process-tabs button[aria-selected=true]>.step-index{color:#c99af5}
.button>.arrow-icon,.header-cta>.arrow-icon,.text-link>.arrow-icon,
.button>.ui-icon,.contact-tabs button>.ui-icon{
 display:inline-flex;align-items:center;justify-content:center;
 width:18px;height:18px;min-width:18px;flex:0 0 18px;
 margin:0;padding:0;background:none;border:0;border-radius:0;
 font-size:0;line-height:0;vertical-align:middle;transform:none;
}
.button>.arrow-icon>svg,.header-cta>.arrow-icon>svg,.text-link>.arrow-icon>svg,
.button>.ui-icon>svg,.contact-tabs button>.ui-icon>svg{display:block;width:18px;height:18px;margin:0;flex:0 0 18px}
.text-link:hover>.control-label{transform:translateY(.12em)}
.text-link:hover>.arrow-icon{transform:translate(2px,-2px)}
.hero-v2-actions .button{justify-content:space-between}
.result-actions .button{gap:14px}
@media(max-width:780px){
 .button{height:46px;min-height:46px;padding:0 20px;gap:16px}
 .header-cta{height:42px;min-height:42px;padding:0 15px;gap:10px}
 .text-link{min-height:40px;padding:8px 0;gap:12px}
 .process-tabs button{min-height:48px;padding:12px 12px;gap:7px}
 .contact-tabs button{min-height:44px;padding:12px 12px;gap:8px}
}
@media(max-width:480px){
 .header-cta{padding:0 14px}
 .process-tabs button{padding:12px 10px}
 .contact-tabs button{padding:12px 10px}
 .hero-v2-actions .button{width:240px;max-width:100%}
 .form-panel .result-actions .button{height:46px;min-height:46px;padding:0 16px}
}
@media(max-width:360px){.header-cta{padding:0 12px;gap:8px}}
@media(prefers-reduced-motion:reduce){.text-link>.arrow-icon{transition:none}}

/* Shared pill alignment: center the line box, then correct only Nexa's visible glyphs. */
.glass-tag,.tag-pill,.expertise-chip,.card-index{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-align:center;line-height:18px;min-height:34px;padding:8px 13px}
.glass-tag>.badge-label,.tag-pill>.badge-label,.card-index>.badge-label,.expertise-chip>.chip-label{display:block;min-width:0;line-height:18px;transform:translateY(.12em)}
.expertise-chip{max-width:calc(100% - 40px);white-space:normal}
@media(max-width:780px){.glass-tag,.tag-pill,.expertise-chip,.card-index{font-size:12px;line-height:18px;min-height:34px;padding:8px 12px}}
