/* =====================================================================
   PARADIGMA · /contact/ 2026 — concept-D
   Префикс .cp-* (contact page)
   ===================================================================== */
.cp-page {
  --cp-ink: #0c0c0c;
  --cp-cream: #f4ede1;
  --cp-bone: #e8dfcc;
  --cp-fire: #ff4524;
  --cp-pulse: #c4ff00;
  --cp-sky: #7dc4ff;
  --cp-rose: #ff7da8;
  --cp-faint: rgba(244, 237, 225, 0.08);
  --cp-faint2: rgba(244, 237, 225, 0.18);

  background: var(--cp-ink); color: var(--cp-cream);
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  position: relative;
}
.cp-page, .cp-page * { box-sizing: border-box; }
.cp-page::before {
  content: ""; position: absolute; inset: 0;
  pointer-events: none; z-index: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0 0.04 0'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>");
  opacity: .35;
}
.cp-page > * { position: relative; z-index: 1; }

.cp-display {
  font-family: 'Russo One', 'Unbounded', Impact, sans-serif;
  letter-spacing: -0.015em; text-transform: uppercase;
}
.cp-container { max-width: 1500px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 48px); }

.cp-section-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--cp-fire);
}
.cp-section-title {
  font-size: clamp(40px, 7vw, 112px);
  line-height: 0.92;
  margin: clamp(14px, 2vh, 24px) 0 clamp(28px, 4vh, 48px);
  word-break: break-word;
}
.cp-accent { color: var(--cp-fire); }
.cp-pulse-text { color: var(--cp-pulse); }

.cp-pulse-dot {
  display: inline-block; width: 8px; height: 8px;
  border-radius: 50%; background: var(--cp-pulse);
  animation: cp-pulse 2s ease-out infinite; flex-shrink: 0;
}
@keyframes cp-pulse {
  0% { box-shadow: 0 0 0 0 rgba(196, 255, 0, .55); }
  100% { box-shadow: 0 0 0 18px rgba(196, 255, 0, 0); }
}

/* =================================
   GLITCH
   ================================= */
.cp-glitch { position: relative; display: inline-block; }
.cp-glitch::before, .cp-glitch::after {
  content: attr(data-text);
  position: absolute; top: 0; left: 0;
  width: 100%; opacity: 0;
}
.cp-glitch::before { color: var(--cp-fire); transform: translate(-3px, 0); mix-blend-mode: screen; }
.cp-glitch::after  { color: var(--cp-sky); transform: translate(3px, 0); mix-blend-mode: screen; }
.cp-glitch.active::before { animation: cp-gA .35s steps(1) 2; opacity: 1; }
.cp-glitch.active::after  { animation: cp-gB .35s steps(1) 2; opacity: 1; }
@keyframes cp-gA {
  0% { transform: translate(-3px,0); clip-path: inset(10% 0 80% 0); }
  50% { transform: translate(-5px,-1px); clip-path: inset(85% 0 5% 0); }
  100% { transform: translate(-3px,0); clip-path: inset(10% 0 80% 0); }
}
@keyframes cp-gB {
  0% { transform: translate(3px,0); clip-path: inset(70% 0 10% 0); }
  50% { transform: translate(2px,2px); clip-path: inset(45% 0 30% 0); }
  100% { transform: translate(3px,0); clip-path: inset(70% 0 10% 0); }
}

/* =================================
   HERO
   ================================= */
.cp-hero {
  position: relative;
  padding: clamp(96px, 14vh, 156px) 0 clamp(64px, 10vh, 112px);
  overflow: hidden;
}
.cp-hero-grain {
  position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0 0.06 0'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>");
  opacity: .5;
}
.cp-hero-fire {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 90% 30%, rgba(255, 69, 36, .14) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 10% 80%, rgba(196, 255, 0, .06) 0%, transparent 60%);
}
.cp-hero-content { position: relative; z-index: 2; }

.cp-kicker {
  display: flex; align-items: center; gap: 12px;
  font-family: 'JetBrains Mono', monospace; font-size: 11px;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--cp-fire);
  margin-bottom: clamp(20px, 3vh, 32px);
}

