/*
Theme Name:   ITW Child
Theme URI:    https://itwdesignstudio.com.au
Description:  ITW Design Studio — Child theme for Divi
Author:       ITW Design Studio
Template:     Divi
Version:      1.0.0
*/

/*
  ============================================================
  HOW THIS FILE WORKS
  ============================================================
  Dynamic variables (--f-display, --f-body, --accent, --accent-dk)
  are output by functions.php based on Customizer settings.
  DO NOT redeclare them here.

  Static brand tokens that never need Customizer control live
  below. Edit here to change spacing, radii, greys, etc.
  ============================================================
*/

/* ── STATIC BRAND TOKENS ─────────────────────────────────── */
:root {

  /* Backgrounds */
  --bg:        #FFFFFF;
  --bg-2:      #F7F7F8;
  --bg-3:      #F0F0F3;

  /* Ink scale — --ink is controlled by Customizer (functions.php) */
  --ink-2:     #5A5A66;
  --ink-3:     #9898A6;
  --ink-inv:   #FFFFFF;

  /* Borders */
  --rule:      #E2E2E8;
  --rule-dk:   #C8C8D0;

  /* Border radii */
  --r:         4px;
  --r-lg:      10px;

  /* Layout */
  --gap:       clamp(4rem, 8vw, 9rem);
  --gutter:    clamp(1.25rem, 5vw, 5rem);

  /* Motion */
  --ease:      cubic-bezier(.16, 1, .3, 1);
  --dur:       0.35s;

  /* Type scale */
  --t-h2:      clamp(2rem, 3.5vw, 3.25rem);
  --t-h3:      clamp(1.25rem, 2vw, 1.625rem);
  --t-lead:    clamp(1rem, 1.4vw, 1.2rem);
  --t-body:    1rem;
  --t-sm:      0.875rem;
  --t-xs:      0.75rem;
}

/* ── GLOBAL RESETS (scoped to ITW sections) ──────────────── */
.itw3 *, .itw3 *::before, .itw3 *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.itw3 {
  font-family: var(--f-body);
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
.itw3 img  { display: block; max-width: 100%; }
.itw3 a    { color: inherit; text-decoration: none; }

/* ── LAYOUT HELPERS ──────────────────────────────────────── */
.itw3 .wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.itw3 section { padding: var(--gap) 0; }

/* ── TYPOGRAPHY UTILITIES ────────────────────────────────── */
.itw3 .eyebrow {
  font-family: var(--f-body);
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-3);
  display: flex;
  align-items: center;
  gap: 8px;
}
.itw3 .eyebrow::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--accent);
  flex-shrink: 0;
}
.itw3 .sec-head { margin-bottom: clamp(2.5rem, 4vw, 4rem); }
.itw3 .sec-head .eyebrow { margin-bottom: 1rem; }
.itw3 .sec-title {
  font-family: var(--f-display);
  font-size: var(--t-h2);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: var(--ink);
}
.itw3 .sec-sub {
  margin-top: 1rem;
  font-size: var(--t-lead);
  color: var(--ink-2);
  max-width: 52ch;
  line-height: 1.6;
}

/* ── SHARED BUTTONS ──────────────────────────────────────── */
.itw3 .btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--ink);
  color: var(--ink-inv);
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 500;
  padding: .8em 1.5em;
  border-radius: var(--r);
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.itw3 .btn-primary:hover { background: #1f1f28; transform: translateY(-1px); }

.itw3 .btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--t-sm);
  font-weight: 500;
  color: var(--ink-2);
  border-bottom: 1px solid var(--rule-dk);
  padding-bottom: 2px;
  transition: color var(--dur), border-color var(--dur);
}
.itw3 .btn-ghost:hover { color: var(--ink); border-color: var(--ink); }

