.nv-ph{position:relative;padding:190px 0 100px;overflow:hidden;background:radial-gradient(55% 60% at 85% 10%,rgba(124,58,237,.3),transparent 70%),var(--bg)}
.nv-ph .nv-h1{font-size:clamp(44px,9vw,140px);margin:26px 0 34px}
.nv-ph .nv-lead{max-width:640px}
/* services page */
.sp{padding:clamp(70px,10vw,140px) 0;border-top:1px solid var(--ln);position:relative}
.sp .nv-w{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.sp .big-n{font:700 clamp(90px,14vw,220px)/.8 var(--hf);color:transparent;-webkit-text-stroke:1px rgba(167,139,250,.5);letter-spacing:-.06em}
.sp h2{font:700 clamp(32px,4.6vw,70px)/.98 var(--hf);text-transform:uppercase;letter-spacing:-.035em;margin:26px 0 22px}
.sp .nv-lead{margin-bottom:34px}
.sp-inc{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-bottom:40px}
.sp-inc li{padding:15px 0;border-bottom:1px solid var(--ln);font-size:15px;color:var(--w);display:flex;gap:14px;align-items:center;transition:padding .4s var(--e),color .3s}
.sp-inc li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c);flex:none}
.sp-inc li:hover{padding-left:12px}
.sp-note{font:600 13px/1.5 var(--bf);letter-spacing:.04em;color:var(--sv);margin-bottom:30px}
.sp:nth-of-type(even){background:var(--obs)}
/* gallery */
.gl-f{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 50px}
.gl-f button{font:600 11px/1 var(--bf);letter-spacing:.2em;text-transform:uppercase;color:var(--mu);padding:14px 22px;border-radius:999px;border:1px solid var(--ln);background:rgba(255,255,255,.03);cursor:pointer;transition:all .4s var(--e)}
.gl-f button:hover{color:#fff;border-color:var(--sv)}.gl-f button.on{background:linear-gradient(120deg,var(--v),var(--b));border-color:transparent;color:#fff}
.gl-g{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,19vw,270px);gap:18px;grid-auto-flow:dense}
.gi{position:relative;border-radius:22px;overflow:hidden;background:var(--char);border:1px solid var(--ln);grid-column:span 1;grid-row:span 2;transition:opacity .5s,transform .8s var(--e);cursor:pointer}
.gi.w2{grid-column:span 2}.gi.wf{grid-column:1/-1;grid-row:span 2}.gi.t1{grid-row:span 1}.gi.t3{grid-row:span 3}
.gi.off{display:none}
.gi .vis{position:absolute;inset:0;transition:transform 1.2s var(--e);background:var(--bgp)}
.gi .vis::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 44px),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 44px)}
.gi .vis::after{content:'';position:absolute;width:44%;aspect-ratio:1;left:50%;top:44%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.25);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35),transparent 60%)}
.gi:hover .vis{transform:scale(1.1)}
.gi .ov{position:absolute;inset:0;padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,rgba(5,5,8,.15),rgba(5,5,8,.8))}
.gi .ov small{font:600 10px/1 var(--bf);letter-spacing:.24em;text-transform:uppercase;color:var(--sv)}
.gi .ov h3{font:700 clamp(18px,2vw,30px)/1.05 var(--hf);text-transform:uppercase;letter-spacing:-.02em;transform:translateY(12px);opacity:.0;transition:all .6s var(--e)}
.gi .ov .pn{font:600 12px var(--hf);color:var(--mu);letter-spacing:.2em}
.gi .ov .ar{position:absolute;right:20px;top:18px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;transform:translate(-8px,8px) scale(.7);opacity:0;transition:all .6s var(--e)}
.gi:hover .ov h3,.gi:focus-visible .ov h3{transform:none;opacity:1}.gi:hover .ov .ar{transform:none;opacity:1}
.gi .ov h3{opacity:.92;transform:none}
.gi:nth-child(5n+1) .vis{--bgp:linear-gradient(150deg,#2a1260,#0b0b12 70%)}.gi:nth-child(5n+2) .vis{--bgp:linear-gradient(150deg,#0e2a55,#0b0b12 70%)}.gi:nth-child(5n+3) .vis{--bgp:linear-gradient(150deg,#12384a,#0b0b12 70%)}.gi:nth-child(5n+4) .vis{--bgp:linear-gradient(150deg,#3a1a6e,#0b0b12 70%)}.gi:nth-child(5n) .vis{--bgp:linear-gradient(150deg,#1d2a6e,#0b0b12 70%)}
.gl-note{margin-top:34px;color:var(--mu);font-size:14px;max-width:560px}
@media(max-width:1024px){.gl-g{grid-template-columns:repeat(2,1fr)}.sp .nv-w{grid-template-columns:1fr;gap:30px}.sp-inc{grid-template-columns:1fr}}
@media(max-width:600px){.gl-g{grid-template-columns:1fr;grid-auto-rows:230px}.gi,.gi.w2,.gi.wf,.gi.t3{grid-column:1/-1;grid-row:span 1}}
/* contact */
.ct{padding-bottom:140px}
.ct .nv-w{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:start}
.nv-form{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px}
.nv-form .f{position:relative}.nv-form .full{grid-column:1/-1}
.nv-form label{display:block;font:600 10.5px/1 var(--bf);letter-spacing:.24em;text-transform:uppercase;color:var(--sv);margin-bottom:12px}
.nv-form input,.nv-form select,.nv-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.22);padding:10px 0 14px;color:#fff;font:500 17px var(--bf);border-radius:0;outline:0;transition:border-color .4s}
.nv-form select option{background:#0b0b12}
.nv-form textarea{min-height:130px;resize:vertical}
.nv-form input:focus,.nv-form select:focus,.nv-form textarea:focus{border-color:var(--c)}
.nv-form .hp{position:absolute;left:-9999px}
.nv-form button{justify-self:start}
.nv-msg{padding:18px 22px;border-radius:16px;margin-bottom:34px;font-size:15px;border:1px solid}
.nv-msg.ok{border-color:rgba(94,231,255,.5);background:rgba(94,231,255,.08)}.nv-msg.er{border-color:rgba(255,120,120,.5);background:rgba(255,120,120,.08)}
.ct-i{position:sticky;top:120px;padding:38px;border-radius:28px;border:1px solid var(--ln);background:radial-gradient(80% 60% at 100% 0,rgba(124,58,237,.25),transparent),var(--char)}
.ct-i h3{font:700 22px var(--hf);letter-spacing:.22em;margin-bottom:30px}
.ct-i dl{margin:0}.ct-i dt{font:600 10px/1 var(--bf);letter-spacing:.26em;text-transform:uppercase;color:var(--sv);margin:24px 0 8px}.ct-i dd{margin:0;font-size:17px}.ct-i dd a{border-bottom:1px solid var(--ln);transition:border-color .3s}.ct-i dd a:hover{border-color:var(--c)}
@media(max-width:1024px){.ct .nv-w{grid-template-columns:1fr;gap:50px}.ct-i{position:relative;top:0}}
@media(max-width:600px){.nv-form{grid-template-columns:1fr}}
.lg{padding:200px 0 160px;min-height:80vh}.lg h1{font:700 clamp(36px,6vw,84px)/1 var(--hf);text-transform:uppercase;letter-spacing:-.03em;margin:22px 0 30px}.lg p{color:var(--mu);max-width:620px}

/* gallery media */
.gi.m .vis::before,.gi.m .vis::after{display:none}
.gi.m .vis img,.gi.m .vis video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block;background:#0a0a12}
.gi.m .vis video{object-position:center}
.gi.m{display:block;text-decoration:none;color:inherit}
.gi:focus-visible{outline:2px solid var(--c);outline-offset:3px}
.nv-lb{position:fixed;inset:0;z-index:2500;background:rgba(5,5,8,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.nv-lb.on{opacity:1;visibility:visible}
.nv-lb video{max-height:80vh;max-width:92vw;border-radius:20px;background:#000;box-shadow:0 40px 120px -30px rgba(124,58,237,.6)}
.nv-lb p{font:600 12px/1 var(--bf);letter-spacing:.22em;text-transform:uppercase;color:var(--mu)}
.nv-lb-x{position:absolute;top:22px;right:22px;font:700 11px/1 var(--bf);letter-spacing:.2em;text-transform:uppercase;color:#fff;padding:14px 20px;border-radius:999px;border:1px solid var(--ln);background:rgba(255,255,255,.06);cursor:pointer}
@media(max-width:600px){.gl-g{grid-auto-rows:340px}}

/* legal doc */
.lg{min-height:0}
.lg-doc{max-width:860px}
.lg .lg-doc p,.lg .lg-doc li{color:var(--mu);font-size:16.5px;line-height:1.75;max-width:none}
.lg .lg-doc p strong,.lg .lg-doc li strong{color:var(--w);font-weight:600}
.lg .lg-doc .lg-up{font:600 12px/1 var(--bf);letter-spacing:.2em;text-transform:uppercase;color:var(--sv);margin:-6px 0 46px}
.lg .lg-doc h2{font:700 clamp(22px,2.4vw,30px)/1.15 var(--hf);letter-spacing:-.02em;text-transform:none;margin:48px 0 14px;color:var(--w)}
.lg .lg-doc p{margin:0 0 16px}
.lg .lg-doc ul{margin:0 0 18px;padding-left:0}
.lg .lg-doc li{position:relative;padding:8px 0 8px 26px;border-bottom:1px solid var(--ln)}
.lg .lg-doc li::before{content:'';position:absolute;left:4px;top:19px;width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.lg .lg-doc a{color:var(--sv);border-bottom:1px solid rgba(167,139,250,.4)}
.lg .lg-doc a:hover{color:var(--c)}
