@font-face {
  font-family: "Lora";
  src: url("assets/fonts/lora.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("assets/fonts/nunito.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --bg: #FAF8F3;
  --surface: #E8EDE2;
  --line: #CFD6C9;
  --green: #586756;
  --green-soft: #8FA08A;
  --text: #2F3430;
  --text-muted: #5E635E;
  --serif: "Lora", Georgia, serif;
  --sans: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:5px}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3{font-family:var(--serif)}em{font-weight:400}h2{font-size:clamp(30px,3.6vw,49px);line-height:1.13;letter-spacing:-.035em}h3{line-height:1.25}p+p{margin-top:20px}::selection{background:var(--surface);color:var(--text)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section-space{padding-block:108px}.muted{color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;background:var(--text);color:var(--bg);padding:12px 20px;z-index:100}.skip-link:focus{top:12px}.site-header{background:var(--bg);position:relative;z-index:20}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--green);color:var(--bg);font-size:15px;font-weight:500;text-decoration:none;padding:17px 23px;min-height:56px;border:1px solid var(--green);transition:background .2s}.button:hover{background:var(--green)}.button span{font-size:21px;line-height:1}.text-link{display:inline-flex;gap:15px;align-items:center;font-size:14px;font-weight:500;min-height:44px}.text-link span{font-size:19px}.light-link{display:inline-flex;align-items:center;gap:22px;font-size:14px;min-height:44px}.light-link span[aria-hidden]{font-size:21px}.treatment-list{margin-top:30px}.treatment-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding-block:22px;border-bottom:1px solid var(--line);align-items:start}.treatment-list>div:first-child{border-top:1px solid var(--line)}.treatment-list dt{font-size:17px;line-height:1.5;max-width:330px}.treatment-list dt span{display:block;font-size:14px;color:var(--text-muted);margin-top:3px;line-height:1.6}.treatment-list dd{font-size:21px;font-weight:500;white-space:nowrap;line-height:1.3;font-variant-numeric:tabular-nums}.treatment-list dd small{font-size:13px;font-weight:400}.cosmetics{background:var(--bg)}.cosmetics-layout{display:grid;grid-template-columns:1fr 1.45fr;gap:12%}.list-title{font-family:var(--sans);font-size:15px;font-weight:600;margin:3px 0 23px}.compact{margin-top:0}.compact>div{padding-block:17px}.additional-treatments{margin-top:25px;border-bottom:1px solid var(--line);padding-bottom:13px}.additional-treatments summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;font-size:15px;font-weight:500;min-height:48px}.additional-treatments summary::-webkit-details-marker{display:none}.additional-treatments summary>span{font-size:25px;font-weight:300}.additional-treatments[open] summary>span{transform:rotate(45deg)}.additional-treatments .treatment-list{margin-top:12px}.treatment-list .request-price{font-size:14px;padding-top:3px;font-weight:400}.additional-treatments>.text-link{margin-top:15px}.contact{background:var(--green);color:var(--bg);padding-top:83px;padding-bottom:86px}.contact-heading{padding-bottom:45px;border-bottom:1px solid var(--line)}.contact-heading h2{margin-top:28px;font-size:66px;line-height:1.02}.contact-heading>p:last-child{font-size:16px;margin-top:25px;color:var(--bg)}.contact-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:6%;margin-top:42px}.contact-grid h3{font-family:var(--sans);font-size:14px;font-weight:600;margin-bottom:22px}.contact-link{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;text-decoration:none;font-size:27px;font-family:var(--serif);line-height:1.45}.contact-link:hover>span:first-child{text-decoration:underline;text-underline-offset:5px}.contact-link small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.6px;color:var(--bg);margin-bottom:4px}.contact-link>span:last-child{font-size:23px}.email-link{font-family:var(--sans);font-size:16px;margin-top:3px}.hours dl>div{display:flex;justify-content:space-between;gap:18px;padding-block:9px;font-size:14px;border-bottom:1px solid var(--line)}.hours dd{white-space:nowrap}.hours-note,.map-note{font-size:12px;color:var(--bg);line-height:1.6;margin-top:21px}.address address{font-style:normal;font-size:16px;line-height:1.9}.address .light-link{margin-top:23px}.map-note{margin-top:9px;max-width:180px}.site-footer{padding-top:43px;padding-bottom:24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:38px}.footer-top>p{font-size:14px;color:var(--text-muted);line-height:1.6}.back-top{font-size:12px;display:flex;gap:18px;align-items:center;min-height:44px}.back-top span{font-size:22px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--text-muted)}.footer-bottom nav{display:flex;gap:25px}.footer-bottom nav a{display:inline-flex;gap:4px;align-items:center;min-height:44px}.legal-page{max-width:760px;min-height:65vh;padding-block:70px 100px}.legal-page h1{font-size:56px;white-space:normal;margin-block:25px}.legal-page h2{font-size:28px;margin-block:32px 16px;letter-spacing:-.4px}.legal-page p{max-width:660px}.draft-notice{border-left:3px solid var(--green);padding:20px 24px;background:var(--surface);margin-top:30px}

