/* ============================================================
   CORVUS V2 PROTOTYPE: shared design system for industry pages
   "precision instrument" dialect. Used by all prototype-*.html
   industry pages. Does NOT touch the live main.css / components.js.
   The homepage prototype (prototype.html) keeps its own inline copy.
   ============================================================ */
:root {
  --ink:        #0a0f1c;
  --ink-2:      #0e1626;
  --ink-3:      #131c30;
  --ink-line:   rgba(255,255,255,0.09);
  --ink-line-2: rgba(255,255,255,0.14);
  --paper:      #f7f7f5;
  --white:      #ffffff;
  --txt:        #171e2b;
  --txt-2:      #5b6472;
  --txt-3:      #8b93a1;
  --line:       #e5e6e8;
  --amber:      #f0a832;
  --amber-hi:   #ffc25c;
  --amber-deep: #96691c;
  --pos:        #3fae74;
  --mono:       'Inter', -apple-system, sans-serif;
  --sans:       'Inter', -apple-system, sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--white); color:var(--txt); line-height:1.6; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
.inner { max-width:1180px; margin:0 auto; padding:0 2.5rem; }

/* type */
.h1 { font-weight:700; font-size:clamp(2.4rem,4.6vw,3.9rem); line-height:1.03; letter-spacing:-0.035em; color:var(--txt); }
.h2 { font-weight:700; font-size:clamp(1.7rem,2.9vw,2.5rem); line-height:1.1; letter-spacing:-0.03em; color:var(--txt); }
.on-ink .h2, .on-ink.h2 { color:#fff; }
.lead { font-size:1.06rem; line-height:1.7; color:var(--txt-2); max-width:600px; }
.on-ink .lead { color:rgba(255,255,255,0.62); }
.mlabel { font-family:var(--mono); font-size:0.68rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--txt-3); }
.mlabel.amber { color:var(--amber-deep); }
.on-ink .mlabel { color:rgba(255,255,255,0.45); }
.on-ink .mlabel.amber { color:var(--amber); }

/* section head: stacked, indexed */
.sec { padding:6.5rem 0; }
.sec-head { border-top:1px solid var(--line); padding-top:1.4rem; margin-bottom:3rem; }
.on-ink .sec-head { border-top-color:var(--ink-line); }
.sec-head .idx { font-family:var(--mono); font-size:0.72rem; letter-spacing:0.1em; color:var(--amber-deep); display:block; margin-bottom:1.2rem; }
.on-ink .sec-head .idx { color:var(--amber); }
.sec-head .h2 { max-width:680px; }
.sec-head .lead { margin-top:1.1rem; max-width:620px; font-size:1rem; }

/* buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; font-family:var(--sans); font-weight:600; font-size:0.92rem; padding:0.8rem 1.5rem; border-radius:8px; cursor:pointer; border:1px solid transparent; transition:background 0.18s, border-color 0.18s, transform 0.18s; }
.btn-ink { background:var(--ink); color:#fff; }
.btn-ink:hover { background:#1c2740; transform:translateY(-1px); }
.btn-white { background:#fff; color:var(--ink); }
.btn-white:hover { background:#e9ebef; transform:translateY(-1px); }

/* reveal */
.reveal { opacity:0; transform:translateY(14px); transition:opacity 0.55s ease, transform 0.55s ease; }
.reveal.visible { opacity:1; transform:none; }

/* Nav + footer are injected by /assets/js/site.js */

/* ── HERO ── */
.hero { padding:9.5rem 0 0; background:
  radial-gradient(circle at 1px 1px, rgba(23,30,43,0.07) 1px, transparent 0);
  background-size:26px 26px; background-color:var(--paper); }
.hero-copy { max-width:880px; margin:0 auto 3.25rem; text-align:center; }
.hero-copy .mlabel { display:block; margin-bottom:1.4rem; }
.hero-copy .h1 { margin:0 auto 1.4rem; }
.hero-copy .lead { margin:0 auto 2.1rem; }
.hero-wrap { padding-bottom:5.5rem; }

