:root{
  --ink-950:#0F172A; --ink-800:#1B2A45; --ink-700:#33415A; --ink-500:#5B6B85;
  --steel:#C0C7D1; --blue:#2563EB; --cyan:#06B6D4;
  --paper:#F5F7FA; --paper-raised:#FFFFFF;
  --line:#DCE1E8; --line-strong:#C7CEDA;
  --text-primary:#0F172A; --text-secondary:#33415A; --text-muted:#5B6B85;
  --surface:#F5F7FA; --surface-raised:#FFFFFF;
  --hero-bg:#0F172A; --hero-text:#EEF2F8; --hero-text-dim:#9FB0C9;
  --cap-accent:#0E7490;
  --shadow-card:0 1px 2px rgba(15,23,42,0.05), 0 8px 24px -12px rgba(15,23,42,0.18);
}
@media (prefers-color-scheme: dark){
  :root{
    --text-primary:#EDF1F7; --text-secondary:#AEBAD0; --text-muted:#7A899F;
    --surface:#0D1526; --surface-raised:#141F36;
    --line:rgba(192,199,209,0.14); --line-strong:rgba(192,199,209,0.26);
    --hero-bg:#080D1A; --hero-text:#EEF2F8; --hero-text-dim:#8595AF;
    --cap-accent:#7FE3F5;
    --shadow-card:0 1px 2px rgba(0,0,0,0.3), 0 12px 28px -14px rgba(0,0,0,0.55);
  }
}
:root[data-theme="dark"]{
  --text-primary:#EDF1F7; --text-secondary:#AEBAD0; --text-muted:#7A899F;
  --surface:#0D1526; --surface-raised:#141F36;
  --line:rgba(192,199,209,0.14); --line-strong:rgba(192,199,209,0.26);
  --hero-bg:#080D1A; --hero-text:#EEF2F8; --hero-text-dim:#8595AF;
  --cap-accent:#7FE3F5;
  --shadow-card:0 1px 2px rgba(0,0,0,0.3), 0 12px 28px -14px rgba(0,0,0,0.55);
}
:root[data-theme="light"]{
  --text-primary:#0F172A; --text-secondary:#33415A; --text-muted:#5B6B85;
  --surface:#F5F7FA; --surface-raised:#FFFFFF;
  --line:#DCE1E8; --line-strong:#C7CEDA;
  --hero-bg:#0F172A; --hero-text:#EEF2F8; --hero-text-dim:#9FB0C9;
  --cap-accent:#0E7490;
  --shadow-card:0 1px 2px rgba(15,23,42,0.05), 0 8px 24px -12px rgba(15,23,42,0.18);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;}
.vt-page{font-family:'Archivo',ui-sans-serif,system-ui,sans-serif;color:var(--text-primary);background:var(--surface);line-height:1.65;}
.vt-mono{font-family:'JB Mono',ui-monospace,'SFMono-Regular',Consolas,monospace;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;}
img{max-width:100%;}

