/* Consense Intelligence public site. Tokens first; do not add colours. */
:root{
  --paper:#FFFFFF; --concrete:#F0F1EF; --graphite:#2B2E31; --signal:#D4FF00;
  --surface:#34373A; --line:#3E4246; --line-strong:#66696B; --window:#26292C; --bubble:#3A3D41; --chrome:#57595C;
  --ink-2:#C9CBCA; --ink-3:#9AA0A5; --mono-muted:#90969B;          /* text on Graphite */
  --day-2:#3A3D40; --day-mono:#74746E; --day-line:#DCDDD9;         /* text on Paper */
  --sans:"Helvetica Neue",Helvetica,Inter,Arial,sans-serif; --mono:"DM Mono",ui-monospace,monospace;
  --pad:56px; --section:112px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--graphite);color:var(--concrete);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:3px}
h1,h2,h3,p{margin:0}
.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--mono-muted);text-transform:uppercase}
.day .eyebrow{color:var(--day-mono)}
.wrap{padding-left:var(--pad);padding-right:var(--pad)}
.section{padding:var(--section) var(--pad)}
.section + .section.dark, .rule-top{border-top:1px solid var(--line)}
.day{background:var(--paper);color:var(--graphite)}
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.h2{font-size:clamp(32px,3.1vw,44px);font-weight:700;line-height:1.1;letter-spacing:-.02em}
.lede{font-size:17px;line-height:1.55;color:var(--ink-3)}

/* buttons: three labels only (Explore Call Time, Request beta access, Beta login) */
.btn{height:44px;padding:0 18px;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:14px;white-space:nowrap;border:1px solid var(--line-strong);background:transparent;color:var(--concrete);font-family:inherit;cursor:pointer}
.btn .k{font-family:var(--mono);font-size:11px;font-weight:400}
.btn-primary{background:var(--concrete);color:var(--graphite);border-color:var(--concrete);font-weight:700}
.btn-login{border-color:var(--concrete);background:var(--graphite);font-weight:700;padding:0 16px}
.btn-login::before,.dot{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;display:block;flex:none}  /* circle = a person acting */
.btn[disabled]{opacity:.6;cursor:default}
.sq{width:9px;height:9px;background:var(--signal);display:block;flex:none}  /* Signal: one per view, on Graphite only */
.plate{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;background:var(--graphite);padding:6px 10px}

/* header + hero */
.hero{position:relative;overflow:hidden;min-height:clamp(680px,52.8vw,760px);display:flex;flex-direction:column;justify-content:flex-end}
.hero ci-field{position:absolute;inset:0}
.site-header{position:absolute;left:0;right:0;top:0;z-index:5}
.site-header .bar{height:112px;padding:0 var(--pad);display:flex;align-items:center;gap:40px}
.lockup{display:flex;flex:none}
.lockup svg{width:540px;height:38.8px;display:block}   /* never below 532px; below that, symbol alone */
.symbol{display:none}
.nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:14px}
.nav a.link{padding-bottom:4px;white-space:nowrap}
.nav a.link[aria-current=page]{border-bottom:1px solid var(--concrete);padding-bottom:3px}
.menu-btn{display:none}
.menu{display:none}
.hero-body{position:relative;padding:160px var(--pad) 64px;display:flex;flex-direction:column;align-items:flex-start}
.hero h1{font-weight:700;letter-spacing:-.03em;line-height:1}
.hero-ci h1{font-size:clamp(46px,6.1vw,88px);line-height:.98;letter-spacing:-.035em;margin-top:20px}
.hero-ct .pname{font-size:28px;font-weight:700;letter-spacing:-.01em;margin-top:28px}
.hero-ct h1{font-size:clamp(42px,5.6vw,80px);margin-top:10px}
.hero-plate{margin-top:32px;max-width:700px;padding:22px 24px;background:var(--graphite);display:flex;flex-direction:column;gap:20px}  /* small copy never sits directly on the field */
.hero-ci .hero-plate{max-width:640px}
.hero-plate p{font-size:17px;line-height:1.5;color:var(--ink-2)}
.actions{display:flex;gap:12px;flex-wrap:wrap}

