/* Atlas Cue Academy — hero v96. Scoped to .hero-atlas (plus one homepage
   ticker override at the bottom). Changes from v91:
   - Headline carries the whole offer: play tonight + learning for life.
   - Three doors: PLAY / LEARN / PASSPORT (Passport = progress chronology).
   - Film fills the right column's full height; no dead space.
   - Events strip restored, now ZIP-localized (logic: atlas-strip-v92.js).
   - World Desk ticker moved below the hero in the page flow; the override
     at the bottom un-floats it so it can never cover hero text again.
   Brand: deep green / ivory / gold, Georgia serif display. */
.hero-atlas{
  --ha-green:#153c30; --ha-ink:#0b130f; --ha-ivory:#faf7ee; --ha-gold:#b18a36;
  --ha-ivory70:rgba(250,247,238,.72); --ha-ivory45:rgba(250,247,238,.45);
  --ha-line:rgba(177,138,54,.35);
  background:
    radial-gradient(1100px 600px at 85% -10%, rgba(21,60,48,.85), transparent 60%),
    radial-gradient(800px 500px at -10% 110%, rgba(177,138,54,.14), transparent 55%),
    var(--ha-ink);
  /* The site header is position:fixed — clear it, or it sits on the
     hero's eyebrow (the original "text covered at the top" bug). */
  padding-top:var(--academy-header-height,92px);
  color:var(--ha-ivory);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  display:flex;flex-direction:column;
}
.hero-atlas *{box-sizing:border-box}
.hero-atlas .ha-main{
  flex:1;display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(28px,5vw,72px);align-items:stretch;width:100%;
  max-width:1360px;margin:0 auto;
  padding:clamp(34px,5.5vh,64px) clamp(20px,5vw,56px);
}
.hero-atlas .ha-copy{display:flex;flex-direction:column;justify-content:center}
.hero-atlas .ha-eyebrow{
  color:var(--ha-gold);font-size:13px;font-weight:600;
  letter-spacing:.28em;margin:0 0 20px;
}
.hero-atlas h1{
  font-family:Georgia,"Times New Roman",serif;font-weight:400;
  font-size:clamp(46px,5.9vw,78px);line-height:1.04;letter-spacing:.005em;
  color:var(--ha-ivory);margin:0;text-transform:none;
}
.hero-atlas h1 em{font-style:italic;color:var(--ha-gold)}
.hero-atlas .ha-sub{
  margin:20px 0 0;font-size:clamp(17px,1.6vw,20px);line-height:1.5;
  color:var(--ha-ivory70);max-width:32em;
}
/* Three doors */
.hero-atlas .ha-doors{
  display:flex;flex-direction:column;gap:12px;
  margin-top:30px;max-width:580px;
}
.hero-atlas .ha-door{
  display:flex;align-items:center;gap:18px;
  padding:15px 20px;border-radius:16px;text-decoration:none;
  border:1px solid rgba(250,247,238,.18);
  background:rgba(250,247,238,.03);color:var(--ha-ivory);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.hero-atlas .ha-door:hover{border-color:rgba(250,247,238,.45)}
.hero-atlas .ha-door:active{transform:scale(.99)}
.hero-atlas .ha-door .ha-tag{
  font-size:11px;font-weight:700;letter-spacing:.24em;
  color:var(--ha-gold);min-width:92px;
}
.hero-atlas .ha-door .ha-door-main{flex:1;min-width:0}
.hero-atlas .ha-door .ha-door-title{
  display:block;font-size:18.5px;font-weight:600;line-height:1.25;
}
.hero-atlas .ha-door .ha-door-sub{
  display:block;font-size:13.5px;color:var(--ha-ivory45);margin-top:2px;line-height:1.35;
}
.hero-atlas .ha-door .ha-arrow{font-size:20px;color:var(--ha-ivory70)}
.hero-atlas .ha-door.ha-gold{
  background:var(--ha-gold);border-color:var(--ha-gold);color:#14100a;
  box-shadow:0 10px 30px rgba(177,138,54,.25);
}
.hero-atlas .ha-door.ha-gold:hover{box-shadow:0 14px 36px rgba(177,138,54,.38)}
.hero-atlas .ha-door.ha-gold .ha-tag{color:#4a3510}
.hero-atlas .ha-door.ha-gold .ha-door-sub{color:rgba(20,16,10,.62)}
.hero-atlas .ha-door.ha-gold .ha-arrow{color:#14100a}
.hero-atlas .ha-micro{
  margin-top:16px;font-size:13.5px;color:var(--ha-ivory45);letter-spacing:.02em;
}
.hero-atlas .ha-director{margin-top:14px;font-size:15px;color:var(--ha-ivory70)}
.hero-atlas .ha-director a{color:var(--ha-gold);text-decoration:none;font-weight:600}
.hero-atlas .ha-director a:hover{text-decoration:underline}
.hero-atlas .ha-film{
  position:relative;border-radius:22px;overflow:hidden;
  border:1px solid var(--ha-line);box-shadow:0 30px 80px rgba(0,0,0,.5);
  background:#000;min-height:340px;
}
.hero-atlas .ha-film video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
.hero-atlas .ha-chip{
  position:absolute;left:16px;bottom:16px;background:rgba(11,19,15,.72);
  backdrop-filter:blur(6px);border:1px solid rgba(250,247,238,.14);
  padding:8px 14px;border-radius:999px;font-size:12.5px;letter-spacing:.12em;
  color:var(--ha-ivory70);
}
.hero-atlas .ha-chip b{color:var(--ha-gold);font-weight:600}
/* Events strip — ZIP-localized by atlas-strip-v92.js */
.hero-atlas .ha-strip{
  border-top:1px solid rgba(250,247,238,.08);width:100%;
  max-width:1360px;margin:0 auto;
  padding:16px clamp(20px,5vw,56px);
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.hero-atlas .ha-label{
  font-size:12px;font-weight:700;letter-spacing:.26em;color:var(--ha-gold);
  white-space:nowrap;
}
.hero-atlas .ha-event{
  font-family:Georgia,serif;font-size:17.5px;color:var(--ha-ivory);
  opacity:1;transition:opacity .5s ease;
}
.hero-atlas .ha-event.ha-fade{opacity:0}
.hero-atlas .ha-event span{color:var(--ha-ivory45);font-size:15px}
.hero-atlas .ha-zip{
  margin-left:auto;display:flex;align-items:center;gap:8px;
}
.hero-atlas .ha-zip-label{
  font-size:12px;font-weight:700;letter-spacing:.18em;
  color:var(--ha-ivory45);white-space:nowrap;
}
.hero-atlas .ha-zip input{
  width:92px;padding:9px 10px;border-radius:9px;font-size:14.5px;
  border:1px solid rgba(250,247,238,.25);background:rgba(250,247,238,.05);
  color:var(--ha-ivory);font-family:inherit;
}
.hero-atlas .ha-zip input::placeholder{color:var(--ha-ivory45)}
.hero-atlas .ha-zip input:focus{outline:none;border-color:var(--ha-gold)}
.hero-atlas .ha-zip button{
  padding:9px 14px;border-radius:9px;font-size:14px;font-weight:600;
  border:1px solid var(--ha-gold);background:transparent;color:var(--ha-gold);
  cursor:pointer;font-family:inherit;
}
.hero-atlas .ha-zip button:hover{background:var(--ha-gold);color:#14100a}
.hero-atlas .ha-all{
  color:var(--ha-ivory70);text-decoration:none;
  font-size:15px;white-space:nowrap;
}
.hero-atlas .ha-all:hover{color:var(--ha-gold)}

/* v95: stacked promise blocks — headline, then ITS button, then the next
   headline. Each block is a separate element a visitor can act on without
   reading any further. */
.hero-atlas .ha-block2{
  margin-top:clamp(30px,4.5vh,44px);padding-top:clamp(26px,4vh,38px);
  border-top:1px solid rgba(250,247,238,.10);
}
.hero-atlas .ha-block3{
  margin-top:clamp(28px,4vh,40px);
}
.hero-atlas h2{
  font-family:Georgia,"Times New Roman",serif;font-weight:400;
  font-size:clamp(34px,4.3vw,54px);line-height:1.08;letter-spacing:.005em;
  color:var(--ha-ivory);margin:0;text-transform:none;
}
.hero-atlas h2 em{font-style:italic;color:var(--ha-gold)}
.hero-atlas .ha-doors{margin-top:22px}
.hero-atlas .ha-block1 .ha-doors{margin-top:26px}
.hero-atlas .ha-invite{
  font-family:Georgia,serif;font-style:italic;
  font-size:clamp(19px,2vw,23px);color:var(--ha-ivory70);margin:0;
}
.hero-atlas h1{font-size:clamp(44px,5.4vw,70px)}


/* Passport registration CTA: the passport cover photo leads the card. */
.hero-atlas .ha-passport-card{padding:0;overflow:hidden;align-items:stretch}
.hero-atlas .ha-passport-media{flex:0 0 208px;position:relative;display:block;min-height:118px}
.hero-atlas .ha-passport-media img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:62% 50%;display:block;
}
.hero-atlas .ha-passport-body{
  display:flex;align-items:center;gap:18px;flex:1;
  padding:15px 20px;min-width:0;
}
@media (max-width:560px){
  .hero-atlas .ha-passport-card{flex-direction:column}
  .hero-atlas .ha-passport-media{flex:none;height:158px}
}

@media (max-width:860px){
  .hero-atlas .ha-main{grid-template-columns:1fr;padding-top:30px}
  .hero-atlas .ha-film{min-height:0;aspect-ratio:16/10}
  .hero-atlas .ha-door{padding:14px 16px;gap:13px}
  .hero-atlas .ha-door .ha-tag{min-width:66px;font-size:10px}
  .hero-atlas .ha-door .ha-door-title{font-size:17.5px}
  .hero-atlas .ha-zip{margin-left:0}
  .hero-atlas .ha-all{margin-left:0}
}

/* World Desk ticker: it now sits BELOW the hero in the page flow.
   Un-float it (style.css pins it position:absolute over the page) so it
   can never cover the hero text again. Homepage only. */
body.home .news-ticker{position:relative;top:auto;left:auto;right:auto;z-index:auto}

/* ===== v96: two balanced bands (zig-zag) =====
   Band 1: text left, film right — the film is only as tall as the
   headline + button block beside it.
   Band 2: passport photo left, learn + passport text right.
   Generous gaps so the pairing reads as a deliberate design decision. */
.hero-atlas .ha-main{display:block}
.hero-atlas .ha-band{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(38px,5vw,68px);align-items:stretch;
}
.hero-atlas .ha-band .ha-copy{max-width:none}
.hero-atlas .ha-band1 .ha-film{min-height:270px;max-height:none}
.hero-atlas .ha-band2{
  grid-template-columns:.95fr 1.05fr;
  margin-top:clamp(54px,8vh,84px);padding-top:clamp(42px,6vh,60px);
  border-top:1px solid rgba(250,247,238,.08);
}
.hero-atlas .ha-pass-media{
  position:relative;border-radius:20px;overflow:hidden;
  border:1px solid #2b2b26;min-height:330px;background:#0c0f0c;
}
.hero-atlas .ha-pass-media img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:50% 42%;display:block;
}
.hero-atlas .ha-band2 .ha-copy{display:flex;flex-direction:column;justify-content:center}
.hero-atlas .ha-band2 .ha-doors{margin-top:22px}
.hero-atlas .ha-band2 .ha-invite{margin-top:32px}
.hero-atlas .ha-band2 .ha-micro{margin-top:28px}
.hero-atlas .ha-band2 .ha-director{margin-top:12px}
@media (max-width:860px){
  .hero-atlas .ha-band{grid-template-columns:1fr;gap:26px}
  .hero-atlas .ha-band1 .ha-film{height:230px;min-height:0}
  .hero-atlas .ha-band2{margin-top:46px;padding-top:36px}
  .hero-atlas .ha-pass-media{order:2;height:250px;min-height:0}
}

/* ===== v102: quieter, finer doors (Bob's direction) =====
   The three calls to action keep their structure and wording but
   trade the solid gold slabs for slim dark doors with a gold
   hairline — present, not dominant. PLAY keeps a faint gold wash
   as the primary. */
.hero-atlas .ha-doors{gap:10px;max-width:520px}
.hero-atlas .ha-door{
  padding:11px 16px;border-radius:12px;gap:14px;
  background:rgba(250,247,238,.02);
  border:1px solid rgba(177,138,54,.38);
  box-shadow:none;
}
.hero-atlas .ha-door:hover{
  border-color:rgba(177,138,54,.75);
  box-shadow:0 6px 22px rgba(0,0,0,.35);
  transform:translateY(-1px);
}
.hero-atlas .ha-door .ha-tag{font-size:10.5px;min-width:76px;letter-spacing:.22em}
.hero-atlas .ha-door .ha-door-title{font-size:16px;font-weight:600}
.hero-atlas .ha-door .ha-door-sub{font-size:12.5px}
.hero-atlas .ha-door .ha-arrow{font-size:17px;color:var(--ha-gold)}
.hero-atlas .ha-door.ha-gold{
  background:rgba(177,138,54,.13);border-color:rgba(177,138,54,.55);
  color:var(--ha-ivory);box-shadow:none;
}
.hero-atlas .ha-door.ha-gold:hover{box-shadow:0 6px 22px rgba(0,0,0,.35)}
.hero-atlas .ha-door.ha-gold .ha-tag{color:var(--ha-gold)}
.hero-atlas .ha-door.ha-gold .ha-door-sub{color:var(--ha-ivory45)}
.hero-atlas .ha-door.ha-gold .ha-arrow{color:var(--ha-gold)}
@media (max-width:860px){
  .hero-atlas .ha-door{padding:11px 14px;gap:11px}
  .hero-atlas .ha-door .ha-tag{min-width:62px}
  .hero-atlas .ha-door .ha-door-title{font-size:15.5px}
}

/* ===== v103: cloth backdrop (Bob's direction) =====
   The near-black backdrop gives way to a softer wool-cloth green —
   matte and mid-tone like Simonis cloth under room light — so the
   doors sit on felt, not on ink. Type stays ivory; the gold
   hairlines carry the doors. */
.hero-atlas{
  background:
    radial-gradient(1100px 620px at 85% -10%, rgba(250,247,238,.08), transparent 60%),
    radial-gradient(900px 620px at -10% 110%, rgba(177,138,54,.10), transparent 55%),
    linear-gradient(158deg, #37543f 0%, #2a4634 52%, #213a2c 100%);
}
.hero-atlas .ha-door{background:rgba(11,19,15,.28)}
.hero-atlas .ha-door.ha-gold{background:rgba(177,138,54,.16)}

/* ===== v104: two columns, text over image (Bob's layout) =====
   One row, two topics. LEFT: the learning column — "Learn at your
   own pace." headline and its doors on top, the Passport photo
   below. RIGHT: the tournament column — "Join local tournaments!"
   and the PLAY door on top, the film below. The old stacked bands
   dissolve into the grid via display:contents. */
.hero-atlas .ha-main{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(30px,4vw,58px);align-items:start;
}
.hero-atlas .ha-band{display:contents}
.hero-atlas .ha-band2 .ha-copy{grid-column:1;grid-row:1}
.hero-atlas .ha-band2 .ha-pass-media{
  grid-column:1;grid-row:2;min-height:0;aspect-ratio:3/2.05;
}
.hero-atlas .ha-band1 .ha-copy{grid-column:2;grid-row:1}
.hero-atlas .ha-band1 .ha-film{
  grid-column:2;grid-row:2;min-height:0;aspect-ratio:3/2.05;
}
@media (max-width:860px){
  .hero-atlas .ha-main{grid-template-columns:minmax(0,1fr);gap:30px}
  .hero-atlas .ha-band2 .ha-copy{grid-column:1;grid-row:1}
  .hero-atlas .ha-band2 .ha-pass-media{grid-column:1;grid-row:2;aspect-ratio:16/10;height:auto}
  .hero-atlas .ha-band1 .ha-copy{grid-column:1;grid-row:3}
  .hero-atlas .ha-band1 .ha-film{grid-column:1;grid-row:4;aspect-ratio:16/10;height:auto}
}

/* v104 fix: grid children may not force the columns wider than the
   screen (mobile overflow) */
.hero-atlas .ha-band1 .ha-copy,.hero-atlas .ha-band2 .ha-copy,
.hero-atlas .ha-band1 .ha-film,.hero-atlas .ha-band2 .ha-pass-media{min-width:0}

/* ===== v105: image first, text underneath (Bob's flip) =====
   Same two columns as v104, inverted inside each column: the
   Passport photo crowns the learning column with its headline and
   doors below; the film crowns the tournament column with its
   headline and door below. */
.hero-atlas .ha-band2 .ha-pass-media{grid-row:1}
.hero-atlas .ha-band2 .ha-copy{grid-row:2}
.hero-atlas .ha-band1 .ha-film{grid-row:1}
.hero-atlas .ha-band1 .ha-copy{grid-row:2}
@media (max-width:860px){
  .hero-atlas .ha-band2 .ha-pass-media{grid-row:1}
  .hero-atlas .ha-band2 .ha-copy{grid-row:2}
  .hero-atlas .ha-band1 .ha-film{grid-row:3}
  .hero-atlas .ha-band1 .ha-copy{grid-row:4}
}

/* ===== v106: headline above, doors below (Bob's hybrid) =====
   Each column now reads in three beats: headline on top, the
   image in the middle, the call to action underneath. The copy
   blocks are split into ha-copy-top / ha-copy-bottom in the HTML. */
.hero-atlas .ha-band2 .ha-copy-top{grid-column:1;grid-row:1}
.hero-atlas .ha-band2 .ha-pass-media{grid-column:1;grid-row:2}
.hero-atlas .ha-band2 .ha-copy-bottom{grid-column:1;grid-row:3}
.hero-atlas .ha-band1 .ha-copy-top{grid-column:2;grid-row:1}
.hero-atlas .ha-band1 .ha-film{grid-column:2;grid-row:2}
.hero-atlas .ha-band1 .ha-copy-bottom{grid-column:2;grid-row:3}
.hero-atlas .ha-copy-bottom .ha-doors{margin-top:0}
@media (max-width:860px){
  .hero-atlas .ha-band2 .ha-copy-top{grid-column:1;grid-row:1}
  .hero-atlas .ha-band2 .ha-pass-media{grid-column:1;grid-row:2}
  .hero-atlas .ha-band2 .ha-copy-bottom{grid-column:1;grid-row:3}
  .hero-atlas .ha-band1 .ha-copy-top{grid-column:1;grid-row:4}
  .hero-atlas .ha-band1 .ha-film{grid-column:1;grid-row:5}
  .hero-atlas .ha-band1 .ha-copy-bottom{grid-column:1;grid-row:6}
}

/* ===== v107: tight seams, one-line headline, entrance (Bob) =====
   1) The headline sits close over its image: the row gap shrinks.
   2) Both headlines share one size so "Join local tournaments!"
      runs on ONE line like "Learn at your own pace." — the two
      columns align, a clean two-column read above the fold.
   3) On load the page opens on the Passport column; the whole
      tournament column slides in from the right, staggered. */
.hero-atlas .ha-main{row-gap:16px}
.hero-atlas .ha-band1 h1{font-size:clamp(38px,4.1vw,58px);white-space:nowrap}
.hero-atlas .ha-band2 h2{font-size:clamp(38px,4.1vw,58px)}
@keyframes ha-in-right{
  from{opacity:0;transform:translateX(54px)}
  to{opacity:1;transform:translateX(0)}
}
.hero-atlas .ha-band1 .ha-copy-top,
.hero-atlas .ha-band1 .ha-film,
.hero-atlas .ha-band1 .ha-copy-bottom{
  animation:ha-in-right .85s cubic-bezier(.22,.61,.21,1) both;
}
.hero-atlas .ha-band1 .ha-copy-top{animation-delay:.15s}
.hero-atlas .ha-band1 .ha-film{animation-delay:.32s}
.hero-atlas .ha-band1 .ha-copy-bottom{animation-delay:.49s}
@media (prefers-reduced-motion:reduce){
  .hero-atlas .ha-band1 .ha-copy-top,
  .hero-atlas .ha-band1 .ha-film,
  .hero-atlas .ha-band1 .ha-copy-bottom{animation:none}
}
@media (max-width:860px){
  .hero-atlas .ha-band1 h1{white-space:normal}
}

/* ===== v108: shared eyebrow, Passport first, mini-nav (Bob) =====
   The eyebrow leaves the tournament column and stands at the top
   left over BOTH columns, so the two headlines share one baseline.
   Under the Passport photo the PASSPORT door now comes first; the
   LEARN button moved below both columns into a mini navigation. */
.hero-atlas .ha-eyebrow-top{
  width:100%;max-width:1360px;margin:26px auto 20px;
  padding:0 clamp(20px,4.5vw,56px);text-align:left;
}
.hero-atlas .ha-mininav{
  width:100%;max-width:1360px;margin:36px auto 0;
  padding:24px clamp(20px,4.5vw,56px) 4px;
  border-top:1px solid rgba(250,247,238,.14);
}
.hero-atlas .ha-mininav-label{
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--ha-ivory45);margin-bottom:14px;
}
.hero-atlas .ha-mininav-row{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
}
.hero-atlas .ha-mini{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:10px;text-decoration:none;
  border:1px solid rgba(177,138,54,.32);
  background:rgba(11,19,15,.22);color:var(--ha-ivory);
}
.hero-atlas .ha-mini:hover{border-color:rgba(177,138,54,.7)}
.hero-atlas .ha-mini-tag{
  font-size:9.5px;font-weight:700;letter-spacing:.16em;
  color:var(--ha-gold);white-space:nowrap;
}
.hero-atlas .ha-mini-title{font-size:13.5px;font-weight:600;flex:1}
.hero-atlas .ha-mini .ha-arrow{font-size:14px;color:var(--ha-gold)}
@media (max-width:860px){
  .hero-atlas .ha-mininav-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v108 fixes: flex-column children need width:100% or auto margins
   shrink them to content and center them */
.hero-atlas .ha-mini{min-width:0}
.hero-atlas .ha-mini-title{min-width:0}

/* ===== v109: new eyebrow, director info home, closer nav (Bob) ==
   "Something for everyone — beginners to legends" is now the
   eyebrow over both columns. The tournament-director line moved
   under the tournament column. The mini-nav sits closer to the
   columns and reads more clearly as buttons to other sections. */
.hero-atlas .ha-main{padding-bottom:24px}
.hero-atlas .ha-band1 .ha-director{margin-top:14px}
.hero-atlas .ha-mininav{margin-top:6px;padding-top:16px}
.hero-atlas .ha-mini{
  background:rgba(177,138,54,.12);
  border-color:rgba(177,138,54,.55);
  padding:12px 16px;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
}
.hero-atlas .ha-mini .ha-arrow{font-size:16px}
.hero-atlas .ha-mini:hover{
  background:rgba(177,138,54,.22);
  transform:translateY(-1px);
}
@media (max-width:860px){
  .hero-atlas .ha-eyebrow-top{letter-spacing:.16em}
}

/* ===== v110: ZIP search joins the tournament column (Bob) =====
   The "find a tournament near you" search leaves the calendar
   strip and sits in the tournament column, directly under the
   PLAY door — the door's promise and its tool in one place. The
   strip keeps its rotating lines and the See all events link. */
.hero-atlas .ha-band1 .ha-zip{
  margin:16px 0 0;max-width:520px;
}
.hero-atlas .ha-band1 .ha-zip-label{color:var(--ha-gold)}
@media (max-width:860px){
  .hero-atlas .ha-band1 .ha-zip-label{font-size:10.5px}
  .hero-atlas .ha-band1 .ha-zip input{width:84px}
}

/* ===== v111: one line for PLAY + ZIP, doors aligned (Bob) =====
   The PLAY door and the ZIP search now share one line — no label,
   the door already says "Find a tournament near you." Dropping the
   old 26px offset puts the PLAY and PASSPORT doors on the same
   baseline, and the director line tucks up under the row. */
.hero-atlas .ha-play-row{display:flex;align-items:center;gap:12px}
.hero-atlas .ha-play-row .ha-doors{flex:1 1 auto;min-width:0;max-width:none}
.hero-atlas .ha-band1 .ha-zip{margin:0;max-width:none}
@media (max-width:860px){
  .hero-atlas .ha-play-row{flex-direction:column;align-items:stretch}
  .hero-atlas .ha-band1 .ha-zip{align-self:flex-start}
}

/* ===== v112: twin doors + the table as a ghost backdrop (Bob) ==
   1) The PASSPORT and PLAY doors are now true twins: identical
      width (the Passport door gives up the ZIP form's share of
      its row), identical height, one type treatment.
   2) Bob's top-down table photograph lies under the whole hero,
      muted to roughly half strength under a cloth-green wash
      (Bob chose the half-strength setting 2026-11-08) — a presence, not a picture, so the lettering keeps its
      contrast. */
.hero-atlas{
  background:
    linear-gradient(90deg, rgba(26,47,35,.50), rgba(26,47,35,0) 14%, rgba(26,47,35,0) 86%, rgba(26,47,35,.50)),
    linear-gradient(163deg, rgba(46,78,58,.60), rgba(29,52,39,.70)),
    url(atlas-table-bg.jpg) 50% 50px/auto calc(100% - 50px) no-repeat,
    linear-gradient(158deg, #37543f 0%, #2a4634 52%, #213a2c 100%);
}
.hero-atlas .ha-band2 .ha-doors{max-width:calc(100% - 159px)}
.hero-atlas .ha-door{min-height:80px}
@media (max-width:860px){
  .hero-atlas .ha-band2 .ha-doors{max-width:none}
}

/* The rails are the header and footer bands (Bob): the eyebrow
   drops below the top rail onto the cloth, and the hero's extra
   bottom padding lifts the calendar line onto the cloth above
   the bottom rail, which now shows in full as the footer. */
.hero-atlas .ha-eyebrow-top{margin-top:55px}
.hero-atlas{padding-bottom:118px}
@media (max-width:860px){
  .hero-atlas .ha-eyebrow-top{margin-top:118px}
  .hero-atlas{padding-bottom:258px}
}

/* The calendar line now lives under the tournament column as a
   single line (Bob); the table behind drops another ~15%. */
.hero-atlas .ha-band1 .ha-strip{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(177,138,54,.18);width:100%}
.hero-atlas .ha-event{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hero-atlas .ha-label,.hero-atlas .ha-all{flex-shrink:0}
.hero-atlas{padding-bottom:174px}
/* The strip's row layout was scoped to its old spot as a direct
   child of the hero; restate it for its new home in the column. */
.hero-atlas .ha-band1 .ha-strip{display:flex;align-items:center;gap:14px}
/* One line, no wrap, no inherited side padding in the column. */
.hero-atlas .ha-band1 .ha-strip{flex-wrap:nowrap;padding:12px 0 0;gap:14px}
.hero-atlas .ha-band1 .ha-event{flex:1 1 auto}

/* Equal breathing room (Bob): the eyebrow's offset below the top
   rail now matches the bottom padding above the bottom rail —
   margin-top == padding-bottom at every size, so the two gaps
   are the same by construction. */

/* Mobile bottom clearance, restated last so it wins: the chips
   clear the whole bottom-rail assembly with a cloth gap to spare. */
@media (max-width:860px){
  .hero-atlas{padding-bottom:258px}
}

/* Eyebrow centered in the cushion strip under the wood (Bob),
   and the bold keywords take the gold of the old buttons —
   brightened a step so it reads as type on the cloth. */
.hero-atlas h1 em,.hero-atlas h2 em{color:#cfa64f!important}
.hero-atlas .ha-door .ha-door-title{color:#cfa64f!important}
.hero-atlas .ha-mini .ha-mini-title{color:#cfa64f!important}
.hero-atlas .ha-director a{color:#cfa64f!important}

/* ===== v113: all ten rooms + the iPad eyebrow (Bob) ==========
   Explore now carries the Academy's ten rooms — the site's own
   rooms list — five and five in two rows, tag over title.
   On iPads the eyebrow shrinks and the table shifts so the
   centre pocket clears the eyebrow's tail. */
.hero-atlas .ha-mininav-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.hero-atlas .ha-mini{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:60px;position:relative;padding-right:30px}
.hero-atlas .ha-mini .ha-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);margin:0}
@media (min-width:861px) and (max-width:1240px){
  .hero-atlas{background-position:44% 50px}
  .hero-atlas .ha-eyebrow-top{margin-top:50px;font-size:10.5px;letter-spacing:.22em}
  .hero-atlas .ha-mini-title{font-size:13px}
}
@media (min-width:600px) and (max-width:860px){
  .hero-atlas{background-position:30% 50px}
  .hero-atlas .ha-eyebrow-top{margin-top:110px}
}
@media (max-width:860px){
  .hero-atlas .ha-mininav-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== v122: phone portrait crop (Bob) =====================
   On narrow portrait phones the height-fit table lands its top
   centre pocket directly behind the eyebrow. Shift the table
   sideways at phone widths so the visible slice is the clean
   rail-and-cloth span between the corner and centre pockets;
   the top pocket is cropped out of the phone layout entirely. */
@media (max-width:599px){
  .hero-atlas{background-position:22% 50px}
}

/* v144 — numbered pool-ball icons in the Explore mini-nav + hero support strip */
.hero-atlas .ha-mini{padding-left:42px}
.hero-atlas .ha-ball{
  position:absolute;left:11px;top:50%;transform:translateY(-50%);
  width:21px;height:21px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  font-size:9.5px;font-weight:800;line-height:1;color:#1c2430!important;
  background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.95) 0 26%,rgba(255,255,255,0) 55%),#888;
  box-shadow:inset 0 -2px 3px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.45);
}
.hero-atlas .ha-ball::before{
  content:"";position:absolute;inset:4.5px;border-radius:50%;background:#fdfdf8;
}
.hero-atlas .ha-ball span{position:relative;z-index:1}
.hero-atlas .ha-ball.b1{background-color:#f5c518}
.hero-atlas .ha-ball.b2{background-color:#0b5cad}
.hero-atlas .ha-ball.b3{background-color:#d83a2e}
.hero-atlas .ha-ball.b4{background-color:#5b2d8e}
.hero-atlas .ha-ball.b5{background-color:#f07d18}
.hero-atlas .ha-ball.b6{background-color:#0a7a43}
.hero-atlas .ha-ball.b7{background-color:#8e2f32}
.hero-atlas .ha-ball.b8{background-color:#191919}
.hero-atlas .ha-ball.b9{background:linear-gradient(180deg,#fdfdf8 0 26%,#f5c518 26% 74%,#fdfdf8 74% 100%)}
.hero-atlas .ha-ball.b10{background:linear-gradient(180deg,#fdfdf8 0 26%,#0b5cad 26% 74%,#fdfdf8 74% 100%)}
.hero-atlas .ha-support{
  margin-top:16px;padding:14px 10px 4px;border-top:1px solid rgba(207,166,79,.28);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;text-align:center;
}
.hero-atlas .ha-support-line{font-size:14.5px;color:#f3ecd9!important}
.hero-atlas .ha-support-line b{color:#cfa64f!important}
.hero-atlas .ha-support-links{display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:center}
.hero-atlas .ha-support-btn{
  display:inline-block;padding:7px 16px;border-radius:999px;font-size:13.5px;font-weight:700;
  background:#cfa64f;color:#17352a!important;border:1px solid #cfa64f;text-decoration:none;
}
.hero-atlas .ha-support-btn2{background:transparent;color:#cfa64f!important}
.hero-atlas .ha-support-btn:hover{filter:brightness(1.08)}
@media (max-width:599px){
  .hero-atlas .ha-support{padding-left:4px;padding-right:4px}
  .hero-atlas .ha-support-line{font-size:13.5px}
}

/* v145 — ball digits: beat the global text-color override so numbers print dark on the white disc */
.hero-atlas .ha-ball span{color:#1c2430!important}

/* v146 — balls sized to the two text lines; card text locked to two lines */
.hero-atlas .ha-mini{padding-left:56px;min-height:64px}
.hero-atlas .ha-ball{width:34px;height:34px;left:12px;font-size:13.5px}
.hero-atlas .ha-ball::before{inset:7.5px}
.hero-atlas .ha-mini-tag,.hero-atlas .ha-mini-title{white-space:nowrap}
@media (max-width:900px){
  .hero-atlas .ha-mini-tag{font-size:9.5px;letter-spacing:.05em}
  .hero-atlas .ha-mini-title{font-size:12.5px}
}
@media (max-width:599px){
  .hero-atlas .ha-mini{padding-left:52px}
  .hero-atlas .ha-ball{width:32px;height:32px;left:10px;font-size:12.5px}
  .hero-atlas .ha-ball::before{inset:7px}
  .hero-atlas .ha-mini-tag{font-size:9px}
  .hero-atlas .ha-mini-title{font-size:12px}
}
