/* =====================================================================
   WM Teknoloji — shared stylesheet (extracted from inline <style> blocks)
   GLOBAL: rules shared across pages, page-unique rules, and additive unions.
   Page-specific overrides for divergent selectors are in the SCOPED section.
   ===================================================================== */


/* ---- index ---- */
:root {
  --ink: #0f1b2d;
  --ink-2: #16263d;
  --navy: #13233a;
  --paper: #ffffff;
  --paper-2: #f5f7fa;
  --paper-3: #eef1f6;
  --line: #e3e8ef;
  --line-2: #d6dde6;
  --gray: #586573;
  --gray-2: #8a97a6;
  --gray-3: #aeb8c4;
  --accent: #1857c4;
  --accent-soft: #eaf1fb;
  --ease: cubic-bezier(.4,0,.2,1);
  --maxw: 1320px;
  --display: 'Instrument Sans',system-ui,sans-serif;
  --body: 'Instrument Sans',system-ui,sans-serif;
  --burnt: #4a86e8;
  --burnt-soft: rgba(74,134,232,.14);
  --mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --accent-text: #1450b8;
  --radius: 10px;
  --radius-sm: 8px;
}
* {
  box-sizing:border-box;margin:0;padding:0;
}
html {
  scroll-behavior:smooth;
}
body {
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a {
  color:inherit;text-decoration:none;
}
img {
  display:block;max-width:100%;
}
.wrap {
  max-width:var(--maxw);margin:0 auto;padding:0 40px;
}
/* ============ TOP UTILITY BAR ============ */
.util {
  background:var(--paper-2);
  border-bottom:1px solid var(--line);
  color:var(--gray);
  font-size:13px;
}
.util .wrap {
  display:flex;align-items:center;justify-content:flex-end;gap:24px;height:40px;
}
.util a {
  display:inline-flex;align-items:center;gap:7px;letter-spacing:.01em;white-space:nowrap;font-weight:500;transition:color .2s var(--ease);
}
.util a:hover {
  color:var(--accent);
}
.util .sep {
  width:1px;height:14px;background:var(--line-2);
}
.util .ico {
  width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;
}
/* ============ NAVBAR ============ */
header.nav {
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-row {
  display:flex;align-items:center;gap:38px;height:74px;
}
/* logo */
.logo {
  display:flex;align-items:center;gap:13px;flex-shrink:0;
}
.logo .glyph {
  width:42px;height:42px;border-radius:2px;border:1.6px solid var(--ink);display:grid;place-items:center;flex-shrink:0;
}
.logo .glyph svg {
  width:22px;height:22px;
}
.logo .name {
  font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;
}
/* primary menu */
nav.primary {
  display:flex;align-items:center;gap:0;height:100%;
}
.nav-item {
  height:100%;display:flex;align-items:center;
}
.nav-link {
  height:100%;display:flex;align-items:center;gap:6px;
  padding:0 15px;
  font-size:14.5px;font-weight:600;color:var(--ink);
  letter-spacing:.005em;cursor:pointer;white-space:nowrap;
  position:relative;transition:color .2s var(--ease);
  background:none;border:none;font-family:inherit;
}
.nav-link:hover,.nav-item.open .nav-link {
  color:var(--accent);
}
.nav-link .chev {
  width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .25s var(--ease);opacity:.55;
}
.nav-item.open .nav-link .chev {
  transform:rotate(180deg);
}
.nav-link::after {
  content:"";position:absolute;left:15px;right:15px;bottom:-1px;height:2px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .28s var(--ease);
}
.nav-item.open .nav-link::after {
  transform:scaleX(1);
}
.nav-spacer {
  flex:1;
}
.nav-cta .ico {
  width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;
}
/* ============ MEGA MENU ============ */
.mega {
  position:absolute;left:0;right:0;top:100%;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  box-shadow:0 30px 60px -34px rgba(15,27,45,.28);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .24s var(--ease),transform .24s var(--ease),visibility .24s;
  z-index:55;
}
.nav-item.open .mega {
  opacity:1;visibility:visible;transform:translateY(0);
}
.mega-inner {
  max-width:var(--maxw);margin:0 auto;padding:42px 40px 48px;
}
.mega-head {
  display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:26px;
}
.mega-head .label {
  font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-2);
}
.mega-head .all {
  display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--accent);white-space:nowrap;transition:gap .2s var(--ease);
}
.mega-head .all:hover {
  gap:14px;
}
.mega-head .all .ico {
  width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;
}
.mega-grid {
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px 36px;
}
.mega-link {
  font-family:var(--display);font-weight:600;font-size:17px;color:var(--ink);
  padding:11px 0;letter-spacing:-.01em;
  display:flex;align-items:center;gap:10px;
  transition:color .18s var(--ease),padding-left .22s var(--ease);
}
.mega-link .bar {
  width:0;height:1.5px;background:var(--accent);transition:width .22s var(--ease);
}
.mega-link:hover {
  color:var(--accent);padding-left:4px;
}
.mega-link:hover .bar {
  width:16px;
}
/* product list (titles + descriptions, no icons) */
.mega-prod {
  display:grid;grid-template-columns:repeat(3,1fr);gap:4px 40px;
}
.prod-item {
  padding:15px 0;border-top:1px solid var(--line);transition:padding-left .22s var(--ease);
}
.prod-item:hover {
  padding-left:5px;
}
.prod-item .pt {
  font-family:var(--display);font-weight:700;font-size:17.5px;color:var(--ink);letter-spacing:-.01em;display:flex;align-items:center;gap:9px;transition:color .18s var(--ease);
}
.prod-item .pt .arr {
  width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:2;opacity:0;transform:translateX(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease);
}
.prod-item:hover .pt {
  color:var(--accent);
}
.prod-item:hover .pt .arr {
  opacity:1;transform:translateX(0);
}
.prod-item .pd {
  font-size:13px;color:var(--gray);margin-top:5px;letter-spacing:.005em;
}
/* feature card variant inside mega (Resources) */
.mega-two {
  display:grid;grid-template-columns:1.6fr 1fr;gap:48px;
}
.mega-feature {
  background:var(--navy);border-radius:12px;padding:28px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:206px;overflow:hidden;position:relative;
}
.mega-feature::after {
  content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(24,87,196,.55),transparent 70%);
}
.mega-feature .tag {
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-3);font-weight:600;position:relative;
}
.mega-feature h4 {
  font-family:var(--display);font-size:23px;font-weight:700;margin-top:13px;line-height:1.12;position:relative;
}
.mega-feature .go {
  display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:14px;margin-top:20px;color:#fff;position:relative;
}
.mega-feature .go .ico {
  width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;
}
/* ============ HERO (light, split) ============ */
.hero {
  background: var(--paper);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: calc(100vh - 115px);
}
.hero .wrap {
  position:relative;z-index:2;width:100%;
}
.hero-grid {
  display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:48px 0;
}
.hero-eyebrow {
  display:inline-flex;align-items:center;gap:11px;font-size:12.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:26px;white-space:nowrap;
}
.hero-eyebrow .ln {
  width:30px;height:2px;background:var(--accent);border-radius:2px;
}
.hero h1 .muted {
  color:var(--gray-2);
}
.hero p.lede {
  margin-top:26px;font-size:clamp(16px,1.25vw,19px);line-height:1.62;color:var(--gray);max-width:520px;
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 15px;
  padding: 14px 26px;
  border-radius: 8px;
  white-space: nowrap;
  transition: all .2s var(--ease);
  cursor: pointer;
  font-family: inherit;
  border: none;
}
.btn .ico {
  width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9;
}
.btn-primary {
  background:var(--accent);color:#fff;
}
.btn-primary:hover {
  background:var(--ink);
}
.btn-ghost {
  border:1px solid var(--line-2);color:var(--ink);background:#fff;
}
.btn-ghost:hover {
  border-color:var(--ink);
}
/* hero feature list */
.hero-feats {
  display:flex;flex-direction:column;gap:15px;margin-top:42px;padding-top:30px;border-top:1px solid var(--line);max-width:540px;
}
.feat {
  display:flex;gap:13px;align-items:flex-start;
}
.feat .ck {
  width:22px;height:22px;border-radius:6px;background:var(--accent-soft);display:grid;place-items:center;flex-shrink:0;margin-top:1px;
}
.feat .ck svg {
  width:13px;height:13px;stroke:var(--accent);fill:none;stroke-width:2.4;
}
.feat .ft {
  font-size:14.5px;color:var(--gray);line-height:1.45;
}
.feat .ft b {
  color:var(--ink);font-weight:700;
}
/* hero visual */
.hero-visual {
  position:relative;
}
.hero-visual .frame {
  position:relative;border-radius:16px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(15,27,45,.4);background:var(--navy);
}
.hero-visual .frame::after {
  content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(15,27,45,.18),rgba(15,27,45,.42));
}
/* floating stat chip */
.stat-chip {
  position:absolute;left:-26px;bottom:36px;z-index:3;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:18px 22px;box-shadow:0 24px 50px -24px rgba(15,27,45,.35);
  display:flex;align-items:center;gap:16px;min-width:240px;
}
.stat-chip .ic {
  width:44px;height:44px;border-radius:10px;background:var(--accent-soft);display:grid;place-items:center;flex-shrink:0;
}
.stat-chip .ic svg {
  width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.9;
}
.stat-chip .big {
  font-family:var(--display);font-weight:800;font-size:22px;color:var(--ink);line-height:1;letter-spacing:-.01em;
}
.stat-chip .small {
  font-size:12.5px;color:var(--gray);margin-top:5px;
}
.badge-chip {
  position:absolute;right:-18px;top:30px;z-index:3;
  background:var(--ink);color:#fff;border-radius:10px;
  padding:12px 16px;box-shadow:0 24px 50px -24px rgba(15,27,45,.45);
  display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;white-space:nowrap;
}
.badge-chip .dot {
  width:8px;height:8px;border-radius:50%;background:#36d27a;box-shadow:0 0 0 4px rgba(54,210,122,.2);
}
/* ============ TRUST LOGO STRIP ============ */
.logos {
  background:var(--paper);border-bottom:1px solid var(--line);
}
.logos .lab {
  font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gray-2);white-space:nowrap;
}
.logos .row {
  display:flex;align-items:center;gap:46px;flex-wrap:wrap;flex:1;
}
.logos .row span {
  font-family:var(--display);font-weight:700;font-size:19px;color:var(--gray-3);letter-spacing:.02em;transition:color .2s var(--ease);
}
.logos .row span:hover {
  color:var(--gray);
}
.work-head .eyebrow .ln {
  width:30px;height:2px;background:var(--accent);border-radius:2px;
}
.work-head .viewall {
  display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;color:var(--ink);white-space:nowrap;padding-bottom:6px;transition:gap .2s var(--ease),color .2s var(--ease);
}
.work-head .viewall:hover {
  gap:15px;color:var(--accent);
}
.work-head .viewall .ico {
  width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9;
}
.proj-row {
  display:grid;grid-template-columns:150px 300px 1fr 168px;gap:40px;align-items:start;
  padding:36px 0;border-top:1px solid var(--line);
  transition:background .25s var(--ease);
}
.proj-row:last-child {
  border-bottom:1px solid var(--line);
}
.proj-row:hover {
  background:linear-gradient(90deg,var(--paper-2),transparent 80%);
}
.proj-meta {
  font-family:var(--display);font-size:13px;font-weight:500;line-height:1.5;color:var(--gray-2);letter-spacing:.01em;padding-top:4px;
}
.proj-meta .yr {
  display:block;margin-top:6px;color:var(--gray-3);
}
.proj-thumb {
  width: 300px;
  height: 188px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--paper-3);
  border: 1px solid var(--line);
  position: relative;
  display: grid;
  place-items: center;
}
.proj-main {
  min-width:0;padding-top:2px;
}
.proj-title {
  font-family:var(--display);font-weight:700;font-size:27px;letter-spacing:-.02em;color:var(--ink);display:inline-flex;align-items:center;gap:11px;transition:color .2s var(--ease);
}
.proj-title .arr {
  width:19px;height:19px;stroke:var(--accent);fill:none;stroke-width:2;opacity:0;transform:translateX(-6px);transition:all .22s var(--ease);
}
.proj-row:hover .proj-title {
  color:var(--accent);
}
.proj-row:hover .proj-title .arr {
  opacity:1;transform:translateX(0);
}
.proj-sub {
  font-size:16px;font-weight:600;color:var(--ink);margin-top:9px;letter-spacing:-.005em;
}
.proj-desc {
  font-size:14.5px;line-height:1.6;color:var(--gray);margin-top:12px;
}
.proj-stats {
  display:flex;flex-direction:column;gap:22px;padding-top:4px;
}
.proj-stats .k {
  display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-2);
}
.proj-stats .v {
  display:block;font-family:var(--display);font-size:17px;font-weight:600;color:var(--ink);margin-top:7px;letter-spacing:-.01em;
}
.proj-stats .v.live {
  color:var(--accent);
}
@media(max-width:1080px) {
  nav.primary {
    display:none;
  }
  .wrap {
    padding:0 24px;
  }
  .hero-grid {
    grid-template-columns:1fr;gap:48px;padding:64px 0 72px;
  }
  .work-head {
    flex-direction:column;align-items:flex-start;
  }
  .proj-row {
    grid-template-columns:1fr;gap:18px;
  }
  .proj-thumb {
    width:100%;
  }
  .proj-stats {
    flex-direction:row;gap:48px;
  }
}

