/* Approved diamond artwork with independent, responsive HTML copy. */
.site-header {
  background: #0b0f12;
  border-bottom: 1px solid #30363c;
}
.site-header .wrap,
.hero .wrap { width: min(calc(100% - 6.5rem), 90rem); }
.header-inner { min-height: 6.7rem; }
.brand { font-size: clamp(1.4rem, 2.1vw, 2rem); font-weight: 400; letter-spacing: .005em; }
.brand img { height: 3.8rem; }
.site-nav a { font-weight: 400; }
.site-nav .nav-contact { padding: .7rem 2.3rem; }
.hero { background: #0b0f12; isolation: isolate; }
.hero-scene {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  z-index: 0;
}
.hero-shell {
  position: relative;
  min-height: clamp(38rem, 41.67vw, 48rem);
  padding-block: 4.1rem 7rem;
  align-items: flex-start;
}
.hero-copy { width: 55%; max-width: 46rem; background: none; }
.hero-context { margin-bottom: 1.5rem; font-size: 1rem; font-weight: 400; color: #c8cdd3; }
.hero h1 {
  font-family: "Outfit", Arial, sans-serif;
  font-size: clamp(3.2rem, 5.15vw, 5rem);
  font-weight: 400;
  line-height: 1.13;
  letter-spacing: -.01em;
  margin-bottom: 1.25rem;
  color: #f3f5f7;
}
.hero-copy .lead {
  font-family: "Outfit", Arial, sans-serif;
  font-size: clamp(1.2rem, 1.95vw, 1.85rem);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .005em;
  color: #f3f5f7;
}
.hero-actions { margin-top: 2.25rem; }
.hero .button { font-weight: 400; font-size: 1.15rem; letter-spacing: .01em; padding: .85rem 2.2rem; }
.tagline-band { background: #0b0f12; border-top: 1px solid #697078; padding: 3rem 0 4rem; }
.tagline-band p { font-weight: 400; letter-spacing: .005em; line-height: 1.25; color: #f3f5f7; }
body::before,
body::after { animation: none; }
:focus-visible { outline: 3px solid #c8cdd3; outline-offset: 5px; }
.principles :focus-visible { outline-color: #20262c; }
@media (max-width: 1100px) {
  .site-header .wrap,
  .hero .wrap { width: calc(100% - 3rem); }
  .header-inner { gap: 1.25rem; }
  .site-nav ul { gap: .75rem 1.1rem; }
  .site-nav .nav-contact { padding: .5rem 1rem; }
  .hero-copy { width: 56%; }
  .hero h1 { font-size: clamp(2.8rem, 5.15vw, 3.6rem); }
  .hero-copy .lead { font-size: 1.3rem; }
}
@media (max-width: 850px) {
  .header-inner { flex-direction: column; align-items: flex-start; padding-block: 1.1rem; }
  .site-nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .hero-shell { min-height: 0; padding-block: 2.7rem 23rem; }
  .hero-copy { width: 100%; max-width: 40rem; }
  .hero h1 { font-size: clamp(2.5rem, 7.5vw, 4.2rem); }
  .hero-copy .lead { font-size: 1.3rem; }
  .hero-scene { top: auto; bottom: 0; height: 23rem; object-fit: cover; object-position: 70% bottom; }
  .hero-actions { margin-top: 1.5rem; }
  .tagline-band { padding-block: 2.5rem; }
}
@media (max-width: 420px) {
  .site-header .wrap,
  .hero .wrap { width: calc(100% - 2rem); }
  .brand { gap: .65rem; font-size: 1.35rem; }
  .brand img { height: 2.8rem; }
  .hero h1 { font-size: clamp(2rem, 9vw, 2.4rem); }
  .hero-copy .lead { font-size: 1.125rem; }
  .hero-copy .lead br { display: none; }
  .hero-context { letter-spacing: .2em; }
  .hero .button { font-size: 1rem; padding-inline: 1.5rem; }
}