.cp-h1 {
  font-size: clamp(48px, 9.5vw, 168px);
  line-height: 0.86;
  margin: 0;
  word-break: keep-all;
}
.cp-h1 .cp-glitch { display: block; }

.cp-lead {
  margin-top: clamp(24px, 4vh, 40px);
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.55;
  color: rgba(244, 237, 225, .82);
  max-width: 820px;
}
.cp-lead strong { color: var(--cp-cream); font-weight: 500; }

.cp-hero-meta {
  margin-top: clamp(32px, 5vh, 56px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(16px, 2.5vw, 32px);
  border-top: 1px solid var(--cp-faint2);
  padding-top: clamp(20px, 3vh, 28px);
}
@media (min-width: 768px) { .cp-hero-meta { grid-template-columns: repeat(4, 1fr); } }
.cp-meta-item {
  display: flex; flex-direction: column; gap: 6px;
}
.cp-meta-num {
  font-family: 'Russo One', Impact, sans-serif;
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1; letter-spacing: -0.01em;
  color: var(--cp-cream);
}
.cp-meta-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase;
  color: rgba(244, 237, 225, .55);
}
.cp-meta-status { display: flex; flex-direction: row; align-items: center; gap: 10px; flex-wrap: wrap; }
.cp-status-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--cp-pulse);
  animation: cp-pulse 2s ease-out infinite;
}
.cp-meta-status-text { color: var(--cp-pulse); }

/* =================================
   CHANNELS
   ================================= */
.cp-channels {
  padding: clamp(72px, 12vh, 144px) 0;
  border-top: 1px solid var(--cp-faint);
}
.cp-channels-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: var(--cp-faint);
  border: 1px solid var(--cp-faint);
}
@media (min-width: 768px) { .cp-channels-grid { grid-template-columns: repeat(2, 1fr); } }

.cp-ch {
  position: relative;
  display: flex; flex-direction: column; gap: 18px;
  padding: clamp(24px, 3.5vw, 44px);
  background: var(--cp-ink);
  text-decoration: none; color: inherit;
  border: none;
  cursor: pointer; text-align: left;
  font: inherit;
  transition: background-color .25s, transform .15s;
  overflow: hidden;
}
.cp-ch::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(135deg, transparent 60%, rgba(255, 69, 36, .04) 100%);
  opacity: 0; transition: opacity .25s;
}
.cp-ch:hover { background: rgba(255, 69, 36, .03); }
.cp-ch:hover::before { opacity: 1; }
.cp-ch-tg:hover { background: rgba(125, 196, 255, .04); }
.cp-ch-mail:hover { background: rgba(255, 69, 36, .04); }
.cp-ch-form:hover { background: rgba(196, 255, 0, .04); }
.cp-ch-call:hover { background: rgba(255, 125, 168, .04); }

.cp-ch-icon {
  width: 56px; height: 56px;
  border: 1px solid var(--cp-faint2);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: 'Russo One', sans-serif; font-size: 22px;
  color: var(--cp-fire);
  flex-shrink: 0;
  transition: background-color .25s, color .25s, border-color .25s;
}
.cp-ch:hover .cp-ch-icon {
  background: var(--cp-fire); color: var(--cp-cream); border-color: var(--cp-fire);
}
.cp-ch-tg:hover .cp-ch-icon { background: var(--cp-sky); border-color: var(--cp-sky); color: var(--cp-ink); }
.cp-ch-form:hover .cp-ch-icon { background: var(--cp-pulse); border-color: var(--cp-pulse); color: var(--cp-ink); }
.cp-ch-call:hover .cp-ch-icon { background: var(--cp-rose); border-color: var(--cp-rose); color: var(--cp-ink); }

.cp-ch-icon-mono { font-family: 'JetBrains Mono', monospace; font-weight: 700; }

.cp-ch-body { flex: 1; }
.cp-ch-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--cp-fire);
  margin-bottom: 10px;
}
.cp-ch-tg .cp-ch-tag { color: var(--cp-sky); }
.cp-ch-form .cp-ch-tag { color: var(--cp-pulse); }
.cp-ch-call .cp-ch-tag { color: var(--cp-rose); }

