/* ==========================================================================
   NXTG - pages.css
   Komposisi per halaman: hero beranda, orbit divisi, panel seni angkasa,
   blok alasan, penawaran, konsultasi, kontak, detail karya, halaman status.
   ========================================================================== */

/* ---- Hero beranda (terpusat, planet di belakang judul) -------------------- */
.nxtg-hero{padding-block:clamp(3.5rem,2rem + 6vw,8rem) clamp(3.5rem,2rem + 5vw,7rem);text-align:center;background:
  radial-gradient(45% 40% at 12% 8%,rgba(0,111,255,.10),transparent 70%),
  radial-gradient(40% 45% at 92% 18%,rgba(20,41,79,.08),transparent 70%),var(--nxtg-bg)}
[data-bs-theme=dark] .nxtg-hero{background:radial-gradient(70% 60% at 50% 38%,rgba(20,41,79,.9),transparent 72%),var(--nxtg-bg)}
.nxtg-hero .nxtg-planet{--planet-top:clamp(9rem,6rem + 9vw,15rem);--planet-size:min(1080px,165vw)}
.nxtg-hero__title{max-width:17ch;margin:0 auto}
.nxtg-hero__title .nxtg-grad{display:inline-block}
.nxtg-hero__sub{margin:1.6rem auto 0;max-width:58ch}
.nxtg-hero .nxtg-consult{margin-top:clamp(2.25rem,1.5rem + 2vw,3.25rem)}
.nxtg-hero__services{margin-top:clamp(4rem,3rem + 5vw,7.5rem);text-align:left}
.nxtg-feat-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0}
@media (min-width:640px){.nxtg-feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:992px){.nxtg-feat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.nxtg-feat-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}.nxtg-feat-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1200px){.nxtg-feat-grid--5 .nxtg-feat__title{font-size:var(--nxtg-fs-title-md)}}
.nxtg-hero__services .nxtg-feat{min-height:100%}

/* Kelima kartu divisi memakai satu jalur baris bersama (subgrid) supaya area
   judul, awal deskripsi, dan CTA sejajar walau panjang judul berbeda per
   divisi/bahasa - lihat catatan .nxtg-feat di components.css. Baris ditulis
   EKSPLISIT, bukan auto-placement, karena .nxtg-feat__text hanya dirender bila
   layanan punya tagline: tanpa nomor baris, kartu tanpa tagline akan menaikkan
   CTA-nya satu baris dan justru merusak kesejajaran yang sedang diperbaiki.
   Fallback tanpa subgrid (Safari <16) tetap memakai flex-column di atas. */
@supports (grid-template-rows: subgrid){
  /* row-gap:0 wajib: item subgrid MEWARISI gap induk, jadi gap 1,25rem yang
     dimaksudkan sebagai jarak antar-kartu ikut masuk ke empat celah baris di
     DALAM kartu dan menambah tinggi kartu 80px. Jarak antar-baris kartu di
     tingkat induk tidak terpengaruh. */
  .nxtg-feat-grid--5>li,
  .nxtg-feat-grid--4>li{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0}
  .nxtg-feat-grid--5>li>.nxtg-feat,
  .nxtg-feat-grid--4>li>.nxtg-feat{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;height:auto}
  .nxtg-feat-grid--5>li>.nxtg-feat>.nxtg-feat__tag,
  .nxtg-feat-grid--4>li>.nxtg-feat>.nxtg-feat__tag{grid-row:1}
  .nxtg-feat-grid--5>li>.nxtg-feat>.nxtg-glyph,
  .nxtg-feat-grid--4>li>.nxtg-feat>.nxtg-glyph{grid-row:2}
  .nxtg-feat-grid--5>li>.nxtg-feat>.nxtg-feat__title,
  .nxtg-feat-grid--4>li>.nxtg-feat>.nxtg-feat__title{grid-row:3}
  .nxtg-feat-grid--5>li>.nxtg-feat>.nxtg-feat__text,
  .nxtg-feat-grid--4>li>.nxtg-feat>.nxtg-feat__text{grid-row:4}
  /* margin-top:auto milik versi flex tidak diperlukan lagi di grid. */
  .nxtg-feat-grid--5>li>.nxtg-feat>.nxtg-feat__more,
  .nxtg-feat-grid--4>li>.nxtg-feat>.nxtg-feat__more{grid-row:5;margin-top:0;align-self:end}
}

/* ---- Orbit lima divisi ---------------------------------------------------- */
/* Lebar dikurangi ruang chip (48px tiap sisi): simpul cincin terluar masih
   boleh menyembul keluar kotak figure - termasuk saat lapis WebGL memperbesar
   jari-jari semunya di sisi terdekat kamera - tanpa memotong layar. */
.nxtg-orbit{position:relative;container-type:inline-size;width:calc(100% - 96px);max-width:560px;aspect-ratio:1;margin-inline:auto}
.nxtg-orbit::before{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(0,111,255,.16),transparent 68%)}
[data-bs-theme=dark] .nxtg-orbit::before{background:radial-gradient(circle,rgba(0,111,255,.32),transparent 68%)}
/* Cincin digambar dari --r (jari-jari, cqw) yang SAMA dengan simpulnya, jadi
   menambah/menggeser lintasan cukup diubah di satu tempat: orbit.blade.php. */
