:root{
  --black:#050403;
  --ink:#0b0907;
  --cream:#f4ead8;
  --ivory:#fffaf2;
  --gold:#d7b866;
  --gold2:#f0d88a;
  --pink:#d55399;
  --purple:#7f73da;
  --muted:#cdbfa8;
  --line:rgba(215,184,102,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--black);
  color:#fff;
  font-family:Inter,Arial,sans-serif;
  overflow-x:hidden;
}
a{color:inherit}

.interior-nav{
  position:fixed;
  inset:0 0 auto;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:16px 3.5vw;
  background:linear-gradient(180deg,rgba(5,4,3,.97),rgba(5,4,3,.72),transparent);
  backdrop-filter:blur(10px);
}
.brand-link img{
  width:210px;
  max-height:62px;
  object-fit:contain;
}
.interior-nav nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:wrap;
}
.interior-nav nav a{
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:9px;
  font-weight:800;
}
.interior-nav nav a:hover,
.interior-nav nav a[aria-current="page"]{
  color:var(--gold2);
}
.mobile-toggle{
  display:none;
  border:1px solid var(--line);
  background:transparent;
  color:#fff;
  border-radius:999px;
  padding:10px 14px;
}

.page-hero{
  position:relative;
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(430px,.78fr);
  align-items:center;
  gap:56px;
  padding:145px 5.5vw 72px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 80% 20%,rgba(213,83,153,.11),transparent 26%),
    radial-gradient(circle at 20% 80%,rgba(127,115,218,.08),transparent 25%),
    #050403;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.14;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:58px 58px;
}
.hero-copy{
  max-width:770px;
  position:relative;
  z-index:2;
}
.eyebrow{
  margin:0;
  color:var(--gold);
  font-size:10px;
  font-weight:900;
  letter-spacing:.21em;
  text-transform:uppercase;
}
.page-hero h1{
  margin:16px 0 26px;
  max-width:830px;
  font:400 clamp(58px,6.5vw,105px)/.91 Georgia,"Times New Roman",serif;
  letter-spacing:-.055em;
}
.page-hero .lead{
  max-width:690px;
  margin:0;
  color:rgba(248,242,234,.82);
  font-size:clamp(18px,1.45vw,22px);
  line-height:1.68;
}
.guidance{
  max-width:650px;
  margin:24px 0 0;
  padding-left:18px;
  border-left:2px solid var(--pink);
  color:#fff1d2;
  font:italic clamp(18px,1.5vw,22px)/1.55 Georgia,serif;
}
.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:14px 22px;
  border:1px solid rgba(240,216,138,.64);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  font-weight:900;
  transition:.24s ease;
}
.btn:hover{
  transform:translateY(-3px);
  background:rgba(215,184,102,.13);
}
.btn-primary{
  border-color:var(--pink);
  background:var(--pink);
}
.btn-primary:hover{background:#c6478d}
.dark-btn{
  color:#2b1c12;
  border-color:rgba(65,40,20,.4);
  background:rgba(255,255,255,.42);
}
.dark-btn:hover{background:#fff}

.hero-portrait{
  /*position:relative;
  min-height:680px;
  overflow:hidden;
  border:1px solid rgba(215,184,102,.24);
  border-radius:32px;
  box-shadow:0 38px 90px rgba(0,0,0,.42);
  background:#100b08;*/
}
.hero-portrait::after{
  /*content:"";
  position:absolute;
  inset:auto 0 0;
  height:180px;
  background:linear-gradient(180deg,transparent,rgba(5,4,3,.84));*/
}
.hero-portrait img{
  /*width:100%;
  height:100%;
  min-height:680px;
  object-fit:cover;
  object-position:center top;
  display:block;*/
}

/*=========================================
  CONTACT HERO
=========================================*/

.contact-hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    background-image:
        linear-gradient(
            90deg,
            rgba(0,0,0,.88) 0%,
            rgba(0,0,0,.72) 30%,
            rgba(0,0,0,.38) 55%,
            rgba(0,0,0,.12) 78%,
            rgba(0,0,0,.05) 100%
        ),
        url("../img/yasha-welcoming-chair.png");

    background-size:cover;

    background-position:center center;

    background-repeat:no-repeat;

}

.contact-hero-content{

    position:relative;

    z-index:2;

    max-width:620px;

    margin-left:8%;

    padding:120px 0;

}

.contact-label{

    display:inline-block;

    margin-bottom:24px;

    color:#D4AF37;

    font-size:.82rem;

    letter-spacing:4px;

    text-transform:uppercase;

    font-weight:700;

}


.contact-hero p{

    max-width:560px;

    color:#D8D8D8;

    font-size:1.2rem;

    line-height:1.9;

    margin-bottom:42px;

}
.contact-hero h1{

    font-family:"Playfair Display",serif;

    font-size:clamp(3.6rem,6vw,6rem);

    line-height:.95;

    font-weight:500;

    color:#fff;

    margin-bottom:28px;

    letter-spacing:-2px;

}

.contact-hero h1 span{

    color:#D4AF37;

}

.contact-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 38px;

    border:1px solid #D4AF37;

    color:#111;

    background:#D4AF37;

    text-decoration:none;

    font-weight:700;

    transition:.35s ease;

}

