/* ─── RESET & BASE ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --orange: #F08501;
  --orange-dark: #d4740a;
  --orange-light: #fff4e6;
  --blue: #1a3c6e;
  --blue-light: #e8eef7;
  --white: #ffffff;
  --grey-bg: #f5f7fa;
  --grey-border: #e0e0e0;
  --text-body: #555;
  --text-muted: #888;
  --text-dark: #333;
  --font-body: 'Open Sans', sans-serif;
  --font-head: 'Roboto', sans-serif;
  --max-w: 1240px;
  --radius: 4px;
  --shadow-sm: 0 1px 4px rgba(0,0,0,0.08);
  --shadow-md: 0 3px 12px rgba(0,0,0,0.1);
  --transition: 0.2s ease;
}

html { scroll-behavior: smooth; font-size: 14px; }

body {
  font-family: var(--font-body);
  color: var(--text-body);
  background: var(--white);
  line-height: 1.7;
}

a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--orange); }
img { max-width: 100%; }

.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 20px;
  padding-top: 32px;
  padding-bottom: 40px;
}

/* ═══════════════════════════════════════════════
   SVG ICON SYSTEM
   Usage: <span class="icon icon-{name}"></span>
   Size controlled by width/height on .icon,
   color controlled by background on .icon (mask).
   ═══════════════════════════════════════════════ */

.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  vertical-align: -0.125em;
  flex-shrink: 0;
}

/* globe */
.icon-globe {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E");
}

/* globe-americas (same globe, acceptable alias) */
.icon-globe-americas {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h4l2 3 2-6 3 6 2-3h5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h4l2 3 2-6 3 6 2-3h5'/%3E%3C/svg%3E");
}

/* phone */
.icon-phone {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.5 12.18 19.79 19.79 0 0 1 1.08 3.5 2 2 0 0 1 3.07 1.33h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.09 9.17a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 21.28 16z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.5 12.18 19.79 19.79 0 0 1 1.08 3.5 2 2 0 0 1 3.07 1.33h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.09 9.17a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 21.28 16z'/%3E%3C/svg%3E");
}

/* envelope */
.icon-envelope {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
}

/* book-open */
.icon-book-open {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
}

/* book */
.icon-book {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
}

/* bookmark */
.icon-bookmark {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}

/* search */
.icon-search {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
}

/* search-dollar */
.icon-search-dollar {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3Cpath d='M11 8v6M9 9.5h3a1 1 0 0 1 0 2H9a1 1 0 0 0 0 2h3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3Cpath d='M11 8v6M9 9.5h3a1 1 0 0 1 0 2H9a1 1 0 0 0 0 2h3'/%3E%3C/svg%3E");
}

/* exchange-alt (arrows left-right) */
.icon-exchange-alt {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16V4m0 0L3 8m4-4 4 4'/%3E%3Cpath d='M17 8v12m0 0 4-4m-4 4-4-4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16V4m0 0L3 8m4-4 4 4'/%3E%3Cpath d='M17 8v12m0 0 4-4m-4 4-4-4'/%3E%3C/svg%3E");
}

/* balance-scale */
.icon-balance-scale {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M3 9l4 8H3M21 9l-4 8h4M3 17h4M17 17h4M8 3h8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M3 9l4 8H3M21 9l-4 8h4M3 17h4M17 17h4M8 3h8'/%3E%3C/svg%3E");
}

/* shield-alt */
.icon-shield-alt {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
}

/* file-signature */
.icon-file-signature {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 19.5v.5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8.5L18 5.5'/%3E%3Cpath d='M15 2v4h4'/%3E%3Cpath d='M13.4 15.6 15 14l3 3-1.6 1.6a2 2 0 1 1-2.8-2.8z'/%3E%3Cpath d='m9 18 1.4-1.4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 19.5v.5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8.5L18 5.5'/%3E%3Cpath d='M15 2v4h4'/%3E%3Cpath d='M13.4 15.6 15 14l3 3-1.6 1.6a2 2 0 1 1-2.8-2.8z'/%3E%3Cpath d='m9 18 1.4-1.4'/%3E%3C/svg%3E");
}

