/* ─── HERO ─── */
.hero{padding:88px 52px 72px}
.hero-location{
  font-family:var(--sans);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--kl);margin-bottom:28px
}
.hero-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:0;align-items:center;margin-bottom:64px
}
.hero-col-left{padding-right:52px}
.hero h1{
  font-family:var(--serif);font-size:22px;font-weight:normal;
  line-height:1.70;color:var(--k);max-width:380px
}
.hero-col-mid{padding:0 52px}
.hero-col-mid img{height:200px;width:auto;display:block}
.hero-col-right{
  padding-left:52px;
  display:flex;flex-direction:column;align-items:flex-end
}
.hero-body{
  font-family:var(--sans);font-size:14px;line-height:2.05;
  color:var(--km);max-width:340px;margin-bottom:36px;text-align:right
}
.hero-col-right .cta{justify-content:flex-end}
.hero-baseline{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  border-top:0.5px solid var(--rule)
}
.baseline-item{padding:24px 0;border-right:0.5px solid var(--rule)}
.baseline-item:last-child{border-right:none}
.baseline-item:not(:first-child){padding-left:28px}
.baseline-n{font-family:var(--serif);font-size:14px;color:var(--k);margin-bottom:6px}
.baseline-l{
  font-family:var(--sans);font-size:11px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--kl)
}

/* ─── PRINCIPLES ─── */
.p-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.p-col{padding:0 28px 0 0;border-right:0.5px solid var(--rule)}
.p-col:last-child{border-right:none;padding-right:0}
.p-col:not(:first-child){padding-left:28px}
.p-n{
  font-family:var(--sans);font-size:11px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--r);margin-bottom:14px
}
.p-t{font-family:var(--sans);font-size:14px;line-height:1.75;color:var(--km)}

/* ─── COACHING ─── */
.coach-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:80px;align-items:start
}
.coach-intro h2{
  font-family:var(--serif);font-size:20px;font-weight:normal;
  line-height:1.6;color:var(--k);margin-bottom:18px
}
.coach-intro p{
  font-family:var(--sans);font-size:14px;line-height:2.05;
  color:var(--km);margin-bottom:32px
}
.tier{padding:20px 0;border-top:0.5px solid var(--rule)}
.tier:last-child{border-bottom:0.5px solid var(--rule)}
.tier-name{
  font-family:var(--sans);font-size:12px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--k);margin-bottom:5px
}
.tier-price{font-family:var(--serif);font-size:14px;color:var(--kl);margin-bottom:9px}
.tier-desc{font-family:var(--sans);font-size:13px;line-height:1.85;color:var(--km)}

/* ─── ALMANAC (dark band) ─── */
.alm-2{
  display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);
  gap:64px;align-items:start
}
.alm-intro h2{
  font-family:var(--serif);font-size:20px;font-weight:normal;
  line-height:1.6;color:#d8d7cf;margin-bottom:16px
}
.alm-intro p{
  font-family:var(--sans);font-size:14px;line-height:2.05;
  color:#5a5a52;margin-bottom:32px
}
.alm-cta{
  font-family:var(--sans);font-size:12px;letter-spacing:0.12em;
  text-transform:uppercase;color:#d8d7cf;text-decoration:none;
  display:inline-flex;align-items:center;gap:16px
}
.alm-cta-line{
  display:inline-block;width:20px;height:1px;background:var(--r);flex-shrink:0;
  transition:background 0.2s ease
}
.alm-cta:hover .alm-cta-line{background:#fff}
.alm-issues{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;
  border-top:0.5px solid rgba(255,255,255,0.07)
}
.issue{padding:24px 24px 24px 0;border-right:0.5px solid rgba(255,255,255,0.07)}
.issue:last-child{border-right:none}
.issue:not(:first-child){padding-left:24px}
.issue-n{
  font-family:var(--sans);font-size:11px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--r);margin-bottom:12px
}
.issue-title{font-family:var(--sans);font-size:14px;color:#8a8a82;line-height:1.6}

/* ─── BARNBURNER ─── */
.bb-2{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  gap:72px;align-items:start
}
.bb h2{
  font-family:var(--serif);font-size:22px;font-weight:normal;
  color:var(--k);margin-bottom:6px
}
.bb-sub{
  font-family:var(--sans);font-size:12px;letter-spacing:0.10em;
  text-transform:uppercase;color:var(--kl);margin-bottom:36px
}
.bb-body{
  font-family:var(--sans);font-size:14px;line-height:2.05;
  color:var(--km);margin-bottom:36px
}
.spec{padding:16px 0;border-top:0.5px solid var(--rule)}
.spec:last-child{border-bottom:0.5px solid var(--rule)}
.spec-l{
  font-family:var(--sans);font-size:11px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--kl);margin-bottom:5px
}
.spec-v{font-family:var(--serif);font-size:15px;color:var(--k)}

