:root{--ink:#173932;--paper:#f7f4ec;--gold:#bb8c45;--muted:#5e6e66;--line:#d9ddd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 Arial,sans-serif}a{color:inherit}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.wrap{max-width:1200px;margin:auto;padding:0 6%}.notice{background:var(--ink);color:#fff;text-align:center;font-size:12px;letter-spacing:.06em;padding:8px 18px}.notice a{margin-left:12px;color:#f3dba7}header{background:var(--paper);border-bottom:1px solid var(--line)}.nav{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px 0}.brand{font:24px Georgia,serif;text-decoration:none}.brand span{color:var(--gold);margin-right:9px}.links{display:flex;gap:25px;align-items:center}.links a{text-decoration:none;font-size:13px}.links .outlined{border:1px solid var(--ink);padding:8px 16px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;padding:80px 0 65px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:bold;color:var(--muted)}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.1}h1{font-size:clamp(48px,6vw,78px);margin:22px 0}h1 em,h2 em{color:#9a7038;font-weight:normal}h2{font-size:clamp(34px,4vw,48px);margin:15px 0 26px}h3{font-size:27px;margin:15px 0}.lead{color:var(--muted);max-width:490px}.actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-top:30px}.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:13px 23px;border:1px solid var(--ink);font-size:14px;cursor:pointer}.btn.light{background:#e7d8b7;color:var(--ink);border-color:#e7d8b7}.textlink{font-size:14px;text-underline-offset:6px}.bookstage{position:relative;background:#e4e9df;min-height:530px;display:flex;justify-content:center;align-items:center;overflow:hidden}.bookstage:before{content:'';position:absolute;width:450px;height:450px;border:1px solid #bcccb9;border-radius:50%}.bookstage:after{content:'♘';position:absolute;right:15px;bottom:-90px;font:300px Georgia;color:#ced9c9}.cover{width:245px;position:relative;z-index:1;box-shadow:-12px 18px 30px #193b3240;transform:rotate(-6deg);border-left:7px solid #233c41}.stagecaption{position:absolute;bottom:20px;left:25px;z-index:2;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.credentials{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.credentials strong{color:var(--ink);font-weight:normal}section{padding:85px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.small{font-size:13px;color:var(--muted)}.bookpanel{background:#ede9dc;padding:35px}.bookpanel ul{padding-left:20px}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:40px}.sectionhead p{max-width:400px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.service{border-top:1px solid var(--line);padding-top:22px}.num{font:italic 22px Georgia;color:var(--gold)}.service p{color:var(--muted);font-size:15px}.forest{background:var(--ink);color:#f7f4ec}.forest .eyebrow,.forest .small{color:#bccbc0}.forest p{color:#d2ddd5}.story{border-left:1px solid #5b7367;padding-left:40px}.journal{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.journal article{padding:30px;border:1px solid var(--line)}.journal p{font-size:15px;color:var(--muted)}.contact{background:#e5e9df;text-align:center;padding:65px 30px}.contact p{max-width:650px;margin:0 auto 25px}.contact .actions{justify-content:center}.footer{padding:30px 0;font-size:12px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}.footer a{margin-left:16px}dialog{border:none;padding:35px;max-width:480px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#10282099}dialog button{margin-top:20px}.roadhero{padding:75px 0 25px;max-width:820px}.roadhero h1{font-size:64px}.analogy{background:#e5e9df;padding:30px;border-left:3px solid var(--gold);margin-top:32px}.steps{counter-reset:step}.step{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}.step:before{counter-increment:step;content:'0' counter(step);font:32px Georgia;color:var(--gold)}.step h3{margin:0 0 12px}.step p{margin:0;max-width:850px;color:var(--muted)}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:35px 0}.flow div{padding:24px;background:#e7ebdf}.flow strong{display:block;font:24px Georgia;margin-bottom:10px}.flow p{font-size:14px;line-height:1.6;margin:0}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plan{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.plan.featured{background:var(--ink);color:white}.plan.featured .small{color:#d2ddd5}.price{font:42px Georgia;margin:25px 0 4px}.plan ul{font-size:14px;padding-left:18px}.plan .tag{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.faq{max-width:850px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:bold}details p{color:var(--muted);font-size:15px}#sources{font-size:12px}.sources a{display:inline-block;margin-right:20px}section[id]{scroll-margin-top:25px}@media(max-width:800px){.nav{align-items:flex-start}.links{gap:12px;flex-wrap:wrap;justify-content:end}.links a{font-size:12px}.hero,.split{grid-template-columns:1fr;gap:35px}.hero{padding-top:45px}.bookstage{min-height:470px}.credentials{flex-wrap:wrap}.services,.pricing{grid-template-columns:1fr}.journal{grid-template-columns:1fr}.sectionhead{display:block}section{padding:55px 0}.flow{grid-template-columns:1fr 1fr}.roadhero h1{font-size:48px}.footer{flex-direction:column}.story{padding-left:25px}}@media(max-width:480px){.brand{font-size:19px;min-width:140px}.links{max-width:165px}.links .outlined{padding:5px 9px}.flow{grid-template-columns:1fr}.cover{width:220px}.bookstage{min-height:420px}}
/* Chess comes to life */
.hero{position:relative}.hero:before{content:'';position:absolute;inset:0 -6%;pointer-events:none;background-image:linear-gradient(45deg,#17393203 25%,transparent 25%,transparent 75%,#17393203 75%),linear-gradient(45deg,#17393203 25%,transparent 25%,transparent 75%,#17393203 75%);background-size:100px 100px;background-position:0 0,50px 50px;z-index:-1}.hero h1{font-size:clamp(48px,5.6vw,72px)}.bookstage{background:radial-gradient(ellipse at 50% 25%,#f4f0dc,#bdcdbb);isolation:isolate}.bookstage:after{display:none}.bookstage .cover{width:218px;animation:book-breathe 7s ease-in-out infinite}.cinematic{position:absolute;inset:0;overflow:hidden;opacity:.55}.chessfloor{position:absolute;width:650px;height:650px;left:50%;top:51%;margin-left:-325px;background:conic-gradient(#254c3c 25%,#eadfbf 0 50%,#254c3c 0 75%,#eadfbf 0);background-size:140px 140px;transform:perspective(650px) rotateX(53deg) rotateZ(-20deg);box-shadow:0 0 50px #17393233;animation:board-drift 20s ease-in-out infinite alternate}.ambientpiece{position:absolute;font-family:Georgia,'Apple Symbols',serif;text-shadow:0 10px 20px #17393240;font-size:125px;line-height:1;color:#fbf5dd;bottom:40px;left:5%;animation:piece-walk 14s ease-in-out infinite}.ambientpiece.knight{font-size:160px;right:-25px;left:auto;bottom:90px;color:#214532;animation:knight-walk 16s ease-in-out infinite}.ambientpiece.bishop{font-size:100px;top:30px;left:25px;color:#254c3c;animation:piece-float 9s ease-in-out infinite}.stagecaption{bottom:17px;font-weight:bold;font-size:9px;letter-spacing:.1em}.motion-control{position:absolute;z-index:3;top:16px;right:16px;background:#f7f4ecdd;border:1px solid #bdc8b5;padding:6px 10px;font-size:11px;color:var(--ink);cursor:pointer}.playbadge{display:inline-flex;gap:9px;align-items:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#395d3c;margin-top:28px}.playbadge:before{content:'';width:7px;height:7px;border-radius:50%;background:#6c8a39;box-shadow:0 0 0 5px #6c8a3915}.credentials{position:relative}.credentials:before{content:'';position:absolute;left:0;right:0;top:-6px;height:5px;background:repeating-linear-gradient(90deg,#173932 0 12px,#d9d8c7 12px 24px);opacity:.5}.playsection{background:#173932;color:var(--paper);position:relative;overflow:hidden}.playsection:before{content:'♞';position:absolute;right:-70px;top:-130px;font:600px Georgia;opacity:.025;pointer-events:none}.playsection .eyebrow{color:#d4bb80}.playsection h2 em{color:#d4bb80}.playsection .lead{color:#c0d0c7}.playlayout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.playintro h2{font-size:54px}.gamemodes{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.gamemodes button{font:14px Arial;padding:12px 16px;background:transparent;color:var(--paper);border:1px solid #668475;cursor:pointer}.gamemodes button[aria-pressed=true]{background:#e8d7ad;color:var(--ink);border-color:#e8d7ad}.tipbox{border-top:1px solid #5e7868;border-bottom:1px solid #5e7868;padding:25px 0;margin:30px 0}.tipbox .eyebrow{font-size:10px}.tipbox p{font-size:15px;color:#d0ddd3;min-height:70px}.bookbridge{font:24px/1.35 Georgia}.playsection .textlink{color:#e8d7ad}.boardframe{background:#244d40;padding:22px;position:relative;border:1px solid #50725e;box-shadow:0 20px 60px #071b1740}.boardtop{display:flex;justify-content:space-between;gap:15px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#d2dfce;padding-bottom:15px}.board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;box-shadow:0 8px 20px #071b1740}.square{border:0;padding:0;position:relative;background:#ede4c7;aspect-ratio:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#315541;min-width:0}.square.dark{background:#78906c}.square:hover{filter:brightness(1.1)}.square.selected{background:#e5b558;box-shadow:inset 0 0 0 3px #8d651e}.square.last{background:#bfbd79}.piece{font-family:'Arial Unicode MS','Apple Symbols','Segoe UI Symbol',Georgia,serif;font-size:clamp(28px,4vw,47px);line-height:1;position:relative;z-index:1;filter:drop-shadow(0 3px 1px #213e3025)}.piece.white{color:#fffdf2;text-shadow:1px 0 #283b2c,-1px 0 #283b2c,0 1px #283b2c,0 -1px #283b2c}.piece.black{color:#1a2c25}.square.legal:after{content:'';position:absolute;width:22%;height:22%;border-radius:50%;background:#1c493b70;z-index:2}.square.legal:has(.piece):after{width:85%;height:85%;background:transparent;border:3px solid #9f702e}.coord{position:absolute;top:2px;left:4px;font:9px Arial}.filecoord{top:auto;left:auto;bottom:2px;right:4px}.gamestatus{font-size:15px;font-weight:bold;margin:18px 0 7px;min-height:26px;color:#fff3d3}.gamehint{font-size:12px;color:#c2d2c7;min-height:38px;margin:0}.gamecontrols{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.gamecontrols button,.promotion button{border:1px solid #8aa18e;background:#f6f0dc;color:var(--ink);padding:8px 15px;cursor:pointer;font-size:12px}.gamecontrols button:disabled{opacity:.4;cursor:default}.moves{font:12px/1.7 monospace;color:#bccfc2;padding-top:12px;max-height:65px;overflow:auto}.promotion{background:#153c31;border:1px solid #d6bd83;padding:20px;margin-top:15px}.promotion[hidden]{display:none}.promotion p{margin-top:0;font-size:14px}.celebrate{animation:win-glow 1.5s ease-in-out 2}.board:focus-within{outline-offset:4px}.motion-paused .cinematic *,.motion-paused .cover{animation-play-state:paused!important}.chessquote{font:italic 22px Georgia;color:#9a7038}.noscript{padding:15px;color:#f7f4ec;font-size:14px}@keyframes book-breathe{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-9px)}}@keyframes board-drift{to{transform:perspective(650px) rotateX(53deg) rotateZ(-12deg) translateY(18px)}}@keyframes piece-walk{0%,20%,100%{transform:translate(0,0)}45%,65%{transform:translate(48px,-30px)}}@keyframes knight-walk{0%,20%,100%{transform:translate(0,0)}40%,60%{transform:translate(-40px,-48px)}}@keyframes piece-float{50%{transform:translateY(14px) rotate(5deg)}}@keyframes win-glow{50%{box-shadow:0 0 35px #e9cb6d90}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cinematic *,.bookstage .cover,.celebrate{animation:none!important}}@media(max-width:900px){.playlayout{gap:30px;grid-template-columns:1fr 1.2fr}.playintro h2{font-size:44px}.piece{font-size:36px}.boardframe{padding:15px}}@media(max-width:700px){.playlayout{grid-template-columns:1fr}.playintro h2{font-size:43px}.tipbox p{min-height:0}.piece{font-size:clamp(27px,8vw,47px)}.playintro .lead{max-width:100%}.boardframe{padding:14px}.playbadge{margin-top:20px}.boardtop{font-size:9px}.stagecaption{font-size:8px}.bookstage .cover{width:218px}}