/* ── INSTRUMENT PANEL ── */
.panel { background:var(--ink); border:1px solid #21283a; border-radius:14px; overflow:hidden; box-shadow:0 30px 80px rgba(10,15,28,0.28); }
.panel-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.75rem 1.4rem; border-bottom:1px solid var(--ink-line); }
.panel-head .t { display:flex; align-items:center; gap:0.6rem; font-family:var(--mono); font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.55); }
.panel-head .t .dot { width:6px; height:6px; border-radius:50%; background:var(--amber); box-shadow:0 0 8px rgba(240,168,50,0.8); }
.panel-head .n { font-family:var(--mono); font-size:0.66rem; letter-spacing:0.1em; color:rgba(255,255,255,0.4); }
.panel-head .n b { color:var(--amber-hi); font-weight:500; }
.panel-query { display:flex; align-items:center; gap:0.7rem; margin:1rem 1.4rem 0; padding:0.75rem 1rem; background:var(--ink-2); border:1px solid var(--ink-line-2); border-radius:10px; }
.panel-query svg { color:rgba(255,255,255,0.4); flex-shrink:0; }
.panel-query .q { flex:1; font-size:0.9rem; color:#fff; line-height:1.45; }
.panel-query .send { flex-shrink:0; width:28px; height:28px; border-radius:7px; background:var(--amber); color:var(--ink); display:flex; align-items:center; justify-content:center; }

/* target-list table */
.tl-wrap { margin:1.1rem 1.4rem 1.3rem; border:1px solid var(--ink-line); border-radius:10px; overflow-x:auto; }
.tl { min-width:900px; }
.tl .r { display:grid; grid-template-columns:1.45fr 0.85fr 1.45fr 1.4fr 1.5fr 1.05fr; gap:0.8rem; padding:0.78rem 1rem; align-items:center; border-top:1px solid var(--ink-line); font-size:0.8rem; color:rgba(255,255,255,0.65); }
.tl .r.h { border-top:none; background:rgba(255,255,255,0.03); font-family:var(--mono); font-size:0.58rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.4); padding-top:0.65rem; padding-bottom:0.65rem; }
.tl .r .co { color:#fff; font-weight:500; font-size:0.84rem; }
.tl .r .loc { font-family:var(--mono); font-size:0.7rem; color:rgba(255,255,255,0.5); }
.tl .r.lead-row { background:rgba(240,168,50,0.05); box-shadow:inset 2px 0 0 var(--amber); }
/* highlighted "answer" column (what they need / signal) */
.tl .r .ans { font-family:var(--mono); font-size:0.76rem; color:var(--amber-hi); }
.tl .r .ans.dim { color:rgba(255,255,255,0.4); }
.tl .r .num { font-family:var(--mono); color:rgba(255,255,255,0.8); }
/* numeric SKU-fit column with segmented bar */
.tl .fit { display:flex; flex-direction:column; gap:0.3rem; }
.tl .fit .fv { font-family:var(--mono); font-size:0.74rem; color:var(--amber-hi); white-space:nowrap; }
.tl .fit .fb { display:flex; gap:2px; }
.tl .fit .fb span { width:12px; height:4px; border-radius:1px; background:rgba(255,255,255,0.14); }
.tl .fit .fb span.on { background:var(--amber); }
.tl-more { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.7rem 1.4rem 1.1rem; }
.tl-more span { font-family:var(--mono); font-size:0.64rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.42); }
.tl-more b { color:var(--amber-hi); font-weight:500; }

