.elementor-223 .elementor-element.elementor-element-hv00044 > .elementor-container{max-width:100px;}.elementor-223 .elementor-element.elementor-element-hv00044{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00006 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00006{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00005.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00005 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00004{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00008 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00008{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv-seq-col.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv-seq-col > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00007{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00011 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00011{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00010.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00010 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00009{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00003 > .elementor-container{max-width:1340px;}.elementor-223 .elementor-element.elementor-element-hv00003{padding:0px 0px 24px 0px;}.elementor-223 .elementor-element.elementor-element-hv00002.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00002 > .elementor-element-populated{padding:0px 24px 0px 24px;}.elementor-widget-posts .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-posts .elementor-post__meta-data{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .elementor-post__excerpt p{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts a.elementor-post__read-more{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-223 .elementor-element.elementor-element-hv00001{--grid-row-gap:36px;--grid-column-gap:36px;}.elementor-223 .elementor-element.elementor-element-hv00001 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.62 * 100% );}.elementor-223 .elementor-element.elementor-element-hv00001:after{content:"0.62";}.elementor-223 .elementor-element.elementor-element-hv00001 .elementor-post__thumbnail__link{width:100%;}.elementor-223 .elementor-element.elementor-element-hv00001 .elementor-post__meta-data span + span:before{content:"•";}.elementor-223 .elementor-element.elementor-element-hv00001 .elementor-post__text{margin-top:20px;}.elementor-223 .elementor-element.elementor-element-hv00001 .elementor-post__badge{right:0;}.elementor-223 .elementor-element.elementor-element-hv00001 .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-223 .elementor-element.elementor-element-hv00014 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00014{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00013.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00013 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00012{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00016 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00016{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv-forge-col.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv-forge-col > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00015{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00019 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00019{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00018.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00018 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00017{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00022 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00022{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00021.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00021 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00020{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00024 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00024{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv-mm-col.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv-mm-col > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00023{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00027 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00027{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00026.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00026 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00025{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00029 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00029{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv-lf-col.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv-lf-col > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00028{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00032 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00032{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00031.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00031 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00030{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00035 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00035{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00034.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00034 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00033{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00038 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00038{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00037.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00037 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00036{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-223 .elementor-element.elementor-element-hv00041 > .elementor-container{max-width:1600px;}.elementor-223 .elementor-element.elementor-element-hv00041{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00040.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-223 .elementor-element.elementor-element-hv00040 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-223 .elementor-element.elementor-element-hv00039{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-223 .elementor-element.elementor-element-hv00001 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-223 .elementor-element.elementor-element-hv00001:after{content:"0.5";}.elementor-223 .elementor-element.elementor-element-hv00001 .elementor-post__thumbnail__link{width:100%;}}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&family=Newsreader:ital,wght@0,400;0,500;1,400;1,500&display=swap');

body.page-id-223 { background:#05060a; color:#e6edf3; }

/* ============ HOME-V2 SHOWPIECE ============ */
body.page-id-223 { overflow-x: hidden; }
body.page-id-223 .elementor-section.elementor-section-stretched { overflow: visible; }
/* FULL-BLEED: every section on this page paints edge-to-edge. The stretched section
   already spans the viewport, but Elementor caps its inner .elementor-container at
   content_width. Force the container + widget chain to 100% so the hero <video> and
   each section's background span the FULL viewport. Inner readable text keeps its own
   max-width via .hv-band-inner / .hv-hero-inner. */
body.page-id-223 > .elementor > .elementor-section > .elementor-container,
body.page-id-223 .elementor-section > .elementor-container { max-width:100% !important; width:100% !important; }
body.page-id-223 .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap { width:100%; }
body.page-id-223 .elementor-widget-html, body.page-id-223 .elementor-widget-html .elementor-widget-container { width:100%; }
/* kill the global aurora/grid pseudo-layers ONLY here — this page paints its own
   richer mesh per-section so the fixed body layer would double up. Keep base bg. */
body.page-id-223::before, body.page-id-223::after { display: none !important; }
/* slow page-wide aurora drift behind everything (item 6: alive on scroll, GPU-only) */
body.page-id-223 .hv-aurora-fixed { position:fixed; inset:-25%; z-index:0; pointer-events:none; filter:blur(90px);
  opacity:.5; will-change:transform;
  background:
    radial-gradient(circle at 18% 22%,rgba(124,92,255,.30),transparent 52%),
    radial-gradient(circle at 82% 30%,rgba(95,212,255,.24),transparent 52%),
    radial-gradient(circle at 60% 82%,rgba(255,79,154,.18),transparent 55%);
  animation:hvAurora 26s ease-in-out infinite; }
@keyframes hvAurora { 0%,100%{transform:translate3d(0,0,0) scale(1)}
  33%{transform:translate3d(2.5%,-2%,0) scale(1.06)} 66%{transform:translate3d(-2%,2.5%,0) scale(1.04)} }
body.page-id-223 .elementor > .elementor-section { position:relative; z-index:1; }

/* shared tokens */
body.page-id-223 .hv-eyebrow { font-family:JetBrains Mono; font-size:12px; font-weight:600; letter-spacing:3px;
  text-transform:uppercase; color:#5fd4ff; display:inline-flex; align-items:center; gap:10px; }
body.page-id-223 .hv-eyebrow::before { content:""; width:26px; height:1px; background:linear-gradient(90deg,#5fd4ff,transparent); }
body.page-id-223 .hv-grad { background:linear-gradient(115deg,#5fd4ff 0%,#7c5cff 48%,#ff4f9a 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  background-size:200% 200%; animation:hvGrad 9s ease infinite; }
@keyframes hvGrad { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }

/* glass card */
body.page-id-223 .hv-glass { background:rgba(13,17,30,0.55); -webkit-backdrop-filter:blur(22px) saturate(170%);
  backdrop-filter:blur(22px) saturate(170%); border:1px solid rgba(255,255,255,0.09);
  border-radius:22px; position:relative; overflow:hidden; }
body.page-id-223 .hv-glass::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(140deg,rgba(255,255,255,0.10),transparent 38%); opacity:.7; }

/* ---- scroll progress bar ---- */
.hv-progress { position:fixed; top:0; left:0; right:0; height:3px; z-index:1100; transform-origin:0 50%;
  transform:scaleX(0); background:linear-gradient(90deg,#5fd4ff,#7c5cff,#ff4f9a); }

/* ---- sticky-bottom CTA ---- */
.hv-dock { position:fixed; left:50%; bottom:20px; transform:translate(-50%,140%);
  z-index:1090; display:flex; align-items:center; gap:14px; padding:11px 12px 11px 22px;
  border-radius:9999px; background:rgba(10,13,22,0.82); -webkit-backdrop-filter:blur(18px) saturate(170%);
  backdrop-filter:blur(18px) saturate(170%); border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 18px 50px rgba(0,0,0,0.5); transition:transform .5s cubic-bezier(.2,.8,.2,1); max-width:92vw; }
.hv-dock.hv-dock-show { transform:translate(-50%,0); }
.hv-dock-txt { font-family:Inter; font-size:14px; color:#e6edf3; white-space:nowrap; }
.hv-dock-txt b { color:#ffffff; font-weight:600; }
.hv-dock a.hv-dock-btn { font-family:JetBrains Mono; font-size:12px; font-weight:700; letter-spacing:1.2px;
  text-transform:uppercase; color:#05060a; background:#5fd4ff; padding:10px 18px;
  border-radius:9999px; text-decoration:none; white-space:nowrap; transition:box-shadow .3s,transform .3s; }
.hv-dock a.hv-dock-btn:hover { box-shadow:0 0 26px rgba(95,212,255,0.6); }
.hv-dock-x { background:none; border:0; color:#9aa3b2; font-size:18px; line-height:1; cursor:pointer; padding:4px 6px; }
.hv-dock-x:hover { color:#e6edf3; }
@media (max-width:600px) { .hv-dock-txt { display:none; } .hv-dock { padding:9px 10px 9px 16px; } }

/* scroll-to-top must be reliable: lazy images above the fold reflow as they load and
   scroll-anchoring drags scrollTo(0) to a non-zero spot (hero looked half-faded). Off. */
html { overflow-anchor:none; }

/* code / matrix cursor trail — glyphs spawn at the pointer, fade + drift down */
.hv-trail { position:fixed; inset:0; z-index:9990; pointer-events:none; overflow:hidden; }
.hv-trail b { position:fixed; transform:translate(-50%,-50%);
  font-family:"SFMono-Regular",ui-monospace,Menlo,Consolas,monospace; font-weight:700; line-height:1;
  color:#7fe0ff; text-shadow:0 0 10px rgba(95,212,255,0.95),0 0 2px rgba(255,255,255,0.6); pointer-events:none;
  will-change:transform,opacity; animation:hv-trailfade 0.95s linear forwards; }
@keyframes hv-trailfade { 0%{ opacity:1; transform:translate(-50%,-50%) scale(1.08); }
  18%{ opacity:1; } 100%{ opacity:0; transform:translate(-50%,calc(-50% + 24px)) scale(.78); } }
@media (prefers-reduced-motion:reduce) { .hv-trail { display:none; } }

/* ============ 1. HERO ============ */
.hv-hero { position:relative; min-height:calc(100svh - 88px); min-height:calc(100dvh - 88px); display:flex; align-items:center;
  justify-content:flex-start; overflow:hidden; isolation:isolate; }
.hv-hero-media { position:absolute; inset:0; z-index:0; }
.hv-hero-media video { width:100%; height:100%; object-fit:cover; transform-origin:76% 0%; transform:scale(1.33); filter:saturate(1.05); }
.hv-hero-media .hv-hero-poster { position:absolute; inset:0; background:#05060a 76% 6%/cover no-repeat; transform-origin:76% 0%; }
/* dark + color grade over the video */
.hv-hero-grade { position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,rgba(5,6,10,0.55) 0%,rgba(5,6,10,0.35) 35%,rgba(5,6,10,0.78) 100%); }
/* animated mesh / aurora blobs */
.hv-mesh { position:absolute; inset:-25%; z-index:1; pointer-events:none; filter:blur(60px); opacity:.9; }
.hv-mesh span { position:absolute; border-radius:50%; mix-blend-mode:screen; will-change:transform; }
.hv-mesh .b1 { width:46vw; height:46vw; left:6%; top:8%; background:radial-gradient(circle,rgba(124,92,255,.55),transparent 65%); }
.hv-mesh .b2 { width:42vw; height:42vw; right:4%; top:30%; background:radial-gradient(circle,rgba(95,212,255,.45),transparent 65%); }
.hv-mesh .b3 { width:38vw; height:38vw; left:32%; bottom:-6%; background:radial-gradient(circle,rgba(255,79,154,.32),transparent 65%); }
/* cursor glow */
.hv-cursor { position:absolute; z-index:2; width:560px; height:560px; left:0; top:0; margin:-280px 0 0 -280px;
  border-radius:50%; pointer-events:none; opacity:0; transition:opacity .4s ease;
  background:radial-gradient(circle,rgba(95,212,255,0.16),transparent 60%); }
.hv-hero-inner { position:relative; z-index:3; max-width:840px; width:100%; text-align:left;
  margin-left:clamp(0px,calc(16vw - 50px),260px);
  padding:clamp(28px,5vh,56px) 36px; }
.hv-h1 { font-family:Newsreader; font-weight:600; font-size:clamp(34px,5vw,62px); line-height:1.06;
  letter-spacing:-0.5px; color:#e6edf3; margin:0 0 22px; }
.hv-h1 .ln { display:block; }
/* "in his 40s" — brand gradient with a shine band sweeping across the letters */
.hv-shine { background-image:linear-gradient(105deg,#5fd4ff 0%,#7c5cff 38%,#eafdff 48%,#ffffff 50%,#eafdff 52%,#7c5cff 62%,#5fd4ff 100%);
  background-size:260% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
  animation:hv-shine 4.5s ease-in-out infinite; }
@keyframes hv-shine { 0%,100%{ background-position:178% 50%; } 50%{ background-position:-38% 50%; } }
.hv-sub { font-family:Inter; font-size:clamp(16px,1.7vw,19px); line-height:1.6; color:#9aa3b2;
  max-width:520px; margin:0 0 34px; }
.hv-cta-row { display:flex; gap:16px; justify-content:flex-start; flex-wrap:wrap; }
.hv-btn { position:relative; font-family:JetBrains Mono; font-size:13px; font-weight:700; letter-spacing:1.4px;
  text-transform:uppercase; text-decoration:none; padding:17px 34px; border-radius:9999px; display:inline-flex;
  align-items:center; gap:10px; will-change:transform; transition:box-shadow .3s ease, background .3s ease, color .3s ease; }
.hv-btn-primary { color:#05060a; background:#5fd4ff; }
.hv-btn-primary:hover { box-shadow:0 0 34px rgba(95,212,255,0.55); }
.hv-btn-ghost { color:#e6edf3; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.16); }
.hv-btn-ghost:hover { border-color:#5fd4ff; color:#ffffff; }
.hv-btn .ic { width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 0 0 currentColor; }
.hv-scrollcue { position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:3;
  font-family:JetBrains Mono; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:#9aa3b2;
  display:flex; flex-direction:column; align-items:center; gap:9px; }
.hv-scrollcue .ln { width:1px; height:42px; background:linear-gradient(180deg,#5fd4ff,transparent); animation:hvCue 1.8s ease-in-out infinite; }
@keyframes hvCue { 0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.4} 50%{transform:scaleY(1);opacity:1} }

/* ============ 2. SCROLL-VIDEO SET-PIECE — SHRINKING ROUNDED WINDOW SCRUB ====== */
/* CRITICAL: the site-wide reveal system adds `.nw-anim` (will-change:transform) to
   every Elementor column, which makes the set-piece's ancestors a containing block
   for position:fixed and BREAKS ScrollTrigger's pin (the pinned section scrolls away
   instead of staying fixed). Neutralize will-change/transform on this section's whole
   ancestor chain so the pin anchors to the viewport. */
#hv-seq-sec, #hv-seq-sec .elementor-container, #hv-seq-sec .elementor-column,
#hv-seq-sec .elementor-widget-wrap, #hv-seq-sec .elementor-widget,
#hv-seq-col, #hv-seq-col > .elementor-widget-wrap {
  will-change:auto !important; transform:none !important; }
/* wrap = TALL scroll track (no GSAP pin). The sticky child holds the viewport while we
   scroll the extra height; a vanilla scroll handler scrubs frames/window/boxes off it.
   No pin == no ScrollTrigger position corruption == clean scroll-to-top. */
.hv-seq-wrap { position:relative; height:calc(100vh + 1350px); background:#05060a; }
.hv-seq-sticky { position:sticky; top:0; height:100vh; overflow:hidden; }
@media (prefers-reduced-motion:reduce) { .hv-seq-wrap { height:100vh; } .hv-seq-sticky { position:relative; } }
/* aurora page background (revealed as the window scales down / zooms out) */
.hv-seq-aurora { position:absolute; inset:-20%; z-index:0; pointer-events:none; filter:blur(70px); opacity:.85;
  background:
    radial-gradient(circle at 22% 28%,rgba(124,92,255,.34),transparent 55%),
    radial-gradient(circle at 80% 32%,rgba(95,212,255,.28),transparent 55%),
    radial-gradient(circle at 60% 84%,rgba(255,79,154,.20),transparent 55%); }
.hv-seq-grain { position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(120% 120% at 50% 40%,transparent 55%,rgba(5,6,10,0.55) 100%); }
/* foreground = head + window + boxes; drifts up slowly during the scrub (slow-scroll feel)
   while the aurora bg stays put. */
.hv-seq-fg { position:absolute; inset:0; z-index:1; will-change:transform; }
/* stage centers the window in the viewport. Sits BELOW the heading band: nudged down
   so the rounded window never overlaps the title (item 2). Extra top padding clears
   the fixed site header + the title band above it. */
.hv-seq-stage { position:absolute; inset:0; z-index:1; display:flex; align-items:center; justify-content:center;
  padding-top:15vh; }
/* ★ the rounded WINDOW that starts near-full and SCALES DOWN as you scroll. Slightly
   shorter than viewport (76vh) to leave clear space for the title band on top; still
   ~16:9, capped. GSAP drives transform:scale on it. */
.hv-seq-window { position:relative; width:min(90vw,calc(76vh * 16/9)); height:min(76vh,calc(90vw * 9/16));
  border-radius:22px; overflow:hidden; transform-origin:center center; will-change:transform;
  border:1px solid rgba(95,212,255,0.35);
  box-shadow:0 40px 120px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.05),
             0 0 60px rgba(95,212,255,0.12); }
.hv-seq-window::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.10); }
/* canvas fills the window edge-to-edge */
.hv-seq-canvas { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
/* gentle vignette inside the window so cosmic edges sit darker (never hides Nick) */
.hv-seq-grade { position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(120% 100% at 50% 42%,transparent 45%,rgba(5,6,10,0.45) 100%); }
/* section heading: its OWN band near the top of the viewport, ABOVE the rounded window
   with clear separation (item 2). Offset down to CLEAR the fixed site header (~72px) so
   the title is never clipped or behind the nav. The window stage starts at 15vh below.
   Fades as boxes arrive. */
.hv-seq-head { position:absolute; top:14vh; left:0; right:0; z-index:4; text-align:center;
  pointer-events:none; padding:0 24px; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:10px; }
.hv-seq-head .hv-eyebrow { justify-content:center; }
.hv-seq-head h2 { font-family:Newsreader; font-weight:600; font-size:clamp(23px,3vw,40px); line-height:1.08;
  color:#e6edf3; margin:0; letter-spacing:-0.3px; text-shadow:0 2px 30px rgba(0,0,0,.65); }
/* the build cards — absolutely positioned in PAGE SPACE around the shrinking window */
.hv-seq-boxes { position:absolute; inset:0; z-index:6; pointer-events:none; }
.hv-seq-box { position:absolute; width:clamp(300px,23vw,390px); padding:28px 32px;
  background:rgba(10,13,24,0.62); -webkit-backdrop-filter:blur(20px) saturate(170%);
  backdrop-filter:blur(20px) saturate(170%); border:1px solid rgba(255,255,255,0.12);
  border-radius:18px; box-shadow:0 18px 50px rgba(0,0,0,0.45); pointer-events:auto;
  opacity:0; will-change:transform,opacity; }
/* subtle neon edge per box */
.hv-seq-box::before { content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none;
  background:linear-gradient(135deg,var(--nc1,#5fd4ff),transparent 55%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; opacity:.85; }
.hv-seq-box .nm { display:flex; align-items:center; gap:10px; margin:0 0 8px; }
.hv-seq-box .dot { width:9px; height:9px; border-radius:50%; flex:0 0 auto;
  background:var(--nc1,#5fd4ff); box-shadow:0 0 12px var(--nc1,#5fd4ff); }
.hv-seq-box h3 { font-family:Newsreader; font-weight:600; font-size:clamp(20px,2vw,26px); line-height:1.2;
  color:#ffffff; margin:0; }
.hv-seq-box p { font-family:Inter; font-size:16px; line-height:1.5; color:#e6edf3; opacity:.86; margin:0; }
/* desktop placement: hug the viewport edges/corners so they frame the window once it
   has shrunk toward center. 4 corners + 1 bottom-center. */
.hv-seq-box.b1 { left:17%;  top:27%; }
.hv-seq-box.b2 { right:17%; top:23%; --nc1:#7c5cff; }
.hv-seq-box.b3 { left:17%;  bottom:20%; --nc1:#ff4f9a; }
.hv-seq-box.b4 { right:17%; bottom:22%; --nc1:#5fd4ff; }
.hv-seq-box.b5 { left:0; right:0; margin:0 auto; bottom:15%; width:clamp(320px,24vw,420px); --nc1:#7c5cff; }

/* ============ shared section shell ============ */
.hv-band { position:relative; padding:120px 24px; }
.hv-band-inner { max-width:1200px; margin:0 auto; }
.hv-head { text-align:center; max-width:760px; margin:0 auto 64px; }
.hv-head h2 { font-family:Newsreader; font-weight:600; font-size:clamp(32px,4.4vw,52px); line-height:1.1;
  color:#e6edf3; margin:16px 0 0; letter-spacing:-0.3px; }
.hv-head p { font-family:Inter; font-size:17px; line-height:1.65; color:#9aa3b2; margin:18px auto 0; max-width:620px; }

/* reveal (visible by default; JS hides-then-reveals below-fold only) */
.hv-rv { will-change:transform,opacity; }

/* ============ 4. WHAT I BUILD — bento tilt cards ============ */
.hv-bento { display:grid; grid-template-columns:repeat(6,1fr); gap:22px; }
.hv-card { padding:34px; min-height:300px; display:flex; flex-direction:column; transform-style:preserve-3d; }
.hv-card .hv-card-glow { position:absolute; inset:0; opacity:0; transition:opacity .4s ease; pointer-events:none;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(95,212,255,0.16),transparent 60%); }
.hv-card:hover .hv-card-glow { opacity:1; }
.hv-card-tall { grid-column:span 3; }
.hv-card-wide { grid-column:span 3; }
.hv-card-sm { grid-column:span 2; }
.hv-card .hv-ico { width:52px; height:52px; border-radius:14px; display:grid; place-items:center; font-size:22px;
  color:#5fd4ff; background:rgba(95,212,255,0.10); border:1px solid rgba(95,212,255,0.22);
  margin-bottom:auto; transform:translateZ(40px); }
.hv-card .hv-card-body { transform:translateZ(22px); margin-top:24px; }
.hv-tag { display:inline-block; font-family:JetBrains Mono; font-size:10px; font-weight:700; letter-spacing:1.5px;
  text-transform:uppercase; color:#7c5cff; border:1px solid rgba(124,92,255,0.4); background:rgba(124,92,255,0.10);
  padding:4px 11px; border-radius:9999px; margin-bottom:14px; }
.hv-tag.soon { color:#9aa3b2; border-color:rgba(154,163,178,0.35); background:rgba(154,163,178,0.08); }
.hv-card h3 { font-family:Newsreader; font-weight:600; font-size:24px; color:#ffffff; margin:0 0 10px; line-height:1.18; }
.hv-card p { font-family:Inter; font-size:15px; line-height:1.65; color:#9aa3b2; margin:0 0 18px; }
.hv-card a.hv-link { font-family:JetBrains Mono; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase;
  color:#5fd4ff; text-decoration:none; display:inline-flex; align-items:center; gap:8px; margin-top:auto; transform:translateZ(22px); }
.hv-card a.hv-link span { transition:transform .3s ease; }
.hv-card a.hv-link:hover span { transform:translateX(5px); }

/* ============ 5. SERVICES ============ */
.hv-svc { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.hv-svc-card { padding:36px 30px; }
.hv-svc-card .hv-ico { width:54px; height:54px; border-radius:14px; display:grid; place-items:center; font-size:22px;
  color:#5fd4ff; background:rgba(95,212,255,0.10); border:1px solid rgba(95,212,255,0.22); margin-bottom:22px; }
.hv-svc-card h3 { font-family:Newsreader; font-weight:600; font-size:22px; color:#ffffff; margin:0 0 12px; }
.hv-svc-card p { font-family:Inter; font-size:15px; line-height:1.7; color:#9aa3b2; margin:0; }

/* ============ 6. PROCESS — sticky column ============ */
.hv-proc { display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px; align-items:start; }
.hv-proc-left { position:sticky; top:120px; align-self:start; }
.hv-proc-left h2 { font-family:Newsreader; font-weight:600; font-size:clamp(30px,4vw,46px); line-height:1.12; color:#e6edf3; margin:14px 0 18px; }
.hv-proc-left p { font-family:Inter; font-size:16px; line-height:1.7; color:#9aa3b2; margin:0 0 26px; max-width:380px; }
.hv-proc-meter { height:4px; border-radius:9999px; background:rgba(255,255,255,0.08); overflow:hidden; max-width:300px; }
.hv-proc-meter i { display:block; height:100%; width:0%; background:linear-gradient(90deg,#5fd4ff,#ff4f9a); }
.hv-proc-steps { display:flex; flex-direction:column; gap:20px; }
.hv-proc-step { padding:30px 32px; display:flex; gap:24px; align-items:flex-start; }
.hv-proc-step .no { font-family:JetBrains Mono; font-size:30px; font-weight:600; color:#5fd4ff; line-height:1; flex:0 0 auto; opacity:.55; }
.hv-proc-step h3 { font-family:Newsreader; font-weight:600; font-size:21px; color:#ffffff; margin:0 0 9px; }
.hv-proc-step p { font-family:Inter; font-size:15px; line-height:1.7; color:#9aa3b2; margin:0; }

/* ============ 7. ABOUT beat ============ */
.hv-about { display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:center; }
.hv-about-photo { position:relative; border-radius:24px; overflow:hidden; aspect-ratio:4/5; }
.hv-about-photo img { position:absolute; left:0; top:-15%; width:100%; height:130%; object-fit:cover; object-position:50% 30%; will-change:transform; }
.hv-about-photo .fr { position:absolute; inset:0; border-radius:24px; border:1px solid rgba(255,255,255,0.12); pointer-events:none; }
.hv-about-photo .tagchip { position:absolute; left:18px; bottom:18px; z-index:2; font-family:JetBrains Mono; font-size:11px;
  letter-spacing:1px; text-transform:uppercase; color:#e6edf3; padding:9px 14px; border-radius:9999px;
  background:rgba(10,13,22,0.7); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,0.12); }
.hv-about-body h2 { font-family:Newsreader; font-weight:600; font-size:clamp(30px,4vw,48px); line-height:1.12; color:#e6edf3; margin:16px 0 22px; }
.hv-about-body p { font-family:Inter; font-size:16.5px; line-height:1.75; color:#e6edf3; opacity:.85; margin:0 0 18px; }
.hv-about-body .hv-btn { margin-top:12px; }

/* ============ 8. PROOF band ============ */
.hv-proof { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; text-align:center; }
.hv-proof-row, .hv-proof-track { display:contents; }   /* desktop: cells flatten into the 4-col grid */
.hv-proof-dup { display:none; }                          /* duplicate only used for the mobile marquee */
@keyframes hv-marq { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.hv-stat .num { font-family:Inter; font-weight:800; font-size:clamp(40px,5vw,62px); line-height:1; letter-spacing:-1px; }
.hv-stat .lab { font-family:JetBrains Mono; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:#9aa3b2; margin-top:12px; }
.hv-proof-line { text-align:center; font-family:Newsreader; font-style:italic; font-size:clamp(20px,2.4vw,28px);
  color:#e6edf3; max-width:760px; margin:56px auto 0; line-height:1.4; }

/* ============ 10. FINALE ============ */
.hv-finale { position:relative; text-align:center; padding:150px 24px; overflow:hidden; }
.hv-finale-bg { position:absolute; inset:-30%; z-index:0; pointer-events:none; filter:blur(70px); opacity:.85; will-change:transform;
  background:
    radial-gradient(circle at 30% 40%,rgba(124,92,255,.5),transparent 55%),
    radial-gradient(circle at 72% 60%,rgba(95,212,255,.4),transparent 55%),
    radial-gradient(circle at 50% 90%,rgba(255,79,154,.32),transparent 55%); }
.hv-finale-inner { position:relative; z-index:2; max-width:840px; margin:0 auto; }
.hv-finale h2 { font-family:Newsreader; font-weight:600; font-size:clamp(36px,6vw,72px); line-height:1.06; color:#ffffff; margin:0 0 22px; letter-spacing:-0.5px; }
.hv-finale p { font-family:Inter; font-size:clamp(16px,2vw,20px); line-height:1.6; color:#e6edf3; opacity:.85; max-width:600px; margin:0 auto 40px; }

/* ============ 9b. LIVE YOUTUBE CAROUSEL ============ */
.hv-yt { position:relative; padding:96px 0 110px; overflow:hidden; }
.hv-yt-head { max-width:1280px; margin:0 auto 36px; padding:0 24px; }
.hv-yt-head .ht { max-width:760px; }
.hv-yt-head h2 { font-family:Newsreader; font-weight:600; font-size:clamp(30px,4vw,48px); line-height:1.1;
  color:#e6edf3; margin:14px 0 0; letter-spacing:-0.3px; }
.hv-yt-head p { font-family:Inter; font-size:16px; line-height:1.6; color:#9aa3b2; margin:14px 0 0; max-width:560px; }
/* boxed carousel wrap + flanking prev/next arrows */
.hv-yt-wrap { position:relative; max-width:1280px; margin:0 auto; padding:0 24px; }
.hv-yt-arrow { position:absolute; top:38%; transform:translateY(-50%); z-index:6; width:54px; height:54px; border-radius:9999px; cursor:pointer;
  background:rgba(13,17,30,0.74); -webkit-backdrop-filter:blur(18px) saturate(170%);
  backdrop-filter:blur(18px) saturate(170%); border:1px solid rgba(255,255,255,0.14);
  color:#e6edf3; font-size:20px; display:grid; place-items:center; box-shadow:0 8px 28px rgba(0,0,0,.42);
  transition:border-color .3s,color .3s,transform .3s,box-shadow .3s,opacity .3s; }
.hv-yt-arrow.prev { left:8px; }
.hv-yt-arrow.next { right:8px; }
.hv-yt-arrow:hover { border-color:#5fd4ff; color:#ffffff; box-shadow:0 0 24px rgba(95,212,255,0.4); transform:translateY(-50%) scale(1.08); }
.hv-yt-arrow:disabled { opacity:0; pointer-events:none; }
/* the scroller: horizontal, snap, drag — boxed inside .hv-yt-wrap, arrows overlay the edges. */
.hv-yt-scroller { display:flex; gap:22px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory;
  padding:6px 2px 26px; margin:0; cursor:grab; scroll-padding-left:64px;
  -ms-overflow-style:none; scrollbar-width:none; }
.hv-yt-scroller::-webkit-scrollbar { display:none; }
.hv-yt-scroller.is-drag { cursor:grabbing; scroll-behavior:auto; scroll-snap-type:none; }
.hv-yt-card { flex:0 0 auto; width:clamp(290px,30vw,360px); scroll-snap-align:start; text-decoration:none;
  display:flex; flex-direction:column; opacity:0; will-change:transform,opacity; }
.hv-yt-thumb { position:relative; border-radius:16px 16px 0 0; overflow:hidden; aspect-ratio:16/9;
  background:#070a12; border:1px solid rgba(255,255,255,0.09); border-bottom:0; }
.hv-yt-thumb img { width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .5s cubic-bezier(.2,.8,.2,1); }
.hv-yt-card:hover .hv-yt-thumb img { transform:scale(1.06); }
.hv-yt-thumb .pl { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(1);
  width:62px; height:62px; border-radius:50%; display:grid; place-items:center;
  background:rgba(10,13,22,0.55); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.35); transition:transform .35s,background .35s,box-shadow .35s; }
.hv-yt-thumb .pl::after { content:""; width:0;height:0; border-style:solid; border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent #fff; margin-left:4px; }
.hv-yt-card:hover .hv-yt-thumb .pl { transform:translate(-50%,-50%) scale(1.1);
  background:rgba(255,79,154,0.85); border-color:transparent; box-shadow:0 0 30px rgba(255,79,154,0.5); }
.hv-yt-meta { flex:1; padding:18px 20px 22px; border-radius:0 0 16px 16px;
  background:rgba(13,17,30,0.6); -webkit-backdrop-filter:blur(20px) saturate(170%);
  backdrop-filter:blur(20px) saturate(170%); border:1px solid rgba(255,255,255,0.09); border-top:0;
  display:flex; flex-direction:column; }
.hv-yt-meta h3 { font-family:Newsreader; font-weight:600; font-size:18px; line-height:1.28; color:#ffffff;
  margin:0 0 9px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hv-yt-meta p { font-family:Inter; font-size:13.5px; line-height:1.55; color:#9aa3b2; margin:0 0 14px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hv-yt-date { font-family:JetBrains Mono; font-size:11px; letter-spacing:1px; text-transform:uppercase;
  color:#5fd4ff; margin-top:auto; display:inline-flex; align-items:center; gap:7px; }
.hv-yt-date::before { content:""; width:6px; height:6px; border-radius:50%; background:#5fd4ff;
  box-shadow:0 0 10px #5fd4ff; }
/* skeleton while loading */
.hv-yt-skel { flex:0 0 auto; width:clamp(290px,30vw,360px); border-radius:16px; overflow:hidden;
  background:rgba(13,17,30,0.5); border:1px solid rgba(255,255,255,0.07); aspect-ratio:16/9; height:auto;
  min-height:300px; position:relative; }
.hv-yt-skel::after { content:""; position:absolute; inset:0; transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.06),transparent); animation:hvShimmer 1.3s infinite; }
@keyframes hvShimmer { 100% { transform:translateX(100%); } }
/* fallback iframe (if the feed fetch fails) */
.hv-yt-fallback { max-width:1100px; margin:0 auto; padding:0 24px; }
.hv-yt-fallback .fr { position:relative; padding-top:56.25%; border-radius:18px; overflow:hidden;
  border:1px solid rgba(255,255,255,0.1); }
.hv-yt-fallback iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ============ posts band heading ============ */
body.page-id-223 .nw-recent { max-width:1200px; margin:0 auto; }

/* ════════ MOBILE ════════ */
@media (max-width:960px) {
  .hv-band { padding:84px 20px; }
  /* hero: NICK sits to the RIGHT of the frame — bias the crop right so he shows on mobile */
  .hv-hero-media video { object-position:72% center; }
  .hv-hero-media .hv-hero-poster { background-position:72% center; }
  /* mac mini: stack copy over the (now animated) device with a sane viz height */
  #hv-macmini .mm-grid { grid-template-columns:1fr; gap:18px; min-height:0; }
  #hv-macmini .mm-sticky { min-height:0; }
  #hv-macmini .mm-viz { height:56vh; max-height:440px; }
  .hv-bento, .hv-svc, .hv-proof { grid-template-columns:1fr; }
  .hv-card-tall, .hv-card-wide, .hv-card-sm { grid-column:auto; }
  #hv-services { padding-top:24px !important; }   /* tighten gap under the forge dots on mobile */
  /* stats become a side-scrolling marquee that runs off-screen */
  .hv-proof { display:block; overflow:hidden; }
  .hv-proof-row { display:flex; width:max-content; animation:hv-marq 20s linear infinite; will-change:transform; }
  .hv-proof-track { display:flex; flex:0 0 auto; align-items:center; }
  .hv-proof-dup { display:flex; }
  .hv-proof .hv-stat { flex:0 0 auto; padding:0 28px; }
  .hv-proc { grid-template-columns:1fr; gap:34px; }
  .hv-proc-left { position:static; top:auto; }
  .hv-about { grid-template-columns:1fr; gap:34px; }
  /* ---- set-piece on mobile: SMALLER FIXED rounded window (no heavy scale), scrub
     still runs; boxes STACK below ---- */
  .hv-seq-wrap { height:auto; overflow:visible; padding:74px 16px 24px; }
  .hv-seq-sticky { position:static; height:auto; overflow:visible; }
  .hv-seq-fg { position:static; transform:none !important; }
  .hv-seq-aurora { opacity:.6; }
  .hv-seq-stage { position:relative; inset:auto; height:auto; display:block; padding-top:0; }
  .hv-seq-window { width:100%; height:auto; aspect-ratio:16/9; transform:none !important;
    box-shadow:0 24px 70px rgba(0,0,0,0.55), 0 0 40px rgba(95,212,255,0.10); }
  .hv-seq-canvas { position:relative; }
  .hv-seq-grade { background:radial-gradient(120% 90% at 50% 45%,transparent 50%,rgba(5,6,10,0.5)); }
  .hv-seq-head { position:relative; top:auto; padding:0 4px 18px; }
  /* boxes leave the canvas overlay and become a normal stacked list under it */
  .hv-seq-boxes { position:relative; inset:auto; display:flex; flex-direction:column; gap:14px;
    padding:26px 20px 4px; pointer-events:auto; }
  .hv-seq-box, .hv-seq-box.b1, .hv-seq-box.b2, .hv-seq-box.b3, .hv-seq-box.b4, .hv-seq-box.b5 {
    position:relative; left:auto; right:auto; top:auto; bottom:auto; transform:none; width:100%;
    max-width:520px; margin:0 auto; opacity:1; }
  .hv-head { margin-bottom:44px; }
  /* youtube carousel: tighter gutters, smaller cards, hide arrows (drag/swipe) */
  .hv-yt { padding:72px 0 80px; }
  .hv-yt-arrow { display:none; }
  .hv-yt-wrap { padding:0; max-width:none; }
  .hv-yt-scroller { gap:16px; padding:6px 20px 22px; scroll-snap-type:x proximity; }
  .hv-yt-card, .hv-yt-skel { width:78vw; max-width:330px; }
}
@media (max-width:600px) {
  .hv-card { min-height:0; padding:28px; }
  .hv-proc-step { padding:24px; gap:16px; }
}
/* reduced motion: kill the moving/animated decoration + show carousel cards static */
@media (prefers-reduced-motion:reduce) {
  .hv-mesh span, .hv-finale-bg, .hv-aurora-fixed, .hv-shine { animation:none !important; }
  .hv-scrollcue { display:none; }
  .hv-hero-media video { transform:none; }
  .hv-yt-card { opacity:1 !important; }
  .hv-yt-scroller { scroll-behavior:auto; }
}

/* ═══════ ★ PARTICLE FORGE — scroll-driven 3D particle assembly (scatter → NW → play) ═══════ */
.hv-forge-wrap { position:relative; width:100vw; margin-left:calc(50% - 50vw); height:calc(100vh + 850px); background:#05060a; }
.hv-forge-sticky { position:sticky; top:0; height:100vh; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.hv-forge-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; z-index:1; }
.hv-forge-cap { position:absolute; top:11vh; left:0; right:0; z-index:2; text-align:center; padding:0 20px; pointer-events:none; opacity:0; transform:translateY(-16px); transition:opacity .7s ease, transform .7s ease; }
.hv-forge-cap.on { opacity:1; transform:none; }
.hv-forge-cap .hv-eyebrow { justify-content:center; }
.hv-forge-cap h2 { font-family:Newsreader; font-weight:600; font-size:clamp(26px,3.4vw,46px); line-height:1.1; color:#e6edf3; margin:12px 0 0; letter-spacing:-.3px; text-shadow:0 2px 30px rgba(0,0,0,.5); }
@media (max-width:900px) { .hv-forge-wrap { height:auto; padding:4px 0 0; } .hv-forge-sticky { position:relative; height:36vh; } .hv-forge-cap { top:8px; } }
@media (prefers-reduced-motion:reduce) { .hv-forge-wrap { height:100vh; } .hv-forge-sticky { position:relative; } }

/* ═══════ ★ LIQUID LIGHT FIELD — full-bleed live WebGL mesh-gradient statement ═══════ */
.hv-lf { position:relative; width:100vw; margin-left:calc(50% - 50vw); min-height:72vh;
  display:flex; align-items:center; justify-content:center; overflow:hidden; padding:60px 24px; }
.hv-lf-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; z-index:0; background:#05060a; }
.hv-lf::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(108% 80% at 50% 50%,rgba(5,6,10,.62) 0%,rgba(5,6,10,.18) 40%,rgba(5,6,10,.82) 100%); }
.hv-lf-inner { position:relative; z-index:2; max-width:920px; text-align:center; }
.hv-lf-inner .hv-eyebrow { justify-content:center; }
.hv-lf-inner h2 { font-family:Newsreader; font-weight:600; font-size:clamp(34px,5.2vw,68px);
  line-height:1.08; color:#e6edf3; margin:14px 0 0; letter-spacing:-.4px; text-shadow:0 2px 40px rgba(0,0,0,.5); }
.hv-lf-inner p { font-family:Inter; font-size:clamp(16px,1.5vw,19px); line-height:1.72;
  color:rgba(230,237,243,.80); margin:22px auto 0; max-width:640px; text-shadow:0 1px 22px rgba(0,0,0,.55); }
@media (max-width:900px) { .hv-lf { min-height:54vh; padding:40px 20px; }
  /* mobile: a big blur(70px) layer re-rasters on scroll and makes the finale CTA buttons glitch.
     The radial gradients are already soft, so drop the filter + layer promotion entirely. */
  .hv-finale-bg { filter:none !important; will-change:auto !important; opacity:.7; }
  .hv-finale { padding:96px 24px; } }

body.page-id-223 #site-header, body.page-id-223 #site-footer { display:none !important; }
.nw-statnum .elementor-heading-title, .nw-statnum { white-space:nowrap; }

body.page-id-223 .elementor-posts-container .elementor-post { background:transparent !important; box-shadow:none !important; border:0 !important; height:100%; }
body.page-id-223 .elementor-post__card {
  display:flex; flex-direction:column; height:100%;
  background:rgba(255,255,255,0.04) !important;
  -webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.09) !important; border-radius:18px !important; overflow:hidden;
  box-shadow:0 10px 34px rgba(0,0,0,.38) !important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease; }
body.page-id-223 .elementor-post:hover .elementor-post__card { transform:translateY(-6px); box-shadow:0 22px 60px rgba(95,212,255,.16) !important; border-color:rgba(95,212,255,.40) !important; }
body.page-id-223 .elementor-post__card .elementor-post__thumbnail { aspect-ratio:16/9 !important; height:auto !important; min-height:0 !important; padding:0 !important; overflow:hidden; position:relative; background:#0b0e18 !important; background-size:cover !important; background-position:center !important; }
body.page-id-223 .elementor-post__card .elementor-post__thumbnail img { position:absolute !important; inset:0 !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; object-position:center center !important; transform:none !important; }
body.page-id-223 .elementor-post__card .elementor-post__thumbnail__link { margin:0 !important; display:block; line-height:0; }
body.page-id-223 .elementor-post__card .elementor-post__badge, body.page-id-223 .elementor-post__card .elementor-post__avatar { display:none !important; margin:0 !important; }
body.page-id-223 .elementor-post__card .elementor-post__text { background:transparent !important; padding:16px 24px 0 !important; margin:0 !important; flex:0 0 auto; display:flex; flex-direction:column; gap:7px; }
body.page-id-223 .elementor-post__card .elementor-post__title { margin:0 !important; }
body.page-id-223 .elementor-post__card .elementor-post__title a { font-family:Newsreader; color:#ffffff; font-weight:600; font-size:19px; line-height:1.25; }
body.page-id-223 .elementor-post__card .elementor-post__title a:hover { color:#5fd4ff; }
body.page-id-223 .elementor-post__card .elementor-post__excerpt { margin:0 !important; }
body.page-id-223 .elementor-post__card .elementor-post__excerpt p { margin:0; font-family:Inter; color:#9aa3b2; font-size:14px; line-height:1.55; }
body.page-id-223 .elementor-post__meta-data { margin:0 !important; padding:8px 24px 18px !important; border:0 !important; font-family:JetBrains Mono; color:rgba(154,163,178,.7); font-size:12px; letter-spacing:.4px; }
body.page-id-223 .elementor-post__read-more { margin:0 !important; padding-top:0 !important; color:#5fd4ff !important; font-family:JetBrains Mono; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; font-size:12px; text-decoration:none; border:0 !important; }
body.page-id-223 .elementor-post__read-more:hover { color:#ffffff !important; }
body.page-id-223 .elementor-post__avatar { display:none !important; }
body.page-id-223 .elementor-post__badge { display:none !important; }/* End custom CSS */