/* Hallmark · macrostructure: Stat-Led→Workbench · tone: restrained-gaming · anchor hue: rose
 * Havoc Agency v3 · warm light grey + raspberry rose · all graphics vector/CSS (no raster)
 * pre-emit critique: P5 H4 E4 S4 R5 V4
 */

/* ============ RESET / BASE ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  overflow-x:clip;
  font-family:var(--font-body);
  font-size:var(--text-base);
  line-height:1.55;
  color:var(--color-ink);
  background:var(--color-paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.04;letter-spacing:-.005em;color:var(--color-ink)}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2.5px solid var(--color-focus);outline-offset:3px;border-radius:4px}

.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}

/* ============ HUD LABEL ============ */
.hud{
  font-family:var(--font-body);
  font-size:var(--text-xs);
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--color-ink-soft);
  line-height:1.45;
}

/* ============ FAINT TECH GRID (code-drawn) ============ */
.grid-bg{position:relative;isolation:isolate}
.grid-bg::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(var(--grid-ink) 1px,transparent 1px) 0 0/var(--grid-size) var(--grid-size),
    linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px) 0 0/var(--grid-size) var(--grid-size);
  -webkit-mask:radial-gradient(120% 90% at 60% 30%,#000 30%,transparent 78%);
          mask:radial-gradient(120% 90% at 60% 30%,#000 30%,transparent 78%);
}
.grid-bg--rose{position:relative;isolation:isolate}
.grid-bg--rose::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.9;
  background:
    linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px) 0 0/26px 26px,
    linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px) 0 0/26px 26px;
  -webkit-mask:radial-gradient(120% 120% at 50% 50%,#000 40%,transparent 85%);
          mask:radial-gradient(120% 120% at 50% 50%,#000 40%,transparent 85%);
}

/* decorative HUD ticks */
.deco-plus{position:absolute;width:14px;height:14px;z-index:-1;opacity:.6;
  background:
    linear-gradient(var(--color-accent-soft),var(--color-accent-soft)) center/2px 100% no-repeat,
    linear-gradient(var(--color-accent-soft),var(--color-accent-soft)) center/100% 2px no-repeat;}
.deco-corner{position:absolute;width:26px;height:26px;z-index:-1;border:2px solid var(--color-line)}
.deco-corner.tl{top:22px;left:14px;border-right:0;border-bottom:0}
.deco-corner.br{bottom:22px;right:14px;border-left:0;border-top:0}
.deco-corner.light{border-color:rgba(255,255,255,.5);z-index:1}
/* light HUD decor for rose bands (CTA) */
.deco-plus--light{width:18px;height:18px;z-index:1;opacity:.5;transform:translateY(-50%);
  background:
    linear-gradient(#fff,#fff) center/2px 100% no-repeat,
    linear-gradient(#fff,#fff) center/100% 2px no-repeat}
.cta-pix{position:absolute;display:flex;gap:4px;z-index:1;opacity:.6}
.cta-pix i{width:6px;height:6px;background:#fff}
.cta-pix i:nth-child(2){opacity:.6}
.cta-pix i:nth-child(3){opacity:.3}

/* ============ HEADER / NAV ============ */
.site-head{position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--color-paper) 82%,transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--color-line);}
.nav{display:flex;align-items:center;gap:var(--space-lg);height:68px}
.logo{display:flex;align-items:center;gap:3px}
.logo__h{height:24px;width:auto;color:var(--color-accent);transition:transform var(--dur-fast) var(--ease-out)}
.logo__h--lg{height:32px}
.logo:hover .logo__h{transform:translateY(-1px)}
.logo__word{font-family:var(--font-display);font-size:1.35rem;letter-spacing:.02em;color:var(--color-ink)}
.logo__word--lg{font-size:1.9rem}
.nav__links{display:flex;gap:var(--space-lg);margin-inline:auto}
.nav__links a{font-size:var(--text-sm);font-weight:600;color:var(--color-ink-soft);letter-spacing:.01em;transition:color var(--dur-fast) var(--ease-out)}
.nav__links a:hover{color:var(--color-accent)}
.nav__cta{flex:none}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-weight:700;font-size:var(--text-sm);line-height:1;
  padding:.85em 1.4em;border-radius:var(--radius-sm);border:1.5px solid transparent;
  transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);}
.btn--lg{font-size:var(--text-base);padding:1.05em 1.8em}
.btn--block{width:100%}
.btn__ico,.svc__more svg,.socials svg{width:1.15em;height:1.15em;stroke:currentColor;fill:none}
.btn--accent{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-btn)}
.btn--accent:hover{background:var(--color-accent-deep);transform:translateY(-2px)}
.btn--accent:active{transform:translateY(0)}
.btn--on-band{background:#fff;color:var(--color-accent-deep)}
.btn--on-band:hover{background:var(--color-white);transform:translateY(-2px)}
/* big hero CTA with lime hover: glow ring + running lime shine */
.btn--hero{position:relative;overflow:hidden;isolation:isolate;font-weight:700;
  font-size:clamp(1.2rem,1.5vw,1.55rem);padding:1.5em 3em;border-radius:var(--radius-md);letter-spacing:.004em}
.btn--hero .btn__ico{width:1.4em;height:1.4em;transition:transform var(--dur-mid) var(--ease-out)}
/* travelling lime wave behind the text — same shimmer as the H rings */
.btn--hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 32%,rgba(198,255,46,.35) 44%,rgba(198,255,46,.92) 50%,rgba(198,255,46,.35) 56%,transparent 68%);
  background-size:230% 100%;background-position:150% 0;opacity:0;transition:opacity var(--dur-mid) var(--ease-out)}
