/* ===================================================================
   KvN Arc — Products page (scoped add-on, loaded only on /products)
   Uses the shared tokens from styles.css (--canvas, --accent, etc.)
   =================================================================== */

/* ---- generic use-case / bullet list ---- */
.uses{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,2.4vw,26px);margin-top:10px}
@media(max-width:720px){.uses{grid-template-columns:1fr}}
.uses li{border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:15px;line-height:1.55}
.uses li b{display:block;font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.02em;
  color:var(--accent);margin-bottom:6px}
.uses li b::before{content:"→ "}

/* ---- pricing ---- */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,32px);margin-top:6px}
@media(max-width:820px){.plans{grid-template-columns:1fr}}
.plan{position:relative;border:1px solid var(--line-2);border-radius:20px;padding:clamp(24px,3.4vw,40px);
  background:var(--canvas-2);display:flex;flex-direction:column;gap:20px}
.plan--pro{border-color:var(--accent-2)}
.plan__badge{position:absolute;top:-11px;left:clamp(24px,3.4vw,40px);font-family:var(--font-mono);font-size:10px;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--accent-2);color:#fff;
  padding:4px 9px;border-radius:4px}
.plan__name{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.plan__price{font-family:var(--font-display);font-size:clamp(44px,7vw,72px);line-height:.9}
.plan__price span{font-family:var(--font-mono);font-size:15px;color:var(--muted);letter-spacing:.04em}
.plan__line{color:var(--muted);font-size:15px;max-width:38ch}
.plan__feats{list-style:none;display:flex;flex-direction:column;gap:11px;margin-top:2px}
.plan__feats li{position:relative;padding-left:24px;color:var(--text);font-size:15px;line-height:1.5}
.plan__feats li::before{content:"→";position:absolute;left:0;color:var(--accent)}
.plan--pro .plan__feats li::before{color:var(--accent-2)}
.plan__feats li.muted{color:var(--faint)}
.plan__actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px;padding-top:8px}
.plan .cta{font-size:15px;padding:13px 22px}
.plan__note{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--faint);margin-top:14px}

/* ---- demo widget ---- */
.demo{border:1px solid var(--line-2);border-radius:20px;padding:clamp(24px,3.4vw,40px);background:var(--canvas-2);margin-top:6px}
.demo__head{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}
.demo__head h3{font-family:var(--font-display);font-size:clamp(24px,3.4vw,38px);line-height:1}
.demo__tag{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);border:1px solid var(--accent);padding:3px 8px;border-radius:4px}
.demo__lead{color:var(--muted);font-size:15px;max-width:60ch;margin-bottom:22px}
.demo__form{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.demo__form input{flex:1;min-width:220px;background:var(--canvas);color:var(--text);border:1px solid var(--line-2);
  border-radius:12px;padding:14px 16px;font-family:var(--font-sans);font-size:16px;transition:border-color .3s var(--ease)}
.demo__form input:focus{outline:none;border-color:var(--accent);background:#1d1913}
.demo__form input::placeholder{color:var(--faint)}
.demo__note{font-family:var(--font-mono);font-size:12px;letter-spacing:.03em;color:var(--faint);margin-top:14px;max-width:56ch}
.demo__note.ok{color:var(--accent)}
.demo__note.err{color:#ff6b6b}

.demo__result{margin-top:26px;display:none}
.demo__result.show{display:block;animation:revealIn .7s var(--ease) both}
.demo__meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-2);padding-bottom:12px;margin-bottom:0}
.demo__meta b{color:var(--accent);font-weight:700}
.demo__tablewrap{overflow-x:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}
table.demo__table{border-collapse:collapse;width:100%;min-width:640px;font-size:13.5px}
table.demo__table th,table.demo__table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
table.demo__table th{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--faint);background:var(--canvas)}
table.demo__table td{color:var(--text)}
table.demo__table td.num{color:var(--accent-2);font-family:var(--font-mono)}
table.demo__table tr:last-child td{border-bottom:0}
.demo__dl{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.demo__dl a{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;letter-spacing:.02em;
  border:1px solid var(--line-2);border-radius:999px;padding:11px 20px;transition:.3s var(--ease)}
.demo__dl a:hover{background:var(--accent);border-color:var(--accent);color:#180c06;transform:translateY(-2px)}
.demo__more{color:var(--faint);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;margin-top:14px}

/* ---- subscribe form (reuses .enq visual language) ---- */
.sub{margin-top:6px;scroll-margin-top:120px}
.sub[hidden]{display:none}
.sub__panel{border:1px solid var(--accent-2);border-radius:20px;padding:clamp(24px,3.4vw,40px);background:var(--canvas-2)}
.sub__panel h3{font-family:var(--font-display);font-size:clamp(26px,4vw,44px);line-height:1;margin-bottom:10px}
.sub__panel h3 .o{color:var(--accent)}
.sub__panel p.sub__intro{color:var(--muted);font-size:15px;max-width:56ch;margin-bottom:24px}

/* ---- "more coming" ---- */
.soon{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px);margin-top:8px}
@media(max-width:720px){.soon{grid-template-columns:1fr}}
.soon div{border:1px dashed var(--line-2);border-radius:16px;padding:22px;color:var(--faint)}
.soon div b{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:8px}

/* ---- home-page products teaser ---- */
.prodteaser{position:relative;z-index:2;padding:clamp(66px,10vw,120px) 0;border-top:1px solid var(--line)}
.prodteaser__row{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:34px}
.prodteaser h2{font-family:var(--font-display);font-size:clamp(36px,6vw,86px);line-height:.9;max-width:16ch}
.prodteaser h2 .o{color:var(--accent)}
.prodteaser p{max-width:44ch;color:var(--muted)}
.prodteaser__card{display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  border:1px solid var(--line-2);border-radius:20px;padding:clamp(22px,3vw,36px);background:var(--canvas-2)}
.prodteaser__card .pt__k{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.prodteaser__card .pt__t{font-family:var(--font-display);font-size:clamp(24px,3.4vw,40px);line-height:1;margin:6px 0 8px}
.prodteaser__card .pt__d{color:var(--muted);font-size:15px;max-width:52ch}
.prodteaser__card .pt__price{font-family:var(--font-mono);font-size:13px;color:var(--accent-2);margin-top:10px;letter-spacing:.04em}