/* ---- events ---- */
.nav-link:hover,.nav-item.open .nav-link,.nav-link.current {
  color:var(--accent);
}
.nav-item.open .nav-link::after,.nav-link.current::after {
  transform:scaleX(1);
}
/* ===== page hero ===== */
.page-hero {
  position:relative;overflow:hidden;background:var(--paper);display:flex;align-items:center;min-height:calc(100vh - 115px);
}
.page-hero::before {
  content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(1100px 520px at 85% -10%, var(--paper-3) 0%, transparent 60%),
  linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%);
}
.page-hero .wrap {
  position:relative;z-index:1;width:100%;padding:48px 40px;
}
.ph-grid {
  display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;
}
.ph-eyebrow {
  display:inline-flex;align-items:center;gap:11px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:22px;
}
.ph-eyebrow .ln {
  width:30px;height:2px;background:var(--accent);border-radius:2px;
}
.page-hero h1 .muted {
  color:var(--gray-2);
}
.page-hero .lede {
  margin-top:30px;font-size:clamp(16px,1.3vw,19px);line-height:1.62;color:var(--gray);max-width:600px;
}
.ph-actions {
  display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;
}
.btn svg {
  width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9;
}
.proj-thumb::after {
  content:attr(data-ph);position:absolute;inset:0;display:grid;place-items:center;color:var(--gray-3);font-size:13px;font-weight:500;letter-spacing:.02em;text-align:center;padding:10px;
}
.proj-thumb img {
  position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;font-size:0;color:transparent;
}
.proj-thumb img.missing {
  display:none;
}
@media(max-width:1080px) {
  .page-hero {
    min-height:auto;
  }
  .page-hero .wrap {
    padding:60px 24px 50px;
  }
  .ph-grid {
    grid-template-columns:1fr;gap:44px;
  }
}

