/* CodeNerve AI — coming soon page. Compiled from the design system tokens. */

/* ---- tokens/fonts.css ---- */
/* CodeNerve AI — webfonts. DM Sans = display/headings, Inter 18pt = body/UI. */
@font-face{font-family:"DM Sans";src:url("fonts/DMSans-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("fonts/DMSans-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter 18 Pt";src:url("fonts/Inter18pt-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter 18 Pt";src:url("fonts/Inter18pt-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter 18 Pt";src:url("fonts/Inter18pt-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* ---- tokens/colors.css ---- */
:root{
/* base neutrals */
--gray-1000:#0b0114; /* @kind color */
--gray-900:#11151c; /* @kind color */
--gray-600:#635d69; /* @kind color */
--gray-500:#758696; /* @kind color */
--gray-400:#bababa; /* @kind color */
--gray-300:#dddddd; /* @kind color */
--gray-200:#eeeeee; /* @kind color */
--gray-100:#f5f5f6; /* @kind color */
--white:#ffffff; /* @kind color */

/* brand — warm coral / peach spectrum lifted from the hero gradient */
--brand-main:#e8635c; /* @kind color */
--brand-600:#c4453f; /* @kind color */
--brand-400:#f5a49b; /* @kind color */
--brand-200:#fbdcd6; /* @kind color */
--brand-100:#fef4f1; /* @kind color */
--warm-cream:#fbeed0; /* @kind color */
--warm-peach:#f9cdae; /* @kind color */
--warm-coral:#f4837d; /* @kind color */
--warm-blush:#f7c9c5; /* @kind color */
--warm-lilac:#f6d8cf; /* @kind color */

/* semantic */
--info:#2a4eef; /* @kind color */
--info-deep:#1032cf; /* @kind color */
--danger:#f6959e; /* @kind color */
--success:#1e9e6a; /* @kind color */
--warn:#e0973c; /* @kind color */

/* surfaces */
--surface-page:var(--white); /* @kind color */
--surface-card:var(--white); /* @kind color */
--surface-sunken:#fbf8f6; /* @kind color */
--surface-tint:linear-gradient(150deg,#fef6f3 0%,#ffffff 55%); /* @kind color */
--surface-inverse:var(--gray-1000); /* @kind color */

/* text */
--text-body:var(--gray-1000); /* @kind color */
--text-muted:var(--gray-600); /* @kind color */
--text-subtle:var(--gray-500); /* @kind color */
--text-inverse:var(--white); /* @kind color */
--text-brand:var(--brand-main); /* @kind color */

/* lines */
--border-hairline:#f3e8e3; /* @kind color */
--border-soft:#ecdcd6; /* @kind color */
--border-strong:#222222; /* @kind color */
--border-focus:var(--brand-main); /* @kind color */

/* signature gradients */
--grad-hero:linear-gradient(105deg,#fbeed0 0%,#f7ae94 26%,#f0736d 52%,#f4a0a4 76%,#f6c8ce 100%); /* @kind color */
--grad-hero-soft:linear-gradient(160deg,#fbeed0 0%,#f9cdc4 40%,#f7d3cb 100%); /* @kind color */
--grad-brand-pill:linear-gradient(180deg,#f5a49b 0%,#e8635c 100%); /* @kind color */
--grad-icon:linear-gradient(180deg,#fbc9bf 0%,#e8635c 100%); /* @kind color */
--grad-text-warm:linear-gradient(90deg,#f4837d 0%,#ef7a72 50%,#e8635c 100%); /* @kind color */
--grad-card-tint:radial-gradient(120% 100% at 0% 0%,#fef3ef 0%,#ffffff 60%); /* @kind color */
--grad-code-ink:linear-gradient(180deg,#14101c 0%,#0b0114 100%); /* @kind color */
}

/* ---- tokens/typography.css ---- */
:root{
--font-display:"DM Sans",Arial,sans-serif; /* @kind font */
--font-body:"Inter 18 Pt",Helvetica,Arial,sans-serif; /* @kind font */
--font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace; /* @kind font */

--weight-regular:400; /* @kind font */
--weight-medium:500; /* @kind font */
--weight-bold:700; /* @kind font */

/* display scale — DM Sans, tight leading, -0.02em tracking */
--fs-d1:76px; /* @kind font */
--lh-d1:1.04; /* @kind font */
--fs-d2:60px; /* @kind font */
--lh-d2:1.06; /* @kind font */
--fs-h1:48px; /* @kind font */
--lh-h1:1.08; /* @kind font */
--fs-h2:38px; /* @kind font */
--lh-h2:1.12; /* @kind font */
--fs-h3:28px; /* @kind font */
--lh-h3:1.18; /* @kind font */
--fs-h4:22px; /* @kind font */
--lh-h4:1.24; /* @kind font */

/* body scale — Inter */
--fs-p20:20px; /* @kind font */
--fs-p18:18px; /* @kind font */
--fs-p16:16px; /* @kind font */
--fs-p14:14px; /* @kind font */
--fs-p13:13px; /* @kind font */
--fs-p12:12px; /* @kind font */
--lh-body:1.5; /* @kind font */
--lh-tight:1.35; /* @kind font */

--tracking-display:-0.02em; /* @kind font */
--tracking-body:0em; /* @kind font */
--tracking-eyebrow:0.06em; /* @kind font */

--text-display-1:var(--weight-medium) var(--fs-d1)/var(--lh-d1) var(--font-display); /* @kind color */
--text-display-2:var(--weight-medium) var(--fs-d2)/var(--lh-d2) var(--font-display); /* @kind color */
--text-h1:var(--weight-medium) var(--fs-h1)/var(--lh-h1) var(--font-display); /* @kind color */
--text-h2:var(--weight-medium) var(--fs-h2)/var(--lh-h2) var(--font-display); /* @kind color */
--text-h3:var(--weight-medium) var(--fs-h3)/var(--lh-h3) var(--font-display); /* @kind color */
--text-h4:var(--weight-medium) var(--fs-h4)/var(--lh-h4) var(--font-display); /* @kind color */
--text-lead:var(--weight-regular) var(--fs-p18)/var(--lh-body) var(--font-body); /* @kind color */
--text-body-16:var(--weight-regular) var(--fs-p16)/var(--lh-body) var(--font-body); /* @kind color */
--text-body-14:var(--weight-regular) var(--fs-p14)/var(--lh-body) var(--font-body); /* @kind color */
--text-label:var(--weight-medium) var(--fs-p13)/1.3 var(--font-body); /* @kind color */
--text-caption:var(--weight-regular) var(--fs-p12)/1.35 var(--font-body); /* @kind color */
}

/* ---- tokens/spacing.css ---- */
:root{
--space-0:0px; /* @kind spacing */
--space-1:4px; /* @kind spacing */
--space-2:8px; /* @kind spacing */
--space-3:12px; /* @kind spacing */
--space-4:16px; /* @kind spacing */
--space-5:20px; /* @kind spacing */
--space-6:24px; /* @kind spacing */
--space-7:28px; /* @kind spacing */
--space-8:32px; /* @kind spacing */
--space-10:40px; /* @kind spacing */
--space-12:48px; /* @kind spacing */
--space-16:64px; /* @kind spacing */
--space-20:80px; /* @kind spacing */
--space-24:96px; /* @kind spacing */
--space-32:128px; /* @kind spacing */
--space-40:160px; /* @kind spacing */

/* section rhythm from the reference site: 160px vertical, 80px on hero, 64px on footer */
--section-y:160px; /* @kind spacing */
--section-y-hero:80px; /* @kind spacing */
--section-y-footer:64px; /* @kind spacing */
--section-y-compact:80px; /* @kind spacing */
--container-max:1280px; /* @kind spacing */
--container-pad:40px; /* @kind spacing */
--measure-narrow:560px; /* @kind spacing */
--measure-wide:760px; /* @kind spacing */
--gap-tight:8px; /* @kind spacing */
--gap-group:16px; /* @kind spacing */
--gap-section:32px; /* @kind spacing */
--gap-grid:24px; /* @kind spacing */
}

/* ---- tokens/shape.css ---- */
:root{
--radius-xs:4px; /* @kind radius */
--radius-sm:8px; /* @kind radius */
--radius-md:12px; /* @kind radius */
--radius-lg:20px; /* @kind radius */
--radius-xl:24px; /* @kind radius */
--radius-2xl:32px; /* @kind radius */
--radius-3xl:40px; /* @kind radius */
--radius-pill:999rem; /* @kind radius */
--radius-card:24px; /* @kind radius */
--radius-panel:32px; /* @kind radius */
--radius-hero:40px; /* @kind radius */
--radius-chip:8px; /* @kind radius */
--radius-control:999rem; /* @kind radius */

--border-1:1px; /* @kind color */
--border-2:2px; /* @kind color */

/* elevation — wide, low-opacity, many-stop shadows; never a hard drop shadow */
--shadow-flat:0 0 0 1px #0000000a; /* @kind shadow */
--shadow-raised:0 0 0 1px #0000001a,0 1px 3px #0000001a; /* @kind shadow */
--shadow-card:0 2px 4px #0b011405,0 8px 24px #0b011408; /* @kind shadow */
--shadow-float:0 0 2px #0000000d,0 0 5px #0000000d,0 0 20px #0000000f; /* @kind shadow */
--shadow-pop:2px 4px 16px #00000014; /* @kind shadow */
--shadow-overlay:0 18px 80px #0000000f,0 7.52px 33.422px #0000000a,0 4.021px 17.869px #0000000a,0 2.254px 10.017px #00000008,0 1.197px 5.32px #00000005,0 .498px 2.214px #00000005; /* @kind shadow */
--shadow-ring-brand:0 0 0 6px #e8635c33; /* @kind shadow */
--shadow-inset-hairline:inset 0 0 0 1px #f3e8e3; /* @kind shadow */

--z-base:0; /* @kind other */
--z-raised:5; /* @kind other */
--z-sticky:50; /* @kind other */
--z-nav:900; /* @kind other */
--z-dropdown:1000; /* @kind other */
--z-modal:2000; /* @kind other */
}

/* ---- tokens/motion.css ---- */
:root{
--dur-instant:100ms; /* @kind other */
--dur-fast:200ms; /* @kind other */
--dur-base:300ms; /* @kind other */
--dur-slow:400ms; /* @kind other */
--dur-slower:600ms; /* @kind other */
--dur-scene:1200ms; /* @kind other */
--dur-marquee:45s; /* @kind other */
--ease-out:cubic-bezier(.22,.61,.36,1); /* @kind other */
--ease-in:cubic-bezier(.55,.06,.68,.19); /* @kind other */
--ease-standard:cubic-bezier(.4,0,.2,1); /* @kind other */
--ease-spring:cubic-bezier(.34,1.4,.64,1); /* @kind other */
--ease-linear:linear; /* @kind other */

--t-color:color var(--dur-fast) var(--ease-out); /* @kind other */
--t-hover:background-color var(--dur-fast) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out); /* @kind other */
--t-card:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-slow) var(--ease-out); /* @kind other */
--t-reveal:opacity var(--dur-slower) var(--ease-out),transform var(--dur-slower) var(--ease-out); /* @kind other */

--lift-hover:translateY(-2px); /* @kind other */
--press-scale:scale(.985); /* @kind other */
--reveal-offset:40px; /* @kind other */
}
@keyframes cn-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes cn-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes cn-pulse-ring{0%{inset:0;opacity:.3}50%{inset:-12px;opacity:0}100%{inset:-12px;opacity:0}}
@keyframes cn-fade-up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes cn-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes cn-scan{0%{transform:translateY(-100%)}100%{transform:translateY(400%)}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important}}

/* ---- tokens/base.css ---- */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--text-body-16);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:var(--tracking-display);text-wrap:pretty}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1)}h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}h4{font-size:var(--fs-h4);line-height:var(--lh-h4)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-body);text-decoration:none;transition:var(--t-color)}
a:hover{color:var(--brand-main)}
:focus-visible{outline:2px solid var(--brand-main);outline-offset:2px}
::selection{background:var(--brand-200);color:var(--gray-1000)}