.contact-btn:hover{

    background:transparent;

    color:#D4AF37;

}


.content-section{
  padding:108px 5.5vw;
  background:#090604;
}
.content-section.alt{
  background:var(--cream);
  color:#321f12;
}
.section-head{
  max-width:950px;
  margin-bottom:52px;
}
.section-head.centered{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.section-head h2,
.form-intro h2,
.final-cta h2{
  margin:10px 0 20px;
  font:400 clamp(48px,6.8vw,96px)/.92 Georgia,serif;
  letter-spacing:-.045em;
}
.section-head p,
.form-intro>p,
.final-cta p{
  margin:0;
  color:#d7c5a7;
  font:italic clamp(18px,1.6vw,22px)/1.6 Georgia,serif;
}
.alt .form-intro>p,
.alt .final-cta p{
  color:#6d4c33;
}

.path-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.path-card{
  min-height:390px;
  display:flex;
  flex-direction:column;
  padding:28px;
  border:1px solid var(--line);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  box-shadow:0 22px 54px rgba(0,0,0,.2);
  transition:.25s ease;
}
.path-card:hover{
  transform:translateY(-7px);
  border-color:rgba(215,184,102,.5);
}
.path-number{
  color:var(--pink);
  font:400 34px Georgia,serif;
}
.path-label{
  margin:26px 0 0;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:9px;
  font-weight:900;
}
.path-card h3{
  margin:14px 0;
  font:400 34px/1.03 Georgia,serif;
}
.path-card>p:last-of-type{
  color:#d4c4aa;
  line-height:1.7;
}
.path-card a{
  margin-top:auto;
  color:var(--pink);
  text-decoration:none;
  font-weight:900;
}

.form-layout{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:52px;
  align-items:start;
}
.form-intro{
  position:sticky;
  top:110px;
}
.response-note{
  margin-top:34px;
  padding:24px;
  border:1px solid rgba(92,59,25,.16);
  border-radius:20px;
  background:#fffaf1;
}
.response-note strong{
  display:block;
  font:400 24px Georgia,serif;
}
.response-note p{
  margin:12px 0 0;
  color:#6d4c33;
  line-height:1.65;
}

.contact-form{
  padding:32px;
  border:1px solid rgba(92,59,25,.18);
  border-radius:28px;
  background:#fffaf1;
  box-shadow:0 24px 55px rgba(81,47,15,.12);
}
.field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.contact-form label{
  display:grid;
  gap:9px;
}
.contact-form label>span{
  color:#4a2f1e;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(92,59,25,.24);
  border-radius:14px;
  background:#fffdf8;
  color:#2b1c12;
  font:inherit;
  padding:15px 16px;
  outline:none;
  transition:.2s ease;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:#b78343;
  box-shadow:0 0 0 4px rgba(183,131,67,.11);
}
.full-field{margin-top:18px}
.checkbox-field{
  grid-template-columns:auto 1fr;
  align-items:start;
  margin-top:18px;
}
.checkbox-field input{
  width:18px;
  height:18px;
  margin-top:2px;
}
.checkbox-field span{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:13px !important;
  line-height:1.5;
  font-weight:500 !important;
}
.submit-button{
  width:100%;
  min-height:54px;
  margin-top:24px;
  border:0;
  border-radius:999px;
  background:var(--pink);
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  cursor:pointer;
}
.form-status{
  min-height:24px;
  margin:14px 0 0;
  color:#6f3c58;
  text-align:center;
  line-height:1.5;
}

.faq-search-wrap{
  max-width:720px;
  margin:0 auto 42px;
}
.faq-search-wrap label{
  display:block;
  margin-bottom:9px;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:9px;
  font-weight:900;
}
.faq-search-wrap input{
  width:100%;
  padding:17px 20px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#fff;
  font:inherit;
  outline:none;
}
.faq-search-wrap input:focus{
  border-color:rgba(215,184,102,.58);
  box-shadow:0 0 0 4px rgba(215,184,102,.08);
}
.faq-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  max-width:1250px;
  margin:auto;
}
.faq-group{
  padding:28px;
  border:1px solid var(--line);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.01));
}
.faq-group h3{
  margin:0 0 18px;
  color:var(--gold2);
  font:400 34px Georgia,serif;
}
.faq-group details{
  border-top:1px solid rgba(215,184,102,.15);
}
.faq-group details:last-child{
  border-bottom:1px solid rgba(215,184,102,.15);
}
.faq-group summary{
  cursor:pointer;
  list-style:none;
  padding:19px 28px 19px 0;
  position:relative;
  font-weight:800;
  line-height:1.45;
}
.faq-group summary::-webkit-details-marker{display:none}
.faq-group summary::after{
  content:"+";
  position:absolute;
  right:0;
  top:16px;
  color:var(--pink);
  font:400 24px Georgia,serif;
}
.faq-group details[open] summary::after{content:"–"}
.faq-group details p{
  margin:0;
  padding:0 0 20px;
  color:#d4c4aa;
  line-height:1.7;
}
.faq-empty{
  margin:28px auto 0;
  color:#d4c4aa;
  text-align:center;
}

