/* ChefAdmin marketing site — warm editorial palette, deliberate counterpart to Godark's dark site */

:root{
  /* paper / cream / borders */
  --paper:        #F7F4EE;
  --paper-2:      #EFEAE0;
  --paper-3:      #E8E2D2;
  --paper-border: #E3DED1;
  --paper-border-2: #D7CFBC;

  /* ink / text */
  --ink:          #1A1A1A;
  --ink-2:        #2A2A28;
  --slate:        #4A4A4A;
  --mist:         #8B8579;
  --mist-soft:    #C7C0B0;
  --mist-2:       #B0A89A;

  /* accents */
  --ember:        #D97706;
  --ember-2:      #B45F03;
  --ember-soft:   #FBE6C2;
  --ember-line:   #F1C77A;
  --terracotta:   #B5582B;
  --saffron:      #F59E0B;
  --sage:         #6B7F5E;
  --sage-soft:    #DCE3CE;

  /* iron — for the dark intelligence-layer section */
  --iron:         #1F1D1A;
  --iron-2:       #26241F;
  --iron-3:       #2D2A24;
  --iron-border:  #3A3630;
  --iron-text:    #EFEAE0;
  --iron-text-2:  #B7B0A0;

  /* type */
  --serif: 'Fraunces', ui-serif, Georgia, 'Times New Roman', serif;
  --sans:  'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif;
  --mono:  'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* layout */
  --maxw: 1180px;
  --pad-x: 24px;
}
@media(min-width:1024px){ :root{ --pad-x: 56px; } }

