/* ===== Halaman /whois-lookup (melengkapi style.css) ===== */
.wh .wnav{display:flex;align-items:center;gap:16px;height:72px}
.wh .wlinks{display:flex;gap:4px;margin-left:auto}
.wh .wlinks a{color:var(--tx);font-weight:600;font-size:15px;padding:9px 14px;border-radius:12px;white-space:nowrap}
.wh .wlinks a:hover{color:var(--pri)}.wh .wlinks a.on{background:#e4eeff;color:var(--pri)}
html[data-theme=dark] .wh .wlinks a.on{background:var(--pri2);color:#8fb4ff}
.wh .wmain{max-width:1500px;padding-bottom:48px}   /* sama dengan beranda: .pub .wrap = 1500px */
.crumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13.5px;color:var(--mut);padding:18px 0 0}
.crumb .cr-h{display:inline-flex;align-items:center;gap:6px;padding:5px 13px 5px 9px;border-radius:99px;background:var(--pri2);border:1px solid var(--bd);color:var(--pri);font-weight:700;line-height:1.2;transition:background .18s,color .18s,border-color .18s}
.crumb .cr-h svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.crumb .cr-h:hover{background:var(--pri);border-color:var(--pri);color:#fff}
.crumb .cr-h:focus-visible{outline:3px solid #8fb4ff;outline-offset:2px}
.crumb .cr-s{flex:none;width:14px;height:14px;fill:none;stroke:var(--mut);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.65}
.crumb b{color:var(--tx);font-weight:700}
html[data-theme=dark] .crumb .cr-h{color:#8fb4ff}html[data-theme=dark] .crumb .cr-h:hover{color:#fff}

.whero{text-align:center;padding:26px 0 8px}
.whero h1{font-size:clamp(30px,4.2vw,44px);line-height:1.2;margin:18px 0 14px;font-weight:800;letter-spacing:-.01em;color:var(--hd);text-wrap:balance}
.whero h1 em{font-style:normal;color:#1f62f2}
.whero .sub{margin:0 auto 24px;max-width:560px}
.whero .sbar{margin:0 auto}.whero .sbar .btn{padding:0 26px;font-size:16px}
.whero .pop{justify-content:center}

.wres{margin-top:26px;display:grid;gap:16px}
.rtop{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.rtop h2{margin:2px 0 2px;font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--hd);overflow-wrap:anywhere}
.rtop p{margin:0;color:var(--mut)}.rtop .badge{margin-bottom:6px}
.rtop.good{background:linear-gradient(135deg,#e9f9f0,#d6f3e3);border-color:#9fdcb9}
html[data-theme=dark] .rtop.good{background:var(--sf);border-color:var(--bd)}
.acts{display:flex;gap:8px}.btn.ghost{background:var(--pri2);color:var(--pri);display:inline-flex;align-items:center}
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.st{padding:18px 20px}.st span{display:block;color:var(--mut);font-size:13px;font-weight:600}
.st b{display:block;font-size:19px;color:var(--hd);margin-top:4px;overflow-wrap:anywhere;line-height:1.3}
.st.good b{color:var(--good)}.st.warn b{color:var(--warn)}.st.bad b{color:var(--bad)}
.bar{display:block;height:7px;background:var(--pri2);border-radius:9px;margin-top:10px;overflow:hidden}
.bar u{display:block;height:100%;background:var(--pri);border-radius:9px;text-decoration:none}
.st.good .bar u{background:var(--good)}.st.warn .bar u{background:var(--warn)}.st.bad .bar u{background:var(--bad)}
.kv{margin:0}.kv .r{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--bd)}
.kv .r:last-child{border:0}.kv dt{color:var(--mut);font-weight:600;font-size:14px}.kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}
span.sc{display:inline-block;background:var(--pri2);color:var(--pri);border-radius:99px;padding:3px 11px;font-size:12.5px;font-weight:700;margin:0 6px 6px 0}
.ns{list-style:none;margin:0;padding:0}.ns li{padding:2px 0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13.5px;font-weight:500}
.rerr{border-color:#f3b4b4;background:#fff6f6}.rerr b,.rerr p{color:var(--bad)}.rerr p{margin:4px 0 0;font-weight:600}
html[data-theme=dark] .rerr{background:var(--sf)}
.rload{display:flex;align-items:center;gap:12px;color:var(--mut);font-weight:600}
.spin{width:18px;height:18px;border-radius:50%;border:3px solid var(--pri2);border-top-color:var(--pri);animation:sp .8s linear infinite}
@keyframes sp{to{rotate:360deg}}

/* ===== Langkah cara pakai (.how = halaman tool, .gsteps = Geo Checker): kartu beranimasi dengan ikon ===== */
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.how .card,.gsteps .card{position:relative;display:flex;flex-direction:column;padding:22px 22px 24px;border-radius:20px;overflow:visible;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .3s ease}
.how .card::after,.gsteps .card::after{content:"";position:absolute;left:22px;top:0;width:34px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#5b9bff,#1f62f2);transition:width .55s cubic-bezier(.2,.8,.2,1)}
.how .card:hover::after,.gsteps .card:hover::after{width:calc(100% - 44px)}
.how .card:hover,.gsteps .card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(31,98,242,.17);border-color:#bcd2fb}
html[data-theme=dark] .how .card:hover,html[data-theme=dark] .gsteps .card:hover{border-color:#3a5399;box-shadow:0 20px 44px rgba(0,0,0,.4)}
/* garis putus-putus yang mengalir antar-langkah */
.how .card:not(:last-child)::before,.gsteps .card:not(:last-child)::before{content:"";position:absolute;top:48px;left:calc(100% + 2px);width:18px;height:2px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--pri) 0 5px,transparent 5px 9px);background-size:9px 2px;opacity:.55;animation:hflow 1s linear infinite}
@keyframes hflow{to{background-position:9px 0}}
@keyframes hflowv{to{background-position:0 9px}}
/* ubin ikon bergradien */
.hi{position:relative;display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#5b9bff,#1f62f2 55%,#5b3df5);box-shadow:0 10px 22px rgba(31,98,242,.34),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.hi.g2{background:linear-gradient(135deg,#4ec3ff,#1f62f2);box-shadow:0 10px 22px rgba(31,98,242,.3),inset 0 1px 0 rgba(255,255,255,.45)}
.hi.g3{background:linear-gradient(135deg,#ffd35a,#ff8a1f);box-shadow:0 10px 22px rgba(245,140,20,.36),inset 0 1px 0 rgba(255,255,255,.5)}
.hi.g4{background:linear-gradient(135deg,#4ade80,#0ea5a0);box-shadow:0 10px 22px rgba(14,165,160,.32),inset 0 1px 0 rgba(255,255,255,.45)}
.hi svg{position:relative;z-index:1;width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:hfloat 3.6s ease-in-out infinite}
.how .card:nth-child(2) .hi svg,.gsteps .card:nth-child(2) .hi svg{animation-delay:-1.2s}
.how .card:nth-child(3) .hi svg,.gsteps .card:nth-child(3) .hi svg{animation-delay:-2.4s}
.gsteps .card:nth-child(4) .hi svg{animation-delay:-3s}
@keyframes hfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
.hi::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg)}
.how .card:hover .hi,.gsteps .card:hover .hi{transform:rotate(-8deg) scale(1.1)}
.how .card:hover .hi::after,.gsteps .card:hover .hi::after{animation:hshine .8s ease}
@keyframes hshine{to{left:130%}}
/* lencana nomor langkah */
.how b,.gsteps b{position:absolute;top:20px;right:20px;display:inline-flex;align-items:center;width:auto;height:auto;border-radius:999px;padding:4px 11px;background:var(--pri2);color:var(--pri);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.how b::before,.gsteps b::before{content:"Langkah ";white-space:pre}
html[data-theme=dark] .how b,html[data-theme=dark] .gsteps b{color:#8fb4ff}
.how .card h3,.gsteps .card h3{margin:18px 0 6px;font-size:18px;color:var(--hd);letter-spacing:-.01em}
.how .card p,.gsteps .card p{margin:0;color:var(--mut);font-size:14.5px;line-height:1.65}
/* muncul bertahap saat di-scroll (kelas hjs/in/done diatur menu.js) */
.hjs .how .card:not(.in),.hjs .gsteps .card:not(.in){opacity:0;transform:translateY(28px) scale(.97)}
.hjs .how .card:not(.in) .hi,.hjs .gsteps .card:not(.in) .hi{transform:scale(.55) rotate(-14deg)}
.how .card.in,.gsteps .card.in{transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .3s ease;transition-delay:calc(var(--i,0)*.14s),calc(var(--i,0)*.14s),0s,0s}
.how .card.in .hi,.gsteps .card.in .hi{transition-delay:calc(var(--i,0)*.14s + .2s)}
.how .card.done,.gsteps .card.done{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .3s ease;transition-delay:0s}
.how .card.done .hi,.gsteps .card.done .hi{transition-delay:0s}
/* FAQ */
.wfaq{margin-top:34px;padding:24px 28px}.wfaq h2{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:22px;color:var(--hd)}
.wfaq h2 .hi{width:40px;height:40px;border-radius:13px}.wfaq h2 .hi svg{width:22px;height:22px}
.hjs .wfaq:not(.in){opacity:0;transform:translateY(24px)}
.wfaq.in{transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.faqg .fq{interpolate-size:allow-keywords}
.faqg .fq::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .35s ease,opacity .3s ease,content-visibility .35s allow-discrete}
.faqg .fq[open]::details-content{block-size:auto;opacity:1}
.faqg .fq:not([open]):hover{transform:translateX(3px)}.faqg .fq{transition:border-color .18s,box-shadow .18s,transform .3s cubic-bezier(.2,.8,.2,1)}
/* pembuka halaman: elemen hero naik bergantian */
@keyframes hup{from{opacity:0;transform:translateY(16px)}}
body:not(.geo) .whero>*:not(.stip){animation:hup .75s cubic-bezier(.2,.8,.2,1) backwards}
body:not(.geo) .whero>:nth-child(2){animation-delay:.07s}body:not(.geo) .whero>:nth-child(3){animation-delay:.14s}body:not(.geo) .whero>:nth-child(4){animation-delay:.21s}body:not(.geo) .whero>:nth-child(5){animation-delay:.28s}body:not(.geo) .whero>:nth-child(n+7){animation-delay:.35s}
@keyframes hgrad{to{background-position:200% center}}
@supports(-webkit-background-clip:text) or (background-clip:text){body:not(.geo) .whero h1 em{background:linear-gradient(90deg,#1f62f2,#5b3df5,#1f9bff,#1f62f2);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:hgrad 7s linear infinite}}
@media(max-width:900px){.gsteps .card:not(:last-child)::before{display:none}}
@media(prefers-reduced-motion:reduce){.how .card,.gsteps .card,.hi,.hi svg,.how .card::before,.gsteps .card::before,.how .card::after,.gsteps .card::after,.faqg .fq,.faqg .fq::details-content,body:not(.geo) .whero>*,body:not(.geo) .whero h1 em{animation:none!important;transition:none!important}.hjs .how .card:not(.in),.hjs .gsteps .card:not(.in),.hjs .wfaq:not(.in){opacity:1;transform:none}}

.wfoot{background:var(--navy);color:#fff;font-size:13px;padding:18px 0}
.wfoot .wrap{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.wfoot a{color:#fff;text-decoration:underline}

@media(max-width:700px){
  .wh .wlinks a:not(.on){display:none}.wh .wlinks a:nth-child(3){display:none}
  .wh .wlinks{margin-left:auto}.wh .wnav{height:64px}
  .stats3,.how{grid-template-columns:1fr}.how .card:not(:last-child)::before{top:calc(100% + 2px);left:47px;width:2px;height:18px;background:repeating-linear-gradient(180deg,var(--pri) 0 5px,transparent 5px 9px);background-size:2px 9px;animation-name:hflowv}.wfaq h2{font-size:19px}.kv .r{grid-template-columns:1fr;gap:2px}
  .whero .sbar{flex-wrap:wrap;height:auto;padding:6px}.whero .sbar input{height:50px;flex:1 1 60%}.whero .sbar .btn{width:100%;height:50px;justify-content:center}
  .wfaq{padding:20px 18px}
}

/* ===== Halaman legal ===== */
.legal{padding:30px 34px;margin-top:6px}
.legal>*{max-width:1100px}
.legal .upd{margin:0 0 16px;font-size:13.5px;color:var(--mut)}
.legal .toc{background:var(--pri2);border:1px solid var(--bd);border-radius:14px;padding:14px 18px;margin:0 0 8px}
.legal .toc b{color:var(--hd);font-size:14.5px}.legal .toc ol{margin:8px 0 0;padding-left:20px;columns:2;column-gap:28px;font-size:14px;line-height:1.9}
.legal .toc a{color:var(--pri);text-decoration:none}.legal .toc a:hover{text-decoration:underline}
.legal section{scroll-margin-top:84px}
.legal h2{font-size:20px;color:var(--hd);margin:28px 0 8px}
.legal p,.legal li{color:var(--tx);line-height:1.75;font-size:15.5px}
.legal ul{padding-left:22px;margin:8px 0}.legal li{margin:5px 0}
.legal a{color:var(--pri)}
.legal .cmail{font-size:20px;font-weight:800;margin:12px 0}.legal .cmail a{text-decoration:none;border-bottom:2px solid var(--pri2)}
.wfoot .lgl{display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:640px){.legal{padding:22px 18px}.legal .toc ol{columns:1}}

@media(max-width:640px){.whero h1{font-size:clamp(26px,7.4vw,32px);line-height:1.26;margin:14px 0 12px}.whero .sub{font-size:15.5px;line-height:1.65}}
@media(max-width:380px){.whero h1{font-size:25px}}
