:root{color-scheme:dark}*{box-sizing:border-box}html{scroll-padding-top:30px}body{margin:0;background:#111;color:#ccc;font:15px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#b7c8dd;text-decoration:underline;text-underline-offset:3px}a:hover{color:#fff}a:focus-visible,button:focus-visible{outline:2px solid #b7c8dd;outline-offset:4px}header,main,footer{max-width:700px;margin:auto;padding-left:28px;padding-right:28px}nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;font-size:12px}.brand{color:#ddd;text-decoration:none}#nav-links{display:flex;gap:20px}#nav-links a{color:#999;text-decoration:none}#nav-links a:hover,#nav-links [aria-current=page]{color:#eee}#menu-toggle{display:none;background:none;border:0;color:#ccc;font:inherit;padding:5px}h1{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.3;color:#eee;margin:0 0 24px}h2{font-size:13px;font-weight:500;color:#999;margin:0 0 25px}h3{font-size:15px;font-weight:500;color:#ddd;margin:0 0 5px}p{margin:0 0 18px}.hero,.page-hero{padding:40px 0 20px}.portrait{display:block;width:80px;height:80px;object-fit:cover;border-radius:50%;margin-bottom:26px}.section{padding:35px 0}.section+.section{border-top:1px solid #252525}.school,.work{margin-bottom:28px}.school:last-child,.work:last-child{margin-bottom:0}.school p,.work p{margin:0 0 8px}.school-title span{display:block;color:#888;font-size:12px;margin-bottom:7px}.learning{margin-top:30px}.text-link{font-size:13px}.closing{padding-top:10px}footer{padding-top:35px;padding-bottom:30px;color:#666;font-size:11px;display:flex;gap:20px;justify-content:space-between}.skip{position:absolute;top:-80px;left:20px;background:#111;padding:8px}.skip:focus{top:8px}@media(max-width:600px){nav{flex-wrap:wrap;gap:12px}#menu-toggle{display:block}#nav-links{display:none;flex-basis:100%;flex-wrap:wrap;gap:12px 20px;padding-top:10px}#nav-links.open{display:flex}h1{font-size:30px}.hero,.page-hero{padding-top:25px}footer{flex-wrap:wrap;gap:4px 20px}}

.book-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}.book-list cite{font-family:Georgia,serif;font-size:18px;font-weight:400;color:#c9c6bd}.reading{padding-bottom:40px}@media(max-width:450px){.book-list{grid-template-columns:1fr;gap:12px}}

/* A small personal note, after the main content. */
.hero h1{font-family:inherit;font-weight:600;font-size:32px;letter-spacing:-1px}.hero{padding-bottom:12px}.hero p{margin-bottom:22px}.reading-note{margin:24px 0 12px;padding-top:22px;border-top:1px solid #252525;font-size:13px;line-height:1.9;color:#999}.reading-note p{margin:0}.reading-note cite{font-style:italic;color:#aaa}.aside-label{color:#bbb}footer{padding-top:24px}

/* Light, simple pages with room for the writing. */
:root{color-scheme:light}body{background:#fff;color:#333}a{color:#333}a:hover{color:#000}a:focus-visible,button:focus-visible{outline-color:#555}.brand{color:#222}#nav-links a{color:#777}#nav-links a:hover,#nav-links [aria-current=page]{color:#111}#menu-toggle{color:#333}h1{color:#171717}h2{color:#777}h3{color:#222}.section+.section{border-color:#eee}.school-title span{color:#777}.skip{background:#fff}.reading-note{border-color:#eee;color:#777}.reading-note cite,.aside-label{color:#666}footer{color:#999}.home-writing{padding:28px 0 14px;border-top:1px solid #eee}.home-writing h2{margin-bottom:16px}.small-date{font-size:12px;color:#999;margin-left:12px}.writing-list{padding:12px 0 60px}.writing-list a{display:flex;align-items:baseline;justify-content:space-between;gap:20px;text-decoration:none;padding:18px 0;border-bottom:1px solid #eee}.writing-list a span{text-decoration:underline;text-underline-offset:4px}.writing-list time{color:#888;font-size:12px;white-space:nowrap}.essay{padding:30px 0}.back{font-size:12px;color:#888;display:inline-block;margin-bottom:32px}.essay h1{font-size:30px;letter-spacing:-.6px;margin-bottom:10px}.essay-meta{color:#888;font-size:12px;margin-bottom:40px}.essay p{margin-bottom:25px;line-height:1.9}.essay h2{font-size:16px;font-weight:600;color:#222;margin:32px 0 12px}@media(max-width:450px){.writing-list a{flex-direction:column;gap:3px}.small-date{display:inline-block}}

.role-date{font-size:12px;color:#888;margin-bottom:8px!important}

.family-photo{margin:28px 0 36px}.family-photo img{display:block;width:100%;height:auto}

.experience-details{margin:12px 0 0;padding-left:20px}.experience-details li{padding-left:3px;margin-bottom:8px}#experience .work{margin-bottom:36px}

.contact-note{margin:32px 0 8px;font-size:13px;color:#777;overflow-wrap:anywhere}

.unlock-controls{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.unlock-controls input{font:inherit;padding:8px 10px;border:1px solid #ccc;border-radius:3px;min-width:0;max-width:100%;background:#fff;color:#222}.unlock-controls button{font:inherit;padding:8px 16px;background:#222;color:#fff;border:0;border-radius:3px;cursor:pointer}.unlock-controls button:disabled{opacity:.6}#unlock-message{font-size:13px;margin-top:12px}

.school-activities{margin:0 0 12px;padding-left:20px}

.site-gate{max-width:560px;padding-top:100px;padding-bottom:60px}.site-gate h1{font:600 30px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-1px}.site-gate p{margin-bottom:22px}#site-status{font-size:13px;margin-top:12px}

/* Paper, ink, and a little room to breathe. */
:root{--paper:#fcfaf5;--ink:#343b32;--soft:#777c70;--rule:#e7e7dd;--green:#536449;--peach:#f2d5bd;color-scheme:light}
html{scroll-behavior:smooth;scroll-padding-top:35px}body{background:var(--paper);color:var(--ink);font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}::selection{background:#e5e9d4;color:#283525}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23868670' opacity='.16' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
a{color:var(--ink);text-decoration-color:#b4bba9;text-decoration-thickness:1px;text-underline-offset:5px;transition:color .18s,text-decoration-color .18s}a:hover{color:var(--green);text-decoration-color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #7d8e6c;outline-offset:5px}
header,main,footer{max-width:760px}nav{padding:30px 0;font-size:12px;gap:18px}#nav-links{gap:18px}#nav-links a{color:var(--soft)}#nav-links a:hover,#nav-links [aria-current=page]{color:var(--ink)}.brand{color:var(--ink);white-space:nowrap}
h1{color:var(--ink);letter-spacing:-1px}.hero{padding:54px 0 26px}.hero h1{font-family:Georgia,serif;font-size:42px;font-weight:400;letter-spacing:-1.5px}.portrait{width:78px;height:78px;border-radius:43% 48% 45% 46%;transform:rotate(-5deg);margin-bottom:30px;box-shadow:0 0 0 5px #fff,0 4px 12px #313b3212;transition:transform .25s}.portrait:hover{transform:rotate(0deg)}h2{color:var(--soft)}h3{color:var(--ink)}.section{padding:42px 0}.section+.section,.home-writing,.reading-note{border-color:var(--rule)}.school,.work{margin-bottom:32px}.school-title span,.essay-meta,.role-date{color:var(--soft)}.essay{padding:42px 0}.essay h1{font-size:36px;font-weight:400}.essay p{line-height:1.95}.family-photo img{border-radius:3px}.writing-list a{border-color:var(--rule);transition:padding .2s,background .2s}.writing-list a:hover{padding-left:10px;padding-right:10px;background:#eef0e444}.writing-list time,.small-date{color:var(--soft)}.contact-note{color:var(--soft);margin-top:44px}.reading-note{font-size:13px;max-width:580px}.reading-note cite{color:#5d6855}.skip{background:var(--paper)}footer{font-size:11px;color:#8d9286;padding-bottom:36px}
.is-locked{min-height:100svh;background:radial-gradient(ellipse at 5% 90%,#e9eddf70,transparent 45%),radial-gradient(ellipse at 100% 0%,#f4dfcd55,transparent 45%),var(--paper)}
.site-gate{max-width:550px;min-height:100svh;padding:42px 34px 35px;display:flex;flex-direction:column;justify-content:center;position:relative}.gate-top{display:flex;align-items:center;justify-content:space-between;color:#78816f;font-size:11px;letter-spacing:.5px;margin-bottom:62px}.gate-sun{font-size:34px;line-height:1;color:#b98861;display:inline-block;transform:rotate(-12deg)}.gate-hello{font-family:Georgia,serif;font-style:italic;font-size:14px;color:#818a75;transform:rotate(-4deg);position:relative;margin-left:5px;margin-bottom:18px;align-self:flex-start}.gate-hello svg{position:absolute;width:49px;height:35px;left:calc(100% + 8px);top:-3px;fill:none;stroke:#889378;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.site-gate h1{font:400 clamp(46px,8vw,64px)/1.05 Georgia,serif;letter-spacing:-2.7px;margin-bottom:28px}.site-gate h1 em{font-weight:400;color:var(--green);position:relative}.site-gate h1 em:after{content:"";position:absolute;left:-2px;bottom:-4px;width:100%;height:7px;border-top:2px solid #b2bd94;border-radius:50%;transform:rotate(-4deg)}.site-gate>p{font-size:14px;line-height:1.85;max-width:400px;color:#71766a;margin-bottom:16px}.site-gate form{margin-top:14px}.site-gate label{font-size:11px;color:#707967;letter-spacing:.4px}.unlock-controls{gap:9px;margin-top:8px;flex-wrap:nowrap}.unlock-controls input{background:#ffffff80;color:var(--ink);border:1px solid #d6dccd;border-radius:8px;padding:12px 14px;flex:1;min-width:0;transition:border-color .2s,box-shadow .2s;font-size:14px}.unlock-controls input:focus{outline:none;border-color:#879a76;box-shadow:0 0 0 3px #dce4cf70}.unlock-controls input::placeholder{color:#a2a798}.unlock-controls button{background:#536449;border:1px solid #536449;color:#fffef8;font-size:13px;padding:12px 18px;border-radius:8px;white-space:nowrap;box-shadow:0 2px 2px #2733210c;transition:background .2s,transform .2s}.unlock-controls button:hover{background:#43563a;transform:translateY(-2px)}.unlock-controls button:active{transform:translateY(0)}.unlock-controls button span{display:inline-block;margin-left:12px;transition:transform .2s}.unlock-controls button:hover span{transform:translate(2px,-2px)}#site-status{font-size:12px;min-height:23px;margin-top:10px;color:#92745e}.site-gate .gate-signoff{border-top:1px solid var(--rule);margin-top:24px;padding-top:18px;font-size:11px;color:#929887;display:flex;justify-content:space-between;max-width:none}.gate-signoff span{font-family:Georgia,serif;font-style:italic;font-size:15px;color:#68765c}.cursor-halo{position:fixed;left:0;top:0;width:26px;height:26px;background:#c2cf9860;border:1px solid #a5b58770;border-radius:50%;pointer-events:none;z-index:1000;transition:width .15s,height .15s,background .15s;mix-blend-mode:multiply;transform:translate(-100px,-100px)}.cursor-halo.over-link{width:38px;height:38px;background:#e9c7a257}
@media(max-width:650px){header,main,footer{padding-left:24px;padding-right:24px}.hero{padding-top:28px}.hero h1{font-size:36px}#nav-links{gap:12px 18px}.site-gate{padding:30px 27px;max-width:480px}.gate-top{margin-bottom:46px}.site-gate h1{font-size:55px}.gate-hello svg{width:35px;left:calc(100% + 3px)}.unlock-controls button{padding:12px 14px}.unlock-controls button span{margin-left:7px}.cursor-halo{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.cursor-halo{display:none}}

/* A simpler entrance, without decorative bubbles or cursor effects. */
.is-locked{background:var(--paper)}.is-locked:before{display:none}.cursor-halo{display:none}.site-gate{padding-top:70px;padding-bottom:70px}.site-gate .gate-hello{margin-bottom:22px}

/* One paper-and-ink palette, with unboxed controls. */
body,.is-locked{background:var(--paper)}body:before{display:none}
.unlock-controls{align-items:baseline;gap:20px}
.unlock-controls input{background:transparent;border:0;border-bottom:1px solid #b8c0ad;border-radius:0;padding:12px 0;box-shadow:none}
.unlock-controls input:focus{border-color:var(--green);box-shadow:none}
.unlock-controls button{background:transparent;color:var(--green);border:0;border-radius:0;padding:12px 0;box-shadow:none;text-decoration:underline;text-decoration-color:#b4bba9;text-underline-offset:6px}
.unlock-controls button:hover{background:transparent;color:var(--ink);transform:none}
.site-gate .gate-signoff{border:0;padding:0;margin-top:30px;color:var(--soft);font-size:12px}
.writing-list a:hover{background:transparent;padding-left:0;padding-right:0}

/* Plain black ink, white paper, one typeface. */
:root{--paper:#fff;--ink:#202020;--soft:#6b6b6b;--rule:#e8e8e8;--green:#202020;--peach:#eee}
body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:#202020}::selection{background:#dedede;color:#111}
h1,.hero h1,.essay h1,.site-gate h1{font-family:Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.65px}
a{text-decoration-color:#aaa}a:hover{color:#000;text-decoration-color:#000}
a:focus-visible,button:focus-visible,input:focus-visible{outline-color:#555}
.site-gate{max-width:530px;min-height:100svh;padding:60px 28px;justify-content:center;align-items:stretch}
.site-gate h1{font-size:30px;line-height:1.3;margin:0 0 26px}.site-gate h1 em:after{display:none}
.site-gate>p{font-size:14px;line-height:1.8;color:#555;max-width:none;margin:0 0 18px}
.site-gate form{margin-top:18px}.site-gate label{color:#666;font-size:12px;letter-spacing:0}
.unlock-controls{gap:24px;align-items:baseline}.unlock-controls input{color:#222;border-color:#bbb}.unlock-controls input::placeholder{color:#999}.unlock-controls input:focus{border-color:#222}.unlock-controls button{color:#222;text-decoration-color:#999}.unlock-controls button:hover{color:#000}
#site-status{color:#666}.site-gate .gate-signoff{margin-top:48px;padding-top:18px;border-top:1px solid #e8e8e8;color:#777;font-size:11px;line-height:1.7;display:block}
.reading-note cite,.aside-label{color:#666}.portrait{border-radius:50%;transform:none;box-shadow:none}.portrait:hover{transform:none}.hero h1{font-size:34px}.essay h1{font-size:30px}
@media(max-width:650px){.site-gate{padding:44px 26px}.site-gate h1{font-size:28px}.unlock-controls{gap:18px}}

.unlock-controls button{border:1px solid #111;border-radius:0;background:#111;color:#fff;text-decoration:none;padding:12px 16px;box-shadow:none;min-height:47px}
.unlock-controls button:hover{background:#fff;color:#111;transform:none}.unlock-controls button:active{background:#e7e7e7;color:#111}
.site-gate .gate-signoff{border:0;padding:0;margin-top:46px;color:#777}
.animated-hello span{display:inline-block;animation:hello-arrive .65s cubic-bezier(.2,.7,.2,1) both}
.animated-hello span:nth-child(2){animation-delay:.12s}.animated-hello span:nth-child(3){animation-delay:.24s}.animated-hello span:nth-child(4){animation-delay:.36s}
@keyframes hello-arrive{from{opacity:0;transform:translateY(12px) rotate(2deg);filter:blur(3px)}to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.animated-hello span{animation:none}}

.welcome-sound{align-self:flex-start;background:none;border:0;padding:0;margin:0 0 12px;font:11px Arial,Helvetica,sans-serif;color:#777;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.welcome-sound:hover{color:#111}.welcome-sound[hidden]{display:none}

.animated-hello span{animation-duration:1.1s}.animated-hello span:nth-child(2){animation-delay:.23s}.animated-hello span:nth-child(3){animation-delay:.46s}.animated-hello span:nth-child(4){animation-delay:.69s}
