/* ═══════════════════════════════════════════════════════════════════
   İstanbul Yazılım Kursu — isc-*
   Coderspace V3 design language (space/exploration theme)
   Purple: #7B35E2 · Mint: #80F8DE · Sky: #AFEAFF · Lilac: #EDE7F6
   Headings: Host Grotesk · Body: Inter
   Everything is scoped under .isc-page so the legacy purpose.css
   cascade cannot leak into the landing (and vice versa).
   ═══════════════════════════════════════════════════════════════════ */

.isc-page {
  --purple-100: #E0D1FB;
  --purple-200: #C2A6F7;
  --purple-300: #A67DF1;
  --purple-400: #8C57E9;
  --purple-500: #7B35E2;
  --purple-600: #661FCC;
  --purple-700: #4C10A9;

  --pro-500: #0049FD;
  --pro-700: #0037B3;

  --mint-100: #ECFFFA;
  --mint-200: #D1FFF5;
  --mint-400: #80F8DE;
  --mint-800: #178C7B;
  --sky-200: #DDF6FF;
  --sky-400: #AFEAFF;
  --sky-900: #235779;
  --lilac-200: #F3F0FA;
  --lilac-300: #EDE7F6;
  --pink-400: #D9B3FF;
  --green-600: #039855;

  --text-primary: #0D0C12;
  --text-secondary: #505060;
  --text-tertiary: #78788B;
  --surface-card: #FFFFFF;
  --surface-muted: #F7F7FA;
  --surface-space: #0A0712;
  --border-subtle: #E8E8F0;

  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-2xl: 24px;
  --radius-pill: 999px;

  --shadow-card: 0 8px 24px rgba(14, 63, 126, 0.06);
  --shadow-raised: 0 10px 28px rgba(14, 63, 126, 0.07);
  --shadow-table: 0 12px 32px rgba(14, 63, 126, 0.07);

  --font-display: 'Host Grotesk', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'Fira Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);

  --gutter: clamp(20px, 4vw, 40px);
  /* Bands run edge to edge; only their content stays on the 1440 grid. */
  --band-inline: max(var(--gutter), calc((100% - 1440px) / 2 + var(--gutter)));
  --section-y: clamp(56px, 8vw, 88px);

  font-family: var(--font-body);
  color: var(--text-primary);
  background: #fff;
  overflow-x: hidden;
}

html { scroll-behavior: smooth; }

.isc-page * { box-sizing: border-box; }
.isc-page a { color: inherit; text-decoration: none; }
.isc-page a:hover { text-decoration: none; }
.isc-page h1,
.isc-page h2,
.isc-page h3 { font-family: var(--font-display); font-weight: 500; margin: 0; }
.isc-page p { margin: 0; }
.isc-page ul { margin: 0; padding: 0; list-style: none; }
.isc-page img { display: block; max-width: 100%; }

.isc-shell { width: 100%; }
.isc-section { padding: var(--section-y) var(--band-inline); }

