/* A scoped copy of the public Coming Soon hero. No shared layout classes. */
.public-hero-copy {
  --public-hero-paper: #FBF9F6;
  --public-hero-sand: #F3EEE8;
  --public-hero-ink: #262523;
  --public-hero-muted: #5F5850;
  --public-hero-line: #D9D0C4;
  --public-hero-bronze: #8C6A3F;
  --public-hero-bronze-light: #D4B483;
  --public-hero-terracotta: #9F4934;
  --public-hero-terracotta-dark: #823B2A;
  display: block;
  position: relative;
  margin: 16px 16px 0;
  padding: 0;
  border-radius: 30px;
  background: var(--public-hero-sand);
  color: var(--public-hero-ink);
  overflow: hidden;
  font-family: 'Geist', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  line-height: normal;
}
.public-hero-copy,
.public-hero-copy *,
.public-hero-copy *::before,
.public-hero-copy *::after { box-sizing: border-box; }
.public-hero-copy a { color: inherit; }
.public-hero-copy a:focus-visible {
  outline: 2px solid var(--public-hero-bronze);
  outline-offset: 5px;
  border-radius: 3px;
}
.public-hero-copy .public-hero-copy__wrap {
  width: min(100% - 112px, 1240px);
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
.public-hero-copy .public-hero-copy__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(50px, 6vw, 90px);
  align-items: center;
  min-height: calc(100svh - 165px);
  padding-block: 58px;
}
.public-hero-copy .public-hero-copy__copy { min-width: 0; padding-block: 15px; }
.public-hero-copy .public-hero-copy__eyebrow {
  display: flex;
  align-items: center;
  gap: 17px;
  margin: 0;
  color: var(--public-hero-bronze);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.public-hero-copy .public-hero-copy__eyebrow::before {
  content: '';
  width: 35px;
  height: 1px;
  flex-shrink: 0;
  background: var(--public-hero-bronze-light);
}
.public-hero-copy .public-hero-copy__title {
  margin: 29px 0 0;
  padding: 0;
  color: var(--public-hero-ink);
  font-family: 'Geist', 'Helvetica Neue', Arial, sans-serif;
  font-size: clamp(44px, 5vw, 72px);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -.045em;
  text-wrap: wrap;
}
.public-hero-copy .public-hero-copy__title > span,
.public-hero-copy .public-hero-copy__title > em { display: block; }
.public-hero-copy .public-hero-copy__title > span { font-size: 1em; }
.public-hero-copy .public-hero-copy__title > em {
  margin-top: 5px;
  padding: 0;
  color: var(--public-hero-bronze);
  background: none;
  -webkit-text-fill-color: currentColor;
  font-family: 'Instrument Serif', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 1.05em;
  line-height: 1.13;
  letter-spacing: -.01em;
}
.public-hero-copy .public-hero-copy__intro {
  max-width: 490px;
  margin: 27px 0 0;
  color: var(--public-hero-muted);
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.65;
}
.public-hero-copy .public-hero-copy__actions { margin-top: 32px; }
.public-hero-copy .public-hero-copy__button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 11px;
  min-height: 56px;
  padding: 16px 25px;
  border-radius: 999px;
  background: var(--public-hero-terracotta);
  color: var(--public-hero-paper);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transition: background .18s ease;
}
.public-hero-copy .public-hero-copy__button:hover {
  background: var(--public-hero-terracotta-dark);
  color: var(--public-hero-paper);
}
.public-hero-copy .public-hero-copy__button svg {
  width: 21px;
  height: 21px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.public-hero-copy .public-hero-copy__micro {
  margin: 10px 0 0;
  color: var(--public-hero-muted);
  font-size: 12px;
  line-height: 1.5;
}
.public-hero-copy .public-hero-copy__contacts {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 23px;
  row-gap: 6px;
  border-top: 1px solid var(--public-hero-line);
  margin-top: 29px;
  padding-top: 20px;
}
.public-hero-copy .public-hero-copy__contacts a {
  display: inline-block;
  padding-block: 5px;
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  text-underline-offset: 5px;
}
.public-hero-copy .public-hero-copy__contacts a:hover {
  color: var(--public-hero-terracotta);
  text-decoration: underline;
}
.public-hero-copy .public-hero-copy__portrait {
  position: relative;
  width: 100%;
  max-width: 430px;
  margin: 0 0 0 auto;
  padding: 14px 14px 0 0;
}
.public-hero-copy .public-hero-copy__portrait::before {
  content: '';
  position: absolute;
  inset: 0 0 20px 14px;
  border: 1px solid var(--public-hero-bronze-light);
  border-radius: 240px 240px 16px 16px;
  pointer-events: none;
}
.public-hero-copy .public-hero-copy__portrait-crop {
  position: relative;
  width: 100%;
  height: clamp(440px, 44vw, 570px);
  overflow: hidden;
  border-radius: 240px 240px 16px 16px;
  transform: scaleX(-1);
}
.public-hero-copy .public-hero-copy__portrait-image {
  display: block;
  position: absolute;
  top: 0;
  left: -10%;
  width: 135%;
  height: 135%;
  max-width: none;
  object-fit: cover;
  object-position: left top;
}
.public-hero-copy .public-hero-copy__portrait-caption {
  position: absolute;
  bottom: 22px;
  left: -24px;
  right: 38px;
  border-radius: 15px;
  background: var(--public-hero-paper);
  padding: 19px 24px;
  box-shadow: 0 16px 35px #2625230A;
}
.public-hero-copy .public-hero-copy__portrait-caption strong {
  display: block;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -.02em;
}
.public-hero-copy .public-hero-copy__portrait-caption span {
  display: block;
  margin-top: 5px;
  color: var(--public-hero-muted);
  font-size: 13px;
  line-height: 1.5;
}
@media (min-width: 1500px) {
  .public-hero-copy .public-hero-copy__inner { min-height: 720px; }
}
@media (max-width: 1000px) {
  .public-hero-copy .public-hero-copy__wrap { width: calc(100% - 72px); }
  .public-hero-copy .public-hero-copy__inner { gap: 40px; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); padding-block: 48px; }
  .public-hero-copy .public-hero-copy__eyebrow { gap: 12px; letter-spacing: .13em; }
  .public-hero-copy .public-hero-copy__eyebrow::before { width: 25px; }
  .public-hero-copy .public-hero-copy__portrait-crop { height: 510px; }
  .public-hero-copy .public-hero-copy__portrait-caption { left: -18px; right: 24px; padding: 17px 20px; }
}
@media (max-width: 720px) {
  .public-hero-copy { margin-inline: 8px; border-radius: 24px; }
  .public-hero-copy .public-hero-copy__wrap { width: calc(100% - 44px); }
  .public-hero-copy .public-hero-copy__inner { grid-template-columns: minmax(0, 1fr); gap: 34px; min-height: 0; padding-block: 38px 29px; }
  .public-hero-copy .public-hero-copy__copy { padding: 0; }
  .public-hero-copy .public-hero-copy__eyebrow { letter-spacing: .12em; }
  .public-hero-copy .public-hero-copy__title { margin-top: 23px; }
  .public-hero-copy .public-hero-copy__intro { font-size: 17px; margin-top: 23px; max-width: 100%; }
  .public-hero-copy .public-hero-copy__actions { margin-top: 25px; }
  .public-hero-copy .public-hero-copy__button { min-height: 54px; }
  .public-hero-copy .public-hero-copy__contacts { margin-top: 23px; padding-top: 16px; column-gap: 20px; }
  .public-hero-copy .public-hero-copy__contacts a { font-size: 14px; }
  .public-hero-copy .public-hero-copy__portrait { max-width: 420px; margin-inline: auto; padding-right: 12px; }
  .public-hero-copy .public-hero-copy__portrait-crop { height: clamp(360px, 110vw, 500px); }
  .public-hero-copy .public-hero-copy__portrait-caption { left: 14px; right: 26px; bottom: 17px; }
}
@media (max-width: 360px) {
  .public-hero-copy .public-hero-copy__wrap { width: calc(100% - 36px); }
  .public-hero-copy .public-hero-copy__title { font-size: 35px; }
  .public-hero-copy .public-hero-copy__eyebrow { gap: 9px; }
  .public-hero-copy .public-hero-copy__eyebrow::before { width: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .public-hero-copy *,
  .public-hero-copy *::before,
  .public-hero-copy *::after { transition: none !important; }
}


/* The same transparent flower loop used by section 1a. */
.public-hero-copy .public-hero-copy__copy { position: relative; z-index: 1; container-type: inline-size; }
.public-hero-copy .public-hero-copy__portrait {
  isolation: isolate;
  margin-top: 82px;
  align-self: start;
}
.public-hero-copy .public-hero-copy__portrait::before,
.public-hero-copy .public-hero-copy__portrait-crop { z-index: 1; }
.public-hero-copy .public-hero-copy__portrait-caption { z-index: 2; }
.public-hero-copy .hero-flowers {
  width: calc(100% + 150px);
  top: -146px;
  right: -70px;
  transform: translateX(24px) scaleX(-1);
}
.public-hero-copy .hero-flowers__toggle { right: 0; bottom: 0; }
/* Match section 1's responsive type without changing this section's grid. */
@media (min-width: 961px) and (max-width: 1100px) {
  .public-hero-copy .public-hero-copy__title { font-size: 58px; }
}
@media (min-width: 361px) and (max-width: 960px) {
  .public-hero-copy .public-hero-copy__title { font-size: clamp(37px, 6.8vw, 56px); }
}
@media (min-width: 901px) {
  .public-hero-copy .public-hero-copy__title {
    --section-one-copy-width: calc((min(calc(100vw - 32px - 2 * var(--section-frame-gutter)), 1240px) - clamp(32px, 4vw, 64px)) * .575);
  }
  .public-hero-copy .public-hero-copy__title > span {
    width: 120%;
    font-size: min(1.2em, calc(var(--section-one-copy-width) * .08));
    white-space: nowrap;
  }
  .public-hero-copy .public-hero-copy__title > em {
    font-size: min(1em, calc(var(--section-one-copy-width) * .088));
  }
}
@media (max-width: 720px) {
  .public-hero-copy .public-hero-copy__portrait { margin-top: 112px; }
  .public-hero-copy .hero-flowers {
    width: calc(100% + 100px);
    top: -130px;
    right: -48px;
    transform: scaleX(-1);
  }
  .public-hero-copy .hero-flowers__toggle { right: 0; bottom: 12px; }
}

/* Retain the chosen portrait composition. */
@media (min-width: 721px) {
  .public-hero-copy .public-hero-copy__portrait { transform: translateX(5%); }
  .public-hero-copy .hero-flowers__toggle {
    right: max(16px, calc(5% - var(--section-frame-gutter, 56px) + 8px));
  }
}

.public-hero-copy .public-hero-copy__contact-block { display: flow-root; }
@media (min-width: 721px) {
  .public-hero-copy .public-hero-copy__contact-block { transform: translateY(40%); }
}

/* Keep the lowered contact block within the narrow two-column layout. */
@media (min-width: 721px) and (max-width: 900px) {
  .public-hero-copy .public-hero-copy__inner { padding-bottom: 80px; }
}

/* English follows section 1's type sizes for its longer translated subtitle. */
@media (min-width: 901px) {
  html:lang(en) .public-hero-copy .public-hero-copy__title > span {
    font-size: min(1.2em, calc(var(--section-one-copy-width) * .1044));
  }
  html:lang(en) .public-hero-copy .public-hero-copy__title > em { font-size: 1.05em; }
  html:lang(en) .public-hero-copy .public-hero-copy__inner { padding-bottom: 96px; }
}
