/**
 * Page Templates - shared design system
 * File: assets/css/page-templates.css
 *
 * Used by every industry template (.indp-*) and technology template (.dtech-*).
 * Both prefixes are styled together so the two page types stay visually
 * identical without duplicating rules.
 *
 * ── TO CHANGE TYPE SIZES SITEWIDE ──
 * Edit the --pg-fs-* variables in the TYPE SCALE block below. Nothing else
 * needs touching, and no template files need re-uploading.
 *
 * @package Devansh_Starter
 * @version 1.0.0
 */

/* ════════════════════════════════════════════════════════════
   TOKENS
   ════════════════════════════════════════════════════════════ */
.indp, .dtech {
  /* Colour */
  --lime: #d4f161;
  --lime-d: #99bc12;
  --lime-dd: #7a9600;
  --ink: #0a0a0a;
  --soft: #f5f5f2;
  --line: #e8e8e4;

  /* ── TYPE SCALE — the only block you need to edit ── */
  --pg-fs-h1-min: 2rem;      /* hero headline, small screens */
  --pg-fs-h1-max: 3.1rem;    /* hero headline, large screens */
  --pg-fs-h2-min: 1.5rem;    /* section headings, small screens */
  --pg-fs-h2-max: 2.2rem;    /* section headings, large screens */
  --pg-fs-h3: 1.32rem;       /* deep-dive subheadings */
  --pg-fs-sub: 1.18rem;      /* hero subheading */
  --pg-fs-body: 1.15rem;     /* main prose */
  --pg-fs-lede: 1.15rem;     /* section intro lines */
  --pg-fs-answer: 1.14rem;   /* quick answer box */
  --pg-fs-card-h: 1.18rem;   /* card headings */
  --pg-fs-card: 1.02rem;     /* card body */
  --pg-fs-faq-q: 1.14rem;    /* FAQ questions */
  --pg-fs-faq-a: 1.07rem;    /* FAQ answers */
  --pg-fs-table: 1.02rem;    /* table cells */
  --pg-fs-list: 1.07rem;     /* checklists, takeaways, signals */
  --pg-fs-step-h: 1.15rem;   /* process step headings */
  --pg-fs-step: 1.04rem;     /* process step body */
  --pg-fs-term: 1.14rem;     /* glossary terms */
  --pg-fs-def: 1.06rem;      /* glossary definitions */
  --pg-fs-pill: 0.95rem;     /* pills */
  --pg-fs-btn: 0.99rem;      /* buttons */
  --pg-fs-small: 0.92rem;    /* byline, captions, crumbs */
  --pg-fs-label: 0.78rem;    /* uppercase micro-labels */
  --pg-fs-toc: 1rem;         /* table of contents */

  /* Fonts */
  --pg-display: 'Titillium Web', sans-serif;
  --pg-body: 'Source Sans 3', sans-serif;
}

.indp *, .dtech * { box-sizing: border-box; }

/* ════════════════════════════════════════════════════════════
   SECTION SHELL
   ════════════════════════════════════════════════════════════ */
.indp__sec, .dtech__sec { padding: 84px 24px; background: #fff; }
.indp__sec--soft, .dtech__sec--soft { background: var(--soft); }
.indp__inner, .dtech__inner { max-width: 1250px; margin: 0 auto; }
.indp__head, .dtech__head { text-align: center; margin-bottom: 52px; }

.indp__tag, .dtech__tag {
  display: inline-block;
  background: rgba(153,188,18,0.1);
  color: var(--lime-dd);
  border: 1px solid rgba(153,188,18,0.25);
  border-radius: 999px;
  font-size: var(--pg-fs-label);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 15px;
  margin-bottom: 14px;
}

.indp__h2, .dtech__h2 {
  font-family: var(--pg-display);
  font-size: clamp(var(--pg-fs-h2-min), 3.5vw, var(--pg-fs-h2-max));
  font-weight: 700;
  color: #111;
  margin: 0 0 14px;
  line-height: 1.25;
}

.indp__h3, .dtech__h3 {
  font-family: var(--pg-display);
  font-size: var(--pg-fs-h3);
  font-weight: 700;
  color: #111;
  margin: 30px 0 12px;
  line-height: 1.3;
}
.indp__h3--first, .dtech__h3--first { margin-top: 0; }

.indp__lede, .dtech__lede {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-lede);
  color: #555;
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.65;
}
.indp__lede a, .dtech__lede a { color: var(--lime-dd) !important; font-weight: 600; }

