*{box-sizing:border-box;margin:0;padding:0}:root{--color-paper:#f9f7f4;--color-ink:#1a1a1a;--color-ink-light:#4a4a4a;--color-accent:#d62828;--color-blue-ink:#003d82;--color-pencil:#666;--color-yellow-note:#fff59d;--color-tape:#f0e6d2cc;--font-mono:"JetBrains Mono", monospace;--font-serif:"Crimson Pro", serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:3rem;--spacing-xl:5rem}html,body{height:100%;margin:0}html{background:var(--color-paper)}body{font-family:var(--font-serif);color:var(--color-ink);-webkit-font-smoothing:antialiased;background:#e8e3db;padding:0;font-size:1.125rem;line-height:1.7}.notebook-page{background:var(--color-paper);max-width:1400px;min-height:100dvh;min-height:-moz-available;padding:var(--spacing-lg) var(--spacing-md);flex-direction:column;margin:0 auto;display:flex;position:relative;box-shadow:0 0 30px #0000001a}.notebook-page>main{flex:1}.spiral-holes{flex-direction:column;gap:50px;width:40px;padding:100px 0;display:flex;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.spiral-holes:before,.spiral-holes:after{content:"";background:0 0;border:2px solid #ccc;border-radius:50%;width:12px;height:12px;position:absolute;left:15px}.spiral-holes:before{top:80px}.spiral-holes:after{top:180px}.page-header{margin-bottom:var(--spacing-xl);margin-left:50px;position:relative}.header-layout{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.header-text{flex:280px;min-width:0}.photo-clip{z-index:2;background:#fff;border:1px solid #ddd;flex:none;width:min(240px,42vw);margin:.5rem .5rem 0 0;padding:.65rem .65rem 1.75rem;position:relative;transform:rotate(2.5deg);box-shadow:4px 6px #0000001f,0 2px 12px #00000014}.photo-tape{background:var(--color-tape);opacity:.85;z-index:3;border-left:1px solid #0000000f;border-right:1px solid #0000000f;width:70px;height:18px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-2deg)}.photo-clip img{aspect-ratio:1;object-fit:cover;object-position:center 20%;filter:contrast(1.05)saturate(.95);border:1px solid #00000014;width:100%;height:auto;display:block}.photo-caption{font-family:var(--font-mono);color:var(--color-pencil);text-align:center;letter-spacing:.04em;margin-top:.55rem;font-size:.7rem}.tagline{color:var(--color-ink);margin-top:.35rem;font-size:1.05rem;font-style:italic;display:inline-block}.stamp{font-family:var(--font-mono);letter-spacing:.15em;color:var(--color-accent);border:2px solid var(--color-accent);margin-bottom:var(--spacing-sm);padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-block;transform:rotate(-3deg)}.main-heading{font-family:var(--font-mono);margin-bottom:var(--spacing-sm);font-size:clamp(2rem,8vw,4.5rem);font-weight:700;line-height:1.1}.line-through{color:var(--color-pencil);opacity:.6;text-decoration:line-through;text-decoration-thickness:3px;display:block}.handwritten{color:var(--color-ink);position:relative}.handwritten:after{content:"";background:var(--color-accent);height:3px;position:absolute;bottom:-4px;left:0;right:0;transform:skewY(-1deg)}.subtitle{font-family:var(--font-serif);color:var(--color-ink-light);margin-left:4px;font-size:1.25rem}.location-pin{margin-top:.25rem;font-size:1rem;display:inline-block}.intro-note{background:var(--color-yellow-note);padding:var(--spacing-md);margin:var(--spacing-lg) 0 var(--spacing-lg) 80px;max-width:700px;position:relative;transform:rotate(-.5deg);box-shadow:3px 3px 8px #0000001a}.tape-top{background:var(--color-tape);opacity:.7;border-left:1px solid #0000000d;border-right:1px solid #0000000d;width:80px;height:20px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.intro-note h2{font-family:var(--font-mono);margin-bottom:var(--spacing-sm);color:var(--color-ink);font-size:1.5rem}.intro-note p{margin-bottom:var(--spacing-sm)}.intro-note p:last-child{margin-bottom:0}.section-heading{font-family:var(--font-mono);margin-bottom:var(--spacing-md);margin-left:50px;font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;display:inline-block;position:relative}.section-heading:before{content:"//";color:var(--color-blue-ink);margin-right:.5rem}.work-section{margin:var(--spacing-xl) 0;margin-left:50px}.timeline-item{margin-bottom:var(--spacing-md);padding-left:var(--spacing-md);border-left:3px solid #ddd;position:relative}.timeline-item.current{border-left-color:var(--color-accent)}.timeline-item.current:before{content:"→";color:var(--color-accent);font-size:1.5rem;font-weight:700;position:absolute;top:0;left:-1.5rem}.date-badge{font-family:var(--font-mono);color:var(--color-ink-light);margin-bottom:.25rem;font-size:.85rem;display:block}.timeline-item h3{font-family:var(--font-serif);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.timeline-item p{color:var(--color-ink-light)}.projects-grid{gap:var(--spacing-md);margin:var(--spacing-lg) 0;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.project-card{padding:var(--spacing-md);border:2px solid var(--color-ink);background:#fff;transition:transform .2s;position:relative}.project-card:nth-child(odd){transform:rotate(.5deg)}.project-card:nth-child(2n){transform:rotate(-.5deg)}.project-card:hover{box-shadow:4px 4px 0 var(--color-blue-ink);transform:rotate(0)translateY(-4px)}.project-card h3{font-family:var(--font-mono);margin-bottom:.5rem;font-size:1.1rem}.project-card h3 a{color:var(--color-blue-ink);border-bottom:2px solid #0000;text-decoration:none;transition:border-color .2s}.project-card h3 a:hover{border-bottom-color:var(--color-blue-ink)}.project-card p{color:var(--color-ink-light);font-size:.95rem}.community-work{margin-top:var(--spacing-lg);padding:var(--spacing-md);border-left:4px solid var(--color-ink);background:#f0f0f0}.community-work h3{font-family:var(--font-mono);margin-bottom:var(--spacing-sm);font-size:1.3rem}.muted{color:var(--color-pencil);font-size:.9rem;font-family:var(--font-mono)}.writing-section{margin:var(--spacing-xl) 0;margin-left:50px}.writing-intro{margin-left:var(--spacing-md);margin-bottom:var(--spacing-md);color:var(--color-ink-light);max-width:700px}.medium-profile{margin:var(--spacing-md) 0 var(--spacing-lg) var(--spacing-md);padding:var(--spacing-sm);background:#f9f9f9;border-left:3px solid #000;max-width:400px;display:inline-block}.medium-link{color:var(--color-ink);font-family:var(--font-mono);align-items:center;gap:.5rem;margin-bottom:.25rem;font-weight:700;text-decoration:none;transition:color .2s;display:flex}.medium-link:hover{color:var(--color-accent)}.medium-icon{color:#fff;background:#000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;font-weight:700;display:inline-flex}.medium-handle{font-size:1.1rem}.medium-tagline{color:var(--color-pencil);margin:0;padding-left:2.5rem;font-size:.9rem;font-style:italic}.articles-list{margin-left:var(--spacing-md);max-width:900px}.article-entry{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px dashed #ccc;position:relative}.article-entry:last-child{border-bottom:none}.article-date{font-family:var(--font-mono);color:var(--color-pencil);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.75rem;display:block}.article-entry h3{font-family:var(--font-serif);margin-bottom:.5rem;font-size:1.3rem;font-weight:600;line-height:1.3}.article-entry h3 a{color:var(--color-ink);border-bottom:2px solid #0000;text-decoration:none;transition:border-color .2s}.article-entry h3 a:hover{border-bottom-color:var(--color-accent)}.article-entry p{color:var(--color-ink-light);font-size:.95rem;line-height:1.6}.more-writing{margin:var(--spacing-md) 0 0 var(--spacing-md);font-family:var(--font-mono);color:var(--color-blue-ink);border-bottom:2px solid var(--color-blue-ink);padding-bottom:2px;font-size:.95rem;text-decoration:none;transition:all .2s;display:inline-block}.more-writing:hover{color:var(--color-accent);border-bottom-color:var(--color-accent);transform:translate(4px)}.about-section{margin:var(--spacing-xl) 0;margin-left:50px}.about-layout{max-width:760px;margin-left:var(--spacing-md)}.about-content{max-width:700px}.about-content p{margin-bottom:var(--spacing-sm)}.about-content em{color:var(--color-accent);font-style:italic;font-weight:600}.culture-section{margin:var(--spacing-xl) 0;margin-left:50px}.culture-note{padding:var(--spacing-md);margin-left:var(--spacing-md);background:#fff3cd;border:1px solid #0000000f;max-width:720px;position:relative;transform:rotate(.4deg);box-shadow:3px 3px 8px #00000014}.culture-lead{font-family:var(--font-mono);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:700}.culture-list{margin:0 0 var(--spacing-sm);padding:0;list-style:none}.culture-list li{margin-bottom:.75rem;padding-left:1.4rem;line-height:1.55;position:relative}.culture-list li:before{content:"→";color:var(--color-accent);font-family:var(--font-mono);font-weight:700;position:absolute;left:0}.culture-aside{color:var(--color-ink-light);border-top:1px dashed #00000026;margin:0;padding-top:.25rem;font-size:.98rem}.contact-section{margin:var(--spacing-xl) 0;margin-left:50px}.contact-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.contact-card{padding:var(--spacing-sm)}.contact-card h3{font-family:var(--font-mono);color:var(--color-pencil);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:1rem}.contact-card a{color:var(--color-blue-ink);border-bottom:2px solid var(--color-blue-ink);font-weight:600;text-decoration:none;transition:all .2s}.contact-card a:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.hire-note{margin:var(--spacing-lg) 0;padding:var(--spacing-md);border-left:4px solid var(--color-blue-ink);background:#f9f9f9;max-width:600px}.hire-note p{margin-bottom:var(--spacing-sm)}.hire-note p:last-child{margin-bottom:0}.hire-platforms-note{color:var(--color-pencil);font-size:.9rem;font-style:italic}.cv-download{margin-top:var(--spacing-lg)}.download-link{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-paper);border:2px solid var(--color-ink);color:var(--color-ink);font-family:var(--font-mono);align-items:center;gap:.5rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.download-link:hover{background:var(--color-ink);color:var(--color-paper);box-shadow:4px 4px 0 var(--color-blue-ink);transform:translateY(-2px)}.download-icon{font-size:1.5rem;line-height:1}.page-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-md);text-align:center;font-family:var(--font-mono);color:var(--color-pencil);border-top:2px solid #ddd;margin-left:50px;font-size:.9rem}.footer-note{opacity:.7;margin-top:.5rem;font-size:.8rem}@media (width<=768px){.notebook-page{padding:var(--spacing-md) var(--spacing-sm)}.spiral-holes{display:none}.page-header,.section-heading,.work-section,.writing-section,.about-section,.culture-section,.contact-section,.page-footer{margin-left:0}.intro-note,.culture-note{margin-left:0;transform:rotate(0)}.header-layout{flex-direction:column-reverse;align-items:flex-start}.photo-clip{align-self:flex-end;width:min(200px,55vw);margin-right:.25rem;transform:rotate(1.5deg)}.about-layout,.about-content,.writing-intro,.articles-list,.more-writing,.medium-profile{margin-left:0}.projects-grid{grid-template-columns:1fr}.project-card:nth-child(odd),.project-card:nth-child(2n){transform:rotate(0)}}@media (prefers-reduced-motion:no-preference){.project-card{opacity:0;animation:.6s forwards fadeInUp}.project-card:first-child{animation-delay:.1s}.project-card:nth-child(2){animation-delay:.2s}.project-card:nth-child(3){animation-delay:.3s}.project-card:nth-child(4){animation-delay:.4s}.project-card:nth-child(5){animation-delay:.5s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)rotate(0)}to{opacity:1;transform:translateY(0)rotate(.5deg)}}.project-card:nth-child(2n){animation-name:fadeInUpEven}@keyframes fadeInUpEven{0%{opacity:0;transform:translateY(20px)rotate(0)}to{opacity:1;transform:translateY(0)rotate(-.5deg)}}}