*{ box-sizing:border-box; }
html, body{ margin:0; padding:0; background:var(--paper); color:var(--ink); }
body{
  font-family:var(--sans); font-size:17px; line-height:1.55;
  letter-spacing:-0.005em;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
html{ scroll-behavior:smooth; scroll-padding-top:88px; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
::selection{ background:var(--ember); color:#fff; }
button{ font:inherit; cursor:pointer; }
:focus-visible{ outline:2px solid var(--ember); outline-offset:3px; border-radius:2px; }

/* ─── primitives ───────────────────────────────────────────── */
.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 var(--pad-x); }

.eyebrow{
  font-family:var(--mono); font-size:11.5px; font-weight:500;
  letter-spacing:0.16em; text-transform:uppercase;
  color:var(--ember-2);
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow .dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--ember); box-shadow:0 0 0 4px var(--ember-soft);
  flex:none;
}
.eyebrow.live .dot{ animation: pulse 2.4s ease-in-out infinite; }
@keyframes pulse{
  0%, 100%{ box-shadow:0 0 0 4px var(--ember-soft); }
  50%{ box-shadow:0 0 0 8px rgba(217,119,6,0.10); }
}

.display{
  font-family:var(--serif); font-weight:400;
  font-variation-settings:"opsz" 144, "SOFT" 30;
  letter-spacing:-0.025em; line-height:1.02; color:var(--ink);
}
.display em{
  font-style:italic; font-variation-settings:"opsz" 144, "SOFT" 50;
  color:var(--ember-2);
}
.section-title{
  font-family:var(--serif); font-weight:400;
  font-variation-settings:"opsz" 144;
  letter-spacing:-0.022em; line-height:1.04;
  font-size:clamp(34px, 4.4vw, 56px);
  margin:0 0 24px;
  color:var(--ink); max-width:22ch;
}
.section-title em{ font-style:italic; color:var(--ember-2); font-variation-settings:"opsz" 144, "SOFT" 50; }
.lede{
  font-size:clamp(17px, 1.4vw, 20px); line-height:1.55; letter-spacing:-0.005em;
  color:var(--slate); max-width:62ch;
}
p{ margin:0 0 1em; color:var(--slate); }

.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 22px; font-size:15px; font-weight:500;
  letter-spacing:-0.005em; border-radius:8px;
  border:1px solid transparent;
  transition:transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
  white-space:nowrap;
}
.btn .arr{ transition:transform .2s ease; }
.btn:hover .arr{ transform:translateX(3px); }
.btn-primary{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.btn-primary:hover{ background:var(--ember-2); border-color:var(--ember-2); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--paper-border-2); }
.btn-ghost:hover{ border-color:var(--ink); }
.btn-ember{ background:var(--ember); color:#fff; border-color:var(--ember); }
.btn-ember:hover{ background:var(--ember-2); border-color:var(--ember-2); }

/* ─── nav ──────────────────────────────────────────────────── */
header.nav{
  position:fixed; top:0; left:0; right:0; z-index:60;
  height:72px; display:flex; align-items:center;
  transition:background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
  border-bottom:1px solid transparent;
}
header.nav.scrolled{
  background:rgba(247,244,238,0.84);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
          backdrop-filter:blur(16px) saturate(140%);
  border-bottom-color:var(--paper-border);
}
.nav-inner{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; }
/* nav spans a little wider than the body content so the full menu has room */
header.nav .container{ max-width:1340px; }
.brand{ display:flex; align-items:center; gap:10px; }
.brand img{ height:30px; width:auto; }
.brand .by{
  font-family:var(--mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--mist); border-left:1px solid var(--paper-border-2); padding-left:10px;
  display:none;
}
@media(min-width:760px){ .brand .by{ display:inline-block; white-space:nowrap; } }
.brand .by b{ color:var(--ink); font-weight:500; }

.nav-links{ display:none; gap:22px; }
@media(min-width:1240px){ .nav-links{ display:flex; } }
.nav-links a{
  font-size:14.5px; color:var(--slate); padding:6px 0; position:relative;
  transition:color .15s ease; white-space:nowrap;
}
.nav-links a:hover{ color:var(--ink); }
.nav-links a::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px;
  background:var(--ember); transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.nav-links a:hover::after{ transform:scaleX(1); }
.nav-cta{ display:none; }
@media(min-width:560px){ .nav-cta{ display:inline-flex; } }
.nav-cta.btn{ padding:10px 16px; font-size:14px; }

.nav-burger{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:8px; background:transparent;
  border:1px solid var(--paper-border-2);
}
@media(min-width:1240px){ .nav-burger{ display:none; } }
.nav-burger svg{ width:18px; height:18px; }

.mobile-menu{
  position:fixed; inset:0; z-index:80;
  background:var(--paper);
  display:flex; flex-direction:column;
  padding:24px var(--pad-x) 48px;
  transform:translateY(-100%); opacity:0; pointer-events:none;
  transition:transform .3s ease, opacity .2s ease;
}
.mobile-menu.open{ transform:translateY(0); opacity:1; pointer-events:auto; }
.mobile-menu .mm-top{ display:flex; justify-content:space-between; align-items:center; height:48px; }
.mobile-menu nav{ display:flex; flex-direction:column; gap:8px; margin-top:48px; }
.mobile-menu nav a{
  font-family:var(--serif); font-size:32px; font-weight:400; color:var(--ink);
  padding:8px 0; border-bottom:1px solid var(--paper-border);
}
.mobile-menu .mm-foot{ margin-top:auto; padding-top:32px; }

/* ─── hero ─────────────────────────────────────────────────── */
section.hero{
  position:relative;
  padding:144px 0 64px;
  overflow:hidden;
}
@media(min-width:768px){ section.hero{ padding:160px 0 96px; } }

.hero-bg{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 60% at 20% 0%, rgba(217,119,6,0.07), transparent 70%),
    radial-gradient(ellipse 60% 50% at 90% 30%, rgba(181,88,43,0.05), transparent 70%);
}
.hero-grid{
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(to right, var(--paper-border) 1px, transparent 1px),
    linear-gradient(to bottom, var(--paper-border) 1px, transparent 1px);
  background-size:80px 80px;
  -webkit-mask-image: radial-gradient(ellipse 70% 50% at 35% 40%, #000 30%, transparent 75%);
          mask-image: radial-gradient(ellipse 70% 50% at 35% 40%, #000 30%, transparent 75%);
  opacity:0.45;
}

.hero-inner{
  position:relative; z-index:2;
  display:grid; gap:48px;
  grid-template-columns:1fr;
}
@media(min-width:1024px){
  .hero-inner{ grid-template-columns: 1.1fr 1fr; gap:48px; align-items:end; }
}

.hero h1{
  font-family:var(--serif); font-weight:400;
  font-variation-settings:"opsz" 144, "SOFT" 30;
  font-size:clamp(48px, 7vw, 96px);
  line-height:0.98; letter-spacing:-0.03em;
  margin:24px 0 24px; color:var(--ink);
}
.hero h1 em{
  font-style:italic; color:var(--ember-2);
  font-variation-settings:"opsz" 144, "SOFT" 50;
}
.hero-sub{
  max-width:60ch;
  font-size:clamp(17px, 1.4vw, 19.5px); line-height:1.55;
  color:var(--slate); margin:0 0 32px;
}
.hero-sub b{ color:var(--ink); font-weight:500; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.hero-cred{
  margin-top:24px;
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--mist);
}
.hero-cred .pip{ width:4px; height:4px; border-radius:50%; background:var(--mist-soft); }
.hero-cred b{ color:var(--ember-2); font-weight:500; }

/* ─── synthesized product dashboard mockup (hero right) ───── */
.dash{
  background:#fff;
  border:1px solid var(--paper-border);
  border-radius:14px;
  box-shadow: 0 1px 0 #fff inset, 0 24px 48px -24px rgba(26,26,26,0.18), 0 8px 16px -12px rgba(26,26,26,0.1);
  overflow:hidden;
  font-size:12px; color:var(--ink);
  position:relative;
}
.dash-top{
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; border-bottom:1px solid var(--paper-border);
  background:var(--paper-2);
}
.dash-top .lights{ display:flex; gap:5px; }
.dash-top .lights span{ width:9px; height:9px; border-radius:50%; background:var(--paper-border-2); }
.dash-top .crumb{
  font-family:var(--mono); font-size:10.5px; letter-spacing:0.04em; color:var(--mist);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.dash-top .crumb b{ color:var(--ink); font-weight:500; }
.dash-top .right{
  margin-left:auto; display:flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:10px; color:var(--ember);
  letter-spacing:0.12em; text-transform:uppercase;
}
.dash-top .right .live-dot{
  width:6px; height:6px; border-radius:50%; background:var(--ember);
  animation:pulse 2.4s ease-in-out infinite;
}

.dash-body{
  display:grid;
  grid-template-columns: 110px 1fr;
  min-height:380px;
}
.dash-side{
  background:var(--paper);
  border-right:1px solid var(--paper-border);
  padding:14px 10px;
  display:flex; flex-direction:column; gap:4px;
}
.dash-side .grp{
  font-family:var(--mono); font-size:9px; letter-spacing:0.16em;
  color:var(--mist); text-transform:uppercase; padding:8px 8px 4px;
}
.dash-side .it{
  display:flex; align-items:center; gap:8px;
  padding:6px 8px; border-radius:6px;
  font-size:11.5px; color:var(--slate);
}
.dash-side .it.active{ background:var(--ember-soft); color:var(--ink); font-weight:500; }
.dash-side .it .ico{
  width:11px; height:11px; border-radius:3px;
  background:var(--paper-border-2);
}
.dash-side .it.active .ico{ background:var(--ember); }

.dash-main{ padding:16px; display:flex; flex-direction:column; gap:14px; min-width:0; }
.dash-row{
  display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
}
.dash-h{
  font-family:var(--serif); font-size:18px; font-weight:400;
  font-variation-settings:"opsz" 144; letter-spacing:-0.015em; line-height:1.15;
}
.dash-h em{ font-style:italic; color:var(--ember-2); }
.dash-stat{
  display:flex; gap:14px; align-items:baseline; flex-wrap:wrap;
}
.dash-stat .v{
  font-family:var(--serif); font-size:28px; font-weight:400;
  font-variation-settings:"opsz" 144;
  letter-spacing:-0.02em; line-height:1;
}
.dash-stat .v small{ font-size:13px; color:var(--mist); font-weight:400; margin-left:2px; }
.dash-stat .delta{
  font-family:var(--mono); font-size:11px; color:var(--sage); letter-spacing:0.04em;
}
.dash-stat .delta.dn{ color:var(--terracotta); }

.dash-kv{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px;
}
.dash-kv .kv{
  background:var(--paper); border:1px solid var(--paper-border);
  border-radius:8px; padding:10px;
}
.dash-kv .kv .k{
  font-family:var(--mono); font-size:9px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--mist); margin-bottom:4px;
}
.dash-kv .kv .v{ font-size:14px; font-weight:500; color:var(--ink); }
.dash-kv .kv .v.up{ color:var(--sage); }
.dash-kv .kv .v.dn{ color:var(--terracotta); }

.dash-table{
  border:1px solid var(--paper-border);
  border-radius:10px; overflow:hidden;
}
.dash-table .th{
  display:grid; grid-template-columns: 1.5fr 56px 60px 56px;
  padding:8px 12px; background:var(--paper);
  font-family:var(--mono); font-size:9px; letter-spacing:0.14em;
  color:var(--mist); text-transform:uppercase;
  border-bottom:1px solid var(--paper-border);
}
.dash-table .tr{
  display:grid; grid-template-columns: 1.5fr 56px 60px 56px;
  padding:8px 12px; align-items:center;
  font-size:11.5px; border-bottom:1px solid var(--paper-border);
}
.dash-table .tr:last-child{ border-bottom:0; }
.dash-table .tr .dish{ color:var(--ink); font-weight:500; }
.dash-table .tr .pct{ font-family:var(--mono); }
.dash-table .tr .pct.up{ color:var(--sage); }
.dash-table .tr .pct.dn{ color:var(--terracotta); }
.dash-table .tr svg{ height:14px; width:48px; }
.dash-table .tr svg.up path{ stroke:var(--sage); }
.dash-table .tr svg.dn path{ stroke:var(--terracotta); }
.dash-table .tr svg path{ fill:none; stroke-width:1.5; }

.dash-jeffrey{
  background:var(--paper); border:1px solid var(--paper-border);
  border-left:2px solid var(--ember);
  padding:10px 12px;
  border-radius:0 8px 8px 0;
}
.dash-jeffrey .row{
  display:flex; gap:8px; align-items:flex-start;
}
.dash-jeffrey .j-tag{
  font-family:var(--mono); font-size:9px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--ember-2); padding:2px 6px;
  background:var(--ember-soft); border-radius:4px;
  flex:none; margin-top:1px;
}
.dash-jeffrey .j-txt{ font-size:11.5px; color:var(--ink); line-height:1.45; }
.dash-jeffrey .j-txt b{ color:var(--terracotta); font-weight:500; }

/* ─── §2 proof bar ─────────────────────────────────────────── */
.proof{
  border-top:1px solid var(--paper-border);
  border-bottom:1px solid var(--paper-border);
  padding:36px 0;
  background:var(--paper-2);
}
.proof-led{
  display:flex; align-items:center; gap:16px;
  font-family:var(--mono); font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--mist); margin-bottom:24px;
}
.proof-led .line{ flex:1; height:1px; background:var(--paper-border-2); }
.proof-stats{
  display:grid; gap:1px;
  background:var(--paper-border);
  border:1px solid var(--paper-border);
  border-radius:12px; overflow:hidden;
  grid-template-columns:1fr;
}
@media(min-width:560px){ .proof-stats{ grid-template-columns:1fr 1fr; } }
@media(min-width:980px){ .proof-stats{ grid-template-columns:repeat(4,1fr); } }
.proof-cell{
  background:var(--paper);
  padding:24px 20px;
  display:flex; flex-direction:column; gap:8px;
}
.proof-cell .v{
  font-family:var(--serif); font-weight:400;
  font-variation-settings:"opsz" 144;
  font-size:clamp(36px, 3vw, 44px); line-height:0.95;
  letter-spacing:-0.025em; color:var(--ink);
}
.proof-cell .v .pct{ color:var(--ember-2); }
.proof-cell .v small{ font-size:0.4em; color:var(--mist); font-weight:400; margin-left:2px; }
.proof-cell .k{
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--mist); margin-top:auto;
}