/* ════════════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════════════ */
.indp__hero, .dtech__hero {
  background: linear-gradient(135deg, #0c0c0c 0%, #1a1a17 60%, #242420 100%);
  padding: 96px 24px 84px;
  position: relative;
  overflow: hidden;
}
.indp__hero::before, .dtech__hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(#d4f16120 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.indp__hero-inner, .dtech__hero-inner {
  max-width: 880px; margin: 0 auto; position: relative; z-index: 1; text-align: center;
}
.indp__crumbs, .dtech__crumbs {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-small);
  color: rgba(255,255,255,0.45);
  margin-bottom: 20px;
}
.indp__crumbs a, .dtech__crumbs a { color: rgba(255,255,255,0.6) !important; text-decoration: none !important; }
.indp__crumbs a:hover, .dtech__crumbs a:hover { color: var(--lime) !important; }

.indp__eyebrow, .dtech__eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(212,241,97,0.12);
  border: 1px solid rgba(212,241,97,0.3);
  border-radius: 999px;
  padding: 6px 15px;
  font-size: var(--pg-fs-label);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lime);
  margin-bottom: 22px;
}
.indp__eyebrow::before, .dtech__eyebrow::before { content: '\25CF'; font-size: 0.5em; }

.indp__h1, .dtech__h1 {
  font-family: var(--pg-display);
  font-size: clamp(var(--pg-fs-h1-min), 5vw, var(--pg-fs-h1-max));
  font-weight: 700;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 20px;
  letter-spacing: -0.02em;
}
.indp__h1 span, .dtech__h1 span { color: var(--lime); }

.indp__sub, .dtech__sub {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-sub);
  color: rgba(255,255,255,0.7);
  max-width: 680px;
  margin: 0 auto 32px;
  line-height: 1.65;
}

.indp__hero-meta, .dtech__hero-meta {
  display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
  font-family: var(--pg-body);
  font-size: var(--pg-fs-small);
  color: rgba(255,255,255,0.55);
}
.indp__hero-meta strong, .dtech__hero-meta strong { color: #fff; }
.indp__dot, .dtech__dot { color: rgba(255,255,255,0.25); }

/* ════════════════════════════════════════════════════════════
   BUTTONS
   ════════════════════════════════════════════════════════════ */
.indp__ctas, .dtech__ctas {
  display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 34px;
}
.indp__btn, .dtech__btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 30px;
  border-radius: 8px;
  font-family: var(--pg-display);
  font-size: var(--pg-fs-btn);
  font-weight: 700;
  text-decoration: none !important;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.2s;
}
.indp__btn--primary, .dtech__btn--primary {
  background: var(--lime) !important;
  color: var(--ink) !important;
  border: 2px solid var(--lime-d);
  box-shadow: 0 4px 0 var(--lime-d), 0 8px 24px rgba(212,241,97,0.3);
}
.indp__btn--primary:hover, .dtech__btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 0 var(--lime-d), 0 12px 28px rgba(212,241,97,0.38);
}
.indp__btn--primary:active, .dtech__btn--primary:active {
  transform: translateY(4px);
  box-shadow: 0 0 0 var(--lime-d), 0 4px 12px rgba(212,241,97,0.25);
}
.indp__btn--ghost, .dtech__btn--ghost {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.3);
}
.indp__btn--ghost:hover, .dtech__btn--ghost:hover { background: rgba(255,255,255,0.08) !important; }
.indp__btn:focus-visible, .dtech__btn:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }

/* ════════════════════════════════════════════════════════════
   STATS STRIP
   ════════════════════════════════════════════════════════════ */