/* ---- investing ---- */
.prod-item.on .pt {
  color:var(--accent);
}
/* hero dark snapshot panel (the "siyah-turuncu" visual moment) */
.snap {
  position:relative;background:#0c1623;border:1px solid #1d2c40;border-radius:16px;padding:34px 34px 30px;color:#fff;overflow:hidden;box-shadow:0 40px 80px -42px rgba(15,27,45,.5);
}
.snap::after {
  content:"";position:absolute;right:-50px;top:-50px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(74,134,232,.45),transparent 70%);
}
.snap-top {
  display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;
}
.snap-tag {
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#7d8aa0;
}
.snap-dot {
  display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#b9cdf0;
}
.snap-dot::before {
  content:"";width:7px;height:7px;border-radius:50%;background:var(--burnt);box-shadow:0 0 0 4px rgba(74,134,232,.22);
}
.snap-big {
  font-family:var(--display);font-weight:800;font-size:46px;letter-spacing:-.03em;margin-top:26px;color:var(--burnt);line-height:1;position:relative;
}
.snap-sub {
  font-size:13.5px;color:#9aa6b8;margin-top:10px;position:relative;
}
.snap-rows {
  margin-top:28px;padding-top:6px;display:flex;flex-direction:column;position:relative;
}
.snap-rows > div {
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid #1c2a3d;
}
.snap-rows span {
  font-size:13px;color:#7d8aa0;
}
.snap-rows b {
  font-family:var(--display);font-size:15.5px;font-weight:600;color:#eef2f7;letter-spacing:-.01em;
}
/* ===== generic section ===== */
.section {
  padding:104px 0;border-top:1px solid var(--line);
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 20px;
}
.eyebrow .ln {
  width:30px;height:2px;background:var(--accent);border-radius:2px;
}
.eyebrow.burnt {
  color:var(--burnt);
}
.eyebrow.burnt .ln {
  background:var(--burnt);
}
.sec-title {
  font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.04;color:var(--ink);font-size:clamp(30px,3.6vw,46px);
}
/* thesis */
.thesis-grid {
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;
}
.thesis-grid .eyebrow {
  margin-bottom:26px;
}
.thesis-body p {
  font-size:clamp(16px,1.25vw,18.5px);line-height:1.64;color:var(--gray);
}
.thesis-body p + p {
  margin-top:24px;
}
.thesis-body b {
  color:var(--ink);font-weight:700;
}
/* programs */
.prog-head .eyebrow {
  margin-bottom:18px;
}
.prog-head .sec-title {
  margin-bottom:72px;
}
.prog-grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
}
.prog-col {
  padding:0 38px;border-left:1px solid var(--line);
}
.prog-col:first-child {
  padding-left:0;border-left:none;
}
.prog-col:last-child {
  padding-right:0;
}
.prog-num {
  font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;color:var(--gray-2);
}
.prog-num b {
  color:var(--burnt);font-weight:600;
}
.prog-col h3 {
  font-family:var(--display);font-weight:700;font-size:27px;letter-spacing:-.02em;margin:22px 0 16px;color:var(--ink);
}
.prog-col p {
  font-size:15px;line-height:1.62;color:var(--gray);
}
.prog-list {
  list-style:none;margin-top:26px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px;
}
.prog-list li {
  display:flex;align-items:baseline;gap:13px;font-size:15px;color:var(--ink);
}
.prog-list li::before {
  content:"";width:14px;height:2px;background:var(--burnt);flex-shrink:0;transform:translateY(-4px);
}
/* criteria */
.crit-grid {
  display:grid;grid-template-columns:1fr 1fr;gap:72px;
}
.crit-col .eyebrow {
  margin-bottom:24px;
}
.crit-col h2 {
  font-family:var(--display);font-weight:800;font-size:clamp(26px,2.8vw,38px);letter-spacing:-.025em;line-height:1.06;margin-bottom:38px;color:var(--ink);
}
.crit-list {
  list-style:none;display:flex;flex-direction:column;
}
.crit-list li {
  display:grid;grid-template-columns:40px 1fr;gap:8px;padding:20px 0;border-top:1px solid var(--line);font-size:16.5px;line-height:1.5;color:var(--ink);
}
.crit-list li:last-child {
  border-bottom:1px solid var(--line);
}
.crit-list li .n {
  font-family:var(--mono);font-size:12.5px;color:var(--burnt);padding-top:3px;
}
.crit-col.no .crit-list li .n {
  color:var(--gray-3);
}
.crit-col.no .crit-list li {
  color:var(--gray);
}
/* contact band (dark + orange) */
.contact {
  background:#0c1623;color:#fff;padding:108px 0;position:relative;overflow:hidden;
}
.contact::before {
  content:"";position:absolute;left:-80px;bottom:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(74,134,232,.3),transparent 68%);
}
.contact .wrap {
  position:relative;z-index:1;
}
.contact-grid {
  display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;
}
.contact h2 {
  font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.0;font-size:clamp(36px,4.6vw,62px);
}
.contact .ct-body {
  font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:#a7b2c2;max-width:480px;
}
.contact .ph-actions {
  margin-top:30px;
}
.contact .btn-primary {
  background:var(--accent);
}
.contact .btn-primary:hover {
  background:#fff;color:var(--ink);
}
.contact .btn-ghost {
  background:transparent;border-color:rgba(255,255,255,.22);color:#fff;
}
.contact .btn-ghost:hover {
  border-color:#fff;background:rgba(255,255,255,.06);
}
/* footer */
footer {
  background:#0a1320;color:#fff;
}
.foot-top {
  max-width:var(--maxw);margin:0 auto;padding:74px 40px 54px;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:48px;
}
.foot-brand .flogo {
  display:flex;align-items:center;gap:13px;
}
.foot-brand .flogo .glyph {
  width:40px;height:40px;border-radius:2px;border:1.6px solid #fff;display:grid;place-items:center;
}
.foot-brand .flogo .glyph svg {
  width:21px;height:21px;
}
.foot-brand .flogo span {
  font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.01em;
}
.foot-brand p {
  margin-top:18px;font-size:14px;line-height:1.62;color:#8a97a6;max-width:310px;
}
.foot-brand .fcta {
  display:inline-flex;align-items:center;gap:9px;margin-top:22px;font-weight:600;font-size:14px;color:#fff;transition:gap .2s var(--ease);
}
.foot-brand .fcta:hover {
  gap:14px;
}
.foot-brand .fcta svg {
  width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;
}
.foot-col h5 {
  font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#67748a;margin-bottom:20px;
}
.foot-col ul {
  list-style:none;display:flex;flex-direction:column;gap:13px;
}
.foot-col a {
  font-size:14.5px;color:#b6c0ce;transition:color .2s var(--ease);
}
.foot-col a:hover {
  color:#fff;
}
.foot-bot {
  border-top:1px solid #16243a;
}
.foot-bot-in {
  max-width:var(--maxw);margin:0 auto;padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.foot-bot .copy {
  font-size:13px;color:#67748a;
}
.foot-legal {
  display:flex;gap:26px;flex-wrap:wrap;
}
.foot-legal a {
  font-size:13px;color:#8a97a6;transition:color .2s var(--ease);
}
.foot-legal a:hover {
  color:#fff;
}
.foot-social {
  display:flex;gap:10px;
}
.foot-social a {
  width:34px;height:34px;border:1px solid #1c2a3d;border-radius:7px;display:grid;place-items:center;color:#b6c0ce;transition:border-color .2s var(--ease),color .2s var(--ease);
}
.foot-social a:hover {
  border-color:#fff;color:#fff;
}
.foot-social svg {
  width:16px;height:16px;fill:currentColor;
}
@media(max-width:1080px) {
  .foot-top {
    grid-template-columns:1fr 1fr;gap:40px;padding:56px 24px 44px;
  }
  .foot-brand {
    grid-column:1 / -1;
  }
  .foot-bot-in {
    padding:20px 24px;
  }
}
@media(max-width:1080px) {
  .section {
    padding:72px 0;
  }
  .thesis-grid,.crit-grid,.contact-grid {
    grid-template-columns:1fr;gap:36px;
  }
  .prog-grid {
    grid-template-columns:1fr;
  }
  .prog-col {
    padding:36px 0;border-left:none;border-top:1px solid var(--line);
  }
  .prog-col:first-child {
    padding-top:0;border-top:none;
  }
}

/* ---- start-project ---- */
.hero-in {
  position:relative;z-index:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:48px 40px;
  display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center;
}
.hero .lede {
  margin:24px 0 0;font-size:17px;line-height:1.62;color:var(--gray);max-width:500px;
}
.hero .lede b {
  color:var(--ink);font-weight:700;
}
.how {
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 30px 26px;box-shadow:0 40px 80px -46px rgba(15,27,45,.34);
}
.how .htitle {
  font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-2);margin:0 0 22px;
}
.hstep {
  display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line);
}
.hstep:first-of-type {
  border-top:none;padding-top:0;
}
.hstep .num {
  width:34px;height:34px;flex-shrink:0;border-radius:9px;background:var(--accent-soft);color:var(--accent-text);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:15px;
}
.hstep .htext b {
  display:block;font-family:var(--display);font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.01em;
}
.hstep .htext span {
  display:block;font-size:13.5px;color:var(--gray);margin-top:4px;line-height:1.5;
}
/* ===== brief form ===== */
.survey {
  padding:64px 0 100px;
}
.survey-head {
  margin-bottom:30px;
}
.survey-head .eyebrow {
  margin-bottom:14px;
}
.survey-head h2 {
  font-family:var(--display);font-weight:800;font-size:clamp(28px,3.2vw,42px);letter-spacing:-.02em;margin:0 0 12px;color:var(--ink);
}
.survey-head .lead {
  font-size:16.5px;line-height:1.6;color:var(--gray);max-width:680px;margin:0;
}
.survey-head .lead b {
  color:var(--ink);font-weight:700;
}
.card {
  background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:40px 44px;box-shadow:0 30px 60px -42px rgba(15,27,45,.24);
}
.step-label {
  font-family:var(--display);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin:0 0 22px;padding-top:30px;margin-top:34px;border-top:1px solid var(--line);
}
.step-label:first-of-type {
  border-top:none;padding-top:0;margin-top:0;
}
.grid2 {
  display:grid;grid-template-columns:1fr 1fr;gap:0 40px;
}
.q {
  margin-bottom:24px;
}
.q.full {
  grid-column:1 / -1;
}
.q > label {
  display:block;font-size:15px;font-weight:700;margin-bottom:6px;color:var(--ink);
}
.q > label .opt-lab {
  color:var(--gray-3);font-weight:500;
}
.hint {
  margin:0 0 12px;font-size:13.5px;color:var(--gray);line-height:1.5;
}
input[type=text],input[type=email],textarea {
  width:100%;background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);
  color:var(--ink);padding:12px 13px;font-size:14.5px;font-family:inherit;outline:none;transition:border-color .15s,background .15s,box-shadow .15s;
}
input::placeholder,textarea::placeholder {
  color:var(--gray-3);
}
input:focus,textarea:focus {
  border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-soft);
}
textarea {
  resize:vertical;
}
.opts {
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px;
}
.opt {
  text-align:left;padding:12px 14px;font-size:13.5px;font-family:inherit;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--paper-2);color:var(--ink);cursor:pointer;line-height:1.4;transition:border-color .12s,background .12s,color .12s;
}
.opt:hover {
  border-color:var(--gray-3);background:var(--paper-3);
}
.opt.on {
  background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text);font-weight:600;
}
.world-block {
  display:none;
}
.world-block.show {
  display:block;border-left:2px solid var(--accent);padding-left:24px;margin:6px 0 10px;
}
.world-block .wb-title {
  font-family:var(--display);font-size:14.5px;font-weight:700;color:var(--accent-text);margin:2px 0 20px;letter-spacing:-.01em;
}
.world-block .grid2 {
  gap:0 40px;
}
#submit {
  width:100%;margin-top:16px;padding:16px;font-size:15.5px;font-weight:700;font-family:inherit;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;transition:background .2s var(--ease);
}
#submit:hover {
  background:var(--ink);
}
#out {
  display:none;margin-top:30px;padding-top:30px;border-top:1px solid var(--line);
}
#out h2 {
  font-family:var(--display);font-size:19px;margin:0 0 6px;font-weight:700;color:var(--ink);
}
#out p.sub {
  font-size:14px;color:var(--gray);margin:0 0 14px;line-height:1.55;
}
#outText {
  width:100%;height:300px;background:var(--navy);border:1px solid var(--navy);border-radius:var(--radius-sm);color:#dbe4f0;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;white-space:pre;resize:vertical;line-height:1.55;
}
.out-row {
  display:flex;gap:12px;margin-top:14px;align-items:center;flex-wrap:wrap;
}
.btn-send {
  padding:12px 22px;font-size:14.5px;font-weight:700;font-family:inherit;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:9px;transition:background .2s var(--ease);
}
.btn-send:hover {
  background:var(--ink);
}
.btn-send svg {
  width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;
}
.btn-copy {
  padding:12px 20px;font-size:14.5px;font-weight:600;font-family:inherit;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:#fff;color:var(--ink);cursor:pointer;transition:border-color .2s var(--ease);
}
.btn-copy:hover {
  border-color:var(--ink);
}
#copyMsg {
  font-size:13px;color:var(--gray);
}
@media(max-width:1080px) {
  .hero {
    min-height:auto;
  }
  .hero-in {
    grid-template-columns:1fr;gap:40px;padding:56px 24px;
  }
}
@media(max-width:680px) {
  .grid2 {
    grid-template-columns:1fr;
  }
  .card {
    padding:26px 22px;
  }
}

