:root{--ink:#172033;--muted:#5d687b;--paper:#fbfcfe;--soft:#f1f5fb;--line:#d9e1ee;--blue:#1d4ed8;--blue-dark:#173da8;--blue-pale:#e8efff;--max:1120px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.site-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--blue);color:white;font-size:.78rem;font-weight:850}.brand strong{font-size:1rem}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{color:var(--muted);text-decoration:none;font-weight:650}.site-header nav a:hover{color:var(--blue)}.menu-button{display:none;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:9px 12px;font:inherit;font-weight:700}.hero{min-height:650px;display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(44px,7vw,90px);align-items:center;padding-block:80px}.eyebrow{margin:0 0 18px;color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:850}.hero h1{margin:0;max-width:820px;font-size:clamp(3.2rem,6.7vw,6.2rem);line-height:.96;letter-spacing:-.058em}.lead{max-width:680px;margin:27px 0 0;color:var(--muted);font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.6}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:33px}.button{display:inline-block;border-radius:9px;background:var(--blue);color:white;padding:14px 19px;text-decoration:none;font-weight:750;box-shadow:0 7px 20px rgb(29 78 216 / 16%)}.button:hover{background:var(--blue-dark)}.quiet-link{color:var(--blue);font-weight:750;text-decoration-thickness:1px;text-underline-offset:4px}.portrait{margin:0;border-radius:24px;overflow:hidden;background:var(--soft);aspect-ratio:.72}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:grayscale(14%)}.section{padding-block:100px}.about{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(50px,9vw,120px);border-top:1px solid var(--line)}.about h2,.section-heading h2,.connect h2{margin:0;font-size:clamp(2.3rem,4.8vw,4.2rem);line-height:1.02;letter-spacing:-.045em}.prose{max-width:660px}.prose p{margin:0 0 19px;color:var(--muted);font-size:1.08rem;line-height:1.78}.writing{background:var(--soft)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.article-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article-card{min-height:300px;display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:15px;background:var(--paper);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.article-card:hover{transform:translateY(-4px);border-color:#9cb7fa;box-shadow:0 16px 32px rgb(25 46 87 / 9%)}.article-card .meta{margin:0;color:var(--blue);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.article-card h3{margin:auto 0 12px;font-size:1.8rem;letter-spacing:-.03em}.article-card p:not(.meta){margin:0 0 25px;color:var(--muted);line-height:1.55}.article-card span{color:var(--blue);font-weight:750}.connect{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,9vw,120px)}.connect>div>p:last-child{color:var(--muted);line-height:1.6}.social-links{align-self:start;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.social-links a{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:0 18px;border:1px solid var(--line);border-radius:10px;color:var(--blue);background:var(--paper);text-decoration:none;font-weight:750}.social-links a:hover{border-color:var(--blue);background:var(--blue-pale)}.social-links small{color:var(--muted);font-weight:600}.site-footer{min-height:84px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.9rem}.site-footer p{margin:0}.site-footer a{color:var(--blue)}.draft-note{position:fixed;z-index:5;left:15px;bottom:15px;border:1px solid var(--line);border-radius:8px;padding:8px 11px;color:var(--muted);background:rgb(251 252 254 / 92%);backdrop-filter:blur(8px);font-size:.72rem;font-weight:700}
.article-shell{max-width:900px;margin-inline:auto;padding-block:76px 100px}.article-shell .eyebrow{margin-bottom:20px}.article-shell h1{max-width:880px;margin:0 0 36px;font-size:clamp(2.55rem,5.2vw,4.6rem);line-height:1.02;letter-spacing:-.047em;text-wrap:balance}.article-content,.article-tags,.article-navigation{max-width:760px}.article-shell .lede{color:var(--ink);font-size:1.55rem;font-weight:700;line-height:1.42}.article-shell p{color:var(--muted);font-size:1.1rem;line-height:1.82}.back-link{display:inline-block;margin-bottom:38px;color:var(--blue);font-weight:750}.article-navigation{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:65px;padding-top:32px;border-top:1px solid var(--line)}.article-navigation a{padding:18px;border:1px solid var(--line);border-radius:11px;text-decoration:none}.article-navigation a:hover{border-color:var(--blue);background:var(--blue-pale)}.article-navigation small{display:block;margin-bottom:6px;color:var(--muted)}.article-navigation strong{color:var(--blue)}.article-index{padding-block:80px 110px}.article-index h1{margin:0 0 50px;font-size:clamp(3.2rem,7vw,5.5rem);letter-spacing:-.055em}.article-list{border-top:1px solid var(--line)}.article-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px 4px;border-bottom:1px solid var(--line);text-decoration:none;font-size:clamp(1.2rem,2.3vw,1.75rem);font-weight:730}.article-row:hover{color:var(--blue)}.article-row time{color:var(--muted);font-size:.86rem;font-weight:600}
@media(prefers-color-scheme:dark){:root{--ink:#eff4ff;--muted:#aeb9cc;--paper:#111722;--soft:#171f2c;--line:#2b3648;--blue:#78a2ff;--blue-dark:#9ab7ff;--blue-pale:#1b2b4c}.button{color:#101a2e;background:#8baeff}.draft-note{background:rgb(17 23 34 / 92%)}}
@media(max-width:760px){.wrap{width:min(calc(100% - 30px),var(--max))}.site-header nav{display:none;position:absolute;z-index:4;top:calc(100% - 1px);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px;border:1px solid var(--line);border-radius:0 0 12px 12px;background:var(--paper)}.site-header nav.open{display:flex}.site-header nav a{padding:12px}.menu-button{display:block}.hero{min-height:0;grid-template-columns:1fr;padding-block:58px 70px}.hero h1{font-size:clamp(3rem,14vw,4.6rem)}.portrait{max-height:540px}.section{padding-block:72px}.about,.connect{grid-template-columns:1fr;gap:38px}.section-heading,.featured-writing-heading{align-items:start;flex-direction:column}.article-cards,.featured-writing-grid{grid-template-columns:1fr}.article-card{min-height:230px}.featured-article{min-height:250px}.social-links{grid-template-columns:1fr}.article-navigation{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.article-card{transition:none}}

/* Refined charcoal-and-blue direction */
.hero h1{max-width:800px;font-size:clamp(3rem,5.8vw,5.25rem);line-height:.98;letter-spacing:-.052em}
.social-links a>span{display:flex;align-items:center;gap:11px}.social-icon{width:21px;height:21px;fill:currentColor;flex:0 0 auto}
@media(prefers-color-scheme:dark){:root{--ink:#f1f3f7;--muted:#aeb4c0;--paper:#0d0f13;--soft:#15181e;--line:#2a2f38;--blue:#78a2ff;--blue-dark:#9ab7ff;--blue-pale:#18243d}.button{color:#0b1220;background:#8baeff}.draft-note{background:rgb(13 15 19 / 92%)}}

.milestones{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(50px,9vw,120px);border-top:1px solid var(--line)}.milestones-heading h2,.featured-writing-heading h2{margin:0;font-size:clamp(2.25rem,4.2vw,3.75rem);line-height:1.05;letter-spacing:-.04em}.milestone-list article{display:grid;grid-template-columns:46px 1fr;gap:16px;padding:25px 0}.milestone-list article+article{border-top:1px solid var(--line)}.milestone-list article>span{color:var(--blue);font-size:.75rem;font-weight:800}.milestone-list h3{margin:0 0 8px;font-size:1.22rem}.milestone-list p{margin:0;color:var(--muted);line-height:1.65}.featured-writing{margin-bottom:100px;padding-block:82px;border-top:1px solid var(--line)}.featured-writing-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.featured-writing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.featured-article{min-height:330px;display:flex;flex-direction:column;justify-content:space-between;gap:34px;padding:26px;border:1px solid var(--line);border-radius:16px;background:var(--soft);color:var(--ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.featured-article:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 16px 32px rgb(25 46 87 / 10%)}.featured-article .article-topic{margin:0;color:var(--blue);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.featured-article h3{margin:0 0 12px;font-size:clamp(1.55rem,2.5vw,2rem);letter-spacing:-.035em}.featured-article div p{margin:0;color:var(--muted);line-height:1.65}.featured-article>span{color:var(--blue);font-weight:750}.expanded-footer{gap:24px}.icon-socials{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.icon-socials a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted);text-decoration:none}.icon-socials a:hover{color:var(--blue);border-color:var(--blue);background:var(--blue-pale)}.icon-socials svg{width:18px;height:18px;fill:currentColor}.icon-socials span{font-size:.72rem;font-weight:850}.about-page{padding-bottom:110px}.about-intro{min-height:620px;display:grid;grid-template-columns:1.25fr .55fr;gap:clamp(50px,8vw,100px);align-items:center;padding-block:80px}.about-intro h1{margin:0;font-size:clamp(3rem,6.2vw,5.6rem);line-height:.98;letter-spacing:-.055em}.about-intro .portrait{max-height:520px}.about-story{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(45px,8vw,100px);padding-block:72px;border-top:1px solid var(--line)}.about-story h2{margin:0;font-size:clamp(2rem,3.8vw,3rem);letter-spacing:-.04em}.about-story div{max-width:680px}.about-story p{margin:0 0 20px;color:var(--muted);font-size:1.08rem;line-height:1.8}
@media(max-width:760px){.milestones,.about-intro,.about-story{grid-template-columns:1fr;gap:38px}.home-writing{margin-bottom:72px}.about-intro{min-height:0;padding-block:58px}.about-intro .portrait{max-height:500px}.expanded-footer{align-items:flex-start;flex-direction:column;padding-block:24px}.icon-socials{justify-content:flex-start}}

/* Clearer Orbit-inspired blue and article end states */
:root{--brand-blue:#1f6feb;--blue:#1f6feb;--blue-dark:#1558c0;--blue-pale:#eaf2ff}
.article-navigation-single{grid-template-columns:minmax(240px,1fr) minmax(240px,1fr)}.article-navigation-single.next-only a{grid-column:2}.migration-note{margin-top:28px;color:var(--muted);font-size:.92rem;line-height:1.6}.chess-mark{font-size:1.25rem!important}
@media(prefers-color-scheme:dark){:root{--blue:#4493fb;--blue-dark:#6aa8ff;--blue-pale:#13233a}.brand span{background:var(--brand-blue)}.button{background:var(--brand-blue);color:white}}
@media(max-width:760px){.article-navigation-single{grid-template-columns:1fr}.article-navigation-single.next-only a{grid-column:1}}

/* Social identity appears on interaction while the resting footer stays quiet */
.icon-socials a[aria-label="X or Twitter"]:hover,.icon-socials a[aria-label="X or Twitter"]:focus-visible{color:#1da1f2;border-color:#1da1f2;background:rgb(29 161 242 / 10%)}
.icon-socials a[aria-label="Instagram"]:hover,.icon-socials a[aria-label="Instagram"]:focus-visible{color:#e4405f;border-color:#e4405f;background:rgb(228 64 95 / 10%)}
.icon-socials a[aria-label="Whatnot"]:hover,.icon-socials a[aria-label="Whatnot"]:focus-visible{color:#ffb800;border-color:#ffb800;background:rgb(255 184 0 / 10%)}
.icon-socials a[aria-label="YouTube"]:hover,.icon-socials a[aria-label="YouTube"]:focus-visible{color:#ff0033;border-color:#ff0033;background:rgb(255 0 51 / 10%)}
.icon-socials a[aria-label="Medium"]:hover,.icon-socials a[aria-label="Medium"]:focus-visible{color:#00a86b;border-color:#00a86b;background:rgb(0 168 107 / 10%)}
.icon-socials a[aria-label="IMDb"]:hover,.icon-socials a[aria-label="IMDb"]:focus-visible{color:#e2b616;border-color:#e2b616;background:rgb(226 182 22 / 10%)}
.icon-socials a[aria-label="Chess.com"]:hover,.icon-socials a[aria-label="Chess.com"]:focus-visible{color:#81b64c;border-color:#81b64c;background:rgb(129 182 76 / 10%)}
.icon-socials a[aria-label="GitHub"]:hover,.icon-socials a[aria-label="GitHub"]:focus-visible{color:var(--ink);border-color:var(--ink);background:var(--soft)}
.footer-nav{display:flex;align-items:center;justify-content:center;gap:20px}.footer-nav a{color:var(--muted);text-decoration:none;font-weight:700}.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--blue)}

/* Full writing archive */
.article-content h2,.article-content h3,.article-content h4{margin:2.3em 0 .7em;color:var(--ink);line-height:1.2;letter-spacing:-.025em}.article-content h2{font-size:1.75rem}.article-content h4{font-size:1.35rem}.article-content ul,.article-content ol{margin:1.4rem 0;padding-left:1.4rem;color:var(--muted);font-size:1.08rem;line-height:1.75}.article-content li+li{margin-top:.55rem}.article-content blockquote{margin:2rem 0;padding:1px 0 1px 22px;border-left:4px solid var(--blue)}.article-content blockquote p{color:var(--ink);font-size:1.3rem}.article-content hr{margin:3rem 0;border:0;border-top:1px solid var(--line)}.article-content figure{margin:2rem 0}.article-content figure img{width:100%;height:auto;border-radius:14px}.article-content a{color:var(--blue);text-underline-offset:3px}.article-content table{width:100%;border-collapse:collapse;color:var(--muted);font-size:.95rem}.article-content td{padding:10px;border:1px solid var(--line)}.article-content tr:first-child{color:var(--ink);font-weight:750;background:var(--soft)}.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:42px}.article-tags span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.78rem}.article-row time{white-space:nowrap}
@media(max-width:600px){.article-content figure{overflow-x:auto}.article-content table{min-width:560px}.article-row{grid-template-columns:1fr}.article-row time{font-size:.78rem}}

/* Calmer, narrative About page */
.about-intro{min-height:0;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);padding-block:52px 64px}.about-intro h1{max-width:760px;font-size:clamp(2.7rem,4.8vw,4.45rem);line-height:1.02;text-wrap:balance}.about-intro .portrait{max-height:440px}.about-story{display:block;max-width:760px;margin-inline:auto;padding-block:58px}.about-story h2{margin:0 0 28px;font-size:clamp(2rem,3.3vw,2.8rem)}.about-story div{max-width:none}
@media(max-width:760px){.about-intro{grid-template-columns:1fr;padding-block:42px 54px}.about-intro h1{font-size:clamp(2.55rem,11vw,3.8rem)}.about-story{padding-block:50px}}
@media(max-width:760px){.footer-nav{justify-content:flex-start;order:2}.icon-socials{order:3}}

/* Fuller About story */
.about-intro .lead{max-width:700px}
.about-story>.eyebrow{margin-bottom:16px}
.about-story h2{max-width:700px}
.about-story blockquote{margin:34px 0;padding:3px 0 3px 24px;border-left:4px solid var(--blue)}
.about-story blockquote p{margin:0;color:var(--ink);font-size:clamp(1.55rem,3vw,2.15rem);font-weight:760;line-height:1.35;letter-spacing:-.025em}
.about-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px}
.about-closing{padding-bottom:82px}
@media(max-width:760px){
  .about-story>.eyebrow{margin-bottom:12px}
  .about-story blockquote{margin-block:28px;padding-left:18px}
  .about-links{align-items:flex-start;flex-direction:column;gap:18px}
  .about-closing{padding-bottom:64px}
}

/* Phone refinements */
@media(max-width:480px){
  .wrap{width:min(calc(100% - 24px),var(--max))}
  .hero{padding-block:46px 58px;gap:34px}
  .hero h1{font-size:clamp(2.7rem,13vw,3.35rem);line-height:1}
  .lead{margin-top:22px;font-size:1.05rem;line-height:1.55}
  .actions{gap:16px;margin-top:27px}
  .section{padding-block:60px}
  .milestones-heading h2,.featured-writing-heading h2{font-size:clamp(2.1rem,10.5vw,2.75rem)}
  .milestone-list article{grid-template-columns:34px 1fr;gap:10px;padding:22px 0}
  .featured-writing{margin-bottom:72px;padding-block:64px}
  .featured-writing-heading{gap:18px;margin-bottom:28px}
  .featured-article{min-height:clamp(230px,70vw,280px);aspect-ratio:auto;gap:20px;padding:22px}
  .featured-article h3{font-size:clamp(1.4rem,7.5vw,1.7rem)}
  .featured-article div p{display:-webkit-box;font-size:1rem;line-height:1.55;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
}

/* Move writing cards out of narrow columns before the phone breakpoint */
@media(min-width:761px) and (max-width:920px){
  .featured-writing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .featured-article{min-height:300px}
  .featured-article:last-child{grid-column:1/-1;width:calc((100% - 16px)/2);justify-self:center}
}

/* Align the Writing page opening with the other primary pages */
.article-index{padding-block:112px 110px}
.article-index h1{font-size:clamp(3rem,5.8vw,5.25rem);letter-spacing:-.052em}
@media(max-width:760px){
  .article-index{padding-block:54px 88px}
  .article-index h1{margin-bottom:38px;font-size:clamp(2.7rem,12vw,3.8rem);line-height:1}
}

/* Keep the Home and About portraits anchored in one shared desktop frame */
@media(min-width:761px){
  .hero,.about-intro{min-height:650px;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:clamp(44px,7vw,90px);align-items:center;padding-block:80px}
  .about-intro .portrait{max-height:none}
}

/* Align only the opening labels; section labels keep their own layout */
@media(min-width:761px){
  .hero-copy,.about-intro-copy{align-self:start}
  .article-index{padding-top:80px}
}

/* Clear, useful destination for mistyped and retired URLs */
.error-page{min-height:65vh;display:flex;flex-direction:column;justify-content:center;padding-block:80px}
.error-page h1{max-width:820px;margin:.2em 0;font-size:clamp(3rem,7vw,6.5rem);line-height:.94;letter-spacing:-.06em}
.error-page .lead{max-width:620px}
@media(max-width:600px){.error-page{min-height:60vh;padding-block:56px}.error-page h1{font-size:clamp(2.7rem,14vw,4.1rem)}}