.indp__stats { background: var(--soft); border-bottom: 1px solid var(--line); }
.indp__stats-inner { max-width: 1250px; margin: 0 auto; padding: 0 24px; display: flex; justify-content: center; }
.indp__stat { flex: 1; max-width: 220px; text-align: center; padding: 28px 16px; border-right: 1px solid var(--line); }
.indp__stat:last-child { border-right: none; }
.indp__stat-n { font-family: var(--pg-display); font-size: 2rem; font-weight: 800; color: var(--lime-dd); line-height: 1; margin-bottom: 4px; }
.indp__stat-l { font-family: var(--pg-body); font-size: var(--pg-fs-label); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: #666; }

/* ════════════════════════════════════════════════════════════
   BYLINE / TOC / QUICK ANSWER / TAKEAWAYS
   ════════════════════════════════════════════════════════════ */
.indp__byline, .dtech__byline {
  max-width: 780px; margin: 0 auto 32px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--pg-body);
  font-size: var(--pg-fs-small);
  color: #777;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.indp__byline strong, .dtech__byline strong { color: #111; font-weight: 700; }
.indp__byline a, .dtech__byline a { color: var(--lime-dd) !important; font-weight: 600; text-decoration: none !important; }

.indp__toc, .dtech__toc {
  max-width: 780px; margin: 0 auto 40px;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px 28px;
}
.indp__toc h2, .dtech__toc h2 {
  font-family: var(--pg-display);
  font-size: var(--pg-fs-label);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--lime-dd);
  margin: 0 0 14px;
}
.indp__toc ol, .dtech__toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; }
.indp__toc li, .dtech__toc li { font-family: var(--pg-body); font-size: var(--pg-fs-toc); margin-bottom: 9px; break-inside: avoid; }
.indp__toc a, .dtech__toc a { color: #444 !important; text-decoration: none !important; }
.indp__toc a:hover, .dtech__toc a:hover { color: var(--lime-dd) !important; text-decoration: underline !important; }

.indp__answer, .dtech__answer {
  max-width: 780px; margin: 0 auto 36px;
  background: var(--ink);
  border-radius: 14px;
  padding: 30px 34px;
}
.indp__answer h2, .dtech__answer h2 {
  font-family: var(--pg-display);
  font-size: var(--pg-fs-card-h);
  font-weight: 700;
  color: var(--lime);
  margin: 0 0 12px;
}
.indp__answer p, .dtech__answer p {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-answer);
  color: rgba(255,255,255,0.84);
  line-height: 1.7;
  margin: 0;
}

.indp__takeaways, .dtech__takeaways {
  max-width: 780px; margin: 0 auto 40px;
  border-left: 4px solid var(--lime-d);
  background: rgba(212,241,97,0.09);
  border-radius: 0 12px 12px 0;
  padding: 26px 30px;
}
.indp__takeaways h2, .dtech__takeaways h2 {
  font-family: var(--pg-display);
  font-size: var(--pg-fs-card-h);
  font-weight: 700;
  color: #111;
  margin: 0 0 14px;
}
.indp__takeaways ul, .dtech__takeaways ul { margin: 0; padding-left: 20px; }
.indp__takeaways li, .dtech__takeaways li {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-list);
  color: #444;
  line-height: 1.65;
  margin-bottom: 10px;
}
.indp__takeaways li:last-child, .dtech__takeaways li:last-child { margin-bottom: 0; }

/* ════════════════════════════════════════════════════════════
   PROSE
   ════════════════════════════════════════════════════════════ */
