.entry-page {
  display:flex;
  flex-direction:column;
  min-height:100svh;
  position:relative;
  isolation:isolate;
}
.entry-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 65%;
  pointer-events:none;
  z-index:0;
}
.entry-page::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#25170ead 0%,#25170e80 50%,#25170ead 100%);
  pointer-events:none;
  z-index:1;
}
.entry-masthead {
  position:relative;
  z-index:2;
  padding:clamp(32px,4vw,64px) 16px;
}
.entry-brand {
  width:max-content;
  max-width:100%;
  margin:0 auto;
  color:var(--paper);
  font-family:var(--display);
  font-size:12vw;
  font-weight:500;
  line-height:.95;
  letter-spacing:.02em;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 24px #190f0847;
}
.entry-page main { position:relative; z-index:2; display:flex; flex:1; }
.entry-page .hero { flex:1; min-height:0; background:transparent; border-bottom:0; }
.entry-page .hero::after { display:none; }
.entry-page .hero__inner { padding:64px 0; }
.entry-page .hero__choice { display:flex; flex-direction:column; align-items:flex-start; }
.entry-page .hero__choice + .hero__choice { align-items:flex-end; }
.entry-page .hero__title { min-height:2.3em; }
.entry-page .hero__script { min-height:2.7em; max-width:440px; }
.entry-page .hero__choice .btn { margin-top:auto; }
.barbershop-page .hero__inner { display:block; }
.barbershop-page .hero__title { font-size:clamp(42px,5vw,64px); }
@media(max-width:767px) {
  .entry-page .hero__inner { padding:32px 0; gap:24px; }
  .entry-page .hero__choice,
  .entry-page .hero__choice + .hero__choice { align-items:center; }
  .entry-page .hero__choice + .hero__choice { padding-top:24px; }
  .entry-page .hero__title { min-height:0; font-size:clamp(32px,9.5vw,40px); }
  .entry-page .hero__script { min-height:0; font-size:24px; line-height:1.3; margin:12px 0 24px; }
  .barbershop-page .hero__title { font-size:clamp(32px,10vw,42px); }
}

@media(orientation:landscape) and (max-height:600px) {
  .entry-masthead { padding:12px 16px; }
  .entry-page .hero__inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:10px 0; text-align:left; }
  .entry-page .hero__choice { align-items:flex-start; }
  .entry-page .hero__choice + .hero__choice { align-items:flex-end; border-top:0; border-left:1px solid #9aafc080; padding:0 0 0 24px; text-align:right; }
  .entry-page .hero__title { min-height:2.3em; font-size:clamp(22px,3.8vw,32px); }
  .entry-page .hero__script { min-height:2.6em; font-size:clamp(16px,2.6vw,22px); line-height:1.3; margin:8px 0 16px; }
  .entry-page .hero__choice .btn { padding:10px 16px; font-size:13px; letter-spacing:.06em; }
}
