/* Slippy Witch next-phase UI: approved homepage + language + engagement */
.refreshed-header{position:sticky;top:0}
.home-page .refreshed-header{position:sticky}

/* Keep the large homepage identity paired and compact rather than billboard-sized. */
.home-page .home-brand-banner{height:clamp(150px,18vw,225px);min-height:0;padding:clamp(10px,1.8vw,22px) clamp(14px,4vw,58px);gap:clamp(16px,3vw,48px);align-items:center}
.home-page .home-banner-mascot,.home-page .home-banner-wordmark{height:100%;max-height:185px;width:auto;object-fit:contain;flex:0 1 auto}
.home-page .home-banner-mascot{max-width:34%}
.home-page .home-banner-wordmark{max-width:58%}

/* Balanced split hero. Text/search and photo occupy the same visual height. */
.home-page .home-hero{
  height:clamp(390px,36vw,440px);
  min-height:390px;
  padding:clamp(24px,2.4vw,30px) clamp(20px,5vw,72px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.95fr);
  grid-template-rows:minmax(0,1fr) auto;
  grid-template-areas:"copy photo" "search photo";
  column-gap:clamp(24px,4vw,54px);
  row-gap:16px;
  align-items:stretch;
  overflow:hidden
}
.home-page .home-hero>div:first-child{grid-area:copy;position:relative;z-index:2;align-self:end}
.home-page .home-hero h1{font-size:clamp(2.5rem,4.25vw,4.25rem);max-width:10.5ch;letter-spacing:-.045em;margin:.14em 0}
.home-page .home-hero p{font-size:clamp(.95rem,1.2vw,1.05rem);max-width:570px;margin:.55em 0 0}
.home-page .home-hero>.search-bar{grid-area:search;position:relative;z-index:2;margin:0!important;max-width:590px;width:100%;align-self:start;box-shadow:0 12px 30px rgba(50,35,45,.10)}
.home-page .home-hero>.search-bar input{padding:12px 16px}
.home-page .home-hero>.search-bar button{padding:12px 24px}
.home-hero-photo{grid-area:photo;height:100%;min-height:0;margin:0;position:relative;border-radius:30px;overflow:hidden;box-shadow:-12px 18px 38px rgba(70,45,55,.11)}
.home-hero-photo::before{content:"";position:absolute;inset:0;z-index:1;border-left:6px solid rgba(229,166,72,.82);border-radius:30px;pointer-events:none}
.home-hero-photo a{display:block;width:100%;height:100%}
.home-hero-photo img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.home-hero-photo-accent{position:absolute;right:18px;bottom:14px;z-index:2;font-size:24px;color:#f0b145;text-shadow:0 2px 8px rgba(255,255,255,.8)}

.refresh-nav-language{position:relative}
.language-menu[hidden]{display:none!important}
.language-menu{position:absolute;right:10px;top:calc(100% - 2px);z-index:5000;width:min(280px,calc(100vw - 24px));max-height:min(520px,70vh);overflow:auto;padding:10px;border:1px solid rgba(193,158,119,.34);border-radius:18px;background:rgba(255,253,248,.99);box-shadow:0 20px 50px rgba(55,38,48,.18);backdrop-filter:blur(10px)}
.language-menu-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--ink);font-weight:700}
.language-menu-item small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}
a.language-menu-item:hover,a.language-menu-item:focus-visible{background:#fff5e8;outline:none}
.language-menu-item.is-current{background:#f7f1e8;color:var(--plum)}
.language-menu-item.is-disabled{opacity:.48;cursor:not-allowed}

.engagement-meta{display:flex;align-items:center;gap:10px;padding:8px 14px 0;color:var(--muted);font-size:.8rem;font-weight:700}
.engagement-meta>span{display:inline-flex;align-items:center;gap:5px}.engagement-meta img{width:18px;height:18px;object-fit:contain}.engagement-rating{color:#9b6527}.engagement-rating small{color:var(--muted);font-size:.72rem}

/* Do not collapse the hero until the viewport is actually narrow. */
@media(max-width:760px){
  .home-page .home-brand-banner{height:128px;padding:8px 12px;gap:10px}.home-page .home-banner-mascot,.home-page .home-banner-wordmark{max-height:108px}.home-page .home-banner-mascot{max-width:31%}.home-page .home-banner-wordmark{max-width:63%}
  .home-page .home-hero{height:340px;min-height:340px;grid-template-columns:minmax(0,1fr) minmax(230px,.88fr);column-gap:18px;padding:20px 18px!important;row-gap:12px}
  .home-page .home-hero h1{font-size:clamp(2.15rem,5vw,3rem)}
  .home-page .home-hero p{font-size:.9rem;margin-top:.4em}
}
@media(max-width:620px){
  .home-page .home-brand-banner{height:104px}.home-page .home-banner-mascot,.home-page .home-banner-wordmark{max-height:88px}
  .home-page .home-hero{height:auto;min-height:0;grid-template-columns:1fr;grid-template-rows:auto auto 170px;grid-template-areas:"copy" "search" "photo";row-gap:14px;padding:22px 14px 26px!important}
  .home-page .home-hero>div:first-child{align-self:auto}.home-page .home-hero h1{font-size:2.35rem;max-width:12ch}.home-page .home-hero p{font-size:.9rem;max-width:none}.home-page .home-hero>.search-bar{max-width:none}
  .home-hero-photo{height:170px;border-radius:22px;box-shadow:0 12px 28px rgba(70,45,55,.10)}.home-hero-photo::before{border-left:0;border-top:5px solid rgba(229,166,72,.82);border-radius:22px}.home-hero-photo img{height:170px;object-position:center 48%}
}
@media(max-width:420px){
  .home-page .home-brand-banner{height:88px;padding:6px 8px}.home-page .home-banner-mascot,.home-page .home-banner-wordmark{max-height:74px}
  .home-page .home-hero h1{font-size:2.05rem}.home-hero-photo,.home-hero-photo img{height:145px}
  .language-menu{right:4px;width:min(258px,calc(100vw - 12px))}
}
@media print{.language-menu,.engagement-meta,.home-hero-photo{display:none!important}}
