/* VibeCheck home, Road House local candidate.
   The MWS poster language is reused here as a neutral black satin field with
   a rounded red-neon sign: real HTML remains the primary content, the supplied
   still stays a contextual poster, and the optional current is independently
   controllable from any film. */

body[data-page="home"] {
  --vc-void: #08090c;
  --vc-void-lift: #0d0e11;
  --vc-ink: #fff8f7;
  --vc-dim: #c5c0c2;
  --vc-faint: #9b9598;
  --vc-line: rgba(255, 248, 247, 0.23);
  --vc-line-soft: rgba(255, 248, 247, 0.12);
  /* Owner-directed red-neon revision: neutral black/charcoal is the field;
     a warm red tube carries the accent with a pale hot center. */
  --vc-red: #ff3048;
  --vc-red-deep: #b70d2b;
  --vc-red-core: #fff4f3;
  --vc-tube-wall: #65091c;
  --vc-tube-halo: #df1833;
  --vc-tube-glass: #a90b29;
  --vc-tube-light: #ef2840;
  --vc-tube-core: #ffb6ad;
  --vc-current-glow: #ff5b6c;
  --vc-glass: rgba(13, 14, 15, 0.81);
  /* Let the static neutral-black field and optional fixed satin canvas show
     through the page; each content surface supplies its own dark veil. */
  background-color: transparent;
  color: var(--vc-ink);
  font-family: var(--it);
}

body[data-page="home"] > .vc-satin-canvas {
  position: fixed; inset: 0; z-index: 0; display: block; width: 100vw; height: 100vh;
  pointer-events: none; opacity: 0; visibility: hidden; transition: opacity 420ms ease;
}
body[data-page="home"] > :is(main, .vc-footer) { position: relative; z-index: 1; }

body[data-page="home"] ::selection { background: var(--vc-red); color: var(--vc-void); }
body[data-page="home"] a { color: inherit; }
body[data-page="home"] :focus-visible { outline-color: var(--vc-red-core); border-radius: 3px; }
body[data-page="home"] .skip { background: var(--vc-red); color: var(--vc-void); border-radius: 0; }

.vc-wrap { width: min(100% - 48px, 1320px); margin-inline: auto; }
.vc-eyebrow, .vc-section-label, .vc-role-card__label, .vc-footer__label {
  font-family: var(--jb); font-size: 0.82rem; font-weight: 500; line-height: 1.4;
  letter-spacing: 0.12em; text-transform: uppercase;
}

/* Header */
.vc-site-head {
  position: sticky; top: 0; z-index: 40; border-bottom: 1px solid var(--vc-line-soft);
  background: linear-gradient(125deg, rgba(255,255,255,.05), transparent 60%), rgba(8, 7, 11, 0.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09);
}
@supports (backdrop-filter: blur(1px)) { .vc-site-head { backdrop-filter: blur(18px); } }
.vc-site-head__inner {
  display: grid; grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr);
  align-items: center; gap: 1.6rem; width: min(100% - 48px, 1320px); min-height: 74px; margin-inline: auto;
}
.vc-wordmark {
  display: inline-flex; align-items: baseline; gap: .04em; width: fit-content; color: var(--vc-ink);
  font: 800 clamp(1.05rem, 1.55vw, 1.28rem)/.85 var(--it); letter-spacing: -.075em; text-decoration: none;
}
.vc-wordmark span:nth-child(2) { color: var(--vc-red-core); text-shadow: 0 0 6px rgba(255,244,243,.82), 0 0 16px rgba(183,13,43,.2); }
.vc-wordmark i { margin-left: .32rem; color: var(--vc-faint); font: 500 .42em/1 var(--jb); letter-spacing: .04em; }
.vc-site-nav { display: flex; justify-content: center; gap: clamp(.9rem, 2.1vw, 2rem); }
.vc-site-nav a {
  display: inline-flex; align-items: center; min-height: 44px; color: var(--vc-dim);
  font: 600 .92rem/1.1 var(--it); text-decoration: none;
}
.vc-site-nav a:hover { color: var(--vc-red-core); }
.vc-open-app {
  justify-self: end; display: inline-flex; align-items: center; gap: .7rem; min-height: 46px; padding: .7rem 1rem;
  color: var(--vc-ink); border: 1px solid rgba(255,255,255,.33); border-radius: 6px;
  background: linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.01) 48%, rgba(255,255,255,.07)), rgba(14,15,16,.82);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), inset 0 -1px 0 rgba(0,0,0,.45), 0 8px 24px rgba(0,0,0,.18);
  font: 600 .92rem/1.15 var(--it); text-decoration: none;
}
.vc-open-app:hover { border-color: rgba(255,232,233,.9); background-color: rgba(31,30,31,.95); }

