/* A purposeful visual system: human presence, strategic movement, precise lines. */
:root{--board-black:#050b13;--board-gold:#ddbe79;--board-violet:#a792ed;--board-cyan:#68cde7}
.board-invitation{display:inline-block;margin-top:26px;font-size:.92rem;letter-spacing:.04em;border-bottom:1px solid var(--gold-light);padding-bottom:7px;color:#e5cf9f}
.hero-copy h1{font-size:clamp(3rem,6.5vw,5.8rem);max-width:660px}
.hero-portrait{width:47%}.hero-copy{max-width:650px}.hero-detail{max-width:550px}
.intentional-motion{transform:translate3d(0,var(--image-drift,0px),0) scale(1.075)!important;will-change:transform}
.chess-story{position:relative;background:var(--board-black);color:#d2dce5;padding:110px max(24px,calc((100vw - 1240px)/2)) 65px;border-top:1px solid rgba(221,190,121,.3);overflow:clip}
.board-heading{max-width:850px;margin-bottom:55px}.board-heading h2{color:#fff;font-size:clamp(2.8rem,5vw,5rem)}.board-heading h2 em{color:var(--board-gold)}.board-heading>p:last-child{font-size:1.12rem;max-width:610px;color:#aebbc8}
.chess-layout{display:grid;grid-template-columns:1.04fr .96fr;gap:8%;align-items:start}.chess-stage{position:sticky;top:110px;height:calc(100svh - 150px);min-height:460px;max-height:740px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;isolation:isolate;--spot-x:50%;--spot-y:45%;background:radial-gradient(ellipse at var(--spot-x) var(--spot-y),rgba(81,124,158,.18),transparent 65%)}
.board-coordinate{position:absolute;top:16px;left:0;font-size:.75rem;letter-spacing:.12em;color:#8c9fad}.chess-grid{position:absolute;inset:49% -15% 12%;z-index:-1;transform:perspective(680px) rotateX(61deg);transform-origin:center bottom;background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),rgba(221,190,121,.23) calc(12.5% - 1px) 12.5%),repeating-linear-gradient(0deg,transparent 0 calc(12.5% - 1px),rgba(221,190,121,.23) calc(12.5% - 1px) 12.5%);mask-image:linear-gradient(transparent,#000 25%)}
.board-axis{position:absolute;z-index:-1;top:30%;height:50%;width:1px;background:linear-gradient(transparent,var(--board-cyan),transparent);opacity:.45;transition:transform 1s}.axis-one{left:37%;transform:rotate(25deg)}.axis-two{right:37%;transform:rotate(-25deg)}.chess-stage[data-active="2"] .axis-one{transform:rotate(45deg)}.chess-stage[data-active="2"] .axis-two{transform:rotate(-45deg)}
.piece-halo{position:absolute;top:8%;left:15%;width:70%;aspect-ratio:1;border:1px solid rgba(221,190,121,.25);border-radius:50%;box-shadow:0 0 90px rgba(121,96,171,.15),inset 0 0 70px rgba(102,154,190,.08);transition:border-color .7s,transform 1s}.chess-stage[data-active="1"] .piece-halo{border-color:rgba(167,146,237,.65);transform:scale(1.12)}.chess-stage[data-active="2"] .piece-halo{border-color:rgba(104,205,231,.5);transform:scale(.92)}
.chess-art{position:absolute;inset:0 0 20%;pointer-events:none}.chess-asset{position:absolute;width:95%;height:100%;left:2.5%;top:0;object-fit:contain;opacity:0;filter:drop-shadow(0 32px 24px rgba(0,0,0,.55));transform:translate3d(calc(var(--piece-x,0px) + 55px),var(--piece-y,0px),0) rotateY(var(--piece-turn,0deg)) scale(.84);transition:opacity .55s,filter .4s}.chess-asset.is-active{opacity:1;transform:translate3d(var(--piece-x,0px),var(--piece-y,0px),0) rotateY(var(--piece-turn,0deg)) scale(1)}.bishop-pair{display:flex;align-items:center;justify-content:center;gap:0}.bishop-pair img{height:80%;width:62%;object-fit:contain}.bishop-pair img:first-child{transform:translateY(calc(var(--piece-y,0px) * -1)) translateX(-4%)}.bishop-pair img:last-child{transform:translateY(var(--piece-y,0px)) translateX(-15%)}
.board-readout{width:100%;text-align:center;z-index:1;margin-bottom:18px}.board-readout span{display:block;color:var(--board-gold);font-size:.76rem;letter-spacing:.2em}.board-readout strong{display:block;font:400 clamp(1.3rem,2.3vw,1.75rem) var(--serif);color:white;margin-top:8px}
.board-controls{display:flex;justify-content:center;gap:9px;z-index:1;width:100%;margin-bottom:20px}.board-controls button{background:transparent;border:1px solid #364450;color:#aebdcb;padding:12px 14px;font-size:.85rem;cursor:pointer}.board-controls button[aria-pressed="true"]{border-color:var(--board-gold);color:#efd79f;background:rgba(221,190,121,.07)}.board-progress{width:80%;height:2px;background:#203041}.board-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--board-gold),var(--board-violet),var(--board-cyan));transform:scaleX(0);transform-origin:left}
.chess-chapter{min-height:78svh;display:flex;flex-direction:column;justify-content:center;padding:50px 0;border-bottom:1px solid rgba(221,190,121,.17);opacity:.55;transition:opacity .5s}.chess-chapter.chapter-active{opacity:1}.chess-chapter h3{color:#fff;font-size:clamp(2.8rem,4.4vw,4rem);line-height:1.08}.chess-chapter h3 em{color:var(--board-gold)}.chess-chapter[data-chapter="1"] h3 em{color:var(--board-violet)}.chess-chapter[data-chapter="2"] h3 em{color:var(--board-cyan)}.chess-chapter>p:not(.eyebrow){font-size:1.12rem;line-height:1.7;max-width:470px}.chess-chapter ul{padding-left:18px;line-height:2;color:#93a7b9;margin:12px 0 28px}.chess-chapter a{align-self:flex-start;color:var(--board-gold)}.chess-chapter .button{color:var(--night)}
.board-outro{padding-top:65px;text-align:center;font-size:.8rem;letter-spacing:.15em;color:var(--board-gold)}.board-outro i{display:inline-block;width:60px;height:1px;vertical-align:middle;background:#52606b;margin:0 20px}.board-outro p{font:400 2.4rem var(--serif);color:#fff;letter-spacing:-.03em;margin-top:25px}
.navigator-section,.method-band,.impact-feature,.closing-cta{border-top:1px solid rgba(221,190,121,.3)}.section-heading{padding-bottom:22px;border-bottom:1px solid rgba(16,45,73,.17)}
.resource-grid{align-items:stretch}.resource-card.book-card{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:36px;background:linear-gradient(145deg,#fffefa,#e9e8e3);border-top:2px solid #bd965a}.book-cover-frame{width:100%;max-width:350px;aspect-ratio:1;margin:0 auto;transform:perspective(850px) rotateY(var(--book-turn,0deg));transition:transform .25s}.book-cover-frame img{transform:none}.book-card:hover .book-cover-frame{transform:perspective(850px) rotateY(var(--book-turn,0deg)) translateY(-5px)}.book-cover-index{font-size:.75rem}.book-copy{display:flex;flex-direction:column;flex:1}.book-copy .eyebrow{font-size:.78rem;min-height:22px}.book-copy h3{font-size:2rem;min-height:72px}.book-copy>p:not(.eyebrow){font-size:1rem;min-height:82px}.book-buy-button{font-size:.94rem;justify-content:center;min-height:52px;margin-top:14px}.book-copy small{font-size:.8rem}.book-preview-button{display:block;width:100%;padding:13px;border:1px solid #69788a;background:transparent;color:#102d49;font-weight:700;font-size:.94rem;cursor:pointer;margin-top:auto}.book-preview-button:hover{background:#102d49;color:#fff}
.book-preview-dialog{width:min(100% - 32px,1050px);max-height:90svh;border:1px solid #bb9d63;padding:48px;background:#0c1c2c;color:#cad5df;box-shadow:0 25px 120px #0009}.book-preview-dialog::backdrop{background:rgba(2,9,17,.8);backdrop-filter:blur(9px)}.preview-close{position:absolute;right:13px;top:7px;padding:3px 10px;font-size:2rem;color:#fff;background:none;border:0;cursor:pointer}.preview-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:45px}.preview-layout>img{width:100%;position:sticky;top:0;box-shadow:0 20px 40px #0005}.preview-layout h2{font-size:2.4rem;color:white}.preview-layout ul{padding-left:19px}.preview-layout li{margin:14px 0}.preview-exercise{padding-top:23px;margin-top:28px;border-top:1px solid #385064}.preview-exercise label{display:block;margin-bottom:12px}.preview-exercise textarea{width:100%;background:#142a3e;border:1px solid #62768a;color:white;padding:13px;resize:vertical;margin-bottom:15px}.preview-exercise textarea::placeholder{color:#94a9bc}.preview-exercise .button{font-size:.9rem}.preview-purchase{margin-top:25px;font-size:.95rem}#preview-result:not(:empty){border-left:2px solid var(--board-cyan);padding:15px 20px;margin-top:20px;background:#10283b}#preview-result strong{color:#e6d0a1}
@media(max-width:950px){.chess-layout{gap:5%}.board-controls{gap:5px}.board-controls button{padding:10px;font-size:.8rem}.hero-copy{max-width:610px}}
@media(max-width:700px){.hero-copy h1{font-size:clamp(2.8rem,11vw,4.4rem)}.chess-story{padding:65px 22px 45px}.board-heading{margin-bottom:20px}.board-heading h2{font-size:2.8rem}.chess-layout{display:block}.chess-stage{top:75px;height:37svh;min-height:280px;max-height:340px;background:radial-gradient(ellipse at center,rgba(53,77,107,.3),transparent 65%),#050b13;z-index:3;margin:0 -22px;padding:0 22px 10px;border-bottom:1px solid #3c4651}.board-coordinate{display:none}.chess-art{inset:-12% 0 18%}.chess-asset{width:75%;left:12.5%;}.piece-halo{width:45%;left:27.5%;top:0}.board-readout{margin-bottom:10px}.board-readout span{font-size:.75rem}.board-readout strong{font-size:1.25rem;margin-top:3px}.board-controls{margin-bottom:9px}.board-controls button{font-size:.85rem;padding:8px 12px;background:#071322}.board-progress{width:90%}.chess-chapter{min-height:80svh;padding:40px 0;scroll-margin-top:420px}.chess-chapter h3{font-size:3rem}.chess-chapter>p:not(.eyebrow){font-size:1.05rem}.board-outro i{width:15px;margin:0 9px}.board-outro{font-size:.75rem;letter-spacing:.06em}.board-outro p{font-size:2rem}.resource-card.book-card{padding:25px;gap:25px}.book-cover-frame{max-width:340px}.book-copy h3{min-height:0;font-size:2rem}.book-copy>p:not(.eyebrow){min-height:0;font-size:1rem}.book-copy .eyebrow{font-size:.78rem}.book-buy-button{font-size:.94rem}.book-copy small{font-size:.8rem}.book-cover-index{font-size:.75rem}.book-preview-dialog{padding:45px 23px 28px}.preview-layout{grid-template-columns:1fr;gap:30px}.preview-layout>img{max-width:260px;margin:auto;position:static}.preview-layout h2{font-size:2.2rem}.hero-portrait{width:88%}}
@media(prefers-reduced-motion:reduce){.chess-chapter{opacity:1}.chess-asset,.piece-halo,.board-axis,.book-cover-frame{transition:none}.chess-asset.is-active{transform:none}.bishop-pair img{transform:none}.intentional-motion{transform:none!important}}
@media(max-width:600px){.hero-grid{display:flex;flex-direction:column;align-items:stretch;min-height:0;margin-top:18px}.hero-portrait{position:relative;order:1;inset:auto;width:100%;height:350px;margin:0;border-bottom:1px solid #bc9a64}.hero-portrait img{object-position:50% 23%}.hero-portrait:after{background:linear-gradient(0deg,rgba(8,28,48,.3),transparent 40%)}.hero-copy{order:2;padding:36px 0 65px}.hero-copy h1{font-size:clamp(2.65rem,10.6vw,3.9rem)}.hero-system{top:15px;right:12px;bottom:auto}.hero-caption{bottom:24px;right:0}.hero{min-height:0}.hero-bottom{margin-bottom:25px}}

/* Preserve the approved composition while giving each transition a fluid cadence. */
.chess-asset{transition:opacity 1.1s cubic-bezier(.22,.61,.36,1),filter .6s;transform:translate3d(var(--piece-x,0px),var(--piece-y,0px),0) rotateY(var(--piece-turn,0deg)) scale(1)}
.piece-halo,.board-axis{transition:transform 1.4s cubic-bezier(.22,.61,.36,1),border-color 1.1s}
.hero-portrait img{filter:none;image-rendering:auto}.hero-copy h1{letter-spacing:-.045em;line-height:1.06}.hero-lead{color:#fff;font-size:1.4rem;line-height:1.45}.hero-detail{color:#d6dfe7}.hero:before{background:linear-gradient(90deg,#081c30 0%,rgba(8,28,48,.97) 42%,rgba(8,28,48,.4) 100%)}
@media(max-width:600px){.hero-lead{font-size:1.2rem}.hero-copy{padding-top:32px}}