/* =====================================================================
   PAGE-SCOPED OVERRIDES — selectors that genuinely differ per page.
   Each page's <body> carries its class (p-index / p-events / ...).
   ===================================================================== */

/* .nav-cta */
.p-index .nav-cta {
  display:inline-flex;align-items:center;gap:9px;flex-shrink:0;
  background:var(--ink);color:#fff;
  font-weight:600;font-size:14px;
  padding:12px 20px;border-radius:7px;white-space:nowrap;
  transition:background .2s var(--ease),transform .2s var(--ease);
}
.p-events .nav-cta {
  display:inline-flex;align-items:center;gap:9px;flex-shrink:0;background:var(--ink);color:#fff;font-weight:600;font-size:14px;padding:12px 20px;border-radius:7px;white-space:nowrap;transition:background .2s var(--ease);
}
.p-investing .nav-cta {
  display:inline-flex;align-items:center;gap:9px;flex-shrink:0;background:var(--ink);color:#fff;font-weight:600;font-size:14px;padding:12px 20px;border-radius:7px;white-space:nowrap;transition:background .2s var(--ease);
}
.p-start .nav-cta {
  display:inline-flex;align-items:center;gap:9px;flex-shrink:0;background:var(--accent);color:#fff;font-weight:600;font-size:14px;padding:12px 20px;border-radius:7px;white-space:nowrap;transition:background .2s var(--ease);
}

