/* CORA coming-soon — self-contained styles.
   Tokens inlined from the CORA Design System export
   (cora-design-system-0a8f4898…/tokens/*.css); keep in sync with the DS. */

/* tokens/fonts.css */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Space+Mono:wght@400;700&display=swap');

/* tokens/colors.css */
:root{
--ink-900:#171433;--ink-800:#231E48;--ink-700:#322B63;--ink-600:#463D80;
--mint-500:#5EC79B;--mint-400:#7AD4AF;--mint-100:#E3F6EE;
--iris-500:#6E52C8;--iris-400:#8B73D9;--iris-100:#EDE8FA;
--violet-500:#9B7BE0;--violet-400:#B098E9;--violet-100:#F0EAFB;
--gray-0:#FFFFFF;--gray-50:#F8F8FB;--gray-100:#F0F0F6;--gray-200:#E2E1EE;--gray-300:#C7C5DB;--gray-500:#7F7CA0;--gray-600:#5E5B82;--gray-700:#444166;
--success-600:#2E9E72;--success-100:#E3F6EE;
--warning-600:#C9861F;--warning-100:#FBF0DC;
--danger-600:#D2504E;--danger-100:#FBE7E6;
--info-600:#5B3FBF;--info-100:#EDE8FA;
--grad-brand:linear-gradient(100deg,var(--mint-500),var(--violet-500) 52%,var(--iris-500));
--text-heading:var(--ink-800);--text-body:var(--ink-700);--text-muted:var(--gray-600);--text-faint:var(--gray-500);--text-link:var(--iris-500);
--surface-page:var(--gray-50);
--border-default:var(--gray-200);--border-strong:var(--gray-300);--border-focus:var(--iris-500);
}

/* tokens/typography.css + spacing.css + effects.css (subset used here) */
:root{
--font-display:'Space Grotesk','Helvetica Neue',sans-serif;
--font-body:'Public Sans','Helvetica Neue',sans-serif;
--font-mono:'Space Mono',monospace;
--radius-md:10px;
--shadow-focus:0 0 0 3px rgba(110,82,200,0.33);
--ease-out:cubic-bezier(0.2,0.8,0.3,1);
--dur-fast:120ms;
}

/* tokens/base.css */
body{font-family:var(--font-body);color:var(--text-body);background:var(--surface-page);margin:0;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);letter-spacing:-0.02em;margin:0}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--info-600);text-decoration:underline}

/* Page layout (from Coming Soon.dc.html) */
.page{min-height:100vh;background:var(--surface-page);display:flex;flex-direction:column}
.brand-bar{height:5px;background:var(--grad-brand);flex:none}
.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:64px 32px;text-align:center}
.hero-logo{width:250px;max-width:100%}
.hero h1{font-weight:700;font-size:44px;line-height:1.15;max-width:640px}
.hero-sub{font-size:17px;color:var(--gray-600);max-width:520px;line-height:1.55}
.launch-date{font-family:var(--font-mono);color:var(--ink-800)}
.signup{display:flex;flex-direction:column;gap:10px;align-items:center}
.signup-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}
.microcopy{font-size:12px;color:var(--gray-500)}
.site-footer{border-top:1px solid var(--border-default);padding:16px 48px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--gray-500)}
.footer-links{display:flex;gap:16px}

@media (max-width:520px){
  .hero h1{font-size:32px}
  .input-wrap{width:100%}
}

/* DS Input (forms/Input.jsx, no label/hint) */
.input-wrap{display:flex;align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:0 12px;width:340px;max-width:100%;transition:box-shadow var(--dur-fast) var(--ease-out)}
.input-wrap:focus-within{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}
.input-wrap input{border:none;outline:none;background:transparent;padding:10px 0;font-size:15px;font-family:var(--font-body);color:var(--ink-800);flex:1;min-width:0}

/* DS Button variant=primary size=lg (forms/Button.jsx) */
.btn-primary{font-family:var(--font-body);font-weight:600;font-size:16px;padding:12px 24px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;line-height:1.2;background:var(--ink-800);color:#fff;white-space:nowrap;flex:none;transition:background var(--dur-fast) var(--ease-out)}
.btn-primary:hover{background:var(--ink-700)}
.btn-primary:disabled{opacity:0.45;cursor:not-allowed}

/* Status messages (aria-live region) */
.success-banner{display:flex;align-items:center;gap:10px;background:var(--mint-100);border:1px solid var(--mint-400);border-radius:var(--radius-md);padding:12px 20px;color:var(--ink-800);font-size:15px;font-weight:600}
.error-msg{font-size:13px;color:var(--danger-600);margin:0}
[hidden]{display:none !important}

/* Honeypot — off-screen but focusable/renderable for bots; NOT display:none */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

.turnstile-slot{display:flex;justify-content:center;min-height:65px}
