/* ================================================================
   FOREVER EVER — Course Module Stylesheet
   Shared across modules 01–06
   ================================================================ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --navy:#1B2A4A; --navy-deep:#0f1a2e; --gold:#D4A853; --gold-soft:#c9a05a;
  --cream:#F5F0E8; --cream-dark:#e8e0d0; --charcoal:#2C2C2C; --parchment:#faf6ef;
  --gray:#ccc; --text:#3a3530; --light:#888;
  --c-key:rgba(212,168,83,.12); --c-protocol:rgba(27,42,74,.1);
  --c-warning:rgba(180,60,40,.09); --c-science:rgba(40,100,120,.09);
  --c-reflection:rgba(80,60,120,.09);
}

html{scroll-behavior:smooth;}
body{font-family:'Lora',Georgia,serif;background:var(--parchment);color:var(--text);line-height:1.85;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}

/* ---- PROGRESS BAR ---- */
#progress-bar{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--gold);z-index:200;transition:width .1s linear;}

/* ---- NAV ---- */
.nav{background:var(--navy-deep);padding:16px 28px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:3px;z-index:100;}
.nav-brand{font-family:'EB Garamond',serif;font-size:16px;letter-spacing:4px;color:var(--cream);}
.nav-brand:hover{color:var(--gold);}
.nav-right{display:flex;align-items:center;gap:20px;}
.nav-module{font-family:'EB Garamond',serif;font-size:13px;letter-spacing:1px;color:var(--gold);white-space:nowrap;}
.nav-home{font-family:'EB Garamond',serif;font-size:13px;letter-spacing:.5px;color:rgba(245,240,232,.45);}
.nav-home:hover{color:var(--gold);}

/* ---- HERO ---- */
.hero{background:var(--navy-deep);padding:64px 24px 52px;text-align:center;}
.hero-phase{font-family:'EB Garamond',serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:rgba(212,168,83,.6);margin-bottom:10px;}
.hero-num{font-family:'EB Garamond',serif;font-size:clamp(60px,10vw,100px);color:rgba(212,168,83,.15);line-height:1;margin-bottom:-8px;}
.hero-title{font-family:'EB Garamond',serif;font-size:clamp(26px,4vw,44px);font-weight:400;color:var(--cream);line-height:1.2;margin-bottom:16px;}
.hero-sub{font-size:16px;color:rgba(245,240,232,.55);max-width:540px;margin:0 auto 28px;line-height:1.7;}
.hero-meta{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;}
.hero-pill{font-family:'EB Garamond',serif;font-size:13px;letter-spacing:1.5px;color:rgba(245,240,232,.45);border:1px solid rgba(245,240,232,.15);padding:5px 14px;}

/* ---- BODY LAYOUT ---- */
.body-wrap{max-width:820px;margin:0 auto;padding:56px 28px 80px;}

/* ---- TOC ---- */
.toc{background:#fff;border:1px solid rgba(27,42,74,.12);padding:24px 28px;margin-bottom:48px;}
.toc-title{font-family:'EB Garamond',serif;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.toc-list{list-style:none;display:flex;flex-direction:column;gap:6px;}
.toc-list a{font-size:14px;color:var(--navy);border-bottom:1px solid transparent;display:inline-block;}
.toc-list a:hover{border-bottom-color:var(--gold);}
.toc-list li{display:flex;gap:10px;align-items:baseline;}
.toc-n{font-family:'EB Garamond',serif;font-size:13px;color:var(--gold);min-width:22px;}

/* ---- OBJECTIVES ---- */
.objectives{border-left:3px solid var(--gold);padding:20px 24px;background:rgba(212,168,83,.06);margin-bottom:44px;}
.objectives h3{font-family:'EB Garamond',serif;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.objectives ul{list-style:none;display:flex;flex-direction:column;gap:7px;}
.objectives li{font-size:14.5px;color:var(--charcoal);padding-left:18px;position:relative;line-height:1.6;}
.objectives li::before{content:'·';position:absolute;left:0;color:var(--gold);font-size:20px;line-height:1;}

/* ---- SECTION ---- */
.section{margin-bottom:52px;}
.section h2{font-family:'EB Garamond',serif;font-size:26px;color:var(--navy);margin-bottom:6px;line-height:1.2;padding-top:12px;}
.section .section-rule{height:1px;background:linear-gradient(to right,var(--gold),transparent);margin-bottom:18px;}
.section p{font-size:16px;line-height:1.9;color:var(--text);margin-bottom:14px;}
.section ul,.section ol{margin:0 0 14px 20px;}
.section li{font-size:15.5px;line-height:1.8;color:var(--text);margin-bottom:5px;}
.section h3{font-family:'EB Garamond',serif;font-size:20px;color:var(--navy);margin:24px 0 8px;}
.section h4{font-family:'EB Garamond',serif;font-size:16px;color:var(--charcoal);letter-spacing:.5px;margin:18px 0 6px;}
.section blockquote{border-left:2px solid var(--gold);padding:10px 18px;margin:16px 0;font-style:italic;color:#555;font-size:15.5px;line-height:1.75;}

/* ---- CALLOUT BOXES ---- */
.callout{padding:18px 22px;margin:22px 0;border-left:3px solid;}
.callout-label{font-family:'EB Garamond',serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;margin-bottom:8px;}
.callout p,.callout li{font-size:14.5px;line-height:1.75;}
.callout ul,.callout ol{margin-left:18px;}

.callout.key{background:var(--c-key);border-color:var(--gold);}
.callout.key .callout-label{color:var(--gold-soft);}

.callout.protocol{background:var(--c-protocol);border-color:var(--navy);}
.callout.protocol .callout-label{color:var(--navy);}

.callout.warning{background:var(--c-warning);border-color:#b43c28;}
.callout.warning .callout-label{color:#b43c28;}

.callout.science{background:var(--c-science);border-color:#286478;}
.callout.science .callout-label{color:#286478;}

.callout.reflection{background:var(--c-reflection);border-color:#503c78;}
.callout.reflection .callout-label{color:#503c78;}

/* ---- TABLES ---- */
.course-table{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:14px;}
.course-table th{font-family:'EB Garamond',serif;letter-spacing:1px;text-transform:uppercase;font-weight:400;color:var(--navy);border-bottom:1px solid var(--gold);padding:8px 12px;text-align:left;}
.course-table td{border-bottom:1px solid rgba(0,0,0,.06);padding:9px 12px;line-height:1.6;vertical-align:top;}
.course-table tr:last-child td{border-bottom:none;}

/* ---- DIVIDER ---- */
.divider{height:1px;background:rgba(0,0,0,.08);margin:40px 0;}

/* ---- MODULE NAVIGATION ---- */
.mod-nav{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-top:1px solid rgba(0,0,0,.08);margin-top:60px;flex-wrap:wrap;gap:16px;}
.mod-nav-btn{font-family:'EB Garamond',serif;font-size:14px;letter-spacing:1px;color:var(--navy);border:1px solid rgba(27,42,74,.25);padding:10px 20px;display:flex;align-items:center;gap:8px;}
.mod-nav-btn:hover{background:var(--navy);color:var(--cream);}
.mod-nav-center{font-family:'EB Garamond',serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);}
.mod-nav-center a:hover{text-decoration:underline;}

/* ---- FOOTER ---- */
footer{background:var(--navy-deep);padding:24px;text-align:center;}
footer p{font-family:'EB Garamond',serif;font-size:12px;letter-spacing:2px;color:rgba(245,240,232,.25);}