/* ── WORKED EXAMPLE PANEL ── */
.we { max-width:960px; margin:0 auto; }
.we-grid { display:grid; grid-template-columns:1fr 1.35fr; }
.we-left { padding:1.5rem 1.6rem; border-right:1px solid var(--ink-line); }
.we-right { padding:1.5rem 1.6rem; background:var(--ink-2); }
.we .k { font-family:var(--mono); font-size:0.58rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--amber); margin-bottom:0.55rem; }
.we .nm { font-weight:600; font-size:1.25rem; letter-spacing:-0.02em; color:#fff; }
.we .lc { font-family:var(--mono); font-size:0.68rem; color:rgba(255,255,255,0.45); margin-top:0.25rem; }
.we-kv { margin-top:1.2rem; }
.we-kv .row { padding:0.6rem 0; border-top:1px solid var(--ink-line); }
.we-kv .row .kk { font-family:var(--mono); font-size:0.56rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:0.25rem; }
.we-kv .row .vv { font-size:0.84rem; color:rgba(255,255,255,0.85); line-height:1.45; }
.we-chips span { display:inline-block; font-size:0.78rem; color:var(--amber-hi); background:rgba(240,168,50,0.08); border:1px solid rgba(240,168,50,0.32); border-radius:5px; padding:0.24rem 0.62rem; margin:0 0.32rem 0.38rem 0; }
.we-action { display:flex; align-items:flex-start; gap:0.6rem; background:rgba(255,255,255,0.03); border:1px solid var(--ink-line); border-left:3px solid var(--amber); border-radius:8px; padding:0.8rem 0.9rem; }
.we-action svg { color:var(--amber); flex-shrink:0; margin-top:2px; }
.we-action .txt { font-size:0.84rem; color:rgba(255,255,255,0.85); line-height:1.55; }
.we-action .txt b { color:var(--amber-hi); font-weight:600; }
.we-action .tag { margin-left:auto; align-self:flex-start; font-family:var(--mono); font-size:0.54rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--amber-hi); background:rgba(240,168,50,0.1); border-radius:4px; padding:0.16rem 0.42rem; white-space:nowrap; flex-shrink:0; }
.we-right .grp { margin-bottom:1.4rem; }
.we-right .grp:last-child { margin-bottom:0; }

/* ── STEPS ── */
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.step { border-top:1px solid var(--line); padding-top:1.3rem; }
.step .n { font-family:var(--mono); font-size:0.72rem; letter-spacing:0.1em; color:var(--amber-deep); }
.step .t { font-weight:600; font-size:1.12rem; letter-spacing:-0.015em; color:var(--txt); margin:0.8rem 0 0.45rem; }
.step .d { font-size:0.92rem; color:var(--txt-2); line-height:1.65; }

/* ── PROOF (dark) ── */
.on-ink { background:var(--ink); }
.quote-wide { max-width:860px; margin:0 auto 1.1rem; background:var(--ink-2); border:1px solid var(--ink-line); border-radius:12px; padding:2.4rem 2.6rem; }
.quote-wide .tx { font-size:1.3rem; line-height:1.6; color:rgba(255,255,255,0.88); letter-spacing:-0.01em; margin-bottom:1.4rem; }
.quote-wide .tx b { color:var(--amber-hi); font-weight:600; }
.quote-wide .who { font-size:0.86rem; font-weight:600; color:#fff; }
.quote-wide .role2 { font-family:var(--mono); font-size:0.62rem; color:rgba(255,255,255,0.4); margin-top:0.15rem; text-transform:uppercase; letter-spacing:0.06em; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--ink-line); border-radius:12px; overflow:hidden; max-width:860px; margin:0 auto; }
.stat { background:var(--ink-2); padding:1.6rem 1.25rem; border-right:1px solid var(--ink-line); }
.stat:last-child { border-right:none; }
.stat .v { font-family:var(--mono); font-size:1.8rem; font-weight:500; color:var(--amber-hi); line-height:1; letter-spacing:-0.02em; }
.stat .l { font-size:0.76rem; color:rgba(255,255,255,0.5); margin-top:0.55rem; line-height:1.4; }
.proof-note { text-align:center; margin-top:2rem; font-family:var(--mono); font-size:0.64rem; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.4); }