@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.section-space{padding-block:80px}.contact-grid{gap:4%;grid-template-columns:1fr 1.1fr 1fr}.contact-link{font-size:25px}.email-link{font-size:14px}.hours dl>div{font-size:12px;gap:12px}.cosmetics-layout{gap:8%}}
@media(max-width:900px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 48px)}.treatment-list>div{gap:14px;padding-block:19px}.treatment-list dt{font-size:15px}.treatment-list dt span{font-size:12px}.treatment-list dd{font-size:19px}.cosmetics-layout{gap:8%;grid-template-columns:1fr 1.4fr}.contact-heading h2{font-size:57px}.contact-grid{grid-template-columns:1fr 1fr;gap:40px}.contact-grid .address{grid-column:2;grid-row:1}.contact-grid .hours{grid-column:1/-1;max-width:none;border-top:1px solid var(--line);padding-top:30px}.hours dl{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.hours dl>div{font-size:14px}.hours-note{margin-top:15px}.contact-link{font-size:28px}.email-link{font-size:16px}.footer-top{flex-wrap:wrap}.footer-top>p{display:none}.footer-bottom{align-items:flex-start;font-size:10px}.footer-bottom nav{gap:18px}.footer-bottom nav a{flex-wrap:wrap}}
@media(max-width:600px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.section-space{padding-block:60px}.treatment-list{margin-top:24px}.treatment-list>div{gap:24px;padding-block:20px}.treatment-list dt{font-size:16px}.treatment-list dt span{font-size:13px}.treatment-list dd{font-size:21px}.cosmetics-layout{display:flex;flex-direction:column;gap:32px}.cosmetic-prices{width:100%}.list-title{font-size:14px;margin-bottom:20px}.cosmetic-prices .compact{margin-top:0}.compact>div{padding-block:17px}.additional-treatments{margin-top:20px}.additional-treatments summary{font-size:14px;line-height:1.5}.additional-treatments .compact{margin-top:15px}.contact-heading{padding-bottom:32px}.contact-heading h2{font-size:45px;letter-spacing:-1.8px;margin-top:23px;line-height:1.07}.contact-heading>p:last-child{font-size:15px;margin-top:20px}.contact-heading br:last-child{display:none}.contact-grid{display:flex;flex-direction:column;gap:35px;margin-top:30px}.contact-grid h3{margin-bottom:16px;font-size:15px}.contact-options{max-width:400px}.contact-link{font-size:30px;min-height:78px;border-bottom:1px solid var(--line);padding-block:13px}.contact-link small{font-size:12px}.email-link{font-size:18px}.contact-grid .hours{border:0;padding:0;order:1}.hours dl{display:block}.hours dl>div{font-size:15px;padding-block:11px;gap:20px}.hours-note{font-size:13px}.address{order:2}.address address{font-size:17px}.address .light-link{font-size:15px;margin-top:15px}.map-note{font-size:12px;max-width:none}.footer-top{padding-bottom:24px;gap:22px}.footer-top>.text-link{display:none}.footer-bottom{flex-direction:column;gap:9px;font-size:11px;padding-top:20px}.footer-bottom nav{gap:24px}.site-footer{padding-top:32px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.legal-page{padding-block:45px 70px}.legal-page h1{font-size:42px}.legal-page h2{font-size:28px}.draft-notice{padding:18px}.legal-body .site-footer{padding-bottom:25px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.treatment-list>div{gap:15px}.treatment-list dt{font-size:15px}.contact-heading h2{font-size:40px}.footer-bottom nav{gap:14px}.treatment-list .request-price{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Visible navigation and portrait */
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 86px;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}

.main-nav a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 4px 2px;
  color: var(--green);
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
}

.main-nav a:hover{
  text-decoration: underline;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
  align-items: center;
  gap: 7%;
  padding-block: 44px 40px;
}

.hero-location,
.section-label {
  color: var(--green);
  font-size: 15px;
  font-weight: 600;
}

.hero h1 {
  max-width: 14ch;
  margin-top: 12px;
  font-size: clamp(40px, 5vw, 70px);
  line-height: 1.12;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.hero-quote {
  max-width: 30ch;
  margin-top: 22px;
  color: var(--text);
  font-family: var(--serif);
  border-left: 2px solid var(--green);
  padding-left: 16px;
  font-size: clamp(20px, 2.1vw, 27px);
  line-height: 1.4;
  text-wrap: pretty;
}

.hero-description {
  max-width: 41ch;
  margin-top: 14px;
  color: var(--text-muted);
  font-size: 17px;
  line-height: 1.6;
}

.hero-signature {
  margin-top: 12px;
  font-weight: 600;
}

.hero-portrait {
  width: min(100%, 420px);
  justify-self: end;
}

.portrait-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
}

.button {
  gap: 14px;
  font-size: 16px;
  min-height: 50px;
  padding: 11px 17px;
}

.button:hover {
  background: var(--green);
}

/* Treatment names and prices share the same reading rhythm. */
.foot-section,
.cosmetics {
  padding-block: 26px 54px;
}

.foot-heading {
  max-width: 45rem;
  margin-bottom: 25px;
}

.foot-heading h2 {
  margin-top: 7px;
  text-wrap: balance;
}

.foot-description {
  max-width: 56ch;
  margin-top: 12px;
  color: var(--text-muted);
}

.cosmetics h2 {
  margin-bottom: 24px;
}

.foot-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 7%;
  align-items: start;
}

.signature-treatment {
  padding-inline: 20px;
  background: var(--surface);
}

.signature-treatment .treatment-list,
.foot-more .treatment-list {
  margin-top: 0;
}

.signature-treatment .treatment-list > div:first-child {
  border-top: 0;
}

.signature-treatment .treatment-list > div:last-child {
  border-bottom: 0;
}

.signature-treatment .treatment-list > div:first-child dt {
  font-weight: 600;
}

:is(.treatments, .botanical-stage) .treatment-list > div {
  padding-block: 14px;
  gap: 14px;
}

.foot-more h3,
.list-title {
  margin: 0 0 10px;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 600;
}

.aquafacial {
  padding-top: 16px;
  align-self: start;
}

.aquafacial h3 {
  margin: 0 0 8px;
  font-family: var(--serif);
  font-size: 29px;
  font-weight: 400;
}

.aquafacial p {
  max-width: 31ch;
  color: var(--text-muted);
}

.contact-heading h2 {
  font-size: clamp(36px, 5vw, 59px);
  margin-top: 0;
}

.contact-heading > p:last-child {
  margin-top: 15px;
}

.contact-options .button {
  margin-bottom: 10px;
  background: var(--bg);
  border-color: var(--bg);
  color: var(--green);
}

.contact-options .button:hover {
  background: var(--surface);
}

.contact :is(a, button, summary):focus-visible {
  outline-color: var(--bg);
}

@media (max-width: 900px) {
  .hero {
    gap: 5%;
    padding-block: 42px 30px;
  }

  .hero h1 {
    font-size: clamp(36px, 5.4vw, 48px);
  }

  .hero-description {
    font-size: 17px;
  }
}

@media (max-width: 600px) {
  .header-inner {
    display: block;
    min-height: 0;
    padding-top: 13px;
  }

  .main-nav {
    gap: 0;
    justify-content: space-between;
    margin-top: 8px;
  }

  .main-nav a {
    padding-inline: 4px;
    font-size: 15px;
  }

  .hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding-block: 20px 22px;
  }

  .hero h1 {
    max-width: 16ch;
    margin-top: 9px;
    font-size: clamp(33px, 8.7vw, 42px);
  }

  .hero-quote {
    margin-top: 14px;
    font-size: 20px;
  }

  .hero-description {
    margin-top: 10px;
  }

  .hero-portrait {
    width: min(100%, 300px);
    justify-self: center;
  }

  .foot-heading {
    margin-bottom: 20px;
  }

  .foot-section,
  .cosmetics {
    padding-block: 18px 36px;
  }

  .foot-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .signature-treatment {
    padding-inline: 13px;
  }

  :is(.treatments, .botanical-stage) .treatment-list dd {
    font-size: 19px;
  }

  .legal-body .header-inner {
    display: flex;
    padding-block: 13px;
  }
}