@media (hover:hover){
  .btn--hero:hover{transform:translateY(-3px);background:var(--color-accent-deep);
    box-shadow:0 0 0 2px var(--color-lime),0 14px 36px -8px var(--color-lime-glow)}
  .btn--hero:hover::before{opacity:1;animation:btnLimeWave 1.7s var(--ease-in-out) infinite}
  .btn--hero:hover .btn__ico{transform:translateX(5px)}
}
@keyframes btnLimeWave{0%{background-position:150% 0}60%{background-position:-60% 0}100%{background-position:-60% 0}}

/* ============ SECTION FRAME ============ */
.band{padding-block:clamp(2.2rem,4.5vw,3.8rem)}
.band--tint{background:var(--color-paper-2)}
.sec-head{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl)}
.sec-head__rule{flex:1;height:1px;background:var(--color-line)}
/* section eyebrows — darker + bolder for readability */
.sec-head .hud{color:var(--color-ink);font-weight:700;font-size:.9rem;letter-spacing:.2em}

/* ============ HERO ============ */
.hero{padding-block:clamp(.75rem,2vw,1.5rem) clamp(1.6rem,3vw,2.8rem);border-bottom:1px solid var(--color-line)}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-2xl);align-items:start}
.hero__copy{min-width:0}
.hero__title{font-size:var(--text-display);margin:var(--space-md) 0 var(--space-lg);overflow-wrap:anywhere}
.hero__title .accent{color:var(--color-accent)}
.hero__sub{font-size:var(--text-lg);color:var(--color-ink-soft);max-width:30ch;margin-bottom:var(--space-xl)}
.hero__cta{display:flex;gap:var(--space-sm);flex-wrap:wrap}
.hero__meta{display:flex;justify-content:space-between;gap:var(--space-lg);
  margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--color-line)}
.hud--right{text-align:right}
/* hero meta HUD decor (dashed line · reticle · pixels) */
.hero__meta-deco{flex:1;display:flex;align-items:center;gap:12px;justify-content:center;max-width:440px;margin:0 auto;padding:0 20px}
.mdash{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--color-line) 0 5px,transparent 5px 10px)}
.mcross{position:relative;width:12px;height:12px;flex:none}
.mcross::before,.mcross::after{content:"";position:absolute;background:var(--color-accent-soft)}
.mcross::before{left:5px;top:0;width:2px;height:12px}
.mcross::after{top:5px;left:0;height:2px;width:12px}
.mpix{display:flex;gap:3px;flex:none}
.mpix i{width:5px;height:5px}
.mpix i:nth-child(1){background:var(--color-accent)}
.mpix i:nth-child(2){background:var(--color-accent-soft)}
.mpix i:nth-child(3){background:var(--color-line)}
.eyebrow{display:inline-flex;align-items:center;gap:.65em}
.live-dot{width:8px;height:8px;border-radius:2px;background:var(--color-lime);flex:none;
  box-shadow:0 0 0 0 var(--color-lime-glow);animation:livePulse 1.9s var(--ease-in-out) infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 var(--color-lime-glow)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}

