:root{
  --wine:#660000; --wine2:#3b0000; --wine3:#8b1111; --yellow:#ffd84a; --gold:#ffb703;
  --cream:#fff8e8; --paper:#fffdf7; --ink:#251414; --pink:#ff5c8a; --teal:#2ec4b6;
  --shadow:0 28px 70px rgba(52,0,0,.15); --radius:26px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden}
a{color:inherit}.site-header{min-height:100vh;background:radial-gradient(circle at 83% 27%,rgba(255,216,74,.24),transparent 28%),linear-gradient(135deg,#300000 0%,var(--wine) 54%,#8d1010 100%);color:white;position:relative;overflow:hidden}.site-header:before{content:"";position:absolute;inset:118px 0 0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent)}.brand-strip{height:118px;background:white;display:flex;align-items:center;padding:15px max(24px,5vw);position:relative;z-index:3}.brand-strip img{max-height:82px;max-width:min(760px,90vw);object-fit:contain;object-position:left center}.nav-shell{height:78px;padding:0 max(28px,6vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.15);position:relative;z-index:4;backdrop-filter:blur(10px)}.brand-word{font-weight:800;text-decoration:none;letter-spacing:.03em}.nav-links{display:flex;gap:30px}.nav-links a{text-decoration:none;font-size:.91rem;color:rgba(255,255,255,.82);transition:.25s}.nav-links a:hover{color:var(--yellow)}.hero{min-height:calc(100vh - 196px);padding:5vw max(28px,7vw) 7vw;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4vw;position:relative;z-index:2}.journal-line{font-weight:800;letter-spacing:.16em;font-size:.78rem;color:var(--yellow);margin:0 0 24px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.2rem,8.5vw,8rem);line-height:.82;letter-spacing:-.055em;margin:0}.hero h1 span{color:var(--yellow);font-style:italic}.hero-subtitle{max-width:640px;font-size:clamp(1rem,1.6vw,1.35rem);line-height:1.7;color:rgba(255,255,255,.78);margin:34px 0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:800;font-size:.92rem}.btn-primary{background:var(--yellow);color:#4b0000;box-shadow:0 10px 30px rgba(255,216,74,.25)}.btn-ghost{border:1px solid rgba(255,255,255,.34);color:white}.hero-art{min-height:520px;display:flex;align-items:center;justify-content:center}.hero-art svg{width:min(560px,100%);overflow:visible}.heart-line{fill:none;stroke:var(--yellow);stroke-width:5;stroke-linejoin:round;filter:drop-shadow(0 0 12px rgba(255,216,74,.44));stroke-dasharray:1600;animation:draw 3.2s ease-out both}.heart-line.fine{stroke-width:2;opacity:.72;animation-delay:.35s}.pulse-dots circle{fill:#fff;animation:pulse 2s ease-in-out infinite}.pulse-dots circle:nth-child(2n){animation-delay:.7s}.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:.68rem;letter-spacing:.22em;color:rgba(255,255,255,.6);z-index:4}.scroll-cue span{color:var(--yellow);font-size:1.1rem;margin-left:8px}@keyframes draw{from{stroke-dashoffset:1600}to{stroke-dashoffset:0}}@keyframes pulse{50%{transform:scale(1.9);opacity:.3}}
.section{padding:110px max(28px,6vw)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;max-width:1400px;margin:0 auto 60px}.section-heading>div{display:flex;align-items:baseline;gap:24px}.section-number{font-size:.76rem;font-weight:900;letter-spacing:.18em;color:var(--wine);background:var(--yellow);padding:8px 10px;border-radius:8px}.section-heading h2,.article h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,5vw,4.8rem);line-height:.95;margin:0;color:var(--wine)}.section-heading p{max-width:540px;font-size:1.06rem;line-height:1.7;color:#745b5b;margin:0}.etiology{background:linear-gradient(180deg,#fffdf7,#fff4d7)}.etiology-layout{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:30px}.network-card,.detail-panel{background:rgba(255,255,255,.82);border:1px solid rgba(102,0,0,.09);border-radius:var(--radius);box-shadow:var(--shadow)}.network-card{padding:16px;overflow:hidden}.network-card svg{width:100%;display:block}.connector-lines line{stroke:#9b4b4b;stroke-width:2;stroke-dasharray:8 10}.center-node circle{fill:var(--wine);filter:drop-shadow(0 14px 22px rgba(102,0,0,.28))}.center-node text{fill:white;font-size:16px;font-weight:900;letter-spacing:.07em}.factor-node{cursor:pointer;outline:none}.factor-node circle{fill:#fff9df;stroke:var(--wine);stroke-width:2;transition:.28s;filter:drop-shadow(0 7px 12px rgba(82,0,0,.08))}.factor-node text{fill:var(--wine);font-size:14px;font-weight:800;pointer-events:none}.factor-node:hover circle,.factor-node:focus circle,.factor-node.active circle{fill:var(--yellow);stroke-width:5;filter:drop-shadow(0 0 18px rgba(255,183,3,.65))}.detail-panel{padding:38px;display:flex;flex-direction:column;justify-content:center}.detail-kicker{font-size:.72rem;font-weight:900;letter-spacing:.18em;color:#a24747;margin-bottom:10px}.detail-panel h3{font-family:Georgia,serif;font-size:2.6rem;color:var(--wine);margin:0 0 26px}.pathway{display:grid;gap:18px}.pathway>div{display:grid;grid-template-columns:38px 1fr;column-gap:13px;align-items:start;padding-bottom:18px;border-bottom:1px solid #ecd8c0}.pathway span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--wine);color:var(--yellow);font-weight:900}.pathway strong{color:var(--wine)}.pathway p{margin:5px 0 0;color:#644f4f;line-height:1.55}.source-note{font-size:.78rem;color:#8e7474;line-height:1.5;margin:24px 0 0}.neural{background:linear-gradient(145deg,#2d0000,var(--wine) 58%,#8a1010);color:white;position:relative;overflow:hidden}.neural:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-160px;top:-100px;background:radial-gradient(circle,rgba(255,216,74,.25),transparent 65%)}.section-heading.light h2{color:white}.section-heading.light p{color:rgba(255,255,255,.72)}.neural-layout{max-width:1400px;margin:auto;display:grid;grid-template-columns:300px 1fr;gap:30px;position:relative;z-index:2}.neural-controls{display:grid;align-content:start;gap:10px}.scenario{appearance:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:white;border-radius:16px;padding:17px 18px;display:flex;gap:16px;align-items:center;text-align:left;font-weight:800;cursor:pointer;transition:.25s}.scenario span{font-size:.72rem;color:var(--yellow);letter-spacing:.12em}.scenario:hover,.scenario.active{background:var(--yellow);color:#4b0000;border-color:var(--yellow);transform:translateX(7px)}.scenario.active span{color:#660000}.migration-stage{min-height:600px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:radial-gradient(circle at 65% 55%,rgba(255,216,74,.12),transparent 30%),rgba(20,0,0,.25);overflow:hidden;position:relative}.migration-stage svg{width:100%;height:auto;display:block}.embryo-outline{fill:none;stroke:rgba(255,255,255,.18);stroke-width:3}.heart-seed{fill:rgba(255,92,138,.16);stroke:#ff7aa0;stroke-width:3}.migration-path{fill:none;stroke:url(#flowGradient);stroke-width:4;stroke-linecap:round;stroke-dasharray:11 12;animation:flow 3s linear infinite}.migration-path:nth-of-type(4){animation-delay:-1s}.migration-path:nth-of-type(5){animation-delay:-2s}.diagram-label{fill:rgba(255,255,255,.5);font-size:12px;letter-spacing:.16em;font-weight:800}.crest-particle{fill:var(--yellow)}@keyframes flow{to{stroke-dashoffset:-46}}.scenario-readout{position:absolute;left:34px;right:34px;bottom:28px;padding:24px 28px;border-radius:20px;background:rgba(54,0,0,.68);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.13)}.scenario-readout span{font-size:.68rem;letter-spacing:.18em;color:var(--yellow);font-weight:900}.scenario-readout h3{font-family:Georgia,serif;font-size:2rem;margin:8px 0}.scenario-readout p{margin:0;color:rgba(255,255,255,.74);line-height:1.55}.coping{background:linear-gradient(180deg,#fff9e9,#fffdf8)}.coping-layout{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center}.wheel-shell{position:relative;min-height:720px;display:grid;place-items:center}.orbit{position:absolute;border:1px dashed rgba(102,0,0,.14);border-radius:50%;animation:spin 34s linear infinite}.orbit-a{width:665px;height:665px}.orbit-b{width:580px;height:580px;animation-direction:reverse;animation-duration:26s}.coping-wheel{position:relative;width:min(620px,78vw);aspect-ratio:1;border-radius:50%;animation:spin 42s linear infinite;filter:drop-shadow(0 28px 38px rgba(73,0,0,.18))}.coping-wheel:hover,.coping-wheel.paused{animation-play-state:paused}.wedge{position:absolute;inset:0;border:0;background:transparent;cursor:pointer;clip-path:polygon(50% 50%,50% 0,80% 0);transform-origin:50% 50%;transition:filter .2s}.wedge:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,var(--wine) 0deg 36deg,transparent 36deg);transition:.25s}.wedge span{position:absolute;top:12%;left:58%;width:26%;transform:rotate(18deg);font-size:.72rem;line-height:1.2;text-align:center;color:white;font-weight:900;z-index:2;pointer-events:none}.wedge:hover:before,.wedge.active:before{background:conic-gradient(from 0deg,var(--yellow) 0deg 36deg,transparent 36deg);filter:drop-shadow(0 0 12px rgba(255,183,3,.65))}.wedge:hover span,.wedge.active span{color:#4b0000}.w1{transform:rotate(0deg)}.w2{transform:rotate(36deg)}.w3{transform:rotate(72deg)}.w4{transform:rotate(108deg)}.w5{transform:rotate(144deg)}.w6{transform:rotate(180deg)}.w7{transform:rotate(216deg)}.w8{transform:rotate(252deg)}.w9{transform:rotate(288deg)}.w10{transform:rotate(324deg)}.w2:before{--wine:#7d0b0b}.w3:before{--wine:#9d2515}.w4:before{--wine:#c24a14}.w5:before{--wine:#e47f0e}.w6:before{--wine:#ca8c00}.w7:before{--wine:#816d0a}.w8:before{--wine:#495f38}.w9:before{--wine:#7d2947}.w10:before{--wine:#4f0b23}.wheel-center{position:absolute;inset:31%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8a1616,var(--wine));border:8px solid var(--yellow);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 0 36px rgba(255,183,3,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;z-index:10}.wheel-center strong{font-family:Georgia,serif;font-size:1.85rem;color:var(--yellow)}.wheel-center span{font-size:.85rem;line-height:1.3}.wheel-tip{position:absolute;bottom:5px;color:#8c6a62;font-size:.79rem}.coping-detail{padding:42px;border-left:4px solid var(--yellow);background:white;box-shadow:var(--shadow);border-radius:0 var(--radius) var(--radius) 0}.coping-label{font-size:.72rem;letter-spacing:.18em;color:#9b4a4a;font-weight:900}.coping-detail h3{font-family:Georgia,serif;color:var(--wine);font-size:clamp(2.2rem,3.6vw,3.5rem);line-height:1.03;margin:12px 0 20px}.coping-detail>p:not(.coping-label){color:#725b5b;line-height:1.7;font-size:1.05rem}.coping-meta{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.coping-meta span{background:#fff3c2;color:#660000;border-radius:999px;padding:8px 11px;font-size:.76rem;font-weight:800}.quote-box{background:var(--wine);color:white;border-radius:18px;padding:22px}.quote-box strong{color:var(--yellow)}.quote-box p{line-height:1.55;margin:8px 0 0;color:rgba(255,255,255,.8)}@keyframes spin{to{transform:rotate(360deg)}}.article{background:#f5ead9}.article-card{max-width:1400px;margin:auto;background:white;border-radius:30px;padding:52px;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;box-shadow:var(--shadow)}.article-main h2{margin:18px 0 30px}.article-main h3{font-family:Georgia,serif;font-size:2rem;line-height:1.15;color:#4f1717;margin:0 0 15px}.article-main p{color:#775f5f;line-height:1.6}.article-meta{display:grid;align-content:center;gap:22px}.article-meta div{padding-bottom:20px;border-bottom:1px solid #eadccb}.article-meta span{display:block;font-size:.7rem;font-weight:900;letter-spacing:.16em;color:#a67575;margin-bottom:6px}.article-meta strong,.article-meta a{font-size:.98rem;color:var(--wine);text-decoration:none}footer{background:#280000;color:rgba(255,255,255,.7);padding:28px max(28px,6vw);display:flex;justify-content:space-between;gap:20px}footer a{color:var(--yellow);text-decoration:none}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero-art{min-height:380px}.hero-art svg{width:420px}.etiology-layout,.coping-layout,.article-card{grid-template-columns:1fr}.neural-layout{grid-template-columns:1fr}.neural-controls{grid-template-columns:repeat(2,1fr)}.wheel-shell{min-height:650px}.detail-panel{min-height:440px}.section-heading{align-items:start;flex-direction:column}.section-heading p{max-width:760px}.article-card{gap:25px}}@media(max-width:720px){.brand-strip{height:92px}.brand-strip img{max-height:58px}.nav-shell{height:64px}.nav-links{display:none}.hero{min-height:calc(100vh - 156px);padding-top:72px}.hero h1{font-size:clamp(3.4rem,18vw,5.4rem)}.hero-art{min-height:300px}.section{padding:78px 20px}.section-heading>div{gap:14px;align-items:flex-start}.section-heading h2{font-size:2.8rem}.etiology-layout{gap:20px}.network-card{padding:0}.detail-panel{padding:28px}.detail-panel h3{font-size:2rem}.neural-controls{grid-template-columns:1fr}.migration-stage{min-height:500px}.scenario-readout{left:16px;right:16px;bottom:16px;padding:18px}.scenario-readout h3{font-size:1.4rem}.wheel-shell{min-height:520px}.orbit-a{width:90vw;height:90vw}.orbit-b{width:80vw;height:80vw}.coping-wheel{width:88vw}.wedge span{font-size:.55rem}.wheel-center strong{font-size:1.2rem}.coping-detail{padding:28px}.article-card{padding:28px}.article-main h3{font-size:1.5rem}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.coping-wheel,.orbit,.migration-path,.pulse-dots circle{animation:none}.reveal{opacity:1;transform:none}}

/* Book interface */
html,body{height:100%;overflow:hidden}body{background:#2b0000}.book-app{height:100vh;display:grid;grid-template-columns:310px 1fr;background:#efe3c5}.book-menu{position:relative;z-index:20;background:linear-gradient(180deg,#520000,#660000 55%,#3b0000);color:white;display:flex;flex-direction:column;box-shadow:16px 0 36px rgba(35,0,0,.24);border-right:8px solid #d7b833}.book-menu:after{content:"";position:absolute;right:-12px;top:0;bottom:0;width:12px;background:linear-gradient(90deg,rgba(61,0,0,.35),transparent);pointer-events:none}.book-brand{background:white;padding:18px 20px;border-bottom:4px solid var(--yellow)}.book-brand img{display:block;width:100%;height:70px;object-fit:contain;object-position:left center}.book-title{padding:26px 24px 18px;font-family:Georgia,serif;font-size:1.5rem;color:var(--yellow);line-height:1.05}.book-title small{display:block;margin-top:8px;font-family:Arial,sans-serif;font-size:.72rem;letter-spacing:.08em;color:rgba(255,255,255,.62)}.chapter-nav{padding:8px 14px;display:grid;gap:9px}.chapter-link{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:white;border-radius:14px;padding:14px 14px;display:grid;grid-template-columns:38px 1fr;text-align:left;cursor:pointer;transition:.24s}.chapter-link>span{grid-row:1/3;color:var(--yellow);font-weight:900;font-size:.76rem;letter-spacing:.1em;padding-top:2px}.chapter-link b{font-size:.98rem}.chapter-link small{font-size:.72rem;color:rgba(255,255,255,.55);margin-top:3px}.chapter-link:hover,.chapter-link.active{background:var(--yellow);color:#4a0000;transform:translateX(5px);box-shadow:0 8px 24px rgba(0,0,0,.18)}.chapter-link.active>span,.chapter-link:hover>span{color:#660000}.chapter-link.active small,.chapter-link:hover small{color:#754d00}.book-menu-footer{margin-top:auto;padding:18px 24px 24px;font-size:.68rem;letter-spacing:.11em;color:rgba(255,255,255,.5)}
.book-pages{position:relative;height:100vh;overflow:hidden;background:#f5eddc}.book-pages:before{content:"";position:absolute;inset:18px 18px 18px 0;border-radius:0 20px 20px 0;box-shadow:0 18px 60px rgba(55,28,0,.18);pointer-events:none;z-index:1}.book-page{position:absolute;inset:0;overflow:auto;display:none;padding:68px clamp(34px,5vw,82px);animation:pageIn .42s ease both}.book-page.active{display:block}.book-page:after{content:"";position:fixed;right:18px;top:18px;bottom:18px;width:12px;border-radius:0 18px 18px 0;background:linear-gradient(90deg,#d5c6a7,#fff9e8);box-shadow:inset 2px 0 rgba(102,0,0,.07);pointer-events:none}.book-page .section-heading{margin-top:0}.hero-page{background:radial-gradient(circle at 80% 28%,rgba(255,216,74,.22),transparent 30%),linear-gradient(135deg,#300000,#660000 58%,#8d1010);color:white;grid-template-columns:1.05fr .95fr;align-items:center;gap:4vw}.hero-page.active{display:grid}.hero-page .hero-copy{padding-left:1vw}.hero-page .hero-art{min-height:0}.hero-page .journal-line{margin-top:0}.hero-page .hero-actions a{cursor:pointer}.hero-page .hero-actions .btn-primary,.hero-page .hero-actions .btn-ghost{pointer-events:none}.article{background:linear-gradient(135deg,#f4e8ce,#fffdf6)}.article .article-card{margin-top:7vh}.etiology,.neural,.coping{min-height:100%;box-sizing:border-box}.etiology{background:linear-gradient(180deg,#fffdf7,#fff4d7)}.neural{background:linear-gradient(145deg,#2d0000,#660000 58%,#8a1010)}.coping{background:linear-gradient(180deg,#fff9e9,#fffdf8)}@keyframes pageIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}

/* Neural scenario has a visibly different heart + field for every factor */
.heart-halo{fill:rgba(255,216,74,.06);stroke:rgba(255,216,74,.18);stroke-width:2;transition:.45s}.heart-seed,.heart-septum,.migration-path,.embryo-outline{transition:.45s}.heart-septum{fill:none;stroke:#ffd84a;stroke-width:3;opacity:.75}.migration-stage.scenario-normal .heart-seed{fill:rgba(255,92,138,.18);stroke:#ff7aa0}.migration-stage.scenario-normal .heart-halo{fill:rgba(255,216,74,.08)}.migration-stage.scenario-tbx .path-a{opacity:.15}.migration-stage.scenario-tbx .path-b{stroke-width:7;stroke-dasharray:4 16}.migration-stage.scenario-tbx .heart-seed{fill:rgba(255,216,74,.18);stroke:#ffd84a;transform:translate(-5px,2px)}.migration-stage.scenario-tbx .heart-septum{opacity:.28;stroke-dasharray:6 8}.migration-stage.scenario-tbx .heart-halo{fill:rgba(255,216,74,.16);stroke:#ffd84a}.migration-stage.scenario-pax .migration-path{opacity:.38;stroke-width:2}.migration-stage.scenario-pax .heart-seed{fill:rgba(119,187,255,.12);stroke:#8ec7ff;transform:scale(.94);transform-origin:589px 374px}.migration-stage.scenario-pax .heart-septum{stroke:#8ec7ff;opacity:.45}.migration-stage.scenario-pax .heart-halo{fill:rgba(80,160,255,.08);stroke:#8ec7ff}.migration-stage.scenario-alcohol .migration-path{opacity:.25;stroke-dasharray:2 18}.migration-stage.scenario-alcohol .heart-seed{fill:rgba(255,65,65,.22);stroke:#ff4d4d;filter:drop-shadow(0 0 18px rgba(255,60,60,.55));animation:heartDistress .8s ease-in-out infinite alternate}.migration-stage.scenario-alcohol .heart-septum{stroke:#ff4d4d;opacity:.25}.migration-stage.scenario-alcohol .heart-halo{fill:rgba(255,65,65,.13);stroke:#ff4d4d}.migration-stage.scenario-retinoic .path-a{transform:translateY(14px)}.migration-stage.scenario-retinoic .path-c{transform:translateY(-18px)}.migration-stage.scenario-retinoic .heart-seed{fill:rgba(255,145,0,.22);stroke:#ffb000;transform:skewX(-5deg);transform-origin:589px 374px}.migration-stage.scenario-retinoic .heart-septum{stroke:#ffb000;stroke-width:6}.migration-stage.scenario-retinoic .heart-halo{fill:rgba(255,145,0,.12);stroke:#ffb000}@keyframes heartDistress{to{transform:scale(1.035);transform-origin:589px 374px}}

/* precise centering of wheel labels inside each 36° segment */
.wedge span{top:12%;left:62.4%;width:24%;transform:translate(-50%,-50%) rotate(18deg);transform-origin:center center;display:flex;align-items:center;justify-content:center;min-height:38px;text-align:center;line-height:1.12}

@media(max-width:980px){html,body{overflow:auto}.book-app{height:auto;min-height:100vh;grid-template-columns:1fr}.book-menu{position:sticky;top:0;height:auto;border-right:0;border-bottom:5px solid #d7b833}.book-brand{display:none}.book-title{display:none}.chapter-nav{display:flex;overflow:auto;padding:10px}.chapter-link{min-width:160px;transform:none!important}.book-menu-footer{display:none}.book-pages{height:calc(100vh - 85px)}.book-page{padding:38px 22px}.hero-page.active{grid-template-columns:1fr}.hero-page .hero-art{display:none}.book-page:after{display:none}}

/* 2026-10-20 — viewport-fit refinements requested by user */
/* Home: make the anatomical heart the dominant visual without changing the layout */
.hero-page .hero-art svg{
  width:min(720px,100%);
  max-height:78vh;
}

/* Coping page: fit the entire wheel inside the book page and remove the right scrollbar */
.book-page.coping{
  overflow:hidden;
  padding-top:42px;
  padding-bottom:36px;
}
.coping .section-heading{
  margin-bottom:20px;
}
.coping-layout{
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:34px;
  height:calc(100vh - 190px);
  max-height:680px;
  align-items:center;
}
.coping .wheel-shell{
  min-height:0;
  height:100%;
  max-height:610px;
  overflow:visible;
}
.coping .coping-wheel{
  width:min(530px,44vw,calc(100vh - 270px));
}
.coping .orbit-a{
  width:min(575px,47vw,calc(100vh - 225px));
  height:min(575px,47vw,calc(100vh - 225px));
}
.coping .orbit-b{
  width:min(505px,42vw,calc(100vh - 295px));
  height:min(505px,42vw,calc(100vh - 295px));
}
.coping .wheel-tip{
  bottom:2px;
}

@media(max-height:820px) and (min-width:981px){
  .book-page.coping{padding-top:28px;padding-bottom:24px}
  .coping .section-heading{margin-bottom:12px}
  .coping .section-heading h2{font-size:clamp(2.25rem,4vw,3.7rem)}
  .coping .section-heading p{font-size:.92rem;line-height:1.45}
  .coping-layout{height:calc(100vh - 150px);gap:26px}
  .coping .coping-wheel{width:min(470px,40vw,calc(100vh - 245px))}
  .coping .orbit-a{width:min(510px,43vw,calc(100vh - 205px));height:min(510px,43vw,calc(100vh - 205px))}
  .coping .orbit-b{width:min(445px,38vw,calc(100vh - 275px));height:min(445px,38vw,calc(100vh - 275px))}
  .coping-detail{padding:28px}
}

@media(max-width:980px){
  .book-page.coping{overflow:auto;padding:38px 22px}
  .coping-layout{height:auto;max-height:none;grid-template-columns:1fr}
  .coping .wheel-shell{height:560px;max-height:none}
  .coping .coping-wheel{width:min(500px,84vw)}
  .coping .orbit-a{width:min(545px,91vw);height:min(545px,91vw)}
  .coping .orbit-b{width:min(475px,80vw);height:min(475px,80vw)}
}