/* ─── section scaffolding ──────────────────────────────────── */
.sec{ padding:120px 0; }
@media(max-width:720px){ .sec{ padding:80px 0; } }
.sec-head{
  display:grid; gap:24px; grid-template-columns:1fr;
  align-items:end; margin-bottom:56px;
}
@media(min-width:900px){
  .sec-head{ grid-template-columns: 1.2fr 1fr; gap:80px; margin-bottom:72px; }
  .sec-head .aside{ padding-bottom:8px; }
}
.sec-aside p{ color:var(--mist); font-size:16px; max-width:42ch; }

/* ─── §3 problem ──────────────────────────────────────────── */
.problem{ background:var(--paper); border-top:1px solid var(--paper-border); }
.problem-body{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(20px, 1.9vw, 24px); line-height:1.45; letter-spacing:-0.012em;
  color:var(--ink-2); max-width:60ch;
}
.problem-body em{ font-style:italic; color:var(--ember-2); }
.problem-body p + p{ margin-top:1em; }
.problem-grid{ display:grid; gap:48px; grid-template-columns:1fr; }
@media(min-width:900px){ .problem-grid{ grid-template-columns: 1fr 1fr; gap:80px; } }
.pull-quote{
  margin-top:48px;
  font-family:var(--serif); font-weight:400; font-style:italic;
  font-variation-settings:"opsz" 144, "SOFT" 50;
  font-size:clamp(24px, 2.6vw, 36px);
  line-height:1.2; letter-spacing:-0.02em;
  color:var(--ink);
  border-left:2px solid var(--ember);
  padding:8px 0 8px 28px;
  max-width:34ch;
}
.pull-quote-attrib{
  margin-top:20px;
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.16em;
  color:var(--mist);
}
.problem-aside p{ color:var(--slate); font-size:16px; line-height:1.6; }
.problem-aside p + p{ margin-top:1em; }

