/* Recruiting profile — deliberately a single committed look (light), so the
   page reads the same for every coach regardless of their device theme. */

:root{
  --ink:#0d1b2a; --accent:#b3232c; --accent-soft:#f3e3e4;
  --paper:#ffffff; --paper-alt:#f6f7f9; --line:#dfe3e8;
  --text:#16202b; --muted:#5d6b7a; --faint:#8d99a6;
  --radius:10px;
  --font:"Helvetica Neue",Helvetica,Arial,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--paper);
  font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--accent)}

.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px 14px;border-radius:6px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:#fff;padding-block:40px 44px}
.hero__inner{display:flex;gap:32px;align-items:center;flex-wrap:wrap}
.hero__photo{flex:0 0 190px;max-width:190px}
.hero__photo img{width:190px;height:238px;object-fit:cover;border-radius:var(--radius)}
.photo-placeholder{width:190px;height:238px;border:2px dashed rgba(255,255,255,.28);border-radius:var(--radius);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  color:rgba(255,255,255,.6);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.photo-placeholder small{font-size:11px;font-family:var(--mono);text-transform:none;letter-spacing:0}
.hero__text{flex:1 1 380px;min-width:0}
.hero__eyebrow{margin:0 0 6px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#9fb3c8;font-weight:700}
.hero__name{margin:0;font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.03;letter-spacing:-.02em;font-weight:800}
.hero__org{margin:10px 0 0;font-size:1.05rem;color:#cdd8e3}
.hero__org .dot{color:#5d7086}
.vitals{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0}
.vitals li{background:rgba(255,255,255,.08);border-radius:8px;padding:8px 12px;min-width:86px}
.vitals span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#9fb3c8}
.vitals strong{display:block;font-size:1rem;margin-top:2px;white-space:nowrap}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-block;padding:11px 20px;border-radius:8px;font-weight:700;font-size:.95rem;
  text-decoration:none;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.btn--primary{background:var(--accent);border-color:var(--accent)}

/* ---------- subnav ---------- */
.subnav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.subnav__inner{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.subnav__inner::-webkit-scrollbar{display:none}
.subnav a{padding:13px 12px;font-size:.86rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--muted);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent}
.subnav a:hover{color:var(--ink);border-bottom-color:var(--accent)}

/* ---------- sections ---------- */
.section{padding-block:48px}
.section--alt{background:var(--paper-alt)}
.section--contact{background:var(--ink);color:#fff}
.section--contact .h2{color:#fff}
.section--contact .h2::after{background:#fff}
.h2{margin:0 0 22px;font-size:1.45rem;letter-spacing:-.01em;font-weight:800;color:var(--ink)}
.h2::after{content:"";display:block;width:44px;height:4px;background:var(--accent);margin-top:9px;border-radius:2px}
.sub{margin:22px 0 8px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800}
.note{margin:10px 0 0;font-size:.85rem;color:var(--muted);line-height:1.5}
.note--lead{margin:18px 0 26px;max-width:66ch}
.tbd{color:var(--faint);font-weight:600;font-style:italic}
.bullets{margin:0;padding-left:18px}
.bullets li{margin-bottom:5px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:34px}

/* ---------- metrics ---------- */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.mgroup{margin-top:26px}
.mgroup__title{margin:0 0 10px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800}
.metric{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.metric--featured{background:var(--accent-soft);border-color:transparent;border-top:4px solid var(--accent)}
.metric__label{margin:0;font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700}
.metric__value{margin:6px 0 0;font-size:1.95rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--ink)}
.metric--featured .metric__value{font-size:2.3rem}
.metric__value .tbd{font-size:1.15rem}
.metric__unit{font-size:.82rem;font-weight:700;color:var(--muted);margin-left:4px;letter-spacing:0}
.metric__attr{margin:8px 0 0;font-size:.72rem;color:var(--muted);font-family:var(--mono)}
.metric__attr--none{color:#b4432f}
.metric__note{margin:7px 0 0;font-size:.76rem;color:var(--muted);line-height:1.4}

/* ---------- video ---------- */
.video__frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--radius);overflow:hidden;max-width:100%}
.video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video__placeholder{aspect-ratio:16/9;border:2px dashed var(--line);border-radius:var(--radius);background:var(--paper);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px}
.video__placeholder-title{margin:0;font-weight:800;color:var(--muted);font-size:.9rem}
.video__placeholder-body{margin:0;font-size:.82rem;color:var(--faint)}
.video__placeholder code{font-family:var(--mono);font-size:.78rem}
.reel-meta{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px;align-items:start}
.chapters{margin:0;padding:0;list-style:none;border-left:2px solid var(--line)}
.chapters li{display:flex;gap:12px;padding:5px 0 5px 14px;font-size:.9rem}
.chapter__time{font-family:var(--mono);font-size:.8rem;color:var(--accent);font-weight:700;flex:0 0 42px}
.clips{margin-top:34px;display:grid;gap:26px}
.clipgroup__title{margin:0 0 10px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800}
.clipgroup{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;align-items:start}
.clip{display:grid;gap:7px}
.clip__title{margin:0;font-weight:700;font-size:.95rem}
.clip__note{margin:0;font-size:.8rem;color:var(--muted)}

/* ---------- tables ---------- */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.stats{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
.stats th{background:var(--ink);color:#fff;text-align:left;padding:10px 12px;
  font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.stats td{padding:10px 12px;border-top:1px solid var(--line);white-space:nowrap}
.stats tbody tr:nth-child(even){background:var(--paper-alt)}

/* ---------- academics ---------- */
.dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:1px;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.dl__row{background:var(--paper);padding:13px 15px;box-shadow:0 0 0 1px var(--line)}
.dl__row dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.dl__row dd{margin:4px 0 0;font-size:1.1rem;font-weight:700;color:var(--ink)}
.bio{margin:0;font-size:1.02rem;line-height:1.65;max-width:60ch}

/* ---------- links & contact ---------- */
.links{display:flex;flex-wrap:wrap;gap:9px}
.linkcard{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid var(--line);
  border-radius:99px;background:var(--paper);text-decoration:none;font-weight:700;font-size:.88rem;color:var(--ink)}
.linkcard:hover{border-color:var(--accent);color:var(--accent)}
.contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px}
.contact{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:16px}
.contact--primary{border-color:var(--accent);background:rgba(179,35,44,.16)}
.contact__role{margin:0;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:#9fb3c8;font-weight:700}
.pill{background:var(--accent);color:#fff;padding:2px 7px;border-radius:99px;font-size:.63rem;letter-spacing:.06em;margin-left:5px}
.contact__name{margin:6px 0 8px;font-size:1.12rem;font-weight:800}
.contact__lines{margin:0;font-size:.92rem;line-height:1.7}
.contact__lines a{color:#fff}
.section--contact .tbd{color:#8fa3b7}

/* ---------- footer ---------- */
.foot{background:#07121d;color:#8fa3b7;padding-block:22px;font-size:.85rem}
.foot p{margin:0}
.foot__built{margin-top:4px;font-size:.78rem;color:#5f7385}

/* ---------- responsive ---------- */
@media (max-width:820px){
  .two-col,.reel-meta{grid-template-columns:1fr;gap:22px}
}
@media (max-width:560px){
  .hero__inner{gap:20px}
  .hero__photo{flex:0 0 118px;max-width:118px}
  .hero__photo img,.photo-placeholder{width:118px;height:150px}
  .section{padding-block:36px}
  .vitals li{min-width:74px;padding:7px 10px}
}

/* ---------- print: coaches print and forward these ---------- */
@media print{
  @page{size:letter;margin:0.45in}
  body{font-size:9.5pt;color:#000;background:#fff}
  /* A printed profile is a one-pager. Drop video entirely (dead on paper),
     the detailed metric breakdown, and all coaching notes; keep the headline
     numbers, stats, academics, schedule and contact. */
  /* The printed sheet is the resume: identity, headline numbers, stats,
     academics, contact. Video is dead on paper; the detailed metric
     breakdown, schedule and awards live on the site. */
  .subnav,.cta,.skip,.foot__built,.note,
  #video,#about,#schedule,
  .mgroup,.academics-detail{display:none !important}
  .hero,.section--contact{background:#fff !important;color:#000 !important}
  .hero{padding-block:0 10pt;border-bottom:2pt solid #000}
  .hero__name{font-size:22pt}
  .hero__eyebrow,.hero__org{color:#000}
  .vitals li{background:none;border:0.5pt solid #999;padding:3pt 6pt}
  .vitals span{color:#444}
  .section{padding-block:7pt;break-inside:avoid}
  .section--alt{background:#fff}
  .h2{font-size:11pt;margin-bottom:7pt}
  .metric{border:0.5pt solid #999;padding:5pt;break-inside:avoid}
  .metric--featured{background:#f0f0f0 !important;border-top:2pt solid #000}
  .metric__value{font-size:13pt}
  .metric--featured .metric__value{font-size:14pt}
  .mgroup{margin-top:9pt}
  .stats{min-width:0;font-size:8pt}
  .stats th{background:#e6e6e6 !important;color:#000 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .contact{background:#fff !important;border:0.5pt solid #999}
  .contact__role,.section--contact .tbd{color:#444 !important}
  .contact__lines a,.section--contact .h2{color:#000 !important}
  .tablewrap{border:0.5pt solid #999;overflow:visible}
  .strip{grid-template-columns:repeat(5,1fr);gap:5pt}
  .dl{gap:0}
  .dl__row{padding:4pt 6pt}
  .dl__row dd{font-size:9pt}
  .two-col{gap:12pt}
  .bio{font-size:8.5pt;line-height:1.4}
  .contacts{grid-template-columns:repeat(4,1fr);gap:5pt}
  .contact{padding:5pt}
  .contact__name{font-size:9pt;margin:2pt 0 3pt}
  .contact__lines{font-size:8pt;line-height:1.45}
  .hero__inner{gap:14pt}
  .vitals{margin-top:8pt;gap:4pt}
  .foot{background:#fff !important;color:#000 !important;padding-block:6pt}
  /* Reclaim vertical space so the sheet lands on one page. */
  .hero__photo img{width:108pt;height:135pt}
  .hero__photo{flex:0 0 108pt;max-width:108pt}
  .hero__photo--empty{display:none}   /* no headshot: do not reserve an empty gutter */
  .dl{grid-template-columns:repeat(4,1fr)}
  .h2{font-size:10.5pt;margin-bottom:5pt}
  .h2::after{height:2pt;margin-top:4pt}
  a{text-decoration:none}
  .linkcard{border:0.5pt solid #999}
}
