/* ==========================================================================
   Industry pages: /industries/<slug>, generated by _industries/build-industries.js.
   Loaded only by those pages, after style.css. Tokens all come from style.css;
   everything the pages share with the rest of the site (cards, ticks, the
   missed-call demo, FAQ, CTA band) is styled there and reused as is.

   Accent discipline: --accent stays on buttons, eyebrows, checkmarks and the
   tier labels, as on the homepage. Numbers, rules and the picked-tier glow use
   the logo teals. Small labels use --text-dim, not --text-mute: mute measured
   4.2:1 on a card, under the 4.5:1 small text needs.
   ========================================================================== */

/* ---- hero: the claim on the left, the prices on the right ---------------- */

.hero.ind-hero{padding-block:clamp(3rem,7vw,5.5rem) clamp(3.5rem,7vw,5.5rem);}
.ind-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(2.5rem,5vw,4.5rem);
  align-items:center;
}
.ind-hero h1{font-size:clamp(2.35rem,5vw,3.7rem);margin-top:1.4rem;}

.ind-facts{
  background:rgba(18,26,28,.78);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border:1px solid var(--line-2);
  border-radius:var(--r-lg);
  padding:1.6rem 1.7rem 1.1rem;
}
.ind-facts-title{
  font-size:.735rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--text-dim);
  margin-bottom:.4rem;
}
.ind-facts ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.ind-facts li{padding:1.1rem 0;border-top:1px solid var(--line);}
.ind-facts li:nth-child(odd){padding-right:1.1rem;}
.ind-facts li:nth-child(even){padding-left:1.1rem;border-left:1px solid var(--line);}
.ind-facts b{
  display:block;
  font-family:'Outfit',sans-serif;
  font-size:1.6rem;font-weight:700;letter-spacing:-.035em;line-height:1.1;
  color:var(--text);
}
.ind-facts li span{display:block;margin-top:.35rem;font-size:.85rem;line-height:1.45;color:var(--text-dim);}

.ind-facts-link{
  display:inline-flex;align-items:center;gap:.5rem;
  min-height:44px;margin-top:.2rem;
  font-size:.92rem;font-weight:500;color:var(--text);
  text-decoration:underline;
  text-decoration-color:var(--accent);
  text-decoration-thickness:1.5px;
  text-underline-offset:.24em;
  transition:color var(--t-fast);
}
.ind-facts-link:hover{color:var(--accent);}

/* ---- the moods their customers arrive in ------------------------------- */

.ind-mood{display:flex;flex-direction:column;}
.ind-mode{
  align-self:flex-start;
  margin-bottom:1.1rem;
  padding:.28rem .75rem;
  border:1px solid var(--line-2);
  border-radius:var(--r-pill);
  font-size:.72rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-dim);
}
.ind-mood h3{margin-bottom:.7rem;}
.ind-list-title{
  margin-top:1.4rem;padding-top:1.2rem;
  border-top:1px solid var(--line);
  font-size:.72rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-dim);
}
.card p.ind-list-title{font-size:.72rem;color:var(--text-dim);}
.ind-mood .ticks{margin-top:.35rem;}

/* ---- what the site has to do ------------------------------------------- */

.ind-needs{margin:0;padding:0;list-style:none;}
.ind-num{
  display:block;
  margin-bottom:1.1rem;
  font-family:'Outfit',sans-serif;
  font-size:.95rem;font-weight:600;letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
  color:var(--accent-2);
}
.ind-needs h3{margin-bottom:.7rem;}

/* ---- demo: its own section here, so no gap above it -------------------- */

.demo.ind-demo{margin-top:0;}

/* ---- what we build ------------------------------------------------------ */

.ind-build .card{padding:2.1rem;}
.ind-build .ind-list-title{margin-top:0;padding-top:0;border-top:0;}
.ind-build h3{margin:.55rem 0 .8rem;font-size:clamp(1.35rem,2.4vw,1.6rem);}

/* ---- which tier fits ---------------------------------------------------- */

.ind-fits{display:grid;gap:.9rem;max-width:62rem;margin-inline:auto;}
.ind-fit{
  display:grid;
  grid-template-columns:minmax(0,15rem) minmax(0,1fr);
  gap:1rem clamp(1.5rem,4vw,3rem);
  align-items:center;
  padding:1.6rem clamp(1.4rem,3vw,2.1rem);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
}
/* The featured-card treatment from the pricing section: accent border and a
   soft glow underneath, no drop shadow. */
.ind-fit--pick{
  background:linear-gradient(180deg,var(--surface-2),var(--surface));
  border-color:var(--line-accent);
  box-shadow:0 24px 70px -40px rgba(79,209,224,.35);
}
.ind-fit .tier-label{margin-bottom:0;}
.ind-fit .tier-price{margin:.55rem 0 .3rem;font-size:2rem;}
.ind-fit .tier-meta{min-height:0;font-size:.85rem;color:var(--text-dim);}
.ind-fit-when p{color:var(--text-dim);text-wrap:pretty;}
.ind-fit-when .tag{display:inline-block;margin-bottom:.7rem;border-color:var(--line-accent);color:var(--accent);}

/* ---- FAQ and the links out ---------------------------------------------- */

.ind-faq{margin-inline:auto;}
.ind-others{margin-top:2.2rem;font-size:.95rem;color:var(--text-dim);text-wrap:pretty;}

/* Links inside running copy: body-colored with a teal underline, as in the
   journal and the FAQ answers (style.css), so a sourced sentence doesn't read
   as a row of buttons. */
.ind-needs p a,.ind-others a{
  color:var(--text);
  text-decoration:underline;
  text-decoration-color:var(--accent);
  text-decoration-thickness:1.5px;
  text-underline-offset:.22em;
  transition:color var(--t-fast);
}
.ind-needs p a:hover,.ind-others a:hover{color:var(--accent);}

/* ---- narrow screens ------------------------------------------------------- */

@media (max-width:1024px){
  .ind-hero-grid{grid-template-columns:1fr;}
  .ind-facts{max-width:560px;}
}

@media (max-width:760px){
  .ind-fit{grid-template-columns:1fr;align-items:start;}
  .ind-build .card{padding:1.6rem;}
}

@media (max-width:400px){
  .ind-facts{padding-inline:1.2rem;}
  .ind-facts b{font-size:1.35rem;}
}