.itw3 .btn-white {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 600;
  padding: .85em 1.75em;
  border-radius: var(--r);
  transition: background var(--dur), transform var(--dur) var(--ease);
}
.itw3 .btn-white:hover { background: #F0F0F4; transform: translateY(-1px); }

.itw3 .btn-outline-white {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: rgba(255,255,255,.7);
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 500;
  padding: .85em 1.75em;
  border-radius: var(--r);
  border: 1px solid rgba(255,255,255,.15);
  transition: border-color var(--dur), color var(--dur);
}
.itw3 .btn-outline-white:hover { border-color: rgba(255,255,255,.4); color: #fff; }

/* ── IMAGE PLACEHOLDER (remove once real images are added) ── */
.itw3 .ph {
  background: var(--bg-3);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  overflow: hidden;
}
.itw3 .ph::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 30%, rgba(224,92,58,.06) 0%, transparent 65%);
}
.itw3 .ph svg  { opacity: .3; position: relative; z-index: 1; }
.itw3 .ph span {
  font-size: var(--t-xs);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-3);
  position: relative;
  z-index: 1;
}

/* ── SERVICE TAGS (shared across pages) ─────────────────── */
.itw3 .svc-tag {
  font-size: .65rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-3);
  border: 1px solid var(--rule-dk);
  border-radius: 2px;
  padding: .25em .55em;
}

/* ── REDUCED MOTION ──────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .itw3 *, .itw3 *::before, .itw3 *::after {
    transition-duration: 0s !important;
    animation-duration: 0s !important;
  }
}

/* ══════════════════════════════════════════════════════════
   HOMEPAGE
   All section-specific CSS for homepage-v3 Code Modules.
   Global tokens/resets above; only page-unique rules here.
══════════════════════════════════════════════════════════ */

/* ── Type token (homepage-only) ─────────────────────────── */
:root {
  --t-hero: clamp(2.5rem, 5vw, 5.5rem);
}

/* ── 01 · HERO ───────────────────────────────────────────── */
.itw3 .hero {
  padding: clamp(3rem, 6vw, 5.5rem) 0 clamp(2.5rem, 4vw, 4rem);
  border-bottom: 1px solid var(--rule);
}
.itw3 .hero-inner { display: block; }
.itw3 .hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 2rem;
}
.itw3 .hero-tag::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
}
.itw3 .hero-h1 {
  font-family: var(--f-display);
  font-size: var(--t-hero);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.03em;
  color: var(--ink);
}
.itw3 .hero-h1 em { font-style: normal; color: var(--accent); }
.itw3 .hero-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 4vw, 5rem);
  align-items: end;
  margin-top: clamp(2rem, 3.5vw, 3rem);
  padding-top: clamp(1.5rem, 2.5vw, 2.5rem);
  border-top: 1px solid var(--rule);
}
.itw3 .hero-sub {
  font-size: var(--t-lead);
  color: var(--ink-2);
  line-height: 1.65;
  max-width: 46ch;
  margin-bottom: 1.5rem;
}
.itw3 .hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.itw3 .hero-stats {
  display: flex;
  align-items: center;
  gap: 0;
  justify-content: flex-end;
}
.itw3 .hero-stat {
  padding-left: 2rem;
  border-left: 1px solid var(--rule);
  text-align: left;
}
.itw3 .hero-stat:first-child { padding-left: 0; border-left: none; }
.itw3 .hero-stat-num {
  display: block;
  font-family: var(--f-display);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--ink);
  line-height: 1;
}
.itw3 .hero-stat-lbl {
  display: block;
  font-size: .7rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-top: .35rem;
}

/* ── 02 · TRUST STRIP ───────────────────────────────────── */
.itw3 .trust {
  padding: clamp(2.5rem, 4vw, 4rem) 0;
  border-bottom: 1px solid var(--rule);
}
.itw3 .trust-inner {
  display: flex;
  align-items: center;
  gap: clamp(2rem, 4vw, 4rem);
  flex-wrap: wrap;
}
.itw3 .trust-label {
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-3);
  white-space: nowrap;
  flex-shrink: 0;
}
.itw3 .trust-divider { width: 1px; height: 20px; background: var(--rule-dk); flex-shrink: 0; }
.itw3 .trust-logos {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3rem);
  flex-wrap: wrap;
}
.itw3 .trust-logo {
  font-family: var(--f-display);
  font-size: var(--t-sm);
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--ink-3);
  transition: color var(--dur);
}
.itw3 .trust-logo:hover { color: var(--ink-2); }

