:root { --ink:#121116; --paper:#f4f0e8; --purple:#8d4e99; --purple-light:#c58bd0; --purple-deep:#251a2b; --accent:#a968b4; --muted:#6f6873; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.65; margin:0; padding-top:56px; }
a { color:inherit; }
.skip-link { background:#fff; color:#111; left:1rem; padding:.75rem 1rem; position:fixed; top:-5rem; z-index:2000; }
.skip-link:focus { top:1rem; }
.home-hero { align-items:center; background:#111317 url('/ChessJitsuCoverPhotoUltimate.png') center/cover no-repeat; color:#fff; display:flex; min-height:min(780px,calc(100vh - 56px)); overflow:hidden; position:relative; }
.hero-overlay { background:linear-gradient(90deg,rgba(12,12,15,.96) 0%,rgba(23,16,26,.86) 50%,rgba(16,12,19,.42) 100%); inset:0; position:absolute; }
.hero-content { padding-bottom:6rem; padding-top:6rem; position:relative; z-index:1; }
.eyebrow { color:var(--purple-light); font-size:.78rem; font-weight:700; letter-spacing:.2em; margin:0 0 1rem; text-transform:uppercase; }
.eyebrow.dark { color:var(--purple); }
.home-hero h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(3rem,6.5vw,6rem); font-weight:700; letter-spacing:-.045em; line-height:1.02; margin:0; max-width:1050px; }
.home-hero h1 span { color:var(--purple-light); }
.hero-copy { color:#e5dfe8; font-size:clamp(1.05rem,2vw,1.3rem); margin:2rem 0; max-width:670px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; }
.button { border:1px solid transparent; display:inline-block; font-size:.82rem; font-weight:700; letter-spacing:.08em; padding:.95rem 1.35rem; text-decoration:none; text-transform:uppercase; transition:transform .2s,background .2s; }
.button:hover,.button:focus { text-decoration:none; transform:translateY(-2px); }
.button-primary { background:var(--purple); color:#fff; }
.button-primary:hover,.button-primary:focus { background:var(--purple-light); color:#211624; }
.button-secondary { border-color:var(--purple-light); color:#fff; }
.button-secondary:hover,.button-secondary:focus { background:var(--purple-light); color:#211624; }
.button-dark { background:var(--purple-deep); color:#fff; }
.hero-mark { bottom:-5rem; color:rgba(255,255,255,.07); font-family:Georgia,serif; font-size:min(40vw,34rem); line-height:1; pointer-events:none; position:absolute; right:1%; }
.intro-section { background:#fff; padding:6rem 0; }
.intro-grid { align-items:start; display:grid; gap:clamp(2rem,7vw,7rem); grid-template-columns:1.05fr .95fr; }
.intro-grid h2,.pathways h2,.closing-cta h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.2rem,5vw,4rem); letter-spacing:-.035em; line-height:1.08; margin:0; }
.intro-grid>p { color:var(--muted); font-size:1.18rem; margin:1.8rem 0 0; }
.pathways { background:var(--purple-deep); color:#fff; padding:6.5rem 0; }
.pathways h2 { margin-bottom:3rem; }
.pathway-grid { display:grid; gap:1px; grid-template-columns:repeat(3,1fr); }
.pathway-card { background:#312537; border-top:3px solid transparent; min-height:360px; padding:2rem; position:relative; }
.pathway-card.featured { border-top-color:var(--accent); }
.card-number { color:#9e91a3; font-size:.75rem; letter-spacing:.15em; }
.card-icon { color:var(--purple-light); font-size:3.2rem; line-height:1; margin:2.5rem 0 1.4rem; }
.pathway-card h3 { font-family:Georgia,serif; font-size:1.7rem; }
.pathway-card p { color:#c9c0cd; }
.pathway-card a { bottom:2rem; color:var(--purple-light); font-weight:700; position:absolute; text-decoration:none; }
.pathway-card a:hover,.pathway-card a:focus { color:#fff; }
.manifesto { background:var(--accent); color:#211a24; padding:6rem 0; text-align:center; }
.manifesto-inner { max-width:900px; }
.manifesto-piece { font-size:3rem; }
.manifesto blockquote { font-family:Georgia,serif; font-size:clamp(2rem,5vw,4rem); font-weight:700; letter-spacing:-.03em; line-height:1.15; margin:1rem 0; }
.manifesto p { font-size:.78rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.closing-cta { background:#fff; padding:6rem 0; text-align:center; }
.closing-cta p:not(.eyebrow) { color:var(--muted); font-size:1.15rem; margin:1.25rem 0 2rem; }
.site-footer { background:#141217; color:#c8c2ca; padding:2rem 0; text-align:center; }
.site-footer p { margin:0; }
.concept-hero { background:linear-gradient(135deg,#151218,#5d3264); color:#fff; padding:8rem 0 6rem; }
.concept-hero h1 { font-family:Georgia,serif; font-size:clamp(4rem,10vw,7rem); font-weight:700; letter-spacing:-.05em; line-height:1; }
.concept-hero>.container>p:last-child { color:#ddd4e0; font-size:1.25rem; max-width:650px; }
.concept-main { background:var(--paper); padding:6rem 0; }
.concept-intro { margin-bottom:4rem; max-width:820px; text-align:center; }
.concept-intro h2 { font-family:Georgia,serif; font-size:clamp(2.2rem,5vw,4rem); letter-spacing:-.035em; }
.concept-intro>p:last-child { color:var(--muted); font-size:1.15rem; }
.concept-grid { display:grid; gap:2rem; }
.concept-card { align-items:center; background:#fff; box-shadow:0 1rem 2.5rem rgba(37,26,43,.08); display:grid; grid-template-columns:1.1fr .9fr; overflow:hidden; }
.concept-card.reverse { grid-template-columns:.9fr 1.1fr; }
.concept-card.reverse>a { order:2; }
.concept-card img { height:340px; object-fit:cover; width:100%; }
.concept-card img.contain-image { background:#f8f6f1; object-fit:contain; padding:3rem; }
.concept-card>div { padding:clamp(2rem,5vw,4rem); }
.concept-card h2 { font-family:Georgia,serif; font-size:clamp(2rem,4vw,3rem); letter-spacing:-.03em; }
.concept-card>div>p:not(.eyebrow) { color:var(--muted); margin-bottom:1.8rem; }
@media (max-width:800px) { .intro-grid,.pathway-grid { grid-template-columns:1fr; } .pathway-card { min-height:320px; } .home-hero { min-height:700px; } }
@media (max-width:760px) { .concept-card,.concept-card.reverse { grid-template-columns:1fr; } .concept-card.reverse>a { order:0; } .concept-card img { height:260px; } }
@media (max-width:520px) { .hero-content { padding-bottom:4.5rem; padding-top:4.5rem; } .home-hero h1 { font-size:2.75rem; } .intro-section,.pathways,.manifesto,.closing-cta { padding:4.5rem 0; } .hero-actions .button { text-align:center; width:100%; } }