/* chart-line */
.icon-chart-line {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m19 9-5 5-4-4-3 3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m19 9-5 5-4-4-3 3'/%3E%3C/svg%3E");
}

/* chart-bar */
.icon-chart-bar {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Crect x='7' y='10' width='3' height='8'/%3E%3Crect x='12' y='6' width='3' height='12'/%3E%3Crect x='17' y='13' width='3' height='5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Crect x='7' y='10' width='3' height='8'/%3E%3Crect x='12' y='6' width='3' height='12'/%3E%3Crect x='17' y='13' width='3' height='5'/%3E%3C/svg%3E");
}

/* project-diagram (network nodes) */
.icon-project-diagram {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='6' r='2'/%3E%3Ccircle cx='19' cy='6' r='2'/%3E%3Ccircle cx='12' cy='18' r='2'/%3E%3Cpath d='M5 8v2a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8'/%3E%3Cpath d='M12 12v4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='6' r='2'/%3E%3Ccircle cx='19' cy='6' r='2'/%3E%3Ccircle cx='12' cy='18' r='2'/%3E%3Cpath d='M5 8v2a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8'/%3E%3Cpath d='M12 12v4'/%3E%3C/svg%3E");
}

/* clock */
.icon-clock {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
}

/* industry (factory) */
.icon-industry {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 20V8l6-4v4l6-4v16H2z'/%3E%3Cpath d='M14 20V10l6-4v14'/%3E%3Cpath d='M2 20h20'/%3E%3Crect x='5' y='14' width='2' height='3'/%3E%3Crect x='9' y='14' width='2' height='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 20V8l6-4v4l6-4v16H2z'/%3E%3Cpath d='M14 20V10l6-4v14'/%3E%3Cpath d='M2 20h20'/%3E%3Crect x='5' y='14' width='2' height='3'/%3E%3Crect x='9' y='14' width='2' height='3'/%3E%3C/svg%3E");
}

/* file-alt */
.icon-file-alt {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z'/%3E%3Cpath d='M15 2v5h5'/%3E%3Cpath d='M10 12h4M10 16h4M10 8h1'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z'/%3E%3Cpath d='M15 2v5h5'/%3E%3Cpath d='M10 12h4M10 16h4M10 8h1'/%3E%3C/svg%3E");
}

/* table */
.icon-table {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M3 15h18M9 3v18M15 3v18'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M3 15h18M9 3v18M15 3v18'/%3E%3C/svg%3E");
}

/* lightbulb */
.icon-lightbulb {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6M10 22h4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6M10 22h4'/%3E%3C/svg%3E");
}

/* info-circle */
.icon-info-circle {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");
}