.cp-ch-title {
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1; margin: 0 0 10px;
}
.cp-ch-desc {
  font-size: 15px; line-height: 1.55;
  color: rgba(244, 237, 225, .72);
  margin: 0 0 14px;
}
.cp-ch-handle {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  color: var(--cp-cream);
  padding: 8px 12px;
  border: 1px dashed var(--cp-faint2);
  position: relative;
  cursor: text;
}
[data-copy] { cursor: pointer; transition: border-color .2s, color .2s; }
[data-copy]:hover { border-color: var(--cp-fire); color: var(--cp-fire); }
[data-copy]::after {
  content: "copy"; margin-left: 10px;
  font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase;
  color: rgba(244, 237, 225, .4);
}
[data-copy].is-copied::after { content: "copied ✓"; color: var(--cp-pulse); }

.cp-ch-foot {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--cp-faint);
  display: flex; justify-content: space-between; align-items: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(244, 237, 225, .55);
}
.cp-ch-arrow { color: var(--cp-fire); transition: transform .25s; font-size: 16px; }
.cp-ch:hover .cp-ch-arrow { transform: translateX(6px); }

/* =================================
   HOURS / LOCATIONS
   ================================= */
.cp-hours {
  padding: clamp(72px, 12vh, 144px) 0;
  border-top: 1px solid var(--cp-faint);
}
.cp-hours-intro {
  font-size: clamp(15px, 1.3vw, 18px); line-height: 1.65;
  color: rgba(244, 237, 225, .72);
  max-width: 720px;
  margin: 0 0 clamp(32px, 5vh, 56px);
}

.cp-locs-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: var(--cp-faint);
  border: 1px solid var(--cp-faint);
}
@media (min-width: 768px) { .cp-locs-grid { grid-template-columns: repeat(3, 1fr); } }

.cp-loc {
  background: var(--cp-ink);
  padding: clamp(24px, 3vw, 36px);
  display: flex; gap: 20px; align-items: flex-start;
}
.cp-loc-flag {
  font-size: 40px; line-height: 1;
  flex-shrink: 0;
}
.cp-loc-body { flex: 1; min-width: 0; }
.cp-loc-name {
  font-family: 'Russo One', sans-serif;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1; letter-spacing: -0.01em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.cp-loc-cities {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(244, 237, 225, .55);
  margin-bottom: 16px;
}
.cp-loc-clock {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1; letter-spacing: -0.02em;
  color: var(--cp-pulse);
  font-feature-settings: "tnum" 1;
  margin-bottom: 6px;
}
.cp-loc-hours {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px; letter-spacing: 0.06em;
  color: rgba(244, 237, 225, .55);
}

/* =================================
   TEAM
   ================================= */
.cp-team {
  padding: clamp(72px, 12vh, 144px) 0;
  border-top: 1px solid var(--cp-faint);
}
.cp-team-intro {
  font-size: clamp(15px, 1.3vw, 18px); line-height: 1.65;
  color: rgba(244, 237, 225, .72);
  max-width: 720px;
  margin: 0 0 clamp(32px, 5vh, 48px);
}

.cp-team-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: var(--cp-faint);
  border: 1px solid var(--cp-faint);
}
@media (min-width: 768px) { .cp-team-grid { grid-template-columns: repeat(3, 1fr); } }

.cp-team-card {
  background: var(--cp-ink);
  padding: clamp(24px, 3vw, 36px);
  display: flex; flex-direction: column;
}
.cp-team-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--cp-fire);
  margin-bottom: 14px;
}
.cp-team-name {
  font-family: 'Russo One', sans-serif;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1; letter-spacing: -0.015em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.cp-team-role {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--cp-pulse);
  margin-bottom: 16px;
}
.cp-team-bio {
  font-size: 14px; line-height: 1.6;
  color: rgba(244, 237, 225, .72);
  margin: 0;
}

/* =================================
   FAQ
   ================================= */
.cp-faq {
  padding: clamp(72px, 12vh, 144px) 0;
  border-top: 1px solid var(--cp-faint);
}
.cp-faq-grid { border-top: 1px solid var(--cp-faint2); }