/* ─── §4 how it works ─────────────────────────────────────── */
.how{ background:var(--paper-2); border-top:1px solid var(--paper-border); border-bottom:1px solid var(--paper-border); }
.how-grid{
  display:grid; gap:16px; grid-template-columns:1fr;
}
@media(min-width:880px){ .how-grid{ grid-template-columns:repeat(3,1fr); gap:20px; } }
.how-card{
  background:#fff; border:1px solid var(--paper-border);
  border-radius:14px; padding:32px 28px; min-height:280px;
  display:flex; flex-direction:column;
  position:relative;
}
.how-card .num{
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.16em;
  color:var(--mist); margin-bottom:24px;
}
.how-card .num .verb{ color:var(--ember-2); font-weight:500; }
.how-card h3{
  font-family:var(--serif); font-weight:400;
  font-variation-settings:"opsz" 144;
  font-size:24px; letter-spacing:-0.018em; line-height:1.15;
  margin:0 0 12px; color:var(--ink);
}
.how-card p{ font-size:15px; line-height:1.55; color:var(--slate); margin:0; }
.how-card .meta{
  margin-top:auto; padding-top:18px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--mist); border-top:1px dashed var(--paper-border);
  display:flex; gap:8px; align-items:center;
}
.how-card .meta .ok{ width:6px; height:6px; border-radius:50%; background:var(--sage); }

.how-sources{
  margin-top:48px; padding-top:32px;
  border-top:1px dashed var(--paper-border-2);
  display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; align-items:center;
}
.how-sources .lbl{
  font-family:var(--mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--mist);
}
.how-pills{ display:flex; flex-wrap:wrap; gap:8px; }
.how-pill{
  font-family:var(--mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase;
  padding:7px 12px; background:#fff; border:1px solid var(--paper-border);
  border-radius:999px; color:var(--ink); white-space:nowrap;
}
.how-pill.strong{ border-color:var(--ember-line); color:var(--ember-2); background:var(--ember-soft); }

/* ─── §5 product detail (sticky scroll) ───────────────────── */
.product{ background:var(--paper); }
.product-shell{
  display:grid; gap:24px; grid-template-columns:1fr;
}
@media(min-width:980px){
  .product-shell{ grid-template-columns: 1fr 1fr; gap:64px; align-items:flex-start; }
}

.product-sticky{
  position:relative;
}
@media(min-width:980px){
  .product-sticky{
    position:sticky; top:120px;
    height:560px;
  }
}
.product-mock{
  position:absolute; inset:0; opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}
.product-mock.active{ opacity:1; pointer-events:auto; }
@media(max-width:979px){
  .product-mock{ position:static; opacity:1; pointer-events:auto; transition:none; margin-bottom:24px; }
}

.product-stack{ display:flex; flex-direction:column; gap:40px; }
.product-step{
  padding:64px 0; border-bottom:1px solid var(--paper-border);
  scroll-margin-top:120px;
}
.product-step:first-child{ padding-top:0; }
.product-step:last-child{ border-bottom:0; }
.product-step .step-no{
  font-family:var(--mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--ember-2); margin-bottom:12px;
}
.product-step h3{
  font-family:var(--serif); font-weight:400;
  font-variation-settings:"opsz" 144;
  font-size:clamp(28px, 2.4vw, 34px); line-height:1.1; letter-spacing:-0.02em;
  margin:0 0 14px; color:var(--ink);
}
.product-step h3 em{ font-style:italic; color:var(--ember-2); }
.product-step p{ font-size:16px; line-height:1.55; color:var(--slate); margin:0 0 16px; max-width:50ch; }
.product-step ul{
  list-style:none; padding:0; margin:16px 0 0;
  display:grid; gap:6px;
}
.product-step ul li{
  font-size:14.5px; color:var(--ink-2); padding-left:18px; position:relative;
}
.product-step ul li::before{
  content:""; position:absolute; left:0; top:9px;
  width:8px; height:8px; border-radius:2px; background:var(--ember-soft);
  border:1px solid var(--ember-line);
}

/* mock chrome shared by all product mocks (same as hero .dash) */
.mock-frame{
  background:#fff; border:1px solid var(--paper-border);
  border-radius:14px;
  box-shadow: 0 1px 0 #fff inset, 0 24px 48px -24px rgba(26,26,26,0.15);
  overflow:hidden; font-size:12px; color:var(--ink);
}
.mock-body{ padding:0; }
.mock-body img{ display:block; width:100%; height:auto; }

/* hero dashboard screenshot — fills the frame below the window chrome */
.dash-shot{ display:block; width:100%; height:auto; }

/* recipe IP mock */
.recipe-card{
  background:var(--paper); border:1px solid var(--paper-border);
  border-radius:10px; padding:18px; margin-bottom:14px;
}
.recipe-card .rc-h{
  display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:14px;
}
.recipe-card .rc-name{
  font-family:var(--serif); font-weight:400; font-size:18px;
  letter-spacing:-0.012em; line-height:1.15;
}
.recipe-card .rc-name em{ font-style:italic; color:var(--ember-2); }
.recipe-card .rc-meta{
  font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--mist); text-align:right;
}
.recipe-card .rc-ing{
  display:grid; gap:6px; margin-top:6px;
}
.recipe-card .rc-row{
  display:grid; grid-template-columns: 1.5fr 60px 60px;
  padding:6px 0; font-size:12px; align-items:center;
  border-bottom:1px solid var(--paper-border);
}
.recipe-card .rc-row:last-child{ border-bottom:0; }
.recipe-card .rc-row .ing{ color:var(--ink); }
.recipe-card .rc-row .qty{ font-family:var(--mono); color:var(--slate); }
.recipe-card .rc-row .cost{ font-family:var(--mono); color:var(--ink); text-align:right; }
.recipe-row-foot{
  display:grid; grid-template-columns: 1.5fr 60px 60px;
  padding:10px 0 0; font-family:var(--mono); font-size:11px;
  color:var(--ember-2); letter-spacing:0.04em; border-top:1px dashed var(--paper-border-2);
}
.recipe-row-foot .lbl{ text-transform:uppercase; letter-spacing:0.14em; }
.recipe-row-foot .total{ text-align:right; font-weight:500; }

