/* ── v3 · joint site: book + CMIO, LLC + Exam Room + Institute ──────────────
   Layered on site.css (v2.1 palette). Night navy, book blue, gold, warm paper. */
:root{--seam:#C9A02C;--duo-a:#0F3452;--duo-b:#16486F;--ease:cubic-bezier(.2,.7,.2,1)}

/* header additions */
.util{display:flex;gap:6px;align-items:center;margin-left:8px}
.util a{font-size:13px;color:var(--muted);text-decoration:none;padding:6px 8px;border-radius:6px}
.util a:hover{color:var(--blue);background:rgba(22,72,111,.07)}
.util .li{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:6px;padding:0}
.util .li svg{width:15px;height:15px}
@media (max-width:980px){.util{display:none}}

/* ── Split landing ─────────────────────────────────────── */
.split{position:relative;display:flex;min-height:min(88vh,860px);overflow:hidden;isolation:isolate}
.pane{position:relative;flex:1 1 50%;display:flex;align-items:center;transition:flex-grow .6s var(--ease);min-width:0}
.pane-in{position:relative;z-index:2;padding:72px clamp(24px,5vw,72px);max-width:640px;display:grid;gap:22px}
.pane.book{background:radial-gradient(900px 600px at 20% 10%,#1d5a89 0%,transparent 60%),linear-gradient(160deg,#16486F 0%,#0F3452 55%,#07182B 100%);color:#E9F0F8;justify-content:flex-end}
.pane.firm{background:linear-gradient(180deg,#FBFAF6 0%,#F1ECE1 100%);color:var(--ink);justify-content:flex-start}
@media (hover:hover) and (min-width:981px){.split:hover .pane{flex-grow:.8}.split .pane:hover{flex-grow:1.2}}
.pane .kicker{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.pane.book .kicker{color:var(--gold)}
.pane.firm .kicker{color:var(--gold-deep)}
.pane h1{font-size:clamp(40px,4.6vw,66px);line-height:1.02}
.pane.book h1{color:#fff}
.pane.book h1 em{font-style:italic;color:var(--gold)}
.pane.firm h1 em{font-style:italic;color:var(--blue)}
.pane p.sub{font-size:18px;max-width:40ch}
.pane.book p.sub{color:#C9D6E6}
.pane.firm p.sub{color:var(--muted)}
.pane .row-actions{display:flex;flex-wrap:wrap;gap:10px}
.book-stage{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}
.cover3d{width:clamp(130px,13vw,190px);aspect-ratio:2/3;border-radius:3px 8px 8px 3px;box-shadow:-18px 30px 50px -18px rgba(0,0,0,.7),inset 4px 0 8px rgba(255,255,255,.18);transform:perspective(900px) rotateY(-16deg) rotateX(3deg);transition:transform .7s var(--ease);background:#0b2640 center/cover}
.pane.book:hover .cover3d{transform:perspective(900px) rotateY(-4deg) rotateX(0)}
.countdown{display:flex;gap:10px}
.countdown div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:8px 12px;min-width:64px;text-align:center}
.countdown b{display:block;font-family:var(--serif);font-size:30px;line-height:1;color:#fff}
.countdown span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9FB3C8}
.portrait{display:flex;gap:16px;align-items:center}
.portrait img{width:78px;height:78px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--gold)}
.portrait b{font-family:var(--serif);font-size:22px;display:block}
.portrait small{color:var(--muted);font-size:13px}
.seam{position:absolute;inset:auto 0 7%;height:60px;z-index:1;pointer-events:none}
.seam path{stroke:var(--seam);stroke-width:2;fill:none;stroke-dasharray:1400;stroke-dashoffset:1400;animation:trace 3.4s var(--ease) .4s forwards}
@keyframes trace{to{stroke-dashoffset:0}}
.split-label{position:absolute;top:18px;z-index:4;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.pane.book .split-label{left:24px;color:#9FB3C8}.pane.firm .split-label{right:24px;color:var(--muted)}
@media (max-width:980px){.split{flex-direction:column;min-height:0}.pane{justify-content:flex-start!important}.pane-in{padding:56px 24px}.seam{display:none}.book-stage{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.seam path{animation:none;stroke-dashoffset:0}.cover3d,.pane{transition:none}}

/* ── The path (funnel) ─────────────────────────────────── */
.path{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:step;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--white)}
.path a{position:relative;display:grid;gap:8px;padding:26px 24px 28px;text-decoration:none;color:var(--ink);border-left:1px solid var(--line);transition:background .25s}
.path a:first-child{border-left:0}
.path a:hover{background:#FBF8F0}
.path a::before{counter-increment:step;content:"0" counter(step);font-family:var(--mono);font-size:12px;color:var(--gold-deep);letter-spacing:.14em}
.path a::after{content:"";position:absolute;right:-9px;top:50%;width:16px;height:16px;background:var(--white);border-top:1px solid var(--line);border-right:1px solid var(--line);transform:translateY(-50%) rotate(45deg);z-index:2}
.path a:last-child::after{display:none}
.path b{font-family:var(--serif);font-size:24px;line-height:1.1}
.path span{font-size:14.5px;color:var(--muted)}
.path i{font-style:normal;font-size:13px;font-weight:600;color:var(--blue);margin-top:4px}
@media (max-width:860px){.path{grid-template-columns:1fr 1fr}.path a:nth-child(3){border-left:0}.path a:nth-child(n+3){border-top:1px solid var(--line)}.path a::after{display:none}}
@media (max-width:520px){.path{grid-template-columns:1fr}.path a{border-left:0;border-top:1px solid var(--line)}.path a:first-child{border-top:0}}

/* ── Duotone book imagery ──────────────────────────────── */
.duo{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--duo-b),var(--duo-a))}
.duo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(1.05);mix-blend-mode:luminosity;opacity:.88;transition:transform .8s var(--ease),opacity .4s}
.duo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,43,0) 30%,rgba(7,24,43,.78) 100%)}
a:hover .duo img{transform:scale(1.04);opacity:1}

/* chapter card rail */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,300px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:thin}
.rail>*{scroll-snap-align:start}
.chcard{display:grid;grid-template-rows:150px auto;border-radius:12px;overflow:hidden;background:var(--white);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s}
.chcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}
.chcard .duo{height:150px}
.chcard .num{position:absolute;left:14px;bottom:10px;z-index:2;font-family:var(--serif);font-size:44px;line-height:1;color:#fff}
.chcard .st{position:absolute;right:12px;top:12px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:rgba(7,24,43,.6);color:#fff;padding:4px 8px;border-radius:99px;border:1px solid rgba(255,255,255,.25)}
.chcard .st.done{background:var(--gold);color:var(--night);border-color:var(--gold)}
.chcard .body{padding:16px 18px 18px;display:grid;gap:6px}
.chcard .body b{font-family:var(--serif);font-size:21px;line-height:1.15}
.chcard .body small{font-size:13px;color:var(--muted)}
.chgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}

/* progress */
.progress{display:grid;gap:10px}
.progress .bar{height:10px;border-radius:99px;background:var(--paper-2);overflow:hidden;border:1px solid var(--line)}
.progress .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#E0BE55);transition:width .8s var(--ease)}
.progress .dots{display:grid;grid-template-columns:repeat(17,1fr);gap:4px}
.progress .dots i{height:6px;border-radius:3px;background:var(--line)}
.progress .dots i.on{background:var(--gold)}

/* part header */
.parthead{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:end;margin:56px 0 20px}
.parthead .duo{height:120px;border-radius:12px}
.parthead h3{font-size:clamp(26px,2.6vw,34px)}
@media (max-width:760px){.parthead{grid-template-columns:1fr}}

/* ── Chapter tool ──────────────────────────────────────── */
.chhero{position:relative;min-height:340px;display:flex;align-items:flex-end;color:#fff}
.chhero .duo{position:absolute;inset:0}
.chhero .duo::after{background:linear-gradient(180deg,rgba(7,24,43,.25) 0%,rgba(7,24,43,.88) 100%)}
.chhero .wrap{position:relative;z-index:2;padding-block:42px;display:grid;gap:12px;width:100%}
.chhero .crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#C9D6E6}
.chhero .crumbs a{color:#C9D6E6;text-decoration:none}.chhero .crumbs a:hover{color:#fff}
.chhero h1{font-size:clamp(36px,5vw,64px);color:#fff;max-width:20ch}
.chhero .big{position:absolute;right:24px;bottom:-30px;font-family:var(--serif);font-size:clamp(120px,16vw,220px);line-height:1;color:rgba(255,255,255,.1);z-index:1;pointer-events:none}
.examgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
@media (max-width:980px){.examgrid{grid-template-columns:1fr}}
.lesion{border-left:3px solid var(--gold);padding:4px 0 4px 18px;display:grid;gap:8px}
.lesion p{font-size:17.5px;color:var(--ink)}
.figcard{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:zoom-in;text-align:left;font:inherit;color:inherit;width:100%}
.figcard img{width:120px;height:150px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--line)}
.figcard b{font-family:var(--serif);font-size:20px;display:block}
.figcard small{color:var(--muted)}
.qlist{display:grid;gap:14px;counter-reset:q}
.qitem{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:grid;gap:14px;transition:border-color .25s,box-shadow .25s}
.qitem.answered{border-color:#CFC4A6}
.qitem .qt{display:grid;grid-template-columns:34px 1fr;gap:12px}
.qitem .qt::before{counter-increment:q;content:counter(q);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--paper-2);font-family:var(--mono);font-size:13px;color:var(--gold-deep)}
.qitem.answered .qt::before{background:var(--night);color:var(--gold)}
.qitem p{font-size:16.5px;color:var(--ink)}
.scale{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-left:46px}
.scale button{font:inherit;font-size:14px;font-weight:500;padding:10px 8px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;transition:all .2s}
.scale button:hover{border-color:var(--blue)}
.scale button[aria-pressed="true"][data-v="2"]{background:var(--ok);border-color:var(--ok);color:#fff}
.scale button[aria-pressed="true"][data-v="1"]{background:var(--warn);border-color:var(--warn);color:#fff}
.scale button[aria-pressed="true"][data-v="0"]{background:var(--crit);border-color:var(--crit);color:#fff}
.qnote{margin-left:46px}
.qnote summary{cursor:pointer;font-size:13px;color:var(--blue);font-weight:500}
.qnote textarea{margin-top:8px;min-height:70px;font-size:14px}
@media (max-width:560px){.scale,.qnote{margin-left:0}}
.dash{position:sticky;top:88px;background:linear-gradient(170deg,#16486F,#0F3452 60%,#07182B);color:#E9F0F8;border-radius:16px;padding:26px;display:grid;gap:16px;box-shadow:var(--shadow)}
.ring{position:relative;width:170px;height:170px;margin:0 auto}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:12}
.ring .track{stroke:rgba(255,255,255,.12)}
.ring .val{stroke:var(--gold);stroke-linecap:round;stroke-dasharray:452;stroke-dashoffset:452;transition:stroke-dashoffset .8s var(--ease),stroke .4s}
.ring .lbl{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.ring .lbl b{font-family:var(--serif);font-size:48px;line-height:1;color:#fff}
.ring .lbl small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9FB3C8;margin-top:4px}
.dash .band{justify-self:center}
.dash .reading{color:#C9D6E6;font-size:15px;text-align:center}
.dash .match{border-top:1px solid rgba(255,255,255,.14);padding-top:14px;display:grid;gap:4px}
.dash .match b{font-family:var(--serif);font-size:21px;color:#fff}
.dash .match span{font-size:13.5px;color:#9FB3C8}
.dash .acts{display:grid;gap:8px}
.dash .btn-line{border-color:rgba(255,255,255,.35);color:#fff}
.dash .note{font-size:12px;color:#8FA4BA;text-align:center}
.chnav{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:10px}
.chnav a{text-decoration:none;display:grid;gap:2px;max-width:48%}
.chnav small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.chnav b{font-family:var(--serif);font-size:20px}
.chnav a:last-child{text-align:right}

/* lightbox */
dialog.lb{border:0;padding:0;background:transparent;max-width:min(92vw,760px);max-height:92vh}
dialog.lb::backdrop{background:rgba(7,24,43,.82);backdrop-filter:blur(3px)}
dialog.lb img{max-height:88vh;width:auto;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
dialog.lb button{position:absolute;top:8px;right:8px;background:#fff;border:0;border-radius:50%;width:36px;height:36px;font-size:20px;cursor:pointer}

/* chart page */
.chart-row{display:grid;grid-template-columns:48px 1fr 140px 90px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.chart-row .n{font-family:var(--serif);font-size:26px;color:var(--gold-deep)}
.chart-row .t a{font-weight:600;text-decoration:none;color:var(--ink)}
.chart-row .mini{height:8px;border-radius:99px;background:var(--paper-2);overflow:hidden}
.chart-row .mini i{display:block;height:100%}
.chart-row .p{font-family:var(--mono);font-size:13px;text-align:right}
@media (max-width:640px){.chart-row{grid-template-columns:36px 1fr 70px}.chart-row .mini{display:none}}

/* institute */
.tracks{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--white)}
.tracks>div{padding:24px 20px;border-left:1px solid var(--line);display:grid;gap:10px;align-content:start;position:relative}
.tracks>div:first-child{border-left:0}
.tracks .lvl{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.tracks b{font-family:var(--serif);font-size:24px;line-height:1.1}
.tracks p{font-size:14.5px;color:var(--muted)}
.tracks .fmt{font-size:12.5px;color:var(--blue);font-weight:600}
.tracks>div::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--gold);opacity:var(--o,.2)}
@media (max-width:980px){.tracks{grid-template-columns:1fr 1fr}.tracks>div{border-top:1px solid var(--line)}}
@media (max-width:560px){.tracks{grid-template-columns:1fr}}
.modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.modules div{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:4px}
.modules small{font-family:var(--mono);font-size:11px;color:var(--gold-deep);letter-spacing:.1em}
.modules b{font-size:15px;line-height:1.3}
.modules span{font-size:12px;color:var(--muted)}

/* locked area */
.lock{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;background:var(--white);border:1px dashed #C9BC98;border-radius:14px;padding:26px}
.lock svg{width:44px;height:44px;color:var(--gold-deep)}
.gated{position:relative;filter:blur(3px);opacity:.55;pointer-events:none;user-select:none}

/* timeline */
.tl{display:grid;gap:0;border-left:2px solid var(--line);margin-left:8px}
.tl div{position:relative;padding:0 0 22px 24px;display:grid;gap:2px}
.tl div::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--gold)}
.tl small{font-family:var(--mono);font-size:12px;color:var(--gold-deep)}
.tl b{font-size:16px}
.tl span{font-size:14.5px;color:var(--muted)}

/* marquee endorsements */
.praise-band{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.praise-band blockquote{margin:0;padding:22px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);display:grid;gap:12px}
.praise-band p{font-family:var(--serif);font-size:21px;line-height:1.3;color:#fff}
.praise-band cite{font-style:normal;font-size:13px;color:#9FB3C8}
@media (max-width:860px){.praise-band{grid-template-columns:1fr}}

/* editions */
.eds{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.eds .card{display:grid;gap:10px;align-content:start}
.eds .fmt{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
@media (max-width:900px){.eds{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.eds{grid-template-columns:1fr}}

/* connect band */
.connect{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.connect a{display:grid;gap:4px;padding:18px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.16);text-decoration:none;color:#fff;background:rgba(255,255,255,.04);transition:background .25s,border-color .25s}
.connect a:hover{background:rgba(255,255,255,.09);border-color:var(--gold);color:#fff}
.connect small{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.connect b{font-size:16px}
@media (max-width:860px){.connect{grid-template-columns:1fr 1fr}}

.disclaim{font-size:13px;color:var(--muted);background:var(--paper-2);border-radius:10px;padding:12px 16px}
.pill{display:inline-flex;gap:6px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:99px;border:1px solid var(--line);color:var(--muted);background:var(--white)}
.pill.live{border-color:var(--ok);color:var(--ok)}
.pill.live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.matrix{width:100%;border-collapse:collapse;font-size:14px}
.matrix th,.matrix td{border:1px solid var(--line);padding:10px 12px;vertical-align:top;text-align:left;background:var(--white)}
.matrix th{background:var(--paper-2);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.toggle{display:inline-flex;border:1px solid var(--line);border-radius:99px;padding:3px;background:var(--white)}
.toggle button{font:inherit;font-size:14px;border:0;background:transparent;padding:8px 16px;border-radius:99px;cursor:pointer;color:var(--muted)}
.toggle button[aria-pressed="true"]{background:var(--night);color:#fff}
@media print{.site-header,.site-footer,.dash .acts,.chnav,.qnote summary,.no-print{display:none!important}.dash{position:static;box-shadow:none}.qnote[open] textarea{border:0}}

.toc{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.toc a{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:8px 6px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:15.5px;line-height:1.35}
.toc a:hover{background:var(--paper-2);color:var(--blue)}
.toc span{font-family:var(--serif);font-size:20px;color:var(--gold-deep);line-height:1}
.tool-card .go{color:var(--blue);font-weight:600;font-size:14px}
/* v3 fixes */
.site-header .nav{gap:14px}
.menu{gap:2px}
.menu a{white-space:nowrap;font-size:15px;padding:8px 10px}
.brand span{white-space:nowrap}
@media (max-width:1180px) and (min-width:981px){.brand small{display:none}.menu a{padding:8px 7px;font-size:14.5px}}
.pane.book h1{font-size:clamp(38px,3.8vw,58px)}
.pane.book .btn-line{color:#fff;border-color:rgba(255,255,255,.4)}
.pane.book .btn-line:hover{border-color:var(--gold);color:#fff}
.seam path{stroke-dasharray:2200;stroke-dashoffset:2200}
.section.deep .lede,.deep .tl span{color:#C9D6E6}
.deep .tl b{color:#fff}.deep .tl small{color:var(--gold)}.deep .tl div::before{background:#0F3452}
.deep label{color:#E9F0F8}

/* ── 9/24 iteration ─────────────────────────────────────── */
/* full-color book imagery (replaces the duotone) */
.duo img{filter:none;mix-blend-mode:normal;opacity:1}
.duo::after{background:linear-gradient(180deg,rgba(7,24,43,0) 45%,rgba(7,24,43,.72) 100%)}
.chhero .duo::after{background:linear-gradient(90deg,rgba(7,24,43,.86) 0%,rgba(7,24,43,.55) 55%,rgba(7,24,43,.15) 100%)}
.parthead .duo::after{background:linear-gradient(180deg,rgba(7,24,43,0),rgba(7,24,43,.25))}
/* living cover: a slow float, a glow that beats like a pulse, and a light sweep */
.cover-live{position:relative;display:block;flex:none;width:clamp(140px,13vw,196px);aspect-ratio:2/3;border-radius:3px 6px 6px 3px;overflow:hidden;border:0;padding:0;background:#0b2640;box-shadow:0 34px 60px -22px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.08);animation:float 7s ease-in-out infinite;isolation:isolate}
.cover-live img{width:100%;height:100%;object-fit:cover}
.cover-live::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.12) 3%,transparent 7%)}
.cover-live::after{content:"";position:absolute;inset:-40% -60%;z-index:3;background:linear-gradient(110deg,transparent 44%,rgba(255,244,214,.38) 50%,transparent 56%);transform:translateX(-70%);animation:sheen 7s ease-in-out 1.4s infinite}
.book-stage{position:relative}
.book-stage::before{content:"";position:absolute;left:-30px;top:-20px;width:calc(clamp(140px,13vw,196px) + 60px);aspect-ratio:1/1.5;border-radius:50%;background:radial-gradient(closest-side,rgba(201,160,44,.45),rgba(46,134,222,.15) 60%,transparent);filter:blur(14px);animation:pulse 2.4s ease-in-out infinite;z-index:0;pointer-events:none}
.book-stage>*{position:relative;z-index:1}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes sheen{0%{transform:translateX(-70%)}28%,100%{transform:translateX(70%)}}
@keyframes pulse{0%,100%{opacity:.55;transform:scale(1)}12%{opacity:.95;transform:scale(1.05)}24%{opacity:.6;transform:scale(1)}36%{opacity:.85;transform:scale(1.03)}}
@media (prefers-reduced-motion:reduce){.cover-live,.cover-live::after,.book-stage::before{animation:none}}
.pane .blurb{font-size:15.5px;line-height:1.6;max-width:52ch}
.pane.book .blurb{color:#DCE6F2;border-left:2px solid var(--gold);padding-left:14px}
.pane.firm h1{font-size:clamp(34px,3.6vw,54px)}
.pane.firm .sub{font-size:17px;max-width:46ch}
/* footer brand legibility */
.site-footer .brand span{white-space:normal}
.site-footer .brand small{color:#9FB3C8;display:block;max-width:30ch;line-height:1.35;margin-top:2px}
.site-footer .brand b{color:#fff}
/* Seven P's */
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.pcard{display:grid;grid-template-columns:52px 1fr;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px 18px 20px}
.pcard .pl{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--night);color:var(--gold);font-family:var(--serif);font-size:28px;font-weight:700}
.pcard b{font-family:var(--serif);font-size:24px;display:block;line-height:1.1}
.pcard small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin:4px 0 8px}
.pcard p{font-size:15px;color:var(--muted)}
/* the four tiers */
.tierbar{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tierbar a{display:grid;grid-template-columns:70px 1fr;grid-template-rows:auto auto;column-gap:14px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);text-decoration:none;color:#fff;transition:background .25s,border-color .25s}
.tierbar a:hover{background:rgba(255,255,255,.1);border-color:var(--gold);color:#fff}
.tierbar i{grid-row:span 2;font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);align-self:center}
.tierbar b{font-family:var(--serif);font-size:22px;line-height:1.1}
.tierbar span{font-size:13px;color:#9FB3C8}
.tierrow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:900px){.tierrow{grid-template-columns:1fr}}
.tierhead{position:relative;display:grid;gap:14px;justify-items:start}
.tiernum{font-family:var(--serif);font-size:110px;line-height:.8;color:var(--gold);opacity:.35}
.deep .tiernum{opacity:.5}
.tiercard{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;gap:12px}
.tiercard.dark{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);color:#E9F0F8}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ticks li{position:relative;padding-left:28px;font-size:15.5px;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:2px;top:7px;width:12px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.ticks b{display:block;font-size:16px}
.tiercard.dark b{color:#fff}
.exams{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.exams>div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:6px;scroll-margin-top:100px}
.exams>div:target,.ticks li:target{outline:2px solid var(--gold);outline-offset:3px;border-radius:12px}
.exams small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
.exams b{font-family:var(--serif);font-size:22px;line-height:1.1}
.exams span{font-size:14.5px;color:var(--muted)}
.exams em{font-style:normal;font-size:12.5px;color:var(--blue);font-weight:600}
.seam{inset:auto 0 2.5%}
.exams{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.exams{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.exams{grid-template-columns:1fr}}
/* 9/24 pm: forms, attachments, sign-in, firm banner */
.req,.opt{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-left:6px;font-weight:500}
.req{color:var(--crit)}.opt{color:var(--muted)}
.deep .opt{color:#9FB3C8}
.attach{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;background:var(--white);padding:14px 16px;display:grid;gap:8px}
.attach-head{display:flex;justify-content:space-between;align-items:center}
.attach pre{margin:0;max-height:260px;overflow:auto;white-space:pre-wrap;font-family:var(--mono);font-size:12.5px;line-height:1.5;color:var(--ink);background:var(--paper);border-radius:8px;padding:10px 12px}
.linkbtn{background:none;border:0;color:var(--blue);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}
.veil{position:relative;border-radius:14px;overflow:hidden}
.veil .tracks{filter:blur(2.5px);opacity:.55;pointer-events:none;user-select:none}
.veil-panel{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;background:linear-gradient(180deg,rgba(247,245,240,.35),rgba(247,245,240,.85));padding:20px}
.veil-panel svg{width:34px;height:34px;color:var(--gold-deep)}
.veil-panel b{font-family:var(--serif);font-size:26px}
.veil-panel span{color:var(--muted);font-size:15px}
@media (max-width:980px){.veil .tracks{max-height:420px}}
.signin-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:24px;display:grid;gap:14px;color:#E9F0F8}
.signin-card label{color:#E9F0F8}
.firm-banner{width:100%;max-width:560px;border-radius:10px;box-shadow:0 18px 40px -18px rgba(7,24,43,.45);aspect-ratio:4/1;object-fit:cover}
.pane.firm .pane-in{max-width:680px}
.portrait img{width:124px;height:124px}
.portrait b{font-size:26px}
@media (max-width:980px){.portrait img{width:96px;height:96px}}
.firm-banner{height:auto;aspect-ratio:auto;object-fit:contain}
.row label .req,.row label .opt{display:inline}

/* author photo: keep square, never stretch */
.author-photo{width:100%;max-width:380px;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center top;border-radius:14px;box-shadow:var(--shadow);justify-self:center}