/* Poster hero */
.vc-hero {
  position: relative; isolation: isolate; overflow: clip; min-height: min(910px, calc(100svh - 74px));
  background-color: rgba(5,6,8,.78);
  background-image: linear-gradient(118deg, transparent 8%, rgba(244,246,250,.045) 29%, rgba(230,235,242,.018) 44%, transparent 62%);
  background-size: 165% 135%; background-position: 0 0;
}
.vc-hero__image, .vc-hero__grid, .vc-hero__wash { position: absolute; inset: 0; pointer-events: none; }
.vc-hero__image { z-index: -4; overflow: hidden; }
.vc-hero__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 68% 50%; opacity: .58; filter: saturate(.12) contrast(1.18) brightness(.48); }
.vc-hero__grid {
  z-index: -3; opacity: .38; background-image: linear-gradient(var(--vc-line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--vc-line-soft) 1px, transparent 1px);
  background-size: 66px 66px; mask-image: linear-gradient(90deg, #000, transparent 84%);
}
.vc-hero__wash {
  z-index: -2;
  background-image:
    linear-gradient(118deg, transparent 9%, rgba(244,246,250,.038) 28%, rgba(230,235,242,.055) 46%, rgba(244,246,250,.018) 59%, transparent 74%),
    radial-gradient(ellipse at 8% 88%, rgba(230,235,242,.035), transparent 53%),
    linear-gradient(90deg, rgba(4,5,7,.94) 0%, rgba(4,5,7,.86) 42%, rgba(4,5,7,.64) 68%, rgba(4,5,7,.35) 100%),
    linear-gradient(0deg, #08090ce8 0%, transparent 30%, rgba(8,9,12,.25));
  background-size: 175% 138%, 100% 100%, 100% 100%, 100% 100%;
  background-position: 0 0, 0 0, 0 0, 0 0;
}
.vc-hero::after { content: ""; position: absolute; z-index: -1; inset: auto -5% -22% 29%; height: 42%; background: radial-gradient(ellipse, rgba(230,235,242,.065) 0%, rgba(150,158,170,.035) 35%, transparent 62%); filter: blur(12px); pointer-events: none; }
@media screen and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  body[data-page="home"][data-vc-satin-ready="true"][data-vc-satin-state="active"] > .vc-satin-canvas { visibility: visible; opacity: .24; }
}
.vc-hero__content { display: flex; flex-direction: column; min-height: inherit; padding-block: clamp(1.5rem, 3.8vw, 3.6rem) 1.35rem; }
.vc-hero__topline { display: flex; align-items: center; gap: .72rem; margin: 0; color: #e7e4e5; }
.vc-signal { width: .5rem; height: .5rem; background: var(--vc-red-core); border-radius: 50%; box-shadow: 0 0 7px var(--vc-red), 0 0 19px var(--vc-red-deep); }
.vc-eyebrow b { border-left: 1px solid var(--vc-line); padding-left: .72rem; color: var(--vc-red-core); font-weight: 500; }
.vc-hero__copy { align-self: flex-start; width: min(100%, 970px); margin-block: auto; padding-block: clamp(4rem, 10vh, 7.2rem) 2.1rem; }
.vc-hero h1, .vc-scope h2, .vc-relationship h2, .vc-principle h2, .vc-contact-band h2 {
  margin: 0; color: var(--vc-ink); font-family: var(--it); font-weight: 800; letter-spacing: -.075em;
}
.vc-hero h1 { --vc-sign-height: clamp(64px, 7.5vw, 98px); position: relative; max-width: 100%; margin: 0; font-size: clamp(2.75rem, 6vw, 5.5rem); line-height: 1.1; }
/* Every word shares a cap height, rounded glyphs and red-glass stroke stack.
   Word spacing is physical space between tubes, not tight font tracking. */
.vc-tube-line { position: relative; display: flex; align-items: center; width: max-content; max-width: 100%; gap: clamp(14px, 1.8vw, 24px); }
.vc-tube-line + .vc-tube-line { margin-top: 4px; }
.vc-tube-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.vc-tube-word { display: block; flex: 0 0 auto; width: auto; height: var(--vc-sign-height); overflow: visible; }
.vc-tube-wall { stroke: var(--vc-tube-wall); stroke-width: 24px; opacity: .32; }
.vc-tube-support { stroke: #020507; stroke-width: 19px; opacity: .92; }
.vc-tube-halo { stroke: var(--vc-tube-halo); stroke-width: 19px; opacity: .74; }
.vc-tube-glass { stroke: var(--vc-tube-glass); stroke-width: 17px; }
.vc-tube-light { stroke: var(--vc-tube-light); stroke-width: 12px; }
.vc-tube-core { stroke: var(--vc-tube-core); stroke-width: 4px; }
.vc-current-thread, .vc-current-glow { display: none; fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 34 286; stroke-dashoffset: 0; }
.vc-current-thread { stroke: var(--vc-tube-core); stroke-width: 7px; opacity: .96; }
.vc-current-glow { stroke: var(--vc-current-glow); stroke-width: 18px; opacity: .7; }

.vc-hero-message {
  max-width: 700px; margin-top: 27px; padding: 27px 29px 24px; border: 1px solid rgba(255,255,255,.25); border-radius: 16px;
  background: linear-gradient(120deg, rgba(255,255,255,.09), transparent 55%, rgba(230,235,242,.025)), rgba(10,12,14,.76);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 20px 56px rgba(0,0,0,.25);
}
@supports (backdrop-filter: blur(1px)) { .vc-hero-message { backdrop-filter: blur(20px); } }
.vc-hero-rule { display: block; width: 54px; height: 2px; margin-bottom: 18px; background: var(--vc-tube-core); box-shadow: 0 0 2px var(--vc-tube-core), 0 0 8px rgba(255,244,243,.6), 0 0 18px rgba(183,13,43,.25); }
.vc-hero__lede { max-width: 53ch; margin: 0; color: var(--vc-ink); font-size: clamp(1.05rem, 1.55vw, 1.2rem); line-height: 1.65; }
.vc-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 24px; }
.vc-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 19px; min-height: 51px; padding: 13px 21px; color: var(--vc-ink);
  border: 1px solid rgba(255,255,255,.48); border-radius: 9px; background: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.01) 45%, rgba(255,255,255,.1)), rgba(17,18,19,.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.31), inset 0 -1px 0 rgba(0,0,0,.45), 0 10px 28px rgba(0,0,0,.26); font: 600 1rem/1.35 var(--it); letter-spacing: -.015em; text-decoration: none;
}
.vc-button--primary { border-color: rgba(255,255,255,.72); background: linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.025) 46%, rgba(255,255,255,.1)), rgba(11,13,14,.82); box-shadow: inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(0,0,0,.45), 0 10px 28px rgba(0,0,0,.3); }
.vc-button:hover { border-color: rgba(255,255,255,.96); background-color: rgba(255,255,255,.13); }
.vc-button > span[aria-hidden="true"] { flex: 0 0 21px; width: 21px; text-align: center; font-size: 1.15rem; font-weight: 400; }
.vc-link { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; color: var(--vc-ink); font: 600 1rem/1.35 var(--it); letter-spacing: -.015em; text-decoration: underline; text-underline-offset: 5px; }
.vc-link:hover { color: var(--vc-red-core); }
.vc-contact-note { max-width: 53ch; margin: 17px 0 0; color: var(--vc-dim); font: 500 .76rem/1.55 var(--jb); }

