/* Industry page layout — hero, logo wall, capability trio, use-case rows,
   product cards, trust strip, note card, closing band.

   Lifted verbatim out of the page-level <style> block that call-centers.astro and
   multi-site.astro each carry an identical copy of, so restaurants and healthcare
   could be added without making that four and five copies. Those three still hold
   their own inline copies; migrating them is a separate, mechanical change.
   schools.astro's copy has drifted slightly and is not identical to this one. */
/* hero */
  .sv-hero{ max-width:1180px; margin:72px auto 0; padding:0 24px; display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
  .sv-photo img{ width:100%; height:auto; display:block; border-radius:20px; box-shadow:0 26px 60px -30px rgba(9,21,36,0.42); }
  .sv-hero h1{ font-size:clamp(32px,3.8vw,46px); line-height:1.08; letter-spacing:-0.02em; color:var(--text-primary); text-wrap:balance; }
  .sv-hero .dek{ font-size:clamp(15.5px,1.4vw,17.5px); line-height:1.55; color:var(--text-body); max-width:480px; margin-top:18px; text-wrap:pretty; }
  .sv-cta{ display:flex; gap:16px; align-items:center; margin-top:30px; flex-wrap:wrap; }
  .btn-dark{ display:inline-flex; align-items:center; gap:8px; background:var(--bg-dark); color:var(--text-light); border-radius:999px; padding:14px 26px; font-size:15.5px; font-weight:500; text-decoration:none; transition:transform .2s ease, background .2s ease; }
  .btn-dark:hover{ transform:translateY(-1px); background:#13263f; }
  .btn-dark svg, .link-carrot svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
  .link-carrot{ display:inline-flex; align-items:center; gap:6px; color:var(--text-primary); font-size:15px; font-weight:500; text-decoration:none; }
  .link-carrot:hover{ opacity:.65; }
  /* mock card internals */
  .ic{ width:26px; height:26px; border-radius:8px; background:var(--sm-icon-bg,rgba(9,21,36,0.06)); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .ic svg{ width:14px; height:14px; stroke:var(--sm-icon-ink,rgba(9,21,36,0.44)); fill:none; stroke-linecap:round; stroke-linejoin:round; }
  .rmid{ flex:1; min-width:0; }
  .sm-sub{ font-size:11px; color:var(--sm-muted,rgba(9,21,36,0.42)); margin-top:2px; }
  /* Logo wall — NOT RENDERED as of 2026-08-09. The markup came out of all five
     industry pages because the chips were placeholders and the real customer list
     is still waiting on Cory's contract check. The rules are kept, unused, so the
     section can be restored by putting the markup back; if the wall returns as
     real logos rather than chips, .lg-chip goes and the homepage's optical sizing
     in home-v10.css (.shv-logos-row) is the pattern to copy, not this. */
  .sv-logos{ max-width:1180px; margin:88px auto 0; padding:0 24px; }
  .sv-logos .lg-head{ font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-muted); text-align:center; }
  .lg-track{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:24px; }
  .lg-chip{ display:flex; align-items:center; justify-content:center; height:52px; padding:0 30px;
    background:rgba(9,21,36,0.045); border-radius:10px; white-space:nowrap;
    font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:rgba(9,21,36,0.34); }
  /* capability trio */
  .sv-trio{ max-width:1180px; margin:96px auto 0; padding:0 24px; }
  .sv-trio > h2, .sv-uses > h2, .sv-prods > h2{ font-size:clamp(26px,2.9vw,36px); letter-spacing:-0.015em; color:var(--text-primary); text-align:center; text-wrap:balance; }
  .sv-trio .sub, .sv-uses .sub, .sv-prods .sub{ font-size:16px; color:var(--text-body); text-align:center; max-width:560px; margin:14px auto 0; line-height:1.55; }
  .trio-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:42px; }
  .trio-card{ background:#fff; border:1px solid var(--border); border-radius:16px; padding:26px 24px; }
  .trio-card .tc-ic{ width:38px; height:38px; border-radius:10px; background:rgba(42,82,142,0.08); display:flex; align-items:center; justify-content:center; }
  .trio-card .tc-ic svg{ width:20px; height:20px; stroke:var(--accent-teal); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  .trio-card h3{ font-size:18px; color:var(--text-primary); margin-top:16px; letter-spacing:-0.01em; }
  .trio-card p{ font-size:14.5px; line-height:1.55; color:var(--text-body); margin-top:8px; }
  /* use-case rows */
  .sv-uses{ max-width:1180px; margin:110px auto 0; padding:0 24px; }
  .use-row{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; margin-top:72px; }
  .use-row.flip .use-text{ order:2; } .use-row.flip .use-visual{ order:1; }
  .use-text h3{ font-size:clamp(22px,2.3vw,28px); letter-spacing:-0.015em; color:var(--text-primary); text-wrap:balance; }
  .use-text > p{ font-size:15.5px; line-height:1.6; color:var(--text-body); margin-top:12px; max-width:440px; }
  .use-list{ list-style:none; margin:22px 0 0; padding:0; display:grid; gap:12px; }
  .use-list li{ display:flex; gap:11px; align-items:flex-start; font-size:14.5px; line-height:1.45; color:var(--text-primary); }
  .use-list .ck{ width:17px; height:17px; flex-shrink:0; margin-top:2px; color:var(--accent-teal); }
  .use-list .ck svg{ width:17px; height:17px; stroke:currentColor; stroke-width:1.8; fill:none; stroke-linecap:round; stroke-linejoin:round; }
  /* product cards */
  .sv-prods{ max-width:1180px; margin:110px auto 0; padding:0 24px; }
  .prod-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:42px; }
  .prod-card{ background:#fff; border:1px solid var(--border); border-radius:16px; padding:28px 26px; display:flex; flex-direction:column; }
  .prod-card .pc-name{ font-size:19px; font-weight:600; color:var(--text-primary); letter-spacing:-0.01em; }
  .prod-card .pc-tag{ font-size:13.5px; color:var(--text-body); margin-top:5px; }
  .prod-card ul{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:9px; flex:1; }
  .prod-card li{ display:flex; gap:9px; align-items:flex-start; font-size:13.5px; line-height:1.45; color:var(--text-body); }
  .prod-card li::before{ content:''; width:5px; height:5px; border-radius:50%; background:var(--accent-teal); flex-shrink:0; margin-top:7px; }
  .prod-card .pc-more{ display:inline-flex; align-items:center; gap:6px; margin-top:20px; font-size:13.5px; font-weight:600; color:var(--accent-teal); text-decoration:none; }
  .prod-card .pc-more svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
  /* trust strip */
  .sv-trust{ max-width:1180px; margin:110px auto 0; padding:0 24px; }
  .trust-card{ background:var(--bg-dark); border-radius:20px; padding:clamp(38px,4.5vw,56px); display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
  /* h3 AND h4: schools.astro marks these up as <h3> and call-centers/multi-site as
   <h4>. This sheet was extracted from the call-centers copy, so it styled h4 only,
   and the <h3> headings on restaurants/healthcare rendered near-black on the navy
   card — invisible. Covering both is what makes this sheet safe to point the other
   three pages at, which is the whole reason it exists. */
.trust-item h3, .trust-item h4{ font-size:15.5px; color:var(--text-light); letter-spacing:-0.01em; }
  .trust-item p{ font-size:13.5px; line-height:1.55; color:rgba(249,249,247,0.62); margin-top:8px; }
  /* related note */
  .sv-note{ max-width:1180px; margin:96px auto 0; padding:0 24px; }
  .note-card{ display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--bg-card); border-radius:16px; padding:26px 30px; text-decoration:none; transition:transform .18s ease; }
  .note-card:hover{ transform:translateY(-2px); }
  .note-card .nc-label{ font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-muted); }
  .note-card .nc-title{ font-size:18px; font-weight:600; color:var(--text-primary); margin-top:6px; }
  .note-card .nc-sub{ font-size:14px; color:var(--text-body); margin-top:4px; }
  .note-card svg{ width:18px; height:18px; flex-shrink:0; fill:none; stroke:var(--text-primary); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  /* CTA band */
  .sv-band{ max-width:1180px; margin:110px auto 120px; padding:0 24px; }
  .band-card{ background:var(--bg-card); border-radius:20px; padding:clamp(40px,5vw,64px); display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; }
  .band-card h2{ font-size:clamp(24px,2.7vw,32px); letter-spacing:-0.015em; color:var(--text-primary); text-wrap:balance; }
  .band-card .use-list{ margin-top:20px; }
  @media (max-width:860px){.sv-hero, .use-row, .band-card{ grid-template-columns:1fr; gap:36px; }
    .use-row.flip .use-text{ order:1; } .use-row.flip .use-visual{ order:2; }
    .trio-grid, .prod-grid{ grid-template-columns:1fr; }
    .trust-card{ grid-template-columns:1fr 1fr; }}
