/*
 * Maison editorial direction
 * Inspired by the restraint of luxury fashion houses while keeping
 * Marioara Cheptene's own wine, ivory and bronze identity.
 */

:root {
  --couture-black: #150f11;
  --couture-wine: #53232c;
  --couture-ivory: #f4f0e8;
  --couture-bronze: #b79b7d;
}

body {
  letter-spacing: .003em;
}

header {
  min-height: 74px;
  padding-right: clamp(1.25rem, 3vw, 3rem);
  padding-left: clamp(1.25rem, 3vw, 3rem);
}

.brand-name {
  font-size: 1.22rem;
  letter-spacing: .075em;
}

.brand-line,
nav > a:not(.button),
.button,
.eyebrow,
.text-link {
  letter-spacing: .145em;
}

nav > a:not(.button) {
  font-size: .6rem;
}

.button {
  min-height: 46px;
  padding-right: 1.55rem;
  padding-left: 1.55rem;
}

.section {
  padding-top: clamp(6rem, 10vw, 10rem);
  padding-bottom: clamp(6rem, 10vw, 10rem);
}

h1,
h2 {
  letter-spacing: -.052em;
}

.service-grid article,
.testimonial-grid figure,
.program-steps article,
.included-grid article,
.corporate-offer-grid article {
  transition: color .38s ease, background-color .38s ease, transform .38s ease;
}

@media (hover: hover) {
  .service-grid article:hover {
    color: #fff;
    background: var(--couture-wine);
    transform: translateY(-5px);
  }

  .service-grid article:hover p,
  .service-grid article:hover a,
  .service-grid article:hover .service-index {
    color: rgba(255, 255, 255, .82);
  }
}

.method-teaser,
.method-feature,
.method-hero,
.executive-outcomes,
.keynote-topics,
.final-cta,
footer {
  background: var(--couture-black);
}

/* The homepage becomes the campaign image: one decisive visual, sparse copy. */
body.home-page header {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  color: #fff;
  background: linear-gradient(180deg, rgba(17, 10, 12, .52), rgba(17, 10, 12, 0));
  border-bottom-color: rgba(255, 255, 255, .2);
  backdrop-filter: none;
  transition: color .35s ease, background-color .35s ease, border-color .35s ease, backdrop-filter .35s ease;
}

body.home-page header.scrolled {
  position: fixed;
  color: var(--ink);
  background: rgba(250, 248, 244, .96);
  border-bottom-color: rgba(73, 59, 45, .11);
  backdrop-filter: blur(14px);
}

body.home-page header .brand-line {
  color: rgba(255, 255, 255, .78);
}

body.home-page header.scrolled .brand-line {
  color: var(--ink);
}

body.home-page header nav > a:not(.button)::after {
  background: #fff;
}

body.home-page header.scrolled nav > a:not(.button)::after {
  background: var(--bronze);
}

body.home-page header nav .button {
  color: #fff;
  background: rgba(83, 35, 44, .72);
  border-color: rgba(255, 255, 255, .62);
}

body.home-page header.scrolled nav .button {
  color: #fff;
  background: var(--wine);
  border-color: var(--wine);
}

body.home-page .home-hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  grid-template: 1fr / 1fr;
  color: #fff;
  background: var(--couture-black);
  isolation: isolate;
}

body.home-page .home-hero .hero-photo {
  position: absolute;
  inset: 0;
  z-index: -1;
  min-height: 0;
}

body.home-page .home-hero .hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(33, 12, 17, .88) 0%, rgba(39, 15, 20, .66) 36%, rgba(20, 14, 15, .1) 72%),
    linear-gradient(0deg, rgba(17, 10, 12, .35), transparent 45%);
}

body.home-page .home-hero .hero-photo img {
  height: 100%;
  object-fit: cover;
  object-position: 58% 27%;
  transform: scale(1.012);
  transition: transform 1.6s cubic-bezier(.2, .7, .2, 1);
}

body.home-page .home-hero:hover .hero-photo img {
  transform: scale(1.025);
}

body.home-page .home-hero .hero-copy {
  position: relative;
  z-index: 1;
  width: min(100%, 790px);
  min-height: 100svh;
  justify-content: flex-end;
  padding: 10rem clamp(1.25rem, 6vw, 6.5rem) clamp(4rem, 8vh, 7rem);
}

body.home-page .home-hero h1 {
  max-width: 760px;
  color: #fff;
  font-size: clamp(3.4rem, 5.8vw, 6.7rem);
  text-wrap: balance;
  text-shadow: 0 3px 30px rgba(0, 0, 0, .25);
}

body.home-page .home-hero .eyebrow,
body.home-page .home-hero .text-link {
  color: #ead9c6;
}

body.home-page .home-hero .eyebrow::after {
  background: #ead9c6;
}

body.home-page .home-hero .lead {
  max-width: 610px;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(.98rem, 1.25vw, 1.14rem);
}

body.home-page .home-hero .button {
  color: var(--couture-wine);
  background: var(--couture-ivory);
  border-color: var(--couture-ivory);
}

body.home-page .home-hero .button:hover {
  color: #fff;
  background: var(--couture-wine);
  border-color: var(--couture-wine);
}

body.home-page .home-hero .hero-photo figcaption {
  right: clamp(1.25rem, 3vw, 3rem);
  bottom: 1.5rem;
  padding: 0;
  background: transparent;
  letter-spacing: .17em;
}

body.home-page .proof-bar {
  background: var(--couture-wine);
}

@media (max-width: 1120px) {
  body.home-page header .menu {
    color: #fff;
  }

  body.home-page header.scrolled .menu {
    color: var(--ink);
  }

  body.home-page header nav {
    color: var(--ink);
  }
}

@media (max-width: 760px) {
  .section {
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
  }

  body.home-page .home-hero {
    min-height: 850px;
  }

  body.home-page .home-hero .hero-photo img {
    object-position: 55% center;
  }

  body.home-page .home-hero .hero-photo::after {
    background:
      linear-gradient(0deg, rgba(31, 11, 16, .96) 0%, rgba(31, 11, 16, .68) 45%, rgba(20, 14, 15, .08) 78%),
      linear-gradient(90deg, rgba(31, 11, 16, .4), transparent 80%);
  }

  body.home-page .home-hero .hero-copy {
    min-height: 850px;
    justify-content: flex-end;
    padding: 8rem 1.25rem 3.6rem;
  }

  body.home-page .home-hero h1 {
    font-size: clamp(2.7rem, 12vw, 3.8rem);
  }

  body.home-page .home-hero .lead {
    font-size: .95rem;
    line-height: 1.55;
  }

  body.home-page .home-hero .actions {
    gap: 1rem;
    margin-top: 1.5rem;
  }

  body.home-page .home-hero .hero-photo figcaption {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-page .home-hero .hero-photo img,
  body.home-page .home-hero:hover .hero-photo img {
    transform: none;
  }
}