/* .nav-cta:hover */
.p-index .nav-cta:hover {
  background:var(--accent);
}
.p-events .nav-cta:hover {
  background:var(--accent);
}
.p-investing .nav-cta:hover {
  background:var(--accent);
}
.p-start .nav-cta:hover {
  background:var(--ink);
}

/* .hero::before */
.p-index .hero::before {
  content:"";position:absolute;inset:0;
  background:
  radial-gradient(1100px 520px at 88% -8%, var(--paper-3) 0%, transparent 60%),
  linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);
  z-index:0;
}
.p-start .hero::before {
  content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(1000px 460px at 90% -10%, var(--paper-3) 0%, transparent 60%),
  linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);
}

/* .hero h1 */
.p-index .hero h1 {
  font-family:var(--display);font-weight:800;color:var(--ink);
  font-size:clamp(38px,4.6vw,64px);line-height:1.04;letter-spacing:-.025em;
}
.p-start .hero h1 {
  font-family:var(--display);font-weight:800;font-size:clamp(34px,4.6vw,58px);line-height:1.03;letter-spacing:-.025em;margin:0;color:var(--ink);
}

/* .hero-actions */
.p-index .hero-actions {
  display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;
}
.p-start .hero-actions {
  display:flex;flex-wrap:wrap;gap:13px;margin-top:34px;
}