.hero__mark{display:grid;place-items:start center;position:relative;margin-top:clamp(1.6rem,4vw,3rem)}
.hmono{width:min(80%,330px);height:auto;color:var(--color-accent);
  transition:filter var(--dur-mid) var(--ease-out),transform var(--dur-mid) var(--ease-out)}
.hmono path{transition:stroke var(--dur-mid) var(--ease-out)}
/* ring opacity gradation is baked into the SVG (stroke-opacity attr) */
.hero__mark::before{content:"";position:absolute;top:36%;width:70%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,var(--color-accent-tint) 0%,transparent 70%);opacity:.7;z-index:-1;
  transition:background var(--dur-slow) var(--ease-out)}
/* hover: lime energy wave travels through the rings + soft glow */
@media (hover:hover){
  .hero__mark{cursor:pointer}
  .hero__mark:hover .hmono{transform:translateY(-6px) scale(1.02);filter:drop-shadow(0 0 18px var(--color-lime-glow))}
  .hero__mark:hover .hmono polygon{animation:limeWave 1.3s var(--ease-in-out) infinite}
  .hero__mark:hover .hmono polygon:nth-child(1){animation-delay:0s}
  .hero__mark:hover .hmono polygon:nth-child(2){animation-delay:.07s}
  .hero__mark:hover .hmono polygon:nth-child(3){animation-delay:.14s}
  .hero__mark:hover .hmono polygon:nth-child(4){animation-delay:.21s}
  .hero__mark:hover .hmono polygon:nth-child(5){animation-delay:.28s}
  .hero__mark:hover .hmono polygon:nth-child(6){animation-delay:.35s}
  .hero__mark:hover .hmono polygon:nth-child(7){animation-delay:.42s}
  .hero__mark:hover .hmono polygon:nth-child(8){animation-delay:.49s}
  .hero__mark:hover .hmono polygon:nth-child(9){animation-delay:.56s}
  .hero__mark:hover .hmono polygon:nth-child(10){animation-delay:.63s}
  .hero__mark:hover .hmono polygon:nth-child(11){animation-delay:.70s}
  .hero__mark:hover::before{background:radial-gradient(circle,var(--color-lime-glow) 0%,transparent 70%)}
}
@keyframes limeWave{0%,100%{stroke:var(--color-accent)}50%{stroke:var(--color-lime)}}

/* ============ PIXEL CURSOR (desktop) ============ */
.has-cursor,.has-cursor *{cursor:none}
.px-cursor{
  --cur:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20120%20170%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22currentColor%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20x%3D%221.4%22%20y%3D%221.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%2211.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%2211.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%2221.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%2221.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2221.4%22%20y%3D%2221.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%2231.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%2231.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2221.4%22%20y%3D%2231.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2231.4%22%20y%3D%2231.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%2241.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%2241.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2221.4%22%20y%3D%2241.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2231.4%22%20y%3D%2241.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2241.4%22%20y%3D%2241.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%2251.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%2251.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2221.4%22%20y%3D%2251.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2231.4%22%20y%3D%2251.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2241.4%22%20y%3D%2251.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2251.4%22%20y%3D%2251.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%2261.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%2261.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2221.4%22%20y%3D%2261.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2231.4%22%20y%3D%2261.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2241.4%22%20y%3D%2261.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2251.4%22%20y%3D%2261.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2261.4%22%20y%3D%2261.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%2271.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%2271.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2221.4%22%20y%3D%2271.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2231.4%22%20y%3D%2271.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2241.4%22%20y%3D%2271.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2251.4%22%20y%3D%2271.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2261.4%22%20y%3D%2271.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2271.4%22%20y%3D%2271.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%2281.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%2281.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2221.4%22%20y%3D%2281.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2231.4%22%20y%3D%2281.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2241.4%22%20y%3D%2281.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2251.4%22%20y%3D%2281.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2261.4%22%20y%3D%2281.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2271.4%22%20y%3D%2281.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2281.4%22%20y%3D%2281.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%2291.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%2291.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2221.4%22%20y%3D%2291.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2231.4%22%20y%3D%2291.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2241.4%22%20y%3D%2291.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2251.4%22%20y%3D%2291.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2261.4%22%20y%3D%2291.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2271.4%22%20y%3D%2291.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2281.4%22%20y%3D%2291.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2291.4%22%20y%3D%2291.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%22101.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%22101.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2221.4%22%20y%3D%22101.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2231.4%22%20y%3D%22101.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2241.4%22%20y%3D%22101.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2251.4%22%20y%3D%22101.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2261.4%22%20y%3D%22101.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%22111.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%22111.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2221.4%22%20y%3D%22111.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2241.4%22%20y%3D%22111.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2251.4%22%20y%3D%22111.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2261.4%22%20y%3D%22111.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%22121.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2211.4%22%20y%3D%22121.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2251.4%22%20y%3D%22121.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2261.4%22%20y%3D%22121.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2271.4%22%20y%3D%22121.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%221.4%22%20y%3D%22131.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2251.4%22%20y%3D%22131.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2261.4%22%20y%3D%22131.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2271.4%22%20y%3D%22131.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2261.4%22%20y%3D%22141.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2271.4%22%20y%3D%22141.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2281.4%22%20y%3D%22141.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2261.4%22%20y%3D%22151.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2271.4%22%20y%3D%22151.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2281.4%22%20y%3D%22151.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2271.4%22%20y%3D%22161.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3Crect%20x%3D%2281.4%22%20y%3D%22161.4%22%20width%3D%227.2%22%20height%3D%227.2%22%2F%3E%3C%2Fsvg%3E");
  position:fixed;top:0;left:0;z-index:9999;pointer-events:none;
  width:24px;height:34px;background-color:var(--color-accent-bright);
  -webkit-mask:var(--cur) no-repeat top left/contain;mask:var(--cur) no-repeat top left/contain;
  will-change:transform;backface-visibility:hidden;
  transition:width var(--dur-fast) var(--ease-out),height var(--dur-fast) var(--ease-out)}