/* nav */
.vt-nav{position:sticky;top:0;z-index:20;background:var(--hero-bg);border-bottom:0.5px solid rgba(192,199,209,0.14);}
.vt-nav-inner{max-width:1120px;margin:0 auto;padding:0.9rem 1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.vt-nav-brand{display:flex;align-items:center;}
.vt-nav-brand img{height:22px;width:auto;display:block;}
.vt-nav-links{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.vt-nav-links a{font-family:'JB Mono',monospace;font-size:10.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--hero-text-dim);text-decoration:none;}
.vt-nav-links a:hover,.vt-nav-links a[aria-current="page"]{color:var(--hero-text);}
.vt-nav-contact-mobile{display:none;}
.vt-nav-cta{font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;padding:7px 14px;border-radius:6px;background:var(--cyan);color:#04303B;text-decoration:none;white-space:nowrap;}

.vt-nav-toggle{display:none;width:34px;height:34px;border-radius:6px;border:0.5px solid rgba(192,199,209,0.3);background:transparent;position:relative;cursor:pointer;flex-shrink:0;}
.vt-nav-toggle span,.vt-nav-toggle span::before,.vt-nav-toggle span::after{content:"";position:absolute;left:8px;right:8px;height:1.5px;background:var(--hero-text);transition:transform 0.18s ease, opacity 0.18s ease;}
.vt-nav-toggle span{top:16px;}
.vt-nav-toggle span::before{top:-6px;}
.vt-nav-toggle span::after{top:6px;}
.vt-nav.open .vt-nav-toggle span{background:transparent;}
.vt-nav.open .vt-nav-toggle span::before{transform:translateY(6px) rotate(45deg);}
.vt-nav.open .vt-nav-toggle span::after{transform:translateY(-6px) rotate(-45deg);}

@media (max-width:920px){
  .vt-nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
    background:var(--hero-bg);border-top:0.5px solid rgba(192,199,209,0.14);
    padding:0.5rem 1.75rem 1rem;margin:0;
  }
  .vt-nav-links li{width:100%;}
  .vt-nav-links a{display:block;padding:0.7rem 0;border-bottom:0.5px solid rgba(192,199,209,0.1);}
  .vt-nav.open .vt-nav-links{display:flex;}
  .vt-nav-inner{position:relative;flex-wrap:wrap;}
  .vt-nav-toggle{display:block;order:3;}
  .vt-nav-brand{order:1;}
  .vt-lang-switch{order:2;margin-inline-start:auto;margin-inline-end:0.75rem;}
  .vt-nav-cta{display:none;}
  .vt-nav-contact-mobile{display:block;}
}
@media (max-width:400px){.vt-lang-switch{display:none;}}

.vt-lang-switch{display:flex;align-items:center;gap:5px;font-family:'JB Mono',monospace;font-size:10.5px;letter-spacing:0.03em;}
.vt-lang-switch a{color:var(--hero-text-dim);text-decoration:none;}
.vt-lang-switch a:hover{color:var(--hero-text);}
.vt-lang-switch a.on{color:var(--hero-text);font-weight:700;}
.vt-lang-switch i{font-style:normal;opacity:0.35;color:var(--hero-text-dim);}

/* page header (subpages) */
.vt-pagehead{background:var(--hero-bg);color:var(--hero-text);padding:3.25rem 1.75rem 3rem;}
.vt-pagehead-inner{max-width:760px;margin:0 auto;text-align:center;}
.vt-eyebrow{font-family:'JB Mono',monospace;font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--cap-accent);display:block;margin-bottom:1rem;}
.vt-pagehead h1{font-size:clamp(1.9rem,4.4vw,2.6rem);font-weight:700;letter-spacing:-0.025em;line-height:1.15;margin:0 0 0.85rem;text-wrap:balance;}
.vt-pagehead p{font-size:1rem;color:var(--hero-text-dim);max-width:56ch;margin:0 auto;text-wrap:balance;}

/* hero (home only) */
.vt-hero{position:relative;background:var(--hero-bg);color:var(--hero-text);padding:5.5rem 1.75rem 4.5rem;overflow:hidden;}
.vt-hero-strip{position:absolute;inset:0;opacity:0.55;pointer-events:none;}
.vt-hero-strip svg{width:100%;height:100%;}
.vt-hero-fade{position:absolute;inset:0;background:linear-gradient(180deg, transparent 0%, var(--hero-bg) 88%);pointer-events:none;}
.vt-hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto;text-align:center;}
.vt-hero h1{font-size:clamp(2.4rem,6vw,3.75rem);font-weight:700;letter-spacing:-0.03em;line-height:1.05;margin:0 0 1.1rem;text-wrap:balance;}
.vt-hero p.vt-lede{font-size:1.08rem;color:var(--hero-text-dim);max-width:52ch;margin:0 auto 2rem;text-wrap:balance;}
.vt-hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:2rem;}
.vt-hero-meta{font-family:'JB Mono',monospace;font-size:11px;letter-spacing:0.04em;color:var(--hero-text-dim);}

