.page-template-page-home .title-ruler,
.title-ruler{
  margin:0 0 clamp(18px,3vw,30px);
  text-align:center;
}
.hero-title,
.entry .hero-title,
.page-template-page-home .title-ruler > h1,
.page-template-page-home .title-ruler .hero-title{
  margin:0 auto;
  max-width:900px;
  color:var(--entry-h1-text);
  font-size:clamp(1.5rem,2vw,2.2rem);
  line-height:1.16;
  letter-spacing:-.035em;
  font-weight:1000;
  text-wrap:balance;
  text-shadow:0 12px 32px rgba(0,0,0,.46);
}
.hero.hero--official{ position:relative; margin:0 0 var(--section-gap); background:transparent; }
.hero-shell{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.34fr) minmax(280px,.66fr);
  gap:clamp(18px,3vw,30px);
  padding:clamp(18px,3vw,32px);
  color:var(--hero-panel-text);
  background:
    radial-gradient(circle at 20% 12%,var(--panel-glow),transparent 26%),
    radial-gradient(circle at 84% 22%,var(--theme-primary-soft),transparent 32%),
    linear-gradient(135deg,var(--hero-panel-start) 0%,var(--hero-panel-end) 100%);
  border:1px solid var(--panel-border);
  border-radius:28px;
  box-shadow:0 26px 68px rgba(0,0,0,.44),inset 0 1px 0 var(--theme-sheen);
}
.hero-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,var(--theme-border-soft),transparent 24%,transparent 76%,var(--theme-border-soft));
}
.hero-main-panel{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(120px,180px) minmax(0,1fr);
  align-items:center;
  gap:clamp(18px,2.5vw,26px);
  padding:clamp(16px,2.5vw,26px);
  background:linear-gradient(180deg,var(--theme-tint),var(--theme-sheen-soft));
  border:1px solid var(--theme-border-soft);
  border-radius:24px;
  box-shadow:inset 0 1px 0 var(--theme-sheen);
}

.hero-main-title{
  grid-column:1 / -1;
  display:block;
  width:100%;
  inline-size:100%;
  min-width:0;
  margin:0;
  padding:0;
  text-align:left;
}
.hero-main-title.title-ruler{ margin:0; padding:0; }
.hero-main-title .hero-title{
  display:block;
  width:100%;
  inline-size:100%;
  max-width:none;
  margin:0;
  font-size:clamp(1.5rem,2vw,2.2rem);
  text-wrap:wrap;
  overflow-wrap:normal;
  word-break:normal;
}
.hero-logo-card{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:1;
  width:100%;
  max-width:190px;
  margin-inline:auto;
  padding:12px;
  background:linear-gradient(145deg,var(--theme-border-soft),var(--theme-primary-soft));
  border:2px solid var(--panel-border);
  border-radius:26px;
  box-shadow:0 20px 46px rgba(0,0,0,.46),0 0 0 7px var(--theme-tint);
}
.hero-logo{ width:100%; height:100%; object-fit:cover; border-radius:20px; }
.hero-main-copy{ min-width:0; }
.hero-cta-text{
  margin:0 0 18px;
  color:var(--hero-panel-text);
  font-size:clamp(1rem,1.35vw,1.12rem);
  font-weight:750;
  line-height:1.65;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.hero-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(max-content,1fr));
  gap:12px;
}
.hero-actions.has-bonus .btn-bonus{ grid-column:1 / -1; }
.hero-actions :is(.btn-download,.btn-ios,.btn-bonus){ width:100%; min-width:0; min-height:48px; padding-inline:14px; white-space:nowrap; }
.hero-actions :is(.btn-download,.btn-ios,.btn-bonus) > span:last-child{ white-space:nowrap; }
.hero-spec-panel{ position:relative; z-index:1; min-width:0; }
.hero-specs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0;
}
.hero-spec{
  min-width:0;
  position:relative;
  overflow:hidden;
  padding:14px;
  color:var(--hero-card-text);
  background:var(--hero-card-green);
  border:1px solid var(--panel-border);
  border-radius:18px;
  box-shadow:0 18px 38px rgba(0,0,0,.40), inset 0 1px 0 var(--theme-border-soft);
}
.hero-spec::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,var(--theme-sheen-strong),transparent 42%,var(--theme-primary-soft));
}
.hero-spec > *{ position:relative; z-index:1; }
.hero-spec:nth-child(6n+2){ background:var(--hero-card-gold); }
.hero-spec:nth-child(6n+3){ background:var(--hero-card-mint); }
.hero-spec:nth-child(6n+4){ background:var(--hero-card-cream); }
.hero-spec:nth-child(6n+5){ background:var(--hero-card-lime); }
.hero-spec:nth-child(6n+6){ background:var(--hero-card-sage); }
.hero-spec dt{ display:flex; align-items:center; gap:9px; margin:0 0 9px; color:var(--hero-card-text-soft); font-size:1rem; font-weight:850; }
.hero-spec dd{ margin:0; color:var(--hero-card-text); font-size:1.02rem; font-weight:950; line-height:1.25; overflow-wrap:anywhere; }
.hero-ico{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  color:var(--hero-card-icon);
  background:var(--theme-border-soft);
  border:1px solid var(--panel-border);
  border-radius:12px;
}
.hero-ico svg{ width:20px; height:20px; stroke:currentColor; }
@media (max-width:1023px){
  .hero-shell{ grid-template-columns:1fr; }
  .hero-main-panel{ max-width:760px; margin-inline:auto; }
  .hero-spec{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(118px,.9fr);
    align-items:center;
    column-gap:14px;
  }
  .hero-spec dt{
    margin:0;
    min-width:0;
    justify-self:stretch;
    text-align:left;
  }
  .hero-spec dd{
    justify-self:stretch;
    margin:0;
    padding-left:14px;
    text-align:left;
    border-left:1px solid var(--theme-border-soft);
  }
}
@media (max-width:767px){
  .hero-shell{ padding:14px; border-radius:22px; }
  .hero-main-panel{ grid-template-columns:1fr; text-align:center; background:linear-gradient(180deg,var(--theme-tint),var(--theme-sheen-soft)); }
  .hero-main-title{ text-align:center; }
  .hero-logo-card{ max-width:154px; }
  .hero-actions{ grid-template-columns:1fr; }
  .hero-specs{ grid-template-columns:1fr; }
  .hero-spec{ grid-template-columns:minmax(0,1fr) minmax(112px,.9fr); column-gap:12px; }
  .hero-spec dd{ padding-left:12px; }
}

.page-template-page-home .hero-main-title .hero-title{
  width:100%;
  inline-size:100%;
  max-width:none;
  margin:0;
  font-size:clamp(1.5rem,2vw,2.2rem);
  text-wrap:wrap;
  text-wrap-style:auto;
  overflow-wrap:normal;
  word-break:normal;
}
