
/* Lumi'Or — refinement limited to header + hero */
.nav{
  padding:1.1rem var(--gutter);
  background:rgba(252,246,239,.84);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(58,45,39,.08);
}
.nav.scrolled{
  background:rgba(252,246,239,.96);
  padding-block:.82rem;
  box-shadow:none;
}
.nav-inner{gap:1.4rem}
.brand-mark{font-size:1.62rem;letter-spacing:.13em}
.brand-sub{font-size:.48rem;letter-spacing:.28em;color:#75675f}
.nav-links{gap:.65rem}
.nav-links > a:not(.btn),
.nav-item > a.mega-trigger{
  padding:.5rem .62rem;
  border-radius:0;
  background:transparent;
  font-size:.78rem;
  letter-spacing:.02em;
  text-transform:none;
  font-weight:400;
}
.nav-links > a:not(.btn):hover,
.nav-item > a.mega-trigger:hover{
  background:transparent;
  color:#8f7350;
}
.nav-links .btn-primary{
  height:42px;
  padding:0 1.15rem;
  border-radius:0;
  background:var(--espresso);
  color:var(--ivory);
  border:1px solid var(--espresso);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nav-links .btn-primary:hover{
  background:transparent;
  color:var(--espresso);
  transform:none;
}

/* keep SEO text in markup without using it as visible hero copy */
.hero-seo-line{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.hero-brand-line{display:block}

/* desktop: same split architecture, better proportions */
@media (min-width:901px){
  .hero.hero-bleed{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    min-height:clamp(620px,86vh,830px);
    background:var(--ivory-2);
  }
  .hero.hero-bleed .hero-media{
    grid-column:2;
    grid-row:1;
    height:100%;
    min-height:inherit;
    overflow:hidden;
  }
  .hero.hero-bleed .hero-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:58% 38%;
    filter:saturate(.94) contrast(1.01) brightness(.99);
  }
  .hero.hero-bleed .hero-scrim{display:none}
  .hero.hero-bleed .hero-inner{
    grid-column:1;
    grid-row:1;
    align-self:center;
    max-width:670px;
    margin:0;
    padding:8.5rem clamp(3rem,5.5vw,6.5rem) 4.5rem var(--gutter);
    color:var(--espresso);
  }
  .hero.hero-bleed .hero-inner .eyebrow{
    color:#7a685b;
    font-size:.68rem;
    letter-spacing:.15em;
    margin-bottom:1.1rem;
  }
  .hero.hero-bleed h1{
    color:var(--espresso);
    font-size:clamp(3.15rem,4.8vw,5.15rem);
    line-height:.94;
    letter-spacing:-.02em;
    max-width:9.5ch;
  }
  .hero.hero-bleed h1 em{color:#a4815a}
  .hero.hero-bleed .hero-support{
    color:#4f463f;
    font-size:1rem;
    line-height:1.72;
    max-width:44ch;
    margin-top:1.45rem;
    text-shadow:none;
  }
  .hero .hero-cta{margin-top:1.9rem}
  .hero .btn-outline{
    height:50px;
    border-radius:0;
    color:var(--espresso);
    border:1px solid var(--espresso);
    background:transparent;
    padding:0 1.55rem;
  }
  .hero .btn-outline:hover{
    background:var(--espresso);
    color:var(--ivory);
    border-color:var(--espresso);
  }
  .hero.hero-bleed .hero-trust{
    margin-top:2rem;
    padding-top:1rem;
    border-top:1px solid rgba(58,45,39,.16);
    color:#6d5e55;
    opacity:1;
    font-size:.58rem;
    letter-spacing:.08em;
    max-width:560px;
  }
}

/* mobile: keep the photo-led hero but improve hierarchy */
@media (max-width:900px){
  .nav{padding:.95rem 1.2rem}
  .brand-mark{font-size:1.48rem}
  .mobile-open .nav{
    background:rgba(252,246,239,.98);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .hero.hero-bleed{
    min-height:100svh;
    background:#2d2521;
  }
  .hero.hero-bleed .hero-media{
    position:absolute;
    inset:0;
  }
  .hero.hero-bleed .hero-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:58% center;
    filter:saturate(.9) brightness(.72);
  }
  .hero.hero-bleed .hero-scrim{
    display:block;
    background:linear-gradient(180deg,rgba(30,23,19,.12) 0%,rgba(30,23,19,.24) 38%,rgba(30,23,19,.78) 100%);
  }
  .hero.hero-bleed .hero-inner{
    position:relative;
    z-index:2;
    align-self:end;
    padding:7rem 1.35rem 2.3rem;
    color:var(--ivory);
  }
  .hero.hero-bleed .hero-inner .eyebrow{
    color:#eadccc;
    font-size:.59rem;
    letter-spacing:.13em;
    margin-bottom:.85rem;
  }
  .hero.hero-bleed h1{
    color:#fff;
    font-size:clamp(2.7rem,12.5vw,4rem);
    line-height:.9;
    letter-spacing:-.025em;
    max-width:8.6ch;
  }
  .hero.hero-bleed h1 em{color:#d6b989}
  .hero.hero-bleed .hero-support{
    color:#f0e9e1;
    font-size:.9rem;
    line-height:1.62;
    max-width:34ch;
    margin-top:1rem;
    text-shadow:none;
  }
  .hero .hero-cta{margin-top:1.15rem}
  .hero .btn-outline{
    width:auto;
    height:48px;
    border-radius:0;
    color:#fff;
    border-color:rgba(255,255,255,.72);
    background:transparent;
  }
  .hero .btn-outline:hover{
    background:#fff;
    color:var(--espresso);
    border-color:#fff;
  }
  .hero.hero-bleed .hero-trust{
    color:#e2d9cf;
    opacity:1;
    margin-top:1.2rem;
    padding-top:.9rem;
    border-top:1px solid rgba(255,255,255,.2);
    font-size:.5rem;
    line-height:1.55;
    letter-spacing:.065em;
  }
}