.vc-hero-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; margin-top: auto; }
.vc-chapter-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; width: min(740px, 70%); }
.vc-chapter-nav a { display: flex; align-items: center; gap: 10px; min-height: 49px; padding-top: 12px; color: var(--vc-ink); border-top: 2px solid rgba(255,255,255,.32); font: 600 .82rem/1.45 var(--it); text-decoration: none; }
.vc-chapter-nav a:first-child { border-color: var(--vc-red); }
.vc-chapter-nav a:nth-child(2) { border-color: var(--vc-red-core); }
.vc-chapter-nav a:nth-child(3) { border-color: rgba(255,48,72,.5); }
.vc-chapter-nav span { color: var(--vc-dim); font: 500 .82rem/1 var(--jb); }
.vc-chapter-nav b { margin-left: auto; font-size: 1.1rem; font-weight: 400; }
.vc-hero-controls { display: flex; flex-direction: column; align-items: flex-end; gap: 13px; flex: 0 0 auto; }
.vc-current-control { color: var(--vc-ink); text-align: left; }
.vc-current-control label { display: flex; align-items: center; gap: 9px; min-height: 44px; cursor: pointer; font: 600 .86rem/1.35 var(--it); }
.vc-current-control input { flex: 0 0 17px; width: 17px; height: 17px; min-height: 0; margin: 0; accent-color: var(--vc-red); cursor: pointer; }
.vc-current-control input:disabled { cursor: not-allowed; opacity: .62; }
.vc-current-control b { font-weight: 600; }.vc-current-off, .vc-current-normal, .vc-current-paused, .vc-current-reduced, .vc-current-data { display: none; }
.vc-current-fallback { display: inline; }
body[data-page="home"][data-vc-motion-ready="true"] .vc-current-fallback { display: none; }
body[data-page="home"][data-vc-motion-ready="true"]:has(#vc-neon-current:checked) .vc-current-normal { display: inline; }
body[data-page="home"][data-vc-motion-ready="true"]:not(:has(#vc-neon-current:checked)) .vc-current-on { display: none; }
body[data-page="home"][data-vc-motion-ready="true"]:not(:has(#vc-neon-current:checked)) .vc-current-off { display: inline; }
body[data-page="home"][data-vc-motion-ready="true"]:not(:has(#vc-neon-current:checked)) .vc-current-paused { display: inline; }
.vc-current-control small { display: block; margin-top: -4px; color: var(--vc-dim); font: 500 .82rem/1.45 var(--jb); }
.vc-satin-control { color: var(--vc-ink); text-align: left; }
.vc-satin-control button {
  display: inline-flex; align-items: center; justify-content: flex-start; gap: 8px; min-height: 44px; padding: 8px 12px;
  color: var(--vc-ink); border: 1px solid rgba(255,255,255,.58); border-radius: 7px;
  background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.025) 46%, rgba(255,255,255,.09)), rgba(11,13,14,.76);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.29), inset 0 -1px 0 rgba(0,0,0,.4); cursor: pointer;
  font: 600 .75rem/1.25 var(--it); letter-spacing: -.01em;
}
.vc-satin-control button:hover:not(:disabled) { background-color: rgba(255,255,255,.13); border-color: rgba(255,255,255,.9); }
.vc-satin-control button:active:not(:disabled) { transform: translateY(1px); }
.vc-satin-control button:disabled { cursor: default; color: var(--vc-dim); }
.vc-satin-control button > span[aria-hidden="true"] { color: var(--vc-red-core); font-size: 1rem; line-height: 1; }
.vc-satin-control small { display: block; max-width: 20rem; margin-top: 5px; color: var(--vc-dim); font: 500 .69rem/1.45 var(--jb); }
.vc-still-credit { color: var(--vc-dim); font: 500 .82rem/1.4 var(--jb); }

/* Editorial content */
.vc-scope, .vc-relationship, .vc-principle, .vc-contact-band { padding-block: clamp(4.6rem, 8vw, 8.5rem); }
.vc-scope { background: radial-gradient(ellipse at 4% 28%, rgba(230,235,242,.035), transparent 56%), radial-gradient(ellipse at 92% 80%, rgba(180,188,200,.025), transparent 56%), rgba(10,11,13,.84); border-top: 1px solid var(--vc-line-soft); }
.vc-section-label { display: flex; justify-content: space-between; gap: 24px; margin: 0 0 44px; padding-bottom: 18px; color: var(--vc-dim); border-bottom: 1px solid var(--vc-line-soft); }
.vc-section-label > span:last-child { color: var(--vc-faint); text-align: right; }
.vc-editorial-heading { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(16rem, .8fr); align-items: end; gap: clamp(2rem, 7vw, 5rem); margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.vc-editorial-heading h2 { max-width: 12ch; font-size: clamp(3rem, 6.5vw, 7.3rem); line-height: .88; }
.vc-scope h2 span { color: transparent; -webkit-text-stroke: 1.4px var(--vc-red); text-shadow: 0 0 4px rgba(255,244,243,.58), 0 0 22px rgba(183,13,43,.38); }
.vc-editorial-heading > p { max-width: 42ch; margin: 0; color: var(--vc-dim); font-size: 1.05rem; line-height: 1.7; }
.vc-scope-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.vc-scope-cards article { min-height: 280px; padding: clamp(1.55rem, 3.3vw, 3rem); border: 1px solid rgba(255,255,255,.2); border-radius: 14px; background: linear-gradient(125deg, rgba(255,255,255,.07), transparent 56%), rgba(14,15,16,.78); box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 18px 44px rgba(0,0,0,.16); }
.vc-scope-cards article:nth-child(2) { background: linear-gradient(135deg, rgba(255,255,255,.065), transparent 56%), rgba(15,16,19,.88); }
.vc-scope-cards article span { display: block; margin-bottom: clamp(2.4rem, 5vw, 4.2rem); color: var(--vc-red-core); font: 500 .82rem/1.3 var(--jb); letter-spacing: .1em; }
.vc-scope-cards h3 { max-width: 14ch; margin: 0; color: var(--vc-ink); font: 700 clamp(1.75rem, 3.1vw, 3.35rem)/.93 var(--it); letter-spacing: -.065em; }
.vc-scope-cards p { max-width: 33rem; margin: 1.45rem 0 0; color: var(--vc-dim); line-height: 1.6; }

.vc-relationship { background: linear-gradient(116deg, transparent 8%, rgba(244,246,250,.025) 39%, transparent 70%), rgba(8,10,12,.84); }
.vc-relationship .vc-editorial-heading h2 { max-width: 11ch; }
.vc-roles { display: grid; grid-template-columns: 5fr 7fr; gap: 18px; }
.vc-role-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-height: 350px; padding: clamp(1.65rem, 3.8vw, 3.6rem); overflow: hidden; border: 1px solid rgba(255,255,255,.21); border-radius: 14px; background: linear-gradient(130deg, rgba(255,255,255,.06), transparent 56%), rgba(11,13,16,.84); box-shadow: inset 0 1px 0 rgba(255,255,255,.17), 0 18px 46px rgba(0,0,0,.2); }
.vc-role-card::after { content: ""; position: absolute; width: 360px; height: 360px; right: -180px; top: -215px; border: 1px solid rgba(244,246,250,.16); border-radius: 50%; box-shadow: 0 0 0 48px rgba(230,235,242,.025); }
.vc-role-card--client { background: linear-gradient(135deg, rgba(255,255,255,.075), transparent 55%), rgba(12,14,17,.91); }
.vc-role-card__number { position: absolute; inset: 1.45rem 1.55rem auto auto; z-index: 1; margin: 0; color: rgba(255,244,243,.34); font: 500 .82rem/1 var(--jb); }
.vc-role-card__label { position: relative; z-index: 1; margin: 0 0 3.6rem; color: var(--vc-red-core); }
.vc-role-card h3 { position: relative; z-index: 1; max-width: 13ch; margin: 0; font: 700 clamp(2rem, 3.8vw, 4.15rem)/.9 var(--it); letter-spacing: -.075em; }
.vc-role-card > p:not(.vc-role-card__number):not(.vc-role-card__label) { position: relative; z-index: 1; max-width: 32rem; margin: 1.65rem 0 0; color: var(--vc-dim); }
.vc-role-card .vc-link { position: relative; z-index: 1; margin-top: auto; padding-top: 2rem; }
.vc-connection-rail { display: grid; grid-template-columns: auto minmax(2rem, 1fr) auto minmax(2rem, 1fr) auto; align-items: center; gap: 1rem; margin-top: 20px; padding: 1.35rem .15rem; color: var(--vc-dim); font: 500 .82rem/1.35 var(--jb); letter-spacing: .08em; text-transform: uppercase; }
.vc-connection-rail i { height: 1px; background: linear-gradient(90deg, var(--vc-red), var(--vc-line-soft)); }

.vc-principle { position: relative; overflow: hidden; border-block: 1px solid var(--vc-line-soft); background: radial-gradient(ellipse at 85% 90%, rgba(230,235,242,.04), transparent 55%), linear-gradient(120deg, rgba(11,12,15,.84), rgba(12,13,16,.88) 58%, rgba(8,9,12,.9)); }
.vc-principle::after { content: ""; position: absolute; right: -12rem; bottom: -17rem; width: 44rem; aspect-ratio: 1; border: 1px solid rgba(244,246,250,.16); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(230,235,242,.025), 0 0 0 10rem rgba(230,235,242,.018); }
.vc-principle__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(11rem, .55fr) 1.45fr; gap: clamp(2rem, 10vw, 12rem); }
.vc-principle__index { margin: 2rem 0 0; color: var(--vc-faint); font: 500 .82rem/1.45 var(--jb); letter-spacing: .08em; text-transform: uppercase; }
.vc-principle h2 { font-size: clamp(3.4rem, 7.7vw, 8.7rem); line-height: .82; }
.vc-principle h2 span { color: #ff5263; text-shadow: 0 0 2px #fff4f3, 0 0 9px rgba(255,48,72,.72), 0 0 24px rgba(183,13,43,.34); }
.vc-principle__note { max-width: 41rem; margin: 2.2rem 0 1.3rem; color: var(--vc-dim); font-size: 1.08rem; line-height: 1.65; }

.vc-contact-band { background: linear-gradient(116deg, transparent 9%, rgba(244,246,250,.025) 39%, rgba(230,235,242,.018) 58%, transparent 72%), rgba(8,10,11,.86); }
.vc-contact-band__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(19rem, .72fr); align-items: end; gap: clamp(2rem, 8vw, 8rem); }
.vc-contact-band .vc-section-label { margin-bottom: 1.35rem; padding-bottom: 0; border-bottom: 0; }
.vc-contact-band h2 { max-width: 10ch; font-size: clamp(3rem, 6.2vw, 6.9rem); line-height: .86; }
.vc-contact-band p:not(.vc-section-label) { max-width: 39rem; margin: 1.8rem 0 0; color: var(--vc-dim); font-size: 1.08rem; line-height: 1.65; }
.vc-contact-action { padding: clamp(1.4rem, 3.2vw, 2.8rem); border: 1px solid rgba(255,255,255,.28); border-radius: 14px; background: linear-gradient(125deg, rgba(255,255,255,.09), transparent 55%, rgba(230,235,242,.025)), rgba(14,15,16,.86); box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 20px 52px rgba(0,0,0,.22); }
.vc-contact-action a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 54px; padding: .85rem 1rem; color: var(--vc-ink); border: 1px solid rgba(255,255,255,.72); border-radius: 8px; background: linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.025) 46%, rgba(255,255,255,.1)), rgba(11,13,14,.82); box-shadow: inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(0,0,0,.45), 0 10px 28px rgba(0,0,0,.3); font: 600 1rem/1.35 var(--it); text-decoration: none; }
.vc-contact-action small { display: block; margin-top: 1rem; color: var(--vc-dim); font: 500 .72rem/1.55 var(--jb); }

