/* Mastery — tokens lifted from the live lawofdelight.com, September 2026.
   Light ground, navy ink, teal action, gold accent. No black anywhere. */
:root{
  --ink:#1B2A44;          /* body and headings */
  --page:#FFFFFF;
  --cream:#FDF8F2;        /* cards */
  --cream-deep:#F8F2E4;   /* alternate section */
  --cream-warm:#F6EDD2;
  --mint:#EEF8F4;
  --mint-cool:#E2F4F4;
  --teal:#2D8E8E;         /* buttons, eyebrows */
  --teal-deep:#1E6464;
  --gold:#C9A84C;         /* accents, italic headline */
  --gold-warm:#DCA54A;
  --gold-light:#E0C068;
  --hair:rgba(201,168,76,.15);
  --muted:#6E7A8C;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--page);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-weight:300;font-size:18px;line-height:2;-webkit-font-smoothing:antialiased}
a{color:var(--teal);text-decoration:none}
a:hover{color:var(--gold);text-decoration:none}

/* header */
.bar{display:flex;align-items:center;justify-content:space-between;padding:20px 34px;background:var(--page);border-bottom:1px solid var(--hair)}
.mark{display:block;line-height:1.1}
.mark .lock{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:24px;color:var(--gold-warm)}
.mark .sub{display:block;font-family:'Aboreto',serif;font-size:11px;letter-spacing:4px;color:var(--teal);text-transform:uppercase;margin-top:2px}
.bar nav a{margin-left:26px;font-family:'Aboreto',serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ink)}
.bar nav a:hover{color:var(--teal)}
.wrap{max-width:1100px;margin:0 auto;padding:64px 34px 110px}
.foot{border-top:1px solid var(--hair);padding:34px;text-align:center;font-family:'Aboreto',serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);background:var(--cream)}
.foot a{color:var(--teal)}

/* type */
.eyebrow{font-family:'Aboreto',serif;font-size:14px;letter-spacing:4px;text-transform:uppercase;color:var(--teal);margin:0 0 14px}
h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(34px,5.4vw,64px);line-height:1.08;text-transform:uppercase;margin:0 0 6px}
h1 .accent{display:block;font-style:italic;color:var(--gold)}
h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(24px,3.4vw,40px);line-height:1.15;text-transform:uppercase;margin:0 0 12px}
.lede{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:26px;line-height:1.45;color:var(--gold);margin:0 0 46px}
.prose{max-width:62ch}
.prose p{margin:0 0 22px}

/* shelf */
.shelf{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card{display:block;background:var(--cream);border:1px solid var(--hair);padding:0 0 26px;overflow:hidden;transition:border-color .25s,transform .25s,background .25s}
.card:hover{border-color:var(--gold);background:var(--cream-deep);transform:translateY(-2px)}
.card > :not(.cover){margin-left:28px;margin-right:28px}
.cover{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream-deep);margin-bottom:24px}
.cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.card:hover .cover img{transform:scale(1.03)}
.cover-blank{display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,var(--cream-warm),var(--mint-cool))}
.cover-blank .tri{margin:0}

/* course header */
.course-head{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;margin-bottom:8px}
.course-head.no-cover{grid-template-columns:1fr}
.course-head-img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border:1px solid var(--hair)}
.course-head .lede{margin-bottom:0}
@media (max-width:820px){.course-head{grid-template-columns:1fr;gap:26px}.course-head-img{order:-1}}
.card .kind{display:block;font-family:'Aboreto',serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--teal)}
.card h3{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:28px;line-height:1.15;text-transform:uppercase;color:var(--ink);margin:14px 0 6px}
.card p{font-size:16px;line-height:1.6;color:var(--muted);margin:0}
.card .meta{margin-top:20px;font-family:'Aboreto',serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-warm)}

/* lesson list */
.lessons{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--hair)}
.lessons li{border-bottom:1px solid var(--hair)}
.lessons li:nth-child(even){background:var(--cream)}
.lessons a{display:flex;align-items:baseline;gap:20px;padding:20px 18px;color:var(--ink);font-size:17px}
.lessons a:hover{background:var(--mint);color:var(--teal-deep)}
.lessons .n{font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;color:var(--gold);min-width:34px}
.lessons .d{margin-left:auto;font-family:'Aboreto',serif;font-size:11px;letter-spacing:2px;color:var(--muted)}
.lessons .done .n::after{content:'✓';font-style:normal;font-size:13px;color:var(--teal);margin-left:7px}

/* media */
.player{position:relative;width:100%;aspect-ratio:16/9;background:var(--ink);margin:34px 0;border:1px solid var(--hair)}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
audio{width:100%;margin:32px 0}

/* actions */
.btn{display:inline-block;background:var(--teal);color:#fff;padding:14px 30px;border:0;border-radius:0;font-family:'Aboreto',serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;line-height:1.6}
.btn:hover{background:var(--teal-deep);color:#fff}
.btn.ghost{background:transparent;border:1px solid var(--gold);color:var(--ink)}
.btn.ghost:hover{background:var(--cream-warm);color:var(--ink)}

/* forms */
.panel{max-width:460px;margin:70px auto;background:var(--cream);border:1px solid var(--hair);padding:44px 38px}
label{display:block;font-family:'Aboreto',serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--teal);margin:22px 0 8px}
input[type=email],input[type=password],input[type=text],select,textarea{width:100%;background:#fff;border:1px solid var(--hair);color:var(--ink);padding:13px 14px;border-radius:0;font-family:inherit;font-weight:300;font-size:16px}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--teal)}
.note{font-size:15px;color:var(--muted);margin-top:20px}
.err{border-left:3px solid #B4453C;background:#FDF3F2;padding:12px 16px;font-size:16px;margin:18px 0}
.ok{border-left:3px solid var(--teal);background:var(--mint);padding:12px 16px;font-size:16px;margin:18px 0}
.empty{color:var(--muted);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;padding:46px 0}
.tri{display:block;margin:64px auto 0;opacity:.9}

/* tables */
table{width:100%;border-collapse:collapse;font-size:16px}
th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--hair)}
th{font-family:'Aboreto',serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--teal);font-weight:400}
tr:nth-child(even) td{background:var(--cream)}
