/* A calm, curved first view based on the supplied salon reference. */
.hero.hero-soft{
  display:grid;
  grid-template-columns:minmax(0,52fr) minmax(0,48fr);
  min-height:700px;
  background:#f4f8f8;
}
.hero-soft .hero-copy{
  grid-column:2;
  grid-row:1;
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:64px clamp(30px,4vw,76px) 60px clamp(28px,3.3vw,64px);
  background:#fff;
  isolation:isolate;
}
.hero-soft .hero-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-12%;
  bottom:-12%;
  left:-100px;
  width:200px;
  border-radius:50%;
  background:#fff;
  box-shadow:-24px 0 0 #ffffff65;
}
.hero-soft .hero-visual{
  grid-column:1;
  grid-row:1;
  background:linear-gradient(140deg,#f8f4ee 0%,#edf5f7 100%);
  border-radius:0;
}
.hero-soft .hero-door-photo{
  top:24px;
  left:24px;
  width:calc(100% - 142px);
  height:calc(100% - 80px);
}
.hero-soft .hero-visual figcaption{
  left:28px;
  right:auto;
  bottom:22px;
  padding:0;
  background:transparent;
  color:#807168;
  font-size:10px;
  letter-spacing:.17em;
}
.hero-soft .hero-visual figcaption span{font-size:9px}
.hero-soft .eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:20px;color:#807168}
.hero-soft .short-line{width:24px;background:#aac7cf}
.hero-soft .hero-script{font-size:25px;font-weight:400;line-height:1.35;color:#6f929e;margin-top:0;margin-bottom:23px}
.hero-soft h1{font-size:clamp(33px,3.1vw,46px);font-weight:400;line-height:1.85;letter-spacing:.1em;color:#7d6b64;margin-bottom:24px}
.hero-soft .hero-description{font-size:12px;line-height:2.2;letter-spacing:.04em;color:#807168;margin-bottom:27px}
.hero-soft .button{
  border-radius:999px;
  padding:15px 25px;
  gap:32px;
  font-size:12px;
  line-height:1.7;
  background:#dcecf0;
  color:#51443f;
  box-shadow:0 8px 24px #7eaebc1a;
}
.hero-soft .button:hover{background:#cce3e9;color:#51443f;box-shadow:0 9px 26px #7eaebc2b}
.hero-soft .hero-gallery-link{margin-top:18px;padding-bottom:2px;font-size:10px;color:#807168;border-color:#d7e4e6}
.hero-soft .hero-location{margin-top:22px;font-size:9px;line-height:1.8;letter-spacing:.04em;color:#807168}
.hero-soft .scroll-cue{display:none}
.site-header nav>.nav-reserve{border-radius:999px;padding:12px 22px}
@media(min-width:1500px){.hero.hero-soft{min-height:740px}}
@media(max-width:1100px){
  .hero-soft .hero-copy{padding:50px 28px 50px 30px}
  .hero-soft .hero-copy::before{left:-70px;width:140px;box-shadow:-18px 0 0 #ffffff65}
  .hero-soft .hero-door-photo{width:calc(100% - 114px)}
  .hero-soft .hero-description{font-size:11px}
}
@media(max-width:900px){
  .hero.hero-soft{display:flex;flex-direction:column;min-height:0}
  .hero-soft .hero-visual{position:relative;inset:auto;width:100%;height:540px;min-height:0;aspect-ratio:auto;order:-1}
  .hero-soft .hero-door-photo{top:18px;left:24px;width:calc(100% - 48px);height:calc(100% - 74px)}
  .hero-soft .hero-visual figcaption{left:24px;right:auto;bottom:20px}
  .hero-soft .hero-copy{width:100%;min-height:0;margin:0;padding:38px max(28px,calc((100vw - 600px)/2)) 44px;background:#fff;border-radius:48px 48px 0 0}
  .hero-soft .hero-copy::before{display:none}
  .hero-soft h1{font-size:36px;line-height:1.8;white-space:normal}
}
@media(max-width:600px){
  .hero-soft .hero-visual{height:auto;aspect-ratio:575/756}
  .hero-soft .hero-copy{padding:30px 28px 36px;border-radius:34px 34px 0 0}
  .hero-soft .eyebrow{font-size:8px;margin-bottom:15px}
  .hero-soft .hero-script{font-size:22px;margin-bottom:19px;color:#5c7883}
  .hero-soft h1{font-size:30px;line-height:1.8;letter-spacing:.09em;margin-bottom:20px;white-space:normal}
  .hero-soft .hero-description{font-size:11px;line-height:2.1;margin-bottom:22px}
  .hero-soft .button{font-size:11px;min-height:48px;padding:13px 23px;gap:30px}
  .hero-soft .hero-gallery-link{font-size:10px;margin-top:16px}
  .hero-soft .hero-location{font-size:8px;margin-top:18px}
}
