/* The opening campaign: emerald, ivory and light on brushed gold. */
.hero.hero-premium {
  --hero-ink: #082e2c;
  --hero-ivory: #faf7ef;
  --hero-gold: #e7c88e;
  --hero-soft: #c7d7cf;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 0;
  color: var(--hero-ivory);
  background: radial-gradient(ellipse at 83% 31%, #1c5144 0, #103b34 26%, var(--hero-ink) 65%);
  border-top: 1px solid #c3a574;
}
.hero-premium > .wrap { position: relative; z-index: 1; }
.hero-premium-stage {
  display: grid;
  grid-template-columns: .97fr 1.08fr;
  align-items: center;
  gap: 44px;
  padding: 50px 0 44px;
}
.hero-premium-copy { min-width: 0; padding: 8px 0; }
.hero-premium-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 24px;
  color: var(--hero-gold);
  font-size: 12px;
  letter-spacing: .16em;
  line-height: 1.6;
}
.hero-premium-eyebrow::before {
  content: "";
  width: 34px;
  height: 1px;
  background: var(--hero-gold);
  flex: 0 0 auto;
}
.hero-premium h1 {
  color: var(--hero-ivory);
  font-size: clamp(58px, 5.6vw, 85px);
  line-height: 1.04;
  letter-spacing: -.035em;
  margin: 0;
}
.hero-premium h1 em {
  display: inline-block;
  padding: 2px 5px 8px 0;
  color: var(--hero-gold);
  background: linear-gradient(108deg, #eed9aa 8%, #fff3d9 41%, #d3ad6b 76%, #e9cd97 98%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero-premium-description {
  color: var(--hero-soft);
  max-width: 400px;
  margin: 23px 0 26px;
  font-size: 17px;
  line-height: 1.75;
}
.hero-premium-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 26px; }
.hero-consultation {
  min-height: 54px;
  padding: 15px 22px;
  gap: 25px;
  color: #15392f;
  background: linear-gradient(110deg, #f2dfb9, #dfbc7d);
  border: 1px solid #f5e4be;
  border-radius: 1px;
  box-shadow: 0 5px 20px #001e2021;
}
.hero-consultation:hover {
  color: #082e2c;
  background: #f5e4be;
  border-color: #fff0d0;
  transform: translateY(-2px);
}
.hero-explore {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #eee9dc;
  font-size: 14px;
  text-decoration: underline;
  text-decoration-color: #79988b;
  text-underline-offset: 7px;
  transition: color .2s, text-decoration-color .2s;
}
.hero-explore:hover { color: var(--hero-gold); text-decoration-color: var(--hero-gold); }
.hero-premium .hero-proof { gap: 24px; margin: 31px 0 0; flex-wrap: wrap; }
.hero-premium .hero-proof a { gap: 11px; min-height: 44px; }
.hero-premium .hero-proof b { color: #fbf9f3; font-size: 14px; letter-spacing: .01em; }
.hero-premium .hero-proof small { color: #bfd2c8; font-size: 12px; }
.hero-premium .proof-divider { background: #587363; }
.hero-premium .tp-star { color: #91d5ba; }
.hero-premium .google-g { color: #f0e5cd; }
.hero-premium-art { position: relative; min-width: 0; margin: 0; padding: 13px; }
.hero-art-frame {
  position: relative;
  background: #0d302c;
  border: 1px solid #b699617a;
  box-shadow: 0 25px 50px #031e216b;
}
.hero-art-frame::before {
  content: "";
  position: absolute;
  inset: -13px 12px 13px -13px;
  border: 1px solid #cfb77c70;
  pointer-events: none;
  z-index: -1;
}
.hero-campaign-image { width: 100%; height: auto; display: block; }
.hero-premium-art figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 23px 0 0;
  color: #e2ceb0;
}
.hero-art-location { font-size: 12px; letter-spacing: .14em; line-height: 1.5; }
.hero-art-signature { font: italic 22px/1.25 var(--serif); color: #d7e7d8; }
.hero-treatment-selection {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid #77947c66;
  border-top-color: #c7ac78a6;
  background: linear-gradient(110deg, #f8f4e80a, #c8ddc206);
  scroll-margin-top: 26px;
}
.hero-treatment {
  position: relative;
  display: flex;
  align-items: center;
  gap: 19px;
  min-width: 0;
  padding: 26px 25px;
  border: 0;
  background: transparent;
  text-align: left;
  color: #f6f2e8;
  transition: background .25s, color .25s;
}
.hero-treatment + .hero-treatment { border-left: 1px solid #77947c66; }
.hero-treatment-number { font: italic 29px/1 var(--serif); color: #d7bc85; flex: 0 0 auto; }
.hero-treatment-copy { min-width: 0; }
.hero-treatment-label { display: block; color: #b5cbbb; font-size: 12px; letter-spacing: .12em; line-height: 1.5; margin-bottom: 6px; }
.hero-treatment strong { display: block; font: 400 clamp(25px, 2.05vw, 31px)/1.16 var(--serif); letter-spacing: -.015em; }
.hero-treatment-arrow {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  margin-left: auto;
  border: 1px solid #91a58580;
  border-radius: 50%;
  color: #ead5ad;
  font-size: 22px;
  transition: transform .25s, border-color .25s;
}
.hero-treatment:hover { background: #f5ebd610; }
.hero-treatment:hover .hero-treatment-arrow { border-color: #e8ca91; transform: translate(2px, -2px); }
.hero-premium a:focus-visible, .hero-premium button:focus-visible { outline: 2px solid #f7dc9e; outline-offset: 5px; }
.hero-treatment:focus-visible { z-index: 2; }
.hero-premium .hero-foot { padding: 21px 0 25px; font-size: 12px; color: #b8ccbf; }
.hero-premium .hero-foot a { color: #e3cd9f; }
.hero-premium .hero-foot a:hover { color: #fff1d2; }
@media (prefers-reduced-motion: no-preference) {
  .hero-premium-copy { animation: hero-introduction .8s cubic-bezier(.2,.65,.3,1) both; }
  .hero-premium-art { animation: hero-introduction 1s .12s cubic-bezier(.2,.65,.3,1) both; }
  .hero-treatment-selection { animation: hero-introduction .8s .24s cubic-bezier(.2,.65,.3,1) both; }
  @keyframes hero-introduction { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width: 1150px) {
  .hero-premium-stage { gap: 25px; padding: 43px 0 35px; grid-template-columns: 1fr 1fr; }
  .hero-premium h1 { font-size: clamp(57px, 6.1vw, 70px); }
  .hero-premium-eyebrow { letter-spacing: .12em; gap: 10px; }
  .hero-premium-eyebrow::before { width: 22px; }
  .hero-premium-actions { gap: 11px 20px; }
  .hero-premium .hero-proof { gap: 16px; margin-top: 26px; }
  .hero-treatment { padding: 24px 19px; gap: 13px; }
  .hero-treatment strong { font-size: 27px; }
  .hero-treatment-arrow { flex-basis: 31px; width: 31px; height: 31px; }
  .hero-art-signature { font-size: 20px; }
  .hero-art-location { font-size: 12px; letter-spacing: .08em; }
}
@media (max-width: 900px) {
  .hero-premium-stage { gap: 16px; }
  .hero-premium h1 { font-size: clamp(46px, 6.3vw, 57px); }
  .hero-premium-eyebrow { font-size: 12px; letter-spacing: .08em; margin-bottom: 20px; }
  .hero-premium-eyebrow::before { display: none; }
  .hero-premium-description { font-size: 16px; margin: 18px 0 21px; }
  .hero-premium-actions { gap: 12px 15px; }
  .hero-premium .hero-proof { gap: 10px 17px; }
  .hero-premium .proof-divider { display: none; }
  .hero-premium-art { padding: 9px; }
  .hero-art-frame::before { inset: -9px 9px 9px -9px; }
  .hero-premium-art figcaption { align-items: flex-start; flex-direction: column; gap: 8px; padding-top: 18px; }
  .hero-treatment { gap: 12px; padding: 22px 17px; }
  .hero-treatment-number { font-size: 23px; }
  .hero-treatment strong { font-size: 23px; }
  .hero-treatment-arrow { flex-basis: 27px; width: 27px; height: 27px; font-size: 19px; }
  .hero-treatment-label { font-size: 12px; letter-spacing: .05em; }
}
@media (max-width: 700px) {
  .hero-premium-stage { grid-template-columns: 1fr; gap: 34px; padding: 35px 0 27px; }
  .hero-premium-copy { padding: 0; }
  .hero-premium-eyebrow { letter-spacing: .12em; font-size: 12px; gap: 13px; margin-bottom: 19px; }
  .hero-premium-eyebrow::before { display: block; width: 25px; }
  .hero-premium h1 { font-size: clamp(48px, 10.3vw, 72px); line-height: 1.02; }
  .hero-premium-description { max-width: 450px; margin: 17px 0 23px; }
  .hero-premium-actions { gap: 14px 22px; }
  .hero-consultation { min-height: 52px; padding: 14px 19px; gap: 18px; }
  .hero-explore { font-size: 14px; gap: 9px; }
  .hero-premium .hero-proof { margin-top: 23px; gap: 13px 26px; }
  .hero-premium-art { margin: 0 0 0 9px; padding: 0 0 0 0; }
  .hero-premium-art figcaption { flex-direction: row; align-items: center; padding-top: 16px; gap: 12px; }
  .hero-art-signature { font-size: 20px; }
  .hero-art-location { letter-spacing: .04em; font-size: 12px; }
  .hero-treatment-selection { grid-template-columns: 1fr; }
  .hero-treatment + .hero-treatment { border-left: 0; border-top: 1px solid #77947c66; }
  .hero-treatment { gap: 19px; padding: 20px 21px; }
  .hero-treatment-number { font-size: 26px; }
  .hero-treatment-copy { display: flex; flex-direction: column; }
  .hero-treatment-label { font-size: 12px; letter-spacing: .1em; margin-bottom: 5px; }
  .hero-treatment strong { font-size: 27px; }
  .hero-treatment-arrow { flex-basis: 35px; width: 35px; height: 35px; font-size: 21px; }
  .hero-premium .hero-foot { flex-direction: column; align-items: flex-start; gap: 7px; padding: 20px 0 25px; }
}
@media (max-width: 380px) {
  .hero-premium h1 { font-size: 44px; }
  .hero-premium-eyebrow { letter-spacing: .07em; gap: 9px; }
  .hero-premium-eyebrow::before { width: 17px; }
  .hero-premium .hero-proof { column-gap: 16px; }
  .hero-premium .hero-proof a { gap: 8px; }
  .hero-art-signature { font-size: 17px; }
  .hero-art-location { font-size: 12px; max-width: 110px; }
  .hero-treatment { padding: 18px 16px; gap: 16px; }
  .hero-treatment strong { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-consultation, .hero-explore, .hero-treatment, .hero-treatment-arrow { transition: none; }
  .hero-consultation:hover, .hero-treatment:hover .hero-treatment-arrow { transform: none; }
}
@media (forced-colors: active) {
  .hero-premium h1 em { background: none; -webkit-text-fill-color: currentColor; }
  .hero-consultation, .hero-treatment-selection, .hero-treatment + .hero-treatment, .hero-treatment-arrow { border-color: ButtonText; }
}