/* .hero-visual .frame img */
.p-index .hero-visual .frame img {
  width:100%;height:520px;object-fit:cover;filter:grayscale(.25) contrast(1.03);
}
.p-events .hero-visual .frame img {
  width:100%;height:500px;object-fit:cover;filter:grayscale(.25) contrast(1.03);
}
.p-iot .hero-visual .frame img {
  width:100%;height:520px;object-fit:cover;filter:grayscale(.25) contrast(1.03);
}

/* .logos .wrap */
.p-index .logos .wrap {
  padding:34px 40px;display:flex;align-items:center;gap:40px;flex-wrap:wrap;
}
.p-events .logos .wrap {
  padding:30px 40px;display:flex;align-items:center;gap:40px;flex-wrap:wrap;
}
.p-start .logos .wrap {
  padding:30px 40px;display:flex;align-items:center;gap:40px;flex-wrap:wrap;
}

/* .work */
.p-index .work {
  background:var(--paper);padding:96px 0 24px;
}
.p-events .work {
  background:var(--paper);padding:18px 0 90px;
}

/* .work-head */
.p-index .work-head {
  display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:50px;
}
.p-events .work-head {
  margin-bottom:18px;
}

/* .work-head .eyebrow */
.p-index .work-head .eyebrow {
  display:inline-flex;align-items:center;gap:11px;font-size:12.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;
}
.p-events .work-head .eyebrow {
  display:inline-flex;align-items:center;gap:11px;font-size:12.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;
}

