/* Amenflow design system: tokens + components shared by the marketing site and the app. Light mode by default. */
:root{
  --ink:#0B0B0F; --ink-2:#18181B; --ink-3:#3F3F46; --slate:#52525B; --mute:#71717A;
  --line:#E8E8EC; --line-2:#F1F1F4; --parch:#FFFFFF; --cream:#F7F7F8; --white:#FFFFFF;
  --flow:#3355FF; --flow-600:#2343E6; --flow-50:#EEF1FF; --flow-100:#DFE5FF;
  /* legacy aliases used by app templates */
  --gold:var(--flow); --ember:var(--flow); --rose:var(--flow); --sage:#0E9F6E; --sky:var(--flow);
  --dawn:var(--flow); --dawn-soft:var(--flow-50);
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:var(--sans); --accent-face:"Instrument Serif",Georgia,serif; --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --r-sm:8px; --r:12px; --r-lg:16px;
  --shadow:0 1px 2px rgba(11,11,15,.04),0 1px 1px rgba(11,11,15,.02);
  --shadow-lg:0 1px 2px rgba(11,11,15,.04),0 12px 32px -12px rgba(11,11,15,.12);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--white);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}
img,svg,video{max-width:100%;display:block} a{color:inherit}
h1,h2,h3{font-family:var(--sans);font-weight:600;letter-spacing:-.035em;line-height:1.05;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6vw,4.6rem)} h2{font-size:clamp(1.9rem,3.6vw,2.75rem);letter-spacing:-.03em} h3{font-size:1.15rem;letter-spacing:-.015em;line-height:1.3}
p{margin:0 0 1em} .lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--slate);max-width:36em;line-height:1.6}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto} .narrow{width:min(720px,100% - 40px);margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:.5em;font:500 .74rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--flow)}
.grad,em.grad,.serif-it{font-family:var(--accent-face);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--flow);background:none}
.muted{color:var(--mute)} .center{text-align:center}

/* Buttons */
.btn{--h:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5em;height:var(--h);padding:0 1.15em;border-radius:10px;
  font:500 .95rem/1 var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:background .2s,border-color .2s,color .2s,box-shadow .2s}
.btn:focus-visible{outline:2px solid var(--flow);outline-offset:2px}
.btn-primary{background:var(--ink);color:#fff} .btn-primary:hover{background:#26262B}
.btn-dawn,.btn-flow{background:var(--flow);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 1px 2px rgba(51,85,255,.3)} .btn-dawn:hover,.btn-flow:hover{background:var(--flow-600)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)} .btn-ghost:hover{background:var(--cream)}
.btn-line{background:var(--white);border-color:var(--line);color:var(--ink)} .btn-line:hover{border-color:#D4D4DA;background:var(--cream)}
.btn-sm{--h:34px;font-size:.86rem;padding:0 .85em;border-radius:8px} .btn-block{width:100%}
.arrow{transition:transform .2s var(--ease)} .btn:hover .arrow{transform:translateX(2px)}

/* Cards, chips, tags */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg)}
.chip{display:inline-flex;align-items:center;gap:.4em;padding:.36em .7em;border-radius:999px;font:500 .78rem/1 var(--sans);background:var(--white);border:1px solid var(--line);color:var(--ink-3)}
.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--sage)}
.tag{display:inline-block;font:500 .68rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:.42em .6em;border-radius:6px;background:var(--cream);color:var(--slate)}
.tag-new{background:var(--flow-50);color:var(--flow-600)} .tag-soon{background:#F4F4F5;color:var(--mute)} .tag-example{background:#F4F4F5;color:var(--mute)}

/* Forms */
label{display:block;font-weight:500;font-size:.88rem;margin:0 0 .4em}
input[type=text],input[type=email],input[type=password],input[type=url],select,textarea{width:100%;height:44px;padding:0 12px;border-radius:10px;
  border:1px solid var(--line);background:var(--white);font:inherit;color:var(--ink);transition:border .15s,box-shadow .15s}
textarea{height:auto;padding:10px 12px;min-height:96px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--flow);box-shadow:0 0 0 3px var(--flow-100)}
.field{margin-bottom:16px}

/* Motion: minimal */
.reveal{opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease),transform .6s var(--ease)} .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Prose (blog + generated content) */
.prose{font-size:1.04rem;line-height:1.75;color:var(--ink-3)}
.prose h1{font-size:clamp(2.1rem,4.4vw,3.1rem);color:var(--ink)} .prose h2{font-size:1.5rem;margin-top:1.9em;color:var(--ink)}
.prose h3{font-size:1.15rem;margin-top:1.6em;color:var(--ink)} .prose ul,.prose ol{padding-left:1.25em} .prose li{margin:.35em 0}
.prose blockquote{margin:1.4em 0;padding:.2em 0 .2em 1.1em;border-left:2px solid var(--flow);color:var(--ink);font-size:1.08rem}
.prose a{color:var(--flow-600);text-underline-offset:3px} .prose strong{color:var(--ink);font-weight:600}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem} .prose th,.prose td{border-bottom:1px solid var(--line);padding:.6em .5em;text-align:left}
.prose code{background:var(--cream);padding:.1em .35em;border-radius:5px;font:.88em var(--mono)}
