/* Navigation: the phone stays inside the centred header at every desktop width. */
.vxh-in{width:100%;min-width:0;box-sizing:border-box}
.vxh-logo,.vxh-tel,.vxh .vx-language-top,.vxh-burger{flex-shrink:0}
@media(min-width:1281px){
 .vxh-links{flex:1 1 0;min-width:0;flex-wrap:nowrap;justify-content:center;column-gap:clamp(6px,.7vw,10px);row-gap:0;font-size:clamp(11px,.85vw,12px);letter-spacing:.05em}
 .vxh-links a{white-space:nowrap;padding-top:10px;padding-bottom:10px}
 .vxh-in{gap:12px}
 .vxh-logo{font-size:16px;letter-spacing:.22em}
}
@media(max-width:360px){
 .vxh-in{flex-wrap:wrap;gap:6px!important;padding:8px 12px!important}
 .vxh .vxh-tel{order:5;flex-basis:100%;justify-content:center}
 .vxh .vx-language-top{margin-left:auto!important}
}
/* Home: match the succession illustration's approximate 625px height. */
.hero .vx-film{margin-left:auto!important;margin-right:auto!important}
@media(min-width:1025px){.hero .vx-film{max-height:min(625px,78vh)!important}}

/* Compact native swipe rows; the desktop grids remain in place. */
.vx-swipe-controls{display:none}
@media(max-width:760px){
 #vx-contact-actions{display:none!important}
 html body{padding-bottom:0!important}
 .vx-situations-grid,#vxc-mock .vxc-grid,#audit .stages{
  display:grid!important;grid-auto-flow:column!important;grid-auto-columns:calc(100% - 32px)!important;grid-template-columns:none!important;grid-template-rows:1fr!important;gap:12px!important;
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:thin;scrollbar-color:#749a89 #0a2424;padding-bottom:12px!important;
 }
 .vx-situations-grid>*,#vxc-mock .vxc-grid>*,#audit .stages>*{min-width:0;max-width:100%;grid-column:auto!important;grid-row:auto!important;scroll-snap-align:start}
 .vx-situations-grid:focus-visible,#vxc-mock .vxc-grid:focus-visible,#audit .stages:focus-visible{outline:2px solid #ff9975;outline-offset:4px}
 .vx-situations-grid::-webkit-scrollbar,#vxc-mock .vxc-grid::-webkit-scrollbar,#audit .stages::-webkit-scrollbar{height:4px}
 .vx-situations-grid::-webkit-scrollbar-thumb,#vxc-mock .vxc-grid::-webkit-scrollbar-thumb,#audit .stages::-webkit-scrollbar-thumb{background:#749a89;border-radius:3px}
 .vx-situations-grid .vx-situation{grid-template-columns:38% minmax(0,1fr)!important;align-content:start;min-height:250px}
 .vx-situations-grid .vx-situation-copy{min-width:0;padding:14px 12px;gap:9px}
 .vx-situations-grid .vx-situation h3{font-size:20px!important;line-height:1.14!important}
 .vx-situations-grid .vx-situation-copy>p:not(.kicker){font-size:15px!important;line-height:1.4!important}
 .vx-situations-grid .vx-situation .kicker{font-size:10px;letter-spacing:.07em}
 .vx-situations-grid .vx-situation-link{font-size:11px;line-height:1.4}
 #vxc-mock .vxc-grid .vxc-card{padding:12px;border:1px solid #25504c;background:#0c2b2c}
 #vxc-mock .vxc-grid h3{font-size:20px;line-height:1.2}
 #vxc-mock .vxc-grid p{font-size:15px;line-height:1.45}
 #audit .stages{margin:0;border:0;background:transparent;list-style:none;padding-inline:0}
 #audit .stages .stage{padding:22px 18px;gap:12px;border:1px solid #25504c;min-height:220px}
 #audit .stages .stage h3{font-size:22px;line-height:1.15}
 #audit .stages .stage p{font-size:16px;line-height:1.45}
 .vx-swipe-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;margin:10px 0 22px;color:#adc7be;font:12px/1.4 Arial,sans-serif}
 .vx-swipe-controls p{margin:0;flex:1;min-width:120px;font:inherit;color:inherit}
 .vx-swipe-navigation{display:flex;align-items:center;gap:10px}
 .vx-swipe-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #749a89;border-radius:4px;background:#0a2424;color:#f2f5ec;font:22px Arial,sans-serif;cursor:pointer;touch-action:manipulation}
 .vx-swipe-controls button:disabled{opacity:.35;cursor:default}
 .vx-swipe-controls button:focus-visible{outline:2px solid #ff9975;outline-offset:3px}
 .vx-swipe-counter{min-width:34px;text-align:center;font-variant-numeric:tabular-nums}
}

