:root {
  --v8-navy-1000:#010813;
  --v8-navy-950:#020b18;
  --v8-navy-900:#031326;
  --v8-navy-850:#051a31;
  --v8-navy-800:#08233f;
  --v8-blue:#0b7cff;
  --v8-blue-light:#46a9ff;
  --v8-cyan:#22d3ee;
  --v8-green:#61d76d;
  --v8-white:#fff;
  --v8-muted:#b8cae0;
  --v8-border:rgba(82,163,236,.38);
  --v8-card:rgba(6,27,52,.78);
  --v8-ease:cubic-bezier(.22,1,.36,1);
  --v8-container:min(1440px,calc(100% - 96px));
}

html { scroll-behavior:smooth; }
body.home-v8 { color:var(--v8-white); background:var(--v8-navy-950); }
body.home-v8 main { overflow:hidden; }
body.home-v8 .container,.v8-container { width:var(--v8-container); margin-inline:auto; }
body.home-v8 .design-switcher { display:none!important; }
.skip-link { position:fixed; z-index:500; top:8px; left:8px; padding:12px 18px; transform:translateY(-150%); border-radius:8px; color:#fff; background:var(--v8-blue); }
.skip-link:focus { transform:none; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.v8-icon { display:inline-grid; width:28px; height:28px; place-items:center; color:var(--v8-blue-light); flex:0 0 auto; }
.v8-icon svg { width:100%; height:100%; }
.v8-section { position:relative; isolation:isolate; min-height:900px; padding:120px 0; overflow:hidden; }
.v8-section h1,.v8-section h2,.v8-section h3,.v8-section p { color:inherit; }
.v8-section h2 { margin:0; font-size:clamp(46px,4.2vw,68px); line-height:1.06; letter-spacing:-.04em; }
.v8-section-header { max-width:900px; margin-bottom:58px; }
.v8-section-header p,.v8-section-copy>p { max-width:860px; margin:24px 0 0; color:var(--v8-muted); font-size:26px; line-height:1.55; }
.v8-centered { margin-inline:auto; text-align:center; }
.v8-centered p { margin-inline:auto; }
.v8-index { display:inline-flex; margin-bottom:28px; align-items:center; gap:28px; color:var(--v8-blue-light); font-size:20px; font-weight:750; letter-spacing:.08em; }
.v8-index::after { width:54px; height:3px; content:""; background:linear-gradient(90deg,var(--v8-green),var(--v8-cyan)); }
.v8-accent-line { display:block; width:112px; height:4px; margin:28px 0 24px; background:linear-gradient(90deg,var(--v8-green) 0 34%,var(--v8-blue) 34%); }
.reveal { opacity:0; transform:translateY(26px); transition:opacity .7s var(--v8-ease),transform .7s var(--v8-ease); }
.reveal.visible { opacity:1; transform:none; }

/* Home-only header */
body.home-v8[data-design="2"] .v8-site-header { position:fixed; z-index:200; inset:0 0 auto; height:112px; border-bottom:1px solid rgba(129,180,227,.22); color:#fff; background:rgba(1,11,25,.88); backdrop-filter:blur(18px); }
.home-v8 .v8-site-header .nav-wrap { display:flex; height:112px; align-items:center; gap:36px; }
.home-v8 .v8-site-header .brand { width:230px; height:58px; padding:0; border-radius:0; background:transparent; }
.home-v8 .v8-site-header .brand img { width:100%; height:100%; object-fit:contain; filter:grayscale(1) brightness(0) invert(1); }
.home-v8 .v8-site-header .site-nav { display:flex; margin-left:auto; align-items:center; gap:30px; }
body.home-v8[data-design="2"] .v8-site-header .site-nav>a { position:relative; padding:42px 0 37px; color:rgba(255,255,255,.84); font-size:15px; font-weight:550; }
.home-v8 .v8-site-header .site-nav>a::after { position:absolute; right:0; bottom:28px; left:0; height:3px; transform:scaleX(0); transform-origin:left; content:""; background:var(--v8-blue-light); transition:transform .25s var(--v8-ease); }
.home-v8 .v8-site-header .site-nav>a:hover::after,.home-v8 .v8-site-header .site-nav>a[aria-current="page"]::after { transform:scaleX(1); }
body.home-v8[data-design="2"] .v8-site-header .site-nav .nav-cta { min-height:auto; margin:0; padding:14px 20px; border:1px solid rgba(74,169,255,.55); border-radius:10px; color:#fff; background:rgba(11,124,255,.16); }
.home-v8 .v8-site-header .site-nav .nav-cta::after { display:none; }
.v8-nav-utilities { display:flex; padding-left:22px; border-left:1px solid rgba(255,255,255,.2); align-items:center; gap:16px; }
.v8-nav-utilities button { display:grid; width:40px; height:40px; padding:9px; border:0; border-radius:50%; color:#fff; background:transparent; place-items:center; cursor:pointer; }
.v8-nav-utilities button:hover,.v8-nav-utilities button:focus-visible { background:rgba(56,163,255,.16); outline:2px solid var(--v8-blue-light); outline-offset:2px; }
.v8-nav-utilities span { color:#fff; font-size:14px; white-space:nowrap; }

/* 01 Hero */
.v8-hero { min-height:960px; padding:112px 0 0; background:linear-gradient(90deg,rgba(1,11,25,.96) 0%,rgba(2,18,37,.77) 38%,rgba(2,17,34,.05) 70%),url('/public/images/designs/hero-smart-energy-city-v3.webp') center/cover no-repeat; }
.v8-hero::after { position:absolute; z-index:-1; inset:auto 0 0; height:270px; content:""; background:linear-gradient(transparent,rgba(0,9,20,.86)); }
.v8-hero-grid { display:grid; grid-template-columns:48fr 52fr; min-height:720px; padding-top:70px; align-items:center; }
.v8-hero-copy { position:relative; z-index:5; padding-bottom:60px; }
.v8-hero-copy h1 { max-width:720px; margin:0; color:#fff; background:none; font-size:clamp(44px,2.75vw,50px); line-height:1.1; letter-spacing:-.04em; text-shadow:none; -webkit-text-fill-color:#fff; }
.v8-hero-copy h1 span { display:block; }
.v8-hero-copy>p { max-width:640px; margin:0; color:#d2deeb; font-size:22px; line-height:1.55; }
.v8-actions { display:grid; max-width:560px; margin-top:38px; grid-template-columns:1fr 1fr; gap:14px; }
.v8-btn { display:flex; min-height:62px; padding:0 20px; border:1px solid rgba(119,184,240,.6); border-radius:10px; align-items:center; justify-content:center; gap:12px; color:#fff; background:rgba(3,23,45,.58); box-shadow:0 14px 36px rgba(0,0,0,.18); font-size:18px; font-weight:760; text-align:center; transition:transform .28s var(--v8-ease),border-color .28s var(--v8-ease),background .28s var(--v8-ease),box-shadow .28s var(--v8-ease); }
.v8-btn-primary { border-color:#1986ff; background:linear-gradient(135deg,#075ddd,#0b7cff); box-shadow:0 14px 40px rgba(11,124,255,.32); }
.v8-btn:hover { transform:translateY(-4px); border-color:var(--v8-blue-light); box-shadow:0 20px 55px rgba(11,124,255,.3); }
.v8-btn:focus-visible,.v8-tabs button:focus-visible,.v8-portfolio-card:focus-visible,.v8-inquiry-link:focus-visible { outline:3px solid var(--v8-cyan); outline-offset:4px; }
.v8-btn:active { transform:translateY(-1px); }
.v8-hero-products { position:relative; z-index:3; min-height:650px; align-self:end; }
.v8-product-lineup { position:absolute; right:-22%; bottom:72px; width:155%; max-width:none; height:auto; object-fit:contain; filter:drop-shadow(0 30px 25px rgba(0,0,0,.58)) drop-shadow(0 0 30px rgba(40,139,255,.15)); }
@media (min-width:1281px) {
  .v8-hero-copy h1 span { white-space:nowrap; }
}
.v8-hero-categories { position:relative; z-index:6; display:grid; min-height:112px; grid-template-columns:repeat(5,1fr); align-items:start; gap:20px; }
.v8-hero-categories>span { display:flex; align-items:center; flex-direction:column; gap:9px; text-align:center; }
.v8-hero-categories b { max-width:190px; color:#e9f4ff; font-size:18px; line-height:1.3; }

/* 02 Challenges */
.v8-challenges { background:radial-gradient(circle at 82% 46%,rgba(12,104,201,.25),transparent 35%),linear-gradient(120deg,#020b18,#042044); }
.v8-split-layout { display:grid; grid-template-columns:56fr 44fr; min-height:660px; align-items:center; }
.v8-section-copy { position:relative; z-index:3; padding-right:48px; }
.v8-challenge-grid { display:grid; max-width:790px; margin-top:42px; grid-template-columns:repeat(3,1fr); gap:16px; }
.v8-challenge-card { display:flex; min-height:185px; padding:26px 20px; border:1px solid var(--v8-border); border-radius:14px; align-items:center; justify-content:center; flex-direction:column; text-align:center; background:linear-gradient(145deg,rgba(7,34,67,.8),rgba(3,19,38,.72)); box-shadow:inset 0 1px rgba(255,255,255,.04); }
.v8-challenge-card .v8-icon { width:50px; height:50px; margin-bottom:18px; }
.v8-challenge-card h3 { margin:0; font-size:24px; line-height:1.35; font-weight:600; }
.v8-bridge { display:flex; max-width:760px; margin-top:30px; padding:20px 22px; border-left:2px solid var(--v8-blue); align-items:center; gap:18px; background:rgba(4,25,50,.5); }
.v8-bridge .v8-icon { width:40px; height:40px; color:var(--v8-green); }
.v8-bridge p { margin:0; color:#d6e3f0; font-size:23px; line-height:1.5; }
.v8-challenge-visual { position:absolute; z-index:-1; inset:0 0 0 52%; overflow:hidden; }
.v8-challenge-visual::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,#031326 0%,rgba(3,19,38,.28) 38%,rgba(3,19,38,.12)),linear-gradient(0deg,rgba(2,11,24,.3),transparent 45%); }
.v8-challenge-visual>img:first-child { width:100%; height:100%; object-fit:cover; }

/* 03 Values */
.v8-values { background:linear-gradient(rgba(2,11,24,.78),rgba(2,11,24,.92)),url('/public/images/company/vestwoods-global-market-network.webp') center bottom/cover no-repeat; }
.v8-value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.v8-value-card { position:relative; display:flex; min-height:212px; padding:28px; border:1px solid var(--v8-border); border-radius:15px; align-items:center; justify-content:center; flex-direction:column; text-align:center; background:linear-gradient(160deg,rgba(8,36,70,.78),rgba(3,17,35,.72)); box-shadow:0 16px 44px rgba(0,0,0,.14); transition:transform .3s var(--v8-ease),border-color .3s var(--v8-ease),box-shadow .3s var(--v8-ease); }
.v8-value-card::before { position:absolute; top:-1px; left:38%; width:24%; height:2px; content:""; background:linear-gradient(90deg,transparent,var(--v8-blue-light),transparent); }
.v8-value-card:hover { transform:translateY(-6px); border-color:rgba(70,169,255,.78); box-shadow:0 22px 58px rgba(11,124,255,.16); }
.v8-value-card .v8-icon { width:55px; height:55px; margin-bottom:18px; }
.v8-value-card h3 { margin:0; font-size:26px; line-height:1.25; }
.v8-value-card p { max-width:300px; margin:12px 0 0; color:var(--v8-muted); font-size:20px; line-height:1.5; }

/* 04 Why */
.v8-why { background:radial-gradient(circle at 78% 35%,rgba(23,102,183,.16),transparent 35%),#031326; }
.v8-why-layout { display:grid; grid-template-columns:54fr 46fr; gap:30px; align-items:stretch; }
.v8-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.v8-why-card { display:flex; min-height:160px; padding:26px; border:1px solid var(--v8-border); border-radius:13px; align-items:flex-start; gap:22px; background:rgba(6,29,56,.68); }
.v8-why-card .v8-icon { width:48px; height:48px; padding:8px; border:1px solid rgba(56,163,255,.26); border-radius:50%; background:rgba(11,124,255,.08); }
.v8-why-card h3 { margin:0 0 10px; font-size:24px; }
.v8-why-card p { margin:0; color:var(--v8-muted); font-size:20px; line-height:1.5; }
.v8-why-visual { position:relative; min-height:512px; margin:0; overflow:hidden; border:1px solid var(--v8-border); border-radius:16px; }
.v8-why-visual::after { position:absolute; inset:45% 0 0; content:""; background:linear-gradient(transparent,rgba(2,11,24,.94)); }
.v8-why-visual img { width:100%; height:100%; object-fit:cover; }
.v8-why-visual figcaption { position:absolute; z-index:2; right:34px; bottom:30px; left:34px; }
.v8-why-visual strong { display:block; font-size:28px; }
.v8-why-visual span { display:block; margin-top:8px; color:var(--v8-muted); font-size:18px; }

/* 05 Portfolio */
.v8-portfolio { background:linear-gradient(140deg,#020b18,#061d38); }
.v8-portfolio::after { position:absolute; z-index:-1; right:-10%; bottom:-120px; left:-10%; height:340px; content:""; opacity:.45; background:repeating-radial-gradient(ellipse at center,transparent 0 36px,rgba(11,124,255,.24) 38px 40px,transparent 42px 68px); transform:perspective(500px) rotateX(65deg); }
.v8-portfolio-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.v8-portfolio-card { display:flex; min-width:0; overflow:hidden; border:1px solid var(--v8-border); border-radius:15px; color:#fff; flex-direction:column; background:linear-gradient(160deg,rgba(8,38,74,.92),rgba(3,19,38,.94)); box-shadow:0 16px 42px rgba(0,0,0,.17); transition:transform .3s var(--v8-ease),border-color .3s var(--v8-ease),box-shadow .3s var(--v8-ease); }
.v8-portfolio-card:hover { transform:translateY(-7px); border-color:var(--v8-blue-light); box-shadow:0 26px 65px rgba(11,124,255,.21); }
.v8-portfolio-media { height:260px; overflow:hidden; }
.v8-portfolio-media img { width:100%; height:100%; object-fit:cover; transition:transform .55s var(--v8-ease); }
.v8-portfolio-card:hover img { transform:scale(1.045); }
.v8-portfolio-body { display:flex; min-height:360px; padding:25px 22px; flex-direction:column; }
.v8-portfolio-body .v8-icon { width:34px; height:34px; margin-bottom:13px; }
.v8-portfolio-body h3 { min-height:62px; margin:0; font-size:26px; line-height:1.25; }
.v8-portfolio-body p { margin:13px 0 0; color:var(--v8-muted); font-size:20px; line-height:1.5; }
.v8-portfolio-body strong { display:block; margin-top:18px; padding:14px 0; border-top:1px solid rgba(106,161,211,.27); border-bottom:1px solid rgba(106,161,211,.2); color:var(--v8-blue-light); font-size:18px; line-height:1.45; }
.v8-portfolio-body>b { margin-top:auto; padding-top:22px; color:var(--v8-blue-light); font-size:18px; }

/* 06 Solutions */
.v8-solutions { background:radial-gradient(circle at 50% 35%,rgba(11,91,176,.18),transparent 42%),#020b18; }
.v8-tabs { display:flex; overflow-x:auto; border:1px solid var(--v8-border); border-radius:14px 14px 0 0; background:rgba(4,22,43,.8); scrollbar-width:none; }
.v8-tabs::-webkit-scrollbar { display:none; }
.v8-tabs button { display:flex; min-width:215px; min-height:78px; padding:0 22px; border:0; border-right:1px solid rgba(88,151,208,.25); align-items:center; justify-content:center; gap:12px; color:#c5d4e4; background:transparent; font:650 18px/1.25 inherit; cursor:pointer; transition:color .25s var(--v8-ease),background .25s var(--v8-ease),box-shadow .25s var(--v8-ease); }
.v8-tabs button.active { color:#fff; background:linear-gradient(180deg,rgba(11,124,255,.22),rgba(11,124,255,.05)); box-shadow:inset 0 -3px var(--v8-blue); }
.v8-tabs button .v8-icon { width:25px; height:25px; }
.v8-solution-panel { display:grid; overflow:hidden; border:1px solid var(--v8-border); border-top:0; border-radius:0 0 15px 15px; grid-template-columns:32fr 40fr 28fr; color:#fff; background:rgba(3,18,36,.82); }
.v8-solution-panel.is-changing { animation:v8-panel-in .48s var(--v8-ease); }
@keyframes v8-panel-in { from { opacity:.45; transform:translateY(10px); } }
.v8-solution-scene { position:relative; min-height:500px; overflow:hidden; }
.v8-solution-scene::after { position:absolute; inset:42% 0 0; content:""; background:linear-gradient(transparent,rgba(2,11,24,.96)); }
.v8-solution-scene img { width:100%; height:100%; min-height:500px; object-fit:cover; }
.v8-solution-scene>div { position:absolute; z-index:2; right:30px; bottom:28px; left:30px; }
.v8-solution-scene h3 { margin:0; font-size:30px; }
.v8-solution-scene p { margin:12px 0 0; color:var(--v8-muted); font-size:20px; line-height:1.5; }
.v8-architecture,.v8-solution-detail { padding:34px 28px; border-left:1px solid rgba(89,151,207,.25); }
.v8-architecture h3,.v8-solution-detail h3,.v8-benefits h3 { margin:0; font-size:24px; }
.v8-system-map { position:relative; min-height:405px; margin-top:20px; overflow:hidden; border:1px solid rgba(56,163,255,.25); border-radius:14px; background:radial-gradient(circle at 50% 42%,rgba(11,124,255,.13),transparent 42%),linear-gradient(rgba(56,163,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(56,163,255,.045) 1px,transparent 1px),rgba(2,17,34,.72); background-size:auto,28px 28px,28px 28px,auto; }
.v8-map-lines { position:absolute; z-index:1; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.v8-map-edge { fill:none; stroke:#38a3ff; stroke-width:2.6; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 5px rgba(56,163,255,.58)); }
.v8-map-edge.data { stroke:#3cdb82; stroke-width:2; stroke-dasharray:7 6; filter:drop-shadow(0 0 4px rgba(60,219,130,.45)); }
.v8-map-edge.bypass { stroke:#f6b84a; stroke-width:2; stroke-dasharray:8 6; filter:drop-shadow(0 0 4px rgba(246,184,74,.4)); }
#v8-arrow-power path { fill:#38a3ff; }
#v8-arrow-data path { fill:#3cdb82; }
#v8-arrow-bypass path { fill:#f6b84a; }
.v8-map-node { position:absolute; z-index:2; left:var(--node-x); top:var(--node-y); display:grid; width:126px; min-height:72px; padding:9px 10px; border:1px solid rgba(75,165,247,.36); border-radius:10px; color:#eaf5ff; background:linear-gradient(145deg,rgba(8,42,80,.97),rgba(3,20,39,.97)); box-shadow:0 12px 28px rgba(0,0,0,.28); place-items:center; gap:5px; text-align:center; transform:translate(-50%,-50%); }
.v8-map-node.accent { border-color:rgba(34,211,238,.78); background:linear-gradient(145deg,rgba(9,87,156,.96),rgba(4,37,70,.98)); box-shadow:0 0 24px rgba(11,124,255,.22); }
.v8-map-node .v8-icon { width:26px; height:26px; color:var(--v8-blue-light); }
.v8-map-node.accent .v8-icon { color:var(--v8-cyan); }
.v8-map-node b { font-size:14px; line-height:1.25; }
.v8-map-legend { display:flex; margin-top:14px; flex-wrap:wrap; gap:18px; color:#a9bdd0; font-size:13px; }
.v8-map-legend span { display:flex; align-items:center; gap:7px; }
.v8-map-legend [hidden] { display:none; }
.v8-map-legend span::before { width:24px; height:2px; content:""; background:#38a3ff; }
.v8-map-legend .data::before { height:0; border-top:2px dashed #3cdb82; background:none; }
.v8-map-legend .bypass::before { height:0; border-top:2px dashed #f6b84a; background:none; }
.v8-solution-detail { display:flex; flex-direction:column; justify-content:center; gap:24px; }
.v8-insight-block { padding:22px; border:1px solid rgba(73,159,239,.22); border-radius:13px; background:rgba(7,33,63,.58); }
.v8-insight-list { display:grid; margin-top:16px; gap:10px; }
.v8-insight-list article { display:flex; min-height:58px; padding:11px 12px; border:1px solid rgba(106,161,211,.2); border-radius:9px; align-items:center; gap:11px; background:rgba(255,255,255,.035); }
.v8-insight-list .v8-icon { width:26px; height:26px; flex:0 0 auto; }
.v8-insight-list.pain .v8-icon { color:#ff727a; }
.v8-insight-list.benefit .v8-icon { color:#3cdb82; }
.v8-insight-list p { margin:0; color:#d7e5f2; font-size:17px; line-height:1.35; }

/* 07 Capability */
.v8-capability { background:radial-gradient(circle at 68% 28%,rgba(16,99,190,.18),transparent 36%),linear-gradient(140deg,#031326,#020b18); }
.v8-capability-grid { display:grid; grid-template-columns:1fr 1.08fr; gap:20px; }
.v8-counter-panel { display:grid; border:1px solid var(--v8-border); border-radius:15px; grid-template-columns:1fr 1fr; background:rgba(6,29,56,.66); }
.v8-counter-panel>div { display:flex; min-height:170px; padding:28px; border-right:1px solid rgba(85,151,211,.25); border-bottom:1px solid rgba(85,151,211,.25); align-items:center; justify-content:center; flex-direction:column; text-align:center; }
.v8-counter-panel>div:nth-child(2n) { border-right:0; }
.v8-counter-panel>div:nth-child(n+3) { border-bottom:0; }
.v8-counter-panel strong { color:var(--v8-blue-light); font-size:46px; line-height:1; }
.v8-counter-panel span { margin-top:12px; color:var(--v8-muted); font-size:18px; }
.v8-feature-product { display:grid; overflow:hidden; border:1px solid var(--v8-border); border-radius:15px; color:#fff; grid-template-columns:.95fr 1.05fr; background:linear-gradient(145deg,rgba(7,35,68,.94),rgba(3,17,34,.9)); transition:transform .3s var(--v8-ease),border-color .3s var(--v8-ease); }
.v8-feature-product:hover { transform:translateY(-5px); border-color:var(--v8-blue-light); }
.v8-feature-product img { width:100%; height:100%; min-height:360px; padding:22px; object-fit:contain; filter:drop-shadow(0 22px 18px rgba(0,0,0,.4)); }
.v8-feature-product>div { display:flex; padding:32px; justify-content:center; flex-direction:column; }
.v8-feature-product span { color:var(--v8-blue-light); font-size:17px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.v8-feature-product h3 { margin:14px 0 0; font-size:30px; line-height:1.25; }
.v8-feature-product p { margin:15px 0 0; color:var(--v8-muted); font-size:20px; line-height:1.5; }
.v8-feature-product b { margin-top:22px; color:var(--v8-blue-light); font-size:18px; }
.v8-faq { grid-column:1/-1; padding:32px; border:1px solid var(--v8-border); border-radius:15px; background:rgba(5,25,49,.74); }
.v8-faq>h3 { margin:0 0 16px; font-size:25px; }
.v8-faq-item { border-top:1px solid rgba(90,151,207,.24); }
.v8-faq-item h4 { margin:0; }
.v8-faq-item button { display:flex; width:100%; min-height:72px; padding:0; border:0; align-items:center; justify-content:space-between; color:#e8f3ff; background:transparent; font:650 20px/1.4 inherit; text-align:left; cursor:pointer; }
.v8-faq-item button:focus-visible { outline:2px solid var(--v8-cyan); outline-offset:4px; }
.v8-faq-item button span { color:var(--v8-blue-light); font-size:22px; }
.v8-faq-item>div p { max-width:1000px; margin:0; padding:0 0 24px; color:var(--v8-muted); font-size:20px; line-height:1.6; }

/* 08 Inquiry */
.v8-inquiry { background:linear-gradient(90deg,rgba(2,11,24,.96),rgba(3,22,44,.84)),url('/public/images/company/vestwoods-global-market-network.webp') left bottom/72% auto no-repeat; }
.v8-inquiry-grid { display:grid; grid-template-columns:1.06fr .94fr; gap:54px; align-items:center; }
.v8-brand-word { color:#dceeff; font-size:19px; font-weight:850; letter-spacing:.08em; }
.v8-inquiry-copy h2 { max-width:720px; margin:26px 0 0; font-size:clamp(52px,4.6vw,72px); line-height:1.05; letter-spacing:-.045em; }
.v8-inquiry-copy>p { max-width:680px; margin:0; color:var(--v8-muted); font-size:24px; line-height:1.55; }
.v8-inquiry-links { display:grid; margin-top:34px; grid-template-columns:repeat(3,1fr); gap:14px; }
.v8-inquiry-link { position:relative; min-height:168px; padding:23px; border:1px solid var(--v8-border); border-radius:12px; color:#fff; background:rgba(7,32,61,.72); transition:transform .3s var(--v8-ease),background .3s var(--v8-ease),box-shadow .3s var(--v8-ease); }
.v8-inquiry-link.active,.v8-inquiry-link:hover { transform:translateY(-5px); background:linear-gradient(145deg,#075ddd,#0b7cff); box-shadow:0 18px 46px rgba(11,124,255,.28); }
.v8-inquiry-link h3 { margin:15px 0 0; font-size:24px; }
.v8-inquiry-link p { margin:7px 0 0; color:#cbdced; font-size:18px; }
.v8-inquiry-link i { position:absolute; right:20px; top:50%; font-style:normal; }
.v8-quick-contact { display:grid; margin-top:18px; padding-top:18px; border-top:1px solid rgba(96,155,209,.3); grid-template-columns:repeat(3,1fr); gap:12px; }
.v8-quick-contact a { display:grid; padding:10px; color:#fff; grid-template-columns:36px 1fr; column-gap:9px; }
.v8-quick-contact .v8-icon { grid-row:1/3; width:34px; height:34px; }
.v8-quick-contact b { font-size:18px; }
.v8-quick-contact small { color:var(--v8-muted); font-size:15px; }
.v8-form { padding:38px; border:1px solid rgba(94,166,231,.48); border-radius:18px; background:linear-gradient(150deg,rgba(11,42,78,.88),rgba(4,22,43,.88)); box-shadow:0 30px 90px rgba(0,0,0,.3); backdrop-filter:blur(16px); }
.v8-form-heading { display:flex; margin-bottom:26px; align-items:center; gap:18px; }
.v8-form-heading>.v8-icon { width:66px; height:66px; padding:15px; border-radius:50%; color:#fff; background:linear-gradient(145deg,#075ddd,#0b7cff); }
.v8-form-heading h3 { margin:0; font-size:28px; }
.v8-form-heading p { margin:6px 0 0; color:var(--v8-muted); font-size:18px; line-height:1.5; }
.v8-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.v8-form label { display:grid; gap:8px; color:#e9f4ff; font-size:17px; font-weight:700; }
.v8-form .v8-full { grid-column:1/-1; }
.v8-form input,.v8-form select,.v8-form textarea { width:100%; min-height:58px; padding:14px 15px; border:1px solid rgba(114,169,220,.42); border-radius:9px; color:#fff; background:rgba(4,24,47,.58); font:400 18px/1.4 inherit; outline:0; transition:border-color .22s ease,box-shadow .22s ease,background .22s ease; }
.v8-form textarea { min-height:112px; resize:vertical; }
.v8-form input::placeholder,.v8-form textarea::placeholder { color:#8fa5bb; }
.v8-form select option { color:#071b33; background:#fff; }
.v8-form input:focus,.v8-form select:focus,.v8-form textarea:focus { border-color:var(--v8-blue-light); background:rgba(6,34,65,.82); box-shadow:0 0 0 3px rgba(56,163,255,.14); }
.v8-form .v8-consent { display:flex; margin:16px 0; align-items:flex-start; grid-template-columns:auto 1fr; gap:10px; color:#c0d1e2; font-size:16px; font-weight:500; line-height:1.5; }
.v8-consent input { width:18px; min-height:18px; padding:0; }
.v8-submit { width:100%; border:0; cursor:pointer; }
.v8-form-trust { display:grid; margin-top:20px; padding-top:18px; border-top:1px solid rgba(98,156,209,.27); grid-template-columns:repeat(3,1fr); }
.v8-form-trust>span { display:flex; padding:0 12px; border-right:1px solid rgba(98,156,209,.25); align-items:center; justify-content:center; gap:8px; text-align:center; }
.v8-form-trust>span:last-child { border-right:0; }
.v8-form-trust .v8-icon { width:27px; height:27px; }
.v8-form-trust b { font-size:16px; line-height:1.3; }

/* Search and floating tools */
.v8-tools { position:fixed; z-index:180; right:22px; bottom:24px; display:grid; gap:10px; }
.v8-tools button,.v8-tools a { display:grid; width:50px; height:50px; padding:12px; border:1px solid rgba(75,165,247,.55); border-radius:50%; color:#fff; background:rgba(4,28,54,.88); box-shadow:0 12px 35px rgba(0,0,0,.25); place-items:center; cursor:pointer; backdrop-filter:blur(12px); }
.v8-tools button:hover,.v8-tools a:hover { background:var(--v8-blue); }
.v8-search { width:min(680px,calc(100% - 32px)); padding:0; border:1px solid var(--v8-border); border-radius:18px; color:#fff; background:#06172d; box-shadow:0 30px 100px rgba(0,0,0,.55); }
.v8-search::backdrop { background:rgba(0,6,14,.78); backdrop-filter:blur(7px); }
.v8-search form { position:relative; padding:38px; }
.v8-search h2 { margin:0 0 20px; font-size:32px; }
.v8-search-close { position:absolute; top:18px; right:18px; width:40px; height:40px; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.08); font-size:24px; cursor:pointer; }
.v8-search input { width:100%; min-height:58px; padding:0 18px; border:1px solid var(--v8-border); border-radius:10px; color:#fff; background:rgba(2,15,31,.72); outline:0; }
.v8-search input:focus { border-color:var(--v8-blue-light); box-shadow:0 0 0 3px rgba(56,163,255,.14); }
.v8-search [data-search-results] { display:grid; margin-top:18px; }
.v8-search [data-search-results] a { display:flex; min-height:52px; border-bottom:1px solid rgba(99,154,205,.2); align-items:center; justify-content:space-between; color:#dceafb; }

.home-v8 .site-footer { background:#010914; }

@media (max-width:1280px) {
  :root { --v8-container:min(1440px,calc(100% - 64px)); }
  .home-v8 .v8-site-header .site-nav { gap:18px; }
  .home-v8 .v8-site-header .site-nav>a { font-size:13px; }
  .v8-nav-utilities { display:none; }
  .v8-hero-grid { grid-template-columns:48fr 52fr; }
  .v8-portfolio-grid { grid-template-columns:repeat(3,1fr); }
  .v8-portfolio-card:nth-child(n+4) { min-height:0; }
  .v8-solution-panel { grid-template-columns:32fr 40fr 28fr; }
}

@media (max-width:1050px) {
  :root { --v8-container:min(100% - 48px,960px); }
  .v8-section { min-height:auto; padding:100px 0; }
  .home-v8 .v8-site-header,.home-v8 .v8-site-header .nav-wrap { height:82px; }
  .home-v8 .v8-site-header .brand { width:185px; height:48px; }
  .home-v8 .v8-site-header .site-nav { top:82px; }
  .home-v8 .v8-site-header .nav-toggle { display:grid; margin-left:auto; }
  body.home-v8[data-design="2"] .v8-site-header .site-nav { position:fixed; inset:82px 0 auto; display:grid; gap:0; margin:0; padding:18px 24px 28px; transform:translateY(-130%); border-bottom:1px solid rgba(82,163,236,.35); background:rgba(1,11,25,.98); box-shadow:0 24px 60px rgba(0,0,0,.28); }
  body.home-v8[data-design="2"] .v8-site-header .site-nav.open { transform:translateY(0); }
  body.home-v8[data-design="2"] .v8-site-header .site-nav>a { padding:13px 4px; color:#fff; font-size:15px; }
  body.home-v8[data-design="2"] .v8-site-header .site-nav>a::after { display:none; }
  body.home-v8[data-design="2"] .v8-site-header .site-nav .nav-cta { margin-top:8px; text-align:center; }
  .v8-hero { min-height:900px; padding-top:82px; }
  .v8-hero-grid { grid-template-columns:1fr; min-height:760px; padding-top:80px; }
  .v8-hero-copy { max-width:690px; padding-bottom:360px; }
  .v8-hero-products { position:absolute; right:4%; bottom:92px; width:62%; min-height:430px; }
  .v8-product { bottom:0; }
  .v8-hero-categories { min-height:90px; }
  .v8-split-layout { grid-template-columns:1fr; }
  .v8-section-copy { padding-right:0; }
  .v8-challenge-visual { opacity:.26; inset:0; }
  .v8-value-grid { grid-template-columns:repeat(2,1fr); }
  .v8-why-layout { grid-template-columns:1fr; }
  .v8-why-visual { min-height:440px; }
  .v8-portfolio-grid { grid-template-columns:repeat(2,1fr); }
  .v8-solution-panel { grid-template-columns:1fr 1fr; }
  .v8-solution-detail { grid-column:1/-1; display:grid; border-top:1px solid rgba(89,151,207,.25); grid-template-columns:1fr 1fr; }
  .v8-benefits { grid-column:1/-1; }
  .v8-capability-grid,.v8-inquiry-grid { grid-template-columns:1fr; }
  .v8-form { max-width:760px; }
}

@media (max-width:760px) {
  :root { --v8-container:min(100% - 32px,680px); }
  .v8-section { padding:82px 0; }
  .v8-section h2 { font-size:38px; }
  .v8-section-header { margin-bottom:38px; }
  .v8-section-header p,.v8-section-copy>p { font-size:20px; }
  .v8-index { margin-bottom:18px; font-size:18px; }
  .v8-hero { min-height:auto; background-position:63% center; }
  .v8-hero::before { position:absolute; z-index:-1; inset:0; content:""; background:linear-gradient(180deg,rgba(1,11,25,.94),rgba(1,11,25,.54) 55%,rgba(1,11,25,.9)); }
  .v8-hero-grid { min-height:auto; padding:92px 0 430px; }
  .v8-hero-copy { padding:0; }
  .v8-hero-copy h1 { font-size:38px; line-height:1.1; }
  .v8-hero-copy h1 span { display:inline; }
  .v8-hero-copy h1 span:not(:last-child)::after { content:" "; }
  .v8-hero-copy>p { font-size:18px; }
  .v8-actions { grid-template-columns:1fr; }
  .v8-btn { min-height:56px; }
  .v8-hero-products { right:-4%; bottom:110px; width:108%; min-height:330px; }
  .v8-product-lineup { right:-56%; bottom:90px; width:220%; }
  .v8-hero-categories { display:flex; min-height:94px; margin-bottom:12px; overflow-x:auto; gap:10px; scrollbar-width:none; }
  .v8-hero-categories>span { min-width:135px; }
  .v8-challenge-grid { grid-template-columns:1fr; }
  .v8-challenge-card { min-height:132px; }
  .v8-value-grid,.v8-why-grid,.v8-portfolio-grid { grid-template-columns:1fr; }
  .v8-value-card { min-height:190px; }
  .v8-why-card { min-height:140px; }
  .v8-why-visual { min-height:360px; }
  .v8-portfolio-media { height:240px; }
  .v8-portfolio-body { min-height:300px; }
  .v8-tabs { margin-right:-16px; }
  .v8-tabs button { min-width:170px; min-height:64px; padding:0 16px; }
  .v8-solution-panel { grid-template-columns:1fr; }
  .v8-solution-scene,.v8-solution-scene img { min-height:390px; height:390px; }
  .v8-architecture,.v8-solution-detail { border-top:1px solid rgba(89,151,207,.25); border-left:0; }
  .v8-solution-detail { grid-column:auto; display:flex; }
  .v8-system-map { min-height:430px; }
  .v8-map-node { width:112px; }
  .v8-counter-panel { grid-template-columns:1fr 1fr; }
  .v8-counter-panel>div { min-height:140px; padding:20px; }
  .v8-counter-panel strong { font-size:38px; }
  .v8-feature-product { grid-template-columns:1fr; }
  .v8-feature-product img { min-height:280px; height:280px; }
  .v8-inquiry-copy h2 { font-size:42px; }
  .v8-inquiry-links,.v8-quick-contact { grid-template-columns:1fr; }
  .v8-inquiry-link { min-height:132px; }
  .v8-form { padding:25px 20px; }
  .v8-form-grid { grid-template-columns:1fr; }
  .v8-form .v8-full { grid-column:auto; }
  .v8-form-trust { grid-template-columns:1fr; gap:10px; }
  .v8-form-trust>span { min-height:42px; border-right:0; }
}

@media (max-width:430px) {
  :root { --v8-container:calc(100% - 28px); }
  .home-v8 .v8-site-header .brand { width:172px; }
  .v8-hero-copy h1,.v8-inquiry-copy h2 { font-size:38px; }
  .v8-hero-grid { padding-bottom:375px; }
  .v8-hero-products { bottom:100px; min-height:285px; }
  .v8-bridge { align-items:flex-start; }
  .v8-why-card { padding:22px; gap:14px; }
  .v8-counter-panel { grid-template-columns:1fr; }
  .v8-counter-panel>div { border-right:0; border-bottom:1px solid rgba(85,151,211,.25)!important; }
  .v8-counter-panel>div:last-child { border-bottom:0!important; }
  .v8-form-heading { align-items:flex-start; }
  .v8-form-heading>.v8-icon { width:54px; height:54px; }
  .v8-form-heading h3 { font-size:28px; }
  .v8-tools { right:12px; bottom:14px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .reveal { opacity:1!important; transform:none!important; }
}

.v8-news-insights{background:linear-gradient(135deg,#f2f8fd,#fff)}.v8-news-insights .v8-section-header h2{color:var(--v8-blue)}.v8-content-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.v8-content-card{min-height:340px;border:1px solid #d7e5f0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 14px 38px rgba(4,45,84,.08);transition:.3s cubic-bezier(.22,1,.36,1)}.v8-content-card:hover{transform:translateY(-6px);border-color:#5ab6ff;box-shadow:0 22px 50px rgba(5,65,120,.14)}.v8-content-card img{width:100%;height:175px;object-fit:cover}.v8-content-card>div,.v8-news-empty{padding:23px}.v8-content-card span{color:#0871df;font-size:12px;font-weight:850;letter-spacing:.08em}.v8-content-card h3{font-size:20px;line-height:1.25;margin:12px 0}.v8-content-card p{color:#5d7186}.v8-news-empty{color:#fff;background:linear-gradient(145deg,#051a35,#073e75)}.v8-news-empty p{color:#bfd0e1}.v8-news-empty a{color:#64c2ff;font-weight:800}.v8-content-actions{display:flex;gap:12px;justify-content:center;margin-top:30px}.v8-content-actions .v8-btn-secondary{color:#075fc7;border-color:#8abde9;background:#fff}@media(max-width:1050px){.v8-content-grid{grid-template-columns:1fr 1fr}}@media(max-width:580px){.v8-content-grid{grid-template-columns:1fr}.v8-content-actions{display:grid}.v8-content-actions .v8-btn{width:100%}}

/* Home footer brand follows the transparent white header logo treatment. */
.home-v8 .site-footer .footer-brand{padding:0;border-radius:0;background:transparent;filter:grayscale(1) brightness(0) invert(1)}

/* Primary navigation typography only. */
@media (min-width:1051px) {
  body.home-v8[data-design="2"] .v8-site-header .site-nav > a,
  body.home-v8[data-design="2"] .v8-site-header .site-about-menu > summary {
    font-size:20px !important;
  }
}
@media (max-width:1050px) {
  body.home-v8[data-design="2"] .v8-site-header .site-nav > a,
  body.home-v8[data-design="2"] .v8-site-header .site-about-menu > summary {
    font-size:18px !important;
  }
}