.rc-badges{ display:flex; gap:8px; flex-wrap:wrap; }
.rc-badge{
  font-family:var(--mono); font-size:9px; text-transform:uppercase; letter-spacing:0.14em;
  padding:3px 7px; border-radius:999px;
  background:var(--paper); border:1px solid var(--paper-border-2); color:var(--slate);
}
.rc-badge.lock{ background:var(--ember-soft); border-color:var(--ember-line); color:var(--ember-2); }
.rc-badge.aller{ background:#fde2cf; border-color:#f1b88a; color:var(--terracotta); }

/* inventory mock */
.inv-head{
  display:flex; gap:8px; align-items:center; margin-bottom:14px;
  font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--mist);
}
.inv-grid{
  display:grid; grid-template-columns: 2fr 70px 70px 70px;
  gap:0; border:1px solid var(--paper-border); border-radius:10px; overflow:hidden;
  background:#fff;
}
.inv-grid .h{
  background:var(--paper); padding:8px 12px;
  font-family:var(--mono); font-size:9.5px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--mist); border-bottom:1px solid var(--paper-border);
}
.inv-grid .c{
  padding:10px 12px; font-size:12px; color:var(--ink);
  border-bottom:1px solid var(--paper-border); display:flex; align-items:center; gap:6px;
}
.inv-grid .c.mono{ font-family:var(--mono); color:var(--slate); }
.inv-grid .c.pct{ font-family:var(--mono); }
.inv-grid .c.pct.up{ color:var(--sage); }
.inv-grid .c.pct.dn{ color:var(--terracotta); }
.inv-grid .c.brand{
  display:inline-flex; padding:3px 8px; border-radius:999px;
  font-size:10px; font-family:var(--mono); letter-spacing:0.08em;
  background:var(--ember-soft); color:var(--ember-2);
}
.inv-grid .c.last{ border-bottom:0; }

/* menu engineering mock */
.me-scatter{
  position:relative; background:var(--paper); border:1px solid var(--paper-border);
  border-radius:10px; height:280px; margin-bottom:14px;
  padding:16px;
}
.me-axis-y, .me-axis-x{
  position:absolute;
  font-family:var(--mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--mist);
}
.me-axis-y{ left:8px; top:50%; transform:rotate(-90deg) translateY(0); transform-origin:left top; }
.me-axis-x{ bottom:6px; left:50%; transform:translateX(-50%); }
.me-grid-h, .me-grid-v{ position:absolute; background:var(--paper-border-2); }
.me-grid-h{ left:24px; right:16px; top:50%; height:1px; }
.me-grid-v{ top:16px; bottom:24px; left:50%; width:1px; }
.me-q{
  position:absolute; font-family:var(--mono); font-size:9px;
  color:var(--mist-2); letter-spacing:0.12em; text-transform:uppercase;
}
.me-q.tl{ top:20px; left:30px; }
.me-q.tr{ top:20px; right:20px; }
.me-q.bl{ bottom:30px; left:30px; }
.me-q.br{ bottom:30px; right:20px; }
.me-dot{
  position:absolute; width:12px; height:12px; border-radius:50%;
  border:2px solid #fff; transform:translate(-50%, -50%);
}
.me-dot.star{ background:var(--sage); width:16px; height:16px; box-shadow:0 0 0 3px var(--sage-soft); }
.me-dot.work{ background:var(--saffron); }
.me-dot.puzzle{ background:var(--terracotta); }
.me-dot.dog{ background:var(--mist-2); }
.me-dot-l{
  position:absolute;
  font-family:var(--mono); font-size:10px; color:var(--ink); white-space:nowrap;
  transform:translate(-50%, -160%);
}

.me-legend{ display:flex; flex-wrap:wrap; gap:14px; font-family:var(--mono); font-size:10.5px; color:var(--slate); }
.me-legend .l{ display:flex; align-items:center; gap:6px; }
.me-legend .l .dot{ width:8px; height:8px; border-radius:50%; }

/* food-cost mock */
.fc-row{
  display:grid; grid-template-columns: 110px 1fr 60px; gap:12px;
  padding:10px 0; border-bottom:1px solid var(--paper-border); align-items:center;
}
.fc-row:last-child{ border-bottom:0; }
.fc-row .lbl{ font-size:12px; color:var(--ink); }
.fc-row .lbl small{ font-family:var(--mono); font-size:10px; color:var(--mist); display:block; }
.fc-bar{
  position:relative; height:18px; background:var(--paper); border:1px solid var(--paper-border); border-radius:5px; overflow:hidden;
}
.fc-bar .theo{ position:absolute; left:0; top:0; bottom:0; background:var(--paper-border-2); }
.fc-bar .actual{ position:absolute; left:0; top:0; bottom:0; background:var(--ember); mix-blend-mode:multiply; }
.fc-row .pct{ font-family:var(--mono); font-size:12px; color:var(--ink); text-align:right; }
.fc-row .pct.dn{ color:var(--terracotta); }
.fc-row .pct.up{ color:var(--sage); }

/* Allergen mock */
.alg-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; margin-bottom:14px; }
.alg-card{
  padding:14px 12px; background:var(--paper); border:1px solid var(--paper-border);
  border-radius:10px; display:flex; flex-direction:column; gap:6px;
}
.alg-card .ic{
  width:28px; height:28px; border-radius:50%; background:var(--ember-soft);
  border:1px solid var(--ember-line); color:var(--ember-2);
  display:grid; place-items:center;
}
.alg-card .name{
  font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ink);
}
.alg-card .count{ font-size:13px; color:var(--slate); }
.alg-warn{
  background:#fde2cf; border:1px solid #f1b88a; padding:10px 12px;
  border-radius:8px; font-size:12px; color:var(--terracotta);
  display:flex; gap:10px; align-items:flex-start;
}
.alg-warn b{ color:var(--terracotta); font-weight:500; }

/* ─── §6 intelligence layer (dark inset) ──────────────────── */
.intel{
  background:var(--iron); color:var(--iron-text);
  position:relative; overflow:hidden;
}
.intel::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 40% at 50% 100%, rgba(217,119,6,0.12), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,0.02), transparent 30%);
}
.intel .container{ position:relative; }
.intel .eyebrow{ color:var(--saffron); }
.intel .eyebrow .dot{ background:var(--saffron); box-shadow:0 0 0 4px rgba(245,158,11,0.16); }
.intel .section-title{ color:var(--iron-text); }
.intel .section-title em{ color:var(--saffron); }
.intel .sec-aside p{ color:var(--iron-text-2); }

