/* ========================================================================== 
   PHASE 2 — Awwwards polish / homepage direction
   Scoped primarily to .home-v2 so the original inner pages remain stable.
   ========================================================================== */
:root{
  --v2-pad:clamp(78px,8.5vw,138px);
  --v2-title:clamp(48px,6.4vw,98px);
  --v2-rule:rgba(0,0,0,.18);
  --v2-rule-light:rgba(255,255,255,.18);
}
body{cursor:auto}
.home-v2{background:var(--black)}
.home-v2 .section--white{background:var(--white);color:var(--black)}
.home-v2 .section--lime{background:var(--lime);color:var(--black)}

/* header v2 */
.site-header{top:16px;transition:transform .45s var(--ease)}
.site-header.is-hidden{transform:translateY(-120%)}
.nav-shell{width:min(1480px,calc(100% - 32px));min-height:68px;padding:7px 8px 7px 20px;background:rgba(0,0,0,.76);border-color:rgba(255,255,255,.15);box-shadow:none}
.brand{font-size:28px;letter-spacing:-.07em}
.brand-mark{width:9px;height:9px;background:var(--lime)}
.site-header .nav-links{gap:24px;font-size:12px;letter-spacing:.08em}
.site-header .nav-links a{position:relative;opacity:.68;padding:12px 0}
.site-header .nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:var(--lime);transition:right .28s var(--ease)}
.site-header .nav-links a:hover:after,.site-header .nav-links a.is-active:after{right:0}
.nav-cta{height:52px;padding:0 20px;background:var(--lime);font-size:12px;letter-spacing:.08em}
.nav-cta i{transition:transform .25s var(--ease)}
.nav-cta:hover i{transform:translate(3px,-3px)}

/* cursor */
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;z-index:5000;pointer-events:none;border-radius:999px;opacity:0;will-change:transform}
.cursor-dot{width:7px;height:7px;background:var(--lime);margin:-3.5px 0 0 -3.5px}
.cursor-ring{width:38px;height:38px;border:1px solid rgba(255,255,255,.5);margin:-19px 0 0 -19px;transition:width .25s,height .25s,margin .25s,background .25s,border-color .25s}
.cursor-ring.is-active{width:72px;height:72px;margin:-36px 0 0 -36px;background:rgba(198,255,51,.12);border-color:var(--lime)}
.cursor-ring.is-label:after{content:attr(data-label);position:absolute;inset:0;display:grid;place-items:center;color:var(--white);font:700 10px/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase}

/* transition */
.page-transition{position:fixed;inset:0;z-index:9000;pointer-events:none;display:flex;visibility:hidden}
.page-transition span{flex:1;transform:translateY(100%)}
.page-transition span:nth-child(1){background:var(--black)}
.page-transition span:nth-child(2){background:var(--violet)}
.page-transition span:nth-child(3){background:var(--lime)}

/* universal editorial rules */
.section-rule{padding:0 0 18px;border-bottom:1px solid var(--v2-rule);display:flex;align-items:center;justify-content:space-between;gap:24px;font:700 11px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:#3f3f3f}
.section-rule--dark{border-color:var(--v2-rule-light);color:#8b8b8b}
.section-rule--cta{border-color:rgba(0,0,0,.24);color:#151515}
.v2-section-title{font:700 var(--v2-title)/.92 var(--font-display);letter-spacing:-.065em;margin:0;color:var(--white)}
.v2-section-title span{color:#777}
.v2-section-title--dark{color:var(--black)}.v2-section-title--dark span{color:#777}
.text-link{display:inline-flex;align-items:center;gap:12px;font:700 12px/1 var(--font-ui);text-transform:uppercase;letter-spacing:.1em;color:var(--white);padding:8px 0;border-bottom:1px solid rgba(255,255,255,.5)}
.text-link i{font-size:11px;transition:transform .25s var(--ease)}
.text-link:hover i{transform:translateX(4px)}
.text-link--dark{color:var(--black);border-color:rgba(0,0,0,.35)}
.round-link{width:132px;height:132px;border-radius:50%;background:var(--lime);color:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;font:700 13px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.07em;transition:background .3s,color .3s}
.round-link i{font-size:15px}.round-link:hover{background:var(--white)}.round-link--dark{background:var(--black);color:var(--white)}.round-link--dark:hover{background:var(--violet)}

/* Phase 12.4 adaptive cursor: stay visible on black, white, lime and violet surfaces. */
.cursor-dot,.cursor-ring{mix-blend-mode:normal}
.cursor-dot.cursor-on-dark{background:var(--lime)}
.cursor-ring.cursor-on-dark{border-color:rgba(255,255,255,.72)}
.cursor-dot.cursor-on-light{background:#050505}
.cursor-ring.cursor-on-light{border-color:rgba(0,0,0,.62)}
.cursor-ring.cursor-on-light.is-active{background:rgba(0,0,0,.08);border-color:#050505}
.cursor-ring.cursor-on-light.is-label:after{color:#050505}
.cursor-dot.cursor-on-lime{background:var(--violet)}
.cursor-ring.cursor-on-lime{border-color:#050505}
.cursor-ring.cursor-on-lime.is-active{background:rgba(125,57,235,.15);border-color:var(--violet)}
.cursor-ring.cursor-on-lime.is-label:after{color:#050505}
