:root{
  --la-black: #0d0c0b;
  --la-charcoal: #161412;
  --la-espresso: #2a211b;
  --la-walnut: #3b2b1f;
  --la-umber: #6f4f37;
  --la-stone: #a88f73;
  --la-brass: #c8a84b;
  --la-muted-gold: #b19149;
  --la-cream: #faf6f0;
  --la-parchment: #f0eae0;
  --text-dark: #201814;
  --text-soft: rgba(32,24,20,.72);
  --text-light: rgba(250,246,240,.88);
  --text-light-soft: rgba(250,246,240,.72);
  --heading-font: "Cormorant Garamond", Georgia, serif;
  --body-font: "DM Sans", Arial, sans-serif;
}

*,
*::before,
*::after{
  box-sizing: border-box;
}

html{
  scroll-behavior: smooth;
}

body{
  margin: 0;
  background:
    radial-gradient(circle at 12% 8%, rgba(200,168,75,.10), transparent 30%),
    linear-gradient(180deg, #fbf8f4 0%, #f0e8dc 48%, #e8dccf 100%);
  color: var(--text-dark);
  font-family: var(--body-font);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

a{
  color: inherit;
  text-decoration: none;
}

.about-hero{
  position: relative;
  min-height: 82svh;
  display: grid;
  align-items: end;
  padding: 132px 0 86px;
  overflow: hidden;
  background: var(--la-black);
  color: var(--text-light);
}

.hero-bg,
.closing-bg{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.hero-bg{
  animation: softDrift 24s ease-in-out infinite;
}

@keyframes softDrift{
  0%, 100%{ background-position: center 48%; }
  50%{ background-position: center 52%; }
}

.hero-overlay,
.closing-overlay{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(200,168,75,.12), transparent 30%),
    linear-gradient(90deg, rgba(13,12,11,.84), rgba(13,12,11,.48) 54%, rgba(13,12,11,.68)),
    linear-gradient(180deg, rgba(13,12,11,.18), rgba(13,12,11,.78));
}

.hero-content,
.closing-content{
  position: relative;
  z-index: 2;
}

.hero-content{
  max-width: 900px;
}

.eyebrow{
  margin: 0 0 12px;
  color: rgba(200,168,75,.94);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.eyebrow.dark{
  color: rgba(111,79,55,.72);
}

h1,
h2,
h3{
  font-family: var(--heading-font);
  letter-spacing: -.02em;
}

h1{
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(44px, 5.4vw, 78px);
  font-weight: 600;
  line-height: .96;
}

.about-hero p{
  max-width: 760px;
  margin: 0;
  color: var(--text-light-soft);
  font-size: clamp(16px, 1.45vw, 21px);
  line-height: 1.66;
}

.intro-section,
.image-story,
.values-section{
  padding: clamp(72px, 9vw, 118px) 0;
}

.intro-section h2,
.platform-section h2,
.values-section h2,
.closing-section h2{
  margin: 0 0 14px;
  font-size: clamp(34px, 4.2vw, 56px);
  font-weight: 600;
  line-height: 1.03;
}

.intro-section p,
.platform-section p,
.values-section p{
  color: var(--text-soft);
  font-size: 16px;
  line-height: 1.72;
}

.large-copy{
  font-size: clamp(17px, 1.45vw, 21px) !important;
  color: rgba(32,24,20,.78) !important;
}

.story-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  /*grid-template-rows: repeat(2, minmax(280px, auto));*/
  gap: 18px;
}

.story-card{
  border: 1px solid rgba(111,79,55,.12);
  border-radius: 30px;
  overflow: hidden;
  background: rgba(255,255,255,.60);
  box-shadow: 0 22px 58px rgba(13,12,11,.10);
}

.story-card.tall{
  grid-row: span 2;
}

.story-img{
  min-height: 310px;
  background-size: cover;
  background-position: center;
}

.story-card.tall .story-img{
  min-height: 520px;
}

.story-body{
  padding: 24px;
}

.story-body span,
.platform-grid span,
.values-grid span{
  color: var(--la-muted-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.story-body h3,
.platform-grid h3,
.values-grid h3{
  margin: 8px 0 8px;
  color: var(--text-dark);
  font-size: 32px;
  font-weight: 600;
  line-height: 1.08;
}

.story-body p,
.platform-grid p,
.values-grid p{
  margin: 0;
  color: var(--text-soft);
  font-size: 15px;
  line-height: 1.62;
}

.platform-section{
  position: relative;
  overflow: hidden;
  padding: clamp(80px, 10vw, 130px) 0;
  background:
    linear-gradient(135deg, rgba(13,12,11,.90), rgba(42,33,27,.80)),
    radial-gradient(circle at 80% 12%, rgba(200,168,75,.18), transparent 34%);
  color: var(--text-light);
}

.platform-section h2{
  color: #ffffff;
}

.platform-section p{
  color: var(--text-light-soft);
}

.platform-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}

.platform-grid article{
  border: 1px solid rgba(250,246,240,.12);
  border-radius: 24px;
  padding: 22px;
  background: rgba(250,246,240,.06);
  box-shadow: 0 20px 52px rgba(0,0,0,.18);
}

.platform-grid h3,
.platform-grid p{
  color: #ffffff;
}

.platform-grid p{
  color: rgba(250,246,240,.68);
}

.section-head{
  max-width: 760px;
  margin: 0 auto 36px;
}

.values-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
}

.values-grid article{
  border: 1px solid rgba(111,79,55,.12);
  border-radius: 26px;
  padding: 24px;
  background: rgba(255,255,255,.62);
  box-shadow: 0 20px 52px rgba(13,12,11,.08);
}

.closing-section{
  position: relative;
  min-height: 72svh;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--la-black);
}

.closing-content{
  max-width: 850px;
  color: var(--text-light);
}

.closing-content h2{
  color: #ffffff;
}

.closing-content p{
  max-width: 760px;
  margin: 0 auto;
  color: var(--text-light-soft);
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.65;
}

@media (max-width: 991.98px){
  .story-grid{
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .story-card.tall{
    grid-row: auto;
  }

  .story-card.tall .story-img,
  .story-img{
    min-height: 320px;
  }

  .platform-grid,
  .values-grid{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767.98px){
  .about-hero{
    min-height: 70svh;
    padding-top: 122px;
  }

  .platform-grid,
  .values-grid{
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce){
  html{
    scroll-behavior: auto;
  }

  .hero-bg{
    animation: none !important;
  }
}

/* v1.1 icon accents */
.experience-icon{
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 10px;
  border: 1px solid rgba(200,168,75,.24);
  border-radius: 15px;
  background:
    radial-gradient(circle at 50% 28%, rgba(200,168,75,.18), transparent 58%),
    rgba(13,12,11,.04);
  color: var(--la-brass);
  font-size: 18px;
}

.story-body h3{
  display: flex;
  align-items: center;
  gap: 10px;
}

.story-body h3 i{
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid rgba(200,168,75,.24);
  border-radius: 13px;
  background: rgba(200,168,75,.10);
  color: var(--la-brass);
  font-size: 16px;
}
