/* Official Google Fonts Latin build, self-hosted under the accompanying OFL. */
@font-face{
  font-family:'Cinzel';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('fonts/cinzel-bold-latin.woff2') format('woff2');
}
/* The longest message sets the height, so neither the logo nor the next
   section moves as the copy changes. Without JavaScript, the first line stays. */
/* A continuous, soft vignette gives the words contrast without a panel. */
.photo-hero::after{
  background:linear-gradient(90deg,rgba(43,17,27,.84),rgba(43,17,27,.56) 42%,rgba(33,13,21,.55) 72%,rgba(33,13,21,.56)),linear-gradient(0deg,rgba(43,17,27,.65),transparent 55%);
}
.photo-content{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:7%}
.hero-copy{min-width:0;padding-left:32px}
.hero-copy .hero-messages{
  display:grid;
  min-height:4.64em;
  font-family:'Cinzel',Georgia,serif;
  font-synthesis:none;
  font-size:clamp(32px,3.35vw,48px);
  font-weight:700;
  line-height:1.16;
  letter-spacing:0;
  white-space:normal;
  text-wrap:balance;
}
.hero-message{
  grid-area:1 / 1;
  align-self:center;
  min-width:0;
  overflow-wrap:break-word;
  opacity:0;
  visibility:hidden;
  transform:translateY(3px);
  transition:opacity 450ms ease,transform 450ms ease;
}
.hero-message.is-active{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.hero-message.is-leaving{
  opacity:0;
  transform:translateY(-3px);
  transition-duration:300ms;
}
@media(max-width:700px){
  .photo-hero::after{
    background:linear-gradient(90deg,rgba(43,17,27,.81),rgba(43,17,27,.44)),linear-gradient(0deg,rgba(33,13,21,.815),transparent 72.5%);
  }
  .hero-copy{padding-left:0}
  .hero-copy .hero-messages{
    min-height:4.64em;
    font-size:clamp(30px,7.3vw,36px);
    max-width:540px;
    margin-inline:auto;
    text-align:center;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-message{transition:none;transform:none}
}
/* Small fixed-position social links, independent of the cycling copy. */
.hero-copy .hero-socials{display:flex;align-items:center;gap:8px;margin-top:18px}
.hero-copy .hero-socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;background:transparent;color:var(--cream);border:0;border-radius:50%;opacity:.85;transition:opacity .2s,background .2s}
.hero-copy .hero-socials svg{display:block;width:25px;height:25px}
.hero-copy .hero-socials a:hover{opacity:1;background:#ffffff12}
.hero-copy .hero-socials a:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:2px}
@media(max-width:700px){.hero-copy .hero-socials{justify-content:center;margin-top:14px}}
@media(prefers-reduced-motion:reduce){.hero-copy .hero-socials a{transition:none}}

.hero-copy .hero-messages{text-align:center}
.hero-copy .hero-socials{justify-content:center}