/* The visitor's situation is the primary, full-width link on each card. */
.vx-situation>.vx-case-title{grid-column:1 / -1;margin:0;border-bottom:1px solid #25504c;font:400 26px/1.12 Barlow,Arial,sans-serif;letter-spacing:.03em;text-transform:uppercase}
.vx-situation>.vx-case-title a{display:block;min-height:48px;padding:14px 14px 12px;color:#ff9975!important;text-decoration:none}
.vx-situation>.vx-case-title a:focus-visible{outline:2px solid #ff9975;outline-offset:-4px}
.vx-situation-copy>.vx-case-pitch{margin:0;font:400 18px/1.2 Barlow,Arial,sans-serif!important;text-transform:uppercase;color:#f2f5ec!important}
.vx-case-pitch a{color:inherit;text-decoration:none}
.vx-media-holder{position:relative;min-width:0;max-width:100%}
.vx-hero-media{width:fit-content;margin-inline:auto}
.vx-case-media{align-self:start}
.vx-case-media .vx-situation-visual{display:block;width:100%}
.vx-media-toggle{position:absolute;z-index:2;bottom:6px;left:6px;right:6px;min-height:44px;padding:7px 6px;border:1px solid #adc7be;border-radius:4px;background:rgba(10,36,36,.94);color:#f2f5ec;font:13px/1.2 Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.vx-media-toggle[data-state=playing]{left:auto;min-width:44px;width:44px}
.vx-hero-media .vx-media-toggle{left:auto;right:12px;bottom:12px;width:auto;min-width:44px;padding:10px 14px}
.vx-media-toggle:focus-visible{outline:3px solid #ff9975;outline-offset:2px}
@media(max-width:760px){
 .vx-situations-grid .vx-situation>.vx-case-title{font-size:26px!important;line-height:1.12!important}
 .vx-situations-grid .vx-situation .vx-situation-copy>.vx-case-pitch{font-size:17px!important;line-height:1.2!important}
 .vx-situations-grid .vx-situation{grid-template-rows:auto 1fr}
 .vx-situations-grid .vx-situation-copy{padding-top:12px}
}

.vx-motion-image{display:block;max-width:100%;object-fit:contain}
.vx-case-media .vx-motion-image{width:100%;height:100%}

/* Case animations loop continuously without overlaid playback controls. */
.vx-case-media .vx-media-toggle,.vx-cases-pause{display:none!important}

/* Give desktop navigation the available screen width and separate each header area. */
@media(min-width:1281px){
 .vxh .vxh-in{max-width:none!important;width:100%;display:grid!important;grid-template-columns:max-content minmax(0,1fr) max-content max-content;column-gap:clamp(14px,1.5vw,28px);padding-left:clamp(20px,2vw,40px);padding-right:clamp(20px,2vw,40px)}
 .vxh .vxh-logo{grid-column:1;min-width:max-content;margin:0}
 .vxh .vxh-links{grid-column:2;width:auto;margin:0;min-width:0;justify-content:center;flex-wrap:nowrap;gap:clamp(6px,.7vw,14px)}
 .vxh .vxh-links a{flex:0 0 auto;white-space:nowrap}
 .vxh .vx-language-top{grid-column:3;margin:0!important}
 .vxh .vxh-tel{grid-column:4;margin:0;white-space:nowrap}
}