/* ── 03 · GROWTH FRAMEWORK ──────────────────────────────── */
.itw3 .framework { background: var(--bg); }
.itw3 .framework-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2.5rem, 4vw, 5rem);
  align-items: start;
}
.itw3 .framework-steps { display: flex; flex-direction: column; gap: 0; }
.itw3 .step {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 1.5rem;
  padding: 1.75rem 0;
  border-bottom: 1px solid var(--rule);
  transition: background var(--dur);
}
.itw3 .step:first-child { border-top: 1px solid var(--rule); }
.itw3 .step-num {
  font-family: var(--f-display);
  font-size: var(--t-xs);
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--ink-3);
  padding-top: 2px;
}
.itw3 .step-title {
  font-family: var(--f-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -.02em;
  margin-bottom: .4rem;
}
.itw3 .step-desc { font-size: var(--t-sm); color: var(--ink-2); line-height: 1.6; }
.itw3 .framework-aside { position: sticky; top: 6rem; }
.itw3 .framework-card {
  background: var(--ink);
  color: var(--ink-inv);
  border-radius: var(--r-lg);
  padding: clamp(2rem, 3vw, 3rem);
}
.itw3 .framework-card-eyebrow {
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin-bottom: 1.5rem;
}
.itw3 .framework-card-quote {
  font-family: var(--f-display);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.03em;
  margin-bottom: 2rem;
}
.itw3 .framework-card-quote strong { color: var(--accent); font-weight: 700; }
.itw3 .framework-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255,255,255,.1);
  border-radius: var(--r);
  overflow: hidden;
}
.itw3 .framework-metric { background: rgba(255,255,255,.04); padding: 1.25rem 1rem; }
.itw3 .framework-metric-val {
  display: block;
  font-family: var(--f-display);
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--ink-inv);
}
.itw3 .framework-metric-lbl {
  display: block;
  font-size: .68rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin-top: .25rem;
}

/* ── 04 · WHAT WE DO ────────────────────────────────────── */
.itw3 .services { border-top: 1px solid var(--rule); }
.itw3 .services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-top: clamp(2.5rem, 4vw, 4rem);
}
.itw3 .svc {
  background: var(--bg);
  padding: clamp(1.75rem, 2.5vw, 2.5rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: background var(--dur);
}
.itw3 .svc:hover { background: var(--bg-2); }
.itw3 .svc-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--r);
  background: var(--bg-3);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rule);
}
.itw3 .svc-icon svg { color: var(--accent); }
.itw3 .svc-name {
  font-family: var(--f-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.25;
}
.itw3 .svc-desc { font-size: var(--t-sm); color: var(--ink-2); line-height: 1.6; }
.itw3 .svc-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: auto; padding-top: .5rem; }

/* ── 05 · WHY ITW ───────────────────────────────────────── */
.itw3 .why { border-top: 1px solid var(--rule); background: var(--bg-2); }
.itw3 .why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 5vw, 6rem);
  align-items: center;
}
.itw3 .why-img { width: 100%; aspect-ratio: 4/5; border-radius: var(--r-lg); position: relative; }
.itw3 .why-badge {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: var(--r);
  padding: 1rem 1.25rem;
  min-width: 160px;
}
.itw3 .why-badge-num {
  font-family: var(--f-display);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--accent);
  line-height: 1;
}
.itw3 .why-badge-lbl {
  font-size: var(--t-xs);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-top: .3rem;
}
.itw3 .why-points { display: flex; flex-direction: column; gap: 1.5rem; margin-top: 2.5rem; }
.itw3 .why-point { display: flex; gap: 1rem; align-items: flex-start; }
.itw3 .why-point-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  flex-shrink: 0;
  margin-top: .55rem;
}
.itw3 .why-point-title {
  font-family: var(--f-display);
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: -.01em;
  margin-bottom: .25rem;
}
.itw3 .why-point-desc { font-size: var(--t-sm); color: var(--ink-2); line-height: 1.6; }