/* ── FINAL CTA ── */
.fcta-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:3rem; align-items:center; }
.fcta .h2 { color:#fff; max-width:22ch; }
.fcta-side { display:flex; flex-direction:column; gap:1rem; align-items:flex-start; }
.fcta-copy .mlabel { display:block; color:rgba(255,255,255,0.45); margin-top:1.1rem; }
.fcta { border-top:1px solid var(--ink-line); }

/* ── RESPONSIVE ── */
@media (max-width:960px) {
  .inner { padding:0 1.5rem; }
  .sec { padding:4.5rem 0; }
  .hero { padding-top:7.5rem; }
  .we-grid { grid-template-columns:1fr; }
  .we-left { border-right:none; border-bottom:1px solid var(--ink-line); }
  .steps { grid-template-columns:1fr; gap:1.5rem; }
  .stats { grid-template-columns:1fr 1fr; }
  .stat:nth-child(2) { border-right:none; }
  .stat:nth-child(-n+2) { border-bottom:1px solid var(--ink-line); }
  .quote-wide { padding:1.8rem; }
  .quote-wide .tx { font-size:1.1rem; }
  .fcta-grid { grid-template-columns:1fr; gap:2rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .reveal { transition:none; opacity:1; transform:none; }
}

/* ============================================================
   CONTENT PAGES: blog, blog post, legal, contact
   ============================================================ */

/* ── page hero (light, centered) ── */
.page-hero { padding:9rem 0 3rem; text-align:center; background:var(--paper); border-bottom:1px solid var(--line); }
.page-hero .mlabel { display:inline-block; margin-bottom:1.1rem; }
.page-hero .h1 { margin:0 auto 1.1rem; max-width:16em; }
.page-hero .lead { margin:0 auto; }

/* ── blog listing ── */
.blog-listing { padding:3.5rem 0 6.5rem; background:var(--white); }
.blog-featured { position:relative; display:grid; grid-template-columns:1.05fr 1fr; align-items:stretch; background:var(--white); border:1px solid var(--line); border-radius:16px; overflow:hidden; margin-bottom:1.75rem; transition:border-color 0.2s ease, box-shadow 0.2s ease; }
.blog-featured:hover { border-color:#c9ccd2; box-shadow:0 12px 30px rgba(23,30,43,0.08); }
/* whole card is clickable: the title link stretches over the card */
.blog-featured-title a::after, .blog-card-title a::after { content:""; position:absolute; inset:0; z-index:1; }
.blog-featured-visual { background:var(--ink); display:flex; align-items:center; justify-content:center; overflow:hidden; min-height:320px; }
.blog-tag { display:inline-block; align-self:flex-start; font-family:var(--mono); font-size:0.6rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--amber-deep); background:rgba(240,168,50,0.08); border:1px solid rgba(240,168,50,0.3); border-radius:4px; padding:0.25rem 0.6rem; margin-bottom:1rem; }
.blog-featured-body { padding:2.75rem; display:flex; flex-direction:column; justify-content:center; }
.blog-featured-title { font-weight:700; font-size:clamp(1.5rem,2.5vw,2rem); letter-spacing:-0.02em; color:var(--txt); line-height:1.16; margin-bottom:1rem; }
.blog-featured-title a { color:inherit; transition:color 0.18s; }
.blog-featured-title a:hover { color:var(--amber-deep); }
.blog-excerpt { font-size:0.96rem; color:var(--txt-2); line-height:1.7; margin-bottom:1.25rem; }
.blog-meta { display:flex; align-items:center; gap:0.85rem; font-family:var(--mono); font-size:0.66rem; letter-spacing:0.05em; color:var(--txt-3); text-transform:uppercase; }
.blog-meta-dot { color:var(--line); }
.blog-read-more { display:inline-flex; align-items:center; gap:0.4rem; font-size:0.85rem; font-weight:600; color:var(--amber-deep); margin-top:1.5rem; transition:gap 0.18s ease; }
.blog-read-more:hover { gap:0.7rem; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.blog-card { position:relative; background:var(--white); border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
.blog-card:hover { border-color:#c9ccd2; box-shadow:0 12px 30px rgba(23,30,43,0.08); transform:translateY(-3px); }
.blog-card-visual { background:var(--ink); aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.blog-card-body { padding:1.6rem; display:flex; flex-direction:column; flex:1; }
.blog-card-title { font-weight:700; font-size:1.12rem; letter-spacing:-0.015em; color:var(--txt); line-height:1.3; margin-bottom:0.7rem; }
.blog-card-title a { color:inherit; transition:color 0.18s; }
.blog-card-title a:hover { color:var(--amber-deep); }
.blog-card-excerpt { font-size:0.875rem; color:var(--txt-2); line-height:1.65; flex:1; margin-bottom:1.25rem; }
.blog-card-meta { font-family:var(--mono); font-size:0.63rem; letter-spacing:0.05em; color:var(--txt-3); text-transform:uppercase; margin-top:auto; }

/* ── blog post / article ── */
.post-hero { padding:8rem 0 2.25rem; text-align:center; background:var(--paper); }
.post-hero-inner { max-width:760px; margin:0 auto; padding:0 2.5rem; }
.post-tag { display:inline-block; font-family:var(--mono); font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--amber-deep); background:rgba(240,168,50,0.08); border:1px solid rgba(240,168,50,0.3); border-radius:4px; padding:0.25rem 0.65rem; margin-bottom:1.4rem; }
.post-title { font-weight:700; font-size:clamp(2rem,4vw,3rem); letter-spacing:-0.03em; color:var(--txt); line-height:1.08; margin-bottom:1.4rem; }
.post-meta { display:flex; flex-direction:column; align-items:center; gap:0.85rem; font-family:var(--mono); font-size:0.68rem; letter-spacing:0.05em; color:var(--txt-3); text-transform:uppercase; }
.post-meta-row { display:flex; align-items:center; gap:1rem; }
.post-meta-dot { color:var(--line); }
.post-meta-author { display:flex; align-items:center; gap:0.65rem; text-transform:none; letter-spacing:0.01em; color:var(--txt-2); }
.post-meta-author img { width:32px; height:32px; border-radius:50%; object-fit:cover; object-position:center top; border:1px solid var(--line); }
.post-hero-image { padding:0 2.5rem; background:var(--paper); }
.post-hero-image img { display:block; width:100%; max-width:1000px; margin:0 auto; padding-top:2.25rem; max-height:460px; object-fit:cover; object-position:center top; border-radius:16px; }
.post-body { padding:3rem 0 6rem; background:var(--white); }
.post-body-inner { max-width:720px; margin:0 auto; padding:0 2.5rem; }
.post-back { display:inline-flex; align-items:center; gap:0.4rem; font-size:0.85rem; font-weight:500; color:var(--txt-3); margin-bottom:2.5rem; transition:color 0.18s ease, gap 0.18s ease; }
.post-back:hover { color:var(--amber-deep); gap:0.6rem; }
.post-content p { font-size:1.06rem; color:var(--txt); line-height:1.85; margin-bottom:1.6rem; }
.post-content h2 { font-weight:700; font-size:clamp(1.4rem,2.5vw,1.85rem); letter-spacing:-0.02em; color:var(--txt); line-height:1.2; margin:2.75rem 0 1rem; }
.post-content h3 { font-weight:600; font-size:1.15rem; color:var(--txt); margin:1.9rem 0 0.6rem; }
.post-content ul { padding-left:1.4rem; margin-bottom:1.75rem; }
.post-content li { font-size:1.06rem; color:var(--txt); line-height:1.8; margin-bottom:0.5rem; }
.post-content li::marker { color:var(--amber); }
.post-content strong { color:var(--txt); font-weight:600; }
.post-content a { color:var(--amber-deep); font-weight:500; text-decoration:underline; text-decoration-color:rgba(150,105,28,0.35); text-underline-offset:2px; transition:color 0.18s; }
.post-content a:hover { color:var(--amber); }
.post-at-a-glance { background:var(--paper); border:1px solid var(--line); border-left:3px solid var(--amber); border-radius:0 10px 10px 0; padding:1.75rem 2rem; margin-bottom:2.5rem; }
.post-at-a-glance h2 { font-family:var(--mono); font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--amber-deep); margin:0 0 1rem; font-weight:500; }
.post-at-a-glance ul { padding-left:1.25rem; margin:0; }
.post-at-a-glance li { font-size:0.95rem; color:var(--txt-2); line-height:1.7; margin-bottom:0.6rem; }
.post-at-a-glance li::marker { color:var(--amber); }
.post-at-a-glance strong { color:var(--txt); font-weight:600; }
/* post tables — wrap a table in <div class="post-table"> for the styled treatment;
   add class "hl-last" to highlight the final column as the hero of a comparison */
.post-table { margin:2.4rem 0; border:1px solid var(--line); border-radius:10px; overflow-x:auto; }
.post-table table { width:100%; border-collapse:collapse; min-width:520px; }
.post-table th { background:var(--ink); color:rgba(255,255,255,0.92); font-size:0.66rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; text-align:left; padding:0.9rem 1.15rem; white-space:nowrap; }
.post-table td { padding:0.85rem 1.15rem; font-size:0.9rem; line-height:1.6; color:var(--txt-2); border-top:1px solid var(--line); vertical-align:top; }
.post-table tbody tr:first-child td { border-top:none; }
.post-table th + th, .post-table td + td { border-left:1px solid var(--line); }
.post-table td:first-child { font-weight:600; color:var(--txt); white-space:nowrap; }
.post-table.hl-last th:last-child { color:var(--amber-hi); }
.post-table.hl-last td:last-child { background:rgba(240,168,50,0.07); color:var(--txt); }
.post-cta { background:var(--ink); border:1px solid #21283a; border-radius:16px; padding:3rem; margin-top:3.5rem; text-align:center; }
.post-cta h2 { font-weight:700; font-size:1.6rem; letter-spacing:-0.02em; color:#fff; margin-bottom:0.75rem; }
.post-cta p { font-size:0.95rem; color:rgba(255,255,255,0.6); margin:0 auto 1.5rem; max-width:440px; }

/* ── legal ── */
.legal-header { padding:8.5rem 0 2.25rem; text-align:center; background:var(--paper); }
.legal-header h1 { font-weight:700; font-size:clamp(2.2rem,4vw,3rem); letter-spacing:-0.025em; color:var(--txt); line-height:1.1; margin-bottom:0.9rem; }
.legal-entity { font-size:0.95rem; color:var(--txt-2); margin-bottom:0.35rem; }
.legal-effective { font-family:var(--mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--amber-deep); }
.legal-body { max-width:760px; margin:0 auto; padding:3rem 2.5rem 6rem; }
.legal-body h2 { font-weight:700; font-size:clamp(1.4rem,2.5vw,1.8rem); letter-spacing:-0.02em; color:var(--txt); line-height:1.25; margin:2.75rem 0 1rem; }
.legal-body h3 { font-weight:600; font-size:1.05rem; color:var(--txt); margin:1.9rem 0 0.6rem; }
.legal-body p { font-size:0.98rem; color:var(--txt); line-height:1.8; margin-bottom:1.2rem; }
.legal-body ul { padding-left:1.4rem; margin-bottom:1.2rem; }
.legal-body li { font-size:0.98rem; color:var(--txt); line-height:1.75; margin-bottom:0.4rem; }
.legal-body li::marker { color:var(--amber); }
.legal-body strong { color:var(--txt); font-weight:600; }
.legal-body a { color:var(--amber-deep); font-weight:500; text-decoration:underline; text-decoration-color:rgba(150,105,28,0.35); text-underline-offset:2px; transition:color 0.18s; }
.legal-body a:hover { color:var(--amber); }

/* ── contact / demo ── */
.contact-section { min-height:100vh; display:flex; align-items:center; padding:9rem 0 5rem; background:var(--ink); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; width:100%; }
.contact-h1 { font-weight:700; font-size:clamp(2.2rem,3.6vw,3.1rem); color:#fff; line-height:1.1; letter-spacing:-0.025em; margin-bottom:1.25rem; }
.contact-h1 em { font-style:normal; font-weight:inherit; color:inherit; }
.contact-p { font-size:1.05rem; color:rgba(255,255,255,0.6); line-height:1.7; margin-bottom:2.5rem; max-width:520px; }
.trust-signals { display:flex; flex-direction:column; gap:1rem; }
.trust-item { display:flex; align-items:center; gap:0.75rem; }
.trust-icon { width:36px; height:36px; border-radius:9px; background:rgba(240,168,50,0.1); border:1px solid rgba(240,168,50,0.25); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--amber); }
.trust-text { font-size:0.9rem; color:rgba(255,255,255,0.65); }
.contact-testimonial { margin-top:2.5rem; padding-left:1.25rem; border-left:2px solid rgba(240,168,50,0.4); }
.contact-testimonial-text { font-size:1rem; color:rgba(255,255,255,0.75); line-height:1.6; margin-bottom:0.75rem; }
.contact-testimonial-author { font-family:var(--mono); font-size:0.68rem; color:rgba(255,255,255,0.4); letter-spacing:0.05em; text-transform:uppercase; }
.demo-form { background:var(--ink-2); border:1px solid var(--ink-line-2); border-radius:16px; padding:2.5rem; box-shadow:0 24px 60px rgba(0,0,0,0.3); }
.demo-form-title { font-weight:700; font-size:1.25rem; color:#fff; margin-bottom:1.5rem; letter-spacing:-0.01em; }
.form-row { margin-bottom:1rem; }
.form-row label { display:block; font-family:var(--mono); font-size:0.62rem; font-weight:500; color:rgba(255,255,255,0.45); letter-spacing:0.08em; text-transform:uppercase; margin-bottom:0.4rem; }
.form-row input, .form-row select { width:100%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:8px; padding:0.75rem 1rem; color:#fff; font-family:var(--sans); font-size:0.9rem; outline:none; transition:border-color 0.18s, background 0.18s; -webkit-appearance:none; }
.form-row input::placeholder { color:rgba(255,255,255,0.25); }
.form-row input:focus, .form-row select:focus { border-color:rgba(240,168,50,0.5); background:rgba(255,255,255,0.08); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.btn-form { width:100%; background:#fff; color:var(--ink); font-family:var(--sans); font-weight:600; font-size:0.92rem; padding:0.9rem; border:none; border-radius:8px; cursor:pointer; margin-top:0.75rem; transition:background 0.18s, transform 0.18s; }
.btn-form:hover { background:#e9ebef; transform:translateY(-1px); }
.btn-form:disabled { opacity:0.7; cursor:default; transform:none; }
.form-note { text-align:center; font-family:var(--mono); font-size:0.62rem; color:rgba(255,255,255,0.35); margin-top:0.75rem; letter-spacing:0.05em; }
.form-success { margin-top:1rem; padding:1rem; background:rgba(240,168,50,0.12); border:1px solid rgba(240,168,50,0.3); border-radius:8px; text-align:center; font-size:0.9rem; color:var(--amber-hi); }

@media (max-width:960px) {
  .blog-featured { grid-template-columns:1fr; }
  .blog-featured-visual { min-height:220px; }
  .blog-featured-body { padding:2rem; }
  .blog-grid { grid-template-columns:1fr; }
  .blog-listing { padding:2rem 0 4.5rem; }
  .post-hero-inner, .post-body-inner { padding-left:1.5rem; padding-right:1.5rem; }
  .post-hero-image { padding:0 1.5rem; }
  .legal-body { padding-left:1.5rem; padding-right:1.5rem; padding-bottom:4.5rem; }
  .contact-section { padding:7rem 0 4rem; }
  .contact-grid { grid-template-columns:1fr; gap:3rem; }
  .demo-form { padding:2rem; }
}
