
/*
 * Utmost Builds — World-Class Luxury Layer v3.4
 * Built over the stable v3.2 architecture.
 * Deliberately scoped to body.utmost-final-luxury to prevent selector leakage.
 */
body.utmost-final-luxury{
  --final-ink:#06110e;
  --final-forest:#0b211c;
  --final-green:#14362e;
  --final-bronze:#9b7647;
  --final-champagne:#d2b77f;
  --final-ivory:#f8f5ef;
  --final-paper:#fffdf8;
  --final-graphite:#242824;
  --final-muted:#646b66;
  --final-line:rgba(155,118,71,.25);
  --final-line-dark:rgba(210,183,127,.20);
  --final-shadow:0 30px 78px rgba(4,15,12,.13);
  --final-shadow-deep:0 42px 105px rgba(2,10,8,.27);
  background:var(--final-ivory);
  color:var(--final-graphite);
}

/* Global rhythm and restraint */
body.utmost-final-luxury h1,
body.utmost-final-luxury h2,
body.utmost-final-luxury h3{
  text-wrap:balance;
}
body.utmost-final-luxury .eyebrow{
  color:var(--final-bronze);
  font-size:.68rem;
  letter-spacing:.22em;
}
body.utmost-final-luxury .lead{
  color:var(--final-muted);
  line-height:1.82;
}
body.utmost-final-luxury .section{
  padding-top:clamp(88px,9vw,142px);
  padding-bottom:clamp(88px,9vw,142px);
}
body.utmost-final-luxury .section-head{
  align-items:flex-end;
}
body.utmost-final-luxury .section-head h2{
  max-width:900px;
}
body.utmost-final-luxury .section-head::after{
  content:"";
  flex:0 0 74px;
  height:1px;
  margin-bottom:17px;
  background:var(--final-bronze);
  opacity:.55;
}

/* Buttons — explicit dimensions prevent the header CTA bug. */
body.utmost-final-luxury .btn{
  position:relative;
  inset:auto;
  width:auto;
  max-width:100%;
  min-height:52px;
  padding:14px 23px;
  border-radius:0;
  letter-spacing:.09em;
  writing-mode:horizontal-tb;
  white-space:normal;
}
body.utmost-final-luxury .btn-primary{
  background:var(--final-champagne);
  border-color:var(--final-champagne);
  color:var(--final-ink);
  box-shadow:none;
}
body.utmost-final-luxury .btn-primary:hover{
  background:#dfc996;
  border-color:#dfc996;
  box-shadow:0 15px 34px rgba(155,118,71,.22);
}
body.utmost-final-luxury .btn-outline{
  border-color:rgba(210,183,127,.58);
  background:rgba(6,17,14,.28);
}
body.utmost-final-luxury .text-link{
  letter-spacing:.085em;
}
body.utmost-final-luxury .text-link::after{
  transition:transform .25s ease;
}
body.utmost-final-luxury .text-link:hover::after{
  transform:translateX(4px);
}