/* ── 06 · CASE STUDIES ──────────────────────────────────── */
.itw3 .cases { border-top: 1px solid var(--rule); }
.itw3 .cases-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: clamp(2.5rem, 4vw, 4rem);
  flex-wrap: wrap;
  gap: 1.5rem;
}
.itw3 .cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.itw3 .case-card {
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.itw3 .case-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,.07); }
.itw3 .case-img { width: 100%; aspect-ratio: 16/9; }
.itw3 .case-body { padding: 1.5rem; }
.itw3 .case-sector {
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: .6rem;
}
.itw3 .case-title {
  font-family: var(--f-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -.02em;
  margin-bottom: .5rem;
  line-height: 1.3;
}
.itw3 .case-desc { font-size: var(--t-sm); color: var(--ink-2); line-height: 1.6; margin-bottom: 1rem; }
.itw3 .case-metrics {
  display: flex;
  gap: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--rule);
}
.itw3 .case-metric-val {
  font-family: var(--f-display);
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: -.03em;
  color: var(--ink);
}
.itw3 .case-metric-lbl {
  font-size: .65rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-top: .15rem;
}

/* ── 07 · INDUSTRIES ────────────────────────────────────── */
.itw3 .industries { border-top: 1px solid var(--rule); }
.itw3 .industries-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-top: clamp(2.5rem, 4vw, 4rem);
}
.itw3 .ind {
  background: var(--bg);
  padding: 1.5rem;
  display: flex;
  align-items: flex-start;
  gap: .875rem;
  transition: background var(--dur);
}
.itw3 .ind:hover { background: var(--bg-2); }
.itw3 .ind-svg { flex-shrink: 0; color: var(--accent); margin-top: 2px; }
.itw3 .ind-name {
  font-family: var(--f-display);
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: -.01em;
  margin-bottom: .3rem;
}
.itw3 .ind-desc { font-size: .75rem; color: var(--ink-3); line-height: 1.5; }

/* ── 08 · FOUNDER ───────────────────────────────────────── */
.itw3 .founder { border-top: 1px solid var(--rule); }
.itw3 .founder-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 5vw, 6rem);
  align-items: start;
}
.itw3 .founder-blockquote {
  font-family: var(--f-display);
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.03em;
  color: var(--ink);
  margin: 2rem 0 2.5rem;
  padding-left: 1.25rem;
  border-left: 2px solid var(--accent);
}
.itw3 .founder-sig { display: flex; align-items: center; gap: 1rem; }
.itw3 .founder-photo {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 1px solid var(--rule-dk);
}
.itw3 .founder-photo .ph { width: 52px; height: 52px; border-radius: 50%; }
.itw3 .founder-name {
  font-family: var(--f-display);
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: -.02em;
}
.itw3 .founder-role { font-size: var(--t-xs); color: var(--ink-3); letter-spacing: .04em; margin-top: .2rem; }
.itw3 .founder-principles {
  background: var(--bg-2);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.itw3 .founder-principles-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--rule);
  font-family: var(--f-display);
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--ink-2);
}
.itw3 .principle {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--rule);
}
.itw3 .principle:last-child { border-bottom: none; }
.itw3 .principle-num {
  font-family: var(--f-display);
  font-size: var(--t-xs);
  font-weight: 700;
  color: var(--accent);
  flex-shrink: 0;
  padding-top: 2px;
}
.itw3 .principle-text { font-size: var(--t-sm); color: var(--ink-2); line-height: 1.55; }
.itw3 .principle-text strong {
  display: block;
  font-family: var(--f-display);
  font-size: .9rem;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -.01em;
  margin-bottom: .2rem;
}

