/* Gate 2.2: brand-derived hero sculpture and a continuous connected ecosystem.
 * Scoped to the corporate shell. Official logo assets remain unchanged. */
.wv-site { --wv-muted: #b0c1d4; }
.wv-site .wv-brand img { width: 52px; height: 52px; border-radius: 10px; }
.wv-site .wv-brand { gap: .85rem; }
.wv-site .wv-brand strong { font-size: 1.55rem; letter-spacing: .13em; }
.wv-site .wv-brand small { font-size: .72rem; }
.wv-site .wv-header__inner { min-height: 88px; }
.wv-site .wv-navigation__access { position: relative; gap: 1.3rem; padding-top: .8rem; }
.wv-site .wv-navigation__product-label { position: absolute; left: 1.5rem; top: -.35rem; color: var(--wv-muted); font-size: .62rem; font-weight: 600; letter-spacing: .12em; }
.wv-site .wv-navigation__access .wv-button { min-height: 42px; padding: .5rem 1rem; font-size: .85rem; }
.wv-site .wv-home-hero { background: radial-gradient(ellipse at 78% 53%, #16445c55, transparent 46%), radial-gradient(ellipse at 37% 94%, #15392e22, transparent 49%), #060c17; }
.wv-site .wv-home-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(90deg, transparent 0 119px, #548ab30a 120px); mask-image: linear-gradient(90deg, transparent 20%, #000); }
.wv-site .wv-home-hero__grid { position: relative; grid-template-columns: 1.05fr 1.1fr; gap: 0; padding-block: 3.5rem; min-height: 725px; }
.wv-site .wv-home-hero__copy { position: relative; z-index: 2; }
.wv-site .wv-home-hero h1 { font-size: clamp(3.3rem, 5.1vw, 5.5rem); }
.wv-site .wv-home-hero h1 span { background: linear-gradient(100deg, #9aeca4, #54e7bf 68%, #64d8e9); background-clip: text; -webkit-background-clip: text; color: transparent; }
.wv-site .wv-home-hero .wv-lead { color: #b7c6d7; font-size: 1.08rem; max-width: 43ch; }
.wv-site .wv-eyebrow { font-size: .8rem; letter-spacing: .13em; }
.wv-site .wv-hero-baseline { font-size: .8rem; }
.wv-site .wv-engineering--sculpture { min-height: 600px; padding: 0; perspective: 1100px; }
.wv-site .wv-art-plane { position: absolute; pointer-events: none; inset: 13% 5% 14%; border: 1px solid #4a87982b; transform: rotateX(9deg) rotateY(-14deg) rotateZ(-7deg); }
.wv-site .wv-art-plane--back { inset: 9% 1% 17% 10%; border-color: #5180a91d; background: repeating-linear-gradient(0deg, transparent 0 39px, #4a87ad0b 40px), repeating-linear-gradient(90deg, transparent 0 39px, #4a87ad0b 40px); }
.wv-site .wv-art-plane--front { border-left: 0; border-bottom: 0; transform: translate(12px, 18px) rotateX(9deg) rotateY(-14deg) rotateZ(-7deg); opacity: .5; }
.wv-site .wv-art-sculpture { width: 118%; margin-left: -5%; transform: translate(var(--wv-art-x, 0px), var(--wv-art-y, 0px)) rotateX(7deg) rotateY(-12deg) rotateZ(-5deg); transform-style: preserve-3d; }
.wv-site .wv-art-svg { width: 100%; height: auto; display: block; overflow: visible; filter: drop-shadow(0 20px 14px #0005); }
.wv-site .wv-art-label { position: absolute; display: flex; align-items: flex-start; gap: .6rem; font-size: .7rem; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; color: #c4e3e8; }
.wv-site .wv-art-label::after { content: ''; position: absolute; height: 1px; width: 42px; background: linear-gradient(90deg, #6bdab4a0, transparent); top: 26px; left: 14px; transform-origin: left center; transform: rotate(48deg); }
.wv-site .wv-art-label small { display: block; color: #a5b9cd; font-size: .67rem; font-weight: 400; text-transform: none; letter-spacing: 0; margin-top: .3rem; }
.wv-site .wv-art-label__node { width: 5px; height: 5px; border: 1px solid #68d1be; background: #111e2a; transform: rotate(45deg); margin-top: .4rem; flex-shrink: 0; }
.wv-site .wv-art-label--software { top: 11%; left: 5%; }
.wv-site .wv-art-label--knowledge { top: 9%; right: 0; }
.wv-site .wv-art-label--knowledge::after { transform: rotate(135deg); width: 40px; }
.wv-site .wv-art-label--automation { bottom: 11%; right: 0; }
.wv-site .wv-art-label--automation::after { transform: rotate(-135deg); }
.wv-site .wv-engineering--sculpture figcaption { bottom: 0; left: 5%; font-size: .72rem; line-height: 1.7; color: #9eb2c8; }
.wv-site .wv-art-motion-control { position: absolute; bottom: 0; right: 0; color: #b4c7d9; padding: .6rem .4rem; background: transparent; border: 0; border-bottom: 1px solid #405b70; font-size: .72rem; }
.wv-site .wv-section { position: relative; border-top-color: #293a5060; }
.wv-site .wv-company { background: radial-gradient(ellipse at 8% 16%, #1944551c, transparent 50%); }
.wv-site .wv-company::before, .wv-site .wv-future::before { content: ''; position: absolute; top: 0; bottom: 0; left: max(1rem, calc((100% - 1240px) / 2)); width: 1px; background: linear-gradient(180deg, transparent, #3ddfc525, transparent); pointer-events: none; }
.wv-site .wv-section-index { font-size: .75rem; letter-spacing: .05em; }
.wv-site .wv-section-index > span:first-child { position: relative; padding-left: 1rem; }
.wv-site .wv-section-index > span:first-child::before { content: ''; position: absolute; left: 0; top: .4rem; width: 4px; height: 4px; background: var(--wv-cyan); transform: rotate(45deg); }
.wv-site .wv-home-ecosystem { background: radial-gradient(ellipse at 21% 66%, #103e4845, transparent 47%), radial-gradient(ellipse at 88% 22%, #24396235, transparent 44%); }
.wv-site .wv-ecosystem-origin { border-top-color: #405d7266; margin-top: 2rem; font-size: .8rem; padding-block: 1.8rem; }
.wv-site .wv-ecosystem-origin > span:first-child { font-weight: 650; letter-spacing: .17em; }
.wv-site .wv-home-ecosystem .wv-ecosystem { position: relative; isolation: isolate; background: transparent; border: 0; column-gap: 4rem; row-gap: 2.5rem; grid-template-columns: 1.45fr 1fr; padding-top: 1.5rem; }
.wv-site .wv-ecosystem-wiring { position: absolute; top: 1.5rem; left: calc(59.183673% - 2.367347rem); width: 4rem; height: calc(100% - 1.5rem); pointer-events: none; z-index: -1; color: #53b9b3; opacity: .58; }
.wv-site .wv-home-ecosystem .wv-product { position: relative; border: 0; background: transparent; padding: 2rem 0 2rem 2rem; }
.wv-site .wv-home-ecosystem .wv-product--primary { padding: 2.7rem; min-height: 580px; background: radial-gradient(ellipse at 20% 0, #1b61633b, transparent 60%), linear-gradient(135deg, #102337ee, #0a1525ee); border-left: 1px solid #4bb99d80; overflow: visible; }
.wv-site .wv-home-ecosystem .wv-product--primary::before { content: ''; position: absolute; inset: 0; pointer-events: none; border-top: 1px solid #80d5bd55; border-bottom: 1px solid #39577966; background: repeating-linear-gradient(90deg, transparent 0 79px, #4275860a 80px); clip-path: polygon(0 0, 89% 0, 100% 13%, 100% 100%, 0 100%); }
.wv-site .wv-home-ecosystem .wv-product--primary::after { content: ''; position: absolute; width: 10px; height: 10px; border: 1px solid var(--wv-green); background: #102231; top: 50%; right: -5px; transform: rotate(45deg); }
.wv-site .wv-home-ecosystem .wv-product--academy, .wv-site .wv-home-ecosystem .wv-product--robotics { border-top: 1px solid #41617b66; padding-left: 2rem; }
.wv-site .wv-home-ecosystem .wv-product--academy::before, .wv-site .wv-home-ecosystem .wv-product--robotics::before { content: ''; position: absolute; width: 8px; height: 8px; border: 1px solid #5ba7ba; background: var(--wv-bg); left: -4px; top: 50%; transform: rotate(45deg); }
.wv-site .wv-home-ecosystem .wv-product h3 { letter-spacing: -.035em; }
.wv-site .wv-home-ecosystem .wv-product--primary h3 { font-size: clamp(3rem, 5.2vw, 5rem); }
.wv-site .wv-home-ecosystem .wv-product--primary .wv-product__main { padding-top: 2rem; }
.wv-site .wv-home-ecosystem .wv-product--academy h3, .wv-site .wv-home-ecosystem .wv-product--robotics h3 { font-size: clamp(1.6rem, 2.5vw, 2.3rem); }
.wv-site .wv-product__domain { font-size: .72rem; }
.wv-site .wv-status { font-size: .8rem; }
.wv-site .wv-os-connection { font-size: .8rem; gap: .8rem; }
.wv-site .wv-os-connection b { border-radius: 0; background: linear-gradient(135deg, #307d6833, #21519b22); box-shadow: 7px 7px 0 #060c1770; width: 70px; height: 70px; font-size: 1.3rem; }
.wv-site .wv-home-capabilities { background: radial-gradient(ellipse at 78% 54%, #17345332, transparent 55%), linear-gradient(180deg, #0d1725, #060c17); }
.wv-site .wv-home-showcase { background: radial-gradient(ellipse at 20% 30%, #18404726, transparent 47%); }
.wv-site .wv-product-stage { border-color: #325a6b88; background: radial-gradient(ellipse at 20% 20%, #1f5d6c45, transparent 65%), repeating-linear-gradient(90deg, transparent 0 89px, #438fff09 90px), #0b1725; }
.wv-site .wv-future { background: radial-gradient(ellipse at 90% 80%, #23425540, transparent 55%), #080f1b; }
.wv-site .wv-future__paths { border-bottom: 1px solid #293a5080; }
.wv-site .wv-future__paths a > span, .wv-site .wv-future__paths small { font-size: .85rem; }
.wv-site .wv-contact-email { font-size: .9rem; }
@media (max-width: 1100px) and (min-width: 961px) {
  .wv-site .wv-home-hero h1 { font-size: 4.3vw; }
  .wv-site .wv-navigation { gap: 1.1rem; }
  .wv-site .wv-art-label { font-size: .6rem; }
  .wv-site .wv-art-label small { font-size: .6rem; }
  .wv-site .wv-art-label--knowledge { right: -1rem; }
}
@media (max-width: 960px) {
  .wv-site .wv-navigation__access { padding-top: 1.5rem; gap: 1.2rem; }
  .wv-site .wv-navigation__product-label { top: 0; left: 0; }
  .wv-site .wv-home-hero__grid { grid-template-columns: 1fr; min-height: auto; padding-block: 2.5rem; }
  .wv-site .wv-home-hero h1 { font-size: clamp(3rem, 7.8vw, 5rem); }
  .wv-site .wv-engineering--sculpture { width: min(100%, 540px); min-height: 500px; margin-top: 2rem; }
  .wv-site .wv-art-sculpture { width: 110%; margin-left: -3%; }
  .wv-site .wv-art-label--knowledge { right: 0; }
  .wv-site .wv-home-ecosystem .wv-ecosystem { column-gap: 2.5rem; }
  .wv-site .wv-ecosystem-wiring { left: calc(59.183673% - 1.479592rem); width: 2.5rem; }
  .wv-site .wv-home-ecosystem .wv-product--primary { padding: 1.8rem; }
  .wv-site .wv-home-ecosystem .wv-product { padding-left: 1rem; }
}
@media (max-width: 600px) {
  .wv-site .wv-brand img { width: 46px; height: 46px; }
  .wv-site .wv-brand strong { font-size: 1.35rem; }
  .wv-site .wv-brand small { font-size: .68rem; }
  .wv-site .wv-header__inner { min-height: 78px; }
  .wv-site .wv-home-hero__grid { padding-top: 1.75rem; padding-bottom: 1.5rem; }
  .wv-site .wv-home-hero h1 { font-size: clamp(2.5rem, 9.8vw, 3.7rem); margin-top: 1rem; margin-bottom: 1.4rem; }
  .wv-site .wv-home-hero .wv-eyebrow { font-size: .68rem; }
  .wv-site .wv-home-hero .wv-lead { font-size: .96rem; line-height: 1.65; }
  .wv-site .wv-home-hero .wv-actions { display: flex; flex-direction: row; gap: .6rem 1.1rem; align-items: center; margin-top: 1.6rem; }
  .wv-site .wv-home-hero .wv-button { font-size: .83rem; padding: .7rem .85rem; gap: .65rem; }
  .wv-site .wv-home-hero .wv-text-link { font-size: .82rem; gap: .5rem; }
  .wv-site .wv-engineering--sculpture { min-height: 305px; margin-top: .5rem; }
  .wv-site .wv-art-sculpture { width: 105%; margin-left: -3%; }
  .wv-site .wv-art-label { font-size: .62rem; gap: .4rem; letter-spacing: .05em; }
  .wv-site .wv-art-label small { font-size: .6rem; max-width: 140px; line-height: 1.35; }
  .wv-site .wv-art-label--software { top: 3%; left: 4%; }
  .wv-site .wv-art-label--knowledge { top: 1%; right: 0; }
  .wv-site .wv-art-label--automation { bottom: 8%; right: 0; }
  .wv-site .wv-engineering--sculpture figcaption { font-size: .65rem; bottom: 0; line-height: 1.4; left: 0; max-width: 175px; }
  .wv-site .wv-art-label::after { width: 20px; top: 20px; }
  .wv-site .wv-hero-baseline { font-size: .7rem; }
  .wv-site .wv-home-ecosystem .wv-ecosystem { grid-template-columns: 1fr; row-gap: 1.5rem; padding-left: 1.3rem; }
  .wv-site .wv-ecosystem-wiring { display: none; }
  .wv-site .wv-home-ecosystem .wv-ecosystem::before { content: ''; position: absolute; top: 0; bottom: 15%; left: 0; width: 1px; background: linear-gradient(180deg, #57e8b580, #438fff55); }
  .wv-site .wv-home-ecosystem .wv-product--primary { min-height: 415px; padding: 1.6rem; }
  .wv-site .wv-home-ecosystem .wv-product--primary::after { left: -1.65rem; right: auto; top: 2rem; }
  .wv-site .wv-home-ecosystem .wv-product--academy, .wv-site .wv-home-ecosystem .wv-product--robotics { padding: 1.7rem 0 1rem 1rem; }
  .wv-site .wv-home-ecosystem .wv-product--academy::before, .wv-site .wv-home-ecosystem .wv-product--robotics::before { top: 2rem; left: -1.55rem; }
  .wv-site .wv-home-ecosystem .wv-product--academy::after, .wv-site .wv-home-ecosystem .wv-product--robotics::after { content: ''; position: absolute; left: -1.3rem; top: 2.25rem; height: 1px; width: 1.6rem; background: #448c9c88; }
  .wv-site .wv-product__domain { font-size: .64rem; }
  .wv-site .wv-ecosystem-origin { font-size: .72rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .wv-site .wv-art-motion-enabled .wv-art-energy path { stroke-dasharray: 9 91; animation: wv-circuit-pass 9s linear 2; }
  .wv-site .wv-art-motion-enabled .wv-art-energy path:nth-child(2) { animation-delay: -3s; }
  .wv-site .wv-art-motion-enabled .wv-art-energy path:nth-child(3) { animation-delay: -6s; }
  .wv-site .wv-art-motion-enabled .wv-art-face-signal { stroke-dasharray: 5 95; animation: wv-circuit-pass 11s linear 2; }
  .wv-site .wv-art-motion-enabled .wv-art-nodes { animation: wv-node-react 9s ease 2; }
  .wv-site .wv-art-motion-paused .wv-art-energy path, .wv-site .wv-art-motion-paused .wv-art-face-signal, .wv-site .wv-art-offscreen .wv-art-energy path, .wv-site .wv-art-offscreen .wv-art-face-signal, .wv-site .wv-art-motion-paused .wv-art-nodes, .wv-site .wv-art-offscreen .wv-art-nodes { animation-play-state: paused; }
  @keyframes wv-circuit-pass { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
  @keyframes wv-node-react { 0%, 60%, 100% { opacity: .65; } 70% { opacity: 1; } }
}
@media (max-width: 600px) {
  .wv-site .wv-art-energy path, .wv-site .wv-art-face-signal { animation: none; stroke-dasharray: none; opacity: .55; }
}
@media (prefers-reduced-motion: reduce) {
  .wv-site .wv-art-energy path, .wv-site .wv-art-face-signal { animation: none !important; stroke-dasharray: none; opacity: .55; }
  .wv-site .wv-art-sculpture { animation: none !important; }
}

/* Gate 3: restrained finishing, no change to hero composition. */
.wv-site .wv-brand img { border: 1px solid #315061; border-radius: 12px; padding: 3px; background: #0b1520; }
.wv-site .wv-art-face-signal { filter: drop-shadow(0 0 1px #b0fff577); }
@media (min-width: 1101px) {
 .wv-site .wv-art-label { font-size: .76rem; }
 .wv-site .wv-art-label small { font-size: .72rem; color: #c1d3e5; }
}