/* .work-head h2 */
.p-index .work-head h2 {
  font-family:var(--display);font-weight:800;font-size:clamp(30px,3.6vw,46px);letter-spacing:-.025em;color:var(--ink);line-height:1.02;
}
.p-events .work-head h2 {
  font-family:var(--display);font-weight:800;font-size:clamp(26px,3vw,38px);letter-spacing:-.025em;color:var(--ink);line-height:1.04;
}

/* .work-head .sub */
.p-index .work-head .sub {
  margin-top:14px;font-size:16.5px;color:var(--gray);max-width:440px;line-height:1.55;
}
.p-events .work-head .sub {
  margin-top:12px;font-size:16px;color:var(--gray);max-width:480px;line-height:1.55;
}

/* .page-hero h1 */
.p-events .page-hero h1 {
  font-family:var(--display);font-weight:800;font-size:clamp(36px,4vw,54px);line-height:1.05;letter-spacing:-.025em;color:var(--ink);max-width:14ch;
}
.p-investing .page-hero h1 {
  font-family:var(--display);font-weight:800;font-size:clamp(36px,4vw,54px);line-height:1.05;letter-spacing:-.025em;color:var(--ink);max-width:15ch;
}

@media(max-width:1080px) {
  .p-index .hero-visual .frame img { height:400px; }
  .p-events .hero-visual .frame img { height:380px; }
  .p-iot .hero-visual .frame img { height:400px; }
}

/* ---- case studies (scoped) ---- */
.p-case .cs-row {
  display:grid;grid-template-columns:240px 1fr;gap:48px;padding:50px 0;border-top:1px solid var(--line);
}
.p-case .cs-row:first-of-type {
  border-top:none;padding-top:0;
}
.p-case .cs-meta .badge-pill {
  display:inline-block;border:1px solid var(--line-2);border-radius:999px;padding:6px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);
}
.p-case .cs-meta .cs-tags {
  font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--gray-2);margin-top:18px;
}
.p-case .cs-meta .cs-status {
  font-size:13.5px;color:var(--gray-3);margin-top:8px;
}
.p-case .cs-body h3 {
  font-family:var(--display);font-weight:700;font-size:25px;letter-spacing:-.02em;margin:0 0 16px;color:var(--ink);
}
.p-case .cs-body p {
  font-size:15.5px;line-height:1.64;color:var(--gray);margin:0 0 16px;
}
.p-case .cs-body p:last-child {
  margin-bottom:0;
}
.p-case .cs-body p b {
  color:var(--ink);font-weight:700;
}
@media(max-width:880px) {
  .p-case .cs-row { grid-template-columns:1fr;gap:18px;padding:36px 0; }
}
