/* ==========================================================
   Loaded after style.css.
   The chamfer stops being a rule and goes back to being an accent:
   it survives on the logo and the one primary button, nowhere else.
   ========================================================== */

.btn-ghost,
.btn-sm,
.btn-sm-alt,
.token-pill,
.chip,
.info-card,
.step-card,
.panel,
.tab,
.facet-opt,
.search-input,
.select,
.sub-opt,
.router-opt,
.router-out,
.vs-card,
.pipe-stage,
.link-card,
.code,
.live-panel,
.badge,
.wm-panel,
.wm-opt,
.chat-box,
.chat-input,
.starter-grid button,
.model-pick button,
.calc-result{
  clip-path:none;
}

/* one exception kept on purpose */
.btn-cta{
  clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
}

/* ---------- layout that isn't a grid of equal boxes ---------- */

.h-wrap{ width:100%; max-width:1180px; margin:0 auto; padding:0 clamp(20px,4vw,40px); }
.h-narrow{ max-width:720px; }

/* deliberately off-centre: text column sits left of the midline */
.h-offset{ max-width:640px; }
.h-offset-r{ max-width:600px; margin-left:auto; }

.h-sec{ padding:clamp(56px,7vw,96px) 0; }
.h-sec--tight{ padding:clamp(34px,4vw,52px) 0; }
.h-sec--rule{ border-top:1px solid var(--line); }

.h-kicker{
  font-size:12px; font-weight:700; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--body-gray);
  margin-bottom:18px;
}
.h-h2{
  font-size:clamp(26px,3.6vw,40px);
  text-transform:none;
  letter-spacing:-0.01em;
  line-height:1.12;
  color:var(--heading);
  font-weight:700;
}
.h-p{ font-size:16px; line-height:1.65; color:var(--body-gray); margin:16px 0 0; max-width:62ch; }
.h-p b{ color:var(--heading); font-weight:700; }

/* ---------- terminal ---------- */

.h-term{
  background:#15171a;
  border:1px solid #24272b;
  padding:22px 24px;
  overflow-x:auto;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13.5px;
  line-height:1.8;
  color:#d6dee2;
  white-space:pre;
}
.h-term .p{ color:#5f6b72; }
.h-term .c{ color:#8be0f5; }
.h-term .s{ color:#9fd39a; }
.h-term .d{ color:#5f6b72; }

/* ---------- plain table, no card chrome ---------- */

.h-table{ width:100%; border-collapse:collapse; margin-top:26px; }
.h-table th{
  text-align:left; font-size:11px; font-weight:700; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--muted);
  padding:0 14px 10px 0; border-bottom:1px solid var(--line);
}
.h-table td{
  padding:13px 14px 13px 0;
  border-bottom:1px solid var(--line-soft);
  font-size:14.5px; color:var(--body-gray);
}
.h-table td:first-child{ color:var(--heading); font-weight:700; }
.h-table td.n{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color:var(--heading); white-space:nowrap;
}
.h-table tr:last-child td{ border-bottom:none; }

/* ---------- changelog ---------- */

.h-log{ margin-top:8px; }
.h-log-row{
  padding:15px 0;
  border-top:1px solid var(--line-soft);
}
.h-log-row:first-child{ border-top:none; }
.h-log-row .h-log-txt{ position:relative; padding-left:22px; }
.h-log-row .h-log-txt::before{
  content:''; position:absolute; left:0; top:9px;
  width:7px; height:7px; background:var(--accent);
}
.h-log-date{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12.5px; color:var(--muted); white-space:nowrap;
}
.h-log-txt{ font-size:14.5px; line-height:1.6; color:var(--body-gray); }
.h-log-txt b{ color:var(--heading); font-weight:700; }

/* ---------- honest limitations ---------- */

.h-limits{ background:#efeeed; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.h-limit{
  display:grid; grid-template-columns:22px 1fr;
  gap:14px; padding:13px 0;
  border-top:1px solid #e3e2e1;
}
.h-limit:first-of-type{ border-top:none; }
.h-limit .x{ color:#b3453f; font-weight:700; font-size:15px; line-height:1.5; }
.h-limit .t{ font-size:14.5px; line-height:1.6; }

/* ---------- inline faq, no accordion chrome ---------- */

.h-qa{ padding:20px 0; border-top:1px solid var(--line-soft); }
.h-qa:first-of-type{ border-top:none; }
.h-qa dt{ font-size:15.5px; font-weight:700; color:var(--heading); margin-bottom:7px; }
.h-qa dd{ margin:0; font-size:14.5px; line-height:1.68; color:var(--body-gray); max-width:64ch; }

/* ---------- hero, tighter ---------- */

.h-hero{ position:relative; background:var(--bg); overflow:hidden; padding:clamp(48px,6vw,84px) 0 clamp(40px,5vw,64px); }
.h-hero h1{
  font-size:clamp(30px,4.6vw,54px);
  line-height:1.06;
  letter-spacing:-0.015em;
  text-transform:none;
  color:var(--heading);
  max-width:15ch;
}
.h-hero h1 em{ font-style:normal; color:var(--accent); }
.h-hero .sub{ font-size:17px; line-height:1.6; color:var(--body-gray); margin:20px 0 0; max-width:54ch; }
.h-hero-actions{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-top:30px; }

.h-hero-video{
  position:absolute; top:-6%; right:-14%;
  width:62%; height:auto;
  object-fit:contain;
  pointer-events:none;
  opacity:.92;
  z-index:0;
}
.h-hero .h-wrap{ position:relative; z-index:2; }
.h-hero::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,#F2F1F0 0%,#F2F1F0 46%,rgba(242,241,240,.7) 68%,rgba(242,241,240,0) 88%);
  pointer-events:none;
}

@media (max-width:860px){
  .h-hero-video{ position:relative; top:0; right:0; width:118%; margin:0 -9% 24px; opacity:1; }
  .h-hero::after{ display:none; }
  .h-hero h1{ max-width:none; }
}