.indp__prose, .dtech__prose {
  max-width: 780px; margin: 0 auto;
  font-family: var(--pg-body);
  font-size: var(--pg-fs-body);
  color: #444;
  line-height: 1.75;
}
.indp__prose p, .dtech__prose p { margin: 0 0 20px; }
.indp__prose a, .dtech__prose a {
  color: var(--lime-dd) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.indp__prose a:hover, .dtech__prose a:hover { color: var(--lime-d) !important; }
.indp__prose strong, .dtech__prose strong { color: #111; }

.indp__figure, .dtech__figure { max-width: 900px; margin: 0 auto 40px; }
.indp__figure img, .dtech__figure img {
  width: 100%; height: auto;
  border-radius: 12px;
  border: 1px solid var(--line);
  display: block;
}
.indp__figure figcaption, .dtech__figure figcaption {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-small);
  color: #888;
  text-align: center;
  margin-top: 12px;
  line-height: 1.5;
}

/* ════════════════════════════════════════════════════════════
   CARDS
   ════════════════════════════════════════════════════════════ */
.indp__grid, .dtech__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 22px;
}
.indp__card, .dtech__card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 28px 26px;
}
.indp__card h3, .dtech__card h3 {
  font-family: var(--pg-display);
  font-size: var(--pg-fs-card-h);
  font-weight: 700;
  color: #111;
  margin: 0 0 10px;
  line-height: 1.3;
}
.indp__card p, .dtech__card p {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-card);
  color: #666;
  line-height: 1.6;
  margin: 0;
}
.indp__card a, .dtech__card a { color: var(--lime-dd) !important; font-weight: 600; }
.indp__card--pain { border-left: 3px solid var(--lime-d); }

/* ════════════════════════════════════════════════════════════
   QUALIFICATION COLUMNS
   ════════════════════════════════════════════════════════════ */
.indp__qual, .dtech__qual {
  max-width: 900px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 22px;
}
.indp__qual-col, .dtech__qual-col {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 28px 26px;
  background: #fff;
}
.indp__qual-col h3, .dtech__qual-col h3 {
  font-family: var(--pg-display);
  font-size: var(--pg-fs-card-h);
  font-weight: 700;
  color: #111;
  margin: 0 0 14px;
}
.indp__qual-col ul, .dtech__qual-col ul { margin: 0; padding-left: 20px; }
.indp__qual-col li, .dtech__qual-col li {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-list);
  color: #555;
  line-height: 1.6;
  margin-bottom: 10px;
}
.indp__qual-col--no { border-left: 3px solid #b04a4a; }
.indp__qual-col--yes { border-left: 3px solid var(--lime-d); }

/* ════════════════════════════════════════════════════════════
   CHECKLIST + SIGNALS
   ════════════════════════════════════════════════════════════ */
.indp__check, .dtech__check,
.indp__signals, .dtech__signals {
  max-width: 820px; margin: 0 auto; list-style: none; padding: 0;
}
.indp__check li, .dtech__check li,
.indp__signals li, .dtech__signals li {
  position: relative;
  padding: 15px 0 15px 40px;
  border-bottom: 1px solid var(--line);
  font-family: var(--pg-body);
  font-size: var(--pg-fs-list);
  color: #444;
  line-height: 1.6;
}
.indp__check li:last-child, .dtech__check li:last-child,
.indp__signals li:last-child, .dtech__signals li:last-child { border-bottom: none; }
.indp__check li::before, .dtech__check li::before,
.indp__signals li::before, .dtech__signals li::before {
  position: absolute; left: 0; top: 14px;
  width: 25px; height: 25px;
  border-radius: 6px;
  background: rgba(153,188,18,0.14);
  color: var(--lime-dd);
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  font-size: var(--pg-fs-small);
}
.indp__check li::before, .dtech__check li::before { content: '\2713'; }
.indp__signals li::before, .dtech__signals li::before { content: '\2192'; }

/* ════════════════════════════════════════════════════════════
   PROCESS STEPS
   ════════════════════════════════════════════════════════════ */
.indp__steps, .dtech__steps { max-width: 860px; margin: 0 auto; }
.indp__step, .dtech__step {
  display: flex; gap: 22px;
  padding: 26px 0;
  border-bottom: 1px solid var(--line);
}
.indp__step:last-child, .dtech__step:last-child { border-bottom: none; }
.indp__step-n, .dtech__step-n {
  flex-shrink: 0; width: 44px; height: 44px;
  border-radius: 10px;
  background: rgba(153,188,18,0.12);
  color: var(--lime-dd);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--pg-display);
  font-weight: 800;
  font-size: var(--pg-fs-card);
}
.indp__step h3, .dtech__step h3 {
  font-family: var(--pg-display);
  font-size: var(--pg-fs-step-h);
  font-weight: 700;
  color: #111;
  margin: 6px 0 8px;
}
.indp__step p, .dtech__step p {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-step);
  color: #666;
  line-height: 1.65;
  margin: 0;
}
.indp__step a, .dtech__step a { color: var(--lime-dd) !important; font-weight: 600; }

