/* AISG how-it-works styles — extracted from web/how-it-works.html (2026-08-14), content unchanged. */
/* ---- block 1 ---- */

:root{
  --bg:#04060f; --bg2:#0a0f22; --card:#0d1428cc;
  --cyan:#22d3ee; --magenta:#e879f9; --violet:#818cf8;
  --green:#34d399; --red:#f87171; --amber:#fbbf24;
  --txt:#e2e8f0; --dim:#8ea0c0; --line:#1e2a4a;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--txt);font-family:'Rajdhani',system-ui,sans-serif;overflow-x:hidden}
.bg-grid{position:fixed;inset:0;z-index:-2;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),
  linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:44px 44px;opacity:.35;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 40%,transparent 100%);}
.bg-glow{position:fixed;inset:0;z-index:-1;
  background:
   radial-gradient(600px 300px at 80% -10%,rgba(34,211,238,.16),transparent 70%),
   radial-gradient(600px 300px at 10% 10%,rgba(232,121,249,.12),transparent 70%),
   radial-gradient(800px 400px at 50% 110%,rgba(129,140,248,.14),transparent 70%);}
a{color:var(--cyan);text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 22px}
nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line)}
nav.wrap{padding:20px 22px}
.logo{font-family:'Orbitron';font-weight:900;letter-spacing:2px;font-size:20px;color:#fff}
.logo em{color:var(--cyan);font-style:normal}
nav a{margin-left:22px;font-weight:600;letter-spacing:.5px}
nav a:hover{text-shadow:0 0 12px var(--cyan)}
nav a.on{color:#fff;border-bottom:2px solid var(--cyan)}
.cta-btn{background:linear-gradient(90deg,var(--cyan),var(--violet));color:#04060f!important;font-weight:700;padding:10px 22px;border-radius:8px;box-shadow:0 0 24px rgba(34,211,238,.35)}
.cta-btn:hover{box-shadow:0 0 40px rgba(34,211,238,.6)}
.hero{padding:70px 0 50px;text-align:center}
.kicker{font-family:'Orbitron';letter-spacing:4px;font-size:12px;color:var(--cyan);border:1px solid var(--line);display:inline-block;padding:6px 16px;border-radius:999px;margin-bottom:22px;background:#0a0f2288}
h1{font-family:'Orbitron';font-weight:900;font-size:clamp(30px,5vw,54px);line-height:1.08;letter-spacing:1px}
h1 .grad{background:linear-gradient(90deg,var(--cyan),var(--magenta),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{max-width:760px;margin:20px auto 34px;color:var(--dim);font-size:18px;line-height:1.65}
.btn{border-radius:10px;padding:14px 30px;font-weight:700;font-size:16px;letter-spacing:.5px;display:inline-block}
.btn.primary{background:linear-gradient(90deg,var(--cyan),var(--violet));color:#04060f;box-shadow:0 0 30px rgba(34,211,238,.4)}
.btn.primary:hover{box-shadow:0 0 44px rgba(34,211,238,.65)}
.btn.ghost{border:1px solid var(--line);color:var(--txt)}
.btn.ghost:hover{border-color:var(--cyan);box-shadow:0 0 20px rgba(34,211,238,.25)}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
section.wrap{padding:64px 22px 58px}
h2{font-family:'Orbitron';font-weight:700;font-size:clamp(22px,3vw,32px);margin-bottom:12px}
h2 .dot{color:var(--cyan)}
/* judul 2 warna: putih + gradasi (sama dengan hero landing) */
h2 .grad{background:linear-gradient(90deg,var(--cyan),var(--magenta),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--dim);max-width:680px;font-size:16.5px;line-height:1.6;margin-bottom:30px}
/* mini pipeline (5 step overview) */
.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;text-align:center;margin:14px 0 8px}
.flow div{border:1px solid var(--line);border-radius:12px;padding:16px 8px;background:var(--card);backdrop-filter:blur(4px)}
.flow b{font-family:'Orbitron';font-size:11px;letter-spacing:1px;display:block;margin-bottom:6px;color:var(--cyan)}
.flow span{color:var(--dim);font-size:12.5px}
.flow .hl{border-color:var(--cyan);box-shadow:0 0 24px rgba(34,211,238,.18)}
@media(max-width:900px){.flow{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.flow{grid-template-columns:repeat(2,1fr)}}
/* architecture two-column */
.arch{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.arch .card{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--card);backdrop-filter:blur(4px)}
.arch .card.pc{border-color:rgba(34,211,238,.4);box-shadow:0 0 34px rgba(34,211,238,.12)}
.arch .card.cloud{border-color:rgba(129,140,248,.4);box-shadow:0 0 34px rgba(129,140,248,.12)}
.arch h3{font-family:'Orbitron';font-size:15px;letter-spacing:1px;margin-bottom:10px;color:#fff}
.arch h3 i{font-style:normal;margin-right:8px}
.arch .card.pc h3 i{color:var(--cyan)}
.arch .card.cloud h3 i{color:var(--violet)}
.arch ul{list-style:none;margin:12px 0}
.arch ul li{color:var(--dim);font-size:14.5px;line-height:1.85;padding-left:20px;position:relative}
.arch ul li::before{content:"▸";position:absolute;left:2px;color:var(--green)}
.arch .mini{font-size:12.5px;color:var(--dim);border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.arch .pc .mini b{color:var(--cyan)}
.arch .cloud .mini b{color:var(--violet)}
.arch-arrow{text-align:center;color:var(--dim);font-size:12px;letter-spacing:2px;margin:8px 0;font-family:'Orbitron'}
.arch-arrow span{color:var(--cyan)}
@media(max-width:760px){.arch{grid-template-columns:1fr}}
/* steps */
.step{display:flex;gap:18px;border:1px solid var(--line);border-radius:16px;padding:22px 24px;background:var(--card);backdrop-filter:blur(4px);margin-bottom:14px}
.step .num{flex:0 0 46px;height:46px;border-radius:12px;background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(129,140,248,.18));border:1px solid rgba(34,211,238,.35);display:flex;align-items:center;justify-content:center;font-family:'Orbitron';font-weight:900;font-size:18px;color:var(--cyan)}
.step h3{font-family:'Orbitron';font-size:15px;letter-spacing:1px;color:#fff;margin-bottom:6px}
.step p{color:var(--dim);font-size:14.5px;line-height:1.65}
.step p b{color:var(--txt)}
.step .file{border:1px dashed rgba(34,211,238,.45);border-radius:8px;padding:4px 10px;font-family:ui-monospace,Consolas,monospace;font-size:12.5px;color:var(--cyan);background:#0a0f22;display:inline-block;margin:6px 2px 0 0}
.step code{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;color:var(--green);background:#0a0f22;border:1px solid var(--line);border-radius:6px;padding:1px 6px}
pre.code{background:#070c1f;border:1px solid var(--line);border-radius:12px;padding:16px 18px;overflow-x:auto;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.75;color:#c8d6f0;margin-top:10px}
pre.code .c{color:var(--cyan)}
pre.code .g{color:var(--green)}
pre.code .d{color:var(--dim)}
/* requirements + privacy */
.req{border:1px solid var(--line);border-radius:16px;padding:26px;background:#0a0f22cc}
.req h3{font-family:'Orbitron';font-size:14px;letter-spacing:1px;color:var(--cyan);margin-bottom:12px}
.req ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 22px}
.req ul li{color:var(--dim);font-size:14.5px;line-height:1.8}
.req ul li b{color:var(--txt)}
.req ul li::before{content:"✓ ";color:var(--green);font-weight:700}
.priv{border:1px solid rgba(52,211,153,.35);border-radius:16px;padding:24px 26px;background:rgba(52,211,153,.05);margin-top:18px}
.priv h3{font-family:'Orbitron';font-size:14px;letter-spacing:1px;color:var(--green);margin-bottom:8px}
.priv p{color:var(--dim);font-size:14.5px;line-height:1.7}
.priv p b{color:var(--green)}
/* faq */
.faq{display:grid;gap:10px;text-align:left}
.faq details{border:1px solid var(--line);border-radius:12px;background:#0a0f22;padding:14px 18px}
.faq summary{cursor:pointer;font-weight:600;color:#fff;font-size:15px}
.faq summary::marker{color:var(--cyan)}
.faq p{color:var(--dim);font-size:13.5px;line-height:1.7;margin-top:10px}
.faq .key{color:var(--cyan);font-weight:600}
/* cta band */
.cta-band{text-align:center;padding:70px 0 40px}
.cta-band h2{margin-bottom:14px}
.cta-band p{color:var(--dim);font-size:15.5px;margin-bottom:26px}
/* notice */
.note{border:1px solid var(--line);border-radius:14px;padding:18px 22px;background:#0a0f22cc;color:var(--dim);font-size:13.5px;line-height:1.7}
.note b{color:var(--amber)}
footer{padding:36px 0 60px;color:var(--dim);font-size:14px;border-top:1px solid var(--line);margin-top:70px}
footer.wrap{padding:36px 22px 60px}
footer .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
@media(max-width:640px){.hero{padding:56px 0 36px}.step{flex-direction:column;gap:10px}}
