/* Hero composition: left-aligned story, character-aware dialogue, measured vertical rhythm. */
.hero.hero--with-menu{
  isolation:isolate;
  min-height:480px;
  background:
    linear-gradient(90deg,rgba(5,25,45,.97) 0%,rgba(5,31,55,.9) 25%,rgba(7,38,64,.44) 38%,rgba(7,36,60,.05) 53%,transparent 68%),
    linear-gradient(0deg,rgba(6,24,41,.38),transparent 31%),
    url("../images/hero-town.png") center 45%/cover no-repeat;
}
.hero--with-menu:before{z-index:0}
.hero-stage{position:relative;z-index:2;height:480px}
.hero--with-menu .hero-copy{
  position:relative;
  z-index:3;
  width:445px;
  max-width:445px;
  margin-left:0;
  padding:120px 0 16px;
  color:#fff;
}
.hero--with-menu .hero-kicker{
  padding:6px 12px;
  background:rgba(5,37,65,.88);
  font-size:11px;
}
.hero--with-menu .hero-copy h1{
  max-width:440px;
  margin:14px 0 13px;
  font-size:clamp(38px,3.15vw,48px);
  line-height:1.08;
  letter-spacing:.015em;
}
.hero--with-menu .hero-copy p{
  width:440px;
  max-width:440px;
  margin:0;
  padding:13px 17px 14px;
  background:linear-gradient(90deg,rgba(4,25,45,.94),rgba(5,33,56,.75) 78%,rgba(5,33,56,.18));
  border-left:3px solid #e2b84b;
  font-size:13px;
  line-height:1.62;
  text-shadow:0 1px 1px #00111f;
}
.hero-dialogues{position:absolute;z-index:4;inset:0;pointer-events:none}
.hero--with-menu .hero-speech{
  position:absolute;isolation:isolate;box-sizing:border-box;margin:0;
  padding:15px 22px 16px;color:#252923;border:0;outline:0;
  background:none;box-shadow:none;border-radius:0;
  font-family:var(--reading-font);font-size:17px;font-weight:700;
  line-height:1.4;letter-spacing:0;text-align:left;white-space:nowrap;text-shadow:none;
  filter:drop-shadow(0 2px 1px rgba(41,35,22,.2));
}
.hero--with-menu .hero-speech:before{
  content:"";position:absolute;z-index:-1;inset:0 0 -17px;
  width:auto;height:auto;background:url("../images/hero-speech.svg") center/100% 100% no-repeat;
  box-shadow:none;clip-path:none;
}
.hero--with-menu .hero-speech:after{content:none}
.hero--with-menu .hero-speech--woman:before{background-image:url("../images/hero-speech-woman.svg")}
.hero-speech--man{
  top:95px;
  left:42.5%;
  width:184px;
  border-radius:31px 29px 27px 13px;
  transform:rotate(-.35deg);
}
.hero-speech--woman{
  top:96px;
  left:76.5%;
  width:212px;
  border-radius:29px 30px 14px 28px;
  transform:rotate(.3deg);
}

@media(max-width:1240px) and (min-width:901px){
  .hero--with-menu .hero-copy{
    width:405px;
    max-width:405px;
    padding-top:111px;
  }
  .hero--with-menu .hero-copy h1{max-width:400px;font-size:41px}
  .hero--with-menu .hero-copy p{width:400px;max-width:400px;font-size:12.5px}
  .hero-speech--man{top:88px;left:44%;width:176px}
  .hero-speech--woman{top:96px;left:76%;width:202px}
}