/* ════════════════════════════════════════════════════════════
   TABLES
   ════════════════════════════════════════════════════════════ */
.indp__tablewrap, .dtech__tablewrap {
  max-width: 900px; margin: 0 auto;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.indp__table, .dtech__table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--pg-body);
  font-size: var(--pg-fs-table);
  min-width: 620px;
}
.indp__table th, .indp__table td,
.dtech__table th, .dtech__table td {
  padding: 16px 18px; text-align: left; border-bottom: 1px solid var(--line);
}
.indp__table thead th, .dtech__table thead th {
  background: var(--soft);
  font-family: var(--pg-display);
  font-weight: 700;
  color: #111;
  font-size: var(--pg-fs-label);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.indp__table tbody tr:last-child td, .dtech__table tbody tr:last-child td { border-bottom: none; }
.indp__table td:first-child, .dtech__table td:first-child { font-weight: 600; color: #111; }
.indp__yes, .dtech__yes { color: var(--lime-dd); font-weight: 700; }
.indp__no, .dtech__no { color: #b04a4a; font-weight: 600; }

/* ════════════════════════════════════════════════════════════
   GLOSSARY
   ════════════════════════════════════════════════════════════ */
.indp__gloss, .dtech__gloss { max-width: 820px; margin: 0 auto; }
.indp__gloss-item, .dtech__gloss-item { padding: 21px 0; border-bottom: 1px solid var(--line); }
.indp__gloss-item:last-child, .dtech__gloss-item:last-child { border-bottom: none; }
.indp__gloss-item dt, .dtech__gloss-item dt {
  font-family: var(--pg-display);
  font-size: var(--pg-fs-term);
  font-weight: 700;
  color: #111;
  margin-bottom: 7px;
}
.indp__gloss-item dd, .dtech__gloss-item dd {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-def);
  color: #555;
  line-height: 1.7;
  margin: 0;
}

/* ════════════════════════════════════════════════════════════
   PILLS
   ════════════════════════════════════════════════════════════ */
.indp__pills, .dtech__pills {
  display: flex; flex-wrap: wrap; gap: 9px; justify-content: center;
  max-width: 900px; margin: 0 auto;
}
.indp__pill, .dtech__pill {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 10px 19px;
  font-family: var(--pg-body);
  font-size: var(--pg-fs-pill);
  font-weight: 600;
  color: #444;
  text-decoration: none !important;
  transition: all 0.15s ease;
}
.indp__pill:hover, .dtech__pill:hover {
  border-color: var(--lime-d);
  background: rgba(212,241,97,0.14);
  color: var(--lime-dd) !important;
}
.indp__pill:focus-visible, .dtech__pill:focus-visible { outline: 2px solid var(--lime-d); outline-offset: 2px; }

/* ════════════════════════════════════════════════════════════
   CALLOUT
   ════════════════════════════════════════════════════════════ */
.indp__callout, .dtech__callout {
  max-width: 860px; margin: 0 auto;
  background: var(--ink);
  border-radius: 14px;
  padding: 38px 34px;
  text-align: center;
}
.indp__callout h3, .dtech__callout h3 {
  font-family: var(--pg-display);
  font-size: var(--pg-fs-h3);
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px;
}
.indp__callout p, .dtech__callout p {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-list);
  color: rgba(255,255,255,0.68);
  margin: 0 0 24px;
  line-height: 1.6;
}

/* ════════════════════════════════════════════════════════════
   FAQ
   ════════════════════════════════════════════════════════════ */
.indp__faq, .dtech__faq { max-width: 820px; margin: 0 auto; }
.indp__faq-item, .dtech__faq-item { border-bottom: 1px solid var(--line); }
.indp__faq-item summary, .dtech__faq-item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  cursor: pointer;
  list-style: none;
  padding: 21px 0;
  font-family: var(--pg-display);
  font-size: var(--pg-fs-faq-q);
  font-weight: 700;
  color: #111;
  line-height: 1.4;
}
.indp__faq-item summary::-webkit-details-marker,
.dtech__faq-item summary::-webkit-details-marker { display: none; }
.indp__faq-item summary::after, .dtech__faq-item summary::after {
  content: '+';
  flex-shrink: 0;
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--lime-dd);
  line-height: 1;
  transition: transform 0.2s ease;
}
.indp__faq-item[open] summary::after, .dtech__faq-item[open] summary::after { transform: rotate(45deg); }
.indp__faq-item summary:focus-visible, .dtech__faq-item summary:focus-visible {
  outline: 2px solid var(--lime-d); outline-offset: 2px;
}
.indp__faq-a, .dtech__faq-a {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-faq-a);
  color: #555;
  line-height: 1.75;
  padding: 0 0 22px;
  max-width: 92%;
}

