
:root{--ink:#202a3d;--muted:#596477;--accent:#4254bb;--pink:#a42770;--line:#dce2ed;--soft:#f2f5fc;--font:'Nunito Sans',system-ui,sans-serif}
body{background:#fff;color:var(--ink);font-family:var(--font);color-scheme:light}
h1,.featured h3,.code-project h3,.small-projects h3,.note h3,.section-heading h2,.reel h3{font-family:var(--font);font-weight:750;font-style:normal;letter-spacing:-.035em}
h1{font-weight:800}em{font-style:normal;font-weight:inherit;color:var(--accent)}
.wordmark{font:850 30px/1 var(--font);letter-spacing:-2px;color:var(--accent)}.wordmark span{font:inherit;color:var(--pink)}
.muted,.press,.aside,.note p,.reel p,.dev-posts>span,.dev-posts small,.coverage-label,.coverage-links span,.coverage-links small,.community-proof,.workshop-hint,.session-preview figcaption,footer,footer small{color:var(--muted)}
.eyebrow,.accent{color:var(--pink)}.eyebrow{font-family:var(--font);font-weight:800}
.textlink,.workshop-hint a{color:var(--accent);font-weight:700}a:hover{color:var(--pink)}
.top,.section,.code-project,.small-projects article,.dev-posts,.emerald-coverage,footer,.note+.note{border-color:var(--line)}
.button,.workshop .button{background:var(--accent);border-color:var(--accent);color:white;border-radius:9px;font-weight:750}
.button:hover,.workshop .button:hover{background:#30399a;border-color:#30399a;color:#fff}
.game{background:var(--soft);border-color:var(--line);border-radius:12px}.game figcaption{color:var(--muted)}
.session-preview img,.app-preview>a>img{border-color:var(--line)}
.portrait-wrap img{border-radius:22px}.portrait-wrap{transform:rotate(2deg)}
.workshop-compact{margin:16px 0 30px;padding:28px;background:var(--soft);border:1px solid var(--line);border-radius:14px;scroll-margin-top:20px}
.workshop-compact>p{color:var(--ink)}
.workshop-compact input[type=email],.workshop-compact select{font-family:var(--font);background:#fff;color:var(--ink);border:1px solid #8996ad;border-radius:8px;padding:13px 12px;font-size:14px;min-height:48px}
.workshop-compact input::placeholder{color:#586477}.workshop-compact .button{min-height:48px;padding:12px 16px}
.workshop-compact form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.workshop-compact label{color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,.workshop select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.workshop input:focus{border-color:var(--accent);box-shadow:none}.skip:focus{background:#fff}
@media(max-width:760px){.workshop-compact{padding:22px}.workshop-compact form{grid-template-columns:1fr}.workshop-compact .button{justify-self:stretch}.portrait-wrap img{border-radius:14px}h1{font-size:48px}.featured h3{font-size:36px}}
/* 01: quiet, mostly white */ .section-heading h2{font-size:26px}.top a[href="#workshops"]{color:var(--accent);font-weight:750}
/* Subtle, refined: preserve the approved hero; strengthen everything below. */
main>.section, .workshop-compact{--ink:#182132;--muted:#465165;color:var(--ink)}
main>.section{font-size:18px;line-height:1.65}
.section-heading h2{font-size:30px;font-weight:800;letter-spacing:-.025em;line-height:1.25}
.section-heading{margin-bottom:34px}
.feature-copy>p{max-width:440px}.feature-copy .muted,.code-project .muted{color:#465165}
.textlink{font-size:16px;font-weight:700}.hero .textlink{font-size:14px}
.feature-copy .button{font-size:16px}
.code-project h3,.small-projects h3{font-size:34px;line-height:1.2;letter-spacing:-.025em}
.coverage-label,.dev-posts>span{font-size:14px;font-weight:650;color:#465165}
.coverage-links a{font-size:17px;font-weight:650}.coverage-links span,.coverage-links small{font-size:13px}
.community-proof,.workshop-hint,.aside{font-size:16px;line-height:1.65;color:#465165}
.session-preview figcaption,.game figcaption{font-size:13px;color:#465165;letter-spacing:0}
.talk-intro p{font-size:18px}.reel h3{font-size:21px;line-height:1.35;font-weight:750;letter-spacing:-.02em}
.reel .textlink{font-size:15px}
.note{padding:10px 0 30px}.note h3{font-size:30px;font-weight:750;line-height:1.3;letter-spacing:-.02em;max-width:440px;margin-bottom:18px}
.note .textlink{font-size:16px}
.dev-posts{gap:0;margin-top:12px;padding-top:22px}
.dev-posts>span{margin-bottom:12px}
.dev-posts>a{font-size:19px;line-height:1.5;font-weight:600;padding:15px 0;border-bottom:1px solid #e6e9ef;align-items:baseline}
.dev-posts small{font-size:14px;font-weight:400;color:#465165}
.dev-posts>.textlink{font-size:16px;border:0;padding:17px 0 0;margin:0;font-weight:700}
.workshop-compact{background:#f6f7fb;border-color:#d9dfeb}
.workshop-compact>p{font-size:19px;line-height:1.6;font-weight:600;max-width:820px}
.workshop-compact input[type=email],.workshop-compact select{font-size:16px;border-color:#8390a6;min-height:52px}
.workshop-compact .button{font-size:15px;min-height:52px}
footer,footer small{font-size:14px;color:#465165}
@media(max-width:760px){
 main>.section{font-size:17px}.section-heading h2{font-size:27px}
 .code-project h3,.small-projects h3{font-size:30px}.note h3{font-size:27px}
 .talk-intro p{font-size:17px}.dev-posts>a{font-size:17px;flex-wrap:wrap;gap:3px 14px}
 .dev-posts small{font-size:13px}.workshop-compact>p{font-size:18px}
 .reel h3{font-size:20px}.coverage-links a{font-size:16px}
}

.top .wordmark{font:750 20px/1.25 var(--font);letter-spacing:-.5px;color:#202a3d;white-space:nowrap}
.emerald-coverage{background:#f6f7fb;border:1px solid #dce2ed;border-radius:12px;padding:24px 26px;margin-top:34px}
.coverage-label{font-size:18px;font-weight:800;color:#202a3d;margin-bottom:16px}
.coverage-links{gap:18px 28px}.coverage-links a{font-size:20px;font-weight:750}.coverage-links small,.coverage-links span{font-size:14px}
.community-proof{margin-top:22px!important}
.workshop-compact{border:1px solid #bac4e5;border-top:4px solid #4254bb;background:#eef1fb;padding:32px}
.workshop-compact>p{font-size:21px;line-height:1.55;max-width:860px}
.workshop-compact form{margin-top:24px}
.article h1{font-size:clamp(36px,5vw,52px);line-height:1.15;letter-spacing:-1.6px}
.article h2{font:750 27px/1.3 var(--font);letter-spacing:-.5px;color:#182132}
.article p,.article li{font-size:19px;color:#344055;line-height:1.8}
.article a:not(.back){color:#4254bb}.article figcaption{color:#465165;font-size:14px}
@media(max-width:760px){.top{gap:20px;align-items:center}.top .wordmark{font-size:17px}.top div{gap:8px 14px}.emerald-coverage{padding:22px}.coverage-links a{font-size:18px}.workshop-compact{padding:24px}.workshop-compact>p{font-size:19px}.article p,.article li{font-size:18px}}
@media(max-width:420px){.top{align-items:flex-start}.top div{max-width:170px}.top .wordmark{max-width:130px;white-space:normal}}
/* Final restraint: media and coverage sit on the page, not inside cards. */
.game{padding:0;background:transparent;border:0;border-radius:0}
.emerald-coverage{background:transparent;border:0;border-top:1px solid #dce2ed;border-radius:0;padding:25px 0 0}
.coverage-links a,.community-proof a{color:#4254bb;text-decoration:underline;text-decoration-color:#bbc4e8;text-decoration-thickness:1px;text-underline-offset:5px}
.coverage-links a:hover,.community-proof a:hover{color:#30399a;text-decoration-color:currentColor}
#work>.section-heading h2{font-size:16px;font-weight:650;letter-spacing:0;color:#465165}
#work>.section-heading{margin-bottom:24px}
.top .wordmark{font-size:23px;letter-spacing:-.7px;font-weight:750}
@media(max-width:760px){.top .wordmark{font-size:21px}.game{padding:0}.emerald-coverage{padding:22px 0 0}}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px}
.hero-actions .learn-link{font-size:15px}
#workshops.workshop-compact{margin:36px 0 0}
#workshops.workshop-compact h2{font:750 26px/1.3 var(--font);letter-spacing:-.5px;margin:0 0 12px;color:#182132}
#workshops.workshop-compact>p{font-size:18px;font-weight:500}
#workshops+.code-project{margin-top:45px;padding-top:40px}
@media(max-width:760px){.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}#workshops.workshop-compact h2{font-size:24px}#workshops.workshop-compact>p{font-size:17px}}
