/* Carbon tokens (White theme + Gray 100 accents) */
:root {
  --cds-background: #ffffff;
  --cds-layer: #f4f4f4;
  --cds-text-primary: #161616;
  --cds-text-secondary: #525252;
  --cds-border-subtle: #e0e0e0;
  --cds-interactive: #0f62fe;
  --cds-dark: #161616;
  --cds-dark-layer: #262626;
  --cds-dark-text: #f4f4f4;
  --cds-dark-text-secondary: #c6c6c6;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 48px; }
body {
  margin: 0;
  font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
  background: var(--cds-background);
  color: var(--cds-text-primary);
}
img { max-width: 100%; display: block; }

/* Header */
.header-phone {
  width: auto !important;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  color: #f4f4f4;
  text-decoration: none;
  font-size: .875rem;
}
.header-phone svg { fill: #f4f4f4; }
.bx--header__menu-toggle { display: none; color: #f4f4f4; }
.bx--header__menu-toggle svg { fill: #f4f4f4; }
@media (max-width: 1055px) {
  .bx--header__menu-toggle { display: flex; align-items: center; justify-content: center; }
}
@media (max-width: 480px) { .header-phone span { display: none; } }

.mobile-nav {
  position: fixed;
  top: 48px; left: 0; right: 0;
  z-index: 7000;
  background: var(--cds-dark);
  border-top: 1px solid #393939;
  display: flex;
  flex-direction: column;
}
.mobile-nav[hidden] { display: none; }
.mobile-nav a {
  color: var(--cds-dark-text-secondary);
  text-decoration: none;
  padding: 1rem;
  border-bottom: 1px solid #393939;
}
.mobile-nav a:hover { background: #353535; color: #fff; }

main { padding-top: 48px; }

/* Shared */
.eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  font-size: .75rem;
  letter-spacing: .32px;
  text-transform: uppercase;
  color: var(--cds-interactive);
  margin-bottom: 1rem;
}
.section { padding: 6rem 0; }
.section--layer { background: var(--cds-layer); }
.section__title {
  font-size: clamp(1.75rem, 3vw, 2.625rem);
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 2rem;
}
.body-copy, .step p, .service p {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--cds-text-secondary);
}

/* Hero */
.hero {
  position: relative;
  min-height: 78vh;
  display: flex;
  align-items: flex-end;
  color: #fff;
  overflow: hidden;
}
.hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(22,22,22,.92) 0%, rgba(22,22,22,.7) 55%, rgba(22,22,22,.25) 100%);
}
.hero__content { position: relative; width: 100%; padding-top: 6rem; padding-bottom: 6rem; }
.hero .eyebrow { color: #78a9ff; }
.hero__title {
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  font-weight: 300;
  line-height: 1.15;
  margin-bottom: 1.5rem;
}
.hero__lead { font-size: 1.25rem; line-height: 1.4; color: #e0e0e0; max-width: 36rem; margin-bottom: 2.5rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.btn-on-dark { color: #fff; border-color: #fff; }
.btn-on-dark:hover { background: #fff; color: var(--cds-dark); }

/* Service tiles */
.tiles > [class*="bx--col"] { margin-bottom: 2rem; }
.service { padding: 0; height: 100%; background: var(--cds-layer); transition: background .11s; }
.service:hover { background: #e8e8e8; }
.service img { aspect-ratio: 16 / 10; width: 100%; object-fit: cover; }
.service__body { padding: 1.5rem 1rem 2rem; }
.service h3, .step h3 { font-size: 1.25rem; font-weight: 400; margin-bottom: .75rem; }

/* About */
.about { align-items: center; }
.about__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin-bottom: 2rem; }
.stats { list-style: none; padding: 0; margin-top: 2rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1px; background: var(--cds-border-subtle); }
.stats li { background: var(--cds-layer); padding: 1rem 1rem 1rem 0; display: flex; flex-direction: column; gap: .25rem; }
.stat__num { font-size: 1.75rem; font-weight: 300; }
.stat__label { font-size: .875rem; color: var(--cds-text-secondary); }

.about .body-copy + .body-copy { margin-top: 1rem; }

/* Values */
.values { margin-top: 4rem; }
.values__title { font-size: 1.5rem; font-weight: 400; margin-bottom: 1.5rem; }
.value { border-top: 2px solid var(--cds-interactive); padding-top: 1rem; margin-bottom: 2rem; }
.value h4 { font-size: 1rem; font-weight: 600; margin-bottom: .5rem; }
.value p { font-size: .875rem; line-height: 1.5; color: var(--cds-text-secondary); }

/* Steps */
.step { border-top: 1px solid var(--cds-border-subtle); padding-top: 1.5rem; margin-bottom: 2rem; }
.step__num { font-family: 'IBM Plex Mono', monospace; color: var(--cds-interactive); display: block; margin-bottom: 1rem; }

/* Contact (Gray 100) */
.section--dark { background: var(--cds-dark); color: var(--cds-dark-text); }
.section--dark .eyebrow { color: #78a9ff; }
.contact-info { margin-bottom: 3rem; }
.contact-list { margin-bottom: 2rem; }
.contact-list dt { font-size: .75rem; color: var(--cds-dark-text-secondary); margin-top: 1.25rem; }
.contact-list dd { font-size: 1.25rem; line-height: 1.4; margin: .25rem 0 0; }
.contact-list a, .footer a { color: #78a9ff; text-decoration: none; }
.contact-list a:hover, .footer a:hover { text-decoration: underline; }
.contact-form .bx--form-item { margin-bottom: 1.5rem; }
.section--dark .bx--label { color: var(--cds-dark-text-secondary); }
.section--dark .bx--text-input,
.section--dark .bx--text-area {
  background: var(--cds-dark-layer);
  color: var(--cds-dark-text);
  border-bottom-color: #6f6f6f;
  width: 100%;
}
.botcheck { display: none; }
.form-note { margin-top: 1rem; color: var(--cds-dark-text-secondary); min-height: 1.5rem; }

/* Footer */
.footer { background: #000; color: var(--cds-dark-text-secondary); padding: 3rem 0; font-size: .875rem; line-height: 1.6; }
.footer__brand { color: #fff; font-size: 1.125rem; margin-bottom: .5rem; }
.footer__right { text-align: right; }
@media (max-width: 671px) {
  .footer__right { text-align: left; margin-top: 1.5rem; }
  .section { padding: 4rem 0; }
}