/* Footer */
.vc-footer { padding-block: 3.4rem 1.35rem; border-top: 1px solid var(--vc-line-soft); background: rgba(9,7,8,.9); }
.vc-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 2.5rem; }
.vc-wordmark--footer { align-self: start; }
.vc-footer__grid > div { display: grid; align-content: start; gap: .7rem; }
.vc-footer__grid a:not(.vc-wordmark) { color: var(--vc-dim); font-size: .9rem; text-decoration: none; }
.vc-footer__grid a:not(.vc-wordmark):hover { color: var(--vc-red-core); }
.vc-footer__label { margin: 0 0 .7rem; color: var(--vc-red-core); }
.vc-footer__base { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid var(--vc-line-soft); color: var(--vc-faint); font: 500 .82rem/1.45 var(--jb); letter-spacing: .08em; text-transform: uppercase; }

/* The light is optional: no choreography under reduced motion, no current
   with save-data, and it sleeps when the document or hero is not visible. */
@keyframes vc-current-travel { to { stroke-dashoffset: -320; } }
@keyframes vc-current-breath { 0%,100% { opacity: .79; } 25% { opacity: .89; } 58% { opacity: .8; } 77% { opacity: .93; } }
@keyframes vc-current-tremor { 0%,88%,90%,100% { transform: translate(0,0); } 88.4% { transform: translate(.18px,-.12px); } 88.9% { transform: translate(-.24px,.08px); } 89.4% { transform: translate(.12px,.1px); } }
@media (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  body[data-page="home"][data-vc-motion-ready="true"]:has(#vc-neon-current:checked) .vc-hero:not([data-neon-paused="true"]) :is(.vc-current-thread,.vc-current-glow) { display: block; animation: vc-current-travel 6.2s linear infinite; }
  body[data-page="home"][data-vc-motion-ready="true"]:has(#vc-neon-current:checked) .vc-hero:not([data-neon-paused="true"]) .vc-tube-halo { animation: vc-current-breath 12s ease-in-out infinite; }
  body[data-page="home"][data-vc-motion-ready="true"]:has(#vc-neon-current:checked) .vc-hero:not([data-neon-paused="true"]) .vc-tube-word { animation: vc-current-tremor 16s linear infinite; }
}
.vc-hero[data-neon-save-data="true"] :is(.vc-current-normal,.vc-current-paused) { display: none !important; }
.vc-hero[data-neon-save-data="true"] .vc-current-data { display: inline !important; }
.vc-hero[data-neon-reduced="true"] :is(.vc-current-normal,.vc-current-paused,.vc-current-data) { display: none !important; }
.vc-hero[data-neon-reduced="true"] .vc-current-reduced { display: inline !important; }

@media (max-width: 920px) {
  .vc-site-head__inner { grid-template-columns: auto 1fr; gap: .8rem 1rem; width: min(100% - 32px, 1320px); min-height: 70px; padding-block: .65rem; }
  .vc-site-nav { grid-row: 2; grid-column: 1 / -1; justify-content: flex-start; overflow-x: auto; gap: 1.4rem; }
  .vc-site-nav a { white-space: nowrap; }
  .vc-open-app { grid-column: 2; }
  .vc-hero { min-height: min(850px, calc(100svh - 112px)); }
  .vc-hero__image img { object-position: 66% center; }
  .vc-hero__copy { padding-block: 4.8rem 2.5rem; }
  .vc-editorial-heading, .vc-contact-band__inner, .vc-principle__inner { grid-template-columns: 1fr; gap: 2.4rem; }
  .vc-editorial-heading > p { max-width: 52ch; }
  .vc-roles { grid-template-columns: 1fr; }
  .vc-role-card { min-height: 290px; }
  .vc-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .vc-wrap { width: min(100% - 32px, 1320px); }
  .vc-site-nav a { font-size: .88rem; }
  .vc-open-app { padding: .68rem .72rem; font-size: .84rem; }
  .vc-hero { min-height: 815px; }
  .vc-hero__image img { object-position: 63% center; opacity: .5; }
  .vc-hero__wash {
    background-image:
      linear-gradient(118deg, transparent 9%, rgba(244,246,250,.035) 28%, rgba(230,235,242,.055) 46%, transparent 74%),
      radial-gradient(ellipse at 8% 88%, rgba(230,235,242,.03), transparent 53%),
      linear-gradient(90deg, rgba(4,5,7,.94), rgba(4,5,7,.84) 76%, rgba(4,5,7,.7)),
      linear-gradient(0deg, #08090cf0 0%, transparent 42%);
    background-size: 175% 138%, 100% 100%, 100% 100%, 100% 100%;
  }
  body[data-page="home"][data-vc-satin-ready="true"][data-vc-satin-state="active"] > .vc-satin-canvas { opacity: .2; }
  .vc-hero__copy { padding-block: 4rem 2.4rem; }
  .vc-hero h1 { --vc-sign-height: clamp(40px, 13.8vw, 82px); font-size: clamp(2.6rem, 11vw, 4.5rem); }
  .vc-tube-line { gap: 10px; }
  .vc-tube-line--visits { flex-wrap: wrap; row-gap: 4px; }
  .vc-hero-message { margin-top: 25px; margin-inline: -7px; padding: 22px 20px 22px; border-radius: 12px; }
  .vc-hero__lede { font-size: 1rem; }
  .vc-hero__actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .vc-button { width: 100%; justify-content: space-between; font-size: 1rem; }
  .vc-link { font-size: .95rem; }
  .vc-hero-bottom { flex-direction: column; align-items: stretch; gap: 19px; }
  .vc-chapter-nav { width: 100%; gap: 13px; }
  .vc-chapter-nav a { align-content: start; flex-wrap: wrap; min-height: 66px; gap: 6px; font-size: .82rem; line-height: 1.45; }
  .vc-chapter-nav span { flex-basis: 100%; }
  .vc-chapter-nav b { display: none; }
  .vc-hero-controls { align-items: stretch; gap: 8px; }
  .vc-still-credit { align-self: flex-end; }
  .vc-section-label { margin-bottom: 31px; font-size: .82rem; letter-spacing: .08em; }
  .vc-section-label > span:last-child { max-width: 18ch; }
  .vc-editorial-heading { margin-bottom: 34px; }
  .vc-editorial-heading h2 { font-size: clamp(2.8rem, 11.4vw, 4.65rem); }
  .vc-editorial-heading > p { font-size: 1rem; }
  .vc-scope-cards { grid-template-columns: 1fr; }
  .vc-scope-cards article { min-height: 0; padding: 24px; }
  .vc-scope-cards article span { margin-bottom: 2.1rem; }
  .vc-scope-cards h3 { font-size: clamp(1.85rem, 8.2vw, 2.6rem); }
  .vc-role-card { min-height: 0; padding: 28px 25px; }
  .vc-role-card__label { margin-bottom: 2.8rem; }
  .vc-role-card h3 { font-size: clamp(2rem, 9vw, 3.1rem); }
  .vc-connection-rail { grid-template-columns: 1fr; gap: .74rem; padding: 1.55rem 0; }
  .vc-connection-rail i { width: 1px; height: 1.7rem; margin-left: .25rem; background: linear-gradient(var(--vc-red), var(--vc-line-soft)); }
  .vc-principle h2, .vc-contact-band h2 { font-size: clamp(3rem, 12.6vw, 5.2rem); }
  .vc-principle__note, .vc-contact-band p:not(.vc-section-label) { font-size: 1rem; }
  .vc-contact-action { padding: 22px 20px; }
  .vc-footer__grid { grid-template-columns: 1fr; gap: 2.1rem; }
  .vc-footer__base { flex-direction: column; margin-top: 2.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .vc-current-thread, .vc-current-glow { display: none !important; animation: none !important; }
  .vc-tube-word, .vc-tube-halo { animation: none !important; transform: none !important; }
}

@media (forced-colors: active) {
  body[data-page="home"] { background: Canvas; color: CanvasText; }
  .vc-hero h1 { color: CanvasText; }
  .vc-site-head, .vc-hero, .vc-scope, .vc-relationship, .vc-principle, .vc-contact-band, .vc-footer, .vc-scope-cards article, .vc-role-card, .vc-contact-action, .vc-hero-message { color: CanvasText; background: Canvas; border-color: CanvasText; box-shadow: none; backdrop-filter: none; }
  .vc-hero__image, .vc-satin-canvas, .vc-hero__grid, .vc-hero__wash, .vc-hero::after, .vc-principle::after, .vc-current-control, .vc-tube-word { display: none !important; }
  .vc-tube-text { position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; white-space: normal; }
  .vc-tube-line { display: none; }
  .vc-signal, .vc-hero-rule { background: CanvasText; box-shadow: none; }
  .vc-button, .vc-open-app, .vc-contact-action a { color: ButtonText; background: ButtonFace; border-color: ButtonText; box-shadow: none; }
  .vc-link, .vc-editorial-heading > p, .vc-scope-cards p, .vc-role-card > p:not(.vc-role-card__number):not(.vc-role-card__label), .vc-principle__note, .vc-contact-band p:not(.vc-section-label), .vc-contact-action small, .vc-footer__grid a:not(.vc-wordmark) { color: CanvasText; }
  .vc-scope h2 span { color: CanvasText; -webkit-text-stroke: 0; text-shadow: none; }
}

@media print {
  .vc-hero h1 { color: #000; }
  .vc-site-head, .vc-hero__image, .vc-satin-canvas, .vc-hero__grid, .vc-hero__wash, .vc-hero::after, .vc-hero-controls, .vc-tube-word { display: none !important; }
  body[data-page="home"], .vc-hero, .vc-scope, .vc-relationship, .vc-principle, .vc-contact-band, .vc-footer, .vc-scope-cards article, .vc-role-card, .vc-contact-action, .vc-hero-message { color: #000; background: #fff; border-color: #000; box-shadow: none; }
  .vc-tube-text { position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; white-space: normal; }
  .vc-tube-line { display: none; }
  .vc-scope h2 span, .vc-principle h2 span { color: #000; -webkit-text-stroke: 0; text-shadow: none; }
  .vc-button, .vc-contact-action { display: none; }
}


/* MWS landing template: the film is the hero's full media layer. Copy, the
   glass message, and the bottom rail remain ordinary document flow above it. */
.vc-hero--film { min-height: min(900px, calc(100svh - 74px)); background: #08090c; }
.vc-hero--film .vc-hero__wash {
  z-index: 1; display: block;
  background: linear-gradient(90deg, rgba(3,4,6,.74) 0%, rgba(3,4,6,.56) 22%, rgba(3,4,6,.18) 34%, transparent 42%);
}
.vc-hero--film .vc-hero__grid { z-index: 2; opacity: .12; }
.vc-hero--film .vc-hero__content {
  position: relative; z-index: 3; display: flex; flex-direction: column;
  min-height: inherit; padding-block: 42px 24px;
}
.vc-hero--film .vc-hero__topline { position: relative; flex-wrap: wrap; row-gap: 6px; }
.vc-hero--film .vc-hero__copy {
  position: relative; width: min(100%, 970px); margin: clamp(3.6rem, 9vh, 6.5rem) 0 0; padding: 0;
}
.vc-hero--film h1 { --vc-sign-height: clamp(40px, 6.2vw, 90px); }
.vc-hero--film .vc-tube-line--visits { flex-wrap: wrap; row-gap: 4px; }
.vc-hero--film .vc-hero-message {
  position: relative; align-self: flex-start; width: min(100%, 700px); margin-top: clamp(1.5rem, 3vh, 2.25rem);
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
}
.vc-hero--film .vc-hero-bottom { position: relative; margin-top: auto; padding-top: clamp(2.4rem, 5vh, 4.5rem); }
.vc-hero-film, .vc-hero-film__media { position: absolute; inset: 0; width: 100%; height: 100%; }
.vc-hero-film { z-index: 0; min-width: 0; margin: 0; overflow: hidden; pointer-events: none; }
.vc-hero-film__media { overflow: hidden; background: transparent; }
.vc-hero-film__media picture,
.vc-hero-film__media video {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; max-height: none;
}
.vc-hero-film__media img,
.vc-hero-film__media video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.vc-hero--film[data-film-has-frame="true"] [data-vc-film-poster] { visibility: hidden; }
.vc-hero--film [hidden] { display: none !important; }
[data-vc-film-control] {
  min-height: 44px; padding: 9px 13px; border: 1px solid #66656a;
  border-radius: 6px; background: #141416; color: #f4f1e9; cursor: pointer; font: 500 .78rem/1.3 var(--it);
}
[data-vc-film-control]:hover { background: #252528; border-color: #aaa8af; }
[data-vc-film-control]:focus-visible { outline: 2px solid #fff4eb; outline-offset: 4px; }
[data-vc-film-status] { margin: 0; color: #e8e3df; font-size: .85rem; }
@media (min-width: 701px) {
  /* Keep the layer full-bleed while staging its transparent artwork on the
     viewer's right, where the hero leaves visual room for it. */
  .vc-hero-film__media > picture,
  .vc-hero-film__media > video {
    inset: auto clamp(0px, 2vw, 28px) auto auto; inset-block-start: 3%;
    width: 66.6667%; height: auto; aspect-ratio: 16 / 9;
  }
  .vc-hero-film__media img,
  .vc-hero-film__media video { object-fit: contain; object-position: center; }
  .vc-hero--film .vc-hero-controls { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 10px 18px; max-width: 52%; }
  .vc-hero--film .vc-still-credit { flex-basis: 100%; text-align: right; }
  .vc-hero--film .vc-chapter-nav { width: 47%; gap: 14px; }
}
@media (min-width: 1100px) {
  .vc-hero--film .vc-hero__copy { width: min(54%, 700px); }
}
@media (max-width: 1050px) and (min-width: 701px) {
  .vc-hero--film .vc-hero__lede { font-size: 1rem; }
  .vc-hero--film .vc-chapter-nav a { flex-wrap: wrap; column-gap: 8px; }
  .vc-hero--film .vc-chapter-nav b { display: none; }
}
@media (max-width: 700px) {
  .vc-hero--film { min-height: 815px; }
  .vc-hero--film .vc-hero__wash {
    background: linear-gradient(180deg, rgba(3,4,6,.34) 0%, rgba(3,4,6,.1) 42%, rgba(3,4,6,.52) 100%);
  }
  .vc-hero--film .vc-hero__content { min-height: inherit; gap: 0; padding-top: 28px; }
  .vc-hero--film .vc-hero__copy { width: 100%; margin-top: 3rem; }
  .vc-hero--film h1 { --vc-sign-height: clamp(40px, 13.8vw, 82px); }
  .vc-hero-film__media img,
  .vc-hero-film__media video { object-fit: contain; object-position: center 24%; }
  .vc-hero-film__media > picture,
  .vc-hero-film__media > video { inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
  .vc-hero--film .vc-hero-message { margin-top: 1.55rem; }
  .vc-hero--film .vc-hero-bottom { margin-top: auto; padding-top: 2.5rem; }
}
@media (forced-colors: active) {
  .vc-hero-film [data-vc-film-poster] { visibility: visible !important; }
  .vc-hero-film video, .vc-hero--film [data-vc-film-control] { display: none !important; }
  .vc-hero--film .vc-hero-message { color: CanvasText; }
}
@media print {
  .vc-hero--film .vc-hero__content { display: block; }
  .vc-hero-film { position: relative; inset: auto; width: 65%; height: auto; margin: 20px 0; aspect-ratio: 16 / 9; break-inside: avoid; }
  .vc-hero-film__media > picture,
  .vc-hero-film__media > video { inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
  .vc-hero-film [data-vc-film-poster] { visibility: visible !important; }
  .vc-hero-film video, .vc-hero--film [data-vc-film-control] { display: none !important; }
}


/* One continuous MWS-derived satin field. The foreground films and posters
   contain true alpha; no rectangle, color key, blend mode or opacity trick. */
@media screen and (forced-colors: none) {
  body[data-page="home"] { background-color: #08090c; }
  body[data-page="home"] :is(.vc-hero, .vc-scope, .vc-relationship, .vc-principle, .vc-contact-band, .vc-footer) { background: transparent; }
  body[data-page="home"] .vc-hero__grid,
  body[data-page="home"] .vc-hero::after,
  body[data-page="home"] .vc-principle::after { display: none; }
}

/* Mobile copy stays readable over the existing animated hero artwork. */
@media (max-width:700px) {
 .vc-hero--film .vc-hero-message { background:#101012; }
}

/* Plain-text answers (AEO, 2026-10-01): question headings with a direct first-sentence answer. */
.vc-answers { padding-block: clamp(4rem, 8vw, 7rem); }
.vc-answers__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem) clamp(2rem, 5vw, 4rem); }
.vc-answers article { padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.2); }
.vc-answers h2 { margin: 0; color: var(--vc-ink); font: 700 clamp(1.4rem, 2.4vw, 2rem)/1.1 var(--it); letter-spacing: -.03em; }
.vc-answers p { max-width: 38rem; margin: .9rem 0 0; color: var(--vc-dim); line-height: 1.65; }
.vc-answers a { color: var(--vc-ink); }
@media (max-width: 760px) { .vc-answers__grid { grid-template-columns: 1fr; } }
