/* Homepage photograph hero. The text and controls never move with the slides. */
#yz-mainproto .yz-hero-background {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#153b32;
  color:#fff;
}
#yz-mainproto .yz-hero-background .yz-newportrait.yz-hero-backdrop {
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  max-width:none;
  aspect-ratio:auto;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#153b32;
  pointer-events:none;
}
#yz-mainproto .yz-hero-background .yz-newportrait .yz-hero-slide {
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  border-radius:0;
  object-fit:cover;
  object-position:60% 61%;
  filter:none;
}
#yz-mainproto .yz-hero-background .yz-newportrait .yz-hero-slide:nth-child(2) {
  object-position:60% 62%;
}
#yz-mainproto .yz-hero-background .yz-newportrait:after {
  content:none;
}
#yz-mainproto .yz-hero-background:before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(8,35,28,.62) 0%,rgba(8,35,28,.54) 35%,rgba(8,35,28,.20) 60%,rgba(8,35,28,.0) 84%);
}
#yz-mainproto .yz-hero-background .yz-newhero-grid {
  position:relative;
  display:flex;
  align-items:center;
  min-height:640px;
  padding-top:48px;
  padding-bottom:48px;
  gap:0;
}
#yz-mainproto .yz-hero-background .yz-newhero-copy {
  width:100%;
  max-width:720px;
  min-width:0;
}
#yz-mainproto .yz-hero-background .yz-eyebrow {
  color:#fff;
  font-size:11px;
  letter-spacing:.09em;
  text-shadow:0 1px 8px rgba(0,20,14,.22);
}
#yz-mainproto .yz-hero-background h1 {
  margin:24px 0 25px;
  color:#fff;
  font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;
  font-size:clamp(48px,5.15vw,70px);
  font-weight:500;
  line-height:1.36;
  letter-spacing:.055em;
  white-space:normal;
  text-shadow:0 2px 18px rgba(0,20,14,.20);
}
#yz-mainproto .yz-hero-background h1 em {
  color:#fff;
  font-style:normal;
}
#yz-mainproto .yz-hero-background .yz-hero-line {
  display:block;
  white-space:nowrap;
}
#yz-mainproto .yz-hero-background .yz-newhero-copy>p {
  margin:0 0 28px;
  color:#f5f8f2;
  font-size:15px;
  line-height:2;
  letter-spacing:.035em;
  text-shadow:0 1px 8px rgba(0,20,14,.25);
}
#yz-mainproto .yz-hero-background .yz-buttons {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px 28px;
  margin:0;
}
#yz-mainproto .yz-hero-background .yz-btn {
  min-height:54px;
  padding:17px 25px;
  background:#eff3df;
  color:#17392f;
  border-color:#eff3df;
}
#yz-mainproto .yz-hero-background .yz-btn:hover {
  background:#fff;
  border-color:#fff;
}
#yz-mainproto .yz-hero-background .yz-link {
  color:#fff;
  border-color:rgba(255,255,255,.65);
}
#yz-mainproto .yz-hero-background .yz-btn:focus-visible,
#yz-mainproto .yz-hero-background .yz-link:focus-visible,
#yz-mainproto .yz-hero-background .yz-hero-strip a:focus-visible {
  outline:3px solid #fff;
  outline-offset:5px;
}
#yz-mainproto .yz-hero-background .yz-hero-caption {
  display:block;
  margin-top:28px;
  color:rgba(255,255,255,.82);
  font-size:8px;
  letter-spacing:.18em;
  line-height:1.8;
}
#yz-mainproto .yz-hero-background .yz-hero-strip-wrap {
  position:relative;
  background:rgba(9,34,28,.40);
  border-top:1px solid rgba(255,255,255,.2);
}
#yz-mainproto .yz-hero-background .yz-hero-strip {
  align-items:center;
  gap:12px 30px;
  border:0;
  padding:19px 0 20px;
  color:#f1f5ec;
  font-size:10px;
  line-height:1.8;
}
#yz-mainproto .yz-hero-background .yz-hero-strip a {
  color:#fff;
}
@media (max-width:1000px) {
  #yz-mainproto .yz-hero-background .yz-newhero-grid { min-height:620px; }
  #yz-mainproto .yz-hero-background h1 { font-size:56px; }
}
@media (max-width:820px) {
  #yz-mainproto .yz-hero-background .yz-newhero-grid { min-height:590px; padding-top:44px; padding-bottom:44px; }
  #yz-mainproto .yz-hero-background .yz-newportrait .yz-hero-slide { object-position:65% 61%; }
  #yz-mainproto .yz-hero-background .yz-newportrait .yz-hero-slide:nth-child(2) { object-position:60% 62%; }
  #yz-mainproto .yz-hero-background:before {
    background:linear-gradient(90deg,rgba(8,35,28,.64) 0%,rgba(8,35,28,.50) 47%,rgba(8,35,28,.08) 100%);
  }
  #yz-mainproto .yz-hero-background h1 { font-size:52px; }
  #yz-mainproto .yz-hero-background .yz-hero-strip { flex-wrap:wrap; gap:8px 24px; }
}
@media (max-width:600px) {
  #yz-mainproto .yz-hero-background .yz-newhero-grid { min-height:540px; padding-top:42px; padding-bottom:44px; }
  #yz-mainproto .yz-hero-background .yz-newportrait .yz-hero-slide { object-position:69% 57%; }
  #yz-mainproto .yz-hero-background .yz-newportrait .yz-hero-slide:nth-child(2) { object-position:63% 59%; }
  #yz-mainproto .yz-hero-background:before {
    background:linear-gradient(90deg,rgba(8,35,28,.64) 0%,rgba(8,35,28,.48) 60%,rgba(8,35,28,.20) 100%);
  }
  #yz-mainproto .yz-hero-background .yz-eyebrow { font-size:10px; letter-spacing:.045em; gap:9px; }
  #yz-mainproto .yz-hero-background h1 { font-size:clamp(35px,9.5vw,48px); line-height:1.48; letter-spacing:.025em; margin:24px 0; }
  #yz-mainproto .yz-hero-background .yz-newhero-copy>p { font-size:13px; line-height:2; margin-bottom:28px; }
  #yz-mainproto .yz-hero-background .yz-buttons { flex-wrap:wrap; gap:18px 22px; }
  #yz-mainproto .yz-hero-background .yz-btn { min-height:51px; padding:15px 19px; font-size:12px; gap:18px; }
  #yz-mainproto .yz-hero-background .yz-link { font-size:11px; gap:12px; }
  #yz-mainproto .yz-hero-background .yz-hero-caption { display:none; }
  #yz-mainproto .yz-hero-background .yz-hero-strip { padding:16px 0 17px; font-size:9px; gap:8px 20px; }
  #yz-mainproto .yz-hero-background .yz-hero-strip>span:first-child { display:none; }
}
@media (max-width:359px) {
  #yz-mainproto .yz-hero-background .yz-buttons { gap:17px; }
  #yz-mainproto .yz-hero-background .yz-btn { padding-left:15px; padding-right:15px; gap:14px; }
  #yz-mainproto .yz-hero-background .yz-link { font-size:10px; gap:9px; }
  #yz-mainproto .yz-hero-background .yz-eyebrow { font-size:9px; }
}
