/* NEI ClaimPro — landing page styles (NEI brand: gold #c9a227, purple #a78bfa, bg #0a0f1a) */
:root{
  --gold:#c9a227; --purple:#a78bfa; --bg:#0a0f1a; --panel:#111827; --panel2:#1a2236;
  --text:#e8edf6; --muted:#9aa7bd; --line:#26304a; --green:#2ea36b;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.6}
.wrap{max-width:1140px;margin:0 auto;padding:0 1.5rem}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(10,15,26,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.15rem;color:#fff;text-decoration:none}
.brand .logo-slot{width:38px;height:38px;border:1px dashed var(--gold);border-radius:8px;display:grid;place-items:center;font-size:.55rem;color:var(--gold);text-align:center;line-height:1.1}
.brand span.tm{color:var(--gold)}
.navlinks{display:flex;gap:1.4rem;align-items:center}
.navlinks a{color:var(--muted);text-decoration:none;font-size:.9rem}
.navlinks a:hover{color:var(--text)}
.btn{display:inline-block;border-radius:8px;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;transition:.15s}
.btn-ghost{border:1px solid var(--gold);color:var(--gold);padding:.5rem 1.1rem;font-size:.88rem;background:transparent}
.btn-ghost:hover{background:rgba(201,162,39,.12)}
.btn-gold{background:var(--gold);color:#0a0f1a;padding:.8rem 1.6rem;font-size:.95rem}
.btn-gold:hover{filter:brightness(1.08)}
.btn-outline{border:1px solid var(--line);color:var(--text);padding:.8rem 1.6rem;font-size:.95rem}
.btn-outline:hover{border-color:var(--gold)}

/* hero */
.hero{padding:4.5rem 0 3rem;border-bottom:1px solid var(--line)}
.eyebrow{color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem}
.hero h1{font-size:2.6rem;line-height:1.15;letter-spacing:-.02em;margin-bottom:1rem}
.hero h1 em{color:var(--gold);font-style:normal}
.lede{font-size:1.1rem;color:var(--muted);max-width:640px;margin-bottom:1.8rem}
.cta-row{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:1.2rem}
.hero-note{font-size:.82rem;color:var(--muted)}

/* placeholder slots */
.slot{border:1px dashed var(--line);border-radius:12px;display:grid;place-items:center;text-align:center;color:var(--muted);background:var(--panel);padding:1.5rem}
.slot .tag{display:inline-block;background:rgba(201,162,39,.14);color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .6rem;border-radius:4px;margin-bottom:.6rem}
.slot p{font-size:.85rem}
.slot.video{aspect-ratio:16/9}
.slot.icon{width:46px;height:46px;padding:0;font-size:.5rem;border-radius:10px}

/* sections */
section{padding:3.5rem 0;border-bottom:1px solid var(--line)}
.sec-head{max-width:720px;margin-bottom:2rem}
.sec-head h2{font-size:1.8rem;letter-spacing:-.01em;margin-bottom:.6rem}
.sec-head p{color:var(--muted)}
.grid{display:grid;gap:1.1rem}
.g3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.4rem}
.card h3{font-size:1.05rem;margin:.8rem 0 .5rem;color:#fff}
.card p{font-size:.9rem;color:var(--muted)}
.card.feature-primary{border-color:var(--gold);background:linear-gradient(180deg,rgba(201,162,39,.08),var(--panel))}
.badge-primary{display:inline-block;background:var(--gold);color:#0a0f1a;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border-radius:4px;margin-bottom:.4rem}

/* provenance demo table */
.prov{overflow-x:auto;margin-top:1.2rem}
table{border-collapse:collapse;width:100%;min-width:620px;font-size:.84rem}
th,td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left}
th{background:var(--panel2);color:var(--gold);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}
td.num{text-align:right;font-variant-numeric:tabular-nums}
.pill{font-size:.7rem;padding:.12rem .45rem;border-radius:4px;background:rgba(46,163,107,.16);color:#6ee7a8}
.pill.review{background:rgba(201,162,39,.18);color:var(--gold)}

/* who */
.who li{list-style:none;padding-left:1.4rem;position:relative;font-size:.92rem;margin:.45rem 0;color:var(--muted)}
.who li:before{content:"";position:absolute;left:0;top:.55rem;width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* pricing */
.price-box{background:var(--panel);border:1px solid var(--gold);border-radius:14px;padding:2rem;text-align:center;max-width:560px;margin:0 auto}
.price-box .amount{font-size:1.7rem;font-weight:700;color:var(--gold);margin:.4rem 0 .6rem}
.price-box p{color:var(--muted);font-size:.92rem;margin-bottom:1.2rem}

/* faq */
details{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;margin-bottom:.8rem}
details summary{cursor:pointer;font-weight:600;font-size:.95rem;color:#fff}
details p{color:var(--muted);font-size:.9rem;margin-top:.7rem}

/* footer */
footer{padding:2.5rem 0;color:var(--muted);font-size:.82rem}
.foot-grid{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:1.5rem}
.ip{border-top:1px solid var(--line);padding-top:1.2rem;font-size:.78rem;line-height:1.7}
.ip strong{color:var(--text)}
@media(max-width:720px){.hero h1{font-size:1.9rem}.navlinks{display:none}}

/* pricing 4-tier grid (added 2026-09-23) */
.g4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card .amount{font-size:1.9rem;font-weight:700;color:var(--gold);margin:.35rem 0 .1rem}
.card .amount .per{font-size:.85rem;font-weight:500;color:var(--muted)}
.card .eyebrow{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin:.1rem 0}
.card .peryr{color:var(--muted);font-size:.85rem;margin:.15rem 0 .5rem}
.card .save{color:#6ee7a8;font-size:.82rem;margin:.2rem 0 .3rem}
.card .pill{display:inline-block;margin-bottom:.5rem}

/* ===== ClaimPro approved branding (2026-09-23, rev2) ===== */
/* APPROVED assets used at their exact dimensions (nav 565x200, hero 1800x600),
   NOT trimmed. Each PNG carries transparent padding: the visible artwork's right
   edge is ~88% across and it is vertically centered. So the live-text TM is
   positioned ABSOLUTELY to the artwork's right edge (--tm-left) and vertical
   center, giving a snug TM without altering the approved image. Sizes/offsets
   are independently tunable for nav vs hero. */
.claimpro-brand{position:relative;display:inline-block;line-height:0}
.claimpro-brand__art{display:block;width:auto;max-width:100%;height:auto;object-fit:contain}
.claimpro-brand__tm{position:absolute;color:var(--gold);font-family:Arial,Helvetica,sans-serif;font-weight:700;
  line-height:1;white-space:nowrap;
  left:var(--tm-left,88%);top:var(--tm-top,50%);transform:translate(var(--tm-gap,3px),-50%);
  font-size:var(--claimpro-tm-size,14px)}

/* Header nav lockup: contained to header height; TM at artwork right edge, centered */
header .claimpro-brand{--claimpro-tm-size:12px;--tm-left:88%;--tm-top:50%;--tm-gap:3px}
header .claimpro-brand__art{height:38px;width:auto}

/* Hero lockup: approved 1800x600 art, wordmark vertically centered; TM at the
   artwork's visible right edge (~88%) and vertical center. The brand container
   width is pinned to the SAME value as the image so the TM's left:88% resolves
   against the image box, not the inline parent. */
.hero-lockup{margin-bottom:1.4rem;display:block}
.hero-lockup .claimpro-brand{--claimpro-tm-size:24px;--tm-left:88%;--tm-top:50%;--tm-gap:4px;
  display:inline-block;width:min(460px,72%)}
.hero-lockup .claimpro-brand__art{display:block;width:100%;height:auto}

/* replaced ICON placeholders now hold inline SVGs */
.slot.icon svg{width:24px;height:24px;color:var(--gold)}

/* ===== Static workflow / provenance preview (replaces empty video slot) ===== */
.flow-preview{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:.6rem;
  background:linear-gradient(180deg,rgba(201,162,39,.06),var(--panel));border:1px solid var(--line);border-radius:14px;padding:1.6rem}
.flow-step{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.flow-ico{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.35)}
.flow-ico svg{width:24px;height:24px;color:var(--gold)}
.flow-step h3{font-size:.98rem;color:#fff;margin:0}
.flow-step p{font-size:.82rem;color:var(--muted);margin:0;line-height:1.45}
.flow-arrow{display:grid;place-items:center;color:var(--gold);opacity:.7}
.flow-arrow svg{width:22px;height:22px}
.flow-cap{text-align:center;margin-top:1rem}

@media(max-width:768px){
  .flow-preview{grid-template-columns:1fr;gap:.7rem;padding:1.1rem}
  .flow-arrow{transform:rotate(90deg);height:22px}
  .hero-lockup .claimpro-brand{--claimpro-tm-size:16px;width:min(320px,86%)}
  header .claimpro-brand__art{height:32px}

  /* --- mobile fit: single-column grids so cards never exceed the viewport --- */
  .grid, .g2, .g3, .g4{grid-template-columns:1fr !important}
  .card{padding:1.15rem;overflow-wrap:break-word;word-wrap:break-word}
  .card h3{overflow-wrap:break-word;word-break:normal}
  .who li{font-size:.9rem;overflow-wrap:break-word}
  /* provenance table remains a self-contained horizontal scroller, never widening the page */
  .prov{max-width:100%;-webkit-overflow-scrolling:touch}
  /* reserve space so the fixed chat launcher never sits on top of pricing text/controls */
  #pricing{padding-bottom:6rem}
  body{overflow-x:hidden}

  /* Externally-injected NEI chat launcher: pin to bottom-right, clear of content.
     (Repositioned via CSS only; chat configuration/script untouched.) */
  #rhc-bubble, .rhc-bubble, .nei-chat-bubble, .nei-chat-launcher,
  [id*="chat"][class*="bubble"], [class*="chat-launcher"], [class*="chat-bubble"]{
    left:auto !important; right:14px !important; bottom:14px !important;
    width:52px !important; height:52px !important; z-index:60 !important;
  }
}