.px-cursor.is-active{width:31px;height:44px}
.px-cursor.is-down{width:20px;height:28px}
/* lime cursor over the CTA band */
.px-cursor.is-lime{background-color:var(--color-lime);filter:drop-shadow(0 0 6px var(--color-lime-glow))}

/* ============ HERO: lime cursor trail + title glow ============ */
.hero-trail{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero__grid{position:relative;z-index:1}
.ch{
  transition:text-shadow var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);
  text-shadow:
    0 0 calc(var(--lit,0) * 4px)  rgba(198,255,46,var(--lit,0)),
    0 0 calc(var(--lit,0) * 16px) rgba(198,255,46,calc(var(--lit,0) * .95)),
    0 0 calc(var(--lit,0) * 36px) rgba(198,255,46,calc(var(--lit,0) * .65));
}

/* ============ SERVICES ============ */
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}
.svc{background:var(--color-paper-2);border:1px solid var(--color-line);border-radius:var(--radius-md);
  padding:var(--space-lg);position:relative;transition:transform var(--dur-mid) var(--ease-out),box-shadow var(--dur-mid) var(--ease-out),border-color var(--dur-mid) var(--ease-out)}
.band--tint .svc{background:var(--color-paper)}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:var(--color-accent-soft)}
.svc__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}
.svc__ico{position:relative;display:grid;place-items:center;width:52px;height:52px;color:var(--color-accent)}
.svc__ico svg{width:26px;height:26px}
.svc__ico img{width:44px;height:44px;object-fit:contain}
.svc__num{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink-faint)}
.svc h3{font-size:var(--text-xl);margin-bottom:var(--space-sm)}
.svc p{color:var(--color-ink-soft);font-size:var(--text-sm)}

/* ============ CASES ============ */
.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:var(--space-md)}
.case{background:var(--color-paper-2);border:1px solid var(--color-line);border-radius:var(--radius-md);
  padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-2xs);
  transition:transform var(--dur-mid) var(--ease-out),box-shadow var(--dur-mid) var(--ease-out),border-color var(--dur-mid) var(--ease-out)}
.band--tint .case{background:var(--color-paper)}
.case:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:var(--color-accent-soft)}
.case__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}
.case__top .hud{color:var(--color-ink-soft)}
.case__num{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink-faint)}
.case__metric{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-accent);line-height:1.05}
.case__title{font-size:var(--text-lg)}
.case__desc{color:var(--color-ink-soft);font-size:var(--text-sm)}
.case{cursor:pointer}
.case__more{margin-top:auto;display:inline-flex;align-items:center;gap:.5em;
  font-size:var(--text-sm);font-weight:600;color:var(--color-accent);padding-top:var(--space-md)}