/* The studio name stays readable as a complete name at every width. */
.wordmark {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  color: var(--green);
  font-family: var(--serif);
  font-size: clamp(32.4px, 3vw, 43.2px);
  line-height: 1.2;
  text-decoration: none;
  text-align: left;
}

.header-inner {
  min-height: 112px;
}

.main-nav .contact-nav {
  padding: 7px 17px;
  background: var(--surface);
  border: 1px solid var(--green);
  border-radius: 8px;
}

.main-nav .contact-nav:hover {
  text-decoration: underline;
}

.hero-portrait {
  position: relative;
}

.cosmetics-heading {
  max-width: 45rem;
  margin-bottom: 28px;
}

.cosmetics-heading h2 {
  margin: 7px 0 0;
}

.section-intro {
  max-width: 57ch;
  margin-top: 12px;
  color: var(--text-muted);
}

.foot-section {
  border-top: 1px solid var(--line);
}

.contact a,
.skip-link {
  color: var(--bg);
}

.contact-options .button {
  color: var(--green);
}

.contact-options .button:hover {
  background: var(--surface);
}

.contact .button:focus-visible {
  outline-color: var(--bg);
}

.site-footer .wordmark {
  font-size: 24px;
}

@media (max-width: 900px) {
  .header-inner {
    flex-wrap: wrap;
    padding-block: 19px;
    gap: 13px 24px;
  }
}

