/* ==================== PAGE HERO (inner pages) ==================== */
.page-hero {
  background-color: var(--color-charcoal);
  color: var(--color-offwhite);
  padding: var(--space-3xl) 0 var(--space-2xl);
  min-height: 40vh;
  display: flex;
  align-items: flex-end;
}

.page-hero__overline {
  margin-bottom: var(--space-md);
}

.page-hero__title {
  margin-bottom: var(--space-sm);
}

.page-hero__subtitle {
  font-size: var(--text-lg);
  font-weight: 300;
  color: rgba(245, 243, 240, 0.6);
  max-width: 50ch;
}

/* ==================== HOMEPAGE ==================== */

/* Hero */
.home-hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: var(--color-charcoal);
  color: var(--color-offwhite);
  padding: var(--space-3xl) var(--container-padding);
  position: relative;
  overflow: hidden;
}

.home-hero__video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  object-fit: cover;
  z-index: 0;
}

.home-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(26, 26, 26, 0.55);
  z-index: 1;
}

.home-hero .container {
  position: relative;
  z-index: 2;
}

.home-hero__overline {
  margin-bottom: var(--space-lg);
}

.home-hero__title {
  max-width: 20ch;
  margin: 0 auto var(--space-md);
}

.home-hero__subtitle {
  font-size: var(--text-lg);
  font-weight: 300;
  color: rgba(245, 243, 240, 0.6);
  max-width: 48ch;
  margin: 0 auto;
}

.home-hero__scroll {
  position: absolute;
  bottom: var(--space-xl);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
}

.home-hero__scroll-line {
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, var(--color-taupe), transparent);
  animation: scrollPulse 2s var(--ease-in-out) infinite;
}

@keyframes scrollPulse {
  0%, 100% { opacity: 0.3; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.2); }
}

/* Value Props */
.value-props {
  padding: var(--space-3xl) 0;
}

.value-prop {
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-taupe);
}

.value-prop__number {
  margin-bottom: var(--space-sm);
}

.value-prop__title {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  margin-bottom: var(--space-xs);
  line-height: 1.25;
}

.value-prop__text {
  font-size: var(--text-sm);
  color: rgba(43, 45, 47, 0.65);
  line-height: 1.7;
}

/* Positioning Quote */
.quote-section {
  padding: var(--space-3xl) 0;
  display: flex;
  justify-content: center;
  text-align: center;
}

.quote-section blockquote {
  margin: 0 auto;
}

.quote-section .rule {
  margin: var(--space-md) auto 0;
}

/* CTA Band */
.cta-band {
  padding: var(--space-2xl) 0;
  text-align: center;
}

.cta-band__title {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  margin-bottom: var(--space-md);
}

/* ==================== SERVICES PAGE ==================== */
.service-section__left {
  position: sticky;
  top: calc(var(--header-height) + var(--space-lg));
}

.service-section__number {
  margin-bottom: var(--space-sm);
}

.service-section__heading {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-sm);
}

.service-section__intro {
  font-size: var(--text-sm);
  color: rgba(43, 45, 47, 0.6);
}

.service-item {
  padding: var(--space-md) 0;
  border-bottom: 1px solid rgba(138, 126, 107, 0.2);
}

.service-item:first-child {
  padding-top: 0;
}

.service-item__title {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--text-base);
  margin-bottom: 0.25em;
}

.service-item__text {
  font-size: var(--text-sm);
  color: rgba(43, 45, 47, 0.65);
  line-height: 1.7;
}

.bg-warmgray .service-item {
  border-bottom-color: rgba(138, 126, 107, 0.3);
}

.bg-warmgray .service-section__intro {
  color: rgba(43, 45, 47, 0.55);
}

@media (max-width: 1024px) {
  .service-section__left {
    position: static;
  }
}

/* ==================== ABOUT PAGE ==================== */

/* Story */
.story-section p {
  font-size: var(--text-lg);
  line-height: 1.8;
  margin-bottom: var(--space-md);
  max-width: 60ch;
}

.story-section p:last-child {
  margin-bottom: 0;
}

/* What We Are / Are Not */
.comparison-col__heading {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 2px solid var(--color-navy);
}

.comparison-col__heading--alt {
  border-bottom-color: var(--color-taupe);
}

.comparison-item {
  padding: var(--space-sm) 0;
  border-bottom: 1px solid rgba(138, 126, 107, 0.15);
  font-size: var(--text-base);
}

/* Product Categories */
.category-card {
  padding-top: var(--space-md);
  border-top: 3px solid var(--color-navy);
}

.category-card__title {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--text-base);
  margin-bottom: var(--space-xs);
}

.category-card__text {
  font-size: var(--text-sm);
  color: rgba(43, 45, 47, 0.6);
  line-height: 1.7;
}

/* Who We Serve */
.serve-group__title {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  margin-bottom: var(--space-md);
}

.serve-group__list li {
  padding: var(--space-xs) 0;
  border-bottom: 1px solid rgba(138, 126, 107, 0.15);
  font-size: var(--text-base);
}

/* Differentiators */
.diff-item {
  padding: var(--space-md) 0;
  border-top: 1px solid var(--color-taupe);
}

.diff-item__number {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--text-2xl);
  color: var(--color-taupe);
  margin-bottom: var(--space-xs);
}

.diff-item__title {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--text-base);
  margin-bottom: 0.25em;
}

.diff-item__text {
  font-size: var(--text-sm);
  color: rgba(43, 45, 47, 0.65);
  line-height: 1.7;
}

/* ==================== CONTACT PAGE ==================== */
.contact-blocks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-xl);
  text-align: center;
  padding: var(--space-3xl) 0;
}

.contact-block__label {
  margin-bottom: var(--space-sm);
  color: var(--color-taupe);
}

.contact-block__value {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
}

.contact-block__value a {
  border-bottom: 1px solid rgba(138, 126, 107, 0.3);
  padding-bottom: 2px;
  transition: border-color var(--duration-fast) var(--ease-out);
}

.contact-block__value a:hover {
  border-bottom-color: var(--color-navy);
}

.contact-positioning {
  text-align: center;
  padding: var(--space-2xl) 0;
  border-top: 1px solid rgba(138, 126, 107, 0.2);
}

.contact-positioning blockquote {
  margin: 0 auto;
  font-size: var(--text-xl);
}

@media (max-width: 768px) {
  .contact-blocks {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }
}