.case__more svg{width:1.05em;height:1.05em;transition:transform var(--dur-fast) var(--ease-out)}
.case:hover .case__more svg{transform:translateX(4px)}
.case__metric-cap{color:var(--color-ink-soft);font-size:var(--text-xs);margin-top:-4px}
.case__mini{display:flex;flex-wrap:wrap;gap:.3em var(--space-md);list-style:none;margin:var(--space-xs) 0 0;padding:0}
.case__mini li{font-size:var(--text-xs);color:var(--color-ink-soft)}
.case__mini b{font-family:var(--font-display);font-weight:400;color:var(--color-accent);font-size:var(--text-base);margin-right:.35em}

/* ============ CASE MODAL ============ */
.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:var(--space-lg)}
.modal[hidden]{display:none}
.modal__backdrop{position:absolute;inset:0;background:rgba(28,26,28,.55);backdrop-filter:blur(3px);
  opacity:0;transition:opacity var(--dur-mid) var(--ease-out)}
.modal.is-open .modal__backdrop{opacity:1}
.modal__dialog{position:relative;z-index:1;width:min(880px,100%);max-height:calc(100dvh - 2*var(--space-lg));overflow:auto;
  background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-lg);
  display:grid;grid-template-columns:1fr 1fr;box-shadow:0 30px 80px -30px #2c2a2c99;
  transform:translateY(16px) scale(.98);opacity:0;
  transition:transform var(--dur-mid) var(--ease-out),opacity var(--dur-mid) var(--ease-out)}
.modal.is-open .modal__dialog{transform:none;opacity:1}
.modal__media{position:relative;min-height:240px;overflow:hidden;border-radius:var(--radius-lg) 0 0 var(--radius-lg);
  background:linear-gradient(150deg,var(--color-accent) 0%,var(--color-accent-deep) 65%,#7a2740 100%)}
.modal__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.modal__img.is-loaded{display:block}
.modal__img.is-loaded ~ .modal__ph{display:none}
.modal__ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:var(--space-lg);
  color:rgba(255,255,255,.85);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:var(--text-sm)}
.modal__body{padding:var(--space-lg) var(--space-xl);display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}
.modal__tag{color:var(--color-ink-soft)}
.modal__game{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.05}
.modal__result{display:flex;align-items:baseline;gap:.5em;flex-wrap:wrap;margin:2px 0 var(--space-2xs)}
.modal__metric{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-accent);line-height:1}
.modal__caption{color:var(--color-ink-soft);font-size:var(--text-sm)}
.modal__lead{margin-top:var(--space-xs)}
.modal__task{font-size:var(--text-sm);color:var(--color-ink-soft)}
.modal__steps{display:grid;gap:.35em;margin:0;list-style:none}
.modal__steps li{position:relative;padding-left:1.3em;font-size:var(--text-sm);color:var(--color-ink-soft)}
.modal__steps li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;background:var(--color-accent);border-radius:2px}
.modal__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm) var(--space-lg);margin-top:var(--space-sm);border-top:1px solid var(--color-line);padding-top:var(--space-sm)}
.modal__stat b{display:block;font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);color:var(--color-ink);line-height:1.1}
.modal__stat span{font-size:var(--text-xs);color:var(--color-ink-soft)}
.modal__close{position:absolute;top:12px;right:12px;z-index:2;width:38px;height:38px;border-radius:var(--radius-sm);
  background:rgba(247,246,245,.92);border:1px solid var(--color-line);display:grid;place-items:center;
  transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.modal__close span{position:absolute;width:16px;height:2px;background:var(--color-ink);border-radius:2px}
.modal__close span:first-child{transform:rotate(45deg)}
.modal__close span:last-child{transform:rotate(-45deg)}
.modal__close:hover{border-color:var(--color-accent);transform:rotate(90deg)}
.modal__body .btn{margin-top:var(--space-sm);align-self:flex-start}
@media (max-width:680px){
  .modal__dialog{grid-template-columns:1fr}
  .modal__media{border-radius:var(--radius-lg) var(--radius-lg) 0 0;min-height:180px}
}
.svc__more{display:inline-flex;margin-top:var(--space-lg);color:var(--color-ink-faint);transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.svc:hover .svc__more{color:var(--color-accent);transform:translateX(4px)}

/* corner ticks framing an icon (HUD reticle) */
.frame-ticks::before,.frame-ticks::after{content:"";position:absolute;width:12px;height:12px;border:2px solid var(--color-accent-soft)}
.frame-ticks::before{top:0;left:0;border-right:0;border-bottom:0}
.frame-ticks::after{bottom:0;right:0;border-left:0;border-top:0}

/* ============ PLATFORMS ============ */
.platforms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-sm)}
.plat-chip{display:flex;align-items:center;gap:.7em;
  background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-sm);
  padding:1em 1.25em;font-weight:600;font-size:var(--text-base);
  transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.band--tint .plat-chip{background:var(--color-white)}