/* beta band */
.band{min-height:96px;padding:20px var(--pad);background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
.band .t{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.band b{font-size:19px}.band span{font-size:16px;color:var(--ink-2)}

/* section head row */
.headrow > .eyebrow{grid-column:span 3;padding-top:10px}
.headrow > .h2,.headrow > .body{grid-column:4 / span 9}
.stack{display:flex;flex-direction:column}
.cols4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.step,.term{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:2px solid var(--graphite)}
.step .n{font-family:var(--mono);font-size:12px;color:var(--day-mono)}
.step h3{font-size:clamp(22px,1.8vw,26px);letter-spacing:-.01em}
.step p{font-size:16px;line-height:1.5;color:var(--day-2)}
.term{gap:8px}.term h3{font-size:19px}.term p{font-size:15px;line-height:1.5;color:var(--day-2)}

/* who */
.who{display:grid;grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr);gap:48px;align-items:start}
.who .col{display:flex;flex-direction:column;gap:14px;padding-top:20px;border-top:1px solid var(--line)}
.who h3{font-size:28px;line-height:1.12;letter-spacing:-.015em}
.who p{font-size:15px;line-height:1.55;color:var(--ink-3)}
.list{margin-top:6px;border-bottom:1px solid var(--line)}
.list div{display:grid;grid-template-columns:36px minmax(0,1fr);padding:13px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.4}
.list .n{font-family:var(--mono);font-size:11px;color:var(--mono-muted);padding-top:3px}
.caption{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--mono-muted);margin-top:10px}

