/* ============================================================
   AMG static site shared styles — brand tokens, navy/electric base
   Part of the Chamber Engine web ring (CT-0905-38, daedalus-mac-seat1)
   Self-hosted fonts (Sora display / Manrope body) — zero external requests.
   ============================================================ */
@font-face {
  font-family: 'Sora'; font-style: normal; font-weight: 100 800; font-display: optional;
  src: url('sora-latin-wght-normal.DdqRvwsR.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora'; font-style: normal; font-weight: 100 800; font-display: optional;
  src: url('sora-latin-ext-wght-normal.CawQDOvP.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: optional;
  src: url('manrope-latin-wght-normal.DHIcAJRg.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: optional;
  src: url('manrope-latin-ext-wght-normal.Ch3YOpNY.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* AMG brand tokens */
  --amg-navy: #0a1628;
  --amg-navy-deep: #050d1a;
  --amg-navy-soft: #142238;
  --amg-electric: #00d4ff;
  --amg-electric-soft: #4de4ff;
  --amg-silver: #c0c0c0;
  --amg-fg: #d4d4d4;
  --amg-fg-muted: #a0a0a0;
  --amg-border: rgba(192, 192, 192, 0.12);
  --amg-border-strong: rgba(192, 192, 192, 0.2);
  --amg-success: #10b981;
  --amg-accent: var(--amg-electric); /* per-product override */

  --amg-display: 'Sora', ui-serif, Georgia, serif;
  --amg-body: 'Manrope', ui-sans-serif, sans-serif;

  --amg-r: 10px;
  --amg-maxw: 72rem;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--amg-body);
  background: var(--amg-navy);
  color: var(--amg-fg);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: var(--amg-display); font-weight: 600; line-height: 1.12; letter-spacing: -0.02em; color: #fff; }
p { margin: 0; }
a { color: var(--amg-accent); text-underline-offset: 3px; }
img, svg { display: block; max-width: 100%; }
.num { font-variant-numeric: tabular-nums; }
.wrap { max-width: var(--amg-maxw); margin: 0 auto; padding: 0 1.5rem; }
.skip { position: absolute; left: -999px; top: 0; background: var(--amg-accent); color: var(--amg-navy-deep); padding: .5rem 1rem; font-weight: 700; z-index: 200; border-radius: 0 0 var(--amg-r) 0; }
.skip:focus { left: 0; }
:where(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--amg-electric); outline-offset: 2px; border-radius: 4px; }

/* header (site-local, above the shared ring nav) */
.site-head { position: sticky; top: 0; z-index: 60; background: rgba(5,13,26,.94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--amg-border); }
.site-head-inner { max-width: var(--amg-maxw); margin: 0 auto; padding: .8rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .6rem; color: #fff; text-decoration: none; font-family: var(--amg-display); font-size: 1.05rem; }
.brand .mark { width: 13px; height: 13px; border-radius: 4px; background: linear-gradient(135deg, var(--amg-accent), var(--amg-electric-dim, #006d85)); }
.brand strong { color: var(--amg-accent); font-weight: 700; }
.site-nav { display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; }
.site-nav a { color: var(--amg-fg-muted); text-decoration: none; font-size: .92rem; }
.site-nav a:hover { color: #fff; }

/* buttons */
.btn { display: inline-block; padding: .8rem 1.4rem; border-radius: var(--amg-r); font-weight: 700; text-decoration: none; font-size: .98rem; }
.btn-accent { background: var(--amg-accent); color: var(--amg-navy-deep); }
.btn-accent:hover { filter: brightness(1.12); }
.site-nav a.btn-accent { color: var(--amg-navy-deep); } /* .site-nav a would otherwise out-specify .btn-accent */
.btn-ghost { border: 1px solid var(--amg-border-strong); color: #fff; }
.btn-ghost:hover { border-color: var(--amg-accent); color: var(--amg-accent); }
.btn-lg { padding: 1rem 1.8rem; font-size: 1.03rem; }

/* sections */
section { padding: 3.5rem 0; }
.alt { background: var(--amg-navy-deep); border-block: 1px solid var(--amg-border); }
.eyebrow { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--amg-accent); font-weight: 700; margin-bottom: .8rem; }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); margin-bottom: 1rem; }
h3 { font-size: 1.2rem; margin-bottom: .5rem; }
.sub { color: var(--amg-fg-muted); max-width: 44rem; margin-bottom: 2rem; }

/* cards */
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; list-style: none; }
.card { background: var(--amg-navy-soft); border: 1px solid var(--amg-border); border-radius: var(--amg-r); padding: 1.4rem; }
.card:hover { border-color: var(--amg-border-strong); }

/* stat blocks */
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1rem; }
.stat { text-align: center; padding: 1.2rem .8rem; background: var(--amg-navy-soft); border: 1px solid var(--amg-border); border-radius: var(--amg-r); }
.stat b { display: block; font-family: var(--amg-display); font-size: 2.2rem; color: var(--amg-accent); font-variant-numeric: tabular-nums; line-height: 1.1; }
.stat span { font-size: .82rem; color: var(--amg-fg-muted); }

/* tables */
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .95rem; }
th, td { padding: .85rem 1rem; text-align: left; border-top: 1px solid var(--amg-border); font-variant-numeric: tabular-nums; }
thead th { border-top: none; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--amg-fg-muted); }

/* forms */
.field { margin-bottom: 1rem; }
.field label { display: block; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--amg-fg-muted); margin-bottom: .35rem; }
.field input, .field select, .field textarea {
  width: 100%; background: var(--amg-navy-deep); border: 1px solid var(--amg-border-strong);
  border-radius: var(--amg-r); color: #fff; padding: .7rem .9rem; font: inherit; font-size: .95rem;
}
.form-note { font-size: .8rem; color: var(--amg-fg-muted); margin-top: .6rem; }
.form-ok { display: none; background: rgba(16,185,129,.12); border: 1px solid rgba(16,185,129,.4); color: #6ee7b7; padding: 1rem 1.2rem; border-radius: var(--amg-r); margin-top: 1rem; }
.form-ok.show { display: block; }

/* article prose */
.prose { max-width: 46rem; }
.prose h2 { font-size: 1.45rem; margin: 2.2rem 0 .8rem; }
.prose h3 { font-size: 1.12rem; margin: 1.6rem 0 .5rem; }
.prose p, .prose li { color: var(--amg-fg); margin-bottom: .9rem; }
.prose ul, .prose ol { padding-left: 1.4rem; margin-bottom: 1rem; }
.prose .lede { font-size: 1.12rem; color: #fff; }
.meta-line { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--amg-fg-muted); margin-bottom: 1.5rem; }

/* faq */
.faq { max-width: 46rem; }
.faq details { border: 1px solid var(--amg-border); border-radius: var(--amg-r); padding: 1rem 1.2rem; margin-bottom: .7rem; background: var(--amg-navy-soft); }
.faq summary { cursor: pointer; font-weight: 700; color: #fff; }
.faq details p { margin-top: .7rem; color: var(--amg-fg); }

@media (max-width: 820px) {
  .site-nav { display: none; }
  section { padding: 2.5rem 0; }
}

/* ============================================================
   CT-0909-12 P4 — Chamber AI Advantage v2 (wholesale-model rebuild)
   Two-path hero, pricing table with member column, worked-example card.
   Contrast ledger verified: no text on #006d85 anywhere (impeccable fix).
   ============================================================ */
.hero2 { text-align: center; padding: 4.5rem 0 3rem; }
.hero2 h1 { font-size: clamp(2.2rem, 5vw, 3.7rem); max-width: 54rem; margin: 0 auto 1.3rem; }
.hero2 h1 .hot { color: var(--amg-electric); }
.hero2 .lead { font-size: clamp(1.02rem, 1.9vw, 1.2rem); color: var(--amg-fg); max-width: 52rem; margin: 0 auto 2rem; }
.hero2 .paths { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-bottom: 1rem; }
.hero2 .micro { font-size: .85rem; color: var(--amg-fg-muted); max-width: 40rem; margin: .4rem auto 0; }
.ptable { width: 100%; border-collapse: collapse; }
.ptable th, .ptable td { padding: .85rem 1rem; border-bottom: 1px solid var(--amg-border); text-align: left; font-variant-numeric: tabular-nums; }
.ptable thead th { color: var(--amg-fg-muted); font-size: .76rem; letter-spacing: .05em; text-transform: uppercase; }
.ptable tbody tr:last-child td { border-bottom: none; }
.ptable .m { color: var(--amg-electric); font-weight: 700; }
.ptable .mut { color: var(--amg-fg-muted); }
.ptable tr.trial td { color: var(--amg-fg-muted); }
.mathcard { border: 1px solid rgba(0,212,255,.45); background: var(--amg-navy-deep); border-radius: var(--amg-r); padding: 1.6rem; }
.mathcard h3 { margin-bottom: .6rem; }
.mathcard .row { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-top: 1px solid var(--amg-border); font-variant-numeric: tabular-nums; color: var(--amg-fg); }
.mathcard .row.total { border-top: 1px solid rgba(0,212,255,.45); color: #fff; font-weight: 700; }
.mathcard .row.total .val { color: var(--amg-electric); }
.model-rows { display: grid; gap: .8rem; margin-bottom: 1.4rem; }
.model-row { display: grid; grid-template-columns: 2.2rem 1fr auto; gap: 1rem; align-items: center; background: var(--amg-navy-soft); border: 1px solid var(--amg-border); border-radius: var(--amg-r); padding: 1rem 1.2rem; }
.model-row .n { width: 2.2rem; height: 2.2rem; border-radius: 50%; display: grid; place-items: center; background: var(--amg-navy-deep); border: 1px solid var(--amg-border-strong); color: var(--amg-electric); font-family: var(--amg-display); font-weight: 700; font-size: .95rem; }
.model-row .val { font-family: var(--amg-display); color: var(--amg-electric); font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; align-items: start; }
.feat { display: flex; gap: .8rem; align-items: flex-start; }
.feat > svg { flex: none; width: 22px; height: 22px; color: var(--amg-electric); margin-top: .22rem; }
.ptable { font-size: 1rem; }
@media (max-width: 820px) { .split { grid-template-columns: 1fr; } }
/* numbered steps (was page-inline in v1; shared by home + partner pages in v2) */
.steps-list { list-style: none; display: grid; gap: 1.1rem; counter-reset: step; }
.steps-list li { display: flex; gap: 1.1rem; align-items: flex-start; counter-increment: step; }
.steps-list li::before { content: counter(step); flex: none; width: 2.3rem; height: 2.3rem; border-radius: 50%; display: grid; place-items: center; background: var(--amg-navy-soft); border: 1px solid var(--amg-border-strong); color: var(--amg-electric); font-family: var(--amg-display); font-weight: 700; }
.steps-list h3 { font-size: 1.02rem; margin-bottom: .25rem; }
.steps-list p { color: var(--amg-fg); font-size: .92rem; }

/* CT-0909-12 P6: header contrast behind backdrop-filter (impeccable low-contrast fix) —
   nearly-opaque ground so header text never competes with scrolling content pixels. */
.site-head { background: rgba(5,13,26,.97); backdrop-filter: blur(14px); }

/* CT-0909-12 P6: measure caps — keep body lines under ~80 chars (impeccable line-length) */
.sub { max-width: 40rem; }
.faq { max-width: 40rem; }
.prose { max-width: 40rem; }
.steps-list { max-width: 40rem; }
.hero .lead { padding-inline: 1.5rem; }

/* CT-0909-12 P6: solid header — removes translucent-backdrop sampling class; .97 navy keeps the look. */
.site-head { background: #050d1a; backdrop-filter: none; }

/* CT-0909-12 P6: small-text measure — .78rem helpers capped for <80 chars/line */
.form-note, .hero2 .micro { max-width: 30rem; }

/* CT-0909-12 P6 fix round (vision critique) — proof, table mobile, reading list, mathcard, stats */
.stat span { color: #dce7ee; }
.readlist { list-style: none; display: grid; gap: .6rem; max-width: 38rem; }
.readlist a { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
  padding: .8rem 1rem; border: 1px solid var(--amg-border); border-radius: var(--amg-r);
  background: var(--amg-navy-soft); text-decoration: none; color: var(--amg-fg);
  transition: border-color 120ms var(--amg-ease-out), color 120ms var(--amg-ease-out); }
.readlist a::after { content: '→'; color: var(--amg-electric); }
.readlist a:hover { border-color: rgba(0,212,255,.5); color: #fff; }
.mathcard .row span:last-child { color: #fff; font-weight: 600; }
.btn-accent:hover { box-shadow: 0 0 0 1px rgba(0,212,255,.55); }
.mockrec { margin-top: .9rem; border: 1px solid var(--amg-border-strong); border-radius: var(--amg-r);
  background: var(--amg-navy-deep); padding: .9rem 1rem; font-size: .78rem; color: var(--amg-fg); }
.mockrec b { color: #fff; display: block; margin-bottom: .35rem; }
.mockrec .mrow { display: flex; justify-content: space-between; gap: 1rem; padding: .22rem 0; }
.mockrec .mrow span:last-child { color: var(--amg-electric); }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .8rem; }
.chip { border: 1px solid rgba(0,212,255,.4); color: var(--amg-electric); border-radius: 999px;
  padding: .28rem .8rem; font-size: .78rem; font-weight: 600; }
@media (max-width: 640px) {
  .ptable thead { display: none; }
  .ptable, .ptable tbody, .ptable tr, .ptable td { display: block; width: 100%; }
  .ptable tr { border: 1px solid var(--amg-border); border-radius: var(--amg-r);
    background: var(--amg-navy-soft); padding: .8rem; margin-bottom: .7rem; }
  .ptable td { border: none; padding: .18rem 0; }
  .ptable td::before { content: attr(data-l) ': '; color: var(--amg-fg-muted); }
  .ptable td.m { font-size: 1.05rem; }
}

html.mnav-lock{overflow:hidden}
.mnav-panel{position:fixed;inset:0;z-index:3000;background:#050d1a;color:#eef3f6;display:none;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mnav-panel:not([hidden]){display:flex;animation:mnavIn .24s cubic-bezier(.16,1,.3,1)}
.mnav-panel::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(620px 320px at 82% -8%, rgba(0,212,255,.16), transparent 62%)}
@keyframes mnavIn{from{opacity:0}to{opacity:1}}
.mnav-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px 14px;border-bottom:1px solid rgba(192,192,192,.14);position:relative;z-index:1}
.mnav-logo{height:32px;width:auto}
.mnav-close{width:46px;height:46px;border:1px solid rgba(192,192,192,.14);background:rgba(255,255,255,.04);color:#eef3f6;font-size:1.15rem;border-radius:12px;cursor:pointer;display:grid;place-items:center;transition:border-color .12s ease,color .12s ease}
.mnav-close:hover{border-color:#00d4ff;color:#00d4ff}
.mnav-body{position:relative;z-index:1;padding:26px 26px 8px}
.mnav-eyebrow{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#00d4ff;display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mnav-eyebrow::before{content:'';width:26px;height:2px;background:#00d4ff}
.mnav-panel .mnav-links{display:grid}
.mnav-panel .mnav-links a{position:relative;display:block;padding:13px 34px 13px 2px;color:#eef3f6!important;text-decoration:none;font-family:'Cabinet Grotesk','Satoshi',ui-sans-serif,sans-serif;font-weight:700;font-size:1.42rem;letter-spacing:-.01em;line-height:1.15;transition:color .12s ease}
.mnav-panel .mnav-links a::after{content:'\2192';position:absolute;right:2px;top:50%;transform:translate(-6px,-50%);opacity:0;color:#00d4ff;font-size:1.1rem;transition:opacity .12s ease,transform .12s ease}
.mnav-panel .mnav-links a:hover,.mnav-panel .mnav-links a[aria-current="page"]{color:#00d4ff!important}
.mnav-panel .mnav-links a:hover::after{opacity:1;transform:translate(0,-50%)}
.mnav-panel .mnav-links a.btn,.mnav-panel .mnav-links a.btn-accent,.mnav-panel .mnav-links a.btn.primary{display:none}
.mnav-panel .mnav-links a:not(.btn){animation:mnavRow .4s cubic-bezier(.16,1,.3,1) both}
.mnav-panel .mnav-links a:nth-child(1){animation-delay:.03s}
.mnav-panel .mnav-links a:nth-child(2){animation-delay:.07s}
.mnav-panel .mnav-links a:nth-child(3){animation-delay:.11s}
.mnav-panel .mnav-links a:nth-child(4){animation-delay:.15s}
.mnav-panel .mnav-links a:nth-child(5){animation-delay:.19s}
.mnav-panel .mnav-links a:nth-child(6){animation-delay:.23s}
.mnav-panel .mnav-links a:nth-child(7){animation-delay:.27s}
.mnav-panel .mnav-links a:nth-child(8){animation-delay:.31s}
.mnav-panel .mnav-links a:nth-child(9){animation-delay:.35s}
@keyframes mnavRow{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.mnav-cta{position:sticky;bottom:0;margin-top:auto;padding:16px 22px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,#050d1a 34%);border-top:1px solid rgba(192,192,192,.14);position:relative;z-index:1}
.mnav-cta-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;border-radius:14px;background:#00d4ff;color:#06202f!important;font-family:'Cabinet Grotesk','Satoshi',ui-sans-serif,sans-serif;font-weight:800;font-size:1.08rem;text-decoration:none;transition:filter .12s ease}
.mnav-cta-btn:hover{filter:brightness(1.08)}
.mnav-alt{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;color:rgba(214,226,232,.62)!important;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.85rem;text-decoration:none}
.mnav-foot{padding:12px 22px calc(12px + env(safe-area-inset-bottom));color:rgba(214,226,232,.62);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.mnav-panel .mnav-links a{animation:none}.mnav-panel:not([hidden]){animation:none}}
@media (min-width:821px){.mnav-panel{display:none!important}}