/* Header hardening and premium treatment */
body.utmost-final-luxury .utility{
  background:#030806;
  border-bottom:1px solid rgba(210,183,127,.10);
}
body.utmost-final-luxury .utility-inner{
  min-height:32px;
}
body.utmost-final-luxury .utility,
body.utmost-final-luxury .utility a{
  font-size:.62rem;
  letter-spacing:.125em;
}
body.utmost-final-luxury .site-header{
  background:rgba(6,17,14,.84);
  border-bottom:1px solid rgba(210,183,127,.16);
  backdrop-filter:blur(18px) saturate(112%);
}
body.utmost-final-luxury .site-header.is-scrolled{
  background:rgba(3,9,7,.96);
  box-shadow:0 18px 48px rgba(1,8,6,.18);
}
body.utmost-final-luxury .site-header .nav-wrap{
  min-height:86px;
  height:86px;
}
body.utmost-final-luxury .site-header .brand,
body.utmost-final-luxury .site-header .site-logo-link,
body.utmost-final-luxury .site-header .custom-logo-link{
  position:static;
  inset:auto;
  display:flex;
  align-items:center;
  width:auto;
  max-width:215px;
  height:auto;
  writing-mode:horizontal-tb;
}
body.utmost-final-luxury .site-header .brand img,
body.utmost-final-luxury .site-header .custom-logo{
  position:static;
  inset:auto;
  width:190px;
  max-width:190px;
  height:auto;
  max-height:68px;
  object-fit:contain;
  writing-mode:horizontal-tb;
}
body.utmost-final-luxury .main-nav{
  position:static;
  inset:auto;
  writing-mode:horizontal-tb;
}
body.utmost-final-luxury .main-nav a{
  font-size:.69rem;
  letter-spacing:.105em;
  color:rgba(255,255,255,.76);
  writing-mode:horizontal-tb;
}
body.utmost-final-luxury .main-nav a:hover{
  color:var(--final-champagne);
}
body.utmost-final-luxury .site-header .header-cta{
  position:static!important;
  inset:auto!important;
  display:inline-flex;
  width:auto!important;
  min-width:0!important;
  max-width:220px!important;
  height:auto!important;
  min-height:46px;
  margin:0!important;
  padding:11px 17px;
  transform:none!important;
  writing-mode:horizontal-tb!important;
  white-space:nowrap;
  overflow:visible;
  z-index:auto;
  background:transparent;
  border:1px solid rgba(210,183,127,.60);
  color:var(--final-champagne);
  box-shadow:none;
}
body.utmost-final-luxury .site-header .header-cta::before{
  content:none!important;
  display:none!important;
}
body.utmost-final-luxury .site-header .header-cta:hover{
  transform:none!important;
  background:var(--final-champagne);
  color:var(--final-ink);
}
body.utmost-final-luxury .menu-toggle{
  position:relative;
  inset:auto;
}

/* Homepage hero */
body.utmost-final-luxury .hero{
  min-height:min(930px,96vh);
  background:var(--final-ink);
}
body.utmost-final-luxury .hero::before{
  background:
    linear-gradient(90deg,rgba(3,10,8,.97) 0%,rgba(3,10,8,.85) 39%,rgba(3,10,8,.34) 70%,rgba(3,10,8,.10) 100%);
}
body.utmost-final-luxury .hero::after{
  background:
    linear-gradient(180deg,rgba(0,0,0,.17),transparent 48%,rgba(3,10,8,.74)),
    radial-gradient(circle at 77% 34%,rgba(210,183,127,.16),transparent 30%);
}
body.utmost-final-luxury .hero-gridline{
  opacity:.15;
  background-size:96px 96px;
}
body.utmost-final-luxury .hero-content{
  width:min(820px,68%);
  padding-bottom:122px;
}
body.utmost-final-luxury .hero h1{
  font-size:clamp(3.7rem,6.2vw,6.85rem);
  line-height:.98;
  max-width:900px;
}
body.utmost-final-luxury .hero h1 span{
  color:var(--final-champagne);
  font-style:italic;
}
body.utmost-final-luxury .hero-copy{
  max-width:670px;
  line-height:1.82;
  color:rgba(255,255,255,.72);
}
body.utmost-final-luxury .hero-signature{
  color:var(--final-champagne);
  letter-spacing:.08em;
}
body.utmost-final-luxury .hero-sidecard{
  width:272px;
  border-radius:0;
  border:1px solid rgba(210,183,127,.30);
  background:rgba(4,13,10,.62);
  box-shadow:var(--final-shadow-deep);
  transform:none;
}
body.utmost-final-luxury .hero-sidecard strong{
  color:var(--final-champagne);
}
body.utmost-final-luxury .capability-strip{
  background:#030806;
  border-color:rgba(210,183,127,.18);
}
body.utmost-final-luxury .capability{
  border-color:rgba(210,183,127,.14);
}
body.utmost-final-luxury .cap-icon{
  border-color:rgba(210,183,127,.42);
  color:var(--final-champagne);
}

