/* Equip Media Co. marketing site styles — built on colors_and_type.css */

/* ---- Section / container ---- */
.emc-container { width:100%; max-width:1280px; margin:0 auto; padding:0 32px; box-sizing:border-box; }
.emc-section { padding:96px 0; }

.emc-eyebrow {
  display:inline-block;
  font-family:var(--font-body);
  font-weight:600;
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  margin-bottom:16px;
}
.emc-eyebrow--stream { color:var(--stream-700); }
.emc-eyebrow--accent { color:var(--quartz-700); }
.emc-eyebrow--white  { color:var(--stream-200); }

.emc-section__title {
  font-family:var(--font-display);
  font-weight:700;
  font-size:48px;
  line-height:1.05;
  letter-spacing:-0.02em;
  color:var(--tectonic-black);
  margin:0 0 56px 0;
  text-wrap:pretty;
  max-width:780px;
}

/* ---- Buttons ---- */
.emc-btn {
  font-family:var(--font-body);
  font-weight:600;
  font-size:15px;
  line-height:1;
  border-radius:4px;
  border:1px solid transparent;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  text-decoration:none;
  transition: background 120ms cubic-bezier(.2,0,0,1), color 120ms cubic-bezier(.2,0,0,1), transform 80ms;
  white-space:nowrap;
}
.emc-btn:active { transform: translateY(1px); }
.emc-btn__arrow {
  font-family:var(--font-display);
  font-weight:900;
  font-size:1.1em;
  line-height:1;
  transition: transform 200ms cubic-bezier(.2,0,0,1);
}
.emc-btn:hover .emc-btn__arrow { transform: translateX(3px); }

.emc-btn--sm { padding:9px 14px; font-size:13px; }
.emc-btn--md { padding:12px 20px; }
.emc-btn--lg { padding:16px 28px; font-size:16px; }