/* redrawn Telegram card (illustration of the real beta surface; sample contact) */
.win{width:100%;max-width:350px;border-radius:10px;overflow:hidden;border:1px solid var(--chrome);background:var(--graphite);box-shadow:0 32px 72px rgba(0,0,0,.4),0 6px 18px rgba(0,0,0,.25)}
.win .bar{height:34px;padding:0 12px;background:var(--bubble);border-bottom:1px solid #484A4D;display:grid;grid-template-columns:56px 1fr 56px;align-items:center}
.win .dots{display:flex;gap:7px}.win .dots i{width:10px;height:10px;border-radius:50%;background:var(--chrome);display:block}
.win .title{justify-self:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--mono-muted);white-space:nowrap}
.win .chat{padding:20px;background:var(--window);display:flex;flex-direction:column;gap:8px}
.bub{padding:12px 14px 10px;background:var(--bubble);border-radius:12px 12px 12px 3px;font-size:14px;line-height:1.45;display:flex;flex-direction:column;gap:6px}
.bub.q{align-self:flex-start}
.bub .time{align-self:flex-end;font-family:var(--mono);font-size:10px;color:var(--mono-muted)}
.bub .m{font-family:var(--mono);font-size:13px}.bub .muted{color:var(--mono-muted)}.bub .soft{color:var(--ink-2)}
.bub .name{font-size:20px;font-weight:700;line-height:1.2}
.bub .ask{display:flex;justify-content:space-between;align-items:baseline;padding-top:8px;border-top:1px solid #4A4D50;margin-top:4px}
.bub .ask .m{font-size:20px}
.bub .note{padding-left:12px;border-left:2px solid var(--concrete);margin-top:2px}
.keys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.keys span{height:38px;border:1px solid var(--chrome);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13.5px}

/* record */
.record .intro{grid-column:span 5;display:flex;flex-direction:column;gap:20px}
.record .pair{grid-column:7 / span 6;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.fact{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--line)}
.fact .marks{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;white-space:nowrap}
.fact h3{font-size:19px}.fact p{font-size:15px;line-height:1.5;color:var(--ink-3)}
.m-sq{width:8px;height:8px;border:1.5px solid currentColor;display:block}
.m-rule{display:block;width:24px;border-top:2px solid currentColor}.m-rule.dashed{border-top-style:dashed}

/* access form */
.access .intro{grid-column:span 5;display:flex;flex-direction:column;gap:20px}
.access .form{grid-column:7 / span 6}
.already{margin-top:12px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;max-width:440px;font-size:15px}
.already a{text-decoration:underline;text-underline-offset:4px}
form{display:flex;flex-direction:column;gap:18px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.field{display:flex;flex-direction:column;gap:8px}
label{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--mono-muted);text-transform:uppercase}
input,textarea{width:100%;border:1px solid var(--line-strong);border-radius:2px;background:var(--graphite);color:var(--concrete);font:inherit;font-size:14px}
input{height:44px;padding:0 14px}textarea{padding:12px 14px;line-height:1.45;resize:vertical}
input::placeholder{color:var(--mono-muted)}
[aria-invalid=true]{border-color:var(--concrete)}
.alert{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#D8DAD7}
.alert::before{content:"";width:9px;height:9px;border:1.5px solid var(--concrete);flex:none;background-image:repeating-linear-gradient(45deg,#F0F1EF 0 1.5px,transparent 1.5px 4px)}
.submit-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.submit-row > span{font-size:13px;color:var(--ink-3)}
.done{display:flex;flex-direction:column;gap:14px;padding:28px;border:1px solid var(--line-strong);border-radius:2px}
.done .k{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.14em}
.done h3{font-size:24px;line-height:1.2}.done p{font-size:15px;line-height:1.5;color:var(--ink-3)}
[hidden]{display:none!important}

/* intelligence page */
.about{display:flex;flex-direction:column;gap:72px}
.about .big{font-size:clamp(30px,3.1vw,44px);font-weight:700;line-height:1.12;letter-spacing:-.02em;text-wrap:pretty}
.about .body{display:flex;flex-direction:column;gap:24px}
.about p.t{font-size:19px;line-height:1.55;color:var(--day-2);max-width:760px}
.principles{grid-column:4 / span 9;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.principle{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;padding-top:16px;border-top:2px solid var(--graphite)}
.principle i{width:8px;height:8px;margin-top:8px;background:var(--graphite);display:block}.principle i.c{border-radius:50%}
.principle h3{font-size:21px;line-height:1.2}.principle p{font-size:15px;line-height:1.5;color:var(--day-2);margin-top:6px}
.product{min-height:470px;margin-top:32px;background:var(--surface);border:1px solid var(--line);border-radius:3px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 420px}
.product .copy{padding:44px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;align-items:flex-start}
.product h2{font-size:clamp(32px,3.6vw,52px);line-height:1.04;letter-spacing:-.03em;max-width:640px;margin-top:24px}
.product p{font-size:19px;line-height:1.5;color:var(--ink-2);max-width:560px;margin-top:16px}
.product .shot{position:relative;border-left:1px solid var(--line);background:var(--graphite);overflow:hidden}
.product .shot .win{position:absolute;left:44px;top:44px;width:332px}

/* footer */
.site-footer{padding:56px var(--pad) 48px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:40px}
.site-footer .top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}
.site-footer .cols{display:flex;gap:72px}
.site-footer .col{display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:2}
.site-footer .col .h{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--mono-muted);margin-bottom:6px;line-height:1.4}
.site-footer .col small{font-size:13px;line-height:1.5;color:var(--ink-3);max-width:220px}
.site-footer .login{font-weight:700;display:flex;align-items:center;gap:8px}
.site-footer .owner{padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}
.mark svg{width:22.3px;height:24px;display:block}

/* ---------- 1024: nav drops the Intelligence item; caller/team stack ---------- */
@media (max-width:1100px){
  :root{--pad:40px;--section:96px}
  .nav{gap:24px}.nav .hide-1024{display:none}
  .who{grid-template-columns:minmax(0,1fr) 300px}
  .who .team{grid-column:1 / -1}
  .who .team .list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  .product{grid-template-columns:minmax(0,1fr) 380px}.product .shot .win{left:34px;width:312px}
  .site-footer .cols{gap:44px}
}
/* ---------- 390: symbol alone, Beta login always visible, single column ---------- */
@media (max-width:700px){
  :root{--pad:20px;--section:72px}
  .lockup{display:none}.symbol{display:flex;width:52px;height:52px;align-items:center}.symbol svg{width:26px;height:28px}
  .site-header .bar{height:72px;justify-content:space-between;gap:8px}
  .nav{gap:8px}.nav a.link{display:none}
  .menu-btn{display:flex;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:2px;background:var(--graphite);flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;cursor:pointer}
  .menu-btn i{display:block;width:16px;border-top:1.5px solid var(--concrete)}
  .menu.open{display:flex;flex-direction:column;padding:0 20px 12px;background:var(--graphite);border-bottom:1px solid var(--line)}
  .menu a{height:52px;display:flex;align-items:center;border-top:1px solid var(--line);font-size:17px}
  .hero{min-height:680px}.hero-body{padding:120px 20px 28px}br.wide{display:none}
  .hero-ct .pname{font-size:20px;margin-top:22px}
  .plate{font-size:10.5px;letter-spacing:.1em}
  .hero-plate{align-self:stretch;max-width:none;padding:20px;margin-top:24px}.hero-plate p{font-size:16px}
  .actions{flex-direction:column}.btn{height:52px;font-size:16px}.hero-ct .actions .btn-secondary-login{display:none}
  .band{flex-direction:column;align-items:stretch;padding:24px 20px}.band .t{flex-direction:column;gap:4px}
  .grid12{display:flex;flex-direction:column;gap:28px}
  .headrow > .eyebrow{padding-top:0}
  .cols4{grid-template-columns:1fr;gap:0}
  .step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:6px 4px;padding:18px 0}.step .n{padding-top:5px}.step h3,.step p{grid-column:2}
  .term{padding:16px 0}.step p,.term p{font-size:16px}
  .who{grid-template-columns:1fr;gap:56px}.who .col{border-top:0;padding-top:0}.who .team .list{display:block}
  .who h3{font-size:32px;line-height:1.1}.who p,.list div{font-size:16px}
  .record .pair,.principles,.fields{grid-template-columns:1fr}.record .pair{gap:32px}
  .lede{font-size:16px}input{height:52px}input,textarea{font-size:16px}
  .about{gap:28px}.about .grid12{padding-top:0}.about .grid12 + .grid12{padding-top:28px;border-top:1px solid var(--day-line)}
  .principle h3{font-size:20px}.principle p{font-size:16px}
  .product{display:flex;flex-direction:column;background:none;border:0;min-height:0;overflow:visible}
  .product .copy{padding:0;gap:28px;align-items:stretch}.product h2{font-size:32px;line-height:1.1}.product p{font-size:17px}
  .product .shot{border:0;overflow:visible;margin-top:40px}.product .shot .win{position:static;width:100%}
  .site-footer{padding:40px 20px 48px;gap:32px}.site-footer .top{flex-direction:column-reverse}.site-footer .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px;width:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* --- legal pages -----------------------------------------------------------
   Privacy and Terms. Long-form prose on Paper, reusing the existing tokens and
   type scale -- no new colours, no new fonts. Scoped to .legal so nothing here
   can reach the two marketing pages. */
.legal{max-width:760px;margin:0 auto;padding:0 40px}
.legal .updated{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mono-muted)}
.legal h1{font-size:clamp(34px,5vw,56px);line-height:1.02;letter-spacing:-.03em;margin:18px 0 0}
.legal .intro{font-size:19px;line-height:1.5;margin:22px 0 0}
.legal h2{font-size:21px;letter-spacing:-.01em;margin:52px 0 0;padding-top:22px;border-top:1px solid rgba(43,46,49,.14)}
.legal h3{font-size:16px;margin:26px 0 0}
.legal p{font-size:16px;line-height:1.62;margin:14px 0 0}
.legal ul{margin:14px 0 0;padding-left:20px}
.legal li{font-size:16px;line-height:1.62;margin:7px 0}
.legal a{color:inherit}
.legal .note{margin-top:22px;padding:18px 20px;background:var(--concrete);font-size:15px;line-height:1.55}
.legal dl{margin:14px 0 0}
.legal dt{font-weight:700;font-size:16px;margin-top:16px}
.legal dd{margin:5px 0 0;font-size:16px;line-height:1.62}
@media(max-width:700px){
  .legal{padding:0 20px}
  .legal p,.legal li,.legal dd{font-size:16px}
}

/* The header is absolutely positioned so it can sit over the hero field. The
   legal pages have no hero, so it would otherwise overlap the text and put the
   light lockup and Concrete nav links on white, where neither is legible. Here
   it becomes a Graphite band in normal flow: the same header, on the surface
   its artwork is drawn for. */
[data-page="privacy"] .site-header,
[data-page="terms"] .site-header{position:static;background:var(--graphite)}
[data-page="privacy"] .site-header .bar,
[data-page="terms"] .site-header .bar{height:92px}