.nxtg-orbit__ring{position:absolute;left:50%;top:50%;width:calc(var(--r) * 2);aspect-ratio:1;margin:calc(var(--r) * -1) 0 0 calc(var(--r) * -1);border-radius:50%;border:1px solid var(--nxtg-border-strong)}
[data-bs-theme=dark] .nxtg-orbit__ring{border-color:rgba(102,168,255,.22)}
.nxtg-orbit__ring--2{border-style:dashed;opacity:.55}
.nxtg-orbit__ring--3{border-color:color-mix(in srgb,var(--nxtg-accent) 35%,transparent)}
.nxtg-orbit__ring--1::after,.nxtg-orbit__ring--2::after{content:'';position:absolute;top:50%;left:-4px;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--nxtg-accent);box-shadow:0 0 14px 2px rgba(0,111,255,.55)}
.nxtg-orbit__ring--2::after{left:auto;right:-4px}
.nxtg-orbit__core{position:absolute;inset:37%;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 34% 28%,#2B86FF,#005CE0 50%,#14294F 100%);box-shadow:0 0 0 12px rgba(0,111,255,.07),0 0 0 26px rgba(0,111,255,.04),0 20px 70px -10px rgba(0,111,255,.6)}
.nxtg-orbit__core img{width:66%;height:auto;filter:brightness(0) invert(1)}
/* Satu lapis pemutar per cincin: tiap lintasan punya periodenya sendiri
   (--dur), dan chip memutar balik dengan periode yang sama supaya tetap tegak. */
.nxtg-orbit__spin{position:absolute;inset:0;animation:nxtg-spin var(--dur,42s) linear infinite}
.nxtg-orbit__node{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a)))}
.nxtg-orbit__chip{position:absolute;left:-32px;top:-32px;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--nxtg-surface);border:1px solid var(--nxtg-card-border);box-shadow:0 18px 40px -20px rgba(20,41,79,.45);color:var(--div-accent);animation:nxtg-spin var(--dur,42s) linear infinite reverse}
[data-bs-theme=dark] .nxtg-orbit__chip{background:#151B23;border-color:rgba(102,168,255,.28);box-shadow:0 0 30px -6px rgba(0,111,255,.45)}
.nxtg-orbit__chip svg{width:28px;height:28px}
.nxtg-orbit__label{position:absolute;top:calc(100% + .5rem);left:50%;transform:translateX(-50%);padding:.25rem .6rem;border-radius:12px;background:var(--nxtg-surface);border:1px solid var(--nxtg-card-border);color:var(--nxtg-text);font-size:var(--nxtg-fs-meta);font-weight:600;width:max-content;max-width:148px;text-align:center;line-height:1.35}
[data-bs-theme=dark] .nxtg-orbit__label{background:#151B23}
@container (max-width:460px){.nxtg-orbit__label{display:none}.nxtg-orbit__chip{left:-24px;top:-24px;width:48px;height:48px}.nxtg-orbit__chip svg{width:22px;height:22px}}
@keyframes nxtg-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.nxtg-orbit__spin,.nxtg-orbit__chip{animation:none}}

/* Lapis WebGL orbit (public/js/landing/scene3d.js).
   Kanvas TIDAK boleh diberi transform CSS - itu hanya menskew piksel yang sudah
   dirender, bukan 3D; kemiringan dilakukan di dalam adegan three.js. Ukuran
   kanvas dipesan lewat inset+aspect kotak induk sebelum skrip jalan, jadi tidak
   ada layout shift ketika kanvas mulai menggambar. Logo (z-index 1) dan chip
   (z-index 2, dinaikkan per-simpul sesuai kedalaman) duduk DI ATAS kanvas
   (z-index 0), jadi label tidak pernah terhalang objek 3D. */
/* Kanvas sengaja 9% lebih besar dari kotak figure di tiap sisi: sisi lintasan
   yang paling dekat kamera memproyeksikan diri melewati tepi figure dan akan
   terpotong kalau kanvasnya pas. Adegan mengoreksi skalanya dari selisih ini,
   jadi jari-jari di layar tetap sama persis dengan --r milik CSS. */
/* width/height ditulis eksplisit: kanvas adalah elemen replaced, jadi
   inset + width:auto akan jatuh ke ukuran intrinsik 300x150, bukan meregang. */
.nxtg-gl--orbit{left:-9%;top:-9%;right:auto;bottom:auto;width:118%;height:118%;z-index:0}
.nxtg-orbit__core{z-index:1}
.nxtg-orbit__spin{z-index:2}
/* Cincin CSS memudar keluar hanya SETELAH frame WebGL pertama berhasil. */
.nxtg-orbit[data-gl=ready] .nxtg-orbit__ring{opacity:0;transition:opacity .5s ease}
/* WebGL memproyeksikan posisi ikon dari bidang cincin setiap frame.
   Matikan kedua animasi CSS agar ikon dan label tetap tegak. */
.nxtg-orbit[data-gl=ready] .nxtg-orbit__spin,
.nxtg-orbit[data-gl=ready] .nxtg-orbit__chip{animation:none}
/* Jeda tanpa tombol: menyorot atau memfokus orbit menghentikan gerakan -
   berlaku untuk versi CSS (di sini) maupun versi WebGL (scene3d.js). */
.nxtg-orbit:hover .nxtg-orbit__spin,.nxtg-orbit:hover .nxtg-orbit__chip,
.nxtg-orbit:focus-within .nxtg-orbit__spin,.nxtg-orbit:focus-within .nxtg-orbit__chip{animation-play-state:paused}

/* ---- Panel seni angkasa (pengganti foto: selalu gelap) ------------------- */
.nxtg-art{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:clamp(340px,36vw,560px);height:100%;border-radius:var(--nxtg-radius-panel);background:radial-gradient(80% 70% at 60% 25%,rgba(0,111,255,.30),transparent 70%),radial-gradient(70% 60% at 10% 100%,rgba(20,41,79,.9),transparent 70%),#0B0F14;color:#FFFFFF}
.nxtg-art .nxtg-planet{--planet-top:58%;--planet-size:150%}
.nxtg-art__glyph{position:relative;z-index:2;width:clamp(96px,26%,170px);height:auto;margin-bottom:10%;color:#FFFFFF;filter:drop-shadow(0 0 22px rgba(80,160,255,.85)) drop-shadow(0 0 60px rgba(0,111,255,.6))}
.nxtg-art__glyph .nxtg-mark{width:100%;height:auto;stroke-width:1.6}
.nxtg-art__card{position:absolute;z-index:3;left:clamp(1rem,3vw,1.75rem);bottom:clamp(1rem,3vw,1.75rem);max-width:min(320px,calc(100% - 2rem));padding:1.1rem 1.25rem;border:1px solid rgba(167,178,190,.2);border-radius:var(--nxtg-radius-card);background:rgba(21,27,35,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:left;color:#FFFFFF}
.nxtg-art__card--right{left:auto;right:clamp(1rem,3vw,1.75rem)}
.nxtg-art__card-title{margin:0 0 .75rem;font-family:var(--nxtg-font-display);font-size:var(--nxtg-fs-base);font-weight:700;color:#FFFFFF}
.nxtg-art__card ol,.nxtg-art__card ul{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}
.nxtg-art__card li{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.55rem;border-bottom:1px solid rgba(167,178,190,.18);font-size:var(--nxtg-fs-sm);color:#E6ECF5}
.nxtg-art__card li:last-child{border-bottom:0;padding-bottom:0}
.nxtg-art__card li span:last-child{color:#66A8FF;font-weight:600}
.nxtg-art__caption{position:absolute;z-index:3;left:0;right:0;bottom:1.25rem;text-align:center;font-size:var(--nxtg-fs-caption);color:#A7B2BE}

/* ---- Panggung per divisi (nxtg-art--*) -------------------------------------
   Setiap divisi mendapat komposisi visualnya sendiri (lihat art.blade.php)
   alih-alih satu latar angkasa generik untuk semua. Web Development & SaaS
   tetap memakai skema 'space' default di atas. */

/* Digital Marketing & Ads - kertas grafik + tren naik + chip metrik. */
.nxtg-art--chart{background:radial-gradient(120% 90% at 12% 0%,rgba(0,111,255,.24),transparent 60%),linear-gradient(160deg,#101B3D,#0B0F14 72%)}
.nxtg-art__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(102,168,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(102,168,255,.14) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:linear-gradient(to top,#000,transparent 92%);mask-image:linear-gradient(to top,#000,transparent 92%)}
.nxtg-art__chart{position:relative;z-index:1;width:min(78%,320px);color:#66A8FF;filter:drop-shadow(0 8px 20px rgba(0,111,255,.5))}
.nxtg-art__chart-line{stroke-dasharray:520;stroke-dashoffset:520;animation:nxtg-chart-draw 2.4s var(--nxtg-ease) .2s forwards}
.nxtg-art__chart-dot{opacity:0;animation:nxtg-chart-dot .5s ease forwards;animation-delay:calc(.3s + var(--dot-delay))}
@keyframes nxtg-chart-draw{to{stroke-dashoffset:0}}
@keyframes nxtg-chart-dot{to{opacity:1}}
.nxtg-art__chip{position:absolute;z-index:2;padding:.5rem .9rem;border-radius:999px;background:rgba(21,27,35,.78);border:1px solid rgba(167,178,190,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#C9D2DC;font-size:var(--nxtg-fs-meta);font-weight:600;white-space:nowrap}
.nxtg-art__chip strong{color:#FFFFFF;font-family:var(--nxtg-font-display)}
.nxtg-art__chip--tl{top:clamp(1rem,4vw,1.75rem);left:clamp(1rem,4vw,1.75rem)}
.nxtg-art__chip--br{bottom:clamp(1rem,4vw,1.75rem);right:clamp(1rem,4vw,1.75rem)}

/* Desain Grafis - bidang kerja miring, palet warna, goresan & kursor pena. */
.nxtg-art--canvas{background:radial-gradient(90% 70% at 82% 12%,rgba(102,168,255,.24),transparent 60%),linear-gradient(155deg,#12142E,#0B0F14 75%)}
.nxtg-art__stroke{position:absolute;top:58%;left:-12%;width:75%;height:26px;background:linear-gradient(90deg,transparent,rgba(102,168,255,.55),transparent);border-radius:999px;transform:rotate(-14deg);filter:blur(6px)}
.nxtg-art__board{position:relative;z-index:1;display:grid;place-items:center;width:clamp(150px,42%,220px);aspect-ratio:3/4;border:2px solid rgba(255,255,255,.85);border-radius:14px;transform:rotate(-6deg);box-shadow:0 20px 50px -18px rgba(0,111,255,.6)}
.nxtg-art__board-glyph{width:46%;height:auto;color:#FFFFFF}
.nxtg-art__board-dot{position:absolute;top:.85rem;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.7)}
.nxtg-art__board-dot:nth-child(1){left:.85rem}
.nxtg-art__board-dot:nth-child(2){left:calc(.85rem + 14px)}
.nxtg-art__board-dot:nth-child(3){left:calc(.85rem + 28px)}
.nxtg-art__board-ruler{position:absolute;left:-14px;top:10%;bottom:10%;width:1px;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.5) 0 2px,transparent 2px 10px)}
.nxtg-art__swatch{position:absolute;border-radius:50%;box-shadow:0 10px 30px -10px rgba(0,111,255,.7)}
.nxtg-art__swatch--1{top:12%;left:9%;width:56px;height:56px;background:radial-gradient(circle at 35% 30%,#66A8FF,#005CE0 70%)}
.nxtg-art__swatch--2{bottom:15%;left:15%;width:34px;height:34px;background:radial-gradient(circle at 35% 30%,#B7D6FF,#2E86FF 70%)}
.nxtg-art__swatch--3{top:18%;right:11%;width:26px;height:26px;background:radial-gradient(circle at 35% 30%,#FFFFFF,#66A8FF 70%)}
.nxtg-art__cursor{position:absolute;z-index:2;bottom:13%;right:13%;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(21,27,35,.78);border:1px solid rgba(167,178,190,.25);color:#66A8FF;transform:rotate(8deg)}
.nxtg-art__cursor svg{width:20px;height:20px}

/* Jaringan - kisi teknis + topologi node & kabel (bukan bintang). */
.nxtg-art--network[data-gl=ready] .nxtg-art__topology,
.nxtg-art--network[data-gl=ready] .nxtg-art__gridlines{opacity:0;transition:opacity .6s ease}
.nxtg-art__board[data-gl=ready] .nxtg-art__board-glyph{opacity:0;transition:opacity .6s ease}
.nxtg-art--network{background:radial-gradient(90% 70% at 50% 100%,rgba(20,41,79,.9),transparent 70%),#0B0F14}
.nxtg-art__gridlines{position:absolute;inset:0;background-image:linear-gradient(rgba(102,168,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(102,168,255,.16) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:radial-gradient(80% 80% at 50% 45%,#000,transparent 90%);mask-image:radial-gradient(80% 80% at 50% 45%,#000,transparent 90%)}
.nxtg-art__topology{position:relative;z-index:1;width:min(80%,320px);color:#66A8FF;filter:drop-shadow(0 0 14px rgba(0,111,255,.55))}
.nxtg-art__topology-lines path{stroke-dasharray:140;stroke-dashoffset:140;animation:nxtg-net-line .8s ease forwards}
.nxtg-art__topology-lines path:nth-child(1){animation-delay:.1s}
.nxtg-art__topology-lines path:nth-child(2){animation-delay:.25s}
.nxtg-art__topology-lines path:nth-child(3){animation-delay:.4s}
.nxtg-art__topology-lines path:nth-child(4){animation-delay:.55s}
.nxtg-art__topology-lines path:nth-child(5){animation-delay:.7s}
@keyframes nxtg-net-line{to{stroke-dashoffset:0}}
.nxtg-art__node{fill:rgba(11,15,20,.65);opacity:0;animation:nxtg-net-node .4s ease forwards;animation-delay:calc(.5s + var(--node-delay))}
@keyframes nxtg-net-node{to{opacity:1}}
.nxtg-art__node-hub{animation:nxtg-net-pulse 2.2s ease-in-out infinite}
@keyframes nxtg-net-pulse{0%,100%{opacity:1;filter:drop-shadow(0 0 4px currentColor)}50%{opacity:.6;filter:drop-shadow(0 0 14px currentColor)}}

/* SaaS - kartu aplikasi bertumpuk di atas latar angkasa (bukan satu glyph). */
.nxtg-appstack{position:relative;z-index:1;width:min(84%,320px);aspect-ratio:4/3}
/* Ukuran DIKECILKAN dari kotak induknya (bukan inset:0) supaya benar-benar
   berjejer diagonal alih-alih saling menutup penuh; konten (bar+ikon+label)
   sengaja di bagian ATAS kartu karena bagian bawah tiap kartu adalah yang
   akan tertutup kartu berikutnya. */
.nxtg-appcard{position:absolute;width:68%;aspect-ratio:4/3.1;display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.25rem;border-radius:16px;background:#151B23;border:1px solid rgba(167,178,190,.25);color:#FFFFFF;box-shadow:0 24px 46px -20px rgba(0,0,0,.6)}
.nxtg-appcard__bar{width:2rem;height:5px;border-radius:999px;background:#66A8FF}
.nxtg-appcard__icon{width:22px;height:22px;color:#66A8FF;margin-top:.15rem}
.nxtg-appcard__label{font-family:var(--nxtg-font-display);font-weight:700;font-size:var(--nxtg-fs-base)}
.nxtg-appcard--1{top:6%;left:3%;transform:rotate(-9deg);z-index:1}
.nxtg-appcard--2{top:19%;left:18%;transform:rotate(3deg);z-index:2}
.nxtg-appcard--3{top:32%;left:33%;transform:rotate(11deg);z-index:3;box-shadow:0 30px 60px -18px rgba(0,0,0,.7)}

/* Web Development - panel dibingkai jendela browser (identitas "web" dari
   bentuknya, bukan cuma teks). */
.nxtg-browser-frame{border-radius:var(--nxtg-radius-panel);overflow:hidden;border:1px solid var(--nxtg-card-border);box-shadow:var(--nxtg-card-shadow)}
.nxtg-browser-frame__bar{display:flex;align-items:center;gap:.4rem;padding:.75rem 1rem;background:#151B23}
.nxtg-browser-frame__bar span{width:9px;height:9px;border-radius:50%;background:#3B4A5E}
.nxtg-browser-frame__url{margin-left:.75rem;display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .75rem;border-radius:999px;background:rgba(255,255,255,.06);color:#A7B2BE;font-size:var(--nxtg-fs-micro);font-family:var(--nxtg-font-body)}
.nxtg-browser-frame__url svg{width:12px;height:12px}
.nxtg-browser-frame__body.nxtg-art{border-radius:0}

/* Kemiringan 3D mengikuti kursor (tilt.js) - lihat komentar file JS-nya:
   hanya menulis custom property, transform tetap didefinisikan di sini per
   elemen supaya tidak menimpa rotasi dasarnya sendiri (kartu "fan" dsb).
   perspective() ditaruh di dalam transform elemen yang sama (bukan properti
   perspective terpisah) karena tiap kartu di sini bertransformasi sendiri,
   bukan bagian dari adegan 3D berlapis. */
.nxtg-art[data-tilt],.nxtg-browser-frame[data-tilt],.nxtg-fan__card[data-tilt]{transition:transform .3s ease-out}
.nxtg-art[data-tilt],.nxtg-browser-frame[data-tilt]{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.nxtg-work[data-tilt]{transition:transform .3s ease-out,box-shadow .4s ease}
.nxtg-work[data-tilt]:hover{transform:translateY(-4px) perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}

/* ---- Split tentang / layanan ---------------------------------------------- */
.nxtg-split{display:grid;gap:clamp(2.5rem,2rem + 3vw,5rem);align-items:center}
@media (min-width:992px){.nxtg-split{grid-template-columns:1fr 1fr}.nxtg-split--rev>:first-child{order:2}}
.nxtg-split .nxtg-checks{margin-top:1.75rem}
.nxtg-split .nxtg-actions-row{margin-top:2.25rem}
.nxtg-intro-centered{max-width:44rem}
.nxtg-intro-centered .nxtg-lead,.nxtg-intro-centered .nxtg-muted{max-width:none}

/* Digital Marketing - strip "dasbor" lebar penuh: grafik + kartu KPI,
   pola dasbor analitik agensi (bukan split klasik teks/gambar). */
.nxtg-dm-dash{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:clamp(2.5rem,2rem + 2vw,4rem)}
@media (min-width:992px){.nxtg-dm-dash{grid-template-columns:1.7fr 1fr;align-items:stretch}}
.nxtg-dm-dash__kpis{display:grid;gap:1rem;align-content:start;margin:0;padding:0;list-style:none}
.nxtg-kpi{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.25rem;border:1px solid var(--nxtg-card-border);border-radius:var(--nxtg-radius-card);background:var(--nxtg-surface-2)}
.nxtg-kpi__icon{width:22px;height:22px;color:var(--nxtg-accent)}
.nxtg-kpi__title{font-family:var(--nxtg-font-display);font-weight:700}
.nxtg-kpi__desc{color:var(--nxtg-text-muted);font-size:var(--nxtg-fs-sm)}

/* Jaringan - panel skematik lebar penuh + label spek ala anotasi gambar
   teknik (bukan kartu bulat lembut generik). */
.nxtg-blueprint{margin-top:clamp(2.5rem,2rem + 2vw,4rem)}
.nxtg-blueprint__art{aspect-ratio:16/7;min-height:0}
.nxtg-blueprint__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:1.5rem 0 0;padding:0;list-style:none}
.nxtg-blueprint__tags li{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;border:1px dashed var(--nxtg-border-strong);border-radius:999px;font-family:var(--nxtg-font-mono,monospace);font-size:var(--nxtg-fs-meta);font-weight:500;color:var(--nxtg-text-muted)}
.nxtg-blueprint__tags svg{width:14px;height:14px;color:var(--nxtg-accent)}

/* Desain Grafis - tata letak editorial asimetris: judul besar di satu sisi,
   "kipas" tiga kartu karya bertumpuk-miring di sisi lain. */
.nxtg-split--design{align-items:start}
@media (min-width:992px){.nxtg-split--design{grid-template-columns:.95fr 1.05fr}}
.nxtg-h2--display{font-size:var(--nxtg-fs-h1);line-height:1.05}
.nxtg-fan{position:relative;min-height:clamp(340px,36vw,460px)}
.nxtg-fan__card{position:absolute;width:min(60%,280px);border-radius:18px;box-shadow:var(--nxtg-card-shadow)}
.nxtg-fan__card--1,.nxtg-fan__card--3{top:8%;display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;aspect-ratio:3/4;padding:1.25rem;background:linear-gradient(155deg,var(--div-accent,#2440A8),#0B0F14);color:#FFFFFF;font-family:var(--nxtg-font-display);font-weight:700}
.nxtg-fan__card--1{left:0;transform:rotate(-9deg);z-index:1}
.nxtg-fan__card--3{right:0;transform:rotate(9deg);z-index:1}
.nxtg-fan__icon{width:26px;height:26px}
.nxtg-fan__card--2{left:50%;top:0;transform:translateX(-50%);z-index:2;overflow:hidden}
.nxtg-fan__card--2 .nxtg-art{min-height:0;aspect-ratio:3/4;border-radius:18px}
@media (max-width:575.98px){.nxtg-fan__card{width:52%}.nxtg-fan__card--1{left:-4%}.nxtg-fan__card--3{right:-4%}}

/* ---- Blok alasan (kiri teks + angka, kanan kartu bertumpuk) ---------------- */
.nxtg-why{display:grid;gap:clamp(2.5rem,2rem + 3vw,4.5rem)}
@media (min-width:992px){.nxtg-why{grid-template-columns:1fr 1.05fr;align-items:start}.nxtg-why__intro{position:sticky;top:calc(var(--nxtg-header-h) + 2rem)}}
.nxtg-why__intro .nxtg-actions-row{margin-top:2rem}
.nxtg-why__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2.5rem 0 0;padding:0;list-style:none}
.nxtg-why__list{display:grid;gap:1.1rem;margin:0;padding:0;list-style:none}

/* ---- Kapabilitas (judul bergaris kiri-kanan + marquee) ------------------- */
.nxtg-caps__title{display:flex;align-items:center;gap:1.25rem;margin:0 0 2rem;font-family:var(--nxtg-font-display);font-size:var(--nxtg-fs-md);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--nxtg-text)}
.nxtg-caps__title::before{content:'';flex:0 0 clamp(1.5rem,4vw,3.5rem);height:1px;background:var(--nxtg-border-strong)}
.nxtg-caps__title::after{content:'';flex:1;height:1px;background:var(--nxtg-border-strong)}

/* ---- Karya pilihan ---------------------------------------------------------*/
.nxtg-works-head{text-align:center}
.nxtg-works-foot{display:flex;justify-content:center;margin-top:clamp(2rem,1.5rem + 2vw,3rem)}

/* ---- Proses (daftar bernomor + panel seni) -------------------------------- */
.nxtg-process{display:grid;gap:clamp(2.5rem,2rem + 3vw,5rem);align-items:stretch}
@media (min-width:992px){.nxtg-process{grid-template-columns:1.05fr 1fr}}
.nxtg-process .nxtg-steps{margin-top:2.25rem}

/* ---- Penawaran (busur cahaya biru + kartu) -------------------------------- */
.nxtg-offer{position:relative;display:grid;gap:clamp(2rem,1.5rem + 3vw,4rem);align-items:center}
@media (min-width:992px){.nxtg-offer{grid-template-columns:.95fr 1.05fr}}
.nxtg-offer__arc{position:absolute;z-index:-1;left:-12%;top:50%;width:min(720px,90vw);aspect-ratio:1;border-radius:50%;transform:translateY(-50%);border:clamp(40px,7vw,90px) solid transparent;background:conic-gradient(from 200deg,rgba(0,111,255,.0),rgba(0,111,255,.55),rgba(43,134,255,.25),rgba(0,111,255,0) 60%) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0);filter:blur(14px);opacity:.55;pointer-events:none}
[data-bs-theme=dark] .nxtg-offer__arc{opacity:.9}
.nxtg-offer__cards{display:grid;gap:1.25rem}
@media (min-width:768px){.nxtg-offer__cards{grid-template-columns:1fr 1fr}}
.nxtg-plan{display:flex;flex-direction:column;padding:clamp(1.5rem,1.2rem + 1vw,2.25rem)}
.nxtg-plan__badge{align-self:flex-end;margin:0 0 .75rem;padding:.3rem .7rem;border-radius:6px;background:#005CE0;color:#FFFFFF;font-size:var(--nxtg-fs-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.nxtg-plan__title{margin:0 0 .6rem;font-size:var(--nxtg-fs-title-lg)}
.nxtg-plan__text{margin:0 0 1.35rem;color:var(--nxtg-text-muted)}
.nxtg-plan .nxtg-checks{gap:.7rem;margin-bottom:1.75rem}
.nxtg-plan .nxtg-checks li{font-size:var(--nxtg-fs-base)}
.nxtg-plan .btn{margin-top:auto;align-self:flex-start}

/* ---- FAQ (panel kiri + akordeon) ------------------------------------------ */
.nxtg-faq{display:grid;gap:clamp(2rem,1.5rem + 3vw,4rem);align-items:start}
@media (min-width:992px){.nxtg-faq{grid-template-columns:.8fr 1.2fr}.nxtg-faq__aside{position:sticky;top:calc(var(--nxtg-header-h) + 2rem)}}
.nxtg-faq__aside .nxtg-art{min-height:clamp(320px,30vw,460px)}
.nxtg-faq__aside-text{margin-top:1.5rem}

/* ---- Konsultasi penutup beranda ------------------------------------------- */
.nxtg-consult-panel{display:grid;gap:clamp(2rem,1.5rem + 2vw,3rem);padding:clamp(1.25rem,1rem + 2vw,2.5rem)}
@media (min-width:992px){.nxtg-consult-panel{grid-template-columns:.9fr 1.1fr;align-items:start}}
.nxtg-consult-panel__intro{padding:clamp(.5rem,1vw,1rem)}
.nxtg-consult-panel__intro .nxtg-checks{margin-top:1.75rem}
.nxtg-consult-panel__contacts{display:grid;gap:1.25rem;margin:2rem 0 0;padding:1.75rem 0 0;border-top:1px solid var(--nxtg-border);list-style:none}
@media (min-width:576px){.nxtg-consult-panel__contacts{grid-template-columns:1fr 1fr}}
.nxtg-consult-panel__contacts li{display:flex;flex-direction:column;gap:.35rem}
.nxtg-consult-panel__contacts .nxtg-icon-badge{width:42px;height:42px;margin-bottom:.6rem}
.nxtg-consult-panel__contacts strong{font-family:var(--nxtg-font-display);font-size:var(--nxtg-fs-md)}
.nxtg-consult-panel__contacts a,.nxtg-consult-panel__contacts span{color:var(--nxtg-text-muted);text-decoration:none;overflow-wrap:anywhere}
.nxtg-consult-panel__contacts a:hover{color:var(--nxtg-primary);text-decoration:underline}
.nxtg-consult-panel__form{padding:clamp(1.25rem,1rem + 1.5vw,2.25rem);border-radius:var(--nxtg-radius-card);background:var(--nxtg-bg-alt);border:1px solid var(--nxtg-card-border)}
[data-bs-theme=dark] .nxtg-consult-panel__form{background:rgba(20,41,79,.45);border-color:rgba(102,168,255,.16)}

/* ---- Layanan: baris per divisi ------------------------------------------- */
.nxtg-svc-rows{display:grid;gap:clamp(4rem,3rem + 4vw,7rem);margin:0;padding:0;list-style:none}
.nxtg-svc-row__index{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--div-text);font-weight:600}
.nxtg-svc-row__index .nxtg-icon-badge{width:44px;height:44px}
.nxtg-svc-row__tagline{margin:1rem 0 .5rem;font-size:var(--nxtg-fs-title-xs);font-weight:600;color:var(--nxtg-text)}
.nxtg-feature{display:flex;flex-direction:column;gap:.25rem;height:100%;padding:clamp(1.35rem,1rem + 1vw,2rem)}
.nxtg-feature .nxtg-icon-badge{margin-bottom:1.25rem}
.nxtg-feature h3{margin:0 0 .5rem;font-size:var(--nxtg-fs-title-sm)}
.nxtg-feature p{margin:0;color:var(--nxtg-text-muted)}
.nxtg-item{padding:clamp(1.5rem,3vw,2.25rem);height:100%}
/* Nilai bebas dari admin (bisa berupa kalimat panjang, mis. "Biaya per lead
   Rp85.000") - dulu memakai gaya angka statistik besar (nxtg-stat__value) di
   grid sempit tanpa min-width:0, sehingga kolom saling menimpa. Sekarang
   selalu satu kolom pada layar sempit, dan setiap sel boleh menyusut/melipat
   di bawah lebar kontennya sendiri. */
.nxtg-metrics{display:grid;grid-template-columns:1fr;gap:1.1rem;margin:1.5rem 0 0}
@media (min-width:420px){.nxtg-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nxtg-metrics>div{min-width:0;padding-top:1rem;border-top:1px solid var(--nxtg-border-strong)}
.nxtg-metrics dt{font-size:var(--nxtg-fs-meta);color:var(--nxtg-text-muted);font-weight:600;letter-spacing:.02em}
.nxtg-metrics__value{display:block;margin-top:.4rem;font-family:var(--nxtg-font-display);font-size:var(--nxtg-fs-md);font-weight:700;line-height:1.35;color:var(--nxtg-text);overflow-wrap:anywhere;word-break:break-word}

/* ---- Portofolio: hasil & detail ------------------------------------------ */
.nxtg-results{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.5rem 1.5rem;margin:-1rem 0 2rem;text-align:center}
.nxtg-detail{display:grid;gap:clamp(2rem,1.5rem + 3vw,3.5rem);align-items:start}
@media (min-width:992px){.nxtg-detail{grid-template-columns:.72fr 1.28fr}.nxtg-detail__aside{position:sticky;top:calc(var(--nxtg-header-h) + 1.5rem)}}
.nxtg-facts{padding:clamp(1.5rem,1.2rem + 1.2vw,2.5rem);background:var(--nxtg-surface-2);border:1px solid var(--nxtg-card-border);border-radius:var(--nxtg-radius-card)}
[data-bs-theme=dark] .nxtg-facts{background:#151B23}
.nxtg-facts__title{margin:0 0 1.5rem;font-size:var(--nxtg-fs-title-lg)}
.nxtg-facts dl{margin:0}
.nxtg-facts dl>div{display:grid;grid-template-columns:7.5rem 1fr;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--nxtg-border)}
.nxtg-facts dt{font-weight:700;color:var(--nxtg-text)}
.nxtg-facts dd{margin:0;color:var(--nxtg-text-muted)}
.nxtg-facts dd a{color:var(--nxtg-text)}
.nxtg-facts__price{margin-top:1.5rem}
.nxtg-facts__price .nxtg-h4{margin:0 0 .9rem}
.nxtg-facts .d-grid{margin-top:1.5rem}
.nxtg-cover{position:relative;overflow:hidden;border-radius:var(--nxtg-radius-card);aspect-ratio:16/10;background:#0B0F14}
.nxtg-cover .nxtg-gallery{grid-template-columns:1fr}
.nxtg-cover .nxtg-gallery__link{aspect-ratio:16/10;border-radius:0}
.nxtg-cover .nxtg-gallery__caption{display:none}

/* Bingkai sampul per divisi (portfolio-cover.blade.php) - lihat juga
   .nxtg-browser-frame di components.css yang dipakai bersama di sini. */
.nxtg-pcover{transition:transform .3s ease-out}
.nxtg-pcover--browser,.nxtg-pcover--tab,.nxtg-pcover--blueprint{border-radius:var(--nxtg-radius-panel);overflow:hidden;box-shadow:var(--nxtg-card-shadow)}
.nxtg-pcover--browser{transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.nxtg-pcover--browser .nxtg-cover{border-radius:0}
.nxtg-pcover--tab{position:relative;transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.nxtg-pcover__tab{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:var(--nxtg-radius-panel) var(--nxtg-radius-panel) 0 0;background:#151B23;color:#FFFFFF;font-family:var(--nxtg-font-display);font-weight:700;font-size:var(--nxtg-fs-sm);box-shadow:var(--nxtg-card-shadow)}
.nxtg-pcover__tab-dot{width:10px;height:10px;border-radius:50%;background:var(--div-accent,#0A6CFF)}
.nxtg-pcover--tab .nxtg-cover{border-radius:0 0 var(--nxtg-radius-panel) var(--nxtg-radius-panel)}
.nxtg-pcover--dashboard{position:relative;transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.nxtg-pcover__badge{position:absolute;z-index:2;top:1.1rem;left:1.1rem;display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .85rem;border-radius:999px;background:rgba(11,15,20,.78);color:#FFFFFF;font-size:var(--nxtg-fs-meta);font-weight:600}
.nxtg-pcover__badge svg{width:15px;height:15px;color:#66A8FF}
.nxtg-pcover--frame{padding:.9rem;background:var(--nxtg-surface);border:1px solid var(--nxtg-card-border);border-radius:var(--nxtg-radius-panel);box-shadow:var(--nxtg-card-shadow);transform:rotate(-1.5deg) perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.nxtg-pcover--frame .nxtg-cover{border-radius:calc(var(--nxtg-radius-panel) - .6rem)}
.nxtg-pcover__caption{display:block;margin-top:.85rem;text-align:center;font-family:var(--nxtg-font-display);font-weight:700;color:var(--nxtg-text)}
.nxtg-pcover--blueprint{position:relative;transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.nxtg-pcover--blueprint .nxtg-cover{outline:2px dashed rgba(102,168,255,.55);outline-offset:-8px}
.nxtg-pcover__spec{position:absolute;z-index:2;bottom:1.1rem;left:1.1rem;display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .85rem;border-radius:999px;background:rgba(11,15,20,.78);color:#FFFFFF;font-family:var(--nxtg-font-mono,monospace);font-size:var(--nxtg-fs-meta)}
.nxtg-pcover__spec svg{width:14px;height:14px;color:#66A8FF}

.nxtg-story{display:grid;gap:2.25rem;margin-top:2.5rem}
.nxtg-story__label{display:flex;align-items:center;gap:.6rem;margin:0 0 .75rem;font-size:var(--nxtg-fs-title-sm)}
.nxtg-story__label svg{width:22px;height:22px;color:var(--nxtg-accent)}
.nxtg-story .rich-text{color:var(--nxtg-text-muted);font-size:var(--nxtg-fs-base);line-height:1.8}

/* Digital Marketing - garis waktu tersambung (proses/data bergerak), bukan
   daftar bertumpuk generik. */
.nxtg-story--timeline{position:relative;gap:2.5rem;padding-left:2.75rem;list-style:none}
.nxtg-story--timeline::before{content:'';position:absolute;left:.95rem;top:.4rem;bottom:.4rem;width:2px;background:var(--nxtg-border-strong)}
.nxtg-story--timeline li{position:relative}
.nxtg-story--timeline .nxtg-story__num{position:absolute;left:-2.75rem;top:0;display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--div-accent,var(--nxtg-accent));color:#FFFFFF;font-family:var(--nxtg-font-display);font-size:var(--nxtg-fs-meta);font-weight:700}

/* Jaringan - lembar spesifikasi teknis (label monospace + garis kiri), bukan
   heading dekoratif. */
.nxtg-story--spec{gap:0;border:1px solid var(--nxtg-border);border-radius:var(--nxtg-radius-card);overflow:hidden}
.nxtg-story--spec>div{padding:1.5rem clamp(1.25rem,2vw,2rem);border-left:3px solid var(--div-accent,var(--nxtg-accent))}
.nxtg-story--spec>div+div{border-top:1px solid var(--nxtg-border)}
.nxtg-story--spec dt{display:flex;align-items:center;gap:.5rem;margin:0 0 .6rem;font-family:var(--nxtg-font-mono,monospace);font-size:var(--nxtg-fs-meta);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--nxtg-text-muted)}
.nxtg-story--spec dt svg{width:16px;height:16px;color:var(--div-accent,var(--nxtg-accent))}
.nxtg-story--spec dd{margin:0}

/* Desain Grafis - aksen kutipan besar ala editorial, bukan ikon kecil. */
.nxtg-story--editorial .nxtg-story__label{font-family:var(--nxtg-font-display);font-size:var(--nxtg-fs-title-lg);font-weight:700;letter-spacing:-.02em;color:var(--div-text,var(--nxtg-text));padding-left:1.1rem;border-left:3px solid var(--div-accent,var(--nxtg-accent))}
.nxtg-feature-groups__row{padding-block:1.75rem;border-top:1px solid var(--nxtg-border)}
.nxtg-feature-groups__row:last-child{border-bottom:1px solid var(--nxtg-border)}
.nxtg-clients{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.75rem;margin:1.75rem 0 0;padding:0;list-style:none}
.nxtg-client{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;color:var(--nxtg-text);text-decoration:none}
a.nxtg-client:hover{color:var(--nxtg-primary)}
.nxtg-client__logo{height:34px;width:auto;max-width:7.5rem;object-fit:contain}
.nxtg-client__name{font-family:var(--nxtg-font-display);font-weight:700}
.nxtg-client__year{font-size:var(--nxtg-fs-meta);color:var(--nxtg-text-muted)}

/* ---- Kontak --------------------------------------------------------------- */
.nxtg-contact-top{display:grid;gap:clamp(2rem,1.5rem + 3vw,4rem);align-items:center}
@media (min-width:992px){.nxtg-contact-top{grid-template-columns:1fr 1fr}}
.nxtg-info-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;margin:0;padding:0;list-style:none}
@media (min-width:576px){.nxtg-info-grid{grid-template-columns:1fr 1fr}}
.nxtg-info{display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem;height:100%;min-height:230px;padding:clamp(1.5rem,1.2rem + 1vw,2rem);color:var(--nxtg-text);text-decoration:none;transition:border-color .25s ease,transform .3s var(--nxtg-ease)}
a.nxtg-info:hover{border-color:var(--nxtg-accent);color:var(--nxtg-text);transform:translateY(-3px)}
.nxtg-info__icon{width:44px;height:44px;color:var(--nxtg-text)}
.nxtg-info__value{display:block;font-family:var(--nxtg-font-display);font-size:var(--nxtg-fs-title-sm);font-weight:700;overflow-wrap:break-word;hyphens:none}
.nxtg-info__label{display:block;margin-top:.35rem;color:var(--nxtg-primary);font-weight:500}
.nxtg-info--wa .nxtg-info__icon{color:#128C7E}
[data-bs-theme=dark] .nxtg-info--wa .nxtg-info__icon{color:#3DDC97}
.nxtg-contact-main{display:grid;gap:clamp(2rem,1.5rem + 2vw,3rem);margin-top:clamp(3rem,2rem + 3vw,5rem)}
@media (min-width:992px){.nxtg-contact-main{grid-template-columns:1.1fr .9fr;align-items:stretch}}

/* ---- Privasi -------------------------------------------------------------- */
.nxtg-legal-wrap{display:grid;gap:clamp(2rem,1.5rem + 3vw,4rem)}
@media (min-width:992px){.nxtg-legal-wrap{grid-template-columns:.75fr 1.6fr}.nxtg-toc{position:sticky;top:calc(var(--nxtg-header-h) + 1.5rem)}}
.nxtg-toc{padding:1.75rem}
.nxtg-toc__title{margin:0 0 1rem;font-size:var(--nxtg-fs-md)}
.nxtg-toc__list{margin:0;padding-left:1.2rem;display:grid;gap:.4rem}
.nxtg-toc__list a{display:inline-block;padding:.2rem 0;color:var(--nxtg-text);text-decoration:none}
.nxtg-toc__list a:hover{color:var(--nxtg-primary);text-decoration:underline}
.nxtg-legal section+section{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--nxtg-border)}
.nxtg-legal h2{margin:0 0 .9rem}
.nxtg-legal p{font-size:var(--nxtg-fs-base);line-height:1.8;color:var(--nxtg-text-muted)}

/* ---- Tim & nilai (tentang) ------------------------------------------------ */
.nxtg-role{display:flex;flex-direction:column;height:100%;padding:clamp(1.5rem,1.2rem + 1vw,2rem)}
.nxtg-role .nxtg-glyph{width:52px;height:52px}
.nxtg-role h3{margin:1.5rem 0 .5rem;font-size:var(--nxtg-fs-title-sm)}
.nxtg-role p{margin:0;color:var(--nxtg-text-muted)}
.nxtg-role .nxtg-link{margin-top:auto;padding-top:1rem}

/* ---- Halaman status (404, terima kasih, error) ---------------------------- */
.nxtg-status{display:flex;align-items:center;justify-content:center;min-height:min(78vh,760px);padding-block:clamp(4rem,6vw,7rem);text-align:center;background:var(--nxtg-bg-deep)}
[data-bs-theme=dark] .nxtg-status{background:radial-gradient(80% 90% at 50% 80%,#14294F,#0B0F14 72%)}
.nxtg-status .nxtg-planet{--planet-top:52%;--planet-size:min(1200px,170vw)}
.nxtg-status__inner{position:relative;z-index:2;max-width:46rem;margin-inline:auto}
.nxtg-status__code{margin:0;font-family:var(--nxtg-font-display);font-size:clamp(6rem,4rem + 12vw,13rem);font-weight:800;line-height:.9;letter-spacing:-.06em;color:var(--nxtg-text)}
.nxtg-status__code span{background:var(--nxtg-heading-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.nxtg-status__icon{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 1.75rem;border-radius:50%;background:var(--nxtg-grad-btn);color:#FFFFFF;box-shadow:0 20px 50px -18px rgba(0,111,255,.8)}
.nxtg-status__icon svg{width:38px;height:38px}
.nxtg-status .nxtg-h1{margin:1.25rem 0 0}
.nxtg-status .nxtg-lead{margin:1.1rem auto 0}
.nxtg-status .nxtg-actions-row{justify-content:center}
.nxtg-status .nxtg-filter{justify-content:center;margin-top:1rem}

/* ---- Tambahan komposisi ---------------------------------------------------- */
@media (min-width:992px) and (max-width:1199.98px){.nxtg-feat-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nxtg-legal-card{display:flex;flex-wrap:wrap;gap:1.25rem 1.75rem;align-items:flex-start;padding:clamp(1.5rem,1.2rem + 1.5vw,2.5rem)}
.nxtg-legal-card>div{flex:1 1 18rem}
.nxtg-art__card p{margin:0 0 1rem;color:#C9D2DC;font-size:var(--nxtg-fs-sm);line-height:1.6}
.nxtg-art__card dl{margin:0;display:grid;gap:.75rem}
.nxtg-art__card dl>div{padding-bottom:.75rem;border-bottom:1px solid rgba(167,178,190,.18)}
.nxtg-art__card dl>div:last-child{padding-bottom:0;border-bottom:0}
.nxtg-art__card dt{font-size:var(--nxtg-fs-meta);font-weight:600;color:#66A8FF}
.nxtg-art__card dd{margin:.2rem 0 0;color:#E6ECF5;line-height:1.55}
.nxtg-checklist{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.5rem}
.nxtg-checklist h3{display:flex;align-items:center;gap:.65rem;margin:0 0 .4rem}
.nxtg-checklist h3 svg{flex:none;width:22px;height:22px;color:var(--nxtg-accent)}
.nxtg-checklist p{margin:0 0 0 2rem;color:var(--nxtg-text-muted)}
/* Panel seni sempit (aside FAQ/kontak): glyph naik agar tidak tertutup kartu kaca. */
.nxtg-faq__aside .nxtg-art__glyph,.nxtg-contact-main .nxtg-art__glyph{width:clamp(72px,20%,120px);margin-bottom:34%}