/* check-circle */
.icon-check-circle {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

/* question-circle */
.icon-question-circle {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}

/* bell */
.icon-bell {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");
}

/* download */
.icon-download {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E");
}

/* arrow-right */
.icon-arrow-right {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
}

/* paper-plane */
.icon-paper-plane {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E");
}

/* lock */
.icon-lock {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

/* list */
.icon-list {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E");
}

/* chevron-down */
.icon-chevron-down {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

/* linkedin */
.icon-linkedin {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z'/%3E%3Crect x='2' y='9' width='4' height='12'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z'/%3E%3Crect x='2' y='9' width='4' height='12'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E");
}

/* twitter */
.icon-twitter {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z'/%3E%3C/svg%3E");
}

/* facebook */
.icon-facebook {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
}


/* ─── LAYOUT ─── */
.page-layout {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  padding: 0;
}
.main-content { flex: 1; min-width: 0; }
.sidebar {
  width: 240px;
  flex-shrink: 0;
  position: sticky;
  top: 76px;
}

/* ─── BUTTONS ─── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: var(--radius);
  font-size: 13px;
  font-weight: 600;
  font-family: var(--font-body);
  cursor: pointer;
  transition: var(--transition);
  border: 1px solid transparent;
  line-height: 1;
}
.btn-primary { background: var(--orange); color: white; border-color: var(--orange); }
.btn-primary:hover { background: var(--orange-dark); border-color: var(--orange-dark); color: white; }
.btn-secondary { background: white; color: var(--orange); border-color: var(--orange); }
.btn-secondary:hover { background: var(--orange); color: white; }
.btn-outline { background: white; color: var(--blue); border-color: var(--grey-border); }
.btn-outline:hover { border-color: var(--orange); color: var(--orange); }
.btn-lg { padding: 11px 24px; font-size: 14px; }

/* ─── TOC SIDEBAR ─── */
.toc-box {
  background: var(--white);
  border: 1px solid var(--grey-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.toc-header {
  background: var(--blue);
  color: white;
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.toc-list { list-style: none; padding: 8px 0; }
.toc-list li a {
  display: block;
  padding: 7px 16px;
  font-size: 12px;
  color: var(--text-body);
  border-left: 3px solid transparent;
  transition: var(--transition);
}
.toc-list li a:hover,
.toc-list li a.active {
  color: var(--orange);
  border-left-color: var(--orange);
  background: var(--orange-light);
}
.toc-cta {
  margin-top: 16px;
  background: var(--orange-light);
  border: 1px solid #f0c070;
  border-radius: var(--radius);
  padding: 16px;
}
.toc-cta h4 { font-family: var(--font-head); font-size: 13px; font-weight: 700; color: var(--blue); margin-bottom: 8px; display: flex;gap: 8px; }
.toc-cta p { font-size: 12px; color: var(--text-muted); margin-bottom: 12px; }
.toc-cta .btn { width: 100%; justify-content: center; font-size: 12px; }
.toc-cta .toc-read svg{transform: rotate(90deg);stroke: var(--orange)}
.toc-cta .toc-browse svg{stroke: var(--orange)}

/* ─── SECTION STYLES ─── */
section {padding: 36px 20px;}
.section-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--orange);
  margin-bottom: 10px;
}
.section-heading {
  font-family: var(--font-head);
  font-size: 22px;
  font-weight: 700;
  color: var(--blue);
  margin-bottom: 8px;
  padding-left: 14px;
  border-left: 4px solid var(--orange);
}
.section-sub {
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 24px;
  padding-left: 18px;
}

/* ─── HERO ─── */
.hero {
  background: var(--grey-bg);
  border-bottom: 1px solid var(--grey-border);
  padding: 36px 0 28px;
}
.hero::before, .hero::after{display: none;}
.hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--orange-light);
  border: 1px solid #f0c070;
  color: var(--orange);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 4px 12px;
  border-radius: 2px;
  margin-bottom: 14px;
}
.hero h1 {
  font-family: var(--font-head);
  font-size: 30px;
  font-weight: 900;
  color: var(--blue);
  line-height: 1.25;
  margin-bottom: 12px;
  max-width: 680px;
}
.hero-desc {
  font-size: 15px;
  color: var(--text-body);
  max-width: 620px;
  margin-bottom: 22px;
  line-height: 1.7;
}
.hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 28px; }
.hero-ctas a.btn-secondary svg{transform: rotate(90deg)}

.stats-bar {
  display: flex;
  gap: 0;
  border: 1px solid var(--grey-border);
  border-radius: var(--radius);
  background: white;
  overflow: hidden;
  flex-wrap: wrap;
}
.stat-item {
  flex: 1;
  padding: 14px 20px;
  border-right: 1px solid var(--grey-border);
  min-width: 140px;
}
.stat-item:last-child { border-right: none; }
.stat-num {
  font-family: var(--font-head);
  font-size: 22px;
  font-weight: 900;
  color: var(--orange);
  display: block;
  line-height: 1;
}
.stat-label { font-size: 11px; color: var(--text-muted); margin-top: 3px; display: block; }
.hero .hero-tag svg{fill: var(--orange);stroke: var(--white);stroke-width: 0.9px;}

/* ─── DEFINITION BLOCK ─── */
.def-card {
  border: 1px solid var(--grey-border);
  border-left: 4px solid var(--orange);
  border-radius: var(--radius);
  background: white;
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: var(--shadow-sm);
}
.full-form-row { display: flex; gap: 8px; margin-bottom: 18px; flex-wrap: wrap; }
.letter-box { display: flex; flex-direction: column; align-items: center; min-width: 56px; }
.letter {
  width: 48px;
  height: 48px;
  background: var(--blue);
  color: var(--orange);
  font-family: var(--font-head);
  font-size: 22px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  margin-bottom: 4px;
}
.letter--full{width: 80px;font-size: 18px;border-radius: 3px;}
.letter-word {
  font-size: 10px;
  color: var(--text-muted);
  text-align: center;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.def-text {
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-dark);
  font-style: italic;
  border-top: 1px solid var(--grey-border);
  padding-top: 16px;
  margin-bottom: 14px;
}
.tag-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.tag-pill {
  background: var(--grey-bg);
  border: 1px solid var(--grey-border);
  color: var(--blue);
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
}

/* ─── CARDS GRID ─── */
.cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.card {
  background: white;
  border: 1px solid var(--grey-border);
  border-radius: var(--radius);
  padding: 20px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.4s ease, transform 0.4s ease, border-color 0.2s ease;
}
.card.visible { opacity: 1; transform: translateY(0); }
.card:hover { border-color: var(--orange); box-shadow: var(--shadow-sm); }
.card-icon {
  width: 40px;
  height: 40px;
  background: var(--orange);
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 16px;
  margin-bottom: 12px;
  flex-shrink: 0;
}
/* Icon inside card-icon needs white color override */
.card-icon .icon { background-color: white; }
.card h3 { font-family: var(--font-head); font-size: 14px; font-weight: 700; color: var(--blue); margin-bottom: 8px; }
.card p { font-size: 13px; color: var(--text-body); line-height: 1.65; }

/* ─── PROCESS STEPS ─── */
.process-steps { display: flex; flex-direction: column; gap: 0; position: relative; }
.process-steps::before {
  content: '';
  position: absolute;
  left: 19px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--orange), var(--blue-light));
  z-index: 0;
}
.step {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 0 0 20px 0;
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.step.visible { opacity: 1; transform: translateX(0); }
.step-num {
  width: 40px;
  height: 40px;
  background: var(--orange);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 900;
  font-size: 16px;
  flex-shrink: 0;
  border: 3px solid white;
  box-shadow: 0 0 0 2px var(--orange);
}
.step-body {
  background: white;
  border: 1px solid var(--grey-border);
  border-radius: var(--radius);
  padding: 16px 20px;
  flex: 1;
}
.step-body:hover { border-color: var(--orange); }
.step-phase {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--orange);
  margin-bottom: 4px;
}
.step-body h3 { font-family: var(--font-head); font-size: 14px; font-weight: 700; color: var(--blue); margin-bottom: 6px; }
.step-body p { font-size: 13px; color: var(--text-body); }
.step-duration {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 8px;
  border: 1px solid var(--grey-border);
  border-radius: 20px;
  padding: 2px 8px;
}
.step-duration svg.rfp-icon {fill: var(--text-muted);stroke: var(--white);width: 15px;}