/* Premium surfaces and cards */
body.utmost-final-luxury :is(
  .project-card,.service-card,.value-card,.process-card,.city-card,
  .project-type-card,.pathway-card,.foundation-card,.partner-card,
  .faq-card,.city-service-card,.area-directory-card,.project-story-card
){
  border-radius:0!important;
  border-color:var(--final-line)!important;
  box-shadow:none!important;
}
body.utmost-final-luxury :is(
  .project-card,.service-card,.value-card,.process-card,.city-card,
  .project-type-card,.pathway-card,.foundation-card,.partner-card,
  .area-directory-card
){
  background:rgba(255,253,248,.88);
}
body.utmost-final-luxury :is(
  .project-card,.service-card,.city-card,.pathway-card,.partner-card,.area-directory-card
):hover{
  transform:translateY(-5px);
  border-color:rgba(155,118,71,.46)!important;
  box-shadow:var(--final-shadow)!important;
}
body.utmost-final-luxury :is(
  .project-image,.service-image,.city-card-image,.pathway-card-media,.area-directory-image
) img{
  transition:transform .68s cubic-bezier(.2,.65,.2,1),filter .68s ease;
}
body.utmost-final-luxury :is(
  .project-card,.service-card,.city-card,.pathway-card,.area-directory-card
):hover img{
  transform:scale(1.027);
  filter:saturate(.95) contrast(1.025);
}
body.utmost-final-luxury .project-meta,
body.utmost-final-luxury .project-location{
  font-size:.61rem;
  letter-spacing:.13em;
}
body.utmost-final-luxury .project-info,
body.utmost-final-luxury .service-body,
body.utmost-final-luxury .area-directory-copy{
  border-top:1px solid var(--final-line);
}

/* Dark editorial sections */
body.utmost-final-luxury :is(
  .services,.foundation-dark,.partners-dark,.whole-home-dark,
  .areas-hub-links,.realtor-promise,.realtor-final-cta
){
  background:var(--final-forest);
}
body.utmost-final-luxury :is(
  .services,.foundation-dark,.partners-dark,.whole-home-dark
) .lead{
  color:rgba(255,255,255,.66);
}

/* All interior page heroes retain their original, page-specific composition. */
body.utmost-final-luxury :is(
  .projects-hero,.city-hero,.whole-home-hero,.bathroom-hero,
  .services-hub-hero,.kitchen-hero,.new-home-hero,.foundation-hero,
  .partner-hero,.areas-hub-hero,.legal-hero
){
  background-color:var(--final-ink);
  border-bottom:1px solid rgba(210,183,127,.18);
}
body.utmost-final-luxury :is(
  .projects-hero h1,.city-hero h1,.whole-home-hero h1,.bathroom-hero h1,
  .services-hub-hero h1,.kitchen-hero h1,.new-home-hero h1,
  .foundation-hero h1,.partner-hero h1,.areas-hub-hero h1,.legal-hero h1
){
  max-width:990px;
}
body.utmost-final-luxury :is(
  .projects-hero .lead,.city-hero .lead,.whole-home-hero .lead,
  .bathroom-hero .lead,.services-hub-hero .lead,.kitchen-hero .lead,
  .new-home-hero .lead,.foundation-hero .lead,.partner-hero .lead,
  .areas-hub-hero .lead,.legal-hero .lead
){
  color:rgba(255,255,255,.70);
}

/* Editorial media and galleries */
body.utmost-final-luxury :is(
  .chapter-lead-image,.flagship-story-media,.whole-home-story-media,
  .city-gallery-item,.bathroom-gallery-item,.kitchen-gallery-item,
  .project-atlas-card,.image-story-media
){
  border-radius:0!important;
}
body.utmost-final-luxury :is(
  .chapter-lead-image,.flagship-story-media,.whole-home-story-media,
  .image-story-media
){
  box-shadow:var(--final-shadow);
}
body.utmost-final-luxury :is(.project-filter,.portfolio-filter){
  border-radius:0!important;
  border-color:var(--final-line)!important;
  letter-spacing:.085em;
}
body.utmost-final-luxury :is(.project-filter,.portfolio-filter).is-active{
  background:var(--final-forest)!important;
  color:#fff!important;
  border-color:var(--final-forest)!important;
}
body.utmost-final-luxury .project-lightbox-dialog{
  border-radius:0;
  border:1px solid rgba(210,183,127,.22);
  background:#030806;
}

