/* ============================================================
   GOTHAM-STYLE LAYER — minimalist, spacious, statement-driven
   ============================================================ */
.g-container{ max-width:1200px; margin:0 auto; padding:0 32px }
@media(max-width:640px){ .g-container{ padding:0 22px } }

/* generous vertical rhythm = the "air" */
.g-section{ padding:140px 0; border-top:1px solid var(--line) }
@media(max-width:760px){ .g-section{ padding:88px 0 } }

.g-section-label{ display:block; font-family:var(--font-mono); font-size:12px; letter-spacing:0.22em;
  color:var(--text-mute); margin-bottom:48px }
.g-section-title{ font-size:clamp(28px,3.6vw,46px); font-weight:500; line-height:1.12;
  letter-spacing:-0.025em; max-width:18ch; margin:0 }

/* ---- HERO ---- */
.g-hero{ position:relative; min-height:92vh; display:flex; flex-direction:column;
  justify-content:center; overflow:hidden }
.g-hero-bg{ position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(1100px circle at 70% 30%, rgba(77,139,255,0.10), transparent 55%),
    radial-gradient(800px circle at 10% 90%, rgba(109,240,255,0.05), transparent 50%);
}
.g-hero-bg::after{ content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size:90px 90px;
  -webkit-mask-image:radial-gradient(circle at 65% 40%,#000,transparent 70%);
  mask-image:radial-gradient(circle at 65% 40%,#000,transparent 70%); }
.g-hero .g-container{ position:relative; z-index:1 }
.g-eyebrow{ display:block; font-family:var(--font-mono); font-size:12px; letter-spacing:0.3em;
  color:var(--accent-2); margin-bottom:34px }
.g-hero-title{ font-size:clamp(40px,7vw,92px); font-weight:500; line-height:1.02;
  letter-spacing:-0.035em; max-width:16ch; margin:0 0 32px }
.g-hero-sub{ font-size:clamp(17px,1.6vw,21px); color:var(--text-dim); max-width:52ch;
  line-height:1.55; margin:0 0 44px }
.g-hero-actions{ display:flex; gap:16px; flex-wrap:wrap }
.g-hero-scroll{ position:absolute; bottom:36px; left:50%; transform:translateX(-50%); z-index:1;
  font-family:var(--font-mono); font-size:10px; letter-spacing:0.3em; color:var(--text-mute) }
.g-hero-scroll span{ display:block; animation:g-bob 2.4s ease-in-out infinite }
@keyframes g-bob{ 0%,100%{ transform:translateY(0); opacity:.4 } 50%{ transform:translateY(6px); opacity:1 } }

/* ---- BUTTONS ---- */
.g-btn{ display:inline-flex; align-items:center; padding:15px 30px; border-radius:2px;
  font-family:var(--font-mono); font-size:13px; letter-spacing:0.04em; text-decoration:none;
  transition:all var(--t-mid) }
.g-btn-primary{ background:var(--text); color:#07080b; font-weight:500 }
.g-btn-primary:hover{ background:var(--accent-2); transform:translateY(-2px) }
.g-btn-ghost{ border:1px solid var(--line-strong); color:var(--text) }
.g-btn-ghost:hover{ border-color:var(--accent-2); color:var(--accent-2) }

/* ---- STATEMENT ---- */
.g-statement{ padding:120px 0; border-top:1px solid var(--line) }
.g-statement-text{ font-size:clamp(26px,4vw,52px); font-weight:500; line-height:1.18;
  letter-spacing:-0.03em; max-width:20ch; margin:0 }
.g-statement-text .g-dim{ color:var(--text-mute); display:block }

/* ---- CAPABILITIES (rows, not cards) ---- */
.g-cap-list{ display:flex; flex-direction:column }
.g-cap-row{ display:grid; grid-template-columns:60px 1fr 1.4fr 40px; align-items:center; gap:24px;
  padding:34px 0; border-top:1px solid var(--line); text-decoration:none; color:var(--text);
  transition:padding var(--t-mid), background var(--t-mid) }
.g-cap-row:last-child{ border-bottom:1px solid var(--line) }
.g-cap-row:hover{ padding-left:18px; padding-right:18px; background:rgba(255,255,255,0.02) }
.g-cap-num{ font-family:var(--font-mono); font-size:13px; color:var(--text-mute) }
.g-cap-name{ font-size:clamp(20px,2.2vw,28px); font-weight:500; letter-spacing:-0.02em }
.g-cap-desc{ font-size:15px; color:var(--text-dim) }
.g-cap-arrow{ font-size:20px; color:var(--text-mute); justify-self:end; transition:transform var(--t-mid), color var(--t-mid) }
.g-cap-row:hover .g-cap-arrow{ transform:translateX(6px); color:var(--accent-2) }
@media(max-width:760px){
  .g-cap-row{ grid-template-columns:40px 1fr 28px; }
  .g-cap-desc{ display:none }
}

/* ---- INDUSTRIES ---- */
.g-tags{ display:flex; flex-wrap:wrap; gap:12px; margin-top:44px }
.g-tags span{ font-family:var(--font-mono); font-size:13px; letter-spacing:0.04em; color:var(--text-dim);
  padding:11px 20px; border:1px solid var(--line); border-radius:2px; transition:all var(--t-mid) }
.g-tags span:hover{ border-color:var(--accent-2); color:var(--text) }

/* ---- PARTNER ---- */
.g-partner-inner{ display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:end; margin-top:8px }
.g-partner-name{ font-size:clamp(36px,5vw,64px); font-weight:500; letter-spacing:-0.03em; margin:0 0 20px;
  background:linear-gradient(120deg,var(--text),var(--accent-2)); -webkit-background-clip:text;
  background-clip:text; -webkit-text-fill-color:transparent }
.g-partner-desc{ font-size:18px; color:var(--text-dim); line-height:1.55; max-width:40ch; margin:0 }
.g-partner-meta{ display:flex; flex-direction:column; gap:0 }
.g-partner-meta > div{ display:flex; justify-content:space-between; padding:18px 0; border-top:1px solid var(--line) }
.g-partner-meta > div:last-child{ border-bottom:1px solid var(--line) }
.g-pm-k{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.1em; color:var(--text-mute) }
.g-pm-v{ font-size:15px; color:var(--text) }
@media(max-width:760px){ .g-partner-inner{ grid-template-columns:1fr; gap:40px } }

/* ---- CTA ---- */
.g-cta{ padding:160px 0; border-top:1px solid var(--line); text-align:center }
.g-cta-title{ font-size:clamp(32px,5vw,64px); font-weight:500; letter-spacing:-0.03em; margin:0 0 20px }
.g-cta-sub{ font-size:18px; color:var(--text-dim); max-width:44ch; margin:0 auto 44px; line-height:1.55 }
.g-cta-actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap }
@media(max-width:760px){ .g-cta{ padding:100px 0 } }

/* ---- PRODUCT PREVIEW CARDS (home) ---- */
.g-prod-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:64px }
@media(max-width:760px){ .g-prod-grid{ grid-template-columns:1fr } }
.g-prod-card{ display:block; padding:32px; border:1px solid var(--line); border-radius:3px;
  text-decoration:none; color:var(--text); transition:border-color var(--t-mid), transform var(--t-mid) }
.g-prod-card:hover{ border-color:var(--accent-2); transform:translateY(-3px) }
.g-prod-tag{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.16em; color:var(--accent-2) }
.g-prod-name{ font-size:26px; font-weight:500; letter-spacing:-0.02em; margin:14px 0 24px }
.g-prod-specs{ display:flex; flex-direction:column; gap:0; margin-bottom:24px }
.g-prod-specs > div{ display:flex; justify-content:space-between; padding:11px 0; border-top:1px solid var(--line);
  font-size:14px }
.g-prod-specs > div span:first-child{ color:var(--text-mute); font-family:var(--font-mono); font-size:12px }
.g-prod-specs > div span:last-child{ color:var(--text) }
.g-prod-link{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.04em; color:var(--accent) }

/* ---- PAGE HERO (inner gotham pages) ---- */
.g-page-hero{ border-top:none; padding-top:80px }
.g-page-title{ font-size:clamp(48px,8vw,104px); margin:8px 0 28px }

/* ---- SPEC TABLE (product page) ---- */
.g-spec-table{ display:flex; flex-direction:column; margin-top:40px; max-width:760px }
.g-spec-table > div{ display:flex; justify-content:space-between; gap:24px; padding:16px 0;
  border-top:1px solid var(--line) }
.g-spec-table > div:last-child{ border-bottom:1px solid var(--line) }
.g-spec-table > div span:first-child{ font-family:var(--font-mono); font-size:13px; letter-spacing:0.04em;
  color:var(--text-mute) }
.g-spec-table > div span:last-child{ font-size:15px; color:var(--text); text-align:right }
.g-note{ margin-top:32px; padding:22px 26px; border-left:2px solid var(--accent); background:rgba(77,139,255,0.04);
  font-size:15px; line-height:1.6; color:var(--text-dim); max-width:760px; border-radius:0 3px 3px 0 }

/* ---- STATIC CAP ROW (no hover, for case lists) ---- */
.g-cap-static{ cursor:default }
.g-cap-static:hover{ padding-left:0; padding-right:0; background:none }

/* ---- CASE BLOCKS (KHOROS engagement) ---- */
.g-case{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-top:56px }
.g-case-rev .g-case-media{ order:2 }
@media(max-width:820px){ .g-case{ grid-template-columns:1fr; gap:32px } .g-case-rev .g-case-media{ order:0 } }
.g-case-media{ background:linear-gradient(135deg,#f4f6fa,#d9dee6); border-radius:4px; padding:36px;
  display:flex; align-items:center; justify-content:center; min-height:300px;
  border:1px solid var(--line) }
.g-case-media img{ max-width:100%; height:auto; mix-blend-mode:multiply;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,0.25)) }
.g-case-name{ font-size:clamp(24px,3vw,34px); font-weight:500; letter-spacing:-0.02em; margin:0 0 18px }
.g-case-desc{ font-size:16px; line-height:1.6; color:var(--text-dim); margin:0 0 24px; max-width:46ch }
.g-case-tags{ display:flex; flex-wrap:wrap; gap:10px }
.g-case-tags span{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.04em; color:var(--text-dim);
  padding:8px 14px; border:1px solid var(--line); border-radius:2px }

.g-page-title-sm{ font-size:clamp(36px,6vw,72px) }

/* ---- EMBEDDED PRESENTATION DECK ---- */
.g-deck-frame{ position:relative; width:100%; aspect-ratio:16/9; border:1px solid var(--line);
  border-radius:6px; overflow:hidden; background:#070E15; box-shadow:0 30px 80px -30px rgba(0,0,0,0.8) }
.g-deck-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block }
.g-deck-hint{ margin-top:20px; font-family:var(--font-mono); font-size:12px; letter-spacing:0.04em;
  color:var(--text-mute); text-align:center }
@media(max-width:760px){ .g-deck-frame{ aspect-ratio:4/3 } }
