*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0b0e14;--bg2:#111620;--bg3:#1a2030;
  --text:#e8eaf0;--text2:#9098a8;--text3:#5c6478;
  --accent:#e05545;--accent-dim:rgba(224,85,69,.18);
  --danger:#ef4444;--danger-dim:rgba(239,68,68,.12);
  --serif:'DM Serif Display',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.7;font-weight:300}
.wrap{max-width:820px;margin:0 auto;padding:0 28px}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* Nav */
nav{padding:24px 0;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--bg);z-index:100;backdrop-filter:blur(8px);border-bottom:.5px solid rgba(255,255,255,.04)}
.nav-brand{font-size:14px;font-weight:700;letter-spacing:.12em;color:var(--text)}
.nav-logo{height:60px;width:auto}
.nav-tag{font-size:10px;color:var(--text3);letter-spacing:.1em;text-transform:uppercase}

/* Sections */
section{padding:72px 0 56px;border-bottom:.5px solid rgba(255,255,255,.03)}
section:last-of-type{border-bottom:none}

/* Common */
.eyebrow{font-size:10px;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin-bottom:16px}
h1{font-family:var(--serif);font-size:clamp(36px,6vw,56px);font-weight:400;line-height:1.1;margin-bottom:16px}
h2{font-family:var(--serif);font-size:clamp(24px,4vw,34px);font-weight:400;line-height:1.25;margin-bottom:14px}
.section-body{font-size:14px;color:var(--text2);line-height:1.85;max-width:520px;margin-bottom:28px}

/* Hero */
.hero{min-height:70vh;display:flex;flex-direction:column;justify-content:center;padding:60px 0}
.hero-sub{font-size:18px;color:var(--accent);font-weight:500;margin-bottom:16px}
.hero-body{font-size:14px;color:var(--text2);line-height:1.85;max-width:500px;margin-bottom:28px}

/* Buttons */
.btn-primary{display:inline-block;background:var(--accent);color:#fff;padding:11px 24px;border-radius:6px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .2s}
.btn-primary:hover{opacity:.85}
.btn-secondary{display:inline-block;background:transparent;color:var(--accent);border:1px solid var(--accent-dim);padding:10px 22px;border-radius:6px;font-size:13px;text-decoration:none;transition:all .2s}
.btn-secondary:hover{border-color:var(--accent);background:var(--accent-dim)}

/* Law grid */
.law-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.law-card{background:var(--bg2);border-radius:10px;padding:18px;border-left:3px solid var(--danger)}
.law-id{font-size:11px;color:var(--danger);font-weight:700;letter-spacing:.05em;margin-bottom:4px}
.law-text{font-size:13px;color:var(--text2);line-height:1.5}

/* Method grid */
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.method-card{background:var(--bg2);border-radius:10px;padding:22px;border-top:2px solid var(--accent)}
.method-name{font-size:12px;color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.method-sub{font-size:14px;color:var(--text);font-weight:500;margin-bottom:8px}
.method-desc{font-size:12px;color:var(--text3);line-height:1.6}

/* Case */
.case-box{background:var(--bg2);border:.5px solid rgba(255,255,255,.05);border-radius:10px;padding:24px;margin-bottom:20px}
.case-box p{font-size:13px;color:var(--text2);line-height:1.7}
.case-label{font-size:10px;color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.case-footer{font-size:14px;color:var(--text);font-weight:500;margin-bottom:16px}

/* Contact */
.contact-row{display:flex;align-items:center;gap:24px;margin-top:20px;flex-wrap:wrap}
.contact-qr{background:var(--bg2);border:.5px solid rgba(255,255,255,.05);border-radius:8px;padding:12px}
.contact-qr img{border-radius:4px}

/* Footer */
footer{padding:32px 0;text-align:center;border-top:.5px solid rgba(255,255,255,.03)}
footer p{font-size:10px;color:var(--text3);letter-spacing:.05em}

@media(max-width:600px){
  .law-grid,.method-grid{grid-template-columns:1fr}
  .hero{min-height:60vh}
  .contact-row{flex-direction:column;align-items:flex-start}
}
