/* =========================================
   Hero (Luxury split)
   ========================================= */
.fmh-hero{
  min-height:calc(100vh - 90px);
  display:flex;
  align-items:center;
  padding: 24px 0 40px;
}
.fmh-hero__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  align-items:center;
}
@media (min-width:1024px){
  .fmh-hero__grid{
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
}

.fmh-kicker{
  font-family:"Noto Sans", sans-serif;
  color: var(--primary);
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:12px;
  margin-bottom:10px;
}

.fmh-hero__title{
  font-size:48px;
  line-height:.92;
  font-weight:500;
  margin:0 0 14px;
}
.fmh-hero__title span{
  color: var(--primary);
  font-style: italic;
  font-weight:300;
}
@media (min-width:768px){
  .fmh-hero__title{ font-size:74px; }
}

.fmh-hero__sub{
  margin:0 0 22px;
  font-family:"Noto Sans", sans-serif;
  color: rgba(255,255,255,.62);
  font-size:18px;
  line-height:1.7;
  max-width:560px;
}

.fmh-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:center;
}

.fmh-hero__image{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  background: var(--surface);
  aspect-ratio: 4/5;
  min-height: 420px;
}
@media (min-width:1024px){
  .fmh-hero__image{
    aspect-ratio: 3/4;
    min-height: 640px;
  }
}
.fmh-hero__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.92;
  transform: scale(1.02);
  transition: transform 1s ease;
}
.fmh-hero__image:hover img{ transform: scale(1.06); }

.fmh-hero__fade{
  position:absolute;
  inset:0;
  background: linear-gradient(to right, rgba(24,22,17,.92) 0%, rgba(24,22,17,0) 55%);
  z-index:1;
}

/* =========================================
   Stats section bg (matches old brand bar)
   ========================================= */
.fmh-stats{
  background: var(--surface);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  padding: 10px 0;
}

/* =========================================
   Sections
   ========================================= */
.fmh-section{
  padding: 64px 0;
}
.fmh-section--tight{
  padding-top: 10px;
  padding-bottom: 90px;
}

.fmh-sectionHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:26px;
  flex-wrap:wrap;
}
.fmh-sectionKicker{
  font-family:"Noto Sans", sans-serif;
  color: var(--primary);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:12px;
  margin-bottom:8px;
}
.fmh-sectionTitle{
  margin:0;
  font-size:34px;
  font-weight:500;
}
@media (min-width:768px){
  .fmh-sectionTitle{ font-size:46px; }
}
.fmh-sectionSub{
  margin:10px 0 0;
  font-family:"Noto Sans", sans-serif;
  color: rgba(255,255,255,.55);
}
.fmh-sectionLink{
  display:none;
  align-items:center;
  gap:8px;
  text-decoration:none;
  font-family:"Noto Sans", sans-serif;
  font-weight:900;
  letter-spacing:.10em;
  font-size:12px;
  color:#fff;
}
.fmh-sectionLink:hover{ color: var(--primary); }
@media (min-width:768px){
  .fmh-sectionLink{ display:inline-flex; }
}

/* =========================================
   Grid + Cards
   ========================================= */
.fmh-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
@media (min-width:640px){
  .fmh-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (min-width:1024px){
  .fmh-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); gap:22px; }
}

.fmh-card{
  text-decoration:none;
  color:inherit;
  display:block;
}
.fmh-card__media{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background: var(--surface);
  aspect-ratio: 4/5;
}
.fmh-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .7s ease;
}
.fmh-card:hover .fmh-card__media img{ transform: scale(1.10); }

.fmh-card__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,0) 55%);
  opacity:.7;
  transition: opacity .3s ease;
}
.fmh-card:hover .fmh-card__overlay{ opacity:.95; }

.fmh-card__content{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:18px;
  transform: translateY(10px);
  transition: transform .45s ease;
}
.fmh-card:hover .fmh-card__content{ transform: translateY(0); }

