/* Shared header sizing and navigation fit across device widths. */
.site-header .brand-name-integrated .brand-network{width:.95em;height:.88em;flex-basis:.95em}
.site-header .nav-links{gap:24px}
.site-header .nav-links a{font-size:15.5px;line-height:1.35;padding:12px 4px;white-space:nowrap}
.site-header .nav-links .nav-cta{font-size:15.5px;padding:14px 23px;min-height:49px}
.site-header .nav-dropdown{min-width:280px}
.site-header .nav-dropdown a{font-size:14.5px;line-height:1.4;white-space:normal;padding:11px 9px}
@media(min-width:961px) and (max-width:1100px){.site-header .nav-links{gap:17px}.site-header .nav-links .nav-cta{margin-left:0;padding-inline:18px}}
@media(max-width:960px){
 .site-header .nav{gap:18px}
 .site-header .nav-toggle{display:block}
 .site-header .nav-links{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;padding:18px 24px 23px;flex-direction:column;align-items:stretch;gap:5px;border-bottom:1px solid var(--line);box-shadow:0 25px 30px #0004;background:#0d1b28f7}
 .site-header .nav-links.is-open{display:flex}
 .site-header .nav-links a{font-size:17px;padding:13px 5px}
 .site-header .nav-links .nav-cta{font-size:17px;text-align:center;padding:15px;margin:8px 0 0}
 .site-header .nav-dropdown{position:static;display:none;opacity:1;visibility:visible;transform:none;min-width:0;padding:7px 12px;border:0;background:#080f1a99;box-shadow:none}
 .site-header .has-dropdown:hover .nav-dropdown,.site-header .has-dropdown:focus-within .nav-dropdown{display:none}
 .site-header .has-dropdown.is-open .nav-dropdown{display:block;opacity:1;visibility:visible;transform:none}
 .site-header .nav-dropdown a{font-size:15.5px;white-space:normal;padding:11px 8px}
}
@media(max-width:720px){.site-header .nav-links{max-height:calc(100dvh - 72px);padding-inline:20px}}

/* Keep form fields and the companion comfortable on smaller screens. */
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>*{min-width:0}.form-card input,.form-card textarea,.form-card select{min-width:0}
@media(max-width:960px){.form-grid{grid-template-columns:1fr;gap:0}}

/* Tall screens retain a composed opening instead of stretching its empty space. */
@media(min-width:1101px) and (min-height:1200px){.page-home .workplace-hero{min-height:700px}}

@media(max-width:720px){main .container,.site-footer .container,.page-home .workplace-hero .container{width:calc(100% - 48px)}}

/* Separate service capability tags from their primary action. */
.page-hero .pill-row + .btn{margin-top:24px}
@media(max-width:720px){.page-hero .pill-row + .btn{margin-top:20px}}

/* Company phone sits between the wordmark and navigation. */
.site-header .brand,.site-header .nav-links{flex-shrink:0}
.site-header .header-phone{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;margin-inline:auto;min-height:44px;padding:8px 0;color:#6fffe3;font-size:22px;line-height:1.25;font-weight:700;letter-spacing:.01em;white-space:nowrap;transition:color .2s,text-shadow .2s}
.site-header .header-phone svg{width:18px;height:18px;flex:0 0 18px}
.site-header .header-phone:hover{color:#c6fff4;text-shadow:0 0 14px #6ff6e03d}
@media(min-width:961px) and (max-width:1100px){.site-header .nav{gap:18px}.site-header .header-phone{gap:7px}}
@media(max-width:600px){
 html{scroll-padding-top:100px}
 .site-header .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;min-height:88px;padding-block:4px}
 .site-header .brand{grid-column:1;grid-row:1;justify-self:start}
 .site-header .nav-toggle{grid-column:2;grid-row:1}
 .site-header .header-phone{grid-column:1/-1;grid-row:2;justify-self:center;margin:0;min-height:36px;padding:6px 0;font-size:17px;gap:8px}
 .site-header .header-phone svg{width:16px;height:16px;flex-basis:16px}
 .site-header .nav-links{max-height:calc(100dvh - 89px)}
}

/* A distinct contact capsule, with bright digits and a cool illuminated icon. */
.site-header .header-phone{padding:9px 14px;color:#f4fbff;border:1px solid transparent;border-radius:999px;background:linear-gradient(135deg,#192939ed,#0c1624f5) padding-box,linear-gradient(120deg,#79f5db99,#719dff77 62%,#a68cee66) border-box;box-shadow:inset 0 1px 0 #ffffff0d,0 4px 18px #02061133;gap:10px;text-shadow:0 1px 8px #d0e9ff12}
.site-header .header-phone svg{width:26px;height:26px;flex-basis:26px;padding:5px;color:#082b39;border-radius:50%;background:linear-gradient(145deg,#85ffe5,#5ed9e4 58%,#79b9f5);box-shadow:0 0 14px #65ddea24,inset 0 1px 0 #e4fff699}
.site-header .header-phone:hover{color:#fff;box-shadow:inset 0 1px 0 #ffffff18,0 0 20px #68cae524}
@media(min-width:961px) and (max-width:1100px){.site-header .header-phone{gap:7px;padding-inline:13px}}

/* Keep the animated companion visible, with its horizontal label inside the hit area. */
body .vc3d-root{--vc3d-canvas-w:122px;--vc3d-canvas-h:146px;--vc3d-corner-right:max(8px,env(safe-area-inset-right,0px));--vc3d-corner-bottom:max(12px,env(safe-area-inset-bottom,0px))}
body .vc3d-root .vc3d-hit-wrap{width:var(--vc3d-canvas-w);height:var(--vc3d-canvas-h);right:var(--vc3d-corner-right);bottom:var(--vc3d-corner-bottom)}
body .vc3d-root .vc3d-hit-wrap .vc3d-mount{width:100%;height:100%;display:block;opacity:1;visibility:visible}
body .vc3d-root .vc3d-hit-wrap::after{left:0;right:0;bottom:0;transform:none;width:100%;min-width:0;padding:5px 6px 6px;font-size:11px;writing-mode:horizontal-tb}
@media(min-width:1440px) and (max-width:1499px){body .vc3d-root{--vc3d-canvas-w:96px;--vc3d-canvas-h:115px;--vc3d-corner-right:4px}}
@media(min-width:1101px) and (max-width:1439px){body .vc3d-root{--vc3d-canvas-w:64px;--vc3d-canvas-h:77px;--vc3d-corner-right:4px}body .vc3d-root .vc3d-hit-wrap::after{font-size:9.5px;padding:4px 3px}body .vc3d-root .vc3d-min-btn{width:22px;height:22px;top:0;right:0}}
@media(min-width:961px) and (max-width:1100px){body .vc3d-root{--vc3d-canvas-w:56px;--vc3d-canvas-h:67px;--vc3d-corner-right:0px}body .vc3d-root .vc3d-hit-wrap::after{font-size:9.5px;padding:4px 3px}body .vc3d-root .vc3d-min-btn{width:22px;height:22px;top:0;right:0}}
/* Tablet room in the header keeps the character clear of reading and form columns. */
@media(min-width:721px) and (max-width:960px){
 .site-header .nav{padding-right:94px}
 body .vc3d-root{--vc3d-canvas-w:70px;--vc3d-canvas-h:84px}
 body .vc3d-root .vc3d-hit-wrap{top:2px;bottom:auto;right:max(32px,env(safe-area-inset-right,0px))}
 body .vc3d-root .vc3d-hit-wrap::after{font-size:10px;padding:4px 3px}
 body .vc3d-root .vc3d-min-btn{width:22px;height:22px;top:0;right:0}
 body .vc3d-root .vc3d-min-orb{top:28px;bottom:auto;right:32px}
 body .vc3d-root .vc3d-panel{top:100px;bottom:auto;max-height:calc(100dvh - 112px)}
}
@media(min-width:721px) and (max-width:800px){body .vc3d-root .vc3d-hit-wrap,body .vc3d-root .vc3d-min-orb{right:max(24px,env(safe-area-inset-right,0px))}}
/* A reserved second row shows both the phone and robot without covering page content. */
@media(max-width:720px){
 html{scroll-padding-top:150px}
 .site-header .nav{display:grid;grid-template-columns:minmax(0,1fr) 70px;grid-template-rows:42px 88px;gap:0 8px;min-height:138px;padding-block:4px}
 .site-header .brand{grid-column:1;grid-row:1;justify-self:start}
 .site-header .nav-toggle{grid-column:2;grid-row:1;justify-self:end;width:85.3px;white-space:nowrap}
 .site-header .header-phone{grid-column:1;grid-row:2;justify-self:start;align-self:center;margin:0;min-height:44px;padding:7px 10px;font-size:17px;gap:8px}
 .site-header .header-phone svg{width:24px;height:24px;flex-basis:24px;padding:4px}
 .site-header .nav-links{max-height:calc(100dvh - 139px)}
 body .vc3d-root{--vc3d-canvas-w:70px;--vc3d-canvas-h:84px}
 body .vc3d-root .vc3d-hit-wrap{top:50px;bottom:auto;right:max(20px,env(safe-area-inset-right,0px))}
 body .vc3d-root .vc3d-hit-wrap::after{font-size:10px;padding:4px 3px}
 body .vc3d-root .vc3d-min-btn{width:22px;height:22px;top:0;right:0}
 body .vc3d-root .vc3d-min-orb{top:76px;bottom:auto;right:20px}
 body .vc3d-root .vc3d-panel{top:150px;bottom:12px;height:auto;max-height:none}
}

/* Preserve the full chat area on short viewports and landscape phones. */
@media(max-height:480px){body .vc3d-root .vc3d-panel{top:max(12px,env(safe-area-inset-top,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));height:auto;max-height:none}}
