/* GGBBA Field Society | v0.9.12 homepage chapters
   Progressive enhancement: in normal document flow unless JS measures and
   activates the sticky stack. Pages with taller content scroll in full. */
body.ggbba-front .ggbba-main{overflow:visible}
body.ggbba-front .ggbba-main>.ggbba-chapter{
  min-height:100svh;
  width:100%;
  background-clip:padding-box;
}
body.ggbba-front .ggbba-main>.ggbba-chapter:nth-child(1){z-index:1}
body.ggbba-front .ggbba-main>.ggbba-chapter:nth-child(2){z-index:2}
body.ggbba-front .ggbba-main>.ggbba-chapter:nth-child(3){z-index:3}
body.ggbba-front .ggbba-main>.ggbba-chapter:nth-child(4){z-index:4}
body.ggbba-front .ggbba-main>.ggbba-chapter:nth-child(5){z-index:5}
body.ggbba-front .ggbba-main>.ggbba-chapter:nth-child(6){z-index:6}
body.ggbba-front .ggbba-main>.ggbba-chapter:nth-child(7){z-index:7}
body.ggbba-front .ggbba-main>.ggbba-chapter:nth-child(8){z-index:8}

/* Dynamic offset: a chapter taller than the viewport scrolls normally until
   its bottom reaches the viewport bottom. Only then does the next cover it. */
@media (prefers-reduced-motion:no-preference){
  body.ggbba-front.ggbba-chapters-ready .ggbba-main>.ggbba-chapter{
    position:sticky;
    top:var(--ggbba-chapter-offset,0px);
  }
}

/* Hero layout: one centered editorial column, keeping all the approved
   copy, photo, CTA targets and association branding. */
body.ggbba-front .ggbba-hero__grid{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:min(94vw,1500px);
  min-height:100svh;
  padding:calc(var(--header-h) + 58px) 0 clamp(80px,10svh,120px);
  text-align:center;
}
body.ggbba-front .ggbba-hero__content{
  width:100%;
  max-width:1260px;
  margin:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(22px,3.3svh,40px);
}
body.ggbba-front .ggbba-hero__top{
  width:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  column-gap:clamp(20px,3vw,40px);
  row-gap:10px;
  text-align:center;
}
body.ggbba-front .ggbba-hero__edition{position:static;display:inline-block}
body.ggbba-front .ggbba-hero__title-wrap{width:100%;padding:0;align-self:auto}
body.ggbba-front .ggbba-hero__title{
  width:100%;
  max-width:none;
  font-size:clamp(4rem,8vw,8.8rem);
  line-height:.86;
  letter-spacing:-.035em;
  text-wrap:balance;
  overflow-wrap:normal;
}
body.ggbba-front .ggbba-hero__title .ggbba-hero__indent{padding-left:0!important}
body.ggbba-front .ggbba-hero__bottom{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(22px,3svh,34px);
  text-align:center;
}
body.ggbba-front .ggbba-hero__bottom>p{
  max-width:610px;
  margin:0 auto;
  text-wrap:pretty;
  line-height:1.6;
}
body.ggbba-front .ggbba-hero__actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px 24px;
  width:auto;
  margin:0;
  justify-self:center;
}
body.ggbba-front .ggbba-hero__veil{
  background:linear-gradient(180deg,rgba(7,22,18,.65) 0%,rgba(7,22,18,.50) 40%,rgba(7,22,18,.66) 100%),
    linear-gradient(90deg,rgba(7,22,18,.18),rgba(7,22,18,.18));
}
/* The theme-wide image reset uses a more specific height:auto declaration.
   Override it so a portrait viewport never exposes a flat, half-height
   image rectangle behind the centered copy. */
body.ggbba-front .ggbba-hero__media>.ggbba-hero__image{
  width:100%;height:100%;object-fit:cover;
}
body.ggbba-front .ggbba-scroll-cue{
  position:absolute;
  left:50%;right:auto;bottom:clamp(22px,4svh,44px);
  transform:translateX(-50%);
  writing-mode:horizontal-tb;
  flex-direction:column;
  gap:8px;
  color:rgba(255,255,255,.82);
}
body.ggbba-front .ggbba-scroll-cue i{height:32px;width:1px}

