:root{--ink:#141414;--ink-soft:#3a3d38;--muted:#6a6e67;--line:#1414141f;--bg:#eceee9;--bg-elevated:#f6f7f3;--bg-deep:#1c1f1c;--digital:#0f5c56;--digital-bright:#1a8a80;--digital-wash:#d5e8e5;--real:#8b3a1a;--real-bright:#c45c26;--real-wash:#f0e0d4;--spark:#d4ff3a;--font-display:"Bricolage Grotesque", sans-serif;--font-body:"Source Serif 4", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--pad:clamp(1rem, 4vw, 3.5rem);--max:1120px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (width<=480px){body{font-size:1rem}.skill-card{padding:1.15rem 1rem 1.2rem}.world-rail{gap:.35rem .2rem;font-size:.65rem}.btn-primary{justify-content:center;width:100%}.hero-actions .btn-ghost{text-align:center;justify-content:center;width:100%}}body{color:var(--ink);background:var(--bg);font-family:var(--font-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.65}body:before{content:"";pointer-events:none;z-index:50;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}img{max-width:100%;display:block}::selection{background:var(--spark);color:var(--ink)}.site{position:relative;overflow-x:clip}.wrap{width:min(100% - var(--pad) * 2, var(--max));margin-inline:auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:500}.display{font-family:var(--font-display);letter-spacing:-.035em;font-weight:800;line-height:.95}.lede{color:var(--ink-soft);max-width:38rem;font-size:clamp(1.15rem,2.2vw,1.35rem);line-height:1.55}.section{padding-block:clamp(3.5rem,10vw,8rem);position:relative}.section-head{gap:1rem;max-width:40rem;margin-bottom:clamp(2rem,5vw,4rem);display:grid}.section-head h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,7vw,4.25rem);font-weight:800;line-height:.98}.section-head p{color:var(--ink-soft);margin:0}.tag-row{font-family:var(--font-mono);color:var(--ink-soft);flex-wrap:wrap;gap:.45rem .7rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.tag-row li:not(:last-child):after{content:"·";color:var(--muted);opacity:.7;margin-left:.7rem}.nav{z-index:40;padding:.85rem var(--pad);color:var(--ink);pointer-events:none;background:linear-gradient(#eceee9eb,#eceee900);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;inset:0 0 auto}.nav a,.nav button{pointer-events:auto}.nav-brand{font-family:var(--font-display);letter-spacing:-.02em;z-index:45;font-size:1rem;font-weight:700;position:relative}.nav-worlds{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;gap:1.15rem;font-size:.68rem;display:none}.nav-worlds a{opacity:.75;transition:opacity .25s var(--ease)}.nav-worlds a:hover{opacity:1}.nav-cta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:.15rem;font-size:.72rem}.nav-cta--desktop{display:none}.nav-toggle{z-index:45;place-items:center;gap:6px;width:2.5rem;height:2.5rem;padding:0;display:grid;position:relative}.nav-toggle span{background:var(--ink);width:1.25rem;height:2px;transition:transform .3s var(--ease), opacity .3s var(--ease);display:block}.nav--open .nav-toggle span:first-child{transform:translateY(4px)rotate(45deg)}.nav--open .nav-toggle span:last-child{transform:translateY(-4px)rotate(-45deg)}.nav-drawer{z-index:42;padding:5.5rem var(--pad) 2rem;background:#f6f7f3f7;align-content:start;display:grid;position:fixed;inset:0}.nav-drawer[hidden]{display:none}.nav-drawer-links{gap:.35rem;display:grid}.nav-drawer-links a{font-family:var(--font-display);letter-spacing:-.03em;border-bottom:1px solid var(--line);padding:.55rem 0;font-size:clamp(1.6rem,7vw,2.2rem);font-weight:700}@media (width>=860px){.nav{mix-blend-mode:difference;color:#fff;background:0 0}.nav-worlds{display:flex}.nav-cta--desktop{display:inline}.nav-toggle,.nav-drawer{display:none!important}}.hero{background:radial-gradient(70% 55% at 88% 22%,#1a8a8029,#0000 55%),radial-gradient(60% 50% at 12% 88%,#c45c2624,#0000 50%),linear-gradient(155deg,#e7ebe4 0%,#eceee9 48%,#e8e2d9 100%);align-items:center;min-height:100svh;display:flex;position:relative;overflow:visible}.hero-layout{width:min(100% - var(--pad) * 2, var(--max));align-items:center;gap:clamp(1.5rem,4vw,4rem);margin-inline:auto;padding-block:clamp(4.75rem,11vw,7.5rem) clamp(2.25rem,5vw,5rem);display:grid}.hero-content{z-index:1;gap:1.15rem;max-width:38rem;display:grid;position:relative}.hero-aside{justify-self:center;padding-bottom:.5rem}.portrait-stage{width:min(200px,54vw);animation:portrait-rise 1s var(--ease) both;margin:0 auto;padding:1.35rem .85rem .35rem;position:relative}.portrait-plane{pointer-events:none;z-index:0;position:absolute;inset:auto}.portrait-plane--digital{aspect-ratio:1;width:70%;animation:plane-drift 10s var(--ease) infinite alternate;background:linear-gradient(#0f5c561a 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#0f5c561a 1px,#0000 1px) 0 0/18px 18px,#d5e8e5d9;border:1px solid #0f5c5647;top:4%;left:-6%;transform:rotate(-8deg)}.portrait-plane--real{aspect-ratio:4/5;clip-path:polygon(10% 0,100% 8%,90% 100%,0 88%);opacity:.9;width:46%;animation:slab-drift 12s var(--ease) infinite alternate;background:linear-gradient(145deg,#8b3a1a,#c45c26 55%,#e0a070);bottom:16%;right:-2%}.portrait-frame{z-index:1;aspect-ratio:1;background:#0a0a0a;border-radius:50%;width:100%;margin:0;position:relative;overflow:hidden;box-shadow:0 18px 40px #14141429}.portrait-frame img{object-fit:cover;object-position:center 12%;width:118%;max-width:none;height:118%;margin:-4% 0 0 -9%}.portrait-caption{z-index:1;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);justify-content:center;align-items:center;gap:.65rem;margin:.85rem 0 0;font-size:.68rem;display:flex;position:relative}.portrait-caption-sep{background:var(--ink);opacity:.35;width:1.5rem;height:1px}.hero-brand{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:clamp(1rem,2vw,1.15rem);font-weight:700;display:none}.hero h1{font-family:var(--font-display);letter-spacing:-.045em;overflow-wrap:anywhere;margin:0;font-size:clamp(2.55rem,11vw,6.5rem);font-weight:800;line-height:.92}.hero h1 span{display:block}.hero-support{max-width:28rem;color:var(--ink-soft);margin:0;font-size:clamp(1.05rem,2vw,1.25rem)}.hero-support em{color:var(--ink);font-style:italic}.hero-actions{flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;margin-top:.5rem;display:none}@media (width>=900px){.hero{overflow:hidden}.hero-layout{grid-template-columns:minmax(0,1.15fr) minmax(240px,.75fr);gap:clamp(2rem,5vw,4.5rem)}.hero-brand{display:block}.hero-actions{display:flex}.hero-actions .btn-primary,.hero-actions .btn-ghost{align-items:center;min-height:44px;display:inline-flex}.hero-aside{justify-self:end;padding-bottom:0}.portrait-stage{width:min(270px,68vw);padding:1.25rem 0 0}.portrait-plane--digital{width:78%;top:-6%;left:-14%}.portrait-plane--real{width:56%;bottom:8%;right:-10%}}.btn-primary{background:var(--ink);color:var(--bg-elevated);font-family:var(--font-display);letter-spacing:-.01em;transition:transform .3s var(--ease), background .3s var(--ease);align-items:center;gap:.6rem;padding:.95rem 1.35rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--digital);transform:translateY(-2px)}.btn-ghost{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--ink);transition:color .25s var(--ease), border-color .25s var(--ease);padding-bottom:.2rem;font-size:.78rem}.btn-ghost:hover{color:var(--digital);border-color:var(--digital)}@keyframes portrait-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes plane-drift{0%{transform:rotate(-8deg)translateY(0)}to{transform:rotate(-5deg)translateY(10px)}}@keyframes slab-drift{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-8px)rotate(2deg)}}.intro{background:var(--bg-elevated);border-block:1px solid var(--line)}.intro-grid{gap:2.5rem;display:grid}@media (width>=880px){.intro-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:4rem}}.intro-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem;font-size:.75rem}.intro-title{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,4.5vw,3rem);font-weight:700;line-height:1.05}.intro-copy{gap:1.15rem;display:grid}.intro-copy p{color:var(--ink-soft);margin:0}.intro-copy p:first-child{color:var(--ink);font-size:1.2rem}.pull{border-top:1px solid var(--line);font-family:var(--font-display);letter-spacing:-.02em;margin:1.5rem 0 0;padding:1.25rem 0 0;font-size:clamp(1.25rem,2.5vw,1.6rem);font-weight:700;line-height:1.25}.world-rail{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:.5rem .35rem;margin:0 0 2.5rem;padding:0;font-size:.72rem;list-style:none;display:flex}.world-rail li{align-items:center;gap:.35rem;display:inline-flex}.world-rail li:not(:last-child):after{content:"→";opacity:.5;margin-left:.35rem}.digital-section{background:linear-gradient(180deg, #e8efed 0%, var(--bg) 28%, var(--bg) 100%)}.digital-section .section-head h2{color:var(--digital)}.experience-section{background:var(--bg-elevated);border-block:1px solid var(--line)}.experience-list{gap:0;display:grid}.experience-item{border-top:1px solid var(--line);gap:.85rem;padding:1.75rem 0;display:grid}.experience-item:last-child{border-bottom:1px solid var(--line)}@media (width>=800px){.experience-item{grid-template-columns:220px 1fr;align-items:start;gap:2.5rem;padding:2.1rem 0}}.experience-meta{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.experience-year{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);font-size:.78rem}.experience-now{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--digital);background:var(--digital-wash);padding:.2rem .45rem;font-size:.65rem}.experience-item--current .experience-body h3{color:var(--digital)}.experience-body h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 .25rem;font-size:clamp(1.35rem,2.5vw,1.7rem);font-weight:700}.experience-role{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:1.05rem;font-weight:600}.experience-location{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:.2rem 0 0;font-size:.72rem}.experience-summary{color:var(--ink-soft);max-width:38rem;margin:.75rem 0 0}.experience-focus{flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.experience-focus li{font-family:var(--font-mono);letter-spacing:.02em;background:var(--digital-wash);color:var(--digital);border:1px solid #0f5c5626;padding:.4rem .6rem;font-size:.7rem}.experience-roles{gap:.55rem;max-width:36rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.experience-roles li{border-top:1px solid var(--line);gap:.15rem;padding:.65rem 0 0;font-size:.95rem;display:grid}@media (width>=600px){.experience-roles li{grid-template-columns:1fr auto;align-items:baseline;gap:1rem}}.experience-roles li span:first-child{font-family:var(--font-display);letter-spacing:-.015em;font-weight:600}.experience-roles li span:last-child{font-family:var(--font-mono);color:var(--muted);font-size:.72rem}.real-section{background:radial-gradient(70% 45% at 100% 0%, #c45c261a, transparent 55%), linear-gradient(180deg, #f1e8df 0%, var(--bg) 40%, var(--bg-elevated) 100%)}.real-section .section-head h2{color:var(--real)}.real-showcase{gap:1rem;display:grid}@media (width>=760px){.real-showcase{grid-template-columns:1fr 1fr}}.real-card{background:var(--bg-elevated);transition:transform .35s var(--ease), border-color .35s var(--ease);border:1px solid #1414141a;gap:.75rem;padding:1.2rem 1.1rem 1.3rem;display:grid;position:relative;overflow:hidden}@media (width>=600px){.real-card{padding:1.4rem 1.35rem 1.45rem}}.real-card:before{content:"";background:var(--real-bright);width:4px;position:absolute;top:0;bottom:0;left:0}.real-card:hover{border-color:#14141438;transform:translateY(-3px)}.real-card--mech:before{background:#b45309}.real-card--elec:before{background:#ca8a04}.real-card--plumb:before{background:#0f766e}.real-card--design:before{background:#9a3412}.real-card--video:before{background:#7c2d12}.real-card--drive:before{background:#1d4ed8}.real-card-top{align-items:center;gap:.75rem;display:flex}.real-card-icon{background:var(--real-wash);width:2.7rem;height:2.7rem;color:var(--real);place-items:center;display:grid}.real-card--elec .real-card-icon{color:#a16207;background:#fef9c3}.real-card--plumb .real-card-icon{color:#0f766e;background:#ccfbf1}.real-card--design .real-card-icon{color:#9a3412;background:#ffedd5}.real-card--video .real-card-icon{color:#9f1239;background:#fee2e2}.real-card--drive .real-card-icon{color:#1d4ed8;background:#dbeafe}.real-card-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.real-card h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.2rem,2.4vw,1.45rem);font-weight:700;line-height:1.2}.real-card-story{color:var(--ink-soft);margin:0;font-size:.98rem;line-height:1.55}.real-tools{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.real-tool{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-soft);background:#1414140d;border:1px solid #14141414;padding:.35rem .55rem;font-size:.7rem}.family-section{background:radial-gradient(70% 50% at 10% 0%, #d4ff3a1f, transparent 50%), linear-gradient(180deg, var(--bg-elevated) 0%, #f3efe8 100%);border-block:1px solid var(--line)}.family-grid{gap:.85rem;display:grid}@media (width>=700px){.family-grid{grid-template-columns:1fr 1fr}}.family-card{background:#fff;border:1px solid #1414141a;gap:.45rem;padding:1.25rem 1.2rem 1.35rem;display:grid}.family-card--child{background:linear-gradient(160deg,#fffef5,#f3ef9a 120%);border-color:#14141424}@media (width>=700px){.family-card--child{grid-column:1/-1}}.family-role{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.7rem}.family-card h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.15rem,2.5vw,1.4rem);font-weight:700;line-height:1.25}.family-child-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.family-heart{color:var(--real);place-items:center;display:grid}.family-age{font-family:var(--font-display);letter-spacing:-.03em;color:var(--real);margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:800}.family-note{color:var(--ink-soft);max-width:36rem;margin:.15rem 0 0;font-size:.98rem}.skill-grid{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}@media (width>=700px){.skill-grid{grid-template-columns:1fr 1fr}}@media (width>=1020px){.skill-grid{grid-template-columns:1fr 1fr 1fr 1fr}}.skill-card{background:var(--bg-elevated);transition:background .3s var(--ease), transform .3s var(--ease);align-content:start;gap:.95rem;padding:1.35rem 1.25rem 1.4rem;display:grid}.skill-card:hover{background:#fff;transform:translateY(-2px)}.skill-card--primary{background:var(--digital-wash)}.skill-card--primary:hover{background:#cfe4e1}.skill-icon{width:2.6rem;height:2.6rem;color:var(--digital);background:#0f5c561a;place-items:center;display:grid}.skill-icon--real{color:var(--real);background:#8b3a1a1a}.skill-copy{gap:.4rem;display:grid}.skill-copy .badge{width:fit-content;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--digital);background:#ffffffa6;margin-bottom:.15rem;padding:.2rem .45rem;font-size:.65rem;display:inline-block}.skill-copy h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:700;line-height:1.2}.skill-copy p{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.45}.skill-tools{letter-spacing:.02em;padding-top:.35rem;font-family:var(--font-mono)!important;color:var(--muted)!important;font-size:.72rem!important}.manifesto{background:var(--bg-deep);color:#eef0ea;padding-block:clamp(4rem,10vw,6.5rem)}.manifesto .wrap{gap:1.5rem;max-width:46rem;display:grid}.manifesto .eyebrow{color:#eef0ea8c}.manifesto h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5.5vw,3.6rem);font-weight:800;line-height:1}.manifesto p{color:#eef0eac7;max-width:36rem;margin:0}.manifesto strong{color:var(--spark);font-weight:600}.thread{background:var(--bg)}.thread-flow{font-family:var(--font-display);letter-spacing:-.02em;flex-wrap:wrap;gap:.45rem;margin:0 0 2.5rem;padding:0;font-size:clamp(.85rem,2.4vw,1.15rem);font-weight:700;list-style:none;display:flex}.thread-flow li{background:var(--bg-elevated);border:1px solid var(--line);align-items:center;gap:.4rem;padding:.5rem .7rem;display:inline-flex}.thread-flow li:not(:last-child):after{content:"→";color:var(--muted);font-weight:400}.thread-copy{gap:1.15rem;max-width:40rem;display:grid}.thread-copy p{color:var(--ink-soft);margin:0}.pair-list{font-family:var(--font-mono);color:var(--ink-soft);gap:.35rem;margin:1.5rem 0 0;padding:0;font-size:.85rem;list-style:none;display:grid}.pair-list li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:.55rem 0;display:grid}.pair-list .sep{color:var(--muted)}.teaching{background:var(--digital-wash)}.defines{background:var(--bg-elevated)}.defines-grid{gap:2rem;display:grid}@media (width>=800px){.defines-grid{grid-template-columns:1fr 1fr;align-items:end;gap:3.5rem}}.triad{gap:.75rem;margin:1.5rem 0 0;display:grid}.triad div{border-top:1px solid var(--line);font-family:var(--font-display);letter-spacing:-.02em;padding:1rem 0;font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:700}.triad span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem;font-size:.7rem;font-weight:500;display:block}.mantra{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(1.6rem,3.5vw,2.35rem);font-weight:800;line-height:1.15}.mantra span{display:block}.cta{background:radial-gradient(80% 60% at 70% 20%, #d4ff3a2e, transparent 55%), radial-gradient(70% 50% at 15% 80%, #1a8a8033, transparent 50%), var(--bg-deep);color:#eef0ea;padding-block:clamp(5rem,14vw,9rem)}.cta .wrap{gap:1.75rem;max-width:44rem;display:grid}.cta h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,8vw,4.5rem);font-weight:800;line-height:.98}.cta p{color:#eef0eabf;max-width:32rem;margin:0;font-size:1.15rem}.signature{font-family:var(--font-body);color:var(--spark);border-top:1px solid #eef0ea26;max-width:28rem;margin:.5rem 0 0;padding-top:1.5rem;font-size:clamp(1.15rem,2.4vw,1.45rem);font-style:italic;line-height:1.4}.cta .btn-primary{background:var(--spark);color:var(--ink);width:fit-content}.cta .btn-primary:hover{background:#fff}.connect-actions{gap:1.15rem;margin-top:.5rem;display:grid}.connect-links{font-family:var(--font-mono);letter-spacing:.04em;overflow-wrap:anywhere;flex-wrap:wrap;gap:.85rem 1.35rem;font-size:.78rem;display:flex}.connect-links a{transition:color .25s var(--ease), border-color .25s var(--ease);border-bottom:1px solid #eef0ea59;padding-bottom:.15rem}.connect-links a:hover{color:var(--spark);border-color:var(--spark)}.footer{padding:1.5rem var(--pad) 2rem;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--bg-deep);border-top:1px solid #eef0ea14;flex-direction:column;align-items:flex-start;gap:.85rem;font-size:.72rem;display:flex}@media (width>=720px){.footer{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem}}.footer-links{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.footer-links a[href^=mailto\:]{text-transform:none;letter-spacing:.02em}.footer a:hover{color:var(--spark)}