.fmh-card__top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.fmh-card__name{
  margin:0 0 6px;
  font-family:"Noto Sans", sans-serif;
  font-weight:900;
  font-size:20px;
}
.fmh-card__tag{
  margin:0;
  font-family:"Noto Sans", sans-serif;
  color: var(--primary);
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:11px;
}
.fmh-card__icon{
  opacity:0;
  transform: translateY(2px);
  transition: opacity .25s ease, transform .25s ease;
}
.fmh-card:hover .fmh-card__icon{
  opacity:1;
  transform: translateY(0);
}
.fmh-card__meta{
  margin-top:10px;
  font-family:"Noto Sans", sans-serif;
  color: rgba(255,255,255,.65);
  font-size:13px;
}

/* =========================================
   Smaller grid/cards for Fresh + Trending
   ========================================= */
.fmh-grid--small{
  gap: 14px;
}
@media (min-width: 640px){
  .fmh-grid--small{ gap: 16px; }
}
@media (min-width: 1024px){
  .fmh-grid--small{
    gap: 18px;
  }
  .fmh-grid--small .fmh-card__media{
    border-radius: 14px;
  }
  .fmh-grid--small .fmh-card__content{
    padding: 14px;
  }
  .fmh-grid--small .fmh-card__name{
    font-size: 18px;
    margin: 0 0 5px;
  }
  .fmh-grid--small .fmh-card__meta{
    margin-top: 8px;
    font-size: 12px;
  }
}

/* =========================================
   Quote / Philosophy section
   ========================================= */
.fmh-quote{
  background: var(--bg-dark);
  padding: 80px 0;
  text-align: center;
}
.fmh-quote__inner{
  max-width: 920px;
  margin: 0 auto;
}
.fmh-quote__icon{
  font-size: 38px;
  color: rgba(236,164,19,.45);
  display: inline-block;
  margin-bottom: 14px;
}
.fmh-quote__title{
  margin: 0;
  font-size: 34px;
  line-height: 1.18;
  font-weight: 500;
}
@media (min-width: 768px){
  .fmh-quote__title{ font-size: 48px; }
}
.fmh-quote__title span{
  color: var(--primary);
  font-style: italic;
  font-weight: 300;
}
.fmh-quote__line{
  height: 3px;
  width: 76px;
  background: var(--primary);
  margin: 18px auto 16px;
  border-radius: 999px;
}
.fmh-quote__text{
  margin: 0 auto;
  max-width: 720px;
  font-family:"Noto Sans", sans-serif;
  color: rgba(255,255,255,.60);
  font-size: 16px;
  line-height: 1.8;
}

/* =========================================
   Join the Agency CTA
   ========================================= */
.fmh-cta{
  background: var(--surface);
  padding: 90px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.fmh-cta__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: center;
}
@media (min-width: 1024px){
  .fmh-cta__grid{
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }
}
.fmh-cta__title{
  margin: 0 0 12px;
  font-size: 44px;
  line-height: 1.05;
  font-weight: 500;
}
@media (min-width: 768px){
  .fmh-cta__title{ font-size: 60px; }
}
.fmh-cta__title span{
  color: var(--primary);
  font-style: italic;
  font-weight: 300;
}
.fmh-cta__sub{
  margin: 0 0 22px;
  font-family:"Noto Sans", sans-serif;
  color: rgba(255,255,255,.60);
  font-size: 16px;
  line-height: 1.8;
  max-width: 560px;
}
.fmh-cta__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.fmh-btnPrimary{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 18px;
  border-radius: 14px;
  background: var(--primary);
  color: #181611;
  text-decoration: none;
  font-family:"Noto Sans", sans-serif;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  transition: transform .15s ease, filter .15s ease;
}
.fmh-btnPrimary:hover{ transform: translateY(-1px); filter: brightness(1.05); }

.fmh-btnGhost{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: transparent;
  color: #fff;
  text-decoration: none;
  font-family:"Noto Sans", sans-serif;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  transition: border-color .15s ease, transform .15s ease;
}
.fmh-btnGhost:hover{ border-color: rgba(236,164,19,.55); transform: translateY(-1px); }

.fmh-cta__image{
  border-radius: 18px;
  overflow: hidden;
  background: #111;
  position: relative;
}
.fmh-cta__image img{
  width: 100%;
  height: auto;
  display: block;
  opacity: .9;
}
@media (max-width: 1023px){
  .fmh-cta{ padding: 70px 0; }
}
