.rev-page { background:#fff; color:#183136; }
.rev-hero { min-height:420px; display:grid; grid-template-columns:1.12fr 1fr; background:#073f45; color:#f7f4ed; border-bottom:2px solid #d2a846; }
.rev-hero-copy { padding:42px max(28px,calc((100vw - 1160px)/2)); padding-right:36px; align-self:center; }
.rev-crumbs { font-size:13px; line-height:1.6; margin-bottom:24px; color:#e2eeee; }
.rev-crumbs a { color:inherit; text-underline-offset:3px; }
.rev-eyebrow { display:block; color:#786028; font-size:12px; line-height:1.6; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.rev-hero .rev-eyebrow { color:#f0d47d; }
.rev-hero h1 { font-family:'Libre Baskerville',Georgia,serif; font-size:clamp(2rem,3.7vw,3.1rem); line-height:1.2; margin:12px 0 18px; color:#fffdf8; }
.rev-hero p { font-size:17px; line-height:1.7; margin:0 0 22px; max-width:550px; }
.rev-hero-image { display:block; width:100%; height:100%; min-height:420px; max-height:490px; object-fit:cover; object-position:60% center; mask-image:linear-gradient(90deg,transparent,#000 22%); }
.rev-button { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; min-height:46px; background:#d2a846; color:#183136; border:2px solid #d2a846; border-radius:5px; font:700 14px/1.5 'DM Sans',Arial,sans-serif; text-decoration:none; cursor:pointer; text-align:center; }
.rev-button:hover { background:#e6c368; border-color:#e6c368; }
.rev-button-outline { background:transparent; border-color:#073f45; color:#073f45; }
.rev-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.rev-page a:focus-visible,.rev-button:focus-visible { outline:3px solid #a97822; outline-offset:4px; }
.rev-overview,.rev-container { width:min(1120px,calc(100% - 48px)); margin:0 auto; }
.rev-overview { padding:42px 0; }
.rev-page h2 { font-family:'Libre Baskerville',Georgia,serif; font-size:clamp(1.6rem,2.7vw,2.1rem); line-height:1.35; color:#073f45; margin:10px 0 18px; }
.rev-page h3 { color:#073f45; line-height:1.4; }
.rev-overview > p { max-width:850px; font-size:17px; line-height:1.8; margin:0 0 16px; }
.rev-start-card { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:28px; padding:26px; background:#f7f4ed; border:1px solid #c8ad73; border-top:3px solid #d2a846; border-radius:8px; }
.rev-start-card h3 { font-size:22px; margin:8px 0 10px; }
.rev-start-card p { margin:0; line-height:1.7; }
.rev-status,.rev-upcoming { font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.rev-status { color:#073f45; }.rev-upcoming { color:#6b614d; }
.rev-roadmap { background:#f7f4ed; padding:38px 0; border-top:1px solid #d8c8a6; }
.rev-roadmap > .rev-container > p { line-height:1.7; max-width:800px; }
.rev-roadmap-grid { list-style:none; counter-reset:lesson; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:0; margin:26px 0 0; }
.rev-roadmap-grid li { counter-increment:lesson; background:#fff; padding:22px; border:1px solid #d8c8a6; border-radius:8px; }
.rev-roadmap-grid h3 { font-size:18px; margin:12px 0; }.rev-roadmap-grid h3::before { content:counter(lesson) '. '; color:#90702e; }
.rev-roadmap-grid p { font-size:14px; color:#40575a; margin:0; }
.rev-roadmap-grid a { color:#073f45; text-underline-offset:4px; }
.rev-layout { display:grid; grid-template-columns:230px minmax(0,760px); gap:48px; width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:40px 0; align-items:start; }
.rev-side { background:#f7f4ed; border:1px solid #d8c8a6; border-radius:8px; padding:22px; position:sticky; top:130px; }
.rev-side h2 { font-family:'DM Sans',Arial,sans-serif; font-size:17px; margin:0 0 15px; }
.rev-side ol { padding-left:20px; margin:0 0 22px; }.rev-side li { margin:0 0 12px; font-size:14px; line-height:1.5; }
.rev-side a { color:#073f45; text-underline-offset:3px; }
.rev-copy { font-size:18px; line-height:1.85; min-width:0; }.rev-copy p { margin:0 0 20px; }
.rev-copy .rev-lead { color:#073f45; font-size:21px; line-height:1.7; }
.rev-copy section { padding:14px 0 24px; scroll-margin-top:145px; }
.rev-copy .rev-reading { font-size:14px; line-height:1.8; font-weight:700; margin:0 0 18px; }
.rev-reading a { color:#786028; text-underline-offset:3px; }
.rev-callout { background:#f7f4ed; border-left:3px solid #d2a846; padding:20px 24px; margin:28px 0; }.rev-callout p { margin:8px 0 0; }
.rev-reflection,.rev-lesson-end { border-top:1px solid #d8c8a6; padding-top:28px; }.rev-reflection li { margin-bottom:15px; }
.rev-image-note { font-size:13px !important; color:#526367; margin-top:24px !important; }
.rev-series-entry { background:#fff; padding:38px 0; border-top:1px solid #d8c8a6; }
.rev-series-entry .rev-entry-grid { display:grid; grid-template-columns:1fr 1.15fr; background:#f7f4ed; border:1px solid #c8ad73; border-radius:10px; overflow:hidden; }
.rev-entry-grid > img { display:block; width:100%; height:100%; min-height:280px; object-fit:cover; }
.rev-entry-copy { padding:28px; }.rev-entry-copy h2 { color:#073f45; margin:10px 0 16px; font-size:clamp(1.8rem,2.6vw,2.2rem); line-height:1.3; }.rev-entry-copy p { line-height:1.7; margin:0 0 20px; }
@media(max-width:900px) { .rev-hero-copy { padding:32px 24px; }.rev-layout { grid-template-columns:1fr; gap:26px; }.rev-side { position:static; }.rev-side ol { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }.rev-roadmap-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:650px) { .rev-hero { display:flex; flex-direction:column; min-height:0; }.rev-hero-image { order:-1; min-height:0; height:auto; max-height:none; mask-image:none; }.rev-hero h1 { font-size:2rem; }.rev-hero-copy { padding:28px 20px; }.rev-hero p { font-size:16px; }.rev-crumbs { margin-bottom:18px; }.rev-overview,.rev-container,.rev-layout { width:calc(100% - 36px); }.rev-overview,.rev-layout { padding:30px 0; }.rev-roadmap { padding:30px 0; }.rev-roadmap-grid { grid-template-columns:1fr; }.rev-start-card { display:block; padding:22px; }.rev-start-card .rev-button { margin-top:20px; }.rev-side ol { display:block; }.rev-copy { font-size:17px; line-height:1.8; }.rev-copy .rev-lead { font-size:19px; }.rev-copy section { scroll-margin-top:110px; }.rev-series-entry .rev-entry-grid { grid-template-columns:1fr; }.rev-entry-grid > img { min-height:0; height:auto; }.rev-entry-copy { padding:22px; }.rev-actions > .rev-button { flex:1 1 220px; } }
@media print { .rev-hero-image,.rev-side,.rev-actions,.topbar,.site-header,.site-footer,#site-animation-toggle { display:none!important; }.rev-hero { display:block; min-height:0; background:white; color:black; }.rev-hero-copy { padding:0; }.rev-hero h1,.rev-hero .rev-eyebrow { color:black; }.rev-layout { display:block; width:100%; padding:20px 0; }.rev-copy { font-size:12pt; line-height:1.6; }.rev-copy h2 { break-after:avoid; } }

/* Compact banners, shared by the series overview and its lessons. */
@media(min-width:651px){
.rev-hero{height:320px;min-height:0;grid-template-columns:1.12fr 1fr;overflow:hidden;}
.rev-hero-copy{padding-top:24px;padding-bottom:24px;}
.rev-hero-image{height:320px;min-height:0;max-height:320px;object-fit:cover;}
.rev-crumbs{margin-bottom:12px;}
.rev-hero h1{font-size:clamp(28px,3vw,38px);margin:8px 0 12px;}
.rev-hero p{font-size:16px;line-height:1.5;margin-bottom:14px;}
.rev-hero .rev-button{padding:8px 14px;min-height:42px;}
}
@media(min-width:651px) and (max-width:900px){.rev-hero-copy{padding:18px 24px;}.rev-hero h1{font-size:28px;}.rev-hero p{font-size:15px;}.rev-crumbs{font-size:12px;}}
@media(max-width:650px){.rev-hero-image{height:190px;min-height:0;max-height:190px;object-fit:cover;}.rev-hero-copy{padding:24px 20px;}}
.rev-illustration{margin:28px 0 34px;}
.rev-illustration img{display:block;width:100%;height:auto;border-radius:10px;}
.rev-illustration figcaption{font-size:13px;line-height:1.6;color:#526367;padding:10px 2px 0;}
@media print{.rev-hero{height:auto;overflow:visible;}.rev-illustration{break-inside:avoid;}}
