/* Site styles — one file for all pages. Page-specific overrides scoped via html[data-page] */
@keyframes vtScroll{0%{transform:translateY(-100%)}100%{transform:translateY(256%)}}
@keyframes v2ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes v2bob{0%,100%{transform:translateY(0)}50%{transform:translateY(0.4375rem)}}
@keyframes galFade{from{opacity:0}to{opacity:1}}
/* Shared site styles */ *{box-sizing:border-box}
.vt-font-modern, .vt-font-modern *{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif!important;}
.vt-font-apple, .vt-font-apple *{font-family:"SF Pro Text","SF Pro Icons",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:-0.016em!important;}
.vt-font-apple [style*="uppercase"]{letter-spacing:.1em!important;font-weight:600!important;}
.vt-font-vive, .vt-font-vive *{font-family:"Neue Montreal","Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;letter-spacing:-0.006em!important;}
.vt-font-vive{font-feature-settings:"ss01" on,"ss02" on,"ss03" on,"ss04" on,"salt" on;}
.vt-font-vive h1, .vt-font-vive h2, .vt-font-vive h3{font-weight:700!important;letter-spacing:-0.04em!important;}
.vt-font-vive p, .vt-font-vive a{font-weight:500!important;}
.vt-font-vive [style*="uppercase"]{letter-spacing:.02em!important;font-weight:500!important;}
.vt-sp-apple h1, .vt-sp-apple .v2-hero-title{line-height:1.05!important;}
.vt-sp-apple h2, .vt-sp-apple h3{line-height:1.1!important;}
.vt-sp-apple p{line-height:1.47!important;}
.vt-sp-apple [style*="uppercase"]{line-height:1.29!important;}
.vt-sp-vive h1, .vt-sp-vive .v2-hero-title{line-height:1.2!important;}
.vt-sp-vive h2, .vt-sp-vive h3{line-height:1.2!important;}
.vt-sp-vive p{line-height:1.44!important;}
.vt-sp-vive [style*="uppercase"]{line-height:1.3!important;}
html{font-size:16px;}
html[data-page="index"], html[data-page="index"] body{margin:0;padding:0;height:100%;background:#0a0d12;overflow:hidden}
.reveal{will-change:transform,opacity}
.vt-sec{position:fixed; inset:0; width:100%; height:100%; height:100dvh; visibility:hidden; will-change:transform}
.vt-cta{border-radius:0.625rem!important; text-transform:none!important; letter-spacing:.02em!important; font-weight:600!important; font-size:1rem!important; padding:0.875rem 1.375rem!important; position:relative!important; overflow:hidden!important; transition:color 50ms cubic-bezier(.76,0,.24,1)!important;}
.vt-cta:hover{color:#06121a!important; transition:color .15s cubic-bezier(.76,0,.24,1)!important;}
.vt-cta>*:not(.button__flair){position:relative; z-index:1;}
html[data-page="index"] .vt-dot:hover{opacity:1!important;}
html[data-page="index"] .vt-dot:hover .vt-dot-label{opacity:1!important;}
.vt-font-apple h1, .vt-font-apple h2, .vt-font-apple h3{font-family:"SF Pro Display","SF Pro Icons",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:600!important;letter-spacing:0.002em!important;}
.vt-roll-b{transform:translateY(100%);}
.vt-dot:hover .vt-roll-a, .vt-dot.vt-roll-play .vt-roll-a{transform:translateY(-100%);}
.vt-dot:hover .vt-roll-b, .vt-dot.vt-roll-play .vt-roll-b{transform:translateY(0);}
.vt-cta .button__flair{position:absolute; inset:0; z-index:0; pointer-events:none; transform:scale(0); transform-origin:0 0; will-change:transform;}
.vt-cta .button__flair:before{content:""; display:block; position:absolute; left:0; top:0; width:170%; aspect-ratio:1/1; border-radius:50%; background:#fff; transform:translate(-50%,-50%); pointer-events:none;}
.vt-cta svg{transition:transform .25s;}
.vt-cta:hover svg{transform:translateX(0.1875rem);}
.vt-icon:hover{opacity:1!important}
.cx-link{transition:color .2s;}
.cx-link:hover{color:#fff!important;}
.cx-link:hover svg{color:var(--acc);}
.tw-cursor{position:absolute; width:0.1875rem; background:var(--acc); border-radius:2px; pointer-events:none; opacity:0;}
h1.vt-hero-title{font-weight:800!important;}
.vt-root{--bg:#0a0d12; --ink:#f4f7fb; --head:#f2f5f9; --body-c:#DCE2EB; --sub:#94a0b0; --sub2:#b7c0cc; --micro:#8b95a5; --muted:#6b7484; --link:#c4ccd8; --line:rgba(255,255,255,.18); --card:rgba(255,255,255,.04); --card-line:rgba(255,255,255,.09); --tile:rgba(255,255,255,.06); --tile-line:rgba(255,255,255,.1); --pill:#0A0D124B; --chrome:#ffffff; --btn-bg:#10151d; --btn-ink:#ffffff; --scrim:8,11,16; --icon-invert:1; --hero-veil:.7;}
.vt-root[data-theme="light"]{--bg:#ffffff; --ink:#111111; --head:#111111; --body-c:rgba(17,17,17,.8); --sub:rgba(17,17,17,.6); --sub2:rgba(17,17,17,.7); --micro:rgba(17,17,17,.5); --muted:rgba(17,17,17,.35); --link:#5c636c; --line:rgba(17,17,17,.15); --card:linear-gradient(180deg,rgb(244,244,244) 0%,rgb(244,244,244) 100%); --card-line:rgb(232,232,232); --tile:rgb(249,249,249); --tile-line:rgb(232,232,232); --pill:#FFFFFF80; --chrome:#111111; --btn-bg:rgb(24,24,25); --btn-ink:#f5f5f5; --scrim:255,255,255; --icon-invert:0; --hero-veil:.55;}
img{max-width:100%;}
.cs-root{--bg:#0a0d12; --card:#0b0f15; --h1:#f6f8fb; --head:#f2f5f9; --head2:#dfe6ee; --ink:#f4f7fb; --link:#c4ccd8; --body:#aab4c2; --body2:#a7b1bf; --micro:#8b95a5; --dim:#5d6675; --line6:rgba(255,255,255,.06); --line8:rgba(255,255,255,.08); --line10:rgba(255,255,255,.1); --line16:rgba(255,255,255,.16); --glass:rgba(10,13,18,.6); --hero1:rgba(10,13,18,.55); --hero2:rgba(10,13,18,.78);}
.cs-root[data-theme="light"]{--bg:#eef1f5; --card:#e3e8ee; --h1:#0f141b; --head:#141b24; --head2:#232c38; --ink:#232b36; --link:#3d4855; --body:#4a5563; --body2:#505b69; --micro:#66707f; --dim:#9aa3b0; --line6:rgba(12,18,26,.08); --line8:rgba(12,18,26,.12); --line10:rgba(12,18,26,.15); --line16:rgba(12,18,26,.22); --glass:rgba(238,241,245,.65); --hero1:rgba(238,241,245,.6); --hero2:rgba(238,241,245,.86); --bg:#ffffff; --card:#f4f4f4; --h1:#111111; --head:#111111; --head2:#1c232d; --ink:#111111; --body:rgba(17,17,17,.72); --body2:rgba(17,17,17,.68); --link:#5c636c;}
html,body{margin:0;padding:0;background:#0a0d12}
.v2-back{transition:gap .25s, color .2s;}
.v2-back:hover{gap:0.875rem!important; color:var(--h1)!important;}
.v2-link{transition:color .2s;}
.v2-link:hover{color:var(--h1)!important;}
.v2-link:hover svg{color:var(--acc);}
.vt-font-apple h1, .vt-font-apple h2, .vt-font-apple .v2-stepnum, .vt-font-apple .v2-zoom p{font-family:"SF Pro Display","SF Pro Icons",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:600!important;letter-spacing:0.002em!important;}
.v2-hero-title, .v2-hero-sub{opacity:0; filter:blur(1.125rem); transform:translateY(2rem); transition:opacity 1s cubic-bezier(.16,.84,.44,1), filter 1s cubic-bezier(.16,.84,.44,1), transform 1s cubic-bezier(.16,.84,.44,1); will-change:opacity,filter,transform;}
.v2-hero-sub{filter:blur(0.875rem); transform:translateY(1.375rem); transition-delay:.15s;}
.v2-hero-title.is-in, .v2-hero-sub.is-in{opacity:1; filter:blur(0px); transform:translateY(0);}
.v2-hero-top{opacity:0; transform:translateY(-1.625rem); transition:opacity .9s cubic-bezier(.16,.84,.44,1), transform .9s cubic-bezier(.16,.84,.44,1);}
.v2-hero-top.is-in{opacity:1; transform:translateY(0);}
.v2-hero-side{opacity:0; transform:translateX(2.125rem); transition:opacity .9s cubic-bezier(.16,.84,.44,1), transform .9s cubic-bezier(.16,.84,.44,1); transition-delay:.1s;}
.v2-hero-side.is-in{opacity:1; transform:translateX(0);}
.v2-hdr{opacity:0; transform:translateY(-100%); transition:opacity .45s cubic-bezier(.16,.84,.44,1), transform .45s cubic-bezier(.16,.84,.44,1);}
.v2-hdr.is-in{opacity:1; transform:translateY(0);}
.v2-cap{opacity:0; transform:translateY(1.75rem) scale(.98); filter:blur(0.375rem); transition:opacity .8s cubic-bezier(.16,.84,.44,1), transform .8s cubic-bezier(.16,.84,.44,1), filter .8s cubic-bezier(.16,.84,.44,1), border-color .3s, background .3s;}
html[data-page="extreme"] .v2-cap{transition:transform .3s, border-color .3s, background .3s;}
.v2-cap.is-in{opacity:1; transform:translateY(0) scale(1); filter:blur(0px);}
.v2-cap.is-in:hover{transform:translateY(-0.25rem); border-color:color-mix(in srgb, var(--acc) 55%, transparent)!important;}
html[data-page="extreme"] .v2-cap.is-in:hover{transform:translateY(-0.25rem);}
.v2-li{opacity:0; transform:translateY(1.125rem); transition:opacity .65s cubic-bezier(.16,.84,.44,1), transform .65s cubic-bezier(.16,.84,.44,1);}
.v2-li .v2-li-dot{transform:scale(0); transition:transform .4s cubic-bezier(.34,1.56,.64,1); transition-delay:inherit;}
.v2-li.is-in{opacity:1; transform:translateY(0);}
.v2-li.is-in .v2-li-dot{transform:scale(1); transition-delay:.35s;}
.gal-tip{position:relative;}
.gal-tip::after{content:attr(data-tip); position:absolute; top:calc(100% + 0.5rem); right:0; white-space:nowrap; font-family:'Work Sans',sans-serif; font-size:0.625rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); background:var(--glass, rgba(10,13,18,.9)); backdrop-filter:blur(0.375rem); border:1px solid rgba(128,128,128,.25); padding:0.3125rem 0.625rem; border-radius:0.25rem; opacity:0; transform:translateY(-0.25rem); transition:opacity .2s, transform .2s; pointer-events:none; z-index:60;}
.gal-tip:hover::after{opacity:1; transform:translateY(0);}
.v2-hero-sphere{opacity:0; filter:blur(0.875rem); transform:scale(.6); transition:opacity 1s cubic-bezier(.16,.84,.44,1), filter 1s cubic-bezier(.16,.84,.44,1), transform 1s cubic-bezier(.16,.84,.44,1); transition-delay:.15s;}
.v2-hero-sphere.is-in{opacity:1; filter:blur(0px); transform:scale(1);}
a{color:#c4ccd8}
a:hover{color:#f6f8fb}
.gal-root{--bg:#0a0d12; --card:#0b0f15; --h1:#f6f8fb; --head:#f2f5f9; --ink:#e8ecf2; --link:#c4ccd8; --body:#aab4c2; --micro:#8b95a5; --dim:#5d6675; --line6:rgba(255,255,255,.06); --line8:rgba(255,255,255,.08); --line10:rgba(255,255,255,.1); --line16:rgba(255,255,255,.16); --glass:rgba(10,13,18,.6);}
.gal-root[data-theme="light"]{--bg:#eef1f5; --card:#e3e8ee; --h1:#0f141b; --head:#141b24; --ink:#232b36; --link:#3d4855; --body:#4a5563; --micro:#66707f; --dim:#9aa3b0; --line6:rgba(12,18,26,.08); --line8:rgba(12,18,26,.12); --line10:rgba(12,18,26,.15); --line16:rgba(12,18,26,.22); --glass:rgba(238,241,245,.65); --bg:#ffffff; --card:#f4f4f4; --h1:#111111; --head:#111111; --head2:#1c232d; --ink:#111111; --body:rgba(17,17,17,.72); --body2:rgba(17,17,17,.68); --link:#5c636c;}
.gal-arrow{transition:background .2s, border-color .2s, color .2s;}
.gal-arrow:hover{background:var(--acc)!important; border-color:var(--acc)!important; color:#0a0d12!important;}
.vt-font-apple h1, .vt-font-apple h2, .vt-font-apple h3, .vt-font-apple .v2-stepnum, .vt-font-apple .v2-zoom p{font-family:"SF Pro Display","SF Pro Icons",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:600!important;letter-spacing:0.002em!important;}
@media (max-width:1200px){
  html{font-size:15px;}
}

@media (max-width:768px){
  html{font-size:14px;}
}

@media (max-width:480px){
  html{font-size:12.5px;}
}

@media (max-width:900px){
  [style*="grid-template-columns"]:not([style*="auto-fit"]){grid-template-columns:1fr!important;}
  [style*="position:sticky"], [style*="position: sticky"]{position:static!important;}
  [style*="max-width:46%"], [style*="max-width: 46%"]{max-width:100%!important;}
  [style*="writing-mode:vertical-rl"]{display:none!important;}
}

@media (max-width:760px){
  html{font-size:14px;}
  /* stack every two-column case layout */ .vt-sec .bg>div[style*="grid-template-columns"]{display:flex!important; flex-direction:column!important; gap:1.75rem!important; padding:5.5rem 1.25rem 5rem!important; width:100vw!important; overflow-y:auto!important; max-height:100vh!important; max-height:100dvh!important;}
  /* phones: image sits between the role line and the description */
  .vt-sec .bg>div[style*="grid-template-columns"]{gap:0!important; align-items:stretch!important;}
  .vt-sec .bg>div[style*="grid-template-columns"]>div:has(h2){display:contents;}
  .vt-sec .bg>div[style*="grid-template-columns"]>div:has(h2)>*{order:5;}
  .vt-sec .bg>div[style*="grid-template-columns"]>div:has(h2)>a{align-self:flex-start;}
  .vt-sec .bg>div[style*="grid-template-columns"]>div:has(h2)>*:first-child{order:1;}
  .vt-sec .bg>div[style*="grid-template-columns"]>div:has(h2)>h2{order:2; margin-bottom:0.5rem!important;}
  .vt-sec .bg>div[style*="grid-template-columns"]>div:has(h2)>h2+div{order:3;}
  .vt-sec .bg>div[style*="grid-template-columns"]>div:has(img){order:4; margin:1.5rem 0 1.75rem; align-self:center;}
  .vt-sec .bg>div[style*="grid-template-columns"]>div:has(img) img{max-height:34vh; object-fit:contain;}
  /* hero */ .vt-hero-copy{width:100vw!important; padding:0 1.25rem!important;}
  .vt-hero-title{max-width:100%!important;}
  /* right-side dot nav + corners + counter: hide on phones */ .vt-nav, .vt-corner, .vt-counter{display:none!important;}
  /* about + contact sections */ .vt-sec[data-screen-label="About"] .bg>div, .vt-sec[data-screen-label="Contact"] .bg>div{padding:5.5rem 1.25rem 3rem!important; justify-content:flex-start!important; width:100%!important; max-width:none!important; margin:0!important; overflow-y:auto!important; max-height:100vh!important; max-height:100dvh!important;}
  /* paragraphs full width */ .vt-sec p[style*="max-width"]{max-width:100%!important;}
  .v2-hero-section{padding-top:6.5rem!important;}
  .v2-hero-section>div:nth-child(2){flex-direction:column!important; align-items:flex-start!important; gap:0.875rem!important;}
  .v2-hero-section>div:nth-child(2)>div:last-child{justify-content:flex-start!important; max-width:100%!important;}
}

@media (prefers-reduced-motion: reduce){
  .v2-hdr{opacity:1; transform:none; transition:none;}
  .v2-cap{opacity:1; transform:none; filter:none; transition:none;}
  .v2-li{opacity:1; transform:none; transition:none;}
  .v2-li .v2-li-dot{transform:none; transition:none;}
}

/* --- Hit targets: 44x44 minimum (WCAG 2.5.5 / AAA) --- */
.vt-icon, .vt-mode-toggle{min-width:36px; min-height:36px; display:inline-flex!important; align-items:center; justify-content:center;}
header > div:last-child{gap:0.25rem!important;}
header > a{min-height:44px; align-items:center;}
.cx-link, .v2-link{min-height:44px; align-items:center;}
.v2-back{min-height:36px; align-items:center;}
.gal-arrow, .gal-tip, .gal-close, .v2-zoom-close{min-width:36px; min-height:36px; display:inline-flex!important; align-items:center; justify-content:center;}
.vt-cta{min-height:44px;}
/* Progress rail is a non-interactive indicator; .vt-nav carries the 44x44 nav */
.vt-counter .vt-mode{pointer-events:none;}
@media (max-width:760px){
  .cx-link, .v2-link{min-height:44px;}
  .vt-icon{min-height:36px;}
  .gal-arrow, .gal-tip, .v2-back{min-height:36px;}
}

/* --- Secondary header height: 50px total --- */
html .v2-hdr{position:fixed!important; top:1rem!important; left:48px!important; right:48px!important; z-index:40; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:0 clamp(1rem,3vw,2rem)!important; border-radius:1rem!important; background:linear-gradient(180deg, rgba(48,51,57,.64) 0%, rgba(36,39,44,.6) 55%, rgba(26,29,34,.66) 100%)!important; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 0.5rem 1.5rem rgba(0,0,0,.28); border:0!important; min-height:64px; height:64px; box-sizing:border-box;}

/* --- About/Contact: allow inner scroll whenever content exceeds the viewport --- */
html[data-page="index"] .vt-sec[data-screen-label="About"] .bg>div,
html[data-page="index"] .vt-sec[data-screen-label="Contact"] .bg>div{max-height:100vh; max-height:100dvh; overflow-y:auto; justify-content:flex-start!important; overscroll-behavior:contain; width:100%!important; max-width:none!important; margin:0!important; -webkit-overflow-scrolling:touch;}
@media (max-height:820px){
  html[data-page="index"] .vt-sec[data-screen-label="About"] .bg>div{padding-top:4.5rem!important; padding-bottom:2.5rem!important; gap:2rem!important;}
}

/* --- Extracted utility classes (were repeated inline styles) --- */
.u-chip{display:inline-flex; align-items:center; padding:0.375rem 0.875rem; border:1px solid var(--line16); border-radius:62.4375rem; font-family:'Work Sans',sans-serif; font-size:0.6875rem; letter-spacing:.16em; text-transform:uppercase; color:var(--body); white-space:nowrap;}
.u-subhead{margin:0; font-family:Raleway,sans-serif; font-weight:300; font-size:clamp(1.4rem,2.4vw,2rem); color:var(--head); letter-spacing:-.01em;}
.u-dot{flex:none; width:0.375rem; height:0.375rem; border-radius:50%; background:var(--acc); margin-top:0.625rem;}
.u-grain{position: fixed; inset: 0; z-index: 50; pointer-events: none; opacity: .05; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.u-stepnum{font-family:Raleway,sans-serif; font-weight:700; font-size:1.5rem; color:var(--acc); letter-spacing:-.02em; display:none;}
.u-body{margin: 0; font-size: .98rem; line-height: 1.62; color: var(--body); letter-spacing: 0.025rem}
.u-intro{margin:0 0 5rem; font-size:1.02rem; line-height:1.72; color:var(--body2); max-width:64ch; letter-spacing:0.025rem;}
.u-btn{display:inline-flex; align-items:center; gap:0.625rem; padding:0.8125rem 1.5rem; border-radius:62.4375rem; background:var(--btn-bg); color:var(--btn-ink); border:1px solid var(--line); font-family:Raleway,sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; transition:background .2s,color .2s;}
.u-eyebrow{font-family:'Work Sans',sans-serif; font-size:0.625rem; letter-spacing:.22em; text-transform:uppercase; color:var(--acc); margin-bottom:0.875rem;}
.u-panel{background:var(--card); border-left:1px solid var(--line10); border-radius:0px; padding:clamp(1.75rem,4vw,2.75rem) clamp(1.125rem,3vw,2.5rem);}

/* keep About/Contact content centred while the scrollbar sits at the screen edge */
html[data-page="index"] .vt-sec[data-screen-label="About"] .bg>div>*,
html[data-page="index"] .vt-sec[data-screen-label="Contact"] .bg>div>*{width:100%; max-width:77.5rem; margin-left:auto; margin-right:auto;}

/* Contact fits by design — no scrollbar unless the viewport is genuinely too small */
html[data-page="index"] .vt-sec[data-screen-label="Contact"] .bg>div{overflow-y:hidden; justify-content:center!important;}
@media (max-width:760px), (max-height:700px){
  html[data-page="index"] .vt-sec[data-screen-label="Contact"] .bg>div{overflow-y:auto; justify-content:flex-start!important;}
}

/* consistent gutters inside the full-bleed About/Contact scroller */
html[data-page="index"] .vt-sec[data-screen-label="About"] .bg>div,
html[data-page="index"] .vt-sec[data-screen-label="Contact"] .bg>div{padding-left:clamp(1.5rem,5vw,4rem)!important; padding-right:clamp(1.5rem,5vw,4rem)!important; scrollbar-gutter:stable both-edges;}

/* --- Extracted repeated inline styles (high specificity to preserve original cascade) --- */
html .x1{display:inline-flex; align-items:center; justify-content:center; text-decoration:none; color:var(--body); padding:0 0.25rem;}
html .x2{padding-bottom:clamp(2.75rem,6vw,5rem); border-top:1px solid var(--line8); padding-top:clamp(2.75rem,6vw,5rem);}
html .x3{width:0.875rem; height:0.875rem; display:block; stroke:currentColor; fill:none;}
html .x4{display:flex; align-items:baseline; gap:1rem; margin-bottom:1.125rem;}
html .x5{font-family:'Work Sans',sans-serif; font-size:0.625rem; letter-spacing:.28em; text-transform:uppercase; color:var(--micro); writing-mode:vertical-rl; transform:rotate(180deg);}
html .x6{display:inline-flex; align-items:center; gap:0.5625rem; text-decoration:none; color:var(--body); font-family:'Work Sans',sans-serif; font-size:0.75rem; letter-spacing:.16em; text-transform:uppercase;}
html .x7{font-size: 1rem; color: var(--ink); font-weight: 100; line-height: 1.45; letter-spacing: 0.05rem}
html .x8{font-family:'Work Sans',sans-serif; font-size:0.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink); margin-bottom:1.75rem; display:flex; align-items:center; gap:0.625rem;}
html .x9{position: absolute; left: clamp(1.125rem,5vw,3.5rem); bottom: clamp(1rem,3vw,2rem); font-family: 'Work Sans',sans-serif; font-size: 0.6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--link); background: var(--glass); backdrop-filter: blur(0.5rem); padding: 0.5rem 0.875rem; border-radius: 0.5rem; border: 1px solid var(--line10); display: none}
html .x10{margin-top: 0.875rem; color: var(--body2); font-size: .92rem; line-height: 1.55; letter-spacing: 0.05rem}
html .x11{display: flex; gap: 0.875rem; padding: 1rem 0}
html .x12{font-family:Raleway,sans-serif; font-weight:700; font-size:clamp(2.4rem,3.4vw,3.4rem); color:var(--head); letter-spacing:-.03em; line-height:.9;}
html .x13{position:absolute; left:0; top:0; width:100%; height:1.375rem; background:var(--acc); animation:vtScroll 1.9s cubic-bezier(.7,0,.3,1) infinite;}
html .x14{position:absolute; right:clamp(0.625rem,3vw,2.25rem); top:50%; transform:translateY(-50%); width:3rem; height:3rem; border-radius:62.4375rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); color:#e8ecf2; cursor:pointer; display:flex; align-items:center; justify-content:center;}
html .x15{position:absolute; top:clamp(0.75rem,3vw,1.75rem); right:clamp(0.75rem,3vw,1.75rem); width:2.75rem; height:2.75rem; border-radius:62.4375rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); color:#e8ecf2; cursor:pointer; display:flex; align-items:center; justify-content:center;}
html .x16{position:absolute; left:clamp(0.625rem,3vw,2.25rem); top:50%; transform:translateY(-50%); width:3rem; height:3rem; border-radius:62.4375rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); color:#e8ecf2; cursor:pointer; display:flex; align-items:center; justify-content:center;}
html .x17{flex: none; width: 100%; height: 100%; background: linear-gradient(180deg, #FFFFFF00 20%, #FFFFFF00 50%, #FFFFFF0E 100%); border: 0px solid var(--tile-line); display: flex; align-items: center; justify-content: center; padding: 0.5rem; border-radius: 0.75rem 0.75rem 0 0; border-width: 0px}
html .x18{font-family:'Work Sans',sans-serif; font-size:0.75rem; letter-spacing:.26em; text-transform:uppercase; color:var(--acc); margin-bottom:2.125rem;}
html .x19{grid-column: span 4; padding: clamp(1.5rem,2.4vw,2.125rem); border-radius: 0px; background-color: var(--card); border: 1px solid var(--line10)}
html .x20{font-family:'Work Sans',sans-serif; font-size:0.625rem; letter-spacing:.16em; text-transform:uppercase; color:var(--acc); margin-bottom:1rem;}
html .x21{position:static; z-index:46; height:auto; padding:0; display:flex; align-items:center; gap:0.875rem; margin-left:auto;}
html .x22{margin:0 0 0.75rem; font-family:Raleway,sans-serif; font-weight:700; font-size:clamp(2.2rem,4.4vw,4.2rem); line-height:1.03; letter-spacing:-.02em; color:var(--head);}
html .x23{color:var(--ink); font-weight:600;}
html .x24{display:flex; align-items:center; justify-content:space-between; gap:1.5rem;}
html .x25{margin:0; font-family:Raleway,sans-serif; font-weight:700; font-size:clamp(2.9rem,9.4vw,9rem); line-height:.92; letter-spacing:-.035em; color:var(--h1);}
html .x26{display: flex; flex-direction: column; padding: 0; border-radius: 0.5rem; background: none; border: 1px solid var(--card-line); backdrop-filter: blur(0.625rem); align-items: stretch; align-self: stretch; width: 100%; border-width: 0px; overflow: hidden}
html .x27{display:flex; align-items:center; justify-content:space-between; gap:1.5rem;}
html .x28{font-family:'Work Sans',sans-serif; font-size:0.8125rem; letter-spacing:.24em; text-transform:uppercase; color:var(--acc);}
html .x29{font-family:'Work Sans',sans-serif; font-size:0.75rem; letter-spacing:.16em; text-transform:uppercase; color:var(--body);}
html .x30{width:100%;height:100%;overflow:hidden;}
html .x31{margin:0 0 1.375rem; font-family:Raleway,sans-serif; font-weight:300; font-size:1rem; line-height:1.72; color:var(--body-c); max-width:46ch;}
html .x32{margin:0 0 2.875rem; font-family:Raleway,sans-serif; font-weight:300; font-size:1rem; line-height:1.72; color:var(--body-c); max-width:46ch;}
html .x33{display:inline-flex; align-items:center; gap:0.5625rem; color:var(--link); text-decoration:none; font-size:.85rem;}
html .x34{max-width: 82.5rem; margin: 0 auto; padding: clamp(6rem,10vw,9.375rem) clamp(1.125rem,5vw,3.5rem); display: grid; grid-template-columns: minmax(0,16.25rem) minmax(0,1fr); gap: clamp(2rem,6vw,5.625rem); align-items: start}
html .x35{position: relative; min-height: 92vh; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2.5rem,7vw,5.625rem) clamp(1.125rem,5vw,3.5rem) clamp(1.75rem,4vw,3rem); overflow: hidden}
html .x36{position:relative; display:block; width:1px; height:3.5rem; background:var(--line16); overflow:hidden;}
html .x37{display:block; min-width:.62em; text-align:center; will-change:transform; backface-visibility:hidden;}
html .x38{font-family:Raleway,sans-serif; font-weight:400; font-size:.72rem; color:var(--micro);}
html .x39{font-family:Raleway,sans-serif; font-weight:600; font-size:.92rem; color:var(--ink);}
html .x40{font-family: 'Work Sans',sans-serif; font-size: 0.625rem; letter-spacing: .16em; text-transform: uppercase; color: var(--acc); margin-bottom: 1rem}
html .x41{grid-column: span 3; padding: clamp(1.5rem,2.4vw,2.125rem); border-radius: 0px; background-color: var(--card); border: 1px solid var(--line10)}
html .x42{display: grid; grid-template-columns: repeat(auto-fit,minmax(12.5rem,1fr)); gap: 1rem; border-bottom: 0px solid var(--line8); padding: clamp(1.75rem,4vw,2.75rem) clamp(1.125rem,5vw,3.5rem)}
html .x43{position:relative; overflow:hidden; width:100%; min-height:92vh; display:flex; flex-direction:column; padding:clamp(2.5rem,7vw,5.625rem) clamp(1.125rem,5vw,3.5rem) clamp(1.75rem,4vw,3rem);}
html .x44{position:fixed; inset:0; z-index:60; background:rgba(6,8,11,.94); backdrop-filter:blur(0.625rem); display:flex; align-items:center; justify-content:center; animation:galFade .25s ease;}
html .x45{position:absolute; bottom:clamp(0.875rem,3vw,1.75rem); left:50%; transform:translateX(-50%); font-family:'Work Sans',sans-serif; font-size:0.75rem; letter-spacing:.2em; color:#aab4c2;}
html .x46{max-width: 100%; max-height: 100%; display: block; filter: grayscale(1) invert(var(--icon-invert)) brightness(1.1); width: clamp(9rem, 12vw, 15rem); height: clamp(9rem, 12vw, 15rem)}
html .x47{flex: none; width: 2.375rem; height: 2.375rem; border-radius: 0.5625rem; display: flex; align-items: center; justify-content: center; padding: 0.4375rem; background-color: #FFFFFF00}
html .x48{width: 0.5rem; height: 0.5rem; background: var(--acc); border-radius: 2px; display: none}
html .x49{margin: 0 0 1.625rem; font-family: Raleway,sans-serif; font-weight: 600; font-size: clamp(1.5rem,3vw,2.5rem); line-height: 1.16; letter-spacing: 0.015em; color: var(--head)}
html .x50{margin:0; font-family:Raleway,sans-serif; font-weight:700; font-size:clamp(1.8rem,3.6vw,3rem); line-height:1.08; letter-spacing:-.02em; color:var(--head); max-width:22ch;}
html .x51{display:inline-flex; align-items:center; gap:0.6875rem; color:var(--link); text-decoration:none; font-family:Raleway,sans-serif; font-weight:500; font-size:1.02rem;}
html .x52{display:flex; flex-wrap:wrap; justify-content:flex-end; gap:0.5rem; max-width:46%;}
html .x53{position: relative; padding: clamp(4.375rem,10vw,9.375rem) clamp(1.125rem,5vw,3.5rem); border-top: 0px solid var(--line8); border-bottom: 0px solid var(--line8)}
html .x54{width:0.9375rem;height:0.9375rem;stroke:currentColor;fill:none;display:block;}
html .x55{display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0}
html .x56{display:flex; font-family:Raleway,sans-serif; font-weight:900; font-size:clamp(3rem,5vw,4.4rem); line-height:.9; color:var(--acc); letter-spacing:-.03em;}
html .x57{flex: none; width: 2.375rem; height: 2.375rem; border-radius: 0.5625rem; display: flex; align-items: center; justify-content: center; padding: 0.4375rem}
html .x58{font-family: Raleway,sans-serif; font-weight: 700; font-size: clamp(2.4rem,3.4vw,3.4rem); color: var(--head); letter-spacing: -.03em; line-height: .9}
html .x59{width:100%; display:block;}
html .x60{font-family:Raleway,sans-serif; font-weight:700; font-size:clamp(3rem,8vw,7rem); line-height:1; color:var(--acc); opacity:.5; margin-bottom:-.15em;}
html .x61{padding:0; background:var(--card); border:1px solid var(--line10); cursor:pointer; overflow:hidden; text-align:left; aspect-ratio:4/3; min-height:180px;}
html .x62{font-family:'Work Sans',sans-serif; font-size:0.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--acc); margin-bottom:0.875rem;}
html .x63{font-family: 'Work Sans',sans-serif; font-size: 0.6875rem; letter-spacing: .22em; text-transform: uppercase; color: var(--acc); display: none}
html .x64{margin: 0; max-width: 52ch; font-size: clamp(1rem,1vw,1rem); line-height: 1.5; color: var(--head); font-weight: 100; letter-spacing: 0.1rem}
html .x65{margin:0; font-family:Raleway,sans-serif; font-weight:700; font-size:clamp(1.25rem,2vw,1.75rem); letter-spacing:-.02em; color:var(--h1);}
html .x66{display:flex; flex-direction:column; gap:2px; min-width:0;}
html .x67{margin-top:0.75rem; font-family:'Work Sans',sans-serif; font-size:.95rem; color:var(--micro); letter-spacing:.02em; min-height:1.4em;}
html .x68{display:flex; align-items:baseline; gap:1rem; border-bottom:1px solid var(--line8); padding-bottom:0.875rem; margin-bottom:1.5rem;}
html .x69{width:1.1875rem;height:1.1875rem;display:block;fill:none;stroke:currentColor;color:var(--chrome);}
html .x70{font-family:Raleway,sans-serif; font-weight:200; font-size:clamp(.95rem,1.3vw,1.2rem); color:var(--sub); margin-bottom:2.375rem;}
html .x71{margin: 0; font-size: clamp(1rem,1.15vw,1.15rem); line-height: 1.75; color: var(--body); max-width: 62ch; letter-spacing: 0.05px}
html .x72{font-family:Raleway,sans-serif; font-size:1.2rem; letter-spacing:0; color:var(--head2); font-weight:700; margin-bottom:1.625rem;}
html .x73{margin:0 0 0.875rem; max-width:52ch; font-size:1rem; line-height:1.5; color:var(--head); font-weight:100; letter-spacing:0.1rem;}
html .x74{max-width: 82.5rem; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.75rem}
html .x75{width:1.1875rem;height:1.1875rem;stroke:currentColor;fill:none;}
html .x76{font-family:'Work Sans',sans-serif; font-size:0.6875rem; letter-spacing:.2em; text-transform:uppercase; color:var(--micro);}
html .x77{font-family: Raleway; font-weight: 200; font-size: clamp(.95rem,1.3vw,1.2rem); color: var(--sub); margin-bottom: 2.375rem}
html .x78{display:flex; justify-content:space-between; align-items:flex-start; gap:1.25rem; margin-bottom:clamp(1.25rem,3vw,2rem);}
html .x79{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1.25rem; margin-bottom:2.75rem;}
html .x80{position:relative; z-index:1; flex:1; display:flex; flex-direction:column; justify-content:space-between; width:100%;}
html .x81{margin:0; max-width:52ch; font-size:1rem; line-height:1.5; color:var(--head); font-weight:100; letter-spacing:0.1rem;}
html .x82{display:grid; grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr)); gap:clamp(2.5rem,6vw,5.625rem);}
html .x83{width:100%; max-width:82.5rem; margin:0 auto; padding:clamp(3rem,6vw,5.5rem) clamp(1.125rem,5vw,3.5rem) 0;}
html .x84{font-family:Raleway,sans-serif; font-size:1.2rem; letter-spacing:0; color:var(--head2); font-weight:700;}
html .x85{color:var(--acc);}
html .x86{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:1.75rem;}
html .x87{max-width:100%; max-height:100%; display:block;}
html .x88{display:flex; align-items:center; gap:0.875rem;}
html .x89{max-width:82.5rem; margin:0 auto; padding:0 clamp(1.125rem,5vw,3.5rem) clamp(3rem,6vw,5.5rem);}
html .x90{border-top: 1px solid var(--line8); padding: clamp(2rem,1vw,2rem) clamp(1.125rem,5vw,3.5rem)}
html .x91{border-radius: 0px; overflow: hidden; border: 0px solid var(--line8)}
html .x92{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.25rem; align-items:start;}
html .x93{color: var(--head); font-weight: 500; font-size: 0.5em; letter-spacing: 0px}
html .x94{display:flex; flex-direction:column;}
html .x95{font-family:'Work Sans',sans-serif; font-size:1.1rem; color:var(--dim);}
html .x96{width:0.9375rem;height:0.9375rem;stroke:currentColor;fill:none;}
html .x97{display:grid; grid-template-columns:repeat(12,1fr); gap:1rem;}
html .x98{display:flex; flex-wrap:wrap; gap:1.5rem; align-items:center;}
html .x99{width:1.125rem;height:1.125rem;stroke:currentColor;fill:none;}
html .x100{max-width:68.75rem; margin:0 auto; text-align:center;}
html .x101{width:0.9375rem;height:0.9375rem;fill:currentColor;}
html .x102{display:flex; justify-content:center;}
html .x103{display:flex; align-items:baseline; gap:0.375rem;}
html .x104{display:flex; align-items:center; gap:1.375rem;}
html .x105{display: block; width: 100%; flex: none}
html .x106{padding-bottom:clamp(2.75rem,6vw,5rem);}
html .x107{opacity:.65; transition:opacity .2s;}
html .x108{position:sticky; top:6.875rem;}
html .x109{position:sticky; top:6.25rem;}
html .x110{height:clamp(2rem,5vw,4rem);}

/* outcome stat scales with its card, not the viewport */
html .v2-cap{container-type:inline-size;}
html .x12, html .x58{font-size:clamp(1.5rem,3.4vw,3.4rem); overflow-wrap:break-word;}
@supports (font-size:1cqi){
  html .x12, html .x58{font-size:clamp(1.5rem,13cqi,3.4rem);}
}

/* smallest screens: hide the sticky rail + scroll cue; section label becomes a normal header */
@media (max-width:560px){
  html[data-page="extreme"] .x109, html[data-page="acqueon"] .x109, html[data-page="cisco"] .x109{display:none!important;}
  .v2-hero-side{display:none!important;}
  html .x34{grid-template-columns:1fr!important; gap:1rem!important;}
  html .x108{position:static!important; top:auto!important; width:100%!important;}
  html .x84{font-family:Raleway,sans-serif!important; font-size:clamp(1.4rem,2.4vw,2rem)!important; font-weight:300!important; letter-spacing:-.01em!important; line-height:1.2!important; text-transform:none!important; color:var(--head)!important; margin:0 0 .25rem!important;}
}

/* logo + wordmark gradient inverts on light theme */
.vt-root{--logo-a:#f0f2f5; --logo-b:#9aa0a9; --logo-c:#a8bccd;}
.vt-root[data-theme="light"]{--logo-a:#5c636c; --logo-b:#2a2f36; --logo-c:#5d7a94;}

/* light theme: translucent light header on all pages */
html .vt-root[data-theme="light"]>header, html [data-theme="light"] .v2-hdr, html [data-theme="light"] header.v2-hdr{background:linear-gradient(180deg, rgba(248,249,250,.25) 0%, rgba(240,241,244,.25) 55%, rgba(232,234,238,.25) 100%)!important; box-shadow:0 0.125rem 0.5rem rgba(0,0,0,.06);}

/* clear the floating header on secondary hero sections */
.v2-hero-section, .x43{padding-top:max(6.25rem, clamp(2.5rem,7vw,5.625rem))!important;}

/* narrow viewports: header insets + centred hero media */
@media (max-width:760px){
  html .v2-hdr, .vt-root>header{left:16px!important; right:16px!important; top:0.5rem!important; padding:0 14px!important;}
  .vt-sec video, .vt-sec .bg>video{object-position:50% 50%!important;}
  .vt-sec .bg[style*="url("]{background-position:50% 50%!important;}
}

/* intrinsic sizing safety: width/height attrs reserve space without distorting */
img[width][height]{height:auto;}

/* row height equalizer: cards match the shortest in their row */
html .x92>*{align-self:start;}
html .x61 img{width:100%; height:100%; object-fit:cover; object-position:top;}

/* --- Cross-page theming parity (index .vt-root vs secondary .cs-root) --- */
/* light-theme micro copy: adopt the darker, AA-passing value on both roots */
.vt-root[data-theme="light"]{--micro:#66707f;}
/* logo gradient tokens were scoped to .vt-root only, so they never inverted on
   secondary pages — mirror them onto .cs-root */
.cs-root{--logo-a:#f0f2f5; --logo-b:#9aa0a9; --logo-c:#a8bccd;}
.cs-root[data-theme="light"]{--logo-a:#5c636c; --logo-b:#2a2f36; --logo-c:#5d7a94;}

/* --- Figma HeaderGlass --- */
html .v2-hdr{border-radius:8px!important; padding:0 31.74px!important; gap:12px;}
html .v2-hdr>div:last-child, html header>div:last-child{gap:2px!important;}
html .vt-icon, html .vt-mode-toggle{width:36px; height:36px; border-radius:8px;}
html [data-theme="light"] .v2-hdr, html .vt-root[data-theme="light"]>header{--hdr-micro:#7b828c;}
@media (max-width:760px){ html .v2-hdr, .vt-root>header{padding:0 16px!important;} }

.vt-root[data-theme="light"]{--logo-stroke:#7b828c;}

/* --- Page frame follows the theme (html/body were pinned dark) --- */
html[data-theme="light"], html[data-theme="light"] body{background:#ffffff;}
html[data-theme="dark"], html[data-theme="dark"] body{background:#0a0d12;}

/* light theme: solid wordmark instead of the gradient fill */
.vt-root[data-theme="light"] header>a span span:first-child{background:none!important; -webkit-text-fill-color:#2a2f36!important; color:#2a2f36!important;}



/* logo mark: cooler, slightly bluish gradient stops */
.vt-root header>a>svg{--logo-a:#e6ebf2; --logo-b:#8f9aab; --logo-c:#9fbcd6;}
.vt-root[data-theme="light"] header>a>svg{--logo-a:#4d5a6b; --logo-b:#2a3340; --logo-c:#4a6b8a;}

/* gallery root shares the logo/micro tokens with the other roots */
.gal-root{--logo-a:#f0f2f5; --logo-b:#9aa0a9; --logo-c:#a8bccd; --logo-stroke:#6f757e;}
.gal-root[data-theme="light"]{--logo-a:#5c636c; --logo-b:#2a2f36; --logo-c:#5d7a94; --logo-stroke:#7b828c; --hdr-micro:#7b828c;}

/* header mark: darker gradient shade */
.vt-root header>a>svg{--logo-a:#a8aeb7; --logo-b:#767d86; --logo-c:#818f9d;}
.vt-root[data-theme="light"] header>a>svg{--logo-a:#42484f; --logo-b:#262c33; --logo-c:#3f5568;}

/* light-theme header: raise micro-copy and icon contrast to AA */
html [data-theme="light"] .v2-hdr, html .vt-root[data-theme="light"]>header{--hdr-micro:#5d646e;}
.gal-root[data-theme="light"]{--hdr-micro:#5d646e;}
.vt-root[data-theme="light"]>header .vt-icon{opacity:.82;}
.vt-root[data-theme="light"]>header .vt-icon:hover{opacity:1;}

/* header: compact while scrolling */
html .v2-hdr, html .vt-root>header, html .gal-root>header{transition:height .28s cubic-bezier(.4,0,.2,1), min-height .28s cubic-bezier(.4,0,.2,1), padding .28s cubic-bezier(.4,0,.2,1), opacity .45s cubic-bezier(.16,.84,.44,1), transform .45s cubic-bezier(.16,.84,.44,1);}
html .v2-hdr.is-compact, html .vt-root>header.is-compact, html .gal-root>header.is-compact{height:48px!important; min-height:48px!important;}
html .v2-hdr.is-compact .vt-icon, html .vt-root>header.is-compact .vt-icon, html .v2-hdr.is-compact .vt-mode-toggle, html .vt-root>header.is-compact .vt-mode-toggle{width:30px; height:30px; min-width:30px; min-height:30px;}

/* type rendering: crisper, more modern edges */
html, body, .vt-root, .cs-root, .gal-root{-webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; font-synthesis:none; font-optical-sizing:auto;}
.vt-hero-title, h1, h2, h3, .v2-hero-title{letter-spacing:-.022em; text-wrap:pretty;}
.vt-hero-title, .v2-hero-title{transform:translateZ(0);}

/* header lockup micro-copy: AA contrast on the dark header */
.vt-root{--hdr-micro:#9aa1ab;}

/* header lockup: Inter per Figma spec (beats the .vt-font-modern * override) */
html .vt-root.vt-font-modern header>a span span, html .vt-root header>a span span{font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif!important;}

/* case-study media: scroll reveal */
html .med-rv{opacity:0; transform:translateY(2.25rem) scale(.985); filter:blur(0.625rem); transition:opacity .9s cubic-bezier(.16,.84,.44,1), transform .9s cubic-bezier(.16,.84,.44,1), filter .9s cubic-bezier(.16,.84,.44,1); will-change:opacity,transform,filter;}
html .med-rv.med-in{opacity:1; transform:none; filter:none;}
@media (prefers-reduced-motion:reduce){html .med-rv{opacity:1!important; transform:none!important; filter:none!important; transition:none!important;}}

/* light theme: lighter card surfaces */
html .cs-root[data-theme="light"]{--card:#fafbfc;}
html .gal-root[data-theme="light"]{--card:#fafbfc;}

html .x42 .v2-cap .x7{font-weight:300;}

/* light theme: the hero panel is a dark-context island (video, no veil) */
html .vt-root[data-theme="light"] .vt-sec[data-screen-label="Hero"] .vt-hero-title{color:#f4f7fb!important;}
html .vt-root[data-theme="light"] .vt-sec[data-screen-label="Hero"] .vt-hero-copy .reveal{color:rgba(244,247,251,.78)!important;}
html .vt-root[data-theme="light"] .vt-sec[data-screen-label="Hero"] .reveal{color:rgba(244,247,251,.78);}
html .vt-root[data-theme="light"] .vt-skip{color:rgba(17,17,17,.62)!important;}
html .vt-root[data-theme="light"] .vt-skip:hover{color:#111!important;}


/* light theme: light wash falling from the top of the hero */
html .vt-root[data-theme="light"] .vt-sec[data-screen-label="Hero"] .bg::after{content:''; position:absolute; inset:0; pointer-events:none; z-index:1; background:linear-gradient(180deg, rgb(191,219,232) -17%, rgba(166,208,225,.82) 3.2%, rgba(141,192,216,.48) 14%, rgba(129,187,213,.24) 22%, rgba(121,182,210,.09) 30%, rgba(121,182,210,0) 40%);}
html .vt-root[data-theme="light"] .vt-sec[data-screen-label="Hero"] .vt-hero-copy, html .vt-root[data-theme="light"] .vt-sec[data-screen-label="Hero"] .vt-skip{position:relative; z-index:2;}

html .vt-root[data-theme="light"] .vt-sec[data-screen-label="Hero"] video[data-noloop]{opacity:.9;}

/* one ink for the whole header row: logo stroke, icons, micro line */
.vt-root>header{--hdr-ink:var(--micro);}
.vt-root[data-theme="light"]>header{--hdr-ink:rgba(17,17,17,.62);}
.vt-root[data-theme="light"]>header>a span:first-child{color:#2a2f36!important;}
.vt-root[data-theme="light"]>header .vt-icon:hover, .vt-root[data-theme="light"]>header .vt-icon:hover svg{color:#111111!important;}
.vt-root>header .vt-icon, html .vt-root>header .vt-icon svg, html .vt-root>header .x69{color:var(--hdr-ink)!important;}
.vt-root>header .vt-icon{opacity:1!important;}
.vt-root:not([data-theme="light"])>header .vt-icon:hover, .vt-root:not([data-theme="light"])>header .vt-icon:hover svg{color:#ffffff!important;}
.vt-root>header>a span{color:var(--hdr-ink)!important;}
.vt-root:not([data-theme="light"])>header>a span:first-child{color:rgba(255,255,255,.8)!important;}


/* mobile hero: break after "product" and "user" */
.vt-hero-br{display:inline;}
@media (max-width:760px){ .vt-hero-br::after{content:"\A"; white-space:pre;} }

/* mobile: align Skip intro to the header's right edge */
@media (max-width:760px){ html .vt-skip{right:16px!important;} }

/* mobile: lift hero copy */
@media (max-width:760px){ html .vt-hero-copy{margin-top:-6rem!important;} }

/* very small screens: header keeps the lockup and the theme toggle only */
@media (max-width:420px){
  html .vt-root>header .vt-icon.x107, html .v2-hdr .vt-icon.x107{display:none!important;}
}

/* mobile: intro loader mirrors Skip Intro on the left */
@media (max-width:760px){ html .vt-vidload{left:16px!important;} }

/* very small screens: header links move to the hero foot */
@media (max-width:420px){ html .vt-hero-links{display:flex!important;} }
html .vt-hero-links .vt-icon, html .vt-hero-links .vt-icon svg{color:var(--micro)!important;}
html .vt-hero-links .vt-icon:hover, html .vt-hero-links .vt-icon:hover svg{color:var(--ink)!important;}

/* small screens: the About heading wraps instead of forcing horizontal scroll */
@media (max-width:760px){
  html .vt-sec[data-screen-label="About"] h2{white-space:normal!important;}
  html .vt-sec[data-screen-label="About"] .bg>div{overflow-x:hidden!important;}
}

/* small screens: About scrolls inside its own container, so its cards must not rely on the
   section-entry animation to become visible (they were stuck at scale .7 / hidden, leaving a gap) */
@media (max-width:760px){
  html .vt-sec[data-screen-label="About"] .reveal{opacity:1!important; visibility:visible!important; transform:none!important;}
}

/* small screens: keep the section counter, moved under the header on the right; hidden on the hero */
@media (max-width:760px){
  html .vt-counter{display:flex!important; left:auto!important; right:16px!important; bottom:auto!important; top:calc(1rem + 64px + 1.25rem)!important; flex-direction:column!important; align-items:center!important; gap:0.5rem!important;}
  html .vt-counter.vt-counter-hero{display:none!important;}
}

/* small screens: 12-column outcome grid stacks one card per row */
@media (max-width:760px){
  html .x97{grid-template-columns:1fr!important;}
  html .x97>*{grid-column:1 / -1!important;}
}

/* small screens: gallery thumbs fit the viewport (min-height + 4:3 forced a 240px min width) */
@media (max-width:760px){
  html .x92{grid-template-columns:repeat(2, minmax(0, 1fr))!important;}
  html .x92>*{min-width:0!important;}
  html .x61{min-height:0!important;}
}
@media (max-width:420px){
  html .x92{grid-template-columns:minmax(0, 1fr)!important;}
}

/* small screens: hero eyebrow gets the full line, chips sit under it in a single row */
@media (max-width:760px){
  html .x78{flex-direction:column!important; align-items:stretch!important; gap:0.75rem!important;}
  html .x78 .x28{max-width:none!important;}
  html .x52{justify-content:flex-start!important; max-width:none!important; flex-wrap:wrap!important;}
}

/* small screens: case hero title uses the available width */
@media (max-width:760px){
  html .v2-hero-title{font-size:clamp(2.75rem, 12.5vw, 4.25rem)!important; line-height:1.02!important;}
}

/* small screens: halve the empty space the case/gallery hero spreads around its title */
@media (max-width:760px){
  html .v2-hero-section, html .x43{min-height:70dvh!important;}
}