@media(max-width:900px){
  .hero.hero--with-menu{
    min-height:745px;
    background:
      linear-gradient(180deg,transparent 0 47%,rgba(5,25,45,.82) 55%,#061c33 62%,#061c33 100%),
      url("../images/hero-town.png") center top/auto 460px no-repeat,
      #061c33;
  }
  .hero-stage{height:745px}
  .hero--with-menu .hero-copy{
    position:absolute;
    left:12px;
    right:12px;
    bottom:25px;
    width:auto;
    max-width:none;
    margin:0;
    padding:0;
  }
  .hero--with-menu .hero-copy h1{max-width:540px;margin:12px 0;font-size:39px;line-height:1.08}
  .hero--with-menu .hero-copy p{width:min(100%,550px);max-width:550px;font-size:13px}
  .hero--with-menu .hero-speech{padding:11px 16px 12px;font-size:13px}
  .hero-speech--man{top:42px;left:7%;width:158px}
  .hero-speech--woman{top:105px;left:auto;right:4%;width:184px}
}

@media(max-width:520px){
  .hero.hero--with-menu{
    min-height:650px;
    background:
      linear-gradient(180deg,transparent 0 46%,rgba(5,25,45,.88) 53%,#061c33 57%,#061c33 100%),
      url("../images/hero-town.png") 70% top/auto 360px no-repeat,
      #061c33;
  }
  .hero-stage{height:650px}
  .hero--with-menu .hero-copy{left:0;right:0;top:350px;bottom:auto}
  .hero--with-menu .hero-kicker{font-size:10px}
  .hero--with-menu .hero-copy h1{font-size:32px;line-height:1.12}
  .hero--with-menu .hero-copy p{padding:12px 14px;font-size:12px;line-height:1.58}
  .hero--with-menu .hero-speech{padding:10px 13px 11px;font-size:12px}
  .hero-speech--man{top:22px;left:3%;width:160px}
  .hero-speech--woman{top:72px;right:2%;width:182px}
}

@media(max-width:350px){
  .hero.hero--with-menu{min-height:650px}
  .hero-stage{height:650px}
  .hero--with-menu .hero-copy h1{font-size:29px}
  .hero-speech--man{left:1%;width:154px}
  .hero-speech--woman{right:1%;width:176px}
}
/* Center the copy between the logo/character area and the category navigation. */
.hero--with-menu .hero-copy{
  position:absolute;top:96px;bottom:0;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  gap:14px;padding:0;
}
.hero--with-menu .hero-copy h1{margin:0;flex:none}
.hero--with-menu .hero-copy p{padding-top:14px;padding-bottom:14px;flex:none}
.hero--with-menu .hero-kicker{flex:none}
@media(min-width:901px) and (max-width:1240px){
  .hero--with-menu .hero-copy{top:70px;padding:0}
}
@media(max-width:900px){
  .hero--with-menu .hero-copy{top:400px;bottom:0;padding:0}
}
@media(max-width:520px){
  .hero--with-menu .hero-copy{top:350px;bottom:0;gap:14px}
}
/* Bring the woman's dialogue closer to her, without altering the mobile composition. */
@media(min-width:901px){
  .hero--with-menu .hero-speech--woman{translate:-50px 50px}
}
/* Mobile illustration and copy occupy separate, naturally sized sections. */
@media(max-width:900px){
  .hero.hero--with-menu{min-height:0;background:linear-gradient(180deg,transparent 360px,#061c33 460px),url("../images/hero-town.png") center top/auto 460px no-repeat,#061c33}
  .hero--with-menu .hero-stage{height:auto;padding:460px 0 0}
  .hero--with-menu .hero-copy{position:relative;inset:auto;width:100%;max-width:none;margin:0;padding:28px 24px 32px;gap:16px;justify-content:flex-start}
  .hero--with-menu .hero-copy p{width:100%;max-width:550px;padding:14px 16px}
}
@media(max-width:520px){
  .hero.hero--with-menu{background:linear-gradient(180deg,transparent 305px,#061c33 360px),url("../images/hero-town.png") 70% top/auto 360px no-repeat,#061c33}
  .hero--with-menu .hero-stage{height:auto;padding-top:360px}
  .hero--with-menu .hero-copy{padding:26px 20px 32px}
  .hero--with-menu .hero-speech.hero-speech--man{top:16px;left:10px;right:auto;width:144px}
  .hero--with-menu .hero-speech.hero-speech--woman{top:94px;right:10px;left:auto;width:144px}
  .hero--with-menu .hero-speech{padding:11px 13px 12px}
  .hero--with-menu .hero-speech::before{bottom:-12px}
}
/* Keep the illustration unobstructed on phones. */
@media(max-width:760px){.hero--with-menu .hero-dialogues{display:none}}
@media(max-width:520px){
  .hero.hero--with-menu{background-position:0 0,calc(70% - 50px) top,0 0}
}