/* buttons */
.vt-btn{font-family:'Archivo',sans-serif;font-size:14px;font-weight:700;padding:12px 22px;border-radius:7px;text-decoration:none;display:inline-block;transition:transform 0.15s ease, opacity 0.15s ease;}
.vt-btn:hover{transform:translateY(-1px);}
.vt-btn.p{background:var(--cyan);color:#04303B;}
.vt-btn.s{border:1px solid rgba(192,199,209,0.35);color:var(--hero-text);}
@media (prefers-reduced-motion: reduce){.vt-btn{transition:none;}}

/* shell / sections */
.vt-shell{max-width:1120px;margin:0 auto;padding:0 1.75rem;}
.vt-section{padding:5rem 0;border-top:0.5px dashed var(--line-strong);}
.vt-section:first-of-type{border-top:none;}
.vt-section.dark{background:var(--hero-bg);color:var(--hero-text);border-top:none;}
.vt-section.tight{padding:3.5rem 0;}
.vt-sec-head{margin:0 auto 2.4rem;max-width:640px;text-align:center;}
.vt-sec-head.left{margin:0 0 2.2rem;text-align:start;max-width:none;}
.vt-sec-num{font-family:'JB Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--cap-accent);display:block;margin-bottom:0.7rem;}
.vt-section h2{font-size:clamp(1.5rem,3.2vw,2rem);font-weight:700;letter-spacing:-0.02em;margin:0 0 0.9rem;text-wrap:balance;}
.vt-section-intro{font-size:0.98rem;color:var(--text-secondary);margin:0;text-wrap:balance;}
.vt-section.dark .vt-section-intro{color:var(--hero-text-dim);}
.vt-prose p{font-size:0.98rem;color:var(--text-secondary);max-width:64ch;margin:0 0 1.1rem;}
.vt-prose p:last-child{margin-bottom:0;}

/* card base */
.vt-card{background:var(--surface-raised);border:0.5px solid var(--line);border-radius:10px;box-shadow:var(--shadow-card);}

/* about: vision/mission rows */
.vt-pillar-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.vt-pillar{padding:1.6rem 1.5rem;}
.vt-pillar .tag{font-family:'JB Mono',monospace;font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:var(--cap-accent);display:block;margin-bottom:0.6rem;}
.vt-pillar h3{font-size:1.15rem;font-weight:700;letter-spacing:-0.01em;margin:0 0 0.6rem;}
.vt-pillar p{font-size:0.95rem;color:var(--text-secondary);margin:0;line-height:1.6;}
@media (max-width:700px){.vt-pillar-grid{grid-template-columns:1fr;}}

/* model — four ticks */
.vt-model-wrap{display:flex;gap:2.5rem;align-items:center;flex-wrap:wrap;justify-content:center;}
.vt-model-mark{width:110px;height:110px;flex-shrink:0;}
.vt-model-grid{flex:1;min-width:280px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.vt-model-tile{background:var(--surface-raised);border:0.5px solid var(--line);border-radius:10px;padding:1.1rem 1.2rem;box-shadow:var(--shadow-card);}
.vt-model-tile .sw{width:20px;height:6px;border-radius:2px;display:block;margin-bottom:10px;}
.vt-model-tile h4{font-size:13.5px;font-weight:700;margin:0 0 4px;}
.vt-model-tile p{font-size:12px;color:var(--text-muted);margin:0;line-height:1.55;}
@media (max-width:640px){.vt-model-grid{grid-template-columns:1fr;}}

/* index strip */
.vt-strip-card{background:rgba(255,255,255,0.03);border:0.5px solid rgba(192,199,209,0.16);border-radius:12px;padding:1.75rem 1.5rem;}
.vt-strip-legend{display:flex;gap:20px;margin-top:1.1rem;font-size:12px;color:var(--hero-text-dim);flex-wrap:wrap;justify-content:center;}
.vt-strip-legend .sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin-inline-end:6px;vertical-align:-1px;}

/* grid cards: services / industries / why */
.vt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.vt-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.vt-tile{background:var(--surface-raised);border:0.5px solid var(--line);border-radius:10px;padding:1.4rem 1.3rem;box-shadow:var(--shadow-card);}
.vt-tile .icn{width:26px;height:26px;margin-bottom:0.9rem;}
.vt-tile .num{font-family:'JB Mono',monospace;font-size:10.5px;color:var(--cap-accent);letter-spacing:0.04em;display:block;margin-bottom:0.6rem;}
.vt-tile h4{font-size:14px;font-weight:700;margin:0 0 6px;letter-spacing:-0.005em;}
.vt-tile p{font-size:12.5px;color:var(--text-muted);margin:0;line-height:1.6;}
@media (max-width:860px){.vt-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.vt-grid,.vt-grid.cols-2{grid-template-columns:1fr;}}

/* approach: numbered steps */
.vt-steps{display:flex;flex-direction:column;}
.vt-step{display:grid;grid-template-columns:64px 1fr;gap:1.5rem;padding:1.75rem 0;border-top:0.5px solid var(--line);}
.vt-step:first-child{border-top:none;padding-top:0;}
.vt-step .n{font-family:'JB Mono',monospace;font-size:13px;color:var(--cap-accent);}
.vt-step .sw{width:24px;height:7px;border-radius:2px;display:block;margin-top:8px;}
.vt-step h4{font-size:1.05rem;font-weight:700;margin:0 0 6px;letter-spacing:-0.01em;}
.vt-step p{font-size:0.94rem;color:var(--text-secondary);margin:0;max-width:60ch;}
@media (max-width:600px){.vt-step{grid-template-columns:1fr;gap:0.5rem;}}

/* case studies */
.vt-case-grid{display:grid;grid-template-columns:1fr;gap:14px;}
.vt-case{padding:1.75rem;display:grid;grid-template-columns:200px 1fr;gap:1.75rem;align-items:start;}
.vt-case .tag{font-family:'JB Mono',monospace;font-size:9.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--cap-accent);display:block;margin-bottom:8px;}
.vt-case .sector{font-size:13px;font-weight:700;line-height:1.4;}
.vt-case .meta{font-size:11.5px;color:var(--text-muted);margin-top:4px;}
.vt-case h4{font-size:1.05rem;font-weight:700;margin:0 0 8px;letter-spacing:-0.01em;}
.vt-case p{font-size:0.93rem;color:var(--text-secondary);margin:0;max-width:62ch;}
.vt-case-note{font-family:'JB Mono',monospace;font-size:10.5px;color:var(--text-muted);text-align:center;margin-top:1rem;}
@media (max-width:660px){.vt-case{grid-template-columns:1fr;}}

/* contact */
.vt-contact-card{max-width:560px;margin:0 auto;text-align:center;padding:2.25rem 2rem;}
.vt-contact-card .mail{font-family:'JB Mono',monospace;font-size:1.05rem;font-weight:500;color:var(--blue);text-decoration:none;display:inline-block;margin:0.9rem 0 1.5rem;}
.vt-contact-card .loc{font-size:12.5px;color:var(--text-muted);}
.vt-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:640px;margin:0 auto;}
.vt-contact-grid .vt-tile{text-align:start;}

/* footer */
.vt-footer{background:var(--hero-bg);color:var(--hero-text-dim);padding:2.5rem 1.75rem;}
.vt-footer-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.vt-footer-brand img{height:18px;width:auto;display:block;}
.vt-footer-links{display:flex;gap:1.2rem;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.vt-footer-links a{font-family:'JB Mono',monospace;font-size:10px;letter-spacing:0.04em;text-transform:uppercase;color:var(--hero-text-dim);text-decoration:none;}
.vt-brand{text-transform:none;}
.vt-footer-links a:hover{color:var(--hero-text);}
.vt-footer p.copy{font-family:'JB Mono',monospace;font-size:10.5px;letter-spacing:0.05em;margin:0;width:100%;text-align:center;padding-top:1.5rem;margin-top:1.5rem;border-top:0.5px solid rgba(192,199,209,0.14);}
