/* ==========================================================================
   Landing page — page styles (loads after site.css)
   ========================================================================== */
.home-page{background:#fff}
.home-page main{flex:1}
.wrap{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px}
.cond{font-family:var(--font-cond)}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--soft)}
.hero-flag{position:absolute;right:-120px;top:-40px;bottom:-40px;width:620px;transform:skewX(-24deg);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));opacity:.13;pointer-events:none}
.hero-flag i:nth-child(1){background:#141414}.hero-flag i:nth-child(2){background:var(--yellow)}.hero-flag i:nth-child(3){background:var(--flag-red)}
.hero-inner{position:relative;padding-top:80px;padding-bottom:96px;display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.hero-text{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:24px}
.eyebrow{font-family:var(--font-cond);font-weight:600;font-size:16px;letter-spacing:.18em;text-transform:uppercase;color:var(--red-dark)}
.hero h1{margin:0;font-family:var(--font-cond);font-weight:800;font-size:clamp(48px,7vw,92px);line-height:.92;text-transform:uppercase;letter-spacing:-.01em}
.hero h1 span{color:var(--red)}
.lead{margin:0;font-size:19px;line-height:1.55;max-width:540px;color:var(--text)}
.btns{display:flex;flex-wrap:wrap;gap:12px;padding-top:8px}
.hero-logo{flex:1 1 340px;min-width:0;display:flex;justify-content:center}
.hero-logo img{width:100%;max-width:440px;height:auto}

/* sections */
.block{padding-top:96px;padding-bottom:48px;display:flex;flex-direction:column;gap:40px}
.sec-head{display:flex;flex-direction:column;gap:10px}
.sec-head h2{margin:0;font-family:var(--font-cond);font-weight:700;font-size:clamp(34px,4.5vw,44px);text-transform:uppercase;line-height:1}
.sec-head p{margin:0;font-size:17px;color:var(--muted);max-width:720px;line-height:1.55}

/* federation cards */
.fed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:28px}
.fed{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:40px;display:flex;flex-direction:column;gap:22px;box-shadow:var(--shadow)}
.fed-logo{height:96px;display:flex;align-items:center}
.fed-logo img{width:auto;max-width:100%}
.tag{display:flex;align-items:center;gap:10px;font-family:var(--font-cond);font-weight:600;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tag i{display:inline-block;width:28px;height:4px}
.fed h3{margin:0;font-family:var(--font-cond);font-weight:700;font-size:34px;line-height:1}
.fed p{margin:0;font-size:16px;line-height:1.65;color:var(--text);flex-grow:1}
.fed .btns{padding-top:0}
.fed .btn{padding:14px 24px}
.fed .btn-line{padding:12.5px 22.5px}

/* results teaser */
.results-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--line);border-radius:20px;padding:32px 40px;background:var(--paper)}
.results-cta h2{margin:0;font-family:var(--font-cond);font-weight:700;font-size:32px;text-transform:uppercase;line-height:1}
.results-cta p{margin:8px 0 0;color:var(--text);font-size:16px;line-height:1.55}
.results-cta .ico{width:56px;height:56px;border-radius:16px;background:#fff;display:grid;place-items:center;color:var(--red);flex-shrink:0}
.results-cta-text{display:flex;align-items:center;gap:20px;flex:1 1 420px;min-width:0}

/* MyBowling band */
.band-wrap{padding-top:32px;padding-bottom:96px}
.band{background:var(--ink);color:#fff;border-radius:24px;padding:48px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.band-text{display:flex;flex-direction:column;gap:18px;flex:1 1 420px;min-width:0}
.band-logo{background:#fff;border-radius:12px;padding:14px 20px;align-self:flex-start}
.band-logo img{height:40px;width:auto;display:block}
.band h2{margin:0;font-family:var(--font-cond);font-weight:700;font-size:clamp(30px,4vw,38px);line-height:1.05}
.band h2 .sub{color:var(--yellow)}

@media(max-width:800px){
  .wrap{padding-left:20px;padding-right:20px}
  .hero-inner{padding-top:44px;padding-bottom:56px;gap:28px}
  .hero-logo{order:-1;justify-content:flex-start;flex-basis:auto}
  .hero-logo img{max-width:132px}
  .block{padding-top:64px;padding-bottom:32px}
  .fed{padding:26px}
  .results-cta{padding:26px}
  .band{padding:32px 26px}
  .band-wrap{padding-bottom:64px}
}