.intel-grid{ display:grid; gap:24px; grid-template-columns:1fr; }
@media(min-width:900px){ .intel-grid{ grid-template-columns: 1fr 1fr; gap:48px; } }
.intel-panel{
  background:var(--iron-2); border:1px solid var(--iron-border);
  border-radius:14px; padding:32px 28px;
  display:flex; flex-direction:column;
}
.intel-panel .label{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.18em;
  color:var(--saffron); margin-bottom:14px;
}
.intel-panel h3{
  font-family:var(--serif); font-weight:400;
  font-variation-settings:"opsz" 144;
  font-size:26px; letter-spacing:-0.02em; line-height:1.15;
  margin:0 0 14px; color:var(--iron-text);
}
.intel-panel h3 em{ font-style:italic; color:var(--saffron); }
.intel-panel p{ font-size:15px; line-height:1.55; color:var(--iron-text-2); }
.chat{
  margin-top:16px;
  display:flex; flex-direction:column; gap:10px;
}
.chat .msg{
  background:var(--iron-3); border:1px solid var(--iron-border);
  border-radius:10px; padding:12px 14px;
  font-size:14px; line-height:1.5;
}
.chat .msg.user{ background:var(--iron); }
.chat .msg .who{
  font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:0.16em;
  color:var(--saffron); margin-bottom:6px;
}
.chat .msg.user .who{ color:var(--iron-text-2); }
.chat .msg b{ color:var(--saffron); font-weight:500; }
.chat .msg .red{ color:#e58a78; }

.api-block{
  margin-top:16px;
  background:#0F0E0C; border:1px solid var(--iron-border);
  border-radius:10px; padding:14px 16px;
  font-family:var(--mono); font-size:12.5px; line-height:1.55; color:var(--iron-text-2);
  white-space:pre-wrap;
  overflow:auto;
}
.api-block .k{ color:var(--saffron); }
.api-block .s{ color:#a3c98c; }
.api-block .n{ color:#e58a78; }
.api-block .c{ color:#6e6960; }

.agent-endpoints{
  margin-top:18px; display:flex; flex-wrap:wrap; gap:8px;
}
.agent-pill{
  font-family:var(--mono); font-size:11px; letter-spacing:0.06em;
  padding:6px 12px; border-radius:999px;
  background:var(--iron-3); border:1px solid var(--iron-border);
  color:var(--iron-text);
  white-space:nowrap;
}
.agent-pill code{ color:var(--saffron); }

/* ─── §7 pricing + ROI calculator ─────────────────────────── */
.pricing{ background:var(--paper); border-top:1px solid var(--paper-border); }
.price-grid{ display:grid; gap:24px; grid-template-columns:1fr; }
@media(min-width:920px){ .price-grid{ grid-template-columns: 1.1fr 1fr; gap:32px; align-items:stretch; } }

.price-card{
  background:#fff; border:1px solid var(--paper-border);
  border-radius:16px; padding:36px 32px;
  display:flex; flex-direction:column; position:relative;
}
.price-card.featured{
  border-color:var(--ember-line); background:linear-gradient(180deg, rgba(217,119,6,0.04), #fff 60%);
}
.price-tag{
  position:absolute; top:-1px; right:24px; transform:translateY(-50%);
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.18em;
  color:var(--ember-2); padding:6px 12px;
  background:var(--paper); border:1px solid var(--ember-line); border-radius:999px;
  white-space:nowrap;
}
.price-card .ca-logo{ height:34px; width:auto; margin:0 0 14px; align-self:flex-start; object-fit:contain; }
.price-card .label{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.18em;
  color:var(--mist); margin-bottom:10px;
}
.price-card h3{
  font-family:var(--serif); font-weight:400;
  font-variation-settings:"opsz" 144;
  font-size:26px; letter-spacing:-0.018em; margin:0 0 8px; color:var(--ink);
}
.price-card .sub{ font-size:15px; color:var(--slate); margin:0 0 24px; max-width:44ch; }

.price-anchor{
  display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin-bottom:10px;
}
.price-anchor .from{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.18em;
  color:var(--mist);
}
.price-anchor .v{
  font-family:var(--serif); font-weight:400;
  font-variation-settings:"opsz" 144;
  font-size:clamp(44px, 4vw, 56px); letter-spacing:-0.025em; line-height:1; color:var(--ink);
}
.price-anchor .u{ font-size:15px; color:var(--mist); white-space:nowrap; }
.price-plus{
  display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin:0 0 18px;
}
.price-plus .plus{
  font-family:var(--serif); font-size:28px; color:var(--mist);
}
.price-plus .v{
  font-family:var(--serif); font-weight:400;
  font-variation-settings:"opsz" 144;
  font-size:28px; letter-spacing:-0.02em; color:var(--ink);
}
.price-plus .u{ font-size:14px; color:var(--mist); white-space:nowrap; }

.price-example{
  margin-bottom:24px; padding:14px 16px;
  border:1px dashed var(--ember-line); border-radius:10px;
  background:rgba(217,119,6,0.04);
  font-size:14px; color:var(--ink);
}
.price-example b{ color:var(--ember-2); font-weight:500; }
.price-example .ex-l{
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.16em;
  color:var(--ember-2); margin-bottom:6px;
}

.price-list{
  list-style:none; padding:0; margin:0 0 28px;
  display:grid; gap:10px;
}
.price-list li{
  display:flex; gap:10px; align-items:flex-start;
  font-size:14.5px; color:var(--ink-2); line-height:1.5;
}
.price-list li::before{
  content:""; flex:none; width:14px; height:14px; margin-top:3px;
  background:var(--ember-soft); border:1px solid var(--ember-line); border-radius:4px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path d='M3 7l3 3 5-6' stroke='%23B45F03' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat; background-position:center;
}
.price-card .cta{ margin-top:auto; }
.price-card .cta-row{ display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
.price-card .cta-note{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--mist);
}
.price-quoted{
  font-family:var(--serif); font-weight:400; font-style:italic;
  font-variation-settings:"opsz" 144, "SOFT" 50;
  font-size:24px; letter-spacing:-0.018em; color:var(--ember-2); margin-bottom:24px;
}
.price-quoted .ink{ color:var(--ink); font-style:normal; font-variation-settings:"opsz" 144; }

/* ROI calculator */
.roi{
  margin-top:48px; padding:32px;
  background:#fff; border:1px solid var(--paper-border); border-radius:16px;
}
@media(min-width:768px){ .roi{ padding:48px; } }
.roi h3{
  font-family:var(--serif); font-weight:400;
  font-size:26px; letter-spacing:-0.018em; margin:0 0 6px; color:var(--ink);
}
.roi h3 em{ font-style:italic; color:var(--ember-2); }
.roi-sub{ color:var(--mist); font-size:14.5px; margin:0 0 32px; max-width:60ch; }
.roi-grid{
  display:grid; gap:24px; grid-template-columns:1fr;
}
@media(min-width:880px){ .roi-grid{ grid-template-columns: 1fr 1fr; gap:48px; } }
.roi-inputs{ display:grid; gap:20px; }
.roi-field label{
  display:flex; justify-content:space-between; align-items:baseline;
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--mist); margin-bottom:8px;
}
.roi-field label .val{
  font-family:var(--serif); font-size:18px; color:var(--ink); letter-spacing:-0.01em;
}
.roi-field label .val em{ font-style:normal; color:var(--ember-2); font-family:var(--mono); font-size:13px; margin-left:6px; }
.roi-field input[type="range"]{
  -webkit-appearance:none; appearance:none; width:100%; height:4px;
  border-radius:999px; background:var(--paper-border-2); outline:none;
}
.roi-field input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none; width:18px; height:18px; border-radius:50%;
  background:var(--ember); border:2px solid #fff; box-shadow:0 0 0 1px var(--ember-line);
  cursor:pointer;
}
.roi-field input[type="range"]::-moz-range-thumb{
  width:18px; height:18px; border-radius:50%;
  background:var(--ember); border:2px solid #fff; box-shadow:0 0 0 1px var(--ember-line);
  cursor:pointer;
}

.roi-result{
  background:var(--paper); border:1px solid var(--paper-border); border-radius:12px;
  padding:24px;
}
.roi-result .r-row{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:10px 0; border-bottom:1px dashed var(--paper-border);
}
.roi-result .r-row:last-child{ border-bottom:0; padding-top:14px; }
.roi-result .r-l{
  font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--mist);
}
.roi-result .r-v{
  font-family:var(--serif); font-size:20px; color:var(--ink); letter-spacing:-0.012em;
}
.roi-result .r-v.gain{ color:var(--sage); }
.roi-result .r-v.cost{ color:var(--ink); }
.roi-result .r-v.total{ color:var(--ember-2); font-size:28px; }
.roi-note{
  margin-top:16px; font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--mist);
}

/* ─── §8 markets ───────────────────────────────────────────── */
.markets{ background:var(--paper-2); border-top:1px solid var(--paper-border); border-bottom:1px solid var(--paper-border); }
.markets-grid{
  display:grid; gap:24px; grid-template-columns:1fr;
}
@media(min-width:880px){ .markets-grid{ grid-template-columns:1fr 1fr; gap:32px; } }
.market-panel{
  background:#fff; border:1px solid var(--paper-border);
  border-radius:14px; padding:32px 28px;
  display:flex; flex-direction:column;
}
.market-panel .label{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.18em;
  color:var(--mist); margin-bottom:10px;
}
.market-panel h3{
  font-family:var(--serif); font-weight:400; font-variation-settings:"opsz" 144;
  font-size:22px; letter-spacing:-0.018em; margin:0 0 14px; color:var(--ink);
}
.market-panel h3 em{ font-style:italic; color:var(--ember-2); }
.market-panel p{ font-size:14.5px; line-height:1.55; color:var(--slate); margin:0 0 18px; }
.chip-row{ display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
.chip-row + .chip-row{ margin-top:10px; }
.chip{
  font-family:var(--mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase;
  padding:8px 14px; border:1px solid var(--paper-border); border-radius:999px;
  background:var(--paper); color:var(--slate);
  white-space:nowrap;
}
.chip.strong{
  border-color:var(--ember-line); color:var(--ember-2); background:var(--ember-soft);
}
.chip .pip{
  display:inline-block; width:5px; height:5px; border-radius:50%;
  background:var(--ember); margin-right:8px; vertical-align:middle;
}
.chip.rtl{ font-family:var(--sans); letter-spacing:0; direction:rtl; }

/* ─── §9 case study ────────────────────────────────────────── */
.case{ background:var(--paper); }
.case-card{
  background:#fff; border:1px solid var(--paper-border);
  border-radius:18px; padding:40px 32px;
  display:grid; gap:32px; grid-template-columns:1fr;
}
@media(min-width:880px){ .case-card{ grid-template-columns: 1fr 1.2fr; gap:64px; padding:56px 56px; } }
.case-left h3{
  font-family:var(--serif); font-weight:400; font-variation-settings:"opsz" 144;
  font-size:clamp(28px, 2.6vw, 36px); line-height:1.1; letter-spacing:-0.02em;
  margin:0 0 12px; color:var(--ink);
}
.case-left h3 em{ font-style:italic; color:var(--ember-2); }
.case-left .meta{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.16em;
  color:var(--mist); margin-bottom:24px;
}
.case-quote{
  font-family:var(--serif); font-weight:400; font-style:italic;
  font-variation-settings:"opsz" 144, "SOFT" 50;
  font-size:clamp(20px, 1.8vw, 24px); line-height:1.35;
  color:var(--ink); border-left:2px solid var(--ember);
  padding:8px 0 8px 20px; margin:0 0 18px;
}
.case-attrib{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.16em;
  color:var(--mist);
}
.case-attrib b{ color:var(--ink); font-weight:500; }

.case-stats{
  display:grid; gap:1px; background:var(--paper-border);
  border:1px solid var(--paper-border); border-radius:12px; overflow:hidden;
  grid-template-columns:1fr 1fr;
}
.case-stat{
  background:#fff; padding:24px 20px;
  display:flex; flex-direction:column; gap:6px;
}
.case-stat .v{
  font-family:var(--serif); font-weight:400; font-variation-settings:"opsz" 144;
  font-size:clamp(32px, 3vw, 44px); letter-spacing:-0.025em; line-height:0.95;
  color:var(--ember-2);
}
.case-stat .k{
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--mist); margin-top:auto;
}
.case-stat p{ font-size:14px; color:var(--slate); margin:6px 0 0; line-height:1.45; }

/* ─── §10 closing CTA ─────────────────────────────────────── */
.close{
  background:var(--paper);
  position:relative; padding:96px 0 120px;
  border-top:1px solid var(--paper-border);
  overflow:hidden;
}
.close::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 60% 80% at 50% 100%, rgba(217,119,6,0.10), transparent 70%);
}
.close-inner{ position:relative; text-align:center; }
.close h2{
  font-family:var(--serif); font-weight:400; font-variation-settings:"opsz" 144;
  font-size:clamp(36px, 5.4vw, 72px); line-height:1.05; letter-spacing:-0.03em;
  margin:18px auto 24px; max-width:24ch;
  color:var(--ink);
}
.close h2 em{ font-style:italic; color:var(--ember-2); font-variation-settings:"opsz" 144, "SOFT" 50; }
.close-sub{
  font-size:clamp(16px, 1.3vw, 19px);
  color:var(--slate); max-width:48ch; margin:0 auto 36px;
}
.close-ctas{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.close-meta{
  margin-top:64px; padding-top:32px;
  border-top:1px solid var(--paper-border);
  display:grid; gap:24px; grid-template-columns:1fr; text-align:left;
}
@media(min-width:680px){ .close-meta{ grid-template-columns:repeat(4,1fr); gap:32px; } }
.close-meta .k{
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--mist); margin-bottom:8px;
}
.close-meta .v{ font-size:15px; color:var(--ink); }
.close-meta .v a:hover{ color:var(--ember-2); }

