/* Portfolio adaptation of the jekyll-book-framework reading layout. */
@font-face{font-family:Book Sans;src:url('/assets/fonts/FiraSans-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Book Sans;src:url('/assets/fonts/FiraSans-Italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Book Sans;src:url('/assets/fonts/FiraSans-SemiBold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Book Mono;src:url('/assets/fonts/FiraMono-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Book Mono;src:url('/assets/fonts/FiraMono-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Font Awesome 5 Free';src:url('/assets/webfonts/fa-solid-900.woff2') format('woff2');font-style:normal;font-weight:900;font-display:block}
:root{--book-ink:#25313a;--book-muted:#63717a;--book-accent:#311B92;--book-paper:#fff;--book-nav:#f5f5f5;--book-line:#dce3e4;--book-reading-width:780px;--book-title-size:clamp(28px,3.1vw,40px)}
body.book-site{background:var(--book-paper);color:var(--book-ink);font-family:Book Sans,sans-serif;font-size:16px;line-height:1.65;min-width:320px}
body.book-site a{color:var(--book-accent)}
body.book-site a:hover{color:#24136F}
.book-skip{position:absolute;left:-9999px;top:8px;z-index:1000;padding:8px 14px;background:#fff}
.book-skip:focus{left:8px}
.book-sidebar{position:fixed;inset:0 auto 0 0;width:310px;overflow:auto;background:var(--book-nav);box-shadow:inset -10px 0 10px -10px #0002;z-index:50;display:flex;flex-direction:column}
.book-brand{position:relative;background:var(--book-accent);color:#fff;padding:25px 24px 23px;min-height:110px;display:flex;flex-direction:column;justify-content:center}
.book-brand a,.book-brand a:visited{font-family:Book Mono,monospace;color:#fff!important;font-size:25px;font-weight:700;text-decoration:none;line-height:1.1}
.book-brand span{font-size:12px;letter-spacing:.06em;margin-top:8px;opacity:.84;text-transform:uppercase}
.book-nav{padding:24px 16px 30px;flex:1}
.book-nav-label{font:700 12px Book Mono,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--book-muted);margin:0 10px 14px}
.book-nav-link,.book-nav-group summary,.book-nav-sublist a{font-family:Book Mono,monospace;text-decoration:none!important;border:0!important}
.book-nav-link{display:flex;align-items:baseline;gap:14px;padding:9px 10px;color:#667077!important;font-size:13px;border-radius:4px}
.book-nav-link span{font-size:15px;font-weight:700;color:var(--book-ink)}
.book-nav-link:hover,.book-nav-link.is-current{background:#ece8f7;color:var(--book-accent)!important}
.book-nav-link.is-current span{color:var(--book-accent)}
.book-nav-group{margin:0 0 5px 29px;border-left:1px solid #ccd8da;padding-left:14px}
.book-nav-group summary{cursor:pointer;color:var(--book-muted);font-size:12px;padding:5px 0;list-style:none}
.book-nav-group summary::-webkit-details-marker{display:none}
.book-nav-group summary:before{content:'+ ';font-weight:700}
.book-nav-group[open] summary:before{content:'− '}
.book-nav-stream summary{color:var(--book-ink);font-weight:700}
.book-nav-stream[open] summary{color:var(--book-accent)}
.book-nav-sublist{display:flex;flex-direction:column;gap:1px;padding:4px 0 10px}
.book-nav-sublist a{font-size:12px;line-height:1.4;padding:5px 8px;color:#667077!important;border-radius:3px}
.book-nav-sublist a:hover,.book-nav-sublist a.is-current{color:var(--book-accent)!important;background:#ece8f7}
.book-sidebar-foot{display:flex;gap:12px;flex-wrap:wrap;padding:20px 26px;border-top:1px solid var(--book-line);font-size:13px}
.book-stage{margin-left:310px;min-height:100vh;background:var(--book-paper)}
body.book-site main.book-main{display:block;background:var(--book-paper);width:100%;max-width:1120px;margin:0 auto;padding:54px clamp(22px,5vw,72px) 26px;min-height:100vh}
.book-eyebrow{font:700 12px Book Mono,monospace;color:var(--book-accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}
.book-page-heading{position:static;background:none;box-shadow:none;overflow:visible;margin:0 0 30px;min-height:0;width:auto;max-width:var(--book-reading-width)}
.book-page-heading h1,.book-main .book-page-heading h1{font:700 var(--book-title-size)/1.16 Book Mono,monospace;color:var(--book-accent);letter-spacing:-.045em;margin:0 0 14px}
.book-page-heading p{font-size:18px;color:var(--book-muted);max-width:750px;margin:0}
.book-article{max-width:var(--book-reading-width);min-height:45vh}
.book-wide .book-page-heading,.book-wide .book-article{max-width:1000px}
.book-article h1,.book-article h2,.book-article h3,.book-article h4{color:var(--book-accent);font-family:Book Mono,monospace;letter-spacing:-.035em}
.book-article h2{font-size:clamp(23px,2.6vw,32px);margin-top:1.6em}
.book-article h3{font-size:22px;margin-top:1.5em}
.book-article p,.book-article li{line-height:1.7}
.book-article img{max-width:100%;height:auto}
.book-article .content-body{width:100%;margin:0;background:transparent;box-shadow:none;border:0;padding:0!important}
.book-article .c-major,.book-article .c-major-r,.book-article .c-minor,.book-article .c-minor-r{max-width:100%}
.book-article .publication-body .hero,.book-article .publication-body .section{padding-left:0;padding-right:0}
.book-article .publication-title{font-family:Book Mono,monospace!important;color:var(--book-accent)!important}
.book-article .project-summary{display:block}
.book-article .mdc-card,.book-article .box{box-shadow:none;border:1px solid var(--book-line)}
.book-project .book-lede{font-size:19px;color:var(--book-muted)}
.book-project-image{margin:28px 0}.book-project-image img{display:block;max-height:500px;object-fit:contain}
.book-project-figure{margin:24px 0 28px}.book-project-figure img{display:block;max-width:100%;max-height:340px;object-fit:contain;object-position:left}.book-project-figure figcaption{color:var(--book-muted);font-size:13px;margin-top:8px}
.spinepose-workspace{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:28px;align-items:start;margin:34px 0 28px}
.spinepose-demo-controls,.spinepose-demo-stage{min-width:0}
.spinepose-demo-step{border-top:1px solid var(--book-line);padding:17px 0 21px}
.spinepose-demo-step h2,.spinepose-demo-stage-heading h2{font:700 17px/1.35 Book Mono,monospace;color:var(--book-accent);margin:0 0 16px}
.spinepose-demo-step h2 span{color:var(--book-muted);font-size:12px;margin-right:8px}
.spinepose-demo-field{margin:0 0 15px}
.spinepose-demo-field>label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}
.spinepose-demo-field select,.spinepose-demo-field input[type=file]{display:block;width:100%;max-width:100%;min-height:39px;background:#fff;border:1px solid var(--book-line);border-radius:0;color:var(--book-ink);font:inherit;font-size:13px;padding:7px 8px}
.spinepose-demo-field input[type=file]{padding:4px}
.spinepose-demo-field input[type=file]::file-selector-button{background:#f0edfa;border:0;color:var(--book-accent);font:700 12px Book Mono,monospace;margin-right:8px;padding:7px;cursor:pointer}
.spinepose-demo-sources{display:flex;flex-wrap:wrap;gap:6px;border:0;margin:0 0 16px;padding:0}
.spinepose-demo-sources legend{font-size:13px;font-weight:700;margin:0 0 6px;padding:0}
.spinepose-demo-sources label{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--book-line);font-size:13px;line-height:1.2;padding:8px;cursor:pointer}
.spinepose-demo-sources label:has(input:checked){border-color:var(--book-accent);background:#f0edfa;color:var(--book-accent);font-weight:700}
.spinepose-demo-sources input{accent-color:var(--book-accent);margin:0}
.spinepose-demo-guidance{border-left:2px solid var(--book-line);color:var(--book-ink);font-size:13px;line-height:1.5;margin:0 0 18px;padding:2px 0 2px 12px}
.spinepose-demo-button{display:inline-block;background:var(--book-accent);border:1px solid var(--book-accent);border-radius:0;color:#fff;font:700 13px Book Mono,monospace;min-height:39px;padding:8px 13px;cursor:pointer}
.spinepose-demo-button:hover:not(:disabled){background:#24136F}
.spinepose-demo-button:disabled{background:#edf1f1;border-color:var(--book-line);color:#7a8589;cursor:not-allowed}
.spinepose-demo-button-secondary{background:#fff;color:var(--book-accent)}
.spinepose-demo-button-secondary:hover:not(:disabled){background:#f0edfa}
.spinepose-demo-actions{display:flex;flex-wrap:wrap;gap:8px}
.spinepose-demo-hint,.spinepose-demo-stage-heading p,.spinepose-demo-stage-note{color:var(--book-muted);font-size:13px;line-height:1.45;margin:9px 0 0}
.spinepose-status{display:block;border-left:3px solid var(--book-accent);background:#f7f5fc;color:var(--book-ink);font-size:13px;line-height:1.45;padding:11px 13px;min-height:44px;margin:0 0 12px}
.spinepose-demo-stage-heading{border-top:1px solid var(--book-line);padding:17px 0 16px}
.spinepose-demo-stage-heading h2{margin:0}
.spinepose-demo-stage-heading p{margin:4px 0 0}
.spinepose-workspace .preview-shell{display:flex;align-items:center;justify-content:center;position:relative;min-height:390px;aspect-ratio:4/3;border:1px solid var(--book-line);background:#faf9fd;overflow:hidden}
.spinepose-workspace .preview-shell canvas{display:block;max-width:100%;max-height:100%;object-fit:contain;position:relative;z-index:1}
.spinepose-workspace .preview-shell canvas:not([width]){display:none}
.spinepose-workspace .preview-shell video{display:none!important}
.spinepose-demo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--book-muted);padding:24px}
.spinepose-demo-empty svg{width:90px;height:96px;stroke:var(--book-accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
.spinepose-demo-empty p{font-size:14px;max-width:220px;margin:0}
.spinepose-workspace .preview-shell canvas[width]~.spinepose-demo-empty{display:none}
.spinepose-workspace .hidden{display:none!important}
.spinepose-workspace:has(input[value="webcam"]:checked) #run-button,.spinepose-workspace:not(:has(input[value="webcam"]:checked)) #camera-button,.spinepose-workspace:has(input[value="image"]:checked) #stop-button{display:none}
.spinepose-demo select:focus-visible,.spinepose-demo input:focus-visible,.spinepose-demo button:focus-visible{outline:2px solid var(--book-accent);outline-offset:2px}
@media(max-width:700px){.spinepose-workspace{grid-template-columns:1fr;gap:14px}.spinepose-workspace .preview-shell{min-height:280px}}
.book-video{aspect-ratio:16/9;margin:24px 0}.book-video iframe{width:100%;height:100%;border:0}
.book-project-details{border-top:1px solid var(--book-line);display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;margin-top:36px;padding-top:18px}
.book-project-details h2{font-size:17px;margin:0 0 8px}.book-project-details p{margin:0}
.book-feedback{margin:36px 0;padding:16px 20px;border-left:4px solid var(--book-accent);background:#f3f0fa}
.book-feedback p{margin:0 0 4px}
.book-footer{display:block;position:static!important;background:transparent!important;border-top:1px solid var(--book-line);margin:60px 0 0!important;padding:25px 0!important;color:var(--book-muted);font-size:13px;box-shadow:none;max-width:none;width:auto}
.book-footer p{margin:8px 0}.book-footer-links{display:flex;gap:18px;flex-wrap:wrap}.book-footer a{font-size:13px}
.book-credit{font-size:12px}.book-mobile-header,.book-menu-scrim,.book-menu-close{display:none}
@media(max-width:850px){
  .book-mobile-header{position:fixed;inset:0 0 auto;z-index:40;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 22px;background:var(--book-paper);border-bottom:1px solid var(--book-line)}
  .book-mobile-header>a{font:700 17px Book Mono,monospace;text-decoration:none!important}
  .book-menu-button,.book-menu-close{display:grid;place-items:center;width:40px;height:40px;border:0;background:transparent;color:var(--book-accent);cursor:pointer}
  .book-menu-button:hover{background:#f0edfa}
  .book-menu-button svg,.book-menu-close svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .book-menu-scrim{display:none;position:fixed;inset:0;z-index:45;width:100%;height:100%;border:0;background:#1d173966}
  .book-menu-open .book-menu-scrim{display:block}
  .book-sidebar{width:min(320px,calc(100vw - 48px));visibility:hidden;transform:translateX(-100%);transition:transform .2s ease,visibility .2s;box-shadow:6px 0 20px #0002}
  .book-sidebar.is-open{visibility:visible;transform:translateX(0)}
  .book-brand{padding-right:64px}
  .book-menu-close{position:absolute;right:12px;top:20px;color:#fff}
  .book-menu-close:hover{background:#ffffff22}
  .book-stage{margin-left:0}
  body.book-site main.book-main{padding:82px 22px 30px}
  .book-menu-open{overflow:hidden}
}
@media print{.book-sidebar,.book-mobile-header,.book-menu-scrim,.book-footer{display:none!important}.book-stage{margin:0}body.book-site main.book-main{max-width:none;padding:0}}
.book-nav-link-secondary{padding-left:40px;font-size:12px}.book-nav-link-secondary span{font-size:12px;font-weight:400}
.book-cover{padding:clamp(40px,7vw,88px) 0 70px;min-height:560px;display:flex;flex-direction:column;justify-content:center}
.book-cover-rule{height:6px;width:88px;background:linear-gradient(to right,#e53935 0 14.2857%,#fb8c00 14.2857% 28.5714%,#fdd835 28.5714% 42.8571%,#43a047 42.8571% 57.1428%,#1e88e5 57.1428% 71.4285%,#3949ab 71.4285% 85.7142%,#8e24aa 85.7142% 100%);margin-bottom:42px}
.book-cover-kicker{font:700 13px Book Mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--book-muted);margin-bottom:26px}
.book-cover h1{font:700 clamp(44px,6vw,70px)/1.05 Book Mono,monospace!important;color:var(--book-accent)!important;letter-spacing:-.07em;margin:0 0 28px}
.book-cover-subtitle{font-size:clamp(22px,3vw,31px);line-height:1.36;max-width:700px;margin:0 0 26px;color:var(--book-ink)}
.book-cover-edition{color:var(--book-muted);max-width:650px;margin:0 0 34px}
.book-cover-action{align-self:flex-start;display:inline-flex;gap:25px;padding:11px 17px;background:var(--book-accent);color:#fff!important;font:700 14px Book Mono,monospace;text-decoration:none!important;border:0!important}
.book-cover-action:hover{background:#24136F;color:#fff!important}
.book-cover-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.book-cover-avatar{display:block;width:100%;height:auto;max-height:470px;object-fit:contain;object-position:center bottom}
@media(min-width:700px){.book-cover{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,38%);column-gap:24px;align-content:center;min-height:520px;padding:34px 0 46px}.book-cover>:not(.book-cover-avatar){grid-column:1}.book-cover-avatar{grid-column:2;grid-row:1/7;align-self:center}}
@media(max-width:699px){.book-cover-avatar{max-width:300px;margin:16px auto 0}}
.book-introduction,.book-chapters,.book-latest{border-top:1px solid var(--book-line);padding:34px 0 44px}
.book-introduction h2,.book-chapters h2,.book-latest h2{font-size:25px;margin:0 0 24px}
.book-intro-grid{display:grid;grid-template-columns:1fr 180px;gap:36px;align-items:start}
.book-intro-grid img{width:180px;aspect-ratio:4/5;object-fit:cover}
.book-chapters ol{list-style:none;padding:0;margin:0}
.book-chapters li{display:grid;grid-template-columns:48px 1fr;gap:20px;border-top:1px solid var(--book-line);padding:19px 0}
.book-chapters li>span{font:700 14px Book Mono,monospace;color:var(--book-muted);padding-top:4px}
.book-chapters h3{font-size:22px;margin:0 0 4px}.book-chapters h3 a{text-decoration:none}.book-chapters p{margin:0;color:var(--book-muted)}
.book-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.book-section-heading a{font-size:13px;font-family:Book Mono,monospace}
.book-latest ul,.book-writing-list{list-style:none;padding:0;margin:0}.book-latest li,.book-writing-list li{display:flex;gap:25px;padding:12px 0;border-top:1px solid var(--book-line)}.book-latest li span,.book-writing-list li span{font:700 13px Book Mono,monospace;color:var(--book-muted);min-width:45px}
@media(max-width:620px){.book-cover{min-height:480px}.book-intro-grid{grid-template-columns:1fr}.book-intro-grid img{width:140px}.book-chapters li{grid-template-columns:35px 1fr;gap:12px}}
.book-lede{font-size:19px;color:var(--book-muted);margin-bottom:36px}
.book-catalog-entry{display:grid;grid-template-columns:42px 1fr;gap:18px;border-top:1px solid var(--book-line);padding:22px 0}
.book-catalog-number{font:700 14px Book Mono,monospace;color:var(--book-muted);padding-top:5px}
.book-catalog-entry h2{font-size:24px;margin:0 0 5px}.book-catalog-entry h2 a{text-decoration:none}
.book-catalog-entry p{margin:0;color:var(--book-muted)}.book-catalog-entry .book-catalog-type{font:700 12px Book Mono,monospace;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;color:var(--book-accent)}
.cv-document{max-width:var(--book-reading-width)}
.cv-identity{position:static!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;margin:0 0 35px;padding:0 0 24px;border-bottom:2px solid var(--book-accent);width:auto;height:auto}
.cv-identity .cv-label{font:700 12px Book Mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--book-muted);margin:0 0 9px}
.cv-identity h1{font:700 var(--book-title-size)/1.16 Book Mono,monospace!important;margin:0 0 8px;color:var(--book-accent)}
.cv-identity p{margin:0 0 12px;color:var(--book-muted)}
.cv-contacts{display:flex;flex-wrap:wrap;gap:5px 17px;font-size:13px;font-family:Book Mono,monospace}
.cv-section{margin:0 0 30px}.cv-section>h2,.cv-section-heading h2{font-size:20px;margin:0 0 12px;padding-bottom:5px;border-bottom:1px solid var(--book-line)}
.cv-section p{margin:0 0 12px}.cv-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.cv-section-heading h2{flex:1}.cv-section-heading a{font-size:12px}
.cv-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:12px 0;border-bottom:1px solid var(--book-line)}
.cv-row>span,.cv-row time{flex:0 0 auto;color:var(--book-muted);font:400 12px Book Mono,monospace}
.cv-row div span{color:var(--book-muted)}
.cv-publications{margin:0;padding-left:24px}.cv-publications li{padding:5px 0}.cv-publications li span{display:block;color:var(--book-muted);font-size:13px}
.book-update{display:grid;grid-template-columns:130px 1fr;gap:24px;border-top:1px solid var(--book-line);padding:22px 0}
.book-update time{font:400 12px Book Mono,monospace;color:var(--book-muted);padding-top:6px}
.book-update h2{font-size:20px;margin:0 0 8px}.book-update h2 a{text-decoration:none}.book-update p{margin:0;color:var(--book-muted)}
.book-social-updates{border-top:1px solid var(--book-line);margin-top:25px;padding-top:25px}
@media(max-width:620px){.cv-row{display:block}.cv-row>span,.cv-row time{display:block;margin-top:4px}.cv-section-heading{display:block}.book-update{grid-template-columns:1fr;gap:3px}}
@media print{.cv-document{max-width:none}.cv-section{break-inside:avoid}.cv-identity{break-after:avoid}.book-footer,.book-eyebrow{display:none!important}}
.book-nav-sublist a{display:grid;grid-template-columns:43px minmax(0,1fr);align-items:baseline;gap:8px}
.book-nav-sublist .book-subnumber{color:var(--book-accent);font:700 11px Book Mono,monospace;white-space:nowrap}
.book-nav-sublist a.is-current .book-subnumber{color:var(--book-accent)}
.book-catalog-entry{grid-template-columns:58px 1fr}
.book-chapter-index{position:static!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 32px;padding:0;background:transparent!important;box-shadow:none!important;width:auto;height:auto}
.book-chapter-index a{display:grid;grid-template-columns:47px 1fr;gap:3px 12px;padding:15px;border:1px solid var(--book-line);text-decoration:none!important;background:#fbfafd}
.book-chapter-index a span{grid-row:span 2;font:700 12px Book Mono,monospace;color:var(--book-accent)}
.book-chapter-index a strong{font:700 15px Book Mono,monospace;color:var(--book-accent)}
.book-chapter-index a small{font-size:13px;color:var(--book-muted)}
.state-of-spine-vision .spine-field-page::before{display:none}
.state-of-spine-vision .spine-field-hero{min-height:0;padding:20px 0 48px}
.state-of-spine-vision .spine-field-hero-grid{min-height:0}
.state-of-spine-vision .spine-field-hero::before,.state-of-spine-vision .spine-field-hero::after{display:none}
.state-of-spine-vision .spine-field-display-title{font-family:Book Mono,monospace!important;color:var(--book-accent)!important;line-height:1.1;max-width:15ch}
.book-site .book-article .use-work-card,.book-site .book-article .use-work-side-card,.book-site .book-article .use-work-path,.book-site .book-article .use-work-resource{border-radius:0;background:var(--book-paper);border-color:var(--book-line)}
.book-site .book-article .use-work-hero{border-left:4px solid var(--book-accent)}
.book-site .book-article .use-work-kicker{color:var(--book-accent);font-family:Book Mono,monospace}
@media(max-width:650px){.book-chapter-index{grid-template-columns:1fr}}
.past-collab-section{border-top:1px solid var(--book-line);padding:18px 0 24px}
.past-collab-section>h2{font-size:23px;margin:0 0 12px}
.past-collab-term{margin:22px 0}.past-collab-term h3{font-size:17px;margin:0 0 8px;color:var(--book-muted)}
.past-collab-list{list-style:none;padding:0;margin:0}
.past-collab-list li{display:grid;grid-template-columns:128px 1fr;gap:16px;border-top:1px solid var(--book-line);padding:11px 0}
.past-collab-list li:first-child{border-top:0}
.past-collab-type{font:700 11px Book Mono,monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--book-muted);padding-top:4px}
.past-collab-list a{text-decoration:none;font-weight:600}.past-collab-list p{margin:2px 0 0;color:var(--book-muted);font-size:13px}
@media(max-width:620px){.past-collab-list li{grid-template-columns:1fr;gap:3px}}

/* Reading treatment shared by the old content templates. */
:root,
:root[data-theme='light'] {
  --mdc-theme-primary: #311B92;
  --mdc-theme-primary-variant: #311B92;
  --mdc-theme-background: #fff;
  --mdc-theme-surface: #fff;
  --mdc-theme-elevated-surface: #f9f8fc;
  --mdc-theme-on-background: #25313a;
  --mdc-theme-on-surface: #25313a;
  --mdc-theme-muted: #63717a;
  --mdc-theme-subtle: #63717a;
  --mdc-theme-link: #311B92;
  --mdc-theme-link-hover: #24136F;
  --mdc-theme-border: #dce3e4;
  --mdc-theme-soft-border: #ccd8da;
  --mdc-theme-overlay: #f0edfa;
  --card-radius: 0;
  color-scheme: light;
}
body.book-site .book-article {
  color: var(--book-ink);
  font-family: Book Sans, sans-serif;
}
body.book-site .book-article .c-major,
body.book-site .book-article .c-major-r,
body.book-site .book-article .c-minor,
body.book-site .book-article .c-minor-r {
  float: none;
  width: 100%;
  padding: 0;
  margin: 0;
}
body.book-site .book-article .c-minor,
body.book-site .book-article .c-minor-r {
  margin-top: 2.5rem;
}
body.book-site .book-article section,
body.book-site .book-article aside {
  min-width: 0;
}
body.book-site .book-article .columns {
  display: block;
  margin-left: 0;
  margin-right: 0;
}
body.book-site .book-article .columns > .column {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
body.book-site .book-article .card,
body.book-site .book-article .mdc-card,
body.book-site .book-article .box {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
body.book-site .book-article .mdc-layout-grid {
  padding: 0;
}
body.book-site .book-article .mdc-layout-grid__inner {
  display: block;
}
body.book-site .book-article .mdc-layout-grid__cell {
  width: 100%;
  margin: 0;
}
body.book-site .book-article .mdc-card {
  border: 0;
  border-top: 1px solid var(--book-line);
  padding: 16px 0 !important;
  text-align: left !important;
}
body.book-site .book-article .tag,
body.book-site .book-article .project-tag,
body.book-site .book-article .mdc-chip,
body.book-site .book-article .paper-meta-tags .tag {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--book-muted);
  padding: 0;
}
body.book-site .book-article .tag + .tag::before {
  content: ' · ';
}
body.book-site .book-article .paper-callout {
  background: #f9f8fc;
  border-radius: 0;
  border-color: var(--book-line);
}
body.book-site .book-article blockquote {
  border-left: 2px solid var(--book-accent);
  background: transparent;
  box-shadow: none;
}
body.book-site .book-article .content,
body.book-site .book-article .content p,
body.book-site .book-article .content li {
  color: var(--book-ink);
}
body.book-site .book-article pre,
body.book-site .book-article code {
  max-width: 100%;
}
body.book-site .book-article pre {
  overflow-x: auto;
}
.book-project-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  border-top: 1px solid var(--book-line);
  border-bottom: 1px solid var(--book-line);
  padding: 12px 0;
  margin-bottom: 28px;
}
.book-project-links a {
  text-decoration: none;
}
.book-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  margin: 26px 0;
}
.book-table-scroll table {
  margin: 0;
  min-width: 720px;
}
body.book-site .book-article .paper-figure-frame {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
.book-chapter-index,
.book-intro-grid,
.book-project-details {
  display: block;
}
.book-chapter-index a {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  background: transparent;
  border: 0;
  border-top: 1px solid var(--book-line);
  padding: 16px 0;
}
.book-chapter-index a:last-child {
  border-bottom: 1px solid var(--book-line);
}
.book-intro-grid img {
  display: block;
  margin: 20px 0 0;
}
.book-project-details section {
  border-top: 1px solid var(--book-line);
  padding: 14px 0;
}
.book-project-details section:first-child {
  border-top: 0;
}
.book-update {
  display: block;
}
.book-update time {
  display: block;
  margin-bottom: 6px;
}
.past-collab-list li {
  display: block;
}
.past-collab-type {
  display: block;
  margin-bottom: 5px;
}
.cv-row {
  display: block;
}
.cv-row time,
.cv-row > span {
  display: block;
  margin-top: 4px;
}
.book-cover-action {
  background: transparent;
  color: var(--book-accent) !important;
  border-bottom: 1px solid var(--book-accent) !important;
  padding: 4px 0;
}
.book-cover-action:hover {
  background: transparent;
  color: var(--book-accent) !important;
}

/* Research papers and research index. */
body.book-site .publication-body .paper-hero,
body.book-site .publication-body .hero.is-light {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--book-line);
}
body.book-site .publication-body .container.is-max-desktop {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
body.book-site .publication-body .paper-meta-tags,
body.book-site .publication-body .publication-links {
  justify-content: flex-start;
}
body.book-site .publication-body .paper-hero .hero-body,
body.book-site .publication-body .hero.is-light .hero-body {
  padding: 0 0 26px;
}
body.book-site .publication-body .has-text-centered,
body.book-site .publication-body .has-text-justified {
  text-align: left !important;
}
body.book-site .publication-body .paper-stats-grid > .column {
  display: block;
  border-top: 1px solid var(--book-line);
}
body.book-site .publication-body .paper-stat,
body.book-site .publication-body .paper-card,
body.book-site .publication-body .paper-figure-frame {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 12px 0;
  text-align: left;
}
body.book-site .publication-body .paper-stat-label,
body.book-site .publication-body .paper-stat-value {
  display: inline;
  font-size: 1rem;
}
body.book-site .publication-body .paper-stat-label::after {
  content: ': ';
}
body.book-site .publication-body .paper-grid-equal .column {
  display: block;
  border-top: 1px solid var(--book-line);
}
body.book-site .publication-body .paper-grid-equal .box {
  height: auto;
}
body.book-site .publication-body .section {
  border-bottom: 1px solid var(--book-line);
  padding: 24px 0;
}
body.book-site .publication-body .section:last-child {
  border-bottom: 0;
}
body.book-site .publication-body .publication-links .button {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--book-line);
  border-radius: 0;
  color: var(--book-accent) !important;
  box-shadow: none;
  padding: 8px 3px;
}
body.book-site .research-hub-link,
body.book-site .rg-filter-trigger,
body.book-site .rg-search-shell,
body.book-site .scholar-pagination-btn {
  background: transparent;
  border: 1px solid var(--book-line);
  border-radius: 0;
  box-shadow: none;
}
body.book-site .rg-stage-wrap,
body.book-site .scholar-table-wrap {
  background: transparent;
  border: 1px solid var(--book-line);
  border-radius: 0;
  box-shadow: none;
}
body.book-site #research-overview-heading {
  margin-top: 0;
}
body.book-site .insights {
  border-top: 1px solid var(--book-line);
  padding-top: 24px;
}

/* Collaboration chapter. */
body.book-site .collab-main,
body.book-site .collab-side {
  display: block;
  font-family: Book Sans, sans-serif;
}
body.book-site .collab-hero,
body.book-site .collab-section,
body.book-site .collab-side .side-card,
body.book-site .collab-main .topic-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 20px 0;
}
body.book-site .collab-hero,
body.book-site .collab-section,
body.book-site .collab-side .side-card {
  border-top: 1px solid var(--book-line);
}
body.book-site .collab-hero::after {
  display: none;
}
body.book-site .collab-main .hero-grid,
body.book-site .collab-main .hero-metrics,
body.book-site .collab-main .topic-grid,
body.book-site .collab-main .collab-two-col,
body.book-site .collab-side {
  display: block;
}
body.book-site .collab-main .hero-metrics {
  margin-top: 24px;
}
body.book-site .collab-main .hero-metric,
body.book-site .collab-main .topic-card {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--book-line);
  border-radius: 0;
  padding: 12px 0;
}
body.book-site .collab-main .hero-metric-value,
body.book-site .collab-main .hero-metric-label {
  display: inline;
  font-size: 1rem;
}
body.book-site .collab-main .hero-metric-value::after {
  content: ' ';
}
body.book-site .collab-main .hero-btn,
body.book-site .collab-main .hero-btn-primary {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--book-line);
  border-radius: 0;
  color: var(--book-accent) !important;
  padding: 5px 0;
}
body.book-site .collab-main .topic-chip,
body.book-site .collab-main .topic-status {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--book-muted);
  padding: 0;
}
body.book-site .collab-main .topic-chip + .topic-chip::before {
  content: ' · ';
}
body.book-site .collab-main .collab-two-col article + article {
  border-top: 1px solid var(--book-line);
  margin-top: 20px;
  padding-top: 20px;
}
body.book-site .collab-section > h2,
body.book-site .collab-section article > h2,
body.book-site .collab-side .side-card > h2,
body.book-site .collab-main .topic-card > h3 {
  margin-top: 0;
}

/* Practical guide. */
body.book-site .use-work-main,
body.book-site .use-work-side,
body.book-site .use-work-grid,
body.book-site .use-work-resource-list {
  display: block;
}
body.book-site .book-article .use-work-card,
body.book-site .book-article .use-work-side-card,
body.book-site .book-article .use-work-path,
body.book-site .book-article .use-work-resource {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--book-line);
  border-radius: 0;
  box-shadow: none;
  padding: 18px 0;
}
body.book-site .book-article .use-work-hero {
  border-left: 0;
}
body.book-site .book-article .use-work-path:first-child {
  border-top: 0;
}
body.book-site .book-article .use-work-resource-list {
  margin-top: 12px;
}

/* Keep the spine atlas data and comparison table, with book-page composition. */
body.book-site.state-of-spine-vision .spine-field-page {
  --spine-panel: #fff;
  --spine-panel-strong: #fff;
  --spine-shell: 100%;
}
body.book-site.state-of-spine-vision .spine-field-shell {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
body.book-site.state-of-spine-vision .spine-field-hero {
  padding: 0 0 28px;
}
body.book-site.state-of-spine-vision .spine-field-lead {
  max-width: none;
  font-size: 19px;
  font-weight: 400;
  color: var(--book-muted);
}
body.book-site.state-of-spine-vision .spine-field-section h2 {
  font-size: clamp(23px, 2.6vw, 32px);
  line-height: 1.25;
}
body.book-site.state-of-spine-vision .spine-field-hero-grid,
body.book-site.state-of-spine-vision .spine-field-stat-grid,
body.book-site.state-of-spine-vision .spine-field-section-header,
body.book-site.state-of-spine-vision .spine-field-overview-grid,
body.book-site.state-of-spine-vision .spine-program-grid,
body.book-site.state-of-spine-vision .spine-atlas-grid,
body.book-site.state-of-spine-vision .spine-task-grid,
body.book-site.state-of-spine-vision .spine-gap-grid,
body.book-site.state-of-spine-vision .spine-reference-grid,
body.book-site.state-of-spine-vision .spine-faq-grid,
body.book-site.state-of-spine-vision .spine-field-cta-band {
  grid-template-columns: minmax(0, 1fr);
}
body.book-site.state-of-spine-vision .spine-field-hero-grid {
  gap: 28px;
}
body.book-site.state-of-spine-vision .spine-field-hero-media,
body.book-site.state-of-spine-vision .spine-field-stat-grid {
  margin-top: 24px;
}
body.book-site.state-of-spine-vision .spine-field-media-frame,
body.book-site.state-of-spine-vision .spine-field-media-note,
body.book-site.state-of-spine-vision .spine-field-stat-card,
body.book-site.state-of-spine-vision .spine-field-evidence-card,
body.book-site.state-of-spine-vision .spine-atlas-card,
body.book-site.state-of-spine-vision .spine-task-card,
body.book-site.state-of-spine-vision .spine-program-card,
body.book-site.state-of-spine-vision .spine-gap-card,
body.book-site.state-of-spine-vision .spine-reference-group,
body.book-site.state-of-spine-vision .spine-reference-card,
body.book-site.state-of-spine-vision .spine-faq-card,
body.book-site.state-of-spine-vision .spine-field-cta-band {
  backdrop-filter: none;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--book-line);
  border-radius: 0;
  box-shadow: none;
  padding: 18px 0;
}
body.book-site.state-of-spine-vision .spine-field-media-frame {
  border: 0;
  padding: 0;
}
body.book-site.state-of-spine-vision .spine-field-media-frame img {
  object-fit: contain;
}
body.book-site.state-of-spine-vision .spine-atlas-icon,
body.book-site.state-of-spine-vision .spine-task-icon {
  background: transparent;
  border-radius: 0;
  color: var(--book-accent);
}
body.book-site.state-of-spine-vision .spine-field-stat-card:first-child {
  border-top: 0;
}
body.book-site.state-of-spine-vision .spine-field-stat-value,
body.book-site.state-of-spine-vision .spine-field-stat-label {
  display: inline;
  font-size: 1rem;
  color: var(--book-ink);
}
body.book-site.state-of-spine-vision .spine-field-stat-value::after {
  content: ' ';
}
body.book-site.state-of-spine-vision .spine-field-nav {
  position: static;
}
body.book-site.state-of-spine-vision .spine-field-nav-inner {
  backdrop-filter: none;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--book-line);
  border-bottom: 1px solid var(--book-line);
  border-radius: 0;
  justify-content: flex-start;
  padding: 8px 0;
}
body.book-site.state-of-spine-vision .spine-field-nav-link,
body.book-site.state-of-spine-vision .spine-field-nav-link.is-active,
body.book-site.state-of-spine-vision .spine-field-nav-link:hover {
  background: transparent;
  border-radius: 0;
  color: var(--book-accent) !important;
  padding: 7px 10px;
}
body.book-site.state-of-spine-vision .spine-field-nav-link.is-active {
  text-decoration: underline;
}
body.book-site.state-of-spine-vision .spine-field-button,
body.book-site.state-of-spine-vision .spine-field-button.is-primary,
body.book-site.state-of-spine-vision .spine-field-chip-link {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--book-line);
  border-radius: 0;
  box-shadow: none;
  color: var(--book-accent) !important;
  padding: 7px 0;
}
body.book-site.state-of-spine-vision .spine-field-chip,
body.book-site.state-of-spine-vision .spine-inline-chip {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--book-muted);
  padding: 0;
}
body.book-site.state-of-spine-vision .spine-compare-wrap {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--book-line);
  border-bottom: 1px solid var(--book-line);
  border-radius: 0;
  padding: 0;
  overflow-x: auto;
}
body.book-site.state-of-spine-vision .spine-field-section {
  border-top: 1px solid var(--book-line);
}

/* Continuous reading and PDF export. */
.book-export-actions {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px 20px;
  border-top: 1px solid var(--book-line);
  border-bottom: 1px solid var(--book-line);
  padding: 14px 0;
  margin: 28px 0 40px;
}
.book-export-actions a {
  font-family: Book Mono, monospace;
  font-weight: 700;
}
.book-export-actions span {
  color: var(--book-muted);
  font-size: 13px;
}
.book-export-contents ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.book-export-contents li {
  border-top: 1px solid var(--book-line);
}
.book-export-contents li:last-child {
  border-bottom: 1px solid var(--book-line);
}
.book-export-contents a {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 12px;
  padding: 9px 0;
  text-decoration: none;
}
.book-export-contents span,
.book-export-number {
  color: var(--book-muted);
  font: 700 12px Book Mono, monospace;
}
.book-export-contents .book-export-major {
  font-weight: 700;
}
.book-export-contents .book-export-stream {
  padding: 11px 0 3px 70px;
  color: var(--book-accent);
  font: 700 12px Book Mono, monospace;
}
.book-print-cover,
.book-print-title-page {
  display: none;
}
.book-export-pages {
  margin-top: 60px;
}
@media screen {
  .book-edition .book-sidebar,
  .book-edition .book-menu-button,
  .book-edition .book-page-heading,
  .book-edition .book-eyebrow,
  .book-edition .book-footer,
  .book-edition .book-lede,
  .book-edition .book-export-contents,
  .book-edition .book-export-pages {
    display: none !important;
  }
  .book-edition .book-stage {
    margin-left: 0;
  }
  .book-edition main.book-main {
    max-width: 600px;
    min-height: 0;
    padding: 48px 24px;
  }
  .book-edition .book-export-actions {
    margin: 0;
    border: 0;
  }
}
.book-export-entry {
  border-top: 1px solid var(--book-line);
  padding-top: 26px;
  margin-top: 70px;
}
.book-export-entry > h2,
.book-export-entry > h3 {
  margin: 8px 0 28px;
  font-size: 28px;
}
.book-export-entry > h2 a,
.book-export-entry > h3 a {
  text-decoration: none;
}
.book-export-entry .book-page-heading,
.book-export-entry .book-cover {
  display: none;
}
.book-export-entry .book-introduction {
  border: 0;
  padding-top: 0;
}
.book-export-entry .book-project-links {
  margin-top: 0;
}

/* Static chapter search. */
.book-search-label {
  display: block;
  font: 700 13px Book Mono, monospace;
  margin-bottom: 9px;
}
.book-search-input {
  width: 100%;
  border: 1px solid var(--book-line);
  border-radius: 0;
  background: #fff;
  color: var(--book-ink);
  padding: 11px 13px;
  font: inherit;
}
.book-search-input:focus {
  outline: 2px solid var(--book-accent);
  outline-offset: 2px;
}
.book-search-count {
  color: var(--book-muted);
  font-size: 13px;
  margin: 10px 0 25px;
}
.book-search-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.book-search-list li {
  border-top: 1px solid var(--book-line);
  padding: 15px 0;
}
.book-search-list li[hidden] {
  display: none;
}
.book-search-list a {
  font: 700 18px Book Mono, monospace;
  text-decoration: none;
}
.book-search-list p {
  color: var(--book-muted);
  margin: 5px 0 0;
}

/* A4 reading copy. All chapters share this print treatment. */
@page {
  size: A4;
  margin: 18mm 19mm 20mm;
}
@media print {
  :root {
    --book-ink: #202020;
    --book-muted: #444;
    --book-accent: #202020;
    --book-line: #aaa;
  }
  html,
  body.book-site {
    width: auto;
    min-width: 0;
    background: #fff !important;
    color: #202020;
    font: 10.5pt/1.48 Georgia, "Times New Roman", serif;
  }
  .book-stage,
  body.book-site main.book-main,
  .book-article,
  .book-page-heading,
  body.book-site .publication-body .container.is-max-desktop {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  body.book-site .book-article {
    font-family: Georgia, "Times New Roman", serif;
  }
  body.book-site main.book-main {
    padding-top: 0;
    padding-bottom: 0;
  }
  .book-eyebrow {
    display: block !important;
    margin: 0 0 6mm;
    color: #444;
    font: 9pt Book Mono, monospace;
  }
  .book-page-heading {
    margin-bottom: 8mm;
  }
  .book-page-heading h1,
  .book-main .book-page-heading h1,
  .cv-identity h1 {
    color: #202020 !important;
    font: 700 23pt/1.15 Book Mono, monospace !important;
    letter-spacing: -0.04em;
  }
  .book-page-heading p,
  .book-cover-subtitle,
  .book-lede,
  body.book-site.state-of-spine-vision .spine-field-lead {
    color: #444;
    font: 11pt/1.45 Georgia, "Times New Roman", serif;
  }
  .book-article h2,
  body.book-site.state-of-spine-vision .spine-field-section h2 {
    color: #202020;
    font: 700 15pt/1.25 Book Mono, monospace;
    margin-top: 8mm;
  }
  .book-article h3,
  .book-article h4 {
    color: #202020;
    font: 700 11.5pt/1.3 Book Mono, monospace;
    margin-top: 5mm;
  }
  .book-article p,
  .book-article li,
  .book-article .content p,
  .book-article .content li {
    line-height: 1.48;
  }
  .book-article a,
  body.book-site a {
    color: #202020 !important;
    text-decoration: underline;
  }
  h1,
  h2,
  h3,
  h4,
  figcaption {
    break-after: avoid;
  }
  p,
  li {
    orphans: 3;
    widows: 3;
  }
  img,
  figure,
  blockquote,
  pre,
  tr,
  .book-catalog-entry,
  .book-update,
  .cv-row {
    break-inside: avoid;
  }
  .book-edition .book-export-content,
  .book-edition .book-export-content .collab-main,
  .book-edition .book-export-content .collab-side {
    font-family: Georgia, "Times New Roman", serif;
  }
  .book-article img {
    max-height: 85mm;
    object-fit: contain;
  }
  .book-edition .book-export-content img {
    max-height: 85mm !important;
  }
  .book-edition .book-export-entry[id^="book-projects-"] .book-export-content img {
    max-height: 60mm !important;
  }
  .book-edition .book-export-content .paper-hero .hero-body,
  .book-edition .book-export-content .hero.is-light .hero-body,
  .book-edition .book-export-content .publication-body .section,
  .book-edition .book-export-content .collab-section,
  .book-edition .book-export-content .spine-field-section {
    padding-top: 3mm;
    padding-bottom: 3mm;
  }
  .book-edition .book-export-content .publication-body .box,
  .book-edition .book-export-content .paper-stat,
  .book-edition .book-export-content .paper-card {
    padding: 1mm 0;
    margin-bottom: 0;
  }
  .book-edition .book-export-content .paper-stats-grid,
  .book-edition .book-export-content .paper-grid-equal,
  .book-edition .book-export-content .columns {
    display: block;
    margin: 0;
  }
  .book-edition .book-export-content .paper-stats-grid > .column,
  .book-edition .book-export-content .paper-grid-equal > .column,
  .book-edition .book-export-content .columns > .column {
    width: 100%;
    padding: 1mm 0;
  }
  .book-edition .book-export-content .paper-figure-frame,
  .book-edition .book-export-content figure {
    margin: 3mm 0;
  }
  .book-edition .book-export-content .publication-links,
  .book-edition .book-export-content .spine-field-action-row,
  .book-edition .book-export-content .spine-field-chip-row {
    display: none;
  }
  .book-edition .book-export-content .paper-caption {
    margin: 1mm 0 3mm;
    font-size: 9pt;
    line-height: 1.35;
  }
  .book-edition .book-export-content .book-catalog-entry {
    padding: 2mm 0;
    gap: 3mm;
  }
  .book-edition .book-export-content .book-catalog-entry h2 {
    font-size: 11pt;
    margin: 0;
  }
  .book-edition .book-export-content .book-catalog-entry p {
    font-size: 9pt;
    line-height: 1.3;
  }
  .book-edition .book-export-content .book-catalog-type {
    display: none;
  }
  .book-edition .book-export-content .book-data-record {
    border-top: .5pt solid #aaa;
    padding: 3mm 0;
    break-inside: avoid;
  }
  .book-edition .book-export-content .book-data-record h5 {
    margin: 0 0 2mm;
    font: 700 10pt/1.3 Book Mono, monospace;
  }
  .book-edition .book-export-content .book-data-record dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5mm 5mm;
    margin: 0;
    font-size: 8.5pt;
    line-height: 1.32;
  }
  .book-edition .book-export-content .book-data-record dl > div {
    min-width: 0;
    break-inside: avoid;
  }
  .book-edition .book-export-content .book-data-record dt {
    font-weight: 700;
  }
  .book-edition .book-export-content .book-data-record dd {
    margin: 0;
    overflow-wrap: anywhere;
  }
  .book-edition .book-export-content section,
  .book-edition .book-export-content .content-body section,
  .book-edition .book-export-content .paper-section {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }
  .book-edition .book-export-content h4,
  .book-edition .book-export-content h5,
  .book-edition .book-export-content h6 {
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: avoid;
    page-break-after: avoid;
    color: #202020;
    font-family: Book Mono, monospace;
    line-height: 1.25;
  }
  .book-edition .book-export-content h4 {
    font-size: 12pt;
    margin: 5mm 0 2mm;
  }
  .book-edition .book-export-content h5 {
    font-size: 10.5pt;
    margin: 4mm 0 1.5mm;
  }
  .book-edition .book-export-content h6 {
    font-size: 9.5pt;
    margin: 3mm 0 1mm;
  }
  .book-edition .book-heading-number {
    color: #555;
    font-size: .85em;
    white-space: nowrap;
  }
  .book-edition .book-cv-name {
    font: 700 14pt/1.2 Book Mono, monospace;
    margin: 0 0 2mm;
  }
  .book-cover {
    min-height: 0;
    padding: 0 0 12mm;
  }
  .book-cover h1 {
    font-size: 30pt !important;
    color: #202020 !important;
  }
  .book-cover-rule {
    width: 16mm;
    height: 1pt;
    margin-bottom: 8mm;
  }
  .book-introduction,
  .book-chapters,
  .book-latest {
    padding: 6mm 0;
  }
  .book-intro-grid img {
    max-height: 55mm;
  }
  .book-table-scroll,
  body.book-site.state-of-spine-vision .spine-compare-wrap {
    overflow: visible;
  }
  .book-article table,
  .book-table-scroll table,
  body.book-site.state-of-spine-vision .spine-compare-table {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    font-size: 8pt;
    overflow-wrap: anywhere;
  }
  .book-article th,
  .book-article td,
  body.book-site.state-of-spine-vision .spine-compare-table th,
  body.book-site.state-of-spine-vision .spine-compare-table td {
    padding: 1.5mm;
  }
  .book-chapter-index,
  .spine-field-nav,
  .rg-toolbar,
  .rg-modal,
  .book-feedback,
  .book-social-updates,
  .book-video,
  .publication-video,
  .paper-slides-embed,
  iframe,
  button {
    display: none !important;
  }
  .book-edition .book-export-actions {
    display: none !important;
  }
  .book-edition .book-page-heading,
  .book-edition .book-eyebrow,
  .book-edition main.book-main > article.book-article > .book-lede {
    display: none !important;
  }
  .book-edition .book-print-cover,
  .book-edition .book-print-title-page {
    display: block;
    position: relative;
    height: 230mm;
    box-sizing: border-box;
    break-after: page;
    page-break-after: always;
  }
  .book-edition .book-print-cover {
    border: 1.5pt solid #202020;
    padding: 14mm;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
  }
  .book-edition .book-print-cover-art {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none !important;
    object-fit: cover;
    z-index: 0;
  }
  .book-edition .book-print-cover > :not(.book-print-cover-art) {
    position: relative;
    z-index: 1;
  }
  .book-edition .book-print-cover > div {
    position: absolute;
    top: 50mm;
    left: 12mm;
    max-width: 55mm;
  }
  .book-edition .book-print-cover-overline {
    position: absolute;
    top: 12mm;
    left: 12mm;
  }
  .book-edition .book-print-cover-date {
    position: absolute;
    bottom: 12mm;
    left: 12mm;
  }
  .book-edition .book-print-cover h2 {
    font: 700 32pt/1.08 Book Mono, monospace;
    margin: 2mm 0 7mm;
  }
  .book-edition .book-print-cover p {
    font: 11pt/1.4 Georgia, "Times New Roman", serif;
    margin: 0;
  }
  .book-edition .book-print-cover .book-print-cover-overline,
  .book-edition .book-print-cover .book-print-cover-label,
  .book-edition .book-print-cover .book-print-cover-date {
    font: 9pt Book Mono, monospace;
    text-transform: uppercase;
    letter-spacing: .08em;
  }
  .book-edition .book-print-title-page {
    padding-top: 70mm;
  }
  .book-edition .book-print-title-page h2 {
    font: 700 23pt/1.15 Book Mono, monospace;
    margin: 5mm 0;
  }
  .book-edition .book-print-title-page > div {
    position: absolute;
    bottom: 12mm;
    border-top: .5pt solid #aaa;
    padding-top: 5mm;
    width: 100%;
  }
  .book-edition .book-export-contents {
    break-after: page;
  }
  .book-edition .book-export-contents h2 {
    font: 700 18pt/1.2 Book Mono, monospace;
    margin: 0 0 5mm;
  }
  .book-edition .book-export-contents li {
    break-inside: avoid;
  }
  .book-edition .book-export-contents a {
    padding: .6mm 0;
    font-size: 8.5pt;
    line-height: 1.15;
  }
  .book-edition .book-export-contents .book-export-stream {
    padding: 2.5mm 0 .5mm 15mm;
    font-size: 8.5pt;
  }
  .book-edition .book-export-pages {
    margin-top: 0;
  }
  .book-edition .book-export-entry {
    break-before: page;
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
  }
  .book-edition .book-export-entry:first-child {
    break-before: auto;
  }
  .book-edition .book-export-entry > h2 {
    font: 700 22pt/1.16 Book Mono, monospace;
    margin: 3mm 0 9mm;
  }
  .book-edition .book-export-entry > h3 {
    font: 700 16pt/1.2 Book Mono, monospace;
    margin: 3mm 0 7mm;
  }
  .book-edition .book-export-entry > h2 a,
  .book-edition .book-export-entry > h3 a {
    text-decoration: none !important;
  }
  .book-search-input,
  .book-search-label,
  .book-search-count {
    display: none;
  }
}
