/* ==================================================================
   Escape Velocity — program page styles (weareollin.com aesthetic)
   Scoped under .ev-wrap so it won't collide with Squarespace CSS.
   Used by header.html and content.html (two separate code blocks).
   ================================================================== */

.ev-wrap{
  /* Dark theme — text optimized for a dark page background. Backgrounds are
     transparent so this sits on whatever dark section it's placed in. */
  --ink:#f2f2f2;             /* body text (light on dark) */
  --paper:transparent;       /* no background fill */
  --muted:#9a9a9a;           /* mono labels / counts */
  --line:#2a2a2a;            /* hairline dividers */
  --line-strong:#e6e6e6;     /* strong dividers / headings underline */
  --sans:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --head:bebas-kai,"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;  /* headings */

  color:var(--ink);
  background:var(--paper);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
.ev-wrap *,.ev-wrap *::before,.ev-wrap *::after{box-sizing:border-box;}
.ev-wrap a{color:inherit;text-decoration:none;}

/* ---- Layout shell (two blocks share the same max-width column) ---- */
.ev-shell{max-width:1200px;margin:0 auto;padding:72px 32px 96px;}
.ev-shell.is-header{padding-bottom:0;}
.ev-shell.is-content{padding-top:40px;}

/* ---- Kicker / mono labels ---- */
.ev-kicker{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  display:flex;align-items:center;gap:10px;
  margin:0 0 22px;
}
.ev-kicker::before{content:"";width:26px;height:1px;background:var(--line-strong);display:inline-block;}

/* ---- Hero ---- */
.ev-hero{border-bottom:1px solid var(--line);padding-bottom:44px;}
.ev-hero h1{
  font-family:var(--head);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-0.02em;
  line-height:0.95;
  font-size:clamp(44px,8vw,104px);
  margin:0 0 24px;
}
.ev-hero .ev-lede{
  font-size:clamp(17px,2.2vw,21px);
  max-width:640px;
  color:#d0d0d0;
  margin:0 0 8px;
}
.ev-hero .ev-lede strong{font-weight:700;}
.ev-meta{
  font-family:var(--mono);
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-top:26px;display:flex;flex-wrap:wrap;gap:8px 22px;
}

/* ---- Two-column body: content + sticky enroll ---- */
.ev-grid{display:grid;grid-template-columns:1fr 360px;gap:64px;align-items:start;}

/* ---- Intro prose ---- */
.ev-block{margin-bottom:56px;}
.ev-block h2{
  font-family:var(--head);
  font-weight:800;text-transform:uppercase;letter-spacing:-0.01em;
  line-height:1.02;font-size:clamp(26px,3.4vw,40px);margin:0 0 18px;
}
.ev-block p{font-size:17px;color:#cfcfcf;max-width:60ch;margin:0 0 16px;}
.ev-block p strong{font-weight:700;color:var(--ink);}

/* ---- Curriculum ---- */
.ev-curr-head{display:flex;justify-content:space-between;align-items:baseline;
  border-top:2px solid var(--line-strong);padding-top:16px;margin-top:8px;}
.ev-curr-head h2{
  font-family:var(--head);font-weight:800;text-transform:uppercase;
  letter-spacing:-0.01em;font-size:clamp(24px,3vw,34px);margin:0;line-height:1;
}
.ev-curr-count{font-family:var(--mono);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);}

.ev-list{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--line);}
.ev-item{display:flex;align-items:center;gap:18px;
  padding:15px 4px;border-bottom:1px solid var(--line);
  transition:background .15s ease,padding-left .15s ease;}
.ev-item:hover{background:#161616;color:#fff;padding-left:14px;}
.ev-item:hover .ev-num,.ev-item:hover .ev-tag{color:#c9c9c9;}
.ev-num{font-family:var(--mono);font-size:12px;letter-spacing:.1em;
  color:var(--muted);min-width:44px;}
.ev-name{font-size:16px;font-weight:600;flex:1;letter-spacing:-0.005em;}
.ev-tag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:#b0b0b0;}

/* ---- Curriculum grouped by week ---- */
.ev-week{margin-top:34px;}
.ev-week:first-of-type{margin-top:26px;}
.ev-week-head{display:flex;justify-content:space-between;align-items:baseline;
  gap:14px;padding-bottom:6px;}
.ev-week-head h3{font-family:var(--head);font-weight:800;text-transform:uppercase;
  letter-spacing:-0.005em;font-size:clamp(16px,1.8vw,20px);margin:0;line-height:1;}
.ev-week-count{font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap;}
/* Week list: the week head is the divider, so drop the list's own top rule and
   its top margin. */
.ev-week .ev-list{margin-top:0;border-top:2px solid var(--line-strong);}

/* ---- Enroll box (sidebar) ---- */
.ev-enroll-wrap{position:sticky;top:28px;}
.ev-enroll{border:1.5px solid var(--line-strong);background:var(--paper);padding:30px 28px 32px;}
.ev-enroll .ev-etag{font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);margin:0 0 18px;}
.ev-price{display:flex;align-items:flex-end;gap:8px;margin:0 0 6px;}
.ev-price .n{font-family:var(--sans);font-weight:800;font-size:52px;line-height:1;letter-spacing:-0.03em;}
.ev-price .per{font-family:var(--mono);font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);padding-bottom:8px;}
.ev-sub{font-size:13px;color:var(--muted);margin:0 0 22px;}
.ev-benefits{list-style:none;margin:0 0 26px;padding:0;border-top:1px solid var(--line);}
.ev-benefits li{font-size:14px;color:#c8c8c8;padding:11px 0 11px 22px;position:relative;
  border-bottom:1px solid var(--line);}
.ev-benefits li::before{content:"\2192";position:absolute;left:0;top:11px;color:var(--ink);font-weight:700;}
/* Primary CTA: light fill, dark text (pops on dark). Ghost: outlined. */
/* .ev-wrap a{color:inherit} would override these, so use a:where(...) parity —
   qualify with the element to win specificity. */
a.ev-btn{
  display:block;text-align:center;width:100%;
  background:#f2f2f2;color:#0b0b0b;
  font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  padding:16px 18px;border:1.5px solid #f2f2f2;
  transition:background .15s,color .15s;
}
a.ev-btn:hover{background:transparent;color:#f2f2f2;}
a.ev-btn.ev-ghost{background:transparent;color:#f2f2f2;border-color:#555;margin-top:10px;}
a.ev-btn.ev-ghost:hover{background:#f2f2f2;color:#0b0b0b;border-color:#f2f2f2;}
.ev-fine{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);text-align:center;margin:18px 0 0;}

/* ---- Responsive ---- */
@media (max-width:900px){
  .ev-grid{grid-template-columns:1fr;gap:44px;}
  .ev-enroll-wrap{position:static;order:-1;}
  .ev-shell{padding:52px 22px 72px;}
  .ev-shell.is-header{padding-bottom:0;}
  .ev-shell.is-content{padding-top:32px;}
}