/* The brief association chapter can sit comfortably at viewport scale;
   long chapters retain their full intrinsic height. */
body.ggbba-front .ggbba-home-opening{display:flex;align-items:center}
body.ggbba-front .ggbba-home-opening>.ggbba-shell{width:var(--shell)}
body.ggbba-front .ggbba-final{display:flex;align-items:center}
body.ggbba-front .ggbba-final>.ggbba-shell{width:var(--shell)}
body.ggbba-front .ggbba-main>.ggbba-feature-bands{background:var(--pine);}
/* Contain historical wide editorial lettering without clipping the actual
   chapter or turning .ggbba-main into a sticky-breaking scroll container. */
body.ggbba-front .ggbba-chapter{max-width:100%;}
@media(min-width:701px) and (max-width:1199px){
  /* Previous responsive overrides leave an intrinsic 640px journal image in
     a half-width column at tablet widths. Fix the grid at its source. */
  body.ggbba-front .ggbba-journal__empty{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  body.ggbba-front .ggbba-journal__empty>*{min-width:0;max-width:100%}
  body.ggbba-front .ggbba-journal__empty-media img{width:100%;height:100%;object-fit:cover}
}
body.ggbba-front.ggbba-chapters-keyboard .ggbba-main>.ggbba-chapter{
  position:relative!important;
  top:auto!important;
}

@media(max-width:1000px){
  body.ggbba-front .ggbba-hero__title{font-size:clamp(3.6rem,9.2vw,6.3rem);line-height:.88}
  body.ggbba-front .ggbba-hero__title span:last-child em{display:block}
}
@media(max-width:700px){
  body.ggbba-front .ggbba-hero__grid{
    width:calc(100vw - 36px);
    padding:calc(var(--header-h) + 32px) 0 70px;
    min-height:100svh;
    row-gap:0;
  }
  body.ggbba-front .ggbba-hero__content{gap:clamp(18px,3svh,28px)}
  body.ggbba-front .ggbba-hero__top{display:flex;flex-direction:column;gap:6px}
  body.ggbba-front .ggbba-hero__top>.ggbba-mono{white-space:normal;max-width:34ch}
  body.ggbba-front .ggbba-hero__edition{font-size:10px}
  body.ggbba-front .ggbba-hero__title{
    font-size:clamp(2.9rem,12.8vw,4.15rem)!important;
    line-height:.93!important;
    letter-spacing:-.03em;
  }
  body.ggbba-front .ggbba-hero__title span:last-child{font-size:1em}
  body.ggbba-front .ggbba-hero__title span:last-child em{
    display:block;width:auto;max-width:100%;
  }
  body.ggbba-front .ggbba-hero__bottom>p{max-width:33ch;font-size:.97rem;line-height:1.58}
  body.ggbba-front .ggbba-hero__actions{
    flex-direction:row;justify-content:center;align-items:center;
    gap:14px 18px;margin:0;
  }
  body.ggbba-front .ggbba-scroll-cue{display:none}
  body.ggbba-front .ggbba-home-opening,body.ggbba-front .ggbba-final{display:block}
  /* Touch-sized screens prioritize continuous readable content. Motion is
     handled by existing lightweight reveals, not a forced scroll mode. */
  body.ggbba-front.ggbba-chapters-ready .ggbba-main>.ggbba-chapter{
    position:relative;top:auto;
  }
}
@media(max-height:630px){
  body.ggbba-front.ggbba-chapters-ready .ggbba-main>.ggbba-chapter{position:relative;top:auto}
}
@media(prefers-reduced-motion:reduce){
  body.ggbba-front .ggbba-main>.ggbba-chapter{position:relative!important;top:auto!important}
  body.ggbba-front .ggbba-hero__content{gap:24px}
}
