:root{--ink:#0b1211;--panel:#121d1a;--gold:#c6a773;--goldlight:#ead2a1;--cream:#f0e7d9;--muted:#b2baad;--line:rgba(198,167,115,.29);--line-soft:rgba(198,167,115,.14);--sans:'DM Sans',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--cream);font:400 15px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}::selection{background:var(--gold);color:var(--ink)}:focus-visible{outline:2px solid var(--goldlight);outline-offset:4px}button:focus-visible{outline-offset:3px}.page-width{width:min(calc(100% - 112px),var(--max));margin-inline:auto}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--goldlight);z-index:100;width:0;pointer-events:none}.announcement{height:29px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4%,calc((100vw - var(--max))/2));border-bottom:1px solid var(--line-soft);background:#0b1412;color:var(--gold);font-size:9px;letter-spacing:.36em;text-align:center;text-transform:uppercase}.announcement-star{font-size:10px;letter-spacing:0}.site-header{position:relative;z-index:40;background:rgba(11,18,17,.97);border-bottom:1px solid var(--line);}.nav-wrap{height:91px;max-width:var(--max);width:min(calc(100% - 112px),var(--max));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:18px;min-width:0;flex-shrink:1}.brand-symbol{border:1px solid var(--gold);width:41px;height:41px;display:grid;place-items:center;transform:rotate(45deg);flex-shrink:0;position:relative}.brand-symbol:after{content:'';position:absolute;inset:4px;border:1px solid rgba(198,167,115,.47)}.brand-symbol span{transform:rotate(-45deg);font:33px/1 Georgia,serif;color:var(--gold);margin-top:-3px}.brand-type{display:flex;flex-direction:column;gap:1px;min-width:0}.brand-type strong{font:500 17px/1.3 var(--serif);letter-spacing:.19em;white-space:nowrap;text-transform:uppercase}.brand-type small{font:500 9px/1.8 var(--sans);letter-spacing:.34em;color:var(--gold);text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:clamp(16px,2.2vw,37px);margin-left:auto}.nav-links a{font-size:10px;font-weight:600;letter-spacing:.15em;white-space:nowrap;color:#cdd1c8;transition:color .25s}.nav-links a:hover,.nav-links a.is-current{color:var(--goldlight)}.nav-cta{background:transparent;border:1px solid var(--gold);padding:13px 20px;color:var(--goldlight);white-space:nowrap;font-size:10px;font-weight:600;letter-spacing:.14em;transition:background .25s,color .25s,transform .25s}.nav-cta:hover{background:var(--gold);color:var(--ink);transform:translateY(-1px)}.nav-cta span{margin-left:12px}.menu-toggle,.mobile-nav-action{display:none}
.hero{min-height:clamp(630px,59vw,760px);position:relative;isolation:isolate;overflow:hidden;background:#101917}.hero-image{position:absolute;inset:0 0 0 28%;z-index:-3;background:url('assets/chess-lounge.webp') center 57%/cover no-repeat;transform:scale(1.035);animation:heroDrift 16s ease-out both}.hero-vignette{z-index:-2;position:absolute;inset:0;background:linear-gradient(90deg,#0b1211 3%,rgba(11,18,17,.97) 26%,rgba(11,18,17,.72) 48%,rgba(11,18,17,.18) 79%,rgba(11,18,17,.1) 100%),linear-gradient(0deg,rgba(11,18,17,.84) 0,transparent 30%,transparent 75%,rgba(11,18,17,.1) 100%)}.hero-artline{position:absolute;z-index:-1;width:60%;height:120%;top:-20%;right:-25%;border-radius:50%;border:1px solid rgba(198,167,115,.22);transform:rotate(-21deg)}.hero-artline:after{content:'';position:absolute;inset:30px;border:1px solid rgba(198,167,115,.1);border-radius:50%}.hero-content{display:flex;flex-direction:column;justify-content:space-between;min-height:inherit;padding-top:clamp(110px,10vw,174px);padding-bottom:35px;position:relative}.hero-words{max-width:740px}.eyebrow,.overline{font-size:11px;letter-spacing:.26em;color:var(--gold);font-weight:600;text-transform:uppercase}.eyebrow{display:flex;gap:20px;align-items:center;margin:0}.eyebrow-line{height:1px;background:var(--gold);width:42px}.hero h1{font:400 clamp(80px,8.4vw,145px)/.77 var(--serif);letter-spacing:-.055em;margin:45px 0 40px;text-shadow:0 8px 42px #0004}.hero h1 span{display:block}.hero h1 em{display:block;font-weight:400;color:var(--goldlight);margin-top:12px;font-size:.78em}.hero-description{font-size:15px;line-height:1.95;color:#d7dacf;max-width:455px;margin:0}.hero-buttons{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:40px}.button{appearance:none;min-height:54px;padding:0 26px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:10px;letter-spacing:.17em;font-weight:700;text-transform:uppercase;white-space:nowrap;transition:transform .28s,background .28s,border-color .28s,color .28s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);border:1px solid var(--gold);color:#0b1211}.button-gold:hover{background:var(--goldlight);border-color:var(--goldlight)}.button-line{border:1px solid transparent;border-bottom-color:var(--gold);padding-left:0;padding-right:0;color:var(--cream)}.button-line:hover{color:var(--goldlight)}.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--goldlight);font-size:9px;letter-spacing:.2em;font-weight:500}.hero-foot-rule{display:inline-block;width:36px;height:1px;vertical-align:middle;background:var(--gold);margin:0 11px}.qualities{background:#111b19;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line)}.qualities-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:27px}.qualities span{font:500 clamp(16px,1.6vw,22px)/1 var(--serif);letter-spacing:.18em}.qualities i{font-size:14px;font-style:normal;color:var(--gold)}
.play-section{position:relative;padding:134px 0 125px;background:radial-gradient(ellipse at 3% 50%,rgba(30,49,40,.36),transparent 55%),radial-gradient(ellipse at 90% 5%,rgba(137,105,57,.08),transparent 52%),#0b1211;overflow:hidden}.play-section:before{content:'';position:absolute;width:840px;height:840px;right:-440px;top:180px;opacity:.08;background:repeating-conic-gradient(from 18deg,transparent 0 12deg,var(--gold) 12deg 12.3deg,transparent 12.3deg 24deg);pointer-events:none}.section-heading-block{display:flex;justify-content:space-between;align-items:end;gap:90px;margin-bottom:57px}.overline .slash{opacity:.45;padding:0 7px}.section-heading-block h2,.center-intro h2,.philosophy-copy h2,.cta-inner h2{font:400 clamp(63px,6vw,93px)/.93 var(--serif);letter-spacing:-.032em;margin:21px 0 0}.section-heading-block h2 em,.center-intro h2 em,.philosophy-copy h2 em,.cta-inner h2 em{color:var(--goldlight);font-weight:400}.section-heading-block>p{max-width:315px;font-size:14px;color:var(--muted);line-height:1.9;margin:0 0 2px}.play-layout{display:grid;grid-template-columns:minmax(0,1.26fr) minmax(355px,.82fr);gap:32px;align-items:stretch;position:relative}.board-frame{border:1px solid var(--gold);padding:10px;background:#111b18;position:relative;box-shadow:0 16px 70px rgba(0,0,0,.23)}.board-frame:before,.board-frame:after{content:'';position:absolute;pointer-events:none;width:25px;height:25px;z-index:2}.board-frame:before{left:-5px;top:-5px;border-top:2px solid var(--goldlight);border-left:2px solid var(--goldlight)}.board-frame:after{right:-5px;bottom:-5px;border-bottom:2px solid var(--goldlight);border-right:2px solid var(--goldlight)}.board-frame-top,.board-frame-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:47px;padding-inline:24px;font-size:10px;font-weight:500;letter-spacing:.2em;color:var(--gold)}.board-frame-top{border:1px solid var(--line-soft);border-bottom:0}.board-live-label{font-size:9px;color:#adbaac}.status-light{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c0bc82;box-shadow:0 0 11px rgba(192,188,130,.55);margin-right:7px;vertical-align:middle}.frame-monogram{font-size:17px}.player-line{min-height:64px;padding:9px 25px;display:flex;gap:14px;align-items:center;background:#15221e;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft)}.player-avatar{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center;font:28px Georgia,serif;flex-shrink:0}.avatar-dark{color:var(--gold)}.avatar-light{background:#e3d7bb;color:#25332c}.player-line div:nth-child(2){display:flex;flex-direction:column;min-width:80px}.player-line strong{font-size:11px;letter-spacing:.15em;font-weight:700}.player-line small{font-size:9px;letter-spacing:.13em;color:#9ca99c}.captured-pieces{margin-left:auto;font:25px/1 Georgia,serif;letter-spacing:-.15em;display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end;color:var(--goldlight)}.board-mat{background:#13201d;padding:10px;border:1px solid var(--line-soft);position:relative}.chess-board{position:relative;aspect-ratio:1;width:100%;touch-action:none;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));border:2px solid #b9a786;box-shadow:0 22px 40px rgba(0,0,0,.26);overflow:hidden;isolation:isolate;user-select:none}.square{position:relative;min-width:0;min-height:0;display:grid;place-items:center;padding:0;border:0;border-radius:0;touch-action:manipulation;isolation:isolate;transition:filter .18s}.square.light{background:#e4d9bf}.square.dark{background:#718378}.square:hover{filter:brightness(1.08)}.square.drag-target:after{background:rgba(226,186,98,.55)}.square.drag-origin .piece{opacity:.16}.square:focus-visible{z-index:4;outline:3px solid var(--goldlight);outline-offset:-3px}.square:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;transition:background .2s}.square.last:after{background:rgba(224,181,96,.31)}.square.selected:after{background:rgba(240,191,99,.47)}.square.in-check:after{background:rgba(166,44,35,.44)}.piece{position:relative;z-index:2;display:grid;place-items:center;width:100%;height:100%;font-family:'Noto Sans Symbols 2','DejaVu Sans','Segoe UI Symbol','Apple Symbols',serif;font-size:clamp(38px,5.2vw,80px);line-height:1;pointer-events:none;user-select:none;transition:transform .18s ease;filter:drop-shadow(0 3px 1px rgba(12,19,13,.17))}.square:hover .piece{transform:scale(1.055)}.piece.white{color:#fdf7e9;-webkit-text-stroke:.65px #3e4540;text-shadow:0 1px 1px #28322d,0 2px 2px #25332c}.piece.black{color:#192622;-webkit-text-stroke:.3px #111c1a;text-shadow:0 1px 1px rgba(233,230,215,.72)}.legal-dot{width:27%;height:27%;border-radius:50%;background:rgba(12,34,28,.33);position:absolute;z-index:1;pointer-events:none;animation:legalAppear .18s ease both}.legal-capture{inset:6%;border:5px solid rgba(18,57,42,.36);border-radius:50%;position:absolute;z-index:1;pointer-events:none;animation:legalAppear .18s ease both}.square-coordinate{position:absolute;z-index:3;font:700 clamp(9px,.8vw,11px)/1 var(--sans);pointer-events:none;opacity:.7}.square-file{right:4px;bottom:3px}.square-rank{left:3px;top:3px}.square.light .square-coordinate{color:#526858}.square.dark .square-coordinate{color:#ede4cc}.bottom-player{border-bottom:1px solid var(--line-soft)}.board-frame-bottom{min-height:42px;border:1px solid var(--line-soft);border-top:0;font-size:9px;letter-spacing:.16em;color:#9eac9f}.game-console{background:linear-gradient(147deg,#17241f,#101917 65%);border:1px solid var(--line);padding:clamp(25px,3vw,42px);min-width:0;display:flex;flex-direction:column;box-shadow:0 16px 70px rgba(0,0,0,.15)}.console-overline{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.2em;color:var(--gold);font-weight:700}.live-tag{color:#bcc4b8;letter-spacing:.13em;white-space:nowrap}.console-overline .status-light{margin-right:5px}.game-console h3{font:400 clamp(56px,4.9vw,78px)/.91 var(--serif);margin:23px 0 14px;letter-spacing:-.033em}.game-console h3 em{color:var(--goldlight);font-weight:400}.console-intro{font-size:13px;color:var(--muted);line-height:1.8;margin:0;max-width:350px}.console-divider{height:1px;background:var(--line);margin:24px 0}.console-label,.move-ledger-header{font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:600}.mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 0 23px}.mode-btn{min-height:64px;padding:10px 5px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:rgba(9,18,15,.5);border:1px solid var(--line);color:#c6ccc2;font:600 9px/1.3 var(--sans);letter-spacing:.08em;transition:background .24s,color .24s,border-color .24s}.mode-btn span{font:24px/1 Georgia,serif;letter-spacing:0}.mode-btn.active{border-color:var(--gold);background:rgba(198,167,115,.13);color:var(--goldlight)}.mode-btn:hover{background:rgba(198,167,115,.2)}.game-state{min-height:90px;border:1px solid var(--line);background:rgba(2,11,8,.29);padding:17px 16px;display:flex;align-items:flex-start;gap:12px}.state-dot{flex-shrink:0;border:1px solid var(--gold);width:12px;height:12px;transform:rotate(45deg);margin:9px 4px 0 0}.game-state>div:nth-child(2){flex:1}.state-title{font:500 29px/1.12 var(--serif);color:var(--cream)}.state-description{font-size:11px;line-height:1.6;color:#a8b4a6;margin-top:5px}.state-counter{color:var(--gold);font:500 12px/2 var(--serif)}.game-details{display:flex;justify-content:space-between;gap:12px;padding:12px 0 21px;color:#a2b0a3;font-size:9px;letter-spacing:.11em;border-bottom:1px solid var(--line)}.game-details span:last-child{color:var(--gold)}.move-ledger-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:24px}.move-ledger-header span:last-child{color:#93a092;font-weight:400}.move-ledger{margin-top:13px;min-height:100px;max-height:170px;overflow-y:auto;scrollbar-color:var(--gold) #17241f;scrollbar-width:thin;border:1px solid var(--line-soft);background:#101a17}.empty-ledger{height:99px;display:flex;align-items:center;justify-content:space-between;padding:19px;color:#8e9d90;font-family:var(--serif);font-size:24px;font-style:italic}.empty-ledger span{font-family:var(--sans);font-size:11px;font-style:normal;color:#6f8172}.move-row{display:grid;grid-template-columns:46px 1fr 1fr;border-bottom:1px solid var(--line-soft);min-height:39px;align-items:stretch;color:#d1d5c9;font-size:12px}.move-row:last-child{border-bottom:0}.move-number{display:grid;place-items:center;font-size:10px;color:var(--gold);background:rgba(198,167,115,.06)}.move-san{display:flex;align-items:center;padding-left:17px}.move-san.current{background:rgba(198,167,115,.15);color:var(--goldlight)}.game-actions{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:8px;margin-top:22px}.game-actions .button{min-height:44px;padding:0 13px;font-size:9px;gap:8px;justify-content:center}.action-primary{background:var(--gold);color:var(--ink);border:1px solid var(--gold)}.action-primary:hover{background:var(--goldlight)}.action-secondary{border:1px solid var(--line);color:var(--cream);background:transparent}.action-secondary:hover{border-color:var(--gold);background:rgba(198,167,115,.09)}.share-fen{margin-top:16px;background:transparent;border:0;color:var(--gold);font-size:10px;letter-spacing:.16em;padding:5px 0;text-align:left;font-weight:600}.share-fen span{padding-left:8px}.share-fen:hover{text-decoration:underline}.board-disclaimer{margin:13px 0 0;color:#9aab9d;font-size:10px;line-height:1.65}.board-bottomline{text-align:center;margin:40px 0 0;color:#8c9c8d;font-size:10px;letter-spacing:.23em}.board-bottomline span{color:var(--gold);padding-inline:19px}
.method-section{background:#121d1a;padding:130px 0 145px;border-block:1px solid var(--line-soft)}.center-intro{text-align:center;max-width:850px;margin:0 auto 70px}.center-intro h2{margin-top:24px}.center-intro>p{font-size:14px;line-height:2;color:var(--muted);max-width:540px;margin:26px auto 0}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}.method-card{padding:35px 38px 30px;min-height:346px;position:relative;background:#12201b;display:flex;flex-direction:column;transition:background .3s}.method-card+ .method-card{border-left:1px solid var(--line)}.method-card:hover{background:#1a2a23}.method-card-top,.method-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.17em;color:var(--gold);font-weight:600}.method-card-top span:last-child{font-size:18px}.method-icon{font:58px/1 Georgia,serif;color:var(--goldlight);margin-top:36px}.method-card h3{font:500 37px/1.05 var(--serif);margin:23px 0 9px}.method-card p{font-size:13px;color:var(--muted);line-height:1.85;max-width:320px;margin:0 0 24px}.method-card-bottom{margin-top:auto;padding-top:18px;border-top:1px solid var(--line-soft)}
.philosophy-section{display:grid;grid-template-columns:1fr 1fr;min-height:690px;background:#0e1715}.philosophy-image{min-height:620px;position:relative;background:linear-gradient(0deg,#0b1211ce,transparent 35%),url('assets/golden-knight.webp') center 47%/cover no-repeat}.philosophy-image:before{content:'';position:absolute;inset:25px;border:1px solid rgba(198,167,115,.48);pointer-events:none}.philosophy-image:after{content:'';position:absolute;left:25px;top:25px;width:34px;height:34px;border-top:2px solid var(--gold);border-left:2px solid var(--gold)}.photo-caption{position:absolute;bottom:43px;left:55px;font-size:10px;color:var(--goldlight);letter-spacing:.2em}.philosophy-copy{padding:clamp(65px,8vw,135px) clamp(45px,6.3vw,116px);display:flex;flex-direction:column;justify-content:center;max-width:780px}.philosophy-copy h2{font-size:clamp(70px,7.2vw,115px);margin-top:24px}.philosophy-copy>p{font-size:14px;line-height:2;color:var(--muted);max-width:500px;margin:30px 0 26px}.principles{max-width:500px}.principle{border-bottom:1px solid var(--line)}.principle:first-child{border-top:1px solid var(--line)}.principle-toggle{border:0;background:transparent;color:var(--cream);width:100%;display:flex;align-items:center;gap:16px;padding:20px 0;text-align:left;font-size:11px;letter-spacing:.14em;font-weight:600}.principle-toggle>span:first-child{font-family:var(--serif);font-size:18px;color:var(--gold)}.principle-sign{margin-left:auto;color:var(--gold);font-size:20px;font-weight:400}.principle-content{display:none;padding:0 25px 19px 38px;color:var(--muted);font-size:13px;line-height:1.7}.principle.open .principle-content{display:block}
.sessions-section{padding:134px 0 145px;background:#111b18}.sessions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.session-card{min-height:370px;border:1px solid var(--line);padding:34px 35px;display:flex;flex-direction:column;transition:background .28s,transform .28s,border-color .28s}.session-card:hover{background:rgba(198,167,115,.06);border-color:rgba(198,167,115,.65);transform:translateY(-4px)}.session-number{font-size:10px;letter-spacing:.18em;color:var(--gold)}.session-icon{font:60px/1 Georgia,serif;color:var(--goldlight);margin-top:32px}.session-card h3{font:500 42px/1 var(--serif);margin:20px 0 8px}.session-card p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 23px;max-width:280px}.session-card button{margin-top:auto;text-align:left;padding:16px 0 0;display:flex;justify-content:space-between;gap:15px;border:0;border-top:1px solid var(--line);background:none;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.16em}.session-card button:hover{color:var(--goldlight)}
.cta-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#263427 0%,#0b1211 68%);padding:120px 0 130px;text-align:center;border-block:1px solid var(--line)}.cta-decoration{position:absolute;font:350px/1 Georgia,serif;top:-75px;right:5%;color:rgba(198,167,115,.055);pointer-events:none}.cta-inner{position:relative}.cta-inner h2{font-size:clamp(65px,8vw,117px)}.cta-inner p{font-size:14px;color:var(--muted);line-height:1.9;margin:25px 0 33px}.cta-inner .button{min-width:225px}.site-footer{padding:55px 0 24px;background:#0b1211}.footer-main{display:flex;justify-content:space-between;gap:35px;align-items:center;padding-bottom:45px}.footer-brand a{font:500 31px/1 var(--serif);letter-spacing:.15em}.footer-brand p{font-size:10px;letter-spacing:.31em;color:var(--gold);margin:14px 0 0}.footer-right{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.footer-right a,.footer-right button{font:600 10px var(--sans);letter-spacing:.1em;background:transparent;border:0;color:#c6cec2;white-space:nowrap;padding:0}.footer-right a:hover,.footer-right button:hover{color:var(--gold)}.footer-bottom{border-top:1px solid var(--line-soft);padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.12em;color:#829185}
.modal-backdrop{position:fixed;inset:0;background:rgba(1,6,4,.82);z-index:90;display:grid;place-items:center;padding:22px;backdrop-filter:blur(6px)}.modal-backdrop[hidden]{display:none!important}.modal,.promotion-dialog{position:relative;background:#14211c;border:1px solid var(--gold);max-height:calc(100dvh - 44px);overflow:auto;width:min(100%,500px);padding:44px;box-shadow:0 22px 90px #000b}.modal:before,.promotion-dialog:before{content:'';position:absolute;inset:8px;border:1px solid var(--line-soft);pointer-events:none}.modal-close{position:absolute;right:19px;top:8px;background:none;border:0;color:var(--gold);font-size:34px}.modal h2,.promotion-dialog h2{font:400 63px/.96 var(--serif);margin:18px 0}.modal h2 em{color:var(--goldlight)}.modal>p{font-size:13px;color:var(--muted);line-height:1.9}.modal form{display:flex;flex-direction:column;gap:9px;margin-top:22px}.modal label{font-size:10px;letter-spacing:.15em;color:var(--gold);font-weight:600}.modal input,.modal select{height:46px;width:100%;background:#0b1411;color:var(--cream);border:1px solid var(--line);padding:0 12px;border-radius:0;margin-bottom:12px;font-size:13px}.modal input:focus,.modal select:focus{border-color:var(--gold);outline:0}.modal form .button{margin-top:7px}.form-note{font-size:11px;color:#9aa99c;line-height:1.6}.form-confirm{margin-top:28px;padding:18px;border:1px solid var(--line);font-size:13px;color:var(--cream)}.form-confirm[hidden]{display:none}.promotion-dialog{text-align:center;width:min(100%,390px);padding:32px}.promotion-dialog h2{font-size:45px}.promotion-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:27px 0 20px}.promotion-option{border:1px solid var(--line);background:#e4d9bf;color:#17231f;min-height:71px;font:48px/1 'Noto Sans Symbols 2','DejaVu Sans',serif;transition:transform .2s}.promotion-option:hover{transform:translateY(-4px);border-color:var(--gold)}.promotion-cancel{color:var(--gold);border:0;background:transparent;font-size:10px;letter-spacing:.18em;padding:10px 20px}
.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(27px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes heroDrift{from{transform:scale(1.10)}to{transform:scale(1.035)}}@keyframes legalAppear{from{transform:scale(.1);opacity:0}to{transform:scale(1);opacity:1}}@keyframes winGlow{from{box-shadow:0 0 0 rgba(198,167,115,.1)}to{box-shadow:0 0 30px rgba(198,167,115,.5)}}.game-state.won{animation:winGlow .7s ease-in-out alternate 3}.piece-drag{z-index:201;pointer-events:none;display:grid;place-items:center;filter:drop-shadow(0 10px 8px #0007);will-change:left,top}.brand.long-name .brand-type strong{font-size:13px;letter-spacing:.08em}.piece-flight,.piece-drag{position:fixed;z-index:200;pointer-events:none;margin:0;display:grid;place-items:center;line-height:1;will-change:transform;filter:drop-shadow(0 4px 2px rgba(0,0,0,.3))}
@media(max-width:1200px){.page-width,.nav-wrap{width:min(calc(100% - 72px),var(--max))}.nav-links{gap:18px}.nav-links a{font-size:9px}.nav-cta{padding:12px 14px}.brand-type strong{font-size:15px;letter-spacing:.12em}.board-frame-top,.board-frame-bottom{padding-inline:14px}.player-line{padding-inline:17px}.game-console{padding:26px}.section-heading-block{gap:45px}.piece{font-size:clamp(32px,4.5vw,55px)}}
@media(max-width:990px){.site-header{position:sticky;top:0}.nav-wrap{height:75px}.nav-links{position:absolute;left:0;right:0;top:75px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#121e19;border-bottom:1px solid var(--gold);padding:14px 36px 28px;box-shadow:0 26px 40px #0006}.nav-links.open{display:flex}.nav-links a{font-size:12px;padding:15px 0;border-bottom:1px solid var(--line-soft)}.mobile-nav-action{display:block;margin-top:17px;background:var(--gold);color:#0b1211;border:0;padding:15px;font-size:10px;letter-spacing:.15em;font-weight:700}.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;flex-shrink:0;width:39px;height:39px;border:1px solid var(--line);background:transparent}.menu-toggle span{width:18px;height:1px;background:var(--gold)}.menu-toggle.open span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:last-child{transform:translateY(-6px) rotate(-45deg)}.nav-cta{margin-left:auto}.play-layout{grid-template-columns:minmax(0,1fr)}.board-frame{width:min(100%,680px);margin:auto}.game-console{width:min(100%,680px);margin:auto;min-height:0;padding:34px}.game-console h3{font-size:72px}.piece{font-size:clamp(30px,7vw,63px)}.mode-btn{min-height:61px}.method-grid{grid-template-columns:1fr}.method-card{min-height:0;padding:27px 35px}.method-card + .method-card{border-left:0;border-top:1px solid var(--line)}.method-icon{margin-top:10px;font-size:44px}.method-card h3{margin-top:12px}.method-card p{max-width:600px}.philosophy-copy{padding:65px 45px}.philosophy-copy h2{font-size:75px}.sessions-grid{gap:12px}.session-card{padding:25px 20px}.session-card h3{font-size:35px}.footer-right{gap:17px}.hero h1{font-size:clamp(85px,9vw,116px)}}
@media(max-width:680px){.page-width,.nav-wrap{width:calc(100% - 38px)}.announcement{padding:0 19px;letter-spacing:.17em;font-size:8px}.nav-wrap{height:70px;gap:11px}.site-header{top:0}.nav-links{top:70px;padding-inline:20px}.nav-cta{display:none}.brand-symbol{height:34px;width:34px}.brand-symbol span{font-size:27px}.brand{gap:12px}.brand-type strong{font-size:13px;letter-spacing:.1em}.brand-type small{font-size:8px}.piece-drag{z-index:201;pointer-events:none;display:grid;place-items:center;filter:drop-shadow(0 10px 8px #0007);will-change:left,top}.brand.long-name .brand-type strong{font-size:11px;letter-spacing:.02em}.hero{min-height:655px}.hero-image{inset:0;background-position:52% center;opacity:.75}.hero-vignette{background:linear-gradient(90deg,rgba(11,18,17,.91),rgba(11,18,17,.55)),linear-gradient(0deg,#0b1211 0,transparent 43%,rgba(11,18,17,.06))}.hero-content{padding-top:100px;padding-bottom:25px}.hero h1{font-size:clamp(72px,13.8vw,104px);margin:44px 0 32px;line-height:.82}.hero-description{max-width:370px;font-size:13px}.eyebrow,.overline{font-size:9px;letter-spacing:.18em}.hero-buttons{gap:10px;margin-top:29px}.hero-buttons .button{min-height:48px;padding-inline:17px;font-size:9px;gap:13px}.hero-buttons .button-line{padding-inline:0}.hero-foot{font-size:8px;letter-spacing:.12em}.hero-foot span:first-child{max-width:155px}.qualities-inner{gap:8px;flex-wrap:wrap;justify-content:center;padding-block:18px}.qualities span{font-size:13px}.qualities i{font-size:10px}.play-section{padding:88px 0 90px}.section-heading-block{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:32px}.section-heading-block h2{font-size:clamp(65px,11vw,86px)}.section-heading-block>p{font-size:13px}.board-frame{padding:5px}.board-frame-top,.board-frame-bottom{min-height:37px;padding-inline:9px;font-size:8px;letter-spacing:.1em}.player-line{min-height:57px;padding:7px 9px;gap:8px}.player-avatar{height:33px;width:33px;font-size:23px}.player-line strong{font-size:10px}.player-line small{font-size:8px}.player-line div:nth-child(2){min-width:69px}.captured-pieces{font-size:19px}.board-mat{padding:5px}.piece{font-size:clamp(28px,8vw,51px)}.square-coordinate{font-size:8px}.square-file{right:2px;bottom:2px}.square-rank{left:2px;top:2px}.game-console{padding:24px 19px}.game-console h3{font-size:66px}.board-bottomline{font-size:8px;line-height:2}.board-bottomline span{padding-inline:9px}.method-section{padding:87px 0}.center-intro{margin-bottom:37px}.center-intro h2{font-size:clamp(62px,10.5vw,85px)}.center-intro>p{font-size:13px;line-height:1.8}.method-card{padding:26px}.philosophy-section{grid-template-columns:1fr}.philosophy-image{min-height:450px}.philosophy-copy{padding:84px 25px}.philosophy-copy h2{font-size:clamp(78px,12vw,105px)}.philosophy-copy>p{font-size:13px}.sessions-section{padding:86px 0}.sessions-grid{grid-template-columns:1fr;gap:12px}.session-card{min-height:275px;padding:25px}.session-icon{margin-top:19px;font-size:49px}.session-card h3{font-size:40px}.cta-section{padding:95px 0}.cta-inner h2{font-size:clamp(70px,12vw,100px)}.footer-main{flex-direction:column;align-items:flex-start;padding-bottom:31px}.footer-right{row-gap:12px}.footer-bottom{flex-direction:column;gap:10px;line-height:1.7}.modal{padding:30px 25px}.modal h2{font-size:53px}}
@media(max-width:390px){.announcement{font-size:7px}.hero h1{font-size:71px}.hero-buttons{align-items:flex-start;flex-direction:column}.hero-buttons .button-line{min-height:40px}.hero-foot>span:first-child{display:none}.hero-foot{justify-content:flex-end}.qualities span{font-size:11px}.mode-btn{font-size:8px}.game-actions .button{font-size:8px;padding:0 8px}.board-frame-bottom>span:last-child{display:none}.game-state{padding:14px 10px}.state-title{font-size:26px}.piece{font-size:clamp(25px,8vw,33px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal,.js-motion .reveal{opacity:1;transform:none}}

#booking-form[hidden]{display:none!important}

/* Local WebAssembly Stockfish controls. Hidden outside computer mode. */
.engine-controls[hidden]{display:none!important}
.engine-controls{border:1px solid var(--line);background:rgba(8,17,14,.54);padding:17px 17px 12px;margin:-5px 0 20px;animation:engineIn .25s ease-out}
.engine-control-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}
.engine-control-header label,.engine-indicator{font:700 9px/1.4 var(--sans);letter-spacing:.13em;color:var(--gold)}
.engine-indicator{color:#a8b6a8;font-weight:500;text-align:right;letter-spacing:.06em}
.engine-indicator.ready{color:#c3c897}
.engine-indicator.error{color:#e0ac91}
#engine-difficulty{display:block;width:100%;min-height:42px;padding:0 33px 0 13px;background:#15251e;color:var(--cream);border:1px solid #72684e;border-radius:0;font:600 11px/1.4 var(--sans);letter-spacing:.07em;cursor:pointer;color-scheme:dark}
#engine-difficulty:focus-visible{outline:2px solid var(--goldlight);outline-offset:3px}
#engine-difficulty:disabled{opacity:.6;cursor:wait}
.engine-subtitle{margin:11px 0 0;font:400 10px/1.6 var(--sans);color:#a8b6a8}
@keyframes engineIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:680px){.engine-controls{padding:14px}.engine-control-header{align-items:flex-start}.engine-control-header label,.engine-indicator{font-size:8px}}
@media(prefers-reduced-motion:reduce){.engine-controls{animation:none}}

/* Stockfish Pro: fine-grained opponent settings and dedicated analysis studio. */
.engine-controls{padding:clamp(16px,2.2vw,25px);margin:0 0 22px;background:linear-gradient(144deg,#17251f,#0a1511);border:1px solid rgba(198,167,115,.42)}
.engine-controls [hidden],.engine-troubleshooting[hidden],.evaluation-strip[hidden]{display:none!important}
.mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.mode-btn{min-width:0;padding-inline:8px}
.engine-control-header{padding-bottom:14px;border-bottom:1px solid var(--line-soft);margin-bottom:20px;align-items:center}
.engine-kicker{color:var(--gold);font:700 10px/1.5 var(--sans);letter-spacing:.15em}
.engine-indicator{letter-spacing:.08em}
.engine-input-top{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin:18px 0 13px}
.engine-input-top label,.engine-field-pair label,.analysis-heading,.fen-entry>label{font:700 10px/1.5 var(--sans);color:var(--gold);letter-spacing:.14em}
.engine-input-top output{color:var(--cream);font:500 21px/1 var(--serif)}
.gold-slider{width:100%;accent-color:var(--gold);height:7px;cursor:pointer;display:block}
.slider-labels{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:#a3b2a4;font:600 9px/1.5 var(--sans);letter-spacing:.07em}
.engine-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 10px}
.engine-field-pair label{display:flex;flex-direction:column;gap:8px;min-width:0}
.engine-field-pair input,.engine-field-pair select,.fen-entry textarea{width:100%;min-width:0;min-height:42px;padding:11px 12px;background:#0a1411;color:var(--cream);border:1px solid rgba(198,167,115,.45);border-radius:0;outline-offset:3px;font:500 14px/1.4 var(--sans);color-scheme:dark}
.engine-field-pair input:focus,.engine-field-pair select:focus,.fen-entry textarea:focus{border-color:var(--goldlight);outline:1px solid var(--goldlight)}
.engine-subtitle{font:400 12px/1.65 var(--sans);letter-spacing:normal;color:#bbc2b7}
.engine-footer{margin:24px 0 0;padding-top:14px;border-top:1px solid var(--line-soft);color:#abbcac;letter-spacing:.08em;font:600 9px/1.6 var(--sans)}
.analysis-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;padding:16px 0;border-block:1px solid var(--line-soft)}
.analysis-summary>div{display:flex;flex-direction:column;gap:7px}.analysis-summary small{font:700 9px/1.5 var(--sans);letter-spacing:.15em;color:var(--gold)}
.analysis-summary strong{font:400 34px/1 var(--serif);color:var(--cream)}
.analysis-heading{display:flex;justify-content:space-between;align-items:center;margin:15px 0 12px}.analysis-heading span{font-size:9px;color:#aab5ab}
.analysis-lines{min-height:127px;display:flex;flex-direction:column;gap:7px}
.analysis-line{display:grid;grid-template-columns:27px minmax(0,1fr) 55px;align-items:center;gap:7px;border:1px solid var(--line-soft);padding:11px 9px;min-height:40px;background:rgba(255,255,255,.025)}
.analysis-rank{font:600 10px/1 var(--sans);color:var(--gold)}
.analysis-variation{font:500 12px/1.6 var(--sans);color:var(--cream);word-break:break-word}
.analysis-score{font:600 12px/1 var(--sans);color:var(--goldlight);text-align:right}
.analysis-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:14px 0 20px}
.analysis-button,.engine-troubleshooting button{padding:11px 13px;background:transparent;border:1px solid var(--line);color:var(--goldlight);font:700 10px/1.4 var(--sans);letter-spacing:.1em;transition:background .2s,border-color .2s}
.analysis-button:hover,.engine-troubleshooting button:hover{background:rgba(198,167,115,.14);border-color:var(--gold)}
.arrow-toggle{display:flex;align-items:center;gap:8px;color:var(--cream);font:600 10px/1.4 var(--sans);letter-spacing:.04em;cursor:pointer}
.arrow-toggle input{accent-color:var(--gold)}
.fen-entry{border-top:1px solid var(--line-soft);padding-top:19px;display:flex;flex-direction:column;gap:10px}
.fen-entry textarea{resize:vertical;font-size:12px;min-height:58px}
.fen-entry .analysis-button{align-self:flex-start}
.fen-error{font:500 12px/1.5 var(--sans);color:#f0bca1;margin:0}
.engine-troubleshooting{margin-top:15px;padding:14px;border:1px solid #b68265;color:#ebc9b5;font:400 12px/1.6 var(--sans);word-break:break-word}
.engine-troubleshooting code{font-size:11px}
.engine-troubleshooting button{margin-top:8px}
.board-mat:has(.evaluation-strip:not([hidden])){display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:stretch}
.evaluation-strip{position:relative;min-height:0;width:100%;border:1px solid rgba(198,167,115,.55);background:#15201c;overflow:hidden}
.eval-white{position:absolute;bottom:0;left:0;right:0;background:#e8dbc0;height:50%;transition:height .5s cubic-bezier(.2,.8,.2,1)}
.eval-black{position:absolute;inset:0;background:#15201c}
.engine-arrow{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;z-index:4;overflow:visible;filter:drop-shadow(0 2px 3px #0009)}
@media(max-width:680px){.engine-controls{padding:15px}.engine-input-top output{font-size:20px}.analysis-line{grid-template-columns:23px minmax(0,1fr) 47px}.board-mat:has(.evaluation-strip:not([hidden])){grid-template-columns:12px minmax(0,1fr);gap:5px}}
@media(prefers-reduced-motion:reduce){.eval-white{transition:none}}

.engine-troubleshooting a {color:var(--gold, #c9a66d);text-decoration:underline;text-underline-offset:3px}.engine-troubleshooting strong{letter-spacing:.1em}.engine-troubleshooting #engine-error-detail{color:#e6b7a1;overflow-wrap:anywhere}
