/* Owner-selected Ashley Tracey photo; bold editorial energy, original wedding branding. */
.home-page .site-header { background: var(--ink); color: #fff; border-bottom: 1px solid #5c4d3e; }
.home-page .site-header .brand-mark i { background: var(--paper); }
.home-page .site-header .brand-mark i:nth-child(2),
.home-page .site-header .brand-mark i:nth-child(3) { background: var(--champagne); }
.home-page .menu-toggle span { background: #fff; }
.home-page .mobile-nav { background: var(--ink); color: #fff; }
.home-page .mobile-nav a:last-child { color: var(--champagne); }
.home-page .desktop-nav a:hover { border-color: var(--champagne); }
.home-page .photo-hero {
  position: relative;
  display: flex;
  align-items: center;
  height: clamp(520px,46vw,680px);
  min-height: 520px;
  background: var(--ink);
  isolation: isolate;
  overflow: hidden;
}
.home-page .photo-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center 48%;
  z-index: 0;
}
.home-page .photo-hero .hero-shade {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg,rgba(0,0,0,.86) 0,rgba(0,0,0,.77) 40%,rgba(0,0,0,.10) 61%,rgba(0,0,0,.13) 100%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 35%);
}
.home-page .photo-hero .hero-content { position: relative; z-index: 2; padding-top: 25px; padding-bottom: 55px; }
.home-page .photo-hero h1 {
  max-width: 630px;
  font-weight: 800;
  font-size: clamp(45px,5.2vw,78px);
  line-height: 1.03;
  letter-spacing: -.055em;
  text-transform: uppercase;
  text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.home-page .photo-hero h1 em { font-weight: 800; font-style: normal; color: #fff; }
.home-page .photo-hero .eyebrow { font-size: 10px; font-weight: 700; color: #fff; }
.home-page .photo-hero .hero-content > p:not(.eyebrow) { max-width: 470px; font-size: 15px; color: #fff; line-height: 1.75; margin-top: 24px; }
.home-page .photo-hero .hero-buttons { margin-top: 28px; }
.home-page .photo-hero .hero-bottom { display: flex; bottom: 45px; color: #fff; z-index: 2; }
.home-page .photo-hero .hero-photo-credit { position: absolute; inset: auto 56px 13px auto; padding: 0; background: transparent; color: #fff; font-size: 10px; z-index: 2; margin: 0; }
.photo-credit { display: block; font-size: 11px; line-height: 1.65; margin: 8px 0 12px; color: var(--muted); }
.gallery-item .photo-credit { margin-bottom: 0; }
@media (max-width: 1000px) and (min-width: 641px) {
  .home-page .photo-hero h1 { max-width: 530px; font-size: 52px; }
  .home-page .photo-hero .hero-content > p:not(.eyebrow) { max-width: 400px; }
}
@media (max-width: 640px) {
  .home-page .photo-hero { height: auto; min-height: 650px; align-items: end; }
  .home-page .photo-hero > img { height: 530px; object-position: center 45%; }
  .home-page .photo-hero .hero-shade { background: linear-gradient(180deg,rgba(0,0,0,.02) 0,rgba(0,0,0,.03) 27%,rgba(0,0,0,.72) 48%,rgba(0,0,0,.94) 75%,#241f1d 100%); }
  .home-page .photo-hero .hero-content { padding-top: 300px; padding-bottom: 60px; }
  .home-page .photo-hero h1 { font-size: clamp(32px,9vw,48px); line-height: 1.04; letter-spacing: -.055em; max-width: none; }
  .home-page .photo-hero h1 em { font-weight: 800; }
  .home-page .photo-hero .eyebrow { font-size: 8px; line-height: 1.7; }
  .home-page .photo-hero .hero-content > p:not(.eyebrow) { font-size: 14px; line-height: 1.7; margin-top: 20px; }
  .home-page .photo-hero .hero-buttons { margin-top: 24px; }
  .home-page .photo-hero .hero-bottom { display: none; }
  .home-page .photo-hero .hero-photo-credit { inset: auto 22px 15px; text-align: left; font-size: 9px; }
}
@media (max-width: 360px) {
  .home-page .photo-hero h1 { font-size: 32px; }
  .home-page .photo-hero .hero-content { padding-top: 290px; }
}
