.academy-system{background:#fff;color:#202723;padding:60px 5% 90px;scroll-margin-top:135px}
.system-heading{max-width:880px;margin:0 auto 36px;text-align:center}
.system-heading h2{font-family:Anton,sans-serif;font-size:clamp(36px,4.8vw,62px);line-height:1.23;font-weight:400;text-wrap:balance;margin:15px 0 22px}
.system-heading>p:last-child{max-width:720px;font-size:16px;line-height:1.7;margin:auto}
.system-connection{display:flex;justify-content:center;align-items:center;gap:30px;margin:0 auto 30px;max-width:900px;padding:22px 0}
.system-connection>div,.system-sports{position:relative;display:flex;flex-direction:column;gap:8px;text-align:center;color:inherit;text-decoration:none}
.system-connection strong{font-family:Anton,sans-serif;font-size:32px;font-weight:400}
.system-connection span:not(.system-connector){font-size:12px;line-height:1.5}
.system-sports i{position:absolute;right:-22px;top:6px;font-size:18px;font-style:normal}
.system-sports:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.system-connector{width:clamp(45px,10vw,140px);height:1px;background:#b4a580;position:relative}
.system-connector:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid #b4a580;border-right:1px solid #b4a580;transform:rotate(45deg)}
.system-publication{max-width:1150px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,80px);align-items:center}
.system-book{position:relative;width:100%;min-width:0}
.publication-stage{position:relative;aspect-ratio:1.06;perspective:1800px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.publication-stage:after{content:"";position:absolute;left:24%;right:19%;bottom:9%;height:6%;background:radial-gradient(ellipse,#1c211c12,transparent 70%);transform:rotate(-5deg);pointer-events:none;transition:transform 1.2s cubic-bezier(.16,1,.3,1),opacity 1.2s}
.publication-volume{--book-depth:15px;position:absolute;left:27%;top:8%;width:51%;aspect-ratio:910/1287;transform-style:preserve-3d;transform-origin:50% 50%;transform:rotateX(7deg) rotateY(-28deg) rotateZ(-4deg);transition:transform 1.25s cubic-bezier(.16,1,.3,1)}
.publication-back{position:absolute;inset:-1px;background:#11120f;border-radius:1px 2px 2px 1px;transform:translateZ(calc(-1 * var(--book-depth)));box-shadow:8px 15px 25px #20251e20,2px 4px 7px #20251e26}
.publication-spine{position:absolute;left:0;top:0;width:var(--book-depth);height:100%;transform-origin:left;transform:rotateY(90deg);background:linear-gradient(90deg,#080908,#1b1c18 45%,#0c0d0b);border-radius:2px 0 0 2px}
/* The paper block sits inside the black boards, never on their perimeter. */
.publication-foreedge,.publication-bottomedge,.publication-topedge{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.publication-foreedge{position:absolute;left:calc(100% - 4px);top:5px;width:calc(var(--book-depth) - 3px);height:calc(100% - 10px);transform-origin:left;transform:translateZ(-2px) rotateY(90deg);background:repeating-linear-gradient(90deg,#d9d6cb 0px,#dfdcd2 1px,#ccc9bf 1.3px,#dfdcd2 2px);box-shadow:inset 0 0 3px #23251d26}
.publication-bottomedge{position:absolute;top:calc(100% - 5px);left:2px;width:calc(100% - 6px);height:calc(var(--book-depth) - 3px);transform-origin:top;transform:translateZ(-2px) rotateX(-90deg);background:repeating-linear-gradient(0deg,#d6d3c9 0px,#dfdcd2 1px,#cac7bd 1.3px,#dfdcd2 2px)}
.publication-topedge{position:absolute;bottom:calc(100% - 5px);left:2px;width:calc(100% - 6px);height:calc(var(--book-depth) - 3px);transform-origin:bottom;transform:translateZ(-2px) rotateX(90deg);background:repeating-linear-gradient(0deg,#dedbd1 0px,#e3e0d7 1px,#d5d2c8 1.4px,#e3e0d7 2px)}
/* A black, full-bleed guide has a quiet graphite edge, not a white outline.
   Keep edge faces subdued even at subpixel grazing angles during the turn. */
.publication-foreedge{background:repeating-linear-gradient(90deg,#262720 0px,#2e2f27 1px,#24251e 1.3px,#2e2f27 2px);box-shadow:none}
.publication-bottomedge,.publication-topedge{background:repeating-linear-gradient(0deg,#24251f 0px,#2c2d25 1px,#23241d 1.3px,#2c2d25 2px)}
.publication-pages{position:absolute;inset:5px 4px 5px 1px;background:#090a08;transform:translateZ(-2px);border-radius:0 1px 1px 0;box-shadow:1px 1px 2px #15181033;overflow:hidden}
.publication-pages>img{display:block;width:100%;height:100%;object-fit:cover}
.publication-pages:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0009,#0002 3%,transparent 11%,transparent 92%,#0002);opacity:.55;transition:opacity 1.2s}
.publication-cover{position:absolute;inset:-1px;transform-origin:left center;transform-style:preserve-3d;transition:transform 1.25s cubic-bezier(.16,1,.3,1);transform:translateZ(1px) rotateY(0deg)}
.publication-cover-front,.publication-cover-inside{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.publication-cover-front{background:#080908;border-radius:1px 2px 2px 1px;overflow:hidden;transform:translateZ(1px);box-shadow:1px 1px 2px #08090899}
.publication-cover-front:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0005,transparent 1.4%,#0007 2.5%,transparent 5.5%,transparent 94%,#0002);box-shadow:inset 0 0 0 1px #090a08;pointer-events:none}
.publication-cover-front>img{width:100%;height:100%;display:block;object-fit:cover;border:1px solid #090a08;box-sizing:border-box}
.publication-cover-inside{transform:rotateY(180deg) translateZ(1px);background:#11120f;border:0;border-radius:2px 1px 1px 2px;box-shadow:-4px 8px 16px #20251e18;display:flex;flex-direction:column;justify-content:space-between;padding:10%;font-size:9px;letter-spacing:.08em;color:#252c25}
.publication-cover-inside:before{content:"";position:absolute;inset:4px 2px 4px 4px;border-radius:1px;background:linear-gradient(90deg,#eeece3,#f1efe7 65%,#dfdcd1 95%,#b6b3a8);box-shadow:inset -2px 0 5px #2a2a2020;pointer-events:none}
.publication-cover-inside>*{position:relative}
.publication-cover-inside img{width:28%;height:auto;align-self:flex-start}
.publication-cover-inside span:last-child{font-family:Anton,sans-serif;font-size:clamp(16px,2.2vw,28px);line-height:1.25;letter-spacing:0}
.system-book.is-open .publication-volume{transform:translateX(39%) scale(.84) rotateX(6deg) rotateY(-3deg) rotateZ(-1deg)}
.system-book.is-open .publication-cover{transform:translateZ(1px) rotateY(-168deg)}
.system-book.is-open .publication-pages:after{opacity:1}
.system-book.is-open .publication-stage:after{transform:translateX(-15%) scaleX(1.55);opacity:.6}
.publication-toggle{display:flex;align-items:center;justify-content:center;gap:20px;margin:6px auto 20px;padding:12px 18px;border:1px solid #c7c1b1;border-radius:28px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer;transition:background .2s}
.publication-toggle:hover{background:#eeeadc}
.publication-toggle:focus-visible{outline:3px solid #927847;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.publication-volume,.publication-cover,.publication-toggle,.publication-pages:after,.publication-stage:after{transition:none}}
.system-guide h3{font-family:Anton,sans-serif;font-weight:400;font-size:clamp(30px,3.7vw,46px);line-height:1.24;text-wrap:balance;margin:15px 0 20px}
.system-guide>p:not(.idea-eyebrow){font-size:15px;line-height:1.7}
.system-guide .system-spine{border-top:0;padding-top:0;margin-top:28px}
.system-read{display:inline-flex;align-items:center;gap:25px;border-radius:32px;background:#202723;color:#faf9f5;padding:16px 23px;text-decoration:none;font-size:14px;line-height:1.5;margin-top:5px;transition:background .2s}
.system-read:hover{background:#454c40}
.system-guide .system-guide-note{font-size:12px!important;margin:12px 0 0}
.system-guide .system-preview-note{font-size:11px!important;color:#686658;margin:3px 0 0}
.academy-system a:focus-visible{outline:3px solid #927847;outline-offset:7px}
@media(max-width:750px){.academy-system{padding:40px 24px 65px}.system-publication{grid-template-columns:1fr;gap:12px}.system-book{max-width:440px;margin:auto}.system-guide{max-width:530px;margin:auto}.system-connection{gap:18px}.system-connection strong{font-size:28px}.system-connection span:not(.system-connector){font-size:11px}.system-sports i{right:-10px;font-size:13px}.system-connector{width:30px;flex-shrink:0}.system-heading h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.system-book img,.system-read{transition:none}.system-book:hover img,.system-book:focus-visible img{transform:none}}
@media(pointer:coarse){.publication-toggle{min-height:44px}}