.cp-faq-item {
  border-bottom: 1px solid var(--cp-faint2);
  padding: 0;
}
.cp-faq-q {
  display: flex; align-items: center; gap: clamp(16px, 2vw, 28px);
  padding: clamp(20px, 3vh, 28px) 0;
  font-family: 'Russo One', sans-serif;
  font-size: clamp(20px, 2.4vw, 28px); line-height: 1.05;
  text-transform: uppercase; letter-spacing: -0.005em;
  color: var(--cp-cream);
  cursor: pointer; user-select: none;
  list-style: none;
  transition: color .25s;
}
.cp-faq-q::-webkit-details-marker { display: none; }
.cp-faq-q:hover { color: var(--cp-fire); }
.cp-faq-q-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px; letter-spacing: 0.3em;
  color: var(--cp-fire);
  flex-shrink: 0;
  width: 36px;
}
.cp-faq-q-text { flex: 1; }
.cp-faq-q-icon {
  font-family: 'JetBrains Mono', monospace;
  font-size: 22px;
  color: var(--cp-fire);
  flex-shrink: 0;
  transition: transform .25s;
}
.cp-faq-item[open] .cp-faq-q-icon { transform: rotate(45deg); }
.cp-faq-a {
  padding: 0 0 clamp(20px, 3vh, 28px) calc(36px + clamp(16px, 2vw, 28px));
  max-width: 800px;
}
.cp-faq-a p {
  font-size: clamp(15px, 1.3vw, 17px); line-height: 1.7;
  color: rgba(244, 237, 225, .8);
  margin: 0;
}
.cp-faq-a code {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.9em;
  background: rgba(255, 69, 36, .12);
  color: var(--cp-fire);
  padding: 2px 6px;
}
.cp-faq-a a {
  color: var(--cp-pulse); text-decoration: underline;
  text-decoration-color: rgba(196, 255, 0, .3);
  text-underline-offset: 4px;
}

/* =================================
   FINAL CTA
   ================================= */
.cp-final {
  padding: clamp(80px, 14vh, 160px) 0 clamp(64px, 10vh, 96px);
  border-top: 1px solid var(--cp-faint);
  background:
    linear-gradient(180deg, rgba(255, 69, 36, .04) 0%, transparent 60%),
    var(--cp-ink);
}
.cp-final-title {
  font-size: clamp(48px, 10vw, 168px);
  line-height: 0.88;
  margin: clamp(20px, 3vh, 32px) 0 clamp(36px, 5vh, 56px);
  word-break: keep-all;
}
.cp-final-title .cp-glitch { display: block; }
.cp-final-buttons {
  display: flex; flex-wrap: wrap; gap: 12px;
}

/* =================================
   BUTTONS shared
   ================================= */
.cp-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: clamp(16px, 2vw, 22px) clamp(22px, 2.8vw, 32px);
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px; letter-spacing: 0.25em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; border: none;
  transition: background-color .3s, color .3s, border-color .3s;
  will-change: transform;
}
.cp-btn-label { display: inline-block; will-change: transform; }
.cp-btn-primary { background: var(--cp-fire); color: var(--cp-cream); }
.cp-btn-primary:hover { background: var(--cp-pulse); color: var(--cp-ink); }
.cp-btn-secondary {
  background: transparent;
  border: 1px solid rgba(244, 237, 225, .2);
  color: var(--cp-cream);
}
.cp-btn-secondary:hover { border-color: var(--cp-fire); color: var(--cp-fire); }

/* =================================
   RESPONSIVE
   ================================= */
@media (max-width: 575.98px) {
  .cp-h1 { font-size: clamp(40px, 12vw, 72px); }
  .cp-section-title { font-size: clamp(36px, 10vw, 64px); }
  .cp-final-title { font-size: clamp(40px, 11vw, 80px); }
  .cp-loc { gap: 14px; padding: 20px; }
  .cp-loc-flag { font-size: 32px; }
  .cp-loc-clock { font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .cp-pulse-dot, .cp-status-dot { animation: none; }
  .cp-glitch.active::before, .cp-glitch.active::after { animation: none; opacity: 0; }
}
