:root {--ds-page:#fbfaf9;--ds-raised:#f4efec;--ds-ink:#251f21;--ds-ink-2:#585254;--ds-hairline:#eae9ea;--ds-teal:#73a89a}
*,*::before,*::after{box-sizing:border-box}
html{font-family:Arial,Helvetica,sans-serif;color:var(--ds-ink);line-height:1.6}
body{margin:0;padding:24px 16px;background:var(--ds-raised)}
a{color:inherit}
.file-card{max-width:1040px;width:100%;margin:auto;padding:36px;display:flex;flex-direction:column;gap:48px;background:var(--ds-page);border-radius:18px;box-shadow:0 6px 18px #251f210d;font-size:14px;line-height:1.7}
.file-card>*{min-width:0}
.file-photos img{display:block;width:100%;height:auto;max-height:700px;object-fit:cover;border-radius:6px}
.file-caption{margin:-36px 0 0;color:var(--ds-ink-2);font-size:12px}
.file-group{display:flex;flex-direction:column;gap:24px}
.file-group-heading{font:400 24px/1.2 Georgia,serif;margin:0}
.file-rows{display:flex;flex-direction:column}
.file-row{display:flex;gap:16px;align-items:start;padding:12px 0;border-bottom:1px solid var(--ds-hairline)}
.file-row:last-child{border:0}
.file-row-main{display:flex;flex:1;min-width:0;flex-direction:column}
.file-strong{font-weight:700}
.file-row-detail{color:var(--ds-ink-2)}
.file-row-value{flex:0 0 auto;color:var(--ds-teal);font-weight:700;text-align:right}
.file-p{margin:0}
.file-link{text-decoration:underline;text-underline-offset:3px}
.file-closing{color:var(--ds-ink-2);font-size:12px}
@media(max-width:767px){body{padding:16px 0}.file-card{padding:24px;gap:40px;border-radius:10px}.file-row{gap:8px}.file-row-value{max-width:85px}.file-photos img{max-height:none}}
html, body, #root { margin: 0; min-height: 100%; }
body { background: var(--ds-page); }

/* Reference look: warm bronze, cream, black bands, serif accents */
:root {
  --acad-bronze: #8c5a3c;
  --acad-bronze-dark: #6f452d;
  --acad-cream: #f6f1ea;
  --acad-black: #171210;
  --acad-gold: #d9a441;
  --acad-serif: Georgia, 'Times New Roman', serif;
}

.acad-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 12px;
  font-weight: 600;
  color: var(--acad-bronze);
  margin: 0 0 14px;
}

.acad-hero { text-align: center; padding: 8px 0 4px; }
.acad-hero h1 {
  font-size: clamp(30px, 9vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 14px;
  color: var(--ds-ink);
}
.acad-hero h1 .serif { font-family: var(--acad-serif); font-style: italic; font-weight: 400; color: var(--acad-bronze); }
.acad-hero .acad-sub {
  font-family: var(--acad-serif);
  font-style: italic;
  font-size: 18px;
  color: var(--ds-ink-2);
  margin: 0 auto 18px;
  max-width: 560px;
}
.acad-proof-line {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px;
  font-size: 13px; font-weight: 600; color: var(--ds-ink);
  margin: 0 0 8px;
}
.acad-proof-line .dot { color: var(--acad-bronze); }
.acad-stars { color: var(--acad-gold); letter-spacing: 2px; }

.acad-price-spot {
  font-family: var(--acad-serif);
  font-size: 22px;
  color: var(--ds-ink);
  text-align: center;
  margin: 18px 0 14px;
}
.acad-price-spot em { color: var(--acad-bronze); }

.acad-pill-row { display: flex; justify-content: center; margin: 6px 0 10px; }
a.acad-pill {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--acad-bronze); color: #fff !important;
  border-radius: 999px; padding: 13px 34px;
  font-size: 14px; font-weight: 600; letter-spacing: 0.04em;
  text-decoration: none; text-transform: uppercase;
  min-height: 44px;
}
a.acad-pill:hover { background: var(--acad-bronze-dark); }
.acad-pill-note { text-align: center; font-size: 12px; color: var(--ds-ink-2); margin: 0 0 6px; }

/* Bleed sections */
.acad-bleed { margin: 28px -24px 0; padding: 40px 24px; }
@media (min-width: 768px) { .acad-bleed { margin: 32px -36px 0; padding: 56px 36px; } }
.acad-cream { background: var(--acad-cream); }
.acad-black { background: var(--acad-black); color: #f3ece4; }

.acad-section-title {
  font-size: 26px; line-height: 1.2; letter-spacing: -0.01em;
  margin: 0 0 18px; color: var(--ds-ink);
  text-align: center; font-weight: 700;
}
.acad-section-title .serif { font-family: var(--acad-serif); font-style: italic; font-weight: 400; color: var(--acad-bronze); }
.acad-black .acad-section-title { color: #f3ece4; }

.acad-lead { max-width: 640px; margin: 0 auto 22px; text-align: center; color: var(--ds-ink); }
.acad-body { max-width: 620px; margin: 0 auto; }
.acad-body p { margin: 0 0 16px; }
.acad-body strong { font-weight: 700; }

.acad-list { max-width: 620px; margin: 0 auto; padding: 0; list-style: none; }
.acad-list li { margin: 0 0 14px; padding-left: 22px; position: relative; }
.acad-list li::before {
  content: ''; position: absolute; left: 0; top: 8px;
  width: 8px; height: 8px; border-radius: 50%; background: var(--acad-bronze);
}

.acad-quote-mark {
  font-family: var(--acad-serif);
  font-size: 120px; line-height: 0.6;
  color: var(--acad-cream); opacity: 0.9;
  text-align: center; margin: 10px 0 26px;
}
.acad-black .acad-body, .acad-black .acad-lead { color: #e9e1d7; }
.acad-black strong { color: #fff; }
.acad-dark-card {
  background: #241c17; border-radius: 16px;
  padding: 26px 24px; max-width: 680px; margin: 0 auto;
}

/* FAQ accordion */
.acad-faq { max-width: 720px; margin: 0 auto; }
.acad-faq details {
  background: var(--acad-cream); border-radius: 10px;
  margin: 0 0 12px; padding: 0;
}
.acad-faq summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 20px; font-weight: 600; color: var(--ds-ink);
  min-height: 44px;
}
.acad-faq summary::-webkit-details-marker { display: none; }
.acad-faq summary::after {
  content: '+'; flex: 0 0 auto;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--acad-bronze); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 400;
}
.acad-faq details[open] summary::after { content: '–'; }
.acad-faq .acad-faq-body { padding: 0 20px 18px; color: var(--ds-ink); }
.acad-faq .acad-faq-body p { margin: 0 0 10px; }

/* Why cards */
.acad-cards { display: grid; grid-template-columns: 1fr; gap: 14px; max-width: 900px; margin: 0 auto; }
@media (min-width: 768px) { .acad-cards { grid-template-columns: repeat(3, 1fr); } }
.acad-card {
  border: 1px solid var(--ds-hairline); border-radius: 14px;
  padding: 26px 20px; text-align: center; background: #fff;
}
.acad-card .glyph { font-size: 34px; line-height: 1; color: var(--acad-bronze); margin-bottom: 14px; }
.acad-card .card-title {
  text-transform: uppercase; font-size: 13px; font-weight: 700;
  letter-spacing: 0.05em; color: var(--ds-ink); margin: 0 0 8px;
}
.acad-card .card-sub { font-size: 13px; color: var(--ds-ink-2); margin: 0; }

.acad-center { text-align: center; }

/* Flush stacking, like the reference's continuous bands */
.acad-bleed + .acad-bleed { margin-top: 0; }

/* Author byline + equal-weight author cards */
.acad-byline {
  font-family: var(--acad-serif);
  font-size: 16px; font-style: italic;
  color: var(--acad-bronze);
  margin: 0 0 16px; text-align: center;
}
.acad-byline strong { color: var(--ds-ink); font-weight: 600; font-style: normal; }
.acad-cream .acad-byline, .acad-black .acad-byline { text-align: center; }

.acad-authors { display: grid; grid-template-columns: 1fr; gap: 14px; max-width: 900px; margin: 0 auto; }
@media (min-width: 768px) { .acad-authors { grid-template-columns: 1fr 1fr; } }
.acad-author {
  border: 1px solid var(--ds-hairline); border-radius: 14px;
  padding: 28px 24px; text-align: center; background: #fff;
}
.acad-author-name { font-size: 20px; font-weight: 700; color: var(--ds-ink); margin: 0 0 8px; }
.acad-author-name .serif { font-family: var(--acad-serif); font-style: italic; font-weight: 400; color: var(--acad-bronze); }
.acad-author-role {
  text-transform: uppercase; font-size: 12px; font-weight: 700;
  letter-spacing: 0.05em; color: var(--acad-bronze); margin: 0 0 12px;
}
.acad-author-bio { font-size: 14px; color: var(--ds-ink-2); margin: 0; }

/* Launch-stage visual refresh: movement, depth and clearer chapter rhythm. */
.file-card { max-width: 1100px; gap: 42px; overflow: hidden; background: #fffdfa; }
.acad-hero {
  position: relative; isolation: isolate; overflow: hidden;
  margin: -36px -36px 0; padding: 68px 32px 48px;
  background: radial-gradient(ellipse at 74% 5%, rgba(217,164,65,.20),transparent 42%),
              radial-gradient(ellipse at 8% 93%, rgba(140,90,60,.12),transparent 46%),
              linear-gradient(155deg,#fffdfa,#f4ebdf 75%,#f8f4ee);
  border-bottom: 1px solid rgba(140,90,60,.16);
}
.acad-hero::before,.acad-hero::after { content:"";position:absolute;z-index:-1;border:1px solid rgba(140,90,60,.12);border-radius:50%;pointer-events:none; }
.acad-hero::before { width:650px;height:650px;right:-370px;top:-360px; }
.acad-hero::after { width:550px;height:550px;left:-430px;bottom:-410px; }
.acad-hero h1 { font-size:clamp(36px,6vw,66px);font-weight:800;letter-spacing:-.055em; }
.acad-hero .acad-sub {font-size:clamp(18px,2.3vw,22px);line-height:1.55;max-width:660px;}
.acad-hero .acad-byline {font-size:18px;margin-top:24px;}
.acad-proof-line {max-width:820px;margin:28px auto 0;gap:7px 17px;line-height:1.5;}
.acad-proof-line>span:not(.dot) {display:inline-block;}
.file-photos { position:relative; width:min(100%,940px);align-self:center;margin:-10px auto 0; }
.file-photos img {border-radius:14px;box-shadow:0 24px 50px -28px rgba(54,32,21,.40);}
.file-caption {text-align:center; margin:-28px auto 0;}
.acad-price-spot {font-size:28px;margin:9px 0 0;}
a.acad-pill {box-shadow:0 9px 22px rgba(111,69,45,.20);transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}
a.acad-pill:hover,a.acad-pill:focus-visible {transform:translateY(-3px);box-shadow:0 15px 26px rgba(111,69,45,.27);}
.acad-section-title {font-size:clamp(28px,3.3vw,38px);letter-spacing:-.035em;}
.acad-cream {background:linear-gradient(155deg,#f8f4ed,#efe6da);}
.acad-list {max-width:750px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;}
.acad-list li {margin:0;padding:24px 22px 24px 31px;background:rgba(255,255,255,.73);border:1px solid rgba(140,90,60,.12);border-radius:12px;box-shadow:0 7px 26px rgba(58,33,20,.04);}
.acad-list li::before {left:15px;top:32px;width:6px;height:6px;}
.acad-black {background:radial-gradient(circle at 8% 2%,#483125,#171210 54%);}
.acad-author {box-shadow:0 12px 32px rgba(41,24,16,.06);border-color:rgba(140,90,60,.16);border-top:4px solid var(--acad-bronze);}
.acad-faq details {border:1px solid rgba(140,90,60,.12);transition:background .2s ease;}
.acad-faq details:hover {background:#eee2d4;}
@media (max-width:767px) {
 .file-card {padding:24px;gap:38px;}
 .acad-hero {margin:-24px -24px 0;padding:57px 23px 41px;}
 .acad-hero h1 {font-size:clamp(32px,9.5vw,40px);}
 .acad-hero .acad-sub {font-size:19px;}
 .acad-hero .acad-byline {font-size:16px;}
 .acad-proof-line {margin-top:23px;gap:5px 10px;}
 .acad-proof-line .dot {display:none;}
 .acad-proof-line>span:not(.dot) {width:100%;}
 .file-photos {margin:-9px auto 0;}
 .file-caption {margin:-26px auto 0;}
 .acad-list {grid-template-columns:1fr;}
 .acad-price-spot {font-size:25px;}
}
@media (prefers-reduced-motion:no-preference) {
 .file-photos img {animation:book-appear .75s ease-out both;transition:transform .35s ease,box-shadow .35s ease;}
 .file-photos img:hover {transform:translateY(-5px) rotate(-.35deg);box-shadow:0 30px 58px -25px rgba(54,32,21,.48);}
 @keyframes book-appear {from {opacity:.65;transform:translateY(12px)}to {opacity:1;transform:none}}
}

/* Blue-hour medical visual system, September 28 private proposal. Source copy unchanged. */
:root {
 --ds-page:#f8fbff; --ds-raised:#f8fbff; --ds-ink:#132d50; --ds-ink-2:#48617d;
 --ds-hairline:#dce9f6; --ds-teal:#0787b5;
 --acad-bronze:#126cbb;--acad-bronze-dark:#0a4b91;
 --acad-cream:#edf6ff;--acad-black:#0a2146;--acad-gold:#f78dba;
}
html{scroll-behavior:smooth}
body{background:#f3f8ff}
.file-card {background:#fff;box-shadow:0 24px 75px rgba(23,79,147,.12);border:1px solid #e0ecfa}
.acad-hero {
 background:radial-gradient(circle at 79% 13%,rgba(232,75,166,.2),transparent 29%),radial-gradient(circle at 17% 78%,rgba(40,172,231,.3),transparent 39%),linear-gradient(143deg,#f9fdff 10%,#e6f2ff 56%,#f9f3ff 100%);
 border-bottom:1px solid rgba(67,136,201,.16);padding-top:77px;padding-bottom:62px;
}
.acad-hero::before {border:1px solid rgba(14,130,206,.16)}
.acad-hero::after {border:1px solid rgba(116,79,193,.15)}
.acad-eyebrow {color:#1169ad;background:rgba(255,255,255,.79);border:1px solid #bad7f0;padding:6px 16px;border-radius:999px;display:inline-block;font-weight:800;letter-spacing:.16em}
.acad-hero h1 {color:#12345e;font-size:clamp(37px,6.8vw,76px);font-weight:900;letter-spacing:-.067em;overflow-wrap:anywhere;text-shadow:0 3px 30px rgba(255,255,255,.65)}
.acad-hero h1 .serif {font:inherit;font-style:normal;color:#126fbc;background:linear-gradient(115deg,#028fd0,#665cba 55%,#df5aaf);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.acad-hero .acad-sub{font-family:Arial,Helvetica,sans-serif;font-style:normal;color:#385575;font-weight:500}
.acad-hero .acad-byline{font-family:Arial,Helvetica,sans-serif;font-style:normal;color:#234d79}
.acad-hero .acad-byline strong{color:#12345e}
.acad-proof-line{color:#2d5276}
.acad-stars {color:#e356a1}
.acad-proof-line .dot {color:#6a73be}
.file-photos{margin:-28px auto 0;max-width:950px}
.file-photos img{border-radius:16px;box-shadow:0 32px 65px -31px rgba(19,67,148,.3)}
.file-caption{color:#566b88}
.acad-price-spot{font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.03em}
.acad-price-spot em {font-style:normal;color:#1375c1}
a.acad-pill{background:linear-gradient(112deg,#087cbd,#535bb6 68%,#a64fa8);box-shadow:0 12px 27px rgba(42,88,179,.21);font-weight:800;letter-spacing:.055em}
a.acad-pill:hover,a.acad-pill:focus-visible{background:linear-gradient(112deg,#0564a3,#454798 68%,#8a3d8c);box-shadow:0 16px 31px rgba(42,88,179,.3)}
.acad-cream{background:linear-gradient(155deg,#f4faff,#e7f2ff 68%,#f9f1ff)}
.acad-bleed:not(.acad-cream):not(.acad-black){background:linear-gradient(135deg,#fff 35%,#f8fbff)}
.acad-section-title {color:#12345e;font-weight:850}
.acad-section-title .serif,.acad-author-name .serif{font-family:inherit;font-style:normal;font-weight:inherit;color:#2174bf}
.acad-list li{background:rgba(255,255,255,.88);border:1px solid #d9e9fa;box-shadow:0 8px 28px rgba(29,82,152,.07);border-top:3px solid #64a9e3}
.acad-list li:nth-child(3n+2){border-top-color:#8175c9}
.acad-list li:nth-child(3n){border-top-color:#dc81ba}
.acad-list li::before{background:#157dbe}
.acad-black{background:radial-gradient(circle at 88% 0%,rgba(138,69,181,.44),transparent 36%),radial-gradient(circle at 10% 100%,rgba(3,132,190,.4),transparent 43%),linear-gradient(135deg,#091c40,#153361);color:#eff7ff}
.acad-black .acad-section-title,.acad-black .acad-lead,.acad-black .acad-body{color:#eff7ff}
.acad-black .acad-section-title .serif{color:#b4dcff}
.acad-quote-mark{color:#91c8f8}
.acad-dark-card{background:rgba(10,29,69,.75);border:1px solid rgba(187,217,255,.23);box-shadow:0 20px 60px rgba(6,15,48,.19)}
.acad-faq details{background:#f0f7ff;border:1px solid #d8e9f9}
.acad-faq details:hover{background:#e4f1ff}
.acad-faq summary::after{background:#207cbe}
.acad-author {border:1px solid #d8e7f7;border-top:4px solid #3b95d4;box-shadow:0 17px 37px rgba(30,79,154,.11);text-align:left;background:linear-gradient(160deg,#fff,#f6fbff)}
.acad-author:nth-child(2){border-top-color:#8b72c5}
.acad-author-name{font-size:23px}
.acad-author-role{color:#2569a7}
.file-group{padding:22px 0}
.file-group-heading{color:#153b66;font-family:Arial,Helvetica,sans-serif;font-weight:800}
.file-row{border-color:#d9e8f6;padding:17px 0}
.file-row-value{color:#147ba8}
.file-closing{border-top:1px solid #dae9f9;padding-top:18px}
@media(max-width:767px){.acad-hero{padding:56px 16px 42px}.acad-hero h1{font-size:clamp(28px,8.1vw,39px);letter-spacing:-.065em;overflow-wrap:normal}.file-photos{margin:-16px auto 0}.acad-author{text-align:left}.file-card{border:0}.acad-list li{padding-right:16px}.file-row{flex-wrap:wrap}.file-row-value{text-align:left}}
@media(prefers-reduced-motion:no-preference){.file-photos img:hover{box-shadow:0 38px 72px -28px rgba(18,66,143,.38)}}
