/* ===========================================================================
   averon-service-cards.css — card layout for the seven service pages.

   Linked LAST, after service-pages.css and averon-landing.css, so it wins on
   equal specificity without !important. Remove the one <link> and the page
   returns to the previous layout: nothing here is required for the engine to
   work, and no rule in this file touches .rt-panel, .evaluator-form or any
   element the engine JS addresses by id.

   LAYOUT
     left  (.sp-main)  card 1  What to expect
                       card 2  Sample report
     right (.sp-rail)  card 3  The engine        <- markup untouched
                       card 4  How it works      <- moved here, compacted

   The rail is 384px wide, so everything in card 4 is a compact variant of the
   .hw-* rules in averon-landing.css. Those originals are left alone because
   index.php still uses them at full width.
   =========================================================================== */

/* ---------------------------------------------------------------- the card */
.svc-card {
  position: relative;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(15,23,42,.05), 0 12px 30px rgba(15,23,42,.055);
  margin: 0 0 1.5rem;
  overflow: hidden;
}
.svc-card-head {
  display: flex; align-items: flex-start; gap: .9rem;
  padding: 1.15rem 1.35rem 1rem;
  background: linear-gradient(180deg, #FBFCFE 0%, #fff 100%);
  border-bottom: 1px solid #EEF2F7;
}
.svc-card-ico {
  flex: 0 0 auto; width: 40px; height: 40px; border-radius: 11px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, #EEF2FF 0%, #E0E7FF 100%);
  border: 1px solid #C7D2FE;
}
.svc-card-ico svg { width: 20px; height: 20px; stroke: #4338CA; fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.svc-card-head-txt { min-width: 0; }
.svc-card-head h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.16rem; font-weight: 700; color: #0F172A;
  margin: 0 0 .18rem; letter-spacing: -.01em; border: 0; padding: 0;
}
.svc-card-head p { font-size: .82rem; line-height: 1.55; color: #64748B; margin: 0; }

/* ------------------------------------------------------------- slim hero */
/* The hero was min-height:340px with a kicker pill, a two-line headline and a
   descriptive paragraph — roughly a full screen before any content began.
   It is now one line. The image stays as a faint wash so the page still has a
   top edge rather than starting abruptly against the nav. */
.page-hero.svc-hero-slim {
  min-height: 0;
  background: #fff;          /* style.css sets var(--navy); the faint wash was
                                .page-hero-img at opacity .06. The <img> is gone
                                from the markup, and the navy is overridden here
                                so nothing shows through. */
  border-bottom: 1px solid #EEF2F7;
}
.svc-hero-slim .page-hero-img { display: none; }
.svc-hero-slim .page-hero-inner { padding: 2.1rem 1.5rem 1.9rem; }
.svc-hero-slim h1 { margin: 0; font-size: 2.05rem; line-height: 1.18; }
@media (max-width: 700px) {
  .svc-hero-slim .page-hero-inner { padding: 1.6rem 1.15rem 1.5rem; }
  .svc-hero-slim h1 { font-size: 1.6rem; }
}
.svc-card-body { padding: 1.25rem 1.35rem 1.4rem; }
@media (max-width: 640px) {
  .svc-card-head { padding: 1rem 1rem .9rem; }
  .svc-card-body { padding: 1.05rem 1rem 1.15rem; }
}

/* ------------------------------------------------- card 1: what to expect */
/* Three numbers across the top. Deliberately the three facts a visitor wants
   before reading anything: how much is checked, how long it takes, what it
   costs to try. */
.svc-stats {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .6rem; margin: 0 0 1.25rem;
}
.svc-stat {
  text-align: center; padding: .85rem .5rem;
  background: #F8FAFC; border: 1px solid #EEF2F7; border-radius: 11px;
}
.svc-stat b {
  display: block; font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.42rem; font-weight: 700; color: #4338CA; line-height: 1.1;
  letter-spacing: -.02em;
}
.svc-stat span {
  display: block; margin-top: .28rem; font-size: .7rem; font-weight: 600;
  letter-spacing: .05em; text-transform: uppercase; color: #94A3B8;
}
@media (max-width: 420px) { .svc-stats { grid-template-columns: 1fr; } }

.svc-sub {
  font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: #94A3B8; margin: 1.35rem 0 .7rem;
}
.svc-sub:first-child { margin-top: 0; }

.svc-gets { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.svc-get {
  display: grid; grid-template-columns: 21px minmax(0,1fr); gap: .65rem;
  align-items: start; font-size: .875rem; line-height: 1.62; color: #334155;
  padding: 0;
}
/* NO <ul>/<li> HERE — ON PURPOSE.
   service-pages.css draws a gold em-dash before every list item in the content
   column:
       .sp-main ul>li:before { content:"—"; position:absolute; left:0 }
   I first tried to switch that off with `.svc-gets li:before`, which scores
   (0,1,2) against its (0,1,3) and therefore lost. Rather than escalate the
   specificity, the markup now uses <div class="svc-get"> instead of <li>.
   That selector cannot match a div, so the dash cannot come back — not if
   someone raises the specificity of the original rule later, and not if this
   file fails to load at all. Structure beats a specificity contest.
   If you ever change these back to <li>, the dashes return. */
.svc-get i {
  width: 19px; height: 19px; border-radius: 50%; display: grid; place-items: center;
  background: #ECFDF5; border: 1px solid #A7F3D0; margin-top: .18rem;
  font-style: normal; font-size: .66rem; font-weight: 800; color: #047857; line-height: 1;
}
.svc-get.is-plus i { background: #EEF2FF; border-color: #C7D2FE; color: #4338CA; }
.svc-get b { font-weight: 650; color: #0F172A; }

/* "when to use it" — chips, because these are scan targets, not prose */
.svc-when { display: flex; flex-wrap: wrap; gap: .45rem; }
.svc-when span {
  font-size: .78rem; font-weight: 600; color: #3730A3;
  background: #EEF2FF; border: 1px solid #C7D2FE;
  padding: .42rem .75rem; border-radius: 99px;
}

.svc-price {
  display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap;
  margin-top: 1.35rem; padding-top: 1.05rem; border-top: 1px dashed #E2E8F0;
  font-size: .85rem; color: #475569;
}
.svc-price b { font-size: 1.05rem; font-weight: 700; color: #0F172A; }
.svc-price em { font-style: normal; color: #94A3B8; }

/* --------------------------------------------------- card 2: sample report */
/* The .sm-* viewer keeps its own styling. It only needs its outer margins
   neutralised so it sits flush inside the card body. */
.svc-card .sm-feature { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.svc-card .sm-feature-top { display: none; }   /* the card head says this already */
.svc-card .sm-report { margin: 0; }
.svc-card .sm-report-note { margin: .95rem 0 0; font-size: .78rem; line-height: 1.6; color: #64748B; }
.svc-card .sm-report-frame { height: 700px; }
.svc-card .sm-report.is-open .sm-report-frame { height: 2200px; }
@media (max-width: 640px) {
  .svc-card .sm-report-frame { height: 520px; }
  .svc-card .sm-report.is-open .sm-report-frame { height: 1500px; }
}

/* --------------------------------------------- card: how it works (left col) */
/* This card moved out of the 384px rail into the wide content column, so the
   compact .hw-* overrides that used to live here have been deleted rather than
   kept "just in case" — they would now be shrinking text that has room. The
   originals in averon-landing.css do the work. */
.svc-hiw .hw { margin: 0; }
.svc-hiw .hw-step:last-child .hw-body > p:last-child { margin-bottom: 0; }

/* ------------------------------------------------------------- SEO sections */
/* Below the cards. Alternating tinted bands give the long-form content some
   rhythm without changing a word of it. */
.svc-seo { margin-top: 2.6rem; }
.svc-band {
  border: 1px solid #EEF2F7; border-radius: 14px;
  padding: 1.5rem 1.6rem .3rem; margin: 0 0 1.15rem;
  background: #fff;
}
.svc-band.is-tint { background: #F8FAFC; }
.svc-band > h2:first-child { margin-top: 0; }
.svc-band-lbl {
  display: inline-block; font-size: .66rem; font-weight: 700; letter-spacing: .09em;
  text-transform: uppercase; color: #4338CA; background: #EEF2FF;
  border: 1px solid #C7D2FE; border-radius: 99px;
  padding: .28rem .68rem; margin-bottom: .8rem;
}
@media (max-width: 640px) { .svc-band { padding: 1.15rem 1.05rem .3rem; } }

/* Entrance animation is handled by the existing .av-reveal rules in
   averon-landing.css and js/averon-reveal.js. Nothing new is defined here:
   that pair is already used on index.php and degrades safely without JS. */

/* ------------------------------------------------- fixed document type row */
/* Replaces the dropdown on the single-purpose pages. The <select> itself is
   still in the DOM, hidden — see the comment beside it in the markup. */
.svc-doctype {
  display: flex; align-items: center; gap: .55rem; flex-wrap: wrap;
  margin: .75rem 0 0; padding: .6rem .75rem;
  background: #F8FAFC; border: 1px solid #EEF2F7; border-radius: 9px;
  font-size: .8rem; color: #475569; line-height: 1.4;
}
.svc-doctype b { font-weight: 650; color: #0F172A; }
.svc-doctype-ico {
  width: 17px; height: 17px; flex: 0 0 auto; border-radius: 50%;
  display: grid; place-items: center;
  background: #ECFDF5; border: 1px solid #A7F3D0;
  color: #047857; font-size: .6rem; font-weight: 800; line-height: 1;
}
.svc-doctype a { margin-left: auto; font-size: .76rem; font-weight: 600; color: #4338CA; }