/* ─── ACCORDION ─── */
.rfp-accordion { border: 1px solid var(--grey-border); border-radius: var(--radius);}
.acc-item { border-bottom: 1px solid var(--grey-border); }
.acc-item:last-child { border-bottom: none; }
.acc-trigger {
  width: 100%;
  background: white;
  border: none;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  text-align: left;
  transition: background var(--transition);
  font-family: var(--font-body);
}
.acc-trigger:hover { background: var(--grey-bg); }
.acc-trigger.open { background: var(--orange-light); border-left: 3px solid var(--orange); }
.acc-num {
  width: 28px;
  height: 28px;
  background: var(--blue);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.acc-trigger.open .acc-num { background: var(--orange); }
.acc-title { flex: 1; font-size: 14px; font-weight: 600; color: var(--blue); }
.acc-icon {
  font-size: 12px;
  color: var(--text-muted);
  transition: transform var(--transition);
  width: 16px;
  height: 16px;
}
.acc-trigger.open .acc-icon { transform: rotate(180deg); }
.acc-body { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; background: var(--grey-bg); }
/* .acc-body.open {overflow: hidden;} */
.acc-body-inner { padding: 16px 20px 16px 62px; font-size: 13px; color: var(--text-body); line-height: 1.7; }
.acc-body-inner ul { margin-top: 8px; padding-left: 16px; }
.acc-body-inner li { margin-bottom: 4px; }

/* ─── COMPARISON TABLE ─── */
.table-wrap { overflow-x: auto; border: 1px solid var(--grey-border); border-radius: var(--radius); }
table { width: 100%; border-collapse: collapse; min-width: 600px; }
thead tr { background: var(--blue); }
thead th {
  color: white;
  font-family: var(--font-head);
  font-size: 13px;
  font-weight: 700;
  padding: 12px 16px;
  text-align: left;
  white-space: nowrap;
}
tbody tr:nth-child(even) { background: var(--grey-bg); }
tbody tr:hover { background: var(--orange-light); }
tbody td { padding: 11px 16px; font-size: 13px; color: var(--text-body); border-bottom: 1px solid var(--grey-border); }
.feature-col { font-weight: 600; color: var(--text-dark); background: #f0f3f8 !important; width: 200px; }
.badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 3px;
  text-transform: uppercase;
}
.badge-rfp { background: #fff0e0; color: var(--orange); border: 1px solid #f0c070; }
.badge-rfq { background: var(--blue-light); color: var(--blue); border: 1px solid #b0c4de; }
.badge-tender { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.check { color: #2e7d32; display: inline-flex; align-items: center; gap: 4px; }
.cross { color: #c62828; display: inline-flex; align-items: center; gap: 4px; }
.check .icon { background-color: #2e7d32; }
.cross .icon { background-color: #c62828; }

/* ─── INDUSTRY CARDS ─── */
.industry-card {
  background: white;
  border: 1px solid var(--grey-border);
  border-radius: var(--radius);
  padding: 20px;
  transition: border-color var(--transition);
}
.industry-card:hover { border-color: var(--orange); box-shadow: var(--shadow-sm); }
.industry-emoji { font-size: 28px; margin-bottom: 10px; display: block; }
.industry-card h3 { font-family: var(--font-head); font-size: 14px; font-weight: 700; color: var(--blue); margin-bottom: 6px; }
.industry-card p { font-size: 12px; color: var(--text-body); margin-bottom: 10px; }
.ind-tag {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--orange);
  background: var(--orange-light);
  border: 1px solid #f0c070;
  padding: 2px 8px;
  border-radius: 20px;
}

/* ─── SAMPLE DOC / TEMPLATE ─── */
.doc-card { background: white; border: 1px solid var(--grey-border); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.doc-header { background: var(--blue); color: white; padding: 14px 20px; display: flex; align-items: center; gap: 10px; }
.doc-header h3 { font-family: var(--font-head); font-size: 15px; font-weight: 700; }
.doc-header small { font-size: 11px; opacity: 0.7; margin-top: 2px; display: block; }
.doc-body { padding: 20px; }
.doc-section { margin-bottom: 20px; }
.doc-section-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.doc-badge {
  width: 26px;
  height: 26px;
  background: var(--orange);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.doc-section-head h4 { font-family: var(--font-head); font-size: 13px; font-weight: 700; color: var(--blue); }
.doc-field {
  background: var(--grey-bg);
  border: 1px solid var(--grey-border);
  border-radius: 2px;
  padding: 10px 14px;
  font-size: 12px;
  font-family: 'Courier New', monospace;
  color: var(--text-muted);
  margin-bottom: 6px;
  line-height: 1.6;
}
.doc-footer { padding: 16px 20px; border-top: 1px solid var(--grey-border); display: flex; gap: 10px; flex-wrap: wrap; }

/* ─── STATS & BENEFITS ─── */
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.stat-card {
  background: white;
  border: 1px solid var(--grey-border);
  border-top: 3px solid var(--orange);
  border-radius: var(--radius);
  padding: 20px 16px;
  text-align: center;
}
.stat-card .big-num {
  font-family: var(--font-head);
  font-size: 28px;
  font-weight: 900;
  color: var(--orange);
  display: block;
  line-height: 1;
  margin-bottom: 4px;
}
.stat-card .stat-desc { font-size: 12px; color: var(--text-muted); }

.checklist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; list-style: none; }
.checklist li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: var(--text-body);
  padding: 8px 12px;
  background: white;
  border: 1px solid var(--grey-border);
  border-radius: var(--radius);
}
.checklist li svg{fill: var(--green);stroke: var(--white)}

/* ---- RFP vs RFQ ---- */
#rfp-vs-rfq p.muted-note, #rfq-vs-rfp p.muted-note{display:flex;gap:8px;}
#rfp-vs-rfq p.muted-note svg, #rfq-vs-rfp p.muted-note svg{fill: var(--text-muted);stroke: var(--white)}

/* ─── CTA BANNER ─── */
.cta-banner { background: var(--blue); padding: 40px 0; }
.cta-banner .container { text-align: center; }
.cta-banner h2 { font-family: var(--font-head); font-size: 24px; font-weight: 700; color: white; margin-bottom: 10px; }
.cta-banner p { color: #adc4e0; font-size: 14px; margin-bottom: 24px; }
.cta-banner .btn-secondary { background: transparent; color: white; border-color: rgba(255,255,255,0.4); }
.cta-banner .btn-secondary:hover { background: white; color: var(--blue); }
.cta-banner .btn-secondary svg{fill: var(--white)}
.cta-banner .btn-secondary:hover svg{fill: var(--blue)}

/* ─── FAQ ─── */
.faq-list { display: flex; flex-direction: column; gap: 8px; }
.faq-item { background: white; border: 1px solid var(--grey-border); border-radius: var(--radius); overflow: hidden; }
.faq-q {
  width: 100%;
  background: none;
  border: none;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-body);
  transition: background var(--transition);
}
.faq-q:hover { background: var(--grey-bg); }
.faq-q.open { background: var(--orange-light); }
.faq-badge {
  width: 26px;
  height: 26px;
  background: var(--orange);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}
.faq-text { flex: 1; font-size: 14px; font-weight: 600; color: var(--blue); }
.faq-icon {
  margin-top: 4px;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  transition: transform var(--transition);
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: -0.125em;
  flex-shrink: 0;
}
.faq-q.open .faq-icon { transform: rotate(180deg);}
.faq-a { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.faq-a.open { max-height: 400px; }
.faq-a-inner { padding: 14px 18px 14px 56px; font-size: 13px; color: var(--text-body); line-height: 1.7; border-top: 1px solid var(--grey-border); }
#faq .section-label svg{fill: var(--orange);stroke: var(--white)}
/* ─── RELATED TERMS ─── */
.terms-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.term-card {
  background: white;
  border: 1px solid var(--grey-border);
  border-radius: var(--radius);
  padding: 16px 18px;
  transition: border-color var(--transition), background var(--transition);
  cursor: default;
}
.term-card:hover { border-color: var(--orange); background: var(--orange-light); }
.term-abbr { font-family: var(--font-head); font-size: 22px; font-weight: 900; color: var(--orange); display: block; margin-bottom: 2px; }
.term-full { font-size: 12px; font-weight: 700; color: var(--blue); display: block; margin-bottom: 4px; }
.term-hint { font-size: 11px; color: var(--text-muted); }

/* ─── SUBSCRIBE ─── */
.subscribe-box {
  background: var(--grey-bg);
  border: 1px solid var(--grey-border);
  border-radius: var(--radius);
  padding: 28px;
  text-align: center;
}
.subscribe-box h3 { font-family: var(--font-head); font-size: 18px; font-weight: 700; color: var(--blue); margin-bottom: 6px; display: flex; align-items: center;justify-content: center;gap: 10px; }
.subscribe-box h3 svg {width: 18px; fill: var(--brand); stroke: var(--brand);}
.subscribe-box p { font-size: 13px; color: var(--text-muted); margin-bottom: 16px; }
.subscribe-box p svg {width: 13px;}
.subscribe-box p svg rect { fill: var(--text-muted); }
.subscribe-form { display: flex; gap: 10px; max-width: 440px; margin: 0 auto 10px; flex-wrap: wrap; }
.subscribe-form input {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid var(--grey-border);
  border-radius: var(--radius);
  font-family: var(--font-body);
  font-size: 13px;
  outline: none;
  min-width: 200px;
}
.subscribe-form input:focus { border-color: var(--orange); }
.subscribe-form .btn { flex-shrink: 0; }
.privacy-note { font-size: 11px; color: var(--text-muted); }

/* SVG */
svg {width: 20px;}
svg.rfp-icon.icon-alert {fill: var(--orange);stroke: var(--white)}
svg.rfp-icon.icon-alert path {stroke: var(--white);}
.info-card .info-card-heading svg {fill: var(--orange);stroke: var(--white);}

/* Info Card */
.info-card{background:white; border:1px solid var(--grey-border); border-radius:var(--radius); padding:20px; margin-top:16px;}
.info-card .info-card-heading{font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--blue);margin-bottom:12px;display: flex;gap: 8px;}
.info-card .info-text{font-size:13px;color:var(--text-body);margin-bottom:12px;}
.info-card .info-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.info-card .info-list li{display:flex;gap:8px;align-items:flex-start;font-size:13px;}


/* ─── MOBILE STICKY CTA ─── */
.mobile-cta-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  border-top: 1px solid var(--grey-border);
  padding: 10px 16px;
  z-index: 999;
  gap: 10px;
  box-shadow: 0 -2px 8px rgba(0,0,0,0.08);
}
.mobile-cta-bar .btn { flex: 1; justify-content: center; }

/* ─── SECTION BG UTILITIES ─── */
.bg-grey { background: var(--grey-bg); }
.bg-white { background: white; }

/* ─── RESPONSIVE ─── */
@media (max-width: 1024px) {
  .sidebar { display: none; }
  .page-layout { flex-direction: column; }
  .cards-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .hero h1 { font-size: 22px; }
  .cards-grid { grid-template-columns: 1fr; }
  .terms-grid { grid-template-columns: repeat(2, 1fr); }
  .checklist { grid-template-columns: 1fr; }
  .mobile-cta-bar { display: flex; }
  body { padding-bottom: 60px; }
  .stat-item { min-width: 120px; }
}

@media (max-width: 480px) {
  .terms-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-ctas { flex-direction: column; }
}

/* ─── EMAIL TEMPLATE ─── */
  .email-card { background: white; border: 1px solid var(--grey-border); border-radius: var(--radius); overflow: hidden; }
  .email-header { background: var(--grey-bg); border-bottom: 1px solid var(--grey-border); padding: 12px 20px; display: flex; align-items: center; gap: 10px; }
  .email-header span { font-size: 12px; color: var(--text-muted); }
  .email-header strong { color: var(--blue); }
  .email-body { padding: 20px; font-size: 13px; color: var(--text-dark); line-height: 1.8; font-family: 'Courier New', monospace; background: white; }
  .email-placeholder { color: var(--orange); font-weight: 600; }
  .email-footer { padding: 12px 20px; border-top: 1px solid var(--grey-border); display: flex; gap: 10px; }