/* ─── RESULTS (table) ─── */
.results-inner{
  display:table;width:100%;
  border-top:0.5px solid var(--rule);border-collapse:collapse
}
.result-head-row,.result-data-row{display:table-row}
.result-cell{
  display:table-cell;padding:10px 24px 10px 0;
  border-bottom:0.5px solid var(--rule);vertical-align:baseline
}
.result-cell:not(:first-child){padding-left:16px;border-left:0.5px solid var(--rule)}
.result-head-row .result-cell{
  font-family:var(--sans);font-size:11px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--kl);
  padding-top:0;padding-bottom:12px
}
.result-data-row:last-child .result-cell{border-bottom:none}
.r-name{font-family:var(--sans);font-size:13px;color:var(--k)}
.r-event{font-family:var(--sans);font-size:13px;color:var(--km)}
.r-mark{font-family:var(--serif);font-size:14px;color:var(--k)}
.r-race{font-family:var(--sans);font-size:13px;color:var(--km)}
.r-tag{
  font-family:var(--sans);font-size:11px;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--r)
}

/* ─── CONTACT ─── */
.ct-2{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:88px
}
.ct-left h2{
  font-family:var(--serif);font-size:20px;font-weight:normal;
  line-height:1.6;color:var(--k);margin-bottom:20px
}
.ct-left p{
  font-family:var(--sans);font-size:14px;line-height:2.05;
  color:var(--km);margin-bottom:32px
}
.ct-link{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:16px 0;border-top:0.5px solid var(--rule);
  font-family:var(--sans);font-size:14px;color:var(--km);text-decoration:none
}
.ct-link:last-child{border-bottom:0.5px solid var(--rule)}
.ct-link:hover{color:var(--k)}
.ct-link-label{
  font-family:var(--sans);font-size:12px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--kl)
}
.ct-pull{
  font-family:var(--serif);font-style:italic;font-size:17px;
  line-height:1.8;color:var(--k);margin-bottom:24px;max-width:300px
}
.ct-rule{width:20px;height:1px;background:var(--r);margin-bottom:20px}
.ct-sub{
  font-family:var(--sans);font-size:13px;line-height:1.9;
  color:var(--kl);max-width:280px
}

/* =========================================================================
   RESPONSIVE — homepage
   ========================================================================= */
@media (max-width:1024px){
  .hero{padding:64px 32px 56px}
  .hero-col-left{padding-right:32px}
  .hero-col-mid{padding:0 32px}
  .hero-col-right{padding-left:32px}
  .coach-grid,.bb-2,.ct-2{gap:48px}
  .alm-2{gap:40px;grid-template-columns:minmax(0,180px) minmax(0,1fr)}
}

@media (max-width:768px){
  /* hero: 3-col -> single column stacked */
  .hero{padding:44px 24px 48px}
  .hero h1{font-size:18px;line-height:1.65;max-width:none}
  .hero-top{
    grid-template-columns:1fr;gap:24px;margin-bottom:36px
  }
  .hero-col-left,.hero-col-mid,.hero-col-right{padding:0}
  .hero-col-mid img{width:100%;height:200px;object-fit:cover}
  .hero-col-right{align-items:flex-start}
  .hero-body{text-align:left;max-width:none;margin-bottom:24px}
  .hero-col-right .cta{justify-content:flex-start}

  /* baseline: 2-col */
  .hero-baseline{grid-template-columns:1fr 1fr}
  .baseline-item{padding:18px 0}
  .baseline-item:not(:first-child){padding-left:0}
  .baseline-item:nth-child(odd){padding-right:14px}
  .baseline-item:nth-child(even){padding-left:14px;border-right:none}
  .baseline-item:nth-child(2n+1){border-right:0.5px solid var(--rule)}
  .baseline-item:not(:nth-last-child(-n+2)){border-bottom:0.5px solid var(--rule)}

  /* principles: 4 -> 1 col */
  .p-grid{grid-template-columns:1fr}
  .p-col{
    padding:18px 0;border-right:none;
    border-top:0.5px solid var(--rule);
    display:flex;gap:20px;align-items:baseline
  }
  .p-col:not(:first-child){padding-left:0}
  .p-col:last-child{border-bottom:0.5px solid var(--rule)}
  .p-n{width:24px;margin-bottom:0;flex-shrink:0}
  .p-t{font-size:13px}

  /* coaching: 2 -> 1 col */
  .coach-grid{grid-template-columns:1fr;gap:32px}

  /* almanac: 2 -> 1 col; issues: 3 -> 1 col */
  .alm-2{grid-template-columns:1fr;gap:24px}
  .alm-issues{grid-template-columns:1fr;border-top:0.5px solid rgba(255,255,255,0.07)}
  .issue{
    padding:18px 0;border-right:none;
    border-bottom:0.5px solid rgba(255,255,255,0.07)
  }
  .issue:not(:first-child){padding-left:0}
  .issue:last-child{border-bottom:none}

  /* barnburner: 2 -> 1 col */
  .bb-2{grid-template-columns:1fr;gap:32px}

  /* results: 4 col table -> stacked card rows */
  .results-inner{display:block;border-top:0.5px solid var(--rule)}
  .result-head-row{display:none}
  .result-data-row{
    display:block;padding:16px 0;
    border-bottom:0.5px solid var(--rule)
  }
  .result-data-row:last-child{border-bottom:none}
  .result-cell{
    display:flex;justify-content:space-between;align-items:baseline;
    padding:4px 0;border:none
  }
  .result-cell:not(:first-child){padding-left:0;border-left:none}

  /* contact: 2 -> 1 col */
  .ct-2{grid-template-columns:1fr;gap:36px}
  .ct-pull,.ct-sub{max-width:none}
}