/* ── SPACE BACKGROUND ────────────────────────────────────────────── */
.isc-bg-galaxy {
  background-color: var(--surface-space);
  background-image:
    radial-gradient(120% 80% at 80% 60%, rgba(45, 115, 255, 0.30) 0%, rgba(45, 115, 255, 0) 55%),
    radial-gradient(120% 90% at 30% 110%, rgba(140, 87, 233, 0.65) 0%, rgba(123, 53, 226, 0) 60%),
    radial-gradient(90% 70% at 50% 120%, rgba(175, 234, 255, 0.20) 0%, rgba(175, 234, 255, 0) 50%);
  color: #fff;
}
.isc-stars {
  position: absolute; inset: 0; opacity: 0.5; pointer-events: none;
  background-image:
    radial-gradient(1px 1px at 20px 30px, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(1px 1px at 90px 70px, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1px 1px at 160px 40px, rgba(217, 179, 255, 0.5), transparent),
    radial-gradient(1px 1px at 130px 120px, rgba(255, 255, 255, 0.35), transparent),
    radial-gradient(1.5px 1.5px at 50px 160px, rgba(255, 255, 255, 0.5), transparent);
  background-size: 200px 200px;
}
.isc-bg-lilac {
  background-color: var(--lilac-300);
  background-image:
    radial-gradient(80% 80% at 20% 0%, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 60%),
    radial-gradient(70% 70% at 100% 100%, rgba(190, 142, 255, 0.25) 0%, rgba(190, 142, 255, 0) 60%);
}

/* ── SHARED PRIMITIVES ───────────────────────────────────────────── */
.isc-eyebrow {
  display: inline-flex; align-self: flex-start;
  padding: 6px 16px; border-radius: var(--radius-pill);
  background: var(--lilac-200); border: 1px solid rgba(123, 53, 226, 0.16);
  font-size: 13px; font-weight: 500; color: var(--purple-700);
}
.isc-bg-lilac .isc-eyebrow { background: #fff; }

.isc-head { display: flex; flex-direction: column; gap: 12px; margin-bottom: 36px; max-width: 68ch; }
.isc-head--center { align-items: center; text-align: center; margin: 0 auto 44px; }
.isc-head--center .isc-eyebrow { align-self: center; }
.isc-head h2 { font-size: clamp(28px, 4vw, 40px); line-height: 1.2; }
.isc-head p { font-size: 18px; line-height: 28px; color: var(--text-secondary); }

/* The `.isc-page a { color: inherit }` reset above outranks a bare single-class
   selector, so every link colour below is written as `.isc-page .isc-*` to win. */
.isc-page .isc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 16px 32px; border-radius: var(--radius-pill);
  font-family: var(--font-display); font-size: 17px; font-weight: 500;
  line-height: 1.4; white-space: nowrap; border: none; cursor: pointer;
  transition: transform .18s var(--ease-standard), background .18s var(--ease-standard),
              border-color .18s var(--ease-standard);
}
.isc-page .isc-btn:hover { transform: translateY(-2px); }
.isc-page .isc-btn--primary { background: var(--purple-500); color: #fff; box-shadow: 0 4px 20px -4px rgba(123, 53, 226, 0.45); }
.isc-page .isc-btn--primary:hover { background: var(--purple-600); color: #fff; }
.isc-page .isc-btn--ghost { background: transparent; border: 1px solid rgba(255, 255, 255, 0.34); color: #fff; }
.isc-page .isc-btn--ghost:hover { background: rgba(255, 255, 255, 0.10); border-color: rgba(255, 255, 255, 0.55); color: #fff; }
.isc-page .isc-btn--white { background: #fff; color: var(--surface-space); }
.isc-page .isc-btn--white:hover { color: var(--purple-600); }
.isc-page .isc-btn--sm { padding: 12px 20px; font-size: 15px; gap: 6px; }

.isc-page .isc-textlink { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; color: var(--purple-600); }
.isc-page .isc-textlink:hover { color: var(--purple-700); }

/* ── HERO ────────────────────────────────────────────────────────── */
.isc-hero { position: relative; overflow: hidden; padding: 64px var(--band-inline) 72px; }
.isc-hero-grid {
  position: relative;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: clamp(32px, 4vw, 56px); align-items: center;
}
.isc-hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.isc-hero h1 {
  font-size: clamp(34px, 5vw, 56px); line-height: 1.14; letter-spacing: -0.02em;
  color: #fff; max-width: 22ch;
}
.isc-hero-tagline {
  margin-top: -12px; max-width: 22ch;
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(26px, 3.6vw, 42px); line-height: 1.14; letter-spacing: -0.02em;
  color: var(--purple-200);
}
.isc-hero-desc { font-size: 19px; line-height: 30px; color: rgba(255, 255, 255, 0.82); max-width: 60ch; }
.isc-hero-ctas { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
.isc-hero-art { display: flex; justify-content: center; }
.isc-hero-art img {
  width: 100%; max-width: 360px; height: auto;
  filter: drop-shadow(0 24px 60px rgba(123, 53, 226, 0.55));
}

.isc-proof { display: flex; align-items: center; gap: 12px; }
.isc-proof-avatars { display: flex; align-items: center; padding-left: 10px; }
.isc-proof-avatar {
  width: 34px; height: 34px; margin-left: -10px; border-radius: var(--radius-pill);
  border: 2px solid var(--surface-space);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px; color: #23074D;
}
.isc-proof-avatar--purple { background: var(--purple-400); }
.isc-proof-avatar--sky { background: var(--sky-400); }
.isc-proof-avatar--mint { background: var(--mint-400); }
.isc-proof-avatar--pink { background: var(--pink-400); }
.isc-proof-text { font-size: 15px; line-height: 22px; color: rgba(255, 255, 255, 0.82); }
.isc-proof-text strong { color: #fff; }

/* ── BREADCRUMB ──────────────────────────────────────────────────── */
.isc-breadcrumb {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  padding: 12px var(--band-inline); background: var(--surface-space);
  font-size: 13px; color: rgba(255, 255, 255, 0.55);
}
.isc-breadcrumb a { color: rgba(255, 255, 255, 0.6); }
.isc-breadcrumb a:hover { color: #fff; }
.isc-breadcrumb span[aria-current] { color: rgba(255, 255, 255, 0.9); }

/* ── STATS ───────────────────────────────────────────────────────── */
.isc-stats { padding: clamp(48px, 6vw, 72px) var(--band-inline); background: var(--surface-muted); }
.isc-stats-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 32px 16px;
}
.isc-stat { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.isc-stat b {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(28px, 3.4vw, 40px); line-height: 1.1; letter-spacing: -0.02em;
  color: var(--purple-600);
}
.isc-stat span { font-size: 15px; line-height: 22px; color: var(--text-secondary); }

/* ── COMPARISON TABLE ────────────────────────────────────────────── */
.isc-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.isc-table {
  display: grid; grid-template-columns: 0.8fr 1fr 1fr;
  min-width: min(620px, 100%);
  border-radius: var(--radius-2xl); overflow: hidden;
  border: 1px solid var(--border-subtle); box-shadow: var(--shadow-table); background: #fff;
}
.isc-table > div { padding: 18px 20px; font-size: 16px; line-height: 24px; }
.isc-table-th { font-weight: 600; background: var(--surface-muted); color: var(--text-secondary); }
.isc-table-th--own { background: var(--purple-100); color: var(--purple-700); }
.isc-table-key { font-weight: 500; border-top: 1px solid var(--border-subtle); }
.isc-table-other { color: var(--text-secondary); border-top: 1px solid var(--border-subtle); }
.isc-table-own { border-top: 1px solid var(--border-subtle); background: rgba(123, 53, 226, 0.04); }
.isc-table-own span { display: flex; gap: 8px; }
.isc-table-own i { color: var(--green-600); flex: none; }
/* ── PROSE + LINK PILLS ──────────────────────────────────────────── */
.isc-prose { margin-top: 24px; display: flex; flex-direction: column; gap: 16px; max-width: 82ch; }
.isc-prose p { font-size: 17px; line-height: 28px; color: var(--text-secondary); }
.isc-page .isc-prose a { color: var(--purple-600); text-decoration: underline; }
.isc-page .isc-prose a:hover { color: var(--purple-700); }

.isc-pill-links { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.isc-page .isc-pill-links a {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 16px; border-radius: var(--radius-pill);
  background: var(--lilac-300); color: var(--purple-700);
  font-size: 14.5px; font-weight: 500; text-decoration: none;
  transition: transform .18s var(--ease-standard), background .18s var(--ease-standard);
}
.isc-page .isc-pill-links a:hover { transform: translateY(-2px); background: var(--purple-100); color: var(--purple-700); }

/* ── PROGRAM GROUPS ──────────────────────────────────────────────── */
.isc-programs { padding: clamp(40px, 6vw, 56px) var(--band-inline) var(--section-y); }
.isc-group-head {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 16px; margin-bottom: 20px;
}
.isc-group-head + .isc-group-head,
.isc-cards + .isc-group-head,
.isc-card + .isc-group-head { margin-top: 56px; }
.isc-group-head-left { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.isc-group-icon {
  flex: none; width: 40px; height: 40px; border-radius: var(--radius-md); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-size: 20px;
}
.isc-group-icon--pro { background: var(--pro-500); }
.isc-group-icon--school { background: var(--purple-500); }
.isc-group-title { font-family: var(--font-display); font-size: clamp(20px, 2.6vw, 24px); }
.isc-group-sub { font-size: 15px; color: var(--text-tertiary); }

.isc-cards { display: flex; flex-direction: column; gap: 20px; }
.isc-card {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px 40px; align-items: end;
  padding: 34px 38px; border-radius: var(--radius-2xl);
  transition: transform .2s var(--ease-standard);
}
.isc-card:hover { transform: translateY(-4px); }
.isc-card--pro {
  background: linear-gradient(105deg, #062B72 0%, #0A3AA8 42%, #0B44C7 100%);
  box-shadow: 0 16px 40px rgba(6, 43, 114, 0.28);
}
.isc-card--school {
  background: linear-gradient(105deg, #2A0B5E 0%, #4A1194 48%, #7B35E2 100%);
  box-shadow: 0 16px 40px rgba(35, 7, 77, 0.28);
}
.isc-card-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.isc-card-main h3 { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.2; color: #fff; }
.isc-card-main > p { font-size: 15px; line-height: 24px; color: rgba(255, 255, 255, 0.78); max-width: 60ch; }
.isc-card-side {
  display: flex; flex-direction: column; align-items: flex-end; gap: 8px;
  padding-bottom: 4px; min-width: 0;
}

.isc-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.isc-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; border-radius: var(--radius-pill); font-size: 13px;
}
.isc-badge--dim {
  background: rgba(9, 32, 92, 0.75); border: 1px solid rgba(255, 255, 255, 0.10);
  color: rgba(255, 255, 255, 0.92);
}
.isc-badge--mint { background: #7BF5D8; border: 1px solid #7BF5D8; font-weight: 600; color: #0A2E9C; }
.isc-badge--mint .isc-dot { width: 7px; height: 7px; border-radius: var(--radius-pill); background: var(--mint-400); }
.isc-badge--purple {
  background: rgba(217, 179, 255, 0.18); border: 1px solid rgba(217, 179, 255, 0.4);
  font-weight: 500; color: var(--pink-400);
}

.isc-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.isc-tags span {
  padding: 5px 12px; border-radius: 8px;
  background: rgba(9, 32, 92, 0.75); border: 1px solid rgba(255, 255, 255, 0.10);
  font-size: 13px; color: rgba(255, 255, 255, 0.85);
}
.isc-card--school .isc-tags span { background: rgba(35, 7, 77, 0.45); }

.isc-instructor {
  display: flex; align-items: center; gap: 12px;
  padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.isc-instructor img { flex: none; width: 40px; height: 40px; border-radius: var(--radius-pill); object-fit: cover; }
.isc-instructor-text { display: flex; flex-direction: column; gap: 2px; }
.isc-instructor-label {
  font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}
.isc-instructor-name { font-size: 15px; font-weight: 500; color: #fff; }
.isc-instructor-role { font-size: 13px; color: rgba(255, 255, 255, 0.66); }

.isc-price {
  font-family: var(--font-display); font-size: clamp(30px, 3.4vw, 42px);
  line-height: 1; letter-spacing: -0.02em; color: #fff;
}
.isc-price-old {
  font-family: var(--font-display); font-size: 20px;
  color: rgba(255, 255, 255, 0.6); text-decoration: line-through;
}
.isc-price-note { font-size: 14px; color: rgba(255, 255, 255, 0.72); }
.isc-cta-pill {
  margin-top: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 26px; border-radius: var(--radius-pill);
  background: #fff; color: #0A2E9C; font-weight: 600; white-space: nowrap;
}
.isc-card--school .isc-cta-pill { color: #4A1194; }
.isc-cta-pill--soon {
  background: rgba(255, 255, 255, 0.14); border: 1px solid rgba(255, 255, 255, 0.28);
  color: #fff; font-weight: 500;
}
.isc-card-meta { display: flex; flex-wrap: wrap; gap: 20px; font-size: 14px; color: rgba(255, 255, 255, 0.72); }
.isc-card-meta span { display: inline-flex; align-items: center; gap: 7px; }

.isc-empty {
  padding: 40px 24px; border-radius: var(--radius-2xl); text-align: center;
  border: 1px dashed var(--border-subtle); background: #fff;
}
.isc-empty i { font-size: 34px; color: var(--purple-400); }
.isc-empty p { margin: 12px 0 20px; font-size: 16px; color: var(--text-secondary); }

/* ── FEATURE CARD GRIDS ──────────────────────────────────────────── */
.isc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; }
.isc-grid--wide { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.isc-grid--audiences { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 20px; }

.isc-feature {
  display: flex; flex-direction: column; gap: 12px;
  padding: 28px; border-radius: var(--radius-xl);
  background: #fff; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-card);
}
.isc-feature h3 { font-size: 20px; }
.isc-feature p { font-size: 15px; line-height: 23px; color: var(--text-secondary); }
.isc-feature-icon {
  width: 48px; height: 48px; border-radius: 14px; font-size: 22px;
  display: inline-flex; align-items: center; justify-content: center;
}
.isc-feature-icon--purple { background: var(--purple-100); color: var(--purple-500); }
.isc-feature-icon--mint { background: var(--mint-200); color: var(--mint-800); }
.isc-feature-icon--mint-soft { background: var(--mint-100); color: var(--mint-800); }
.isc-feature-icon--sky { background: var(--sky-400); color: var(--sky-900); }
.isc-feature-icon--lilac { background: var(--lilac-300); color: var(--purple-600); }

.isc-audience { display: flex; flex-direction: column; gap: 12px; padding: 28px; border-radius: var(--radius-2xl); }
.isc-audience h3 { font-size: 20px; }
.isc-audience p { font-size: 16px; line-height: 24px; color: var(--text-secondary); }
.isc-audience i { font-size: 26px; }
.isc-audience--lilac { background: var(--lilac-200); }
.isc-audience--lilac i { color: var(--purple-600); }
.isc-audience--mint { background: var(--mint-100); }
.isc-audience--mint i { color: var(--mint-800); }
.isc-audience--sky { background: var(--sky-200); }
.isc-audience--sky i { color: var(--sky-900); }

/* ── TECH CHIPS ──────────────────────────────────────────────────── */
.isc-chip-rows { display: flex; flex-direction: column; gap: 14px; }
.isc-chip-row { display: flex; flex-wrap: wrap; gap: 14px; }
.isc-chip {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 16px 26px; border-radius: 18px;
  background: #fff; border: 1px solid rgba(123, 53, 226, 0.10);
  box-shadow: 0 6px 18px rgba(14, 63, 126, 0.05);
  font-family: var(--font-mono); font-size: 16px; color: var(--text-primary); white-space: nowrap;
}

/* ── ECOSYSTEM ───────────────────────────────────────────────────── */
.isc-eco {
  display: flex; flex-direction: column; gap: 14px;
  padding: 30px; border-radius: var(--radius-2xl);
  background: #fff; border: 1px solid rgba(123, 53, 226, 0.12);
  box-shadow: 0 10px 28px rgba(14, 63, 126, 0.06);
}
.isc-eco-head { display: flex; align-items: center; gap: 12px; }
.isc-eco-head h3 { font-size: 21px; }
.isc-eco-icon {
  flex: none; width: 44px; height: 44px; border-radius: 14px; font-size: 22px;
  background: var(--purple-100); color: var(--purple-600);
  display: inline-flex; align-items: center; justify-content: center;
}
.isc-eco > p { font-size: 16px; line-height: 25px; color: var(--text-secondary); }
.isc-eco ul { display: flex; flex-direction: column; gap: 8px; }
.isc-eco li { display: flex; gap: 10px; font-size: 15px; line-height: 23px; color: var(--text-secondary); }
.isc-eco li i { color: var(--green-600); flex: none; }

/* ── TESTIMONIALS ────────────────────────────────────────────────── */
.isc-quotes {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 20px; align-items: stretch;
}
.isc-quote {
  display: flex; flex-direction: column; gap: 16px;
  padding: 28px; border-radius: var(--radius-2xl);
  background: #fff; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-raised);
}
.isc-quote > i { font-size: 24px; color: var(--purple-300); }
.isc-quote > p { font-size: 16px; line-height: 25px; color: var(--text-secondary); }
.isc-quote-author {
  display: flex; align-items: center; gap: 12px;
  margin-top: auto; padding-top: 16px; border-top: 1px solid var(--border-subtle);
}
.isc-avatar {
  flex: none; width: 44px; height: 44px; border-radius: var(--radius-pill);
  background: var(--lilac-300); color: var(--purple-700);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 600; letter-spacing: 0.02em;
}
.isc-quote-name { font-size: 16px; font-weight: 500; }
.isc-quote-role { display: block; font-size: 13px; color: var(--text-tertiary); }

/* ── FAQ ─────────────────────────────────────────────────────────── */
.isc-faq { padding: 0 var(--band-inline) var(--section-y); }
.isc-faq-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: clamp(28px, 4vw, 48px); align-items: start;
}
.isc-faq-intro { display: flex; flex-direction: column; gap: 12px; }
.isc-faq-intro h2 { font-size: 36px; line-height: 44px; }
.isc-faq-intro > p { font-size: 16px; line-height: 24px; color: var(--text-secondary); }
.isc-faq-intro > p a { color: var(--purple-600); text-decoration: underline; }
.isc-contact-card {
  display: flex; flex-direction: column; gap: 10px; align-items: flex-start;
  margin-top: 12px; padding: 24px; border-radius: var(--radius-xl); background: var(--lilac-200);
}
.isc-contact-card b { font-family: var(--font-display); font-size: 20px; font-weight: 500; }
.isc-contact-card span { font-size: 16px; line-height: 24px; color: var(--text-secondary); }
.isc-contact-card .isc-btn { margin-top: 6px; }

.isc-faq-list { display: flex; flex-direction: column; gap: 12px; }
.isc-guide {
  display: flex; flex-direction: column; gap: 20px;
  margin-bottom: 16px; padding: 28px; border-radius: var(--radius-xl);
  background: #fff; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-raised);
}
.isc-guide-head { display: flex; align-items: center; gap: 14px; }
.isc-guide-head h3 { font-size: 20px; }
.isc-guide-head p { font-size: 15px; color: var(--text-tertiary); margin-top: 4px; }
.isc-guide-icon {
  flex: none; width: 48px; height: 48px; border-radius: 14px; font-size: 24px;
  background: var(--purple-100); color: var(--purple-600);
  display: inline-flex; align-items: center; justify-content: center;
}
.isc-guide ul { display: flex; flex-direction: column; gap: 12px; }
.isc-guide li { display: flex; gap: 12px; }
.isc-guide li i { color: var(--green-600); flex: none; margin-top: 3px; }
.isc-guide li span { font-size: 15px; line-height: 23px; color: var(--text-secondary); }
.isc-guide li b { color: var(--text-primary); font-weight: 600; }

.isc-faq-item {
  padding: 20px 24px; border-radius: var(--radius-lg);
  background: #fff; border: 1px solid var(--border-subtle);
}
.isc-faq-item > summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  font-family: var(--font-display); font-size: 18px; font-weight: 500; cursor: pointer;
  list-style: none;
}
.isc-faq-item > summary::-webkit-details-marker { display: none; }
.isc-faq-item > summary i { color: var(--purple-500); flex: none; transition: transform .2s var(--ease-standard); }
.isc-faq-item[open] > summary i { transform: rotate(45deg); }
.isc-faq-item > p { margin-top: 12px; font-size: 16px; line-height: 25px; color: var(--text-secondary); }
.isc-faq-item > p a { color: var(--purple-600); text-decoration: underline; }

/* ── FINAL CTA ───────────────────────────────────────────────────── */
.isc-cta { position: relative; overflow: hidden; padding: clamp(64px, 9vw, 100px) var(--band-inline); }
.isc-cta-inner {
  position: relative; max-width: 720px; margin: 0 auto;
  display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center;
}
.isc-cta h2 { font-size: clamp(30px, 5vw, 48px); line-height: 1.1; letter-spacing: -0.02em; color: #fff; }
.isc-cta p { font-size: 18px; line-height: 28px; color: rgba(255, 255, 255, 0.78); max-width: 56ch; }
.isc-cta .isc-btn { margin-top: 8px; }

/* The site footer carries a white 3rem top padding meant to follow a light
   section, plus an `mt-5` utility below md. Here it follows the dark CTA, so
   both read as a white strip. Zero them only when the footer follows this
   page; `mt-5` is `!important`, so beating it needs one too. */
.isc-page ~ footer.footer { padding-top: 0; }
.isc-page ~ footer.footer .footer-bottom { margin-top: 0 !important; }

/* ── RESPONSIVE ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .isc-card { grid-template-columns: 1fr; align-items: stretch; padding: 24px; }
  .isc-card-side { align-items: stretch; text-align: left; }
  .isc-cta-pill { justify-content: center; }
}

@media (max-width: 720px) {
  .isc-hero-art { display: none; }
  .isc-hero-copy { align-items: center; text-align: center; }
  .isc-hero h1, .isc-hero-tagline { max-width: none; }
  .isc-hero-ctas { justify-content: center; }
  .isc-hero-ctas .isc-btn { width: 100%; }
  .isc-faq-intro h2 { font-size: 30px; line-height: 38px; }
}

@media (max-width: 620px) {
  .isc-stats-grid { grid-template-columns: 1fr; gap: 0; }
  .isc-stat { padding: 26px 8px; }
  .isc-stat + .isc-stat { border-top: 1px solid var(--purple-200); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .isc-page * { transition: none !important; }
  .isc-card:hover, .isc-page .isc-btn:hover, .isc-page .isc-pill-links a:hover { transform: none; }
}