/* ════════════════════════════════════════════════════════════
   DISCLAIMER
   ════════════════════════════════════════════════════════════ */
.indp__disclaim, .dtech__disclaim {
  max-width: 820px; margin: 40px auto 0;
  font-family: var(--pg-body);
  font-size: var(--pg-fs-small);
  color: #888;
  line-height: 1.65;
  border-top: 1px solid var(--line);
  padding-top: 20px;
}

/* ════════════════════════════════════════════════════════════
   FINAL CTA
   ════════════════════════════════════════════════════════════ */
.indp__final, .dtech__final {
  background: linear-gradient(135deg, #0c0c0c 0%, #1a1a17 100%);
  padding: 84px 24px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.indp__final::before, .dtech__final::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(#d4f16115 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.indp__final-inner, .dtech__final-inner {
  max-width: 680px; margin: 0 auto; position: relative; z-index: 1;
}
.indp__final h2, .dtech__final h2 {
  font-family: var(--pg-display);
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 16px;
  line-height: 1.25;
}
.indp__final h2 span, .dtech__final h2 span { color: var(--lime); }
.indp__final p, .dtech__final p {
  font-family: var(--pg-body);
  font-size: var(--pg-fs-lede);
  color: rgba(255,255,255,0.65);
  margin: 0 0 32px;
  line-height: 1.6;
}
.indp__final-trust, .dtech__final-trust {
  display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
  margin-top: 28px;
  font-family: var(--pg-body);
  font-size: var(--pg-fs-small);
  color: rgba(255,255,255,0.55);
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .indp, .dtech { --pg-fs-body: 1.1rem; --pg-fs-lede: 1.1rem; }
}
@media (max-width: 900px) {
  .indp__sec, .dtech__sec { padding: 60px 20px; }
  .indp__hero, .dtech__hero { padding: 72px 20px 64px; }
  .indp__stats-inner { flex-wrap: wrap; }
  .indp__stat { min-width: 50%; max-width: 50%; border-right: none; border-bottom: 1px solid var(--line); }
  .indp__stat:nth-child(odd) { border-right: 1px solid var(--line); }
  .indp__stat:nth-last-child(-n+2) { border-bottom: none; }
}
@media (max-width: 720px) {
  .indp__qual, .dtech__qual { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .indp__toc ol, .dtech__toc ol { columns: 1; }
}
@media (max-width: 560px) {
  .indp, .dtech { --pg-fs-body: 1.08rem; --pg-fs-lede: 1.08rem; --pg-fs-faq-q: 1.08rem; }
  .indp__stat { min-width: 100%; max-width: 100%; border-right: none !important; }
  .indp__stat:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
  .indp__stat:last-child { border-bottom: none; }
  .indp__step, .dtech__step { gap: 14px; }
  .indp__callout, .dtech__callout,
  .indp__answer, .dtech__answer { padding: 26px 22px; }
  .indp__takeaways, .dtech__takeaways { padding: 22px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .indp__btn--primary:hover, .dtech__btn--primary:hover { transform: none; }
}