.quote-band{
  padding:118px 7vw;
  text-align:center;
  background:
    radial-gradient(circle at center,rgba(127,115,218,.16),transparent 35%),
    #08060c;
}
.quote-band blockquote{
  max-width:1200px;
  margin:auto;
  color:#fff1d2;
  font:italic clamp(45px,7vw,98px)/.98 Georgia,serif;
}

.final-cta{
  max-width:980px;
  margin:auto;
  text-align:center;
}
.final-cta .btn{margin-top:30px}

.page-footer{
  padding:85px 6vw;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.06);
  background:#030201;
}
.page-footer img{
  width:min(520px,86vw);
  margin-bottom:22px;
}
.page-footer p{
  margin:0;
  color:var(--gold2);
  font:400 30px Georgia,serif;
}
.page-footer>span{
  display:block;
  max-width:760px;
  margin:12px auto 0;
  color:#a99471;
  line-height:1.6;
}
.page-footer nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:20px;
  margin:28px 0;
}
.page-footer nav a{
  text-decoration:none;
  font-size:12px;
}
.page-footer small{color:#7f715f}

@media(max-width:1120px){
  .page-hero{
    grid-template-columns:1fr;
  }
  .hero-portrait{
    min-height:560px;
  }
  .hero-portrait img{
    min-height:560px;
  }
  .path-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .form-layout{
    grid-template-columns:1fr;
  }
  .form-intro{
    position:static;
  }
}
@media(max-width:900px){
  .interior-nav nav{display:none}
  .mobile-toggle{display:block}
  .interior-nav.open nav{
    display:flex;
    position:absolute;
    top:78px;
    left:4vw;
    right:4vw;
    flex-direction:column;
    align-items:flex-start;
    padding:24px;
    border:1px solid var(--line);
    border-radius:20px;
    background:rgba(5,4,3,.98);
  }
}
@media(max-width:720px){
  .brand-link img{width:168px}
  .page-hero{
    min-height:auto;
    padding:130px 22px 72px;
  }
  .page-hero h1{
    font-size:clamp(50px,14vw,72px);
  }
  .hero-portrait{
    min-height:440px;
  }
  .hero-portrait img{
    min-height:440px;
  }
  .content-section{
    padding:82px 22px;
  }
  .path-grid,
  .field-grid,
  .faq-groups{
    grid-template-columns:1fr;
  }
  .path-card{
    min-height:340px;
  }
  .contact-form{
    padding:22px;
  }
  .section-head p,
  .form-intro>p,
  .final-cta p{
    font-size:18px;
  }
  .quote-band{
    padding:88px 22px;
  }
}


@media (max-width:992px){

.contact-hero{

    background-position:72% center;

}

.contact-hero-content{

    margin:0 auto;

    padding:120px 35px 80px;

}

}