/* ============================================================================
   pages.css — scoped styles for the NEW pages only (disciplines, legal, contact)
   Loaded in addition to styles.css. Does NOT modify any approved homepage styles.
   Reuses the same design tokens (--red, --ink, --bone, fonts) from styles.css.
   ============================================================================ */

/* ---- Discipline / sub-page HERO (clears the fixed nav, not full height) ---- */
.subhero{
  position:relative;
  min-height:62vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:140px 0 8vh;        /* top padding clears the fixed nav, no overlap */
}
.subhero .bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  z-index:0;
}
.subhero .grad{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(11,11,12,.72) 0%,rgba(11,11,12,.45) 38%,rgba(11,11,12,.82) 82%,var(--black) 100%);
}
.subhero .vig{
  position:absolute;inset:0;z-index:1;
  background:radial-gradient(120% 100% at 50% 40%,transparent 40%,rgba(11,11,12,.55) 100%);
}
.subhero .wrap{position:relative;z-index:3;width:100%}
.subhero .kicker{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.subhero .kicker .l{width:54px;height:2px;background:var(--red)}
.subhero .kicker span{
  font-family:'Barlow Condensed';letter-spacing:.3em;font-weight:600;
  font-size:.85rem;color:var(--bone);text-transform:uppercase;
}
.subhero h1{
  font-size:clamp(2.8rem,8vw,6rem);line-height:.86;margin-bottom:18px;
  letter-spacing:-.01em;color:var(--bone);
}
.subhero h1 .r{color:var(--red)}
.subhero .sub{font-size:1.15rem;max-width:54ch;color:#e7e4dc;margin-bottom:26px}

/* ---- Breadcrumbs ---- */
.crumbs{
  position:relative;z-index:3;
  font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.14em;
  font-size:.8rem;margin-bottom:22px;color:#bdbab2;
}
.crumbs a{color:#bdbab2;text-decoration:none;border-bottom:1px solid transparent;transition:.2s}
.crumbs a:hover{color:var(--red);border-color:var(--red)}
.crumbs .sep{margin:0 9px;opacity:.5}
.crumbs .here{color:var(--bone)}

/* ---- Long-form article body (discipline content) ---- */
.article{padding:72px 0}
.article .wrap{max-width:820px}
.article h2{
  font-family:'Anton';font-size:clamp(1.7rem,3.4vw,2.5rem);
  line-height:1.05;margin:46px 0 16px;letter-spacing:.01em;
}
.article h2:first-child{margin-top:0}
.article h3{
  font-family:'Archivo';font-weight:800;font-size:1.2rem;
  margin:30px 0 10px;
}
.article p{font-size:1.08rem;line-height:1.72;color:#d8d5cd;margin-bottom:18px}
.article ul{margin:0 0 22px 0;padding:0;list-style:none}
.article ul li{
  position:relative;padding-left:30px;margin-bottom:12px;
  font-size:1.06rem;line-height:1.6;color:#d8d5cd;
}
.article ul li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:12px;height:12px;background:var(--red);
  clip-path:polygon(50% 0,100% 100%,0 100%);   /* small triangle, matches brand */
}
.article a.inline{color:var(--red);text-decoration:none;border-bottom:1px solid rgba(237,28,36,.4)}
.article a.inline:hover{border-color:var(--red)}
.article .lede{font-size:1.2rem;color:var(--bone);line-height:1.6;margin-bottom:30px}

/* highlight chips row */
.article .chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 30px}
.article .chips span{
  font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.1em;
  font-size:.78rem;border:1px solid var(--line);color:#cfccc4;padding:6px 13px;
}

/* ---- "Explore other disciplines" related grid ---- */
.related{padding:64px 0;background:var(--ink)}
.related .wrap{max-width:1100px}
.related .rgrid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px;
}
.related .rcard{
  display:block;padding:22px;border:1px solid var(--line);
  text-decoration:none;color:var(--bone);transition:.2s;background:var(--black);
}
.related .rcard:hover{border-color:var(--red);transform:translateY(-2px)}
.related .rcard .rk{
  font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.12em;
  font-size:.74rem;color:var(--red);
}
.related .rcard h3{font-family:'Anton';font-size:1.25rem;margin:6px 0 0;letter-spacing:.01em}

/* ---- Legal page spacing fix ---- */
.legal-copy{max-width:760px;margin:0 auto}
.legal-copy h2{
  font-family:'Anton';font-size:1.5rem;letter-spacing:.01em;
  margin:42px 0 12px;padding-top:6px;
}
.legal-copy p{font-size:1.05rem;line-height:1.7;color:#d4d1c9;margin-bottom:16px}
.legal-copy a{color:var(--red);text-decoration:none;border-bottom:1px solid rgba(237,28,36,.4)}

/* ---- Responsive ---- */
@media(max-width:1000px){
  .subhero{min-height:52vh;padding:120px 0 7vh}
  .related .rgrid{grid-template-columns:1fr}
  .article{padding:54px 0}
}
@media(max-width:520px){
  .subhero{padding:108px 0 6vh}
  .subhero h1{font-size:clamp(2.4rem,11vw,3.4rem)}
}

/* ===== STANDALONE SCHEDULE PAGE GRID ===== */
.sched .wrap{max-width:1100px}
.sched-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;align-items:start}
.sched-day{position:relative;background:var(--ink);border:1px solid var(--line);border-top:3px solid var(--red);padding:26px 26px 20px;transition:border-color .25s,transform .25s}
.sched-day:hover{transform:translateY(-3px);border-color:var(--line-lt);border-top-color:var(--red)}
.sched-dayname{font-family:'Anton';font-size:1.6rem;line-height:1;color:var(--bone);margin:0 0 16px;letter-spacing:.02em;display:flex;align-items:center;gap:12px}
.sched-dayname::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line) 0%,transparent 100%)}
.sched-day .sc-row{padding:12px 0}
.sched-day .sc-row:first-of-type{border-top:0}
/* The closed/rest day reads as muted */
.sched-day.is-rest{border-top-color:var(--smoke);opacity:.85}
.sched-day.is-rest .sched-dayname{color:var(--smoke)}
@media(max-width:760px){
  .sched-grid{grid-template-columns:1fr;gap:16px}
  .sched-day{padding:22px 20px 16px}
}