/* ── 09 · TESTIMONIALS ──────────────────────────────────── */
.itw3 .testimonials { border-top: 1px solid var(--rule); background: var(--bg-2); }
.itw3 .testi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: clamp(2.5rem, 4vw, 4rem);
}
.itw3 .testi-card {
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.itw3 .testi-stars { color: var(--accent); font-size: 1rem; letter-spacing: 2px; }
.itw3 .testi-quote {
  font-family: var(--f-display);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: -.01em;
  color: var(--ink);
  flex-grow: 1;
}
.itw3 .testi-author { display: flex; align-items: center; gap: .75rem; }
.itw3 .testi-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--bg-3);
  border: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: var(--f-display);
  font-size: .75rem;
  font-weight: 700;
  color: var(--ink-2);
}
.itw3 .testi-name { font-family: var(--f-display); font-size: .875rem; font-weight: 600; letter-spacing: -.01em; }
.itw3 .testi-co { font-size: var(--t-xs); color: var(--ink-3); margin-top: .15rem; }

/* ── 10 · FINAL CTA ─────────────────────────────────────── */
.itw3 .cta {
  background: var(--ink);
  color: var(--ink-inv);
  padding: clamp(5rem, 9vw, 10rem) 0;
  position: relative;
  overflow: hidden;
}
.itw3 .cta::before {
  content: '';
  position: absolute;
  top: -30%;
  right: -10%;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(224,92,58,.15) 0%, transparent 65%);
  pointer-events: none;
}
.itw3 .cta-inner { text-align: center; position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }
.itw3 .cta-eyebrow {
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin-bottom: 1.5rem;
}
.itw3 .cta-h2 {
  font-family: var(--f-display);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.04em;
  margin-bottom: 1.5rem;
}
.itw3 .cta-h2 span { color: var(--accent); }
.itw3 .cta-sub {
  font-size: var(--t-lead);
  color: rgba(255,255,255,.6);
  line-height: 1.6;
  max-width: 48ch;
  margin: 0 auto 2.5rem;
}
.itw3 .cta-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; }
.itw3 .cta-note { margin-top: 2rem; font-size: var(--t-xs); color: rgba(255,255,255,.3); letter-spacing: .04em; }

/* ── HOMEPAGE RESPONSIVE ────────────────────────────────── */
@media (max-width: 1024px) {
  .itw3 .services-grid    { grid-template-columns: repeat(2, 1fr); }
  .itw3 .industries-grid  { grid-template-columns: repeat(2, 1fr); }
  .itw3 .cases-grid       { grid-template-columns: repeat(2, 1fr); }
  .itw3 .cases-grid .case-card:nth-child(3) { display: none; }
}
@media (max-width: 768px) {
  .itw3 .hero-body         { grid-template-columns: 1fr; }
  .itw3 .hero-stats        { justify-content: flex-start; gap: 1.5rem; margin-top: 1.5rem; grid-template-columns: 1fr 1fr; }
  .itw3 .hero-stat         { border-left: none; padding-left: 0; border-top: 1px solid var(--rule); padding-top: 1rem; }
  .itw3 .hero-stat:first-child { border-top: none; padding-top: 0; }
  .itw3 .framework-grid    { grid-template-columns: 1fr; }
  .itw3 .framework-aside   { position: static; }
  .itw3 .services-grid     { grid-template-columns: 1fr; }
  .itw3 .why-grid          { grid-template-columns: 1fr; }
  .itw3 .cases-grid        { grid-template-columns: 1fr; }
  .itw3 .cases-grid .case-card:nth-child(3) { display: block; }
  .itw3 .industries-grid   { grid-template-columns: 1fr 1fr; }
  .itw3 .founder-grid      { grid-template-columns: 1fr; }
  .itw3 .testi-grid        { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .itw3 .industries-grid   { grid-template-columns: 1fr; }
  .itw3 .trust-inner       { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .itw3 .trust-divider     { display: none; }
}