/* FAQ */
.faq-list{ display:grid; gap:0 48px; grid-template-columns:1fr; }
@media(min-width:760px){ .faq-list{ grid-template-columns:1fr 1fr; } }
.faq-item{ padding:26px 0; border-top:1px solid var(--paper-border); }
.faq-item h3{
  font-family:var(--sans); font-weight:600; font-size:18px; letter-spacing:-0.01em;
  color:var(--ink); margin:0 0 10px;
}
.faq-item p{ font-size:15px; line-height:1.6; color:var(--slate); margin:0; }

/* demo-request form */
.demo-form{
  max-width:600px; margin:0 auto; text-align:left;
  background:#fff; border:1px solid var(--paper-border);
  border-radius:20px; padding:28px;
  box-shadow:0 24px 48px -28px rgba(26,26,26,0.16), 0 6px 16px -12px rgba(26,26,26,0.10);
  display:flex; flex-direction:column; gap:16px;
}
.df-honey{ display:none; }
.df-row{ display:grid; gap:16px; grid-template-columns:1fr; }
@media(min-width:560px){ .df-row{ grid-template-columns:1fr 1fr; } }
.df-field{ display:flex; flex-direction:column; gap:7px; }
.df-field label{
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--mist);
}
.df-opt{ color:var(--mist-2); text-transform:none; letter-spacing:0; font-style:italic; }
.df-field input,
.df-field textarea{
  font-family:var(--sans); font-size:15px; color:var(--ink);
  background:var(--paper); border:1px solid var(--paper-border-2);
  border-radius:8px; padding:11px 13px; width:100%;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.df-field textarea{ resize:vertical; min-height:78px; }
.df-field input::placeholder,
.df-field textarea::placeholder{ color:var(--mist-2); }
.df-field input:focus,
.df-field textarea:focus{
  outline:none; border-color:var(--ember); background:#fff;
  box-shadow:0 0 0 3px rgba(217,119,6,0.12);
}
.df-field.error input,
.df-field.error textarea{ border-color:var(--terracotta); }
.df-foot{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:4px; }
.df-submit{ cursor:pointer; }
.df-submit:disabled{ opacity:0.6; cursor:default; }
.df-note{
  font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em;
  color:var(--mist); flex:1; min-width:190px;
}
.df-status{
  display:none; margin:0; font-size:14px; line-height:1.45;
  padding:10px 14px; border-radius:8px;
}
.df-status.show{ display:block; }
.df-status.success{ background:var(--sage-soft); color:var(--sage); }
.df-status.error{ background:var(--ember-soft); color:var(--terracotta); }
.close-roi-link{
  display:inline-flex; align-items:center; gap:6px; margin-top:22px;
  font-size:14px; color:var(--slate); transition:color .15s ease;
}
.close-roi-link:hover{ color:var(--ember-2); }

/* ─── footer ───────────────────────────────────────────────── */
footer{
  background:var(--iron); color:var(--iron-text);
  padding:72px 0 56px;
}
.foot-grid{
  display:grid; gap:48px; grid-template-columns:1fr;
}
@media(min-width:760px){ .foot-grid{ grid-template-columns: 1.6fr 1fr 1fr 1fr; gap:48px; } }
.foot-brand{ display:flex; flex-direction:column; gap:16px; }
.foot-brand .row1{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.foot-brand img{ height:28px; width:auto; }
.foot-brand .by{
  font-family:var(--mono); font-size:11px; color:var(--iron-text-2);
  text-transform:uppercase; letter-spacing:0.14em;
}
.foot-brand .by a{ color:var(--saffron); border-bottom:1px solid transparent; }
.foot-brand .by a:hover{ border-bottom-color:var(--saffron); }
.foot-brand p{ font-size:14px; line-height:1.55; color:var(--iron-text-2); max-width:36ch; margin:0; }
.foot-col h5{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.18em;
  color:var(--iron-text-2); margin:0 0 16px; font-weight:500;
}
.foot-col ul{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.foot-col a{ font-size:14px; color:var(--iron-text); transition:color .15s ease; }
.foot-col a:hover{ color:var(--saffron); }
.foot-col a.signin{ display:inline-flex; align-items:center; gap:8px; color:var(--saffron); }

.foot-bottom{
  margin-top:48px; padding-top:24px; border-top:1px solid var(--iron-border);
  display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; align-items:center;
  font-family:var(--mono); font-size:11px; color:var(--iron-text-2);
  text-transform:uppercase; letter-spacing:0.14em;
}
.foot-bottom .agent-row{ display:flex; gap:8px; flex-wrap:wrap; }
.foot-bottom .agent-row code{ color:var(--saffron); }

/* ─── reveal animation ─────────────────────────────────────── */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .8s ease, transform .8s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}
