@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{color-scheme:dark;--ink:#101525;--ink-soft:#182035;--cream:#f4f4e9;--muted:#b7bfd0;--lime:#d7f36d;--line:#3a4358;font-family:'DM Sans',Arial,sans-serif;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream)}a{color:inherit}a:focus-visible{outline:3px solid var(--lime);outline-offset:5px}::selection{background:var(--lime);color:var(--ink)}.shell{width:min(1180px,calc(100% - 56px));margin-inline:auto}.skip-link{position:absolute;top:-70px;left:16px;z-index:5;padding:12px 16px;background:var(--lime);color:var(--ink)}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{text-decoration:none;display:flex;align-items:center;gap:14px;font-family:'Space Grotesk',Arial,sans-serif;font-size:1.12rem;font-weight:600;letter-spacing:-.04em}.wordmark strong{color:var(--lime);font-weight:600}.mark{width:54px;height:auto;display:block;flex:none}.site-header nav{display:flex;gap:34px}.site-header nav a{text-decoration:none;font-size:.92rem;color:var(--muted);font-weight:600}.site-header nav a:hover,.footer-inner a:hover{color:var(--lime)}.hero{min-height:650px;padding-block:94px 102px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.75fr);align-items:center;gap:7%}.eyebrow{margin:0 0 24px;color:var(--lime);font-size:.78rem;letter-spacing:.17em;font-weight:700;text-transform:uppercase}.eyebrow-line{display:inline-block;width:28px;height:1px;margin:0 13px 4px 0;background:var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Space Grotesk',Arial,sans-serif;letter-spacing:-.065em}h1{max-width:800px;font-size:clamp(3.9rem,7.5vw,7.5rem);line-height:1.03;margin-bottom:30px;font-weight:600}h1 em{font-style:normal;color:var(--lime)}.hero-opening{display:block}.hero-intro{max-width:600px;color:#c7cfdd;font-size:1.18rem;line-height:1.7;margin-bottom:36px}.primary-link{display:inline-flex;gap:46px;align-items:center;padding:17px 20px;background:var(--lime);color:var(--ink);text-decoration:none;font-weight:700;border-radius:4px;transition:transform .2s,background .2s}.primary-link:hover{transform:translateY(-3px);background:#e7ff90}.primary-link span{font-size:1.25rem}.hero-aside{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:38px}.orbit{height:290px;width:290px;border:1px solid #667087;border-radius:50%;position:relative;display:grid;place-items:center}.orbit:before,.orbit:after{content:"";position:absolute;border:1px dashed #4b566e;border-radius:50%;inset:24px}.orbit:after{inset:55px;border-style:solid;border-color:#39445a}.orbit-center{position:relative;z-index:1;font-family:'Space Grotesk',Arial,sans-serif;font-size:6rem;line-height:1;font-weight:700;letter-spacing:-.13em}.orbit-center img{display:block;width:146px;height:auto}.hero-aside p{align-self:flex-end;color:#aeb9cb;line-height:1.65;font-size:.9rem;padding-left:16px;border-left:2px solid var(--lime)}.section{padding-block:100px}.work-section{background:var(--cream);color:var(--ink)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-heading .eyebrow,.notes-section .eyebrow,.about-section .eyebrow{color:#788e20}h2{font-size:clamp(2.8rem,5vw,5rem);line-height:1.1;font-weight:600;margin-bottom:0}.accent{color:#9dbc32}.section-heading>p{max-width:330px;color:#596073;line-height:1.65;margin:0}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.project-card{background:#fff;border:1px solid #e1e4df;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.project-art{height:250px;position:relative;overflow:hidden}.tech-art{background:#27345a;background-image:radial-gradient(circle at 80% 20%,#4c638e 0,transparent 45%),linear-gradient(130deg,#17233c,#314168)}.tech-art:before{content:"";position:absolute;inset:25px;border:1px solid #8eabd555;border-radius:6px}.bubble{position:absolute;border-radius:13px;padding:13px 17px;max-width:260px;font-size:.91rem;line-height:1.4;box-shadow:0 12px 30px #10152555}.bubble-one{left:10%;top:20%;background:#f1f3e9;color:#222b3d}.bubble-two{right:8%;bottom:16%;background:var(--lime);color:#1b2434}.art-spark{position:absolute;right:20%;top:13%;color:var(--lime);font-size:2.3rem}.journey-art{background:#d9e3d3;background-image:radial-gradient(circle at 78% 20%,#eff3cb,transparent 45%),linear-gradient(125deg,#dbe8e2,#c7d4bb)}.journey-path{position:absolute;left:20%;top:30%;width:60%;height:42%;border:3px dashed #667a63;border-radius:50%;transform:rotate(-20deg)}.journey-start,.journey-end{position:absolute;font-size:.76rem;font-weight:700;letter-spacing:.12em;color:#395250}.journey-start{left:15%;bottom:18%}.journey-end{right:12%;top:15%}.journey-star{position:absolute;top:25%;right:21%;font-size:5rem;color:#56766a;line-height:1}.project-body{padding:30px 32px 35px;display:flex;flex-direction:column;flex:1}.project-meta{display:flex;gap:18px;color:#6b7582;font-size:.72rem;font-weight:700;letter-spacing:.15em}.project-meta span{color:#506a21}.project-body h3{font-size:clamp(1.65rem,2.7vw,2.35rem);margin:8px 0 13px}.project-body>p:not(.project-meta){color:#555f6d;line-height:1.7;max-width:540px;margin-bottom:28px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.project-tags span{padding:7px 11px;border:1px solid #cdd3cf;border-radius:30px;color:#455063;font-size:.76rem;font-weight:700}.notes-section{background:#e9eedf;color:var(--ink)}.notes-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.notes-copy{max-width:520px;font-size:1.2rem;line-height:1.7;color:#3e4a4c}.notes-copy p{margin-bottom:18px}.notes-status{font-size:.86rem!important;font-weight:700;letter-spacing:.04em;color:#56712d!important}.currently-learning{margin-top:34px;padding-top:26px;border-top:1px solid rgba(29,47,49,.2);font-size:.94rem;line-height:1.65}.currently-learning h3{margin:0 0 17px;font-size:.83rem;line-height:1.3;letter-spacing:.11em;text-transform:uppercase;color:#56712d}.currently-learning p{margin-bottom:16px}.currently-learning .course-credit{margin:24px 0 0;font-size:.78rem;line-height:1.5;color:#586563}.course-credit a{color:inherit;text-decoration:underline;text-decoration-color:#8aa843;text-underline-offset:3px}.about-section{background:var(--ink-soft)}.about-layout{display:grid;grid-template-columns:.7fr 1fr;gap:12%;align-items:center}.about-monogram{min-height:350px;border:1px solid #586276;display:flex;align-items:center;justify-content:center;position:relative;font:700 clamp(7rem,17vw,16rem)/1 'Space Grotesk',Arial,sans-serif;letter-spacing:-.12em;color:#f4f4e9}.about-monogram img{display:block;width:min(70%,270px);height:auto}.about-layout h2{margin-bottom:28px}.about-layout p:not(.eyebrow){max-width:600px;color:#c2cbda;line-height:1.8;font-size:1.08rem}.site-footer{border-top:1px solid var(--line)}.footer-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#aeb8c8;font-size:.85rem}.footer-inner span:first-child{font-family:'Space Grotesk',Arial,sans-serif;color:var(--cream);font-size:1.05rem;font-weight:700}.footer-inner a{text-decoration:none;font-weight:700}@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-block:80px}.hero-aside{display:none}.project-grid{grid-template-columns:1fr 1fr}.section{padding-block:75px}.about-layout{gap:7%}}@media(max-width:680px){.shell{width:min(100% - 36px,1180px)}.header-inner{min-height:72px;align-items:flex-start;flex-direction:column;padding-block:14px;gap:14px}.site-header nav{gap:24px}.site-header nav a{font-size:.85rem}.hero{padding-block:75px 80px}.hero .eyebrow{margin-bottom:25px}h1{font-size:clamp(3.1rem,12vw,5rem)}.hero-intro{font-size:1.05rem}.section{padding-block:68px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.project-grid,.notes-layout,.about-layout{grid-template-columns:1fr;gap:35px}.project-art{height:210px}.project-body{padding:25px}.notes-copy{font-size:1.07rem}.about-monogram{min-height:220px;font-size:9rem}.footer-inner{padding-block:30px;align-items:flex-start;flex-direction:column;gap:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-link{transition:none}}

/* Writing entry and article */
.writing-entry{margin:26px 0 0;padding:23px 0;border-top:1px solid rgba(29,47,49,.2)}
.writing-entry-label{margin:0 0 8px!important;font-size:.76rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#56712d}
.writing-entry h3{margin:0 0 8px;font-size:clamp(1.45rem,2.4vw,1.9rem);line-height:1.2;letter-spacing:-.04em}
.writing-entry h3 a{text-decoration:none}
.writing-entry h3 a:hover,.writing-entry-link:hover{color:#56712d}
.writing-entry-link{font-size:.88rem;font-weight:700;text-decoration:underline;text-decoration-color:#8aa843;text-underline-offset:4px}
.article-shell{max-width:850px;padding-block:82px 110px}
.article-header{margin-bottom:46px}
.article-back{display:inline-block;margin-bottom:50px;color:var(--muted);font-size:.9rem;text-decoration:none}
.article-back:hover{color:var(--lime)}
.article-header .eyebrow{margin-bottom:18px}
.article-header h1{max-width:800px;margin:0;font-size:clamp(3rem,6vw,5.5rem);line-height:1.08}
.article-body{max-width:720px;color:#d3d9e3;font-size:1.125rem;line-height:1.85}
.article-body p{margin:0 0 1.65em}
.article-body strong{color:var(--cream);font-weight:700}
.article-body em{font-style:italic}
.article-body p:last-child{margin-top:2.1em;margin-bottom:0}
@media(max-width:680px){.article-shell{padding-block:56px 78px}.article-back{margin-bottom:42px}.article-header{margin-bottom:35px}.article-body{font-size:1.04rem;line-height:1.8}}

/* Writing index */
.writing-shell{max-width:850px;min-height:calc(100vh - 195px);padding-block:82px 110px}
.writing-header{max-width:720px;margin-bottom:60px}
.writing-header .eyebrow{margin-bottom:22px}
.writing-header h1{max-width:800px;margin-bottom:28px;font-size:clamp(3rem,6vw,5.5rem);line-height:1.08}
.writing-accent{color:var(--lime)}
.writing-header>p:last-child{max-width:640px;margin:0;color:#c7cfdd;font-size:1.12rem;line-height:1.75}
.writing-list-entry{max-width:720px;border-top:1px solid var(--line);padding-top:30px}
.writing-list-entry time{display:block;margin-bottom:14px;color:var(--lime);font-size:.78rem;font-weight:700;letter-spacing:.08em}
.writing-list-entry h2{margin:0 0 16px;font-size:clamp(1.85rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.04em}
.writing-list-entry h2 a{text-decoration:none}
.writing-list-entry h2 a:hover,.writing-list-link:hover{color:var(--lime)}
.writing-list-entry p{max-width:630px;margin:0 0 20px;color:#c7cfdd;line-height:1.7}
.writing-list-link{font-size:.9rem;font-weight:700;text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:4px}
@media(max-width:680px){.writing-shell{min-height:0;padding-block:56px 78px}.writing-header{margin-bottom:48px}.writing-header>p:last-child{font-size:1.04rem}.writing-list-entry{padding-top:25px}}

/* Privacy Policy */
.policy-header p{margin:20px 0 0;color:var(--muted);font-size:.9rem}
.policy-body h2{margin:1.9em 0 .65em;font-size:clamp(1.5rem,3vw,2rem);line-height:1.25;letter-spacing:-.04em}
.policy-body p{margin-bottom:1.1em}
.policy-body p:last-child{margin-top:0}
.policy-body a{text-decoration-color:var(--lime);text-underline-offset:4px}

/* About page */
.about-more{display:inline-block;margin-top:10px;color:var(--lime);font-size:.9rem;font-weight:700;text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:4px}
.about-more:hover{color:var(--cream)}
.about-page-header{margin-bottom:44px}
.about-page-header h1{margin-bottom:22px}
.about-page-header h2{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.2;letter-spacing:-.04em;color:var(--lime)}
@media(max-width:680px){.about-page-header{margin-bottom:35px}}
