/*! tailwindcss v4.2.0 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-duration:initial}}}.flex{display:flex}.inline-block{display:inline-block}.min-h-screen{min-height:100vh}.w-full{width:100%}.flex-grow{flex-grow:1}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.rounded-full{border-radius:3.40282e+38px}.text-center{text-align:center}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}:root{--font-sans:"Avenir Next","Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;--font-serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;--space-1:.6rem;--space-2:.95rem;--space-3:1.4rem;--bg:#f6f4ef;--surface:#fffefb;--text:#1d2a33;--muted:#54606a;--line:#d6d2c8;--accent:#124b74;--accent-soft:#e2edf5}*,:after,:before{box-sizing:border-box}.section-container{width:100%;max-width:600px}#__next,body,html{min-height:100%}body{background:radial-gradient(circle at 0 0,#eef3f9 0,transparent 35%),radial-gradient(circle at 100% 0,#f5ece1 0,transparent 30%),var(--bg);font-family:var(--font-sans),sans-serif;background-attachment:fixed}.app-body,body{color:var(--text);overflow-x:clip}.app-body{background:0 0}canvas,img,svg,video{max-width:100%;height:auto}.nav-shell{z-index:20;padding:.8rem 1rem;position:sticky;top:0}.nav-inner{border:1px solid var(--line);background:var(--surface);border-radius:999px;width:100%;max-width:72rem;margin:0 auto}@supports (color:color-mix(in lab,red,red)){.nav-inner{background:color-mix(in srgb,var(--surface) 92%,transparent)}}.nav-inner{backdrop-filter:blur(8px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .85rem;display:flex}.brand-mark{font-family:var(--font-serif),serif;color:var(--text);letter-spacing:.06em;border:1px solid var(--line);border-radius:999px;padding:.35rem .65rem;font-weight:700}.nav-links{flex-wrap:wrap;align-items:center;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:var(--muted);border-radius:999px;padding:.35rem .6rem;font-size:.92rem;font-weight:600;transition:all .2s}.nav-link-active,.nav-link:hover{color:var(--text);background:var(--accent-soft)}.page-shell{gap:var(--space-2);display:grid}.content-panel,.hero-panel{border:1px solid var(--line);background:var(--surface);border-radius:1.4rem}@supports (color:color-mix(in lab,red,red)){.content-panel,.hero-panel{background:color-mix(in srgb,var(--surface) 95%,transparent)}}.content-panel,.hero-panel{padding:var(--space-3)}.hero-panel{background:linear-gradient(120deg,var(--accent-soft) 0,var(--surface) 55%)}@supports (color:color-mix(in lab,red,red)){.hero-panel{background:linear-gradient(120deg,color-mix(in srgb,var(--accent-soft) 65%,var(--surface)) 0,var(--surface) 55%)}}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-weight:700}.hero-title{font-family:var(--font-serif),serif;margin-top:.45rem;font-size:clamp(1.9rem,4vw,3rem);line-height:1.1}.hero-copy{color:var(--muted);max-width:65ch;line-height:1.6}.hero-actions,.hero-copy{margin-top:var(--space-2)}.hero-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.btn-primary,.btn-secondary{border-radius:.7rem;justify-content:center;align-items:center;max-width:100%;min-height:44px;padding:.65rem .95rem;font-size:.9rem;font-weight:700;display:inline-flex}.btn-primary{background:var(--accent);color:#f8fbff}.btn-secondary{border:1px solid var(--line);color:var(--text);background:0 0}.section-head h2{font-family:var(--font-serif),serif;font-size:clamp(1.32rem,2.4vw,1.65rem);line-height:1.2}.section-head p{color:var(--muted);max-width:62ch;margin-top:.45rem;line-height:1.6}.skills-grid,.stats-grid{margin-top:var(--space-2);gap:var(--space-1);display:grid}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.skill-card,.stat-card,.timeline-item{border:1px solid var(--line);background:var(--surface);border-radius:1rem}@supports (color:color-mix(in lab,red,red)){.skill-card,.stat-card,.timeline-item{background:color-mix(in srgb,var(--surface) 85%,transparent)}}.skill-card,.stat-card,.timeline-item{padding:1rem}.stat-value{color:var(--accent);font-size:1.5rem;font-weight:800}.stat-label{color:var(--muted);margin-top:.4rem;font-size:.92rem}.skill-card h3{font-size:.98rem;font-weight:700}.skill-card ul{flex-wrap:wrap;gap:.45rem;margin-top:.5rem;padding:0;list-style:none;display:flex}.skill-card li{background:var(--accent-soft);border-radius:999px;padding:.22rem .62rem;font-size:.8rem;font-weight:600}.timeline{margin-top:var(--space-2);gap:var(--space-1);display:grid}.timeline-item{grid-template-columns:1fr;gap:.45rem;display:grid}.timeline-meta h3{font-weight:800}.timeline-meta p,.timeline-period{color:var(--muted)}.timeline-period{margin-bottom:.22rem;font-size:.85rem}.project-grid{margin-top:var(--space-2);gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:1rem}@supports (color:color-mix(in lab,red,red)){.project-card{background:color-mix(in srgb,var(--surface) 85%,transparent)}}.project-card{transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #16263314}.project-card a{color:inherit;padding:1.05rem;text-decoration:none;display:block}.project-header h3{font-size:1.15rem;font-family:var(--font-serif),serif}.project-status{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem;font-size:.78rem;font-weight:700}.project-copy{color:var(--muted);margin-top:.45rem;line-height:1.6}.project-image-wrap{margin-top:.85rem}.project-tags{flex-wrap:wrap;gap:.42rem;margin-top:.9rem;padding:0;list-style:none;display:flex}.project-tags li{background:var(--accent-soft);border-radius:999px;padding:.24rem .58rem;font-size:.77rem;font-weight:700}.project-link{color:var(--accent);margin-top:1rem;font-size:.85rem;font-weight:700}.contact-grid{margin-top:var(--space-2);gap:var(--space-1);display:grid}.contact-card{border:1px solid var(--line);background:var(--surface);border-radius:1rem}@supports (color:color-mix(in lab,red,red)){.contact-card{background:color-mix(in srgb,var(--surface) 85%,transparent)}}.contact-card{padding:1.05rem}.contact-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.contact-card h3{font-family:var(--font-serif),serif;margin-top:.35rem;font-size:1.15rem}.contact-copy{color:var(--muted);margin-top:.5rem;line-height:1.6}.contact-actions{flex-wrap:wrap;gap:.55rem;margin-top:.9rem;display:flex}.about-copy{margin-top:var(--space-2);gap:var(--space-1);display:grid}.about-copy p{color:var(--muted);line-height:1.7}.about-strengths{margin-top:var(--space-2);gap:var(--space-1);padding:0;list-style:none;display:grid}.about-strengths li{border:1px solid var(--line);background:var(--surface);border-radius:.8rem}@supports (color:color-mix(in lab,red,red)){.about-strengths li{background:color-mix(in srgb,var(--surface) 85%,transparent)}}.about-strengths li{padding:.7rem .85rem;font-weight:600}.substack-wrap{margin-top:var(--space-2);max-width:100%}.feed-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.feed-item{border:1px solid var(--line);background:var(--surface);border-radius:1rem}@supports (color:color-mix(in lab,red,red)){.feed-item{background:color-mix(in srgb,var(--surface) 85%,transparent)}}.feed-item a{color:inherit;padding:1rem;text-decoration:none;display:block}.feed-date{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.78rem;font-weight:700}.feed-item h3{font-family:var(--font-serif),serif;margin-top:.35rem;font-size:1.08rem;line-height:1.3}.feed-excerpt{color:var(--muted);margin-top:.5rem;line-height:1.6}.feed-read{color:var(--accent);margin-top:.75rem;font-weight:700;display:inline-flex}.feed-empty{color:var(--muted)}.feed-empty a{color:var(--accent);font-weight:700}.footer-shell{padding:0 1rem 1rem}.footer-inner{border:1px solid var(--line);background:var(--surface);border-radius:1.1rem;width:100%;max-width:72rem;margin:0 auto}@supports (color:color-mix(in lab,red,red)){.footer-inner{background:color-mix(in srgb,var(--surface) 92%,transparent)}}.footer-inner{justify-items:center;gap:.75rem;padding:1rem;display:grid}.footer-copy,.footer-meta{color:var(--muted);text-align:center}.footer-copy{font-size:.93rem}.footer-meta{font-size:.82rem}.footer-links{flex-wrap:wrap;justify-content:center;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.footer-link{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.3rem .62rem;font-size:.83rem;font-weight:700}.footer-link-active,.footer-link:hover{color:var(--text);background:var(--accent-soft)}@media (min-width:768px){.content-panel,.hero-panel{padding:2rem}.timeline-item{grid-template-columns:minmax(220px,.8fr) 1fr;align-items:flex-start}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-link{padding:.45rem .72rem;font-size:.96rem}}@media (max-width:640px){.nav-shell{padding:.55rem .65rem}.nav-inner{border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:.6rem;display:flex}.brand-mark{text-align:center;width:-moz-fit-content;width:fit-content}.nav-inner nav{width:100%}.nav-links{flex-wrap:nowrap;gap:.25rem;width:100%;display:flex}.nav-link,.nav-links{justify-content:center}.nav-link{white-space:nowrap;width:auto;padding:.4rem .5rem;font-size:.82rem}.contact-actions,.hero-actions{flex-direction:column;align-items:stretch}.btn-primary,.btn-secondary{text-align:center;justify-content:center;width:100%;min-height:48px;padding:.75rem 1rem;font-size:.95rem}.content-panel,.hero-panel{padding:1.1rem}.project-grid,.skills-grid{grid-template-columns:1fr}}@property --tw-duration{syntax:"*";inherits:false}