/* ============================================================
   industries.css
   Additive styles for the Industries module.
   Load AFTER styles.css (and after case-studies.css if both are
   present) — reuses the same design tokens (--bg, --card, --border,
   --text, --text-dim, --accent, --accent-dim, --radius).
   ============================================================ */

/* ---- hero ---- */
.ind-hero{padding:150px 0 60px;}
.ind-hero .wrap{max-width:880px;}
.ind-breadcrumb{color:var(--text-dim);font-size:0.85rem;margin-bottom:18px;}
.ind-breadcrumb a{color:var(--accent);}
.ind-hero h1{font-size:clamp(2rem,4.6vw,3.1rem);font-weight:700;letter-spacing:-0.02em;line-height:1.15;margin:16px 0 20px;}
.ind-hero p.lede{color:var(--text-dim);font-size:1.05rem;max-width:720px;margin-bottom:30px;}
.ind-stat-row{display:flex;gap:40px;flex-wrap:wrap;margin-top:8px;}
.ind-stat-row .num{font-size:1.9rem;font-weight:700;color:var(--accent);}
.ind-stat-row .label{color:var(--text-dim);font-size:0.8rem;margin-top:2px;}

/* ---- TOC ---- */
.ind-toc{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:18px 0;margin:36px 0 0;}
.ind-toc ol{display:flex;gap:26px;flex-wrap:wrap;list-style:none;color:var(--text-dim);font-size:0.85rem;}
.ind-toc a{color:var(--text-dim);}
.ind-toc a:hover{color:var(--accent);}

/* ---- icon badge ---- */
.ind-icon-badge{width:52px;height:52px;border-radius:14px;background:var(--accent-dim);
  display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:18px;}

/* ---- industries grid (hub page) ---- */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:980px){.ind-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.ind-grid{grid-template-columns:1fr;}}
.ind-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:26px;transition:transform .25s ease,border-color .25s ease;display:block;}
.ind-card:hover{transform:translateY(-4px);border-color:var(--accent);}
.ind-card h3{font-size:1.12rem;font-weight:700;margin:14px 0 10px;}
.ind-card-stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.ind-card-stats span{background:var(--accent-dim);color:var(--accent);font-size:0.72rem;font-weight:600;
  padding:4px 10px;border-radius:999px;}
.ind-card p{color:var(--text-dim);font-size:0.88rem;margin-bottom:14px;line-height:1.6;}
.ind-card ul{list-style:none;color:var(--text-dim);font-size:0.82rem;margin-bottom:16px;}
.ind-card ul li{padding-left:16px;position:relative;margin-bottom:6px;}
.ind-card ul li::before{content:'✓';position:absolute;left:0;color:var(--accent);}
.ind-card-link{color:var(--accent);font-weight:600;font-size:0.85rem;}

/* ---- why-section grid (hub page) ---- */
.ind-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px;}
@media(max-width:900px){.ind-why-grid{grid-template-columns:1fr;}}
.ind-why-item h3{font-size:1.05rem;margin-bottom:10px;}
.ind-why-item p{color:var(--text-dim);font-size:0.92rem;line-height:1.7;}

/* ---- ranking signal cards (hub page) ---- */
.ind-signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
@media(max-width:900px){.ind-signal-grid{grid-template-columns:1fr;}}
.ind-signal-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;}
.ind-signal-card h3{font-size:1.1rem;margin-bottom:12px;}
.ind-signal-card p{color:var(--text-dim);font-size:0.92rem;line-height:1.7;}

/* ---- stat box repeat (detail page) ---- */
.ind-stat-box-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0 44px;}
@media(max-width:640px){.ind-stat-box-grid{grid-template-columns:repeat(2,1fr);}}
.ind-stat-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;text-align:center;}
.ind-stat-box .num{font-size:1.6rem;font-weight:700;color:var(--accent);}
.ind-stat-box .label{color:var(--text-dim);font-size:0.78rem;margin-top:4px;}

/* ---- problem cards (detail page) ---- */
.ind-problem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:28px;}
@media(max-width:820px){.ind-problem-grid{grid-template-columns:1fr;}}
.ind-problem-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;}
.ind-problem-card h4{font-size:0.98rem;font-weight:700;margin-bottom:8px;}
.ind-problem-card p{color:var(--text-dim);font-size:0.88rem;line-height:1.65;}

/* ---- ranking factor blocks (detail page) ---- */
.ind-factor-block{margin-top:30px;}
.ind-factor-block h3{font-size:1.15rem;margin-bottom:10px;}
.ind-factor-block p{color:var(--text-dim);line-height:1.75;}

/* ---- service cards (detail page) ---- */
.ind-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;}
@media(max-width:900px){.ind-service-grid{grid-template-columns:1fr;}}
.ind-service-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;}
.ind-service-card .icon{font-size:1.4rem;margin-bottom:12px;display:block;}
.ind-service-card h4{font-size:0.96rem;font-weight:700;margin-bottom:8px;}
.ind-service-card p{color:var(--text-dim);font-size:0.85rem;line-height:1.6;}

/* ---- FAQ (reuses .faq-item/.faq-q/.faq-a, taller answers) ---- */
.ind-body .faq-a{max-height:0;}
.ind-body .faq-item.open .faq-a{max-height:320px;padding-bottom:22px;}

/* ---- related industries ---- */
.ind-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:820px){.ind-related-grid{grid-template-columns:1fr;}}
.ind-related-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:18px 20px;transition:border-color .2s;display:flex;align-items:center;gap:14px;}
.ind-related-card:hover{border-color:var(--accent);}
.ind-related-card .icon{font-size:1.4rem;}
.ind-related-card h4{font-size:0.92rem;}

/* ---- timeline table (hub page) ---- */
.ind-table-wrap{overflow-x:auto;margin-top:30px;}
.ind-table{width:100%;border-collapse:collapse;font-size:0.88rem;}
.ind-table th{text-align:left;color:var(--text-dim);font-weight:600;font-size:0.78rem;
  text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;border-bottom:1px solid var(--border);}
.ind-table td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text-dim);}
.ind-table td:first-child{color:var(--text);font-weight:600;}

/* ---- generic content body (detail page) ---- */
.ind-body h2{font-size:1.55rem;font-weight:700;letter-spacing:-0.01em;margin:48px 0 16px;}
.ind-body h2:first-child{margin-top:0;}
.ind-body p{color:var(--text-dim);line-height:1.8;margin-bottom:16px;}
.ind-body .lede-strong{color:var(--text);font-weight:500;}