@media (max-width: 600px) {
  .header-inner {
    display: block;
    min-height: 0;
    padding-block: 18px 0;
  }

  .wordmark {
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    font-size: 36px;
  }

  .main-nav {
    margin-top: 13px;
    gap: 8px;
  }

  .main-nav .contact-nav {
    padding-inline: 14px;
  }

  .legal-body .header-inner {
    flex-wrap: wrap;
  }
}

/* A single desktop composition frames the portrait and trails into cosmetics.
   Opaque content surfaces keep its linework clear of all text and prices. */
.botanical-stage {
  position: relative;
  isolation: isolate;
}

.botanical-stage .cosmetics {
  background: transparent;
}

.botanical-stage .cosmetics > .wrap {
  position: relative;
  padding-right: 240px;
}

.botanical-stage .cosmetics-heading,
.botanical-stage .aquafacial,
.botanical-stage .cosmetic-prices {
  position: relative;
  background: var(--bg);
}

.botanical-stage .cosmetic-prices {
  box-shadow: -12px 0 0 var(--bg);
}

.botanical-stage .cosmetic-prices::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 0;
  width: 60px;
  height: 100%;
  background: linear-gradient(to right, var(--bg), transparent);
  pointer-events: none;
}

.botanical-stage .cosmetics-heading {
  max-width: 45rem;
}

@media (max-width: 1100px) {
  .header-inner {
    flex-wrap: wrap;
    gap: 13px 24px;
    padding-block: 19px;
  }

  .botanical-stage .cosmetics > .wrap {
    padding-right: 90px;
  }

  .botanical-stage .cosmetics-heading {
    max-width: 340px;
  }

  .botanical-stage .cosmetics-layout {
    grid-template-columns: 1fr 1.7fr;
    gap: 6%;
  }
}

@media (max-width: 600px) {
  .header-inner {
    padding-block: 18px 0;
  }

  .botanical-stage .cosmetics > .wrap {
    padding-right: 0;
  }

  .botanical-stage .cosmetic-prices,
  .botanical-stage .cosmetics-heading {
    box-shadow: none;
  }

  .botanical-stage .cosmetics-heading {
    max-width: none;
  }

  .botanical-stage .cosmetic-prices::after {
    display: none;
  }
}


/* Long appointment wording wraps while the weekday remains easy to scan. */
.hours dt {
  flex-shrink: 0;
}

.hours dd {
  min-width: 0;
  max-width: 21ch;
  white-space: normal;
  text-align: right;
}

/* The portrait keeps its own dimensions; the stage carries the plants. */
.botanical-stage .hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  column-gap: 7%;
  padding-right: 0;
  padding-block: 36px 40px;
}

.botanical-stage .hero-copy {
  max-width: 34rem;
}

.botanical-stage .hero-portrait {
  position: relative;
  isolation: isolate;
  justify-self: end;
  width: min(100% - 12px, 460px);
  aspect-ratio: .88;
  margin: 18px 12px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.portrait-person {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  mask-image: linear-gradient(to bottom, #000 calc(100% - 24px), transparent);
}

.portrait-person .portrait-image {
  display: block;
  position: absolute;
  bottom: 0;
  left: -28px;
  width: calc(100% - 30px);
  height: auto;
  border-radius: 0;
}

@media (max-width: 1100px) {
  .botanical-stage .hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 5%;
  }

  .portrait-person .portrait-image {
    left: -20px;
    width: calc(100% - 20px);
  }
}

@media (max-width: 600px) {
  .botanical-stage .hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding-block: 20px 28px;
  }

  .botanical-stage .hero-portrait {
    justify-self: start;
    width: min(100%, 350px);
    margin: 4px 0 0;
    aspect-ratio: .88;
  }
}