.plat-chip::before{content:"";flex:none;width:10px;height:10px;background:var(--color-accent);border-radius:2px}
.plat-chip:hover{border-color:var(--color-accent);transform:translateY(-2px)}

/* ============ APPROACH (methodology + metrics) ============ */
.approach{display:grid;grid-template-columns:1fr .9fr;gap:var(--space-2xl);align-items:stretch}
.principles{display:grid;gap:0;align-content:start;
  background:var(--color-paper-2);border:1px solid var(--color-line);border-radius:var(--radius-lg);
  padding:var(--space-lg) var(--space-xl)}
.principle{display:flex;gap:var(--space-md);align-items:flex-start;
  padding:var(--space-lg) 0;border-bottom:1px dashed var(--color-line)}
.principle:first-child{padding-top:0}
.principle:last-child{padding-bottom:0;border-bottom:0}
.principle__ico{flex:none;display:grid;place-items:center;width:44px;height:44px;color:var(--color-accent);
  background:var(--color-accent-tint);border-radius:var(--radius-sm)}
.principle__ico svg{width:22px;height:22px}
.principle__ico img{width:30px;height:30px;object-fit:contain}
.principle h3{font-size:var(--text-lg);margin-bottom:2px}
.principle p{color:var(--color-ink-soft);font-size:var(--text-sm);max-width:46ch}
.metrics{background:var(--color-paper-2);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-xl);position:relative;overflow:hidden}
.band--tint .metrics{background:var(--color-paper)}
.metrics::after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;
  border:1.5px solid var(--color-accent-tint);box-shadow:0 0 0 16px var(--color-accent-tint) inset;opacity:.6}
.metrics__list{display:grid;gap:0;margin:var(--space-md) 0 var(--space-md)}
.metrics__list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5em;
  padding:.7em 0;border-bottom:1px dashed var(--color-line);font-weight:600;position:relative;z-index:1}
.metrics__list li:last-child{border-bottom:0}
.metrics__list b{font-family:var(--font-display);font-weight:400;color:var(--color-accent)}
.metrics__list span{font-weight:400;font-size:var(--text-sm);color:var(--color-ink-soft)}
.metrics__note{font-size:var(--text-sm);color:var(--color-ink-soft);border-top:1px solid var(--color-line);padding-top:var(--space-md)}

/* ============ CTA BAND ============ */
.cta-band{background:var(--grad-band);color:#fff;padding-block:clamp(2.6rem,5vw,4rem)}
.cta-band__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-lg);position:relative;z-index:1;padding:var(--space-xl) 0}
.cta-band h2{font-size:clamp(1.7rem,3.6vw,2.7rem);color:#fff}
/* CTA-band button: white base + lime shine & glow ring on hover (echoes hero) */
.cta-band .btn--lg{position:relative;overflow:hidden;isolation:isolate}
.cta-band .btn--lg::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 32%,rgba(198,255,46,.35) 44%,rgba(198,255,46,.92) 50%,rgba(198,255,46,.35) 56%,transparent 68%);
  background-size:230% 100%;background-position:150% 0;opacity:0;transition:opacity var(--dur-mid) var(--ease-out)}
@media (hover:hover){
  .cta-band .btn--lg:hover{transform:translateY(-3px);box-shadow:0 0 0 2px var(--color-lime),0 14px 36px -8px var(--color-lime-glow)}
  .cta-band .btn--lg:hover::before{opacity:1;animation:btnLimeWave 1.7s var(--ease-in-out) infinite}
}

