:root{--bg:#080808;--surface:#111;--surface-strong:#161616;--gold:#c9a84c;--text-primary:#f0ede6;--text-secondary:#7a7870;--border-glass:#ffffff14;--border-glass-strong:#ffffff26;--shadow-base:0 24px 80px #0009;--shadow-elevation:0 16px 40px #00000080, 0 4px 12px #0000004d;--glass-highlight:inset 0 1px 1px #ffffff24, inset 0 0 40px #ffffff05;--glass-highlight-gold:inset 0 1px 1px #c9a84c66, inset 0 0 20px #c9a84c14;--glow:0 0 32px #c9a84c40;--background-image:radial-gradient(circle at top, #c9a84c26, transparent 30%), radial-gradient(circle at 80% 18%, #ffffff0a, transparent 18%), linear-gradient(180deg, #050505 0%, #080808 45%, #0a0a0a 100%);--button-secondary-bg:linear-gradient(180deg, #282828cc 0%, #141414cc 100%);--button-secondary-shadow:var(--glass-highlight), 0 4px 0 #080808, 0 8px 16px #00000080;--glass-bg:linear-gradient(145deg, #1e1e1ecc, #0c0c0cf2);--chessboard-border:#1a1a1a;--radius-lg:28px;--radius-md:22px;--radius-sm:999px;--max-width:1180px}[data-theme=light]{--bg:#f5f2e9;--surface:#fff;--surface-strong:#f0ede6;--gold:#c9a84c;--text-primary:#111;--text-secondary:#444;--border-glass:#0000000f;--border-glass-strong:#0000001f;--shadow-base:0 24px 80px #00000014;--shadow-elevation:0 16px 40px #0000000f, 0 4px 12px #0000000a;--glass-highlight:inset 0 1px 1px #fff, inset 0 0 40px #fff6;--glass-highlight-gold:inset 0 1px 1px #c9a84c99, inset 0 0 20px #c9a84c1a;--glow:0 0 32px #c9a84c26;--background-image:radial-gradient(circle at top, #c9a84c14, transparent 30%), linear-gradient(180deg, #f5f2e9 0%, #fff 45%, #efece2 100%);--button-secondary-bg:linear-gradient(180deg, #ffffffe6 0%, #f5f5f5e6 100%);--button-secondary-shadow:var(--glass-highlight), 0 4px 0 #d9d9d9, 0 8px 16px #00000014;--glass-bg:linear-gradient(145deg, #ffffffe6, #f8f8f8f2);--chessboard-border:#e0dccf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg);min-width:320px;color:var(--text-primary);margin:0;font-family:Inter,Aptos,Segoe UI,sans-serif}.site-shell{background:var(--background-image);position:relative;overflow:clip}.site-shell:before{content:"";pointer-events:none;opacity:.02;z-index:0;background-color:#0000;background-image:linear-gradient(currentColor 1px,#0000 1px),linear-gradient(90deg,currentColor 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:72px 72px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 85%);mask-image:radial-gradient(circle,#000 30%,#0000 85%)}a{color:inherit;text-decoration:none}button,a.button{font:inherit}.hero,.section,.footer{padding-inline:24px}.topbar,.section-intro,.about-grid,.program-grid,.puzzle-layout,.footer-grid,.cta-band{width:min(100%, var(--max-width));margin-inline:auto}.topbar-wrapper{z-index:1000;pointer-events:none;justify-content:center;width:100%;padding-inline:24px;display:flex;position:fixed;top:24px;left:0}.topbar{pointer-events:auto;-webkit-backdrop-filter:blur(16px);background:var(--glass-bg);border:1px solid var(--border-glass);border-top-color:var(--border-glass-strong);width:max-content;max-width:calc(100vw - 48px);box-shadow:var(--shadow-elevation), var(--glass-highlight);border-radius:999px;justify-content:center;align-items:center;gap:clamp(32px,4vw,64px);padding:10px 28px;transition:background .4s,border-color .4s;display:flex;position:relative}.brand-mini{letter-spacing:.34em;text-transform:uppercase;color:var(--text-primary);text-shadow:0 2px 4px #0006;align-items:center;gap:12px;font-size:.85rem;font-weight:700;display:inline-flex}.brand-mini span{line-height:1;transform:translateY(1px)}[data-theme=light] .brand-mini{text-shadow:none}.brand-mark{flex-shrink:0;width:32px;height:auto}.nav-menu{align-items:center;gap:28px;display:flex}.nav-links{align-items:center;gap:32px;display:flex}.nav-link{color:var(--text-secondary);font-size:.95rem;font-weight:500;transition:color .18s,text-shadow .18s}.nav-link:hover{color:var(--text-primary);text-shadow:0 0 12px #fff6}[data-theme=light] .nav-link:hover{text-shadow:none}.hero{align-items:center;min-height:100svh;padding-top:80px;padding-bottom:48px;display:grid}.hero-content{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100%,880px);margin:0 auto;display:flex;position:relative}.hero-logo{width:min(260px,56vw);margin-bottom:24px}.hero-logo svg{width:100%;height:auto}.eyebrow{color:var(--gold);letter-spacing:.28em;text-transform:uppercase;text-shadow:0 0 12px #c9a84c66;margin:0 0 14px;font-size:.82rem;font-weight:700}h1,h2,h3{margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;line-height:.96}h1{letter-spacing:.34em;text-indent:.34em;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px #0003);background:linear-gradient(#000 0%,#333 100%);-webkit-background-clip:text;background-clip:text;font-size:clamp(4rem,12vw,8.4rem)}[data-theme=dark] h1{-webkit-text-fill-color:transparent;filter:drop-shadow(0 12px 14px #00000080);background:linear-gradient(#fff 0%,#dbd5c6 50%,#858071 100%);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-primary);text-shadow:0 4px 8px #0009;margin:18px 0 0;font-size:clamp(1.3rem,2.6vw,2.1rem)}[data-theme=light] .hero-subtitle{text-shadow:none}.hero-copy{color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;margin:18px 0 0;font-size:clamp(1rem,2vw,1.15rem)}.hero-actions{margin-top:36px}.button{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;min-height:54px;padding:0 28px;font-weight:600;transition:all .2s cubic-bezier(.2,.8,.2,1);display:inline-flex;position:relative;overflow:hidden}.button:before{content:"";border-radius:inherit;opacity:.8;pointer-events:none;background:linear-gradient(#fff3 0%,#0000 40%);position:absolute;inset:0}.button{background:linear-gradient(180deg, #dec06f 0%, var(--gold) 45%, #a58428 100%);color:#111;border-color:#0000;box-shadow:0 4px #785f1c,0 12px 24px #c9a84c4d}.button:hover{box-shadow:0 6px 0 #785f1c, 0 18px 32px #c9a84c66, inset 0 1px 2px #fff6, var(--glow);transform:translateY(-2px)}.button:active{transform:translateY(4px);box-shadow:0 0 #0000,0 4px 12px #c9a84c33}.theme-toggle{border:1px solid var(--border-glass-strong);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:1.1rem;transition:all .2s;display:flex}.mobile-menu-toggle{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.4rem;display:none}.theme-toggle:hover{background:var(--border-glass)}.section{padding-block:100px}.section-intro{margin-bottom:42px}.section-intro h2,.puzzle-copy h2,.cta-band h2{text-shadow:0 2px 4px #00000026;-webkit-text-fill-color:transparent;background:linear-gradient(#000 0%,#333 100%);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.4rem,5vw,4.6rem)}[data-theme=dark] .section-intro h2,[data-theme=dark] .puzzle-copy h2,[data-theme=dark] .cta-band h2{-webkit-text-fill-color:transparent;text-shadow:0 4px 8px #0006;background:linear-gradient(#fff 0%,#dfddd8 100%);-webkit-background-clip:text;background-clip:text}.section-intro p:last-child,.about-copy p,.program-card p,.puzzle-copy p,.cta-band p,.footer p,.footer li{color:var(--text-secondary);line-height:1.8}.glass-panel,.stat-card,.program-card,.puzzle-panel,.cta-band,.footer-block{background:var(--glass-bg);border:1px solid var(--border-glass);border-top-color:var(--border-glass-strong);border-left-color:var(--border-glass-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-elevation), var(--glass-highlight);-webkit-backdrop-filter:blur(24px);z-index:1;position:relative}.glass-panel,.cta-band{border-radius:var(--radius-lg);border-top:1px solid #fff3;padding:34px}.about-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:stretch;gap:28px;display:grid}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.stats-grid .stat-card:last-child:nth-child(odd){grid-column:1/-1}.stat-card{flex-direction:column;justify-content:center;align-items:center;min-height:184px;padding:28px;display:flex}.stat-card:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(#c9a84c14 0%,#0000 50%);width:100%;height:100%;position:absolute;top:0;left:0}.stat-number,.stat-suffix,.stat-label{color:var(--text-primary);text-shadow:0 4px 12px #c9a84c33;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;font-size:clamp(2.4rem,5vw,4rem);display:inline-block}.stat-suffix,.stat-label{color:var(--gold)}.stat-card p{margin:18px 0 0;font-size:1rem}.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.program-card{border-top:1px solid #c9a84c66;padding:32px 28px;transition:all .3s cubic-bezier(.2,.8,.2,1)}.program-card:hover{box-shadow:0 24px 48px #00000026, 0 8px 16px #0000001a, var(--glass-highlight-gold);border-top-color:#c9a84ccc;transform:translateY(-8px)scale(1.01)}[data-theme=dark] .program-card:hover{box-shadow:0 24px 48px #000c, 0 8px 16px #0009, var(--glass-highlight-gold)}.program-tier{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 8px #c9a84c4d;margin:0 0 12px;font-size:.82rem;font-weight:700}.program-card h3{margin-bottom:18px;font-size:2rem}.program-card .button{margin-top:20px}.puzzle-layout{grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:center;gap:40px;display:grid}.chessboard{border:3px solid var(--chessboard-border);border-top-color:var(--border-glass-strong);border-left-color:var(--border-glass-strong);border-radius:16px;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden;box-shadow:0 20px 50px #0003,inset 0 4px 20px #0000001a,0 0 0 1px #ffffff0d}[data-theme=dark] .chessboard{box-shadow:0 20px 50px #000000b3,inset 0 4px 20px #000c,0 0 0 1px #ffffff0d}.square{aspect-ratio:1;justify-content:center;align-items:center;display:flex;position:relative}.light{background:#c9b37e;box-shadow:inset 0 0 10px #0000000d}.dark{background:#4a3f2c;box-shadow:inset 0 0 12px #00000080}.chess-piece{color:#fff;z-index:10;filter:drop-shadow(0 4px 6px #00000080);font-size:clamp(28px,4vw,42px);line-height:1;position:absolute}.dark .chess-piece{filter:drop-shadow(0 4px 6px #000c)}.solution-piece{color:var(--gold);z-index:12;filter:drop-shadow(0 4px 8px #00000080);font-size:clamp(32px,4.5vw,48px);animation:1.5s ease-in-out infinite glowPulse;position:absolute}.solution-target{position:relative}.solution-target:after{content:"";opacity:0;background:radial-gradient(circle,#c9a84c80 0%,#0000 60%);transition:opacity .3s;position:absolute;inset:0}.chessboard.solution-visible .solution-target:after{opacity:1}.coord{color:#fff6;font-size:10px;font-weight:700;position:absolute;bottom:4px;left:6px}.puzzle-panel{padding:34px}@keyframes glowPulse{0%{filter:drop-shadow(0 0 12px #c9a84c99);transform:scale(1)}50%{filter:drop-shadow(0 0 24px #c9a84ce6);transform:scale(1.15)}to{filter:drop-shadow(0 0 12px #c9a84c99);transform:scale(1)}}.solution-text{color:var(--text-secondary);margin-top:20px}.solution-text strong{color:var(--gold)}.cta-band{border-radius:var(--radius-lg);text-align:center;border-top-color:#c9a84c66;padding:58px 36px}.cta-band p{margin:18px auto 0}.button-shimmer{margin-top:28px}.button-shimmer:after{content:"";background:linear-gradient(90deg,#0000 20%,#fff6 50%,#0000 80%);animation:3s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-140%)skew(-20deg)}@keyframes shimmer{0%{transform:translate(-150%)skew(-20deg)}50%,to{transform:translate(150%)skew(-20deg)}}.footer{padding-top:48px;padding-bottom:48px}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.footer-block{box-shadow:0 8px 32px #0000001a, var(--glass-highlight);padding:26px}[data-theme=dark] .footer-block{box-shadow:0 8px 32px #00000080, var(--glass-highlight)}.footer-block h3{letter-spacing:.05em;color:var(--text-primary);margin-bottom:18px;font-size:1.5rem}.footer-tagline{margin-top:18px}.footer-block ul{margin:0;padding:0;list-style:none}.footer-block li+li{margin-top:10px}.footer-block a:hover{color:var(--text-primary);text-shadow:0 0 8px #fff6}[data-theme=light] .footer-block a:hover{text-shadow:none}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(32px)}.reveal-left{transform:translate(-32px)}.reveal-right{transform:translate(32px)}.reveal.is-visible{opacity:1;transform:translate(0)}@media (max-width:1024px){.about-grid,.puzzle-layout,.program-grid,.footer-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid .stat-card:last-child{grid-column:auto}}@media (max-width:760px){.hero,.section,.footer{padding-inline:18px}.topbar{padding-top:18px}.mobile-menu-toggle{justify-content:center;align-items:center;display:flex}.nav-links{display:none}.nav-links.mobile-open{background:var(--glass-bg);border-radius:var(--radius-md);border:1px solid var(--border-glass-strong);width:clamp(200px,50vw,280px);box-shadow:0 12px 40px #0006, var(--glass-highlight);-webkit-backdrop-filter:blur(24px);z-index:999;flex-direction:column;gap:24px;padding:24px;display:flex;position:absolute;top:calc(100% + 12px);right:0}[data-theme=light] .nav-links.mobile-open{box-shadow:0 12px 40px #0000001a, var(--glass-highlight)}.hero-content{min-height:calc(100svh - 76px)}h1{letter-spacing:.15em;text-indent:.15em;font-size:clamp(2.8rem,10vw,4rem)}.eyebrow{letter-spacing:.15em;font-size:.65rem}.hero-copy{letter-spacing:.08em;font-size:.8rem}.section{padding-block:92px}.glass-panel,.program-card,.stat-card,.puzzle-panel,.cta-band,.footer-block{padding:24px}.stats-grid{grid-template-columns:1fr}.puzzle-layout{gap:20px}.cta-band{padding:42px 22px}.brand-mini{letter-spacing:.24em;gap:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal-left,.reveal-right{opacity:1;transform:none}}.white-piece{color:#fff;text-shadow:0 0 6px #fff6}.black-piece{color:#111;text-shadow:0 0 #0003}