/* This zero-height layer spans the light sections without affecting content
   height. Its plant size is independent of the portrait box. */
.botanical-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.botanical-stage .hero {
  grid-area: 1 / 1;
  position: relative;
  z-index: 1;
}

.botanical-stage .cosmetics {
  grid-area: 2 / 1;
  position: relative;
  z-index: 1;
}

.stage-orchids {
  grid-area: 1 / 1 / 4 / 2;
  align-self: start;
  justify-self: end;
  position: relative;
  z-index: -1;
  width: 800px;
  height: 0;
  margin-right: max(20px, calc((100vw - 1400px) / 2));
  pointer-events: none;
  opacity: .8;
}

.stage-orchids img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: auto;
  mask-image: linear-gradient(to bottom, #000 25%, transparent 38%),
              linear-gradient(to right, rgba(0, 0, 0, .15), rgba(0, 0, 0, .25) 45%, #000 78%);
  mask-composite: add;
}

.contact {
  position: relative;
  isolation: isolate;
}

.contact > .wrap {
  position: relative;
  z-index: 1;
}

.contact-orchid {
  position: absolute;
  right: -18px;
  bottom: -82px;
  width: 240px;
  pointer-events: none;
  opacity: .8;
}

.contact-orchid img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 1100px) {
  .stage-orchids {
    width: 600px;
    margin-right: 12px;
  }

  .stage-orchids img {
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .7) 25%, transparent 38%),
                linear-gradient(to right, rgba(0, 0, 0, .15), rgba(0, 0, 0, .25) 85%, #000);
    mask-composite: add;
  }
}

@media (max-width: 600px) {
  .stage-orchids {
    grid-area: 1 / 1;
    align-self: end;
    width: clamp(300px, 93vw, 390px);
    margin-right: 8px;
  }

  .stage-orchids img {
    top: auto;
    bottom: -220px;
    mask-image: linear-gradient(to bottom, transparent, #000 3%, #000 90%, transparent),
                linear-gradient(to bottom, #000 60%, transparent 75%),
                linear-gradient(to right, rgba(0, 0, 0, .2) 70%, #000 85%);
    mask-composite: intersect, add;
  }

  .botanical-stage .cosmetics-heading {
    padding-right: 90px;
  }

  .contact-orchid {
    position: absolute;
    right: 0;
    bottom: -24px;
    width: clamp(100px, 34vw, 150px);
    margin: 0;
  }

  .portrait-person .portrait-image {
    left: -30px;
  }

  .contact .address {
    padding-right: clamp(112px, 34vw, 152px);
  }
}

/* Let the softly masked plant blend into the light page. */
.botanical-stage .cosmetics-heading {
  background: transparent;
}

.botanical-stage .cosmetics-heading > * {
  background: var(--bg);
}


.botanical-stage .treatments {
  grid-area: 3 / 1;
  position: relative;
  z-index: 1;
}

.botanical-stage .cosmetic-prices,
.botanical-stage .cosmetics-heading > *,
.botanical-stage .aquafacial {
  background: transparent;
  box-shadow: none;
}

.botanical-stage .cosmetic-prices::after {
  display: none;
}

.contact-orchid {
  opacity: .95;
}

@media (min-width: 1101px) {
  .botanical-stage .hero-portrait {
    margin-right: 110px;
  }
}

/* The portrait frame is independent of the larger botanical stage. */
/* Fragment destinations keep their focus for navigation, without Safari's
   full-section outline. Interactive controls retain their focus-visible ring. */
.site-header[tabindex="-1"]:focus,
main section[tabindex="-1"]:focus {
  outline: none;
}

.botanical-stage .hero-portrait {
  border: 1px solid var(--green-soft);
  border-radius: 6px;
}

.portrait-person {
  border-radius: 5px;
  mask-image: none;
}

.contact .address {
  position: relative;
}

@media (min-width: 601px) and (max-width: 900px) {
  .contact-orchid {
    position: static;
    width: min(100%, 190px);
    margin: 16px 0 0 auto;
  }
}
