@font-face { font-family:"DINPro Condensed"; src:url("/fonts/DINPro-CondensedRegular.woff2") format("woff2"); font-style:normal; font-weight:400; font-display:swap; }
:root {
  color:#191917;
  background:#f6f6f3;
  font-family:"DINPro Condensed",Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; display:grid; place-items:center; padding:24px; }
.card { width:min(620px,100%); padding:64px 54px; text-align:center; background:rgba(255,255,255,.9); border:1px solid #e8e8e3; border-radius:28px; box-shadow:0 24px 80px rgba(24,24,20,.06); }
.brand { margin-bottom:42px; color:#111; font-size:42px; font-weight:700; letter-spacing:.045em; }
.brand-by { color:inherit; font-size:.75em; font-weight:600; letter-spacing:.06em; }
.brand-nora { color:inherit; font-size:1em; font-weight:600; letter-spacing:.06em; }
.orb { position:relative; width:78px; height:78px; margin:0 auto 32px; display:grid; place-items:center; }
.orb::after { content:""; width:22px; height:22px; border-radius:50%; background:#2eaf69; box-shadow:0 0 0 10px #e6f5eb; }
.orb i { position:absolute; inset:0; border:1px solid rgba(46,175,105,.25); border-radius:50%; animation:ripple 3s ease-out infinite; }
.orb i:nth-child(2) { animation-delay:1s; }
.orb i:nth-child(3) { animation-delay:2s; }
h1 { margin:0 0 14px; font-size:clamp(25px,5vw,36px); line-height:1.15; letter-spacing:-.025em; }
p { max-width:450px; margin:0 auto; color:#75756f; font-size:17px; line-height:1.55; }
.connection { margin:32px auto 0; display:flex; justify-content:center; align-items:center; gap:9px; color:#96968f; font-size:14px; }
.dot { width:7px; height:7px; border-radius:50%; background:#d9a441; animation:pulse 1.5s ease-in-out infinite; }
button { margin-top:24px; padding:10px 17px; border:1px solid #deded8; border-radius:12px; color:#565651; background:#fff; font:inherit; cursor:pointer; }
button:hover { border-color:#c7c7c0; color:#191917; }
@keyframes ripple { from { transform:scale(.45); opacity:1; } to { transform:scale(1.18); opacity:0; } }
@keyframes pulse { 50% { opacity:.35; } }
@media (max-width:520px) { .card { padding:48px 24px; border-radius:22px; } }
@media (prefers-reduced-motion:reduce) { .orb i,.dot { animation:none; } }