/* Forms */
body.utmost-final-luxury :is(
  .inquiry-form,.utmost-lead-form,.utmost-realtor-form,
  .contact-form-panel,.referral-form
){
  border-radius:0!important;
  border:1px solid var(--final-line)!important;
  background:var(--final-paper)!important;
  box-shadow:var(--final-shadow)!important;
}
body.utmost-final-luxury .field :is(input,select,textarea){
  border-radius:0!important;
  border-color:rgba(155,118,71,.30)!important;
  background:#fffefa!important;
}
body.utmost-final-luxury .field :is(input,select,textarea):focus{
  border-color:var(--final-bronze)!important;
  box-shadow:0 0 0 3px rgba(155,118,71,.10)!important;
}

/* Editable realtor page */
body.utmost-final-luxury .realtor-hero::after{
  background:
    linear-gradient(90deg,rgba(3,10,8,.97),rgba(3,10,8,.73) 50%,rgba(3,10,8,.18) 84%),
    linear-gradient(0deg,rgba(3,10,8,.70),transparent 56%);
}
body.utmost-final-luxury .realtor-hero-inner h1{
  font-size:clamp(3.65rem,6.35vw,6.9rem);
}
body.utmost-final-luxury :is(
  .realtor-trust-strip,.realtor-promise,.realtor-final-cta
){
  background:var(--final-ink);
}
body.utmost-final-luxury :is(
  .realtor-moment-card,.realtor-path-grid>.wp-block-column,.realtor-proof-card
){
  border-radius:0;
}

/* Footer */
body.utmost-final-luxury .site-footer{
  background:#030806;
  border-top:1px solid rgba(210,183,127,.18);
}
body.utmost-final-luxury .footer-grid{
  padding-top:78px;
}
body.utmost-final-luxury .footer-brand img{
  border-radius:0;
  border:1px solid rgba(210,183,127,.18);
}
body.utmost-final-luxury .footer-title{
  color:var(--final-champagne);
  font-size:.62rem;
  letter-spacing:.13em;
}
body.utmost-final-luxury .footer-links a,
body.utmost-final-luxury .footer-links span{
  color:rgba(255,255,255,.57);
}
body.utmost-final-luxury .footer-links a:hover{
  color:var(--final-champagne);
}
body.utmost-final-luxury .footer-bottom{
  border-color:rgba(210,183,127,.15);
}

/* Tablet and mobile */
@media(max-width:1024px){
  body.utmost-final-luxury .site-header .nav-wrap{
    height:76px;
    min-height:76px;
  }
  body.utmost-final-luxury .hero{
    min-height:820px;
  }
  body.utmost-final-luxury .section-head::after{
    display:none;
  }
}
@media(max-width:940px){
  body.utmost-final-luxury .site-header .header-cta{
    display:none!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
  }
  body.utmost-final-luxury .main-nav{
    position:fixed;
    inset:76px 0 auto 0;
  }
}
@media(max-width:760px){
  body.utmost-final-luxury .hero{
    min-height:max(760px,100svh);
  }
  body.utmost-final-luxury .hero-content{
    width:100%;
    padding-top:155px;
    padding-bottom:74px;
  }
  body.utmost-final-luxury .hero h1{
    font-size:clamp(3.15rem,13vw,4.8rem);
  }
  body.utmost-final-luxury .hero-copy{
    line-height:1.72;
  }
  body.utmost-final-luxury .hero-sidecard{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    margin:0 0 28px;
  }
  body.utmost-final-luxury .hero-actions,
  body.utmost-final-luxury .projects-hero-actions,
  body.utmost-final-luxury .city-hero-actions,
  body.utmost-final-luxury .foundation-hero-actions{
    display:grid;
    width:100%;
  }
  body.utmost-final-luxury :is(
    .hero-actions,.projects-hero-actions,.city-hero-actions,.foundation-hero-actions
  ) .btn{
    width:100%;
    max-width:none;
  }
}
@media(max-width:480px){
  body.utmost-final-luxury .site-header .brand img,
  body.utmost-final-luxury .site-header .custom-logo{
    width:158px;
    max-width:158px;
  }
  body.utmost-final-luxury .hero h1{
    font-size:3.2rem;
  }
}
@media(prefers-reduced-motion:reduce){
  body.utmost-final-luxury *,
  body.utmost-final-luxury *::before,
  body.utmost-final-luxury *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

body.utmost-final-luxury .project-lightbox-caption{color:rgba(255,255,255,.68);font-size:.82rem;line-height:1.65;max-width:34rem;margin:.8rem 0 1rem;}