.emc-btn--primary { background:var(--cobalt-500); color:#fff; }
.emc-btn--primary:hover { background:var(--cobalt-600); }
.emc-btn--accent  { background:var(--quartz-500); color:#fff; }
.emc-btn--accent:hover  { background:var(--quartz-600); }
.emc-btn--secondary { background:#fff; color:var(--cobalt-500); border-color:var(--cobalt-500); }
.emc-btn--secondary:hover { background:var(--cobalt-50); }
.emc-btn--ghost { background:transparent; color:var(--tectonic-black); }
.emc-btn--ghost:hover { background:var(--neutral-50); }

/* ---- Nav ---- */
.emc-nav {
  position:sticky; top:0; z-index:30;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px;
  background:rgba(255,255,255,0.92);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--neutral-100);
}
.emc-nav__brand img { height:30px; display:block; }
.emc-nav__links { display:flex; gap:28px; }
.emc-nav__link {
  font-family:var(--font-body);
  font-weight:500; font-size:14px; color:var(--tectonic-black);
  text-decoration:none; padding:6px 2px; position:relative;
  transition: color 120ms;
}
.emc-nav__link:hover { color:var(--cobalt-500); }
.emc-nav__link.is-active { color:var(--cobalt-500); }
.emc-nav__link.is-active::after {
  content:""; position:absolute; left:0; right:0; bottom:-3px; height:2px;
  background:var(--quartz-500); border-radius:2px;
}

/* ---- Hero ---- */
.emc-hero {
  position:relative;
  background:var(--surface-altitude-blue);
  padding:120px 0 140px;
  overflow:hidden;
}
.emc-hero__inner { max-width:1280px; margin:0 auto; padding:0 32px; position:relative; z-index:2; }
.emc-hero__title {
  font-family:var(--font-display);
  font-weight:700;
  font-size:96px;
  line-height:0.95;
  letter-spacing:-0.025em;
  color:var(--tectonic-black);
  margin:0 0 24px;
  max-width:1000px;
  text-wrap:balance;
}
.emc-hero__title--accent { color:var(--cobalt-500); }
.emc-hero__sub {
  font-family:var(--font-body);
  font-size:20px; line-height:1.5; color:var(--cool-gray);
  max-width:560px; margin:0 0 40px;
}
.emc-hero__ctas { display:flex; gap:14px; flex-wrap:wrap; }
.emc-hero__mark {
  position:absolute; right:-80px; top:50%; transform:translateY(-50%);
  width:520px; opacity:0.08; pointer-events:none;
}
.emc-hero__mark img { width:100%; display:block; }

/* ---- Stats ---- */
.emc-stats { background:#fff; padding:80px 0; border-bottom:1px solid var(--neutral-100); }
.emc-stats__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.emc-stat__num {
  font-family:var(--font-display); font-weight:700;
  font-size:88px; line-height:0.9; letter-spacing:-0.025em;
  color:var(--cobalt-500);
}
.emc-stat__num--accent { color:var(--quartz-500); }
.emc-stat__num--stream { color:var(--stream-500); }
.emc-stat__lbl {
  font-family:var(--font-body); font-weight:600; font-size:12px;
  letter-spacing:0.06em; text-transform:uppercase; color:var(--stream-700);
  margin-top:18px;
}
.emc-stat__desc { font-family:var(--font-body); font-size:14px; color:var(--cool-gray); margin-top:8px; line-height:1.5; }

/* ---- Services ---- */
.emc-services { background:#fff; }
.emc-services__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:48px 64px; }
.emc-service { padding:32px 0; border-top:1px solid var(--neutral-200); }
.emc-service__num {
  font-family:var(--font-display); font-weight:700; font-size:14px;
  letter-spacing:0.06em; color:var(--quartz-500); margin-bottom:14px;
}
.emc-service__title {
  font-family:var(--font-display); font-weight:700; font-size:32px;
  line-height:1.1; letter-spacing:-0.015em; color:var(--tectonic-black); margin:0 0 12px;
}
.emc-service__body { font-family:var(--font-body); font-size:16px; color:var(--cool-gray); line-height:1.6; margin:0; }

/* ---- Work ---- */
.emc-work { background:var(--neutral-50); }
.emc-work__head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; gap:32px; flex-wrap:wrap; }
.emc-work__head .emc-section__title { margin-bottom:0; }
.emc-chips { display:flex; gap:8px; flex-wrap:wrap; }
.emc-chip {
  font-family:var(--font-body); font-weight:500; font-size:13px;
  padding:8px 14px; border-radius:9999px;
  background:#fff; border:1px solid var(--neutral-200); color:var(--tectonic-black);
  cursor:pointer; transition:all 120ms;
}
.emc-chip:hover { border-color:var(--cobalt-300); }
.emc-chip.is-on { background:var(--cobalt-500); color:#fff; border-color:var(--cobalt-500); }

.emc-work__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.emc-card {
  background:#fff; border-radius:8px; overflow:hidden; text-decoration:none;
  box-shadow:0 1px 2px 0 rgba(0,0,20,0.05);
  transition: transform 200ms cubic-bezier(.2,0,0,1), box-shadow 200ms;
  display:flex; flex-direction:column;
}
.emc-card:hover { transform:translateY(-4px); box-shadow:0 12px 24px 0 rgba(0,0,20,0.1), 0 4px 8px 0 rgba(0,0,20,0.05); }

.emc-card__img { aspect-ratio: 4/3; position:relative; overflow:hidden; }
.emc-card__img--cobalt    { background:linear-gradient(135deg,var(--cobalt-400),var(--cobalt-700)); }
.emc-card__img--stream    { background:linear-gradient(135deg,var(--stream-300),var(--stream-600)); }
.emc-card__img--quartz    { background:linear-gradient(135deg,var(--quartz-300),var(--quartz-600)); }
.emc-card__img--tectonic  { background:linear-gradient(135deg,var(--neutral-700),var(--tectonic-black)); }
.emc-card__img--altitude  { background:linear-gradient(135deg,#E6F0FF,#94A6BF); }
.emc-card__img--sandstone { background:linear-gradient(135deg,#FFF0E6,#ECAA8D); }

.emc-card__tag {
  position:absolute; top:14px; left:14px;
  font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:0.05em; text-transform:uppercase;
  background:rgba(255,255,255,0.92); color:var(--tectonic-black);
  padding:4px 8px; border-radius:2px;
}
.emc-card__body { padding:20px; }
.emc-card__client {
  font-family:var(--font-body); font-weight:600; font-size:12px;
  letter-spacing:0.05em; text-transform:uppercase; color:var(--stream-700); margin-bottom:8px;
}
.emc-card__title {
  font-family:var(--font-display); font-weight:700; font-size:22px;
  line-height:1.15; letter-spacing:-0.01em; color:var(--tectonic-black);
}

/* ---- Quote ---- */
.emc-quote {
  background:var(--cobalt-500); color:#fff;
  padding:120px 0; position:relative;
}
.emc-quote__mark {
  font-family:var(--font-display); font-weight:900; font-size:200px; line-height:0.5;
  color:var(--stream-300); opacity:0.4; position:absolute; top:80px; left:32px;
}
.emc-quote__text {
  font-family:var(--font-display); font-weight:700;
  font-size:40px; line-height:1.2; letter-spacing:-0.015em;
  max-width:880px; margin:0 0 40px; position:relative; z-index:1;
  text-wrap:balance;
}
.emc-quote__name { font-family:var(--font-body); font-weight:600; font-size:16px; }
.emc-quote__role { font-family:var(--font-body); font-size:14px; color:var(--stream-200); margin-top:2px; }

/* ---- CTA band ---- */
.emc-cta { background:var(--tectonic-black); color:#fff; padding:80px 0; }
.emc-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.emc-cta__title {
  font-family:var(--font-display); font-weight:700; font-size:48px;
  line-height:1.05; letter-spacing:-0.02em; margin:0; color:#fff;
}

/* ---- Footer ---- */
.emc-footer { background:var(--tectonic-black); color:#fff; padding:64px 0 0; border-top:1px solid rgba(255,255,255,0.08); }
.emc-footer__inner { display:grid; grid-template-columns:1.4fr 2fr; gap:48px; padding-bottom:48px; }
.emc-footer__brand img { height:32px; display:block; margin-bottom:14px; }
.emc-footer__tag { font-family:var(--font-body); font-size:14px; color:var(--stream-200); }
.emc-footer__cols { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.emc-footer__head {
  font-family:var(--font-body); font-weight:600; font-size:11px;
  letter-spacing:0.06em; text-transform:uppercase; color:var(--stream-200);
  margin-bottom:14px;
}
.emc-footer__cols a {
  display:block; color:rgba(255,255,255,0.85); text-decoration:none;
  font-family:var(--font-body); font-size:14px; margin-bottom:8px;
}
.emc-footer__cols a:hover { color:#fff; }
.emc-footer__bottom {
  display:flex; justify-content:space-between;
  padding:20px 32px; max-width:1280px; margin:0 auto;
  border-top:1px solid rgba(255,255,255,0.08);
  font-family:var(--font-body); font-size:12px; color:rgba(255,255,255,0.5);
}

/* ---- Responsive (basic) ---- */
@media (max-width: 900px) {
  .emc-hero__title { font-size:64px; }
  .emc-section__title { font-size:36px; }
  .emc-stats__grid { grid-template-columns:repeat(2,1fr); }
  .emc-services__grid { grid-template-columns:1fr; }
  .emc-work__grid { grid-template-columns:1fr 1fr; }
  .emc-footer__inner { grid-template-columns:1fr; }
  .emc-nav__links { display:none; }
}