/* ============ FAQ ============ */
.faq{display:grid;gap:var(--space-xs);max-width:820px}
.faq__item{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper-2);overflow:hidden}
.band .faq__item{background:var(--color-paper-2)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);
  padding:1.1em 1.3em;font-weight:600;list-style:none;cursor:pointer;transition:color var(--dur-fast) var(--ease-out)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--color-accent)}
.faq__sign{position:relative;flex:none;width:16px;height:16px}
.faq__sign::before,.faq__sign::after{content:"";position:absolute;background:var(--color-accent);border-radius:2px;transition:transform var(--dur-mid) var(--ease-out)}
.faq__sign::before{top:7px;left:0;width:16px;height:2px}
.faq__sign::after{left:7px;top:0;width:2px;height:16px}
.faq__item[open] .faq__sign::after{transform:scaleY(0)}
.faq__a{padding:0 1.3em 1.2em;color:var(--color-ink-soft);font-size:var(--text-sm)}

/* ============ BRIEF FORM ============ */
.brief{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-2xl);align-items:start}
.brief__title{font-size:var(--text-3xl);margin-bottom:var(--space-sm)}
.brief__lead{color:var(--color-ink-soft)}
.brief__form{display:grid;gap:var(--space-md)}
.field{display:grid;gap:6px}
.field__label{font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-soft)}
.field input,.field textarea{width:100%;font:inherit;color:var(--color-ink);
  background:var(--color-paper);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);
  padding:.8em .95em;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.band--tint .field input,.band--tint .field textarea{background:var(--color-white)}
.field input::placeholder,.field textarea::placeholder{color:var(--color-ink-faint)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-tint)}
.field textarea{resize:vertical;min-height:88px}
.form-note{font-weight:600;color:var(--color-accent-deep);background:var(--color-accent-tint);padding:.9em 1.1em;border-radius:var(--radius-sm)}

/* ============ FOOTER ============ */
.site-footer{background:var(--color-paper-2);border-top:1px solid var(--color-line);padding-block:var(--space-2xl) var(--space-lg)}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-xl)}
.site-footer__brand p{color:var(--color-ink-soft);font-size:var(--text-sm);max-width:34ch;margin:var(--space-sm) 0 var(--space-md)}
.socials{display:flex;gap:var(--space-xs)}
.socials a{display:grid;place-items:center;width:38px;height:38px;color:var(--color-ink-soft);
  border:1px solid var(--color-line);border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.socials a:hover{color:var(--color-accent);border-color:var(--color-accent);transform:translateY(-2px)}
.socials svg{width:20px;height:20px}
.site-footer__col{display:flex;flex-direction:column;gap:var(--space-xs)}
.site-footer__col .hud{margin-bottom:var(--space-2xs)}
.site-footer__col a{font-size:var(--text-sm);font-weight:600;color:var(--color-ink-soft);transition:color var(--dur-fast) var(--ease-out)}
.site-footer__col a:hover{color:var(--color-accent)}
.site-footer__base{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;
  margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--color-line);
  font-size:var(--text-sm);color:var(--color-ink-soft)}

/* ============ REVEAL (one orchestrated) ============ */
.has-reveal .reveal{opacity:0;transform:translateY(18px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.has-reveal .reveal.is-in{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .hero__grid{grid-template-columns:1fr;gap:var(--space-xl)}
  .hero__mark{order:-1}
  .hmono{width:min(52%,240px)}
  .approach{grid-template-columns:1fr;gap:var(--space-xl)}
  .brief{grid-template-columns:1fr;gap:var(--space-xl)}
  .services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platforms{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:680px){
  .nav__links{display:none}
  .nav{gap:var(--space-sm)}
  .nav__cta{margin-left:auto}
  .services{grid-template-columns:1fr}
  .platforms{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero__mark{display:none}
  .hero__meta{flex-direction:row}
  .hero__meta-deco{display:none}
  .site-footer__grid{grid-template-columns:1fr;gap:var(--space-lg)}
}
@media (max-width:380px){
  .hero__meta{flex-direction:column;gap:var(--space-sm)}
  .hud--right{text-align:left}
}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;scroll-behavior:auto !important}
  .has-reveal .reveal{opacity:1;transform:none;transition:opacity 120ms linear}
  .btn:hover,.svc:hover,.plat-chip:hover,.socials a:hover{transform:none}
}
