@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-duration:initial}}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.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-300{--tw-duration:.3s;transition-duration:.3s}:root{--bg:#fff7e8;--forest:#162117;--coral:#ffbba6;--cv:#ff8c6b;--cd:#c96a4a;--white:#fff;--fm:#3d5c3f;--tm:#6b7c6d;--border:#16211717}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--forest);font-family:Plus Jakarta Sans,sans-serif;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--cv);border-radius:2px}.f-serif{font-family:Playfair Display,serif}.f-mono{font-family:JetBrains Mono,monospace}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}@media (max-width:480px){.wrap{padding:0 16px}}.label{letter-spacing:.15em;text-transform:uppercase;color:var(--cd);font-family:JetBrains Mono,monospace;font-size:10px;display:block}.accent-line{background:var(--cv);border-radius:2px;width:36px;height:3px;margin:12px 0 28px}.btn-dark,.btn-coral,.btn-ghost{cursor:pointer;letter-spacing:.03em;white-space:nowrap;border:none;border-radius:4px;align-items:center;gap:8px;padding:13px 28px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s,background .2s,color .2s,box-shadow .2s;display:inline-flex}.btn-dark{background:var(--forest);color:var(--bg)}.btn-coral{background:var(--cv);color:var(--white)}.btn-ghost{color:var(--forest);border:2px solid var(--forest);background:0 0;padding:11px 26px}.btn-dark:hover{background:var(--cv);color:var(--white);transform:translateY(-2px);box-shadow:0 8px 20px #ff8c6b4d}.btn-coral:hover{background:var(--cd);transform:translateY(-2px);box-shadow:0 8px 20px #c96a4a4d}.btn-ghost:hover{background:var(--forest);color:var(--bg);transform:translateY(-2px)}.btn-sm{padding:9px 18px;font-size:12px}.chip{letter-spacing:.08em;text-transform:uppercase;border-radius:100px;align-items:center;padding:4px 12px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.chip-forest{color:var(--forest);background:#16211714}.chip-coral{color:var(--cd);background:#ff8c6b26}.card{background:var(--white);border:1px solid var(--border);border-radius:14px;transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-5px);box-shadow:0 24px 52px #1621171a}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulse-dot{0%,to{box-shadow:0 0 #27c93f80}70%{box-shadow:0 0 0 8px #27c93f00}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.anim-fade-up{opacity:0}.anim-fade-up.visible{animation:.7s forwards fadeUp}.anim-fade-in{opacity:0}.anim-fade-in.visible{animation:.6s forwards fadeIn}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.22s}.delay-3{animation-delay:.36s}.delay-4{animation-delay:.5s}.delay-5{animation-delay:.64s}.animate-marquee{animation:40s linear infinite marquee}.animate-float{animation:5s ease-in-out infinite float}.pulse-dot{animation:2s infinite pulse-dot}.section{padding:96px 0}.section-sm{padding:64px 0}.hr{border:none;border-top:1px solid var(--border)}.grid-2{grid-template-columns:1fr 1fr;gap:32px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:24px;display:grid}@media (max-width:900px){.grid-2{grid-template-columns:1fr;gap:24px}.grid-3{grid-template-columns:1fr 1fr;gap:20px}}@media (max-width:560px){.grid-3{grid-template-columns:1fr}.section{padding:64px 0}}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#16211799;justify-content:center;align-items:center;padding:24px;transition:opacity .3s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:all}.modal-box{background:var(--bg);border-radius:16px;width:100%;max-width:500px;padding:40px;transition:transform .3s;position:relative;transform:translateY(24px)}.modal-overlay.open .modal-box{transform:translateY(0)}.modal-close{cursor:pointer;color:var(--tm);background:0 0;border:none;padding:4px;font-size:20px;transition:color .2s;position:absolute;top:16px;right:16px}.modal-close:hover{color:var(--forest)}.ticker-wrap{background:var(--forest);padding:13px 0;overflow:hidden}.ticker-track{white-space:nowrap;display:flex}.code-card{background:var(--forest);border-radius:12px;padding:20px 22px;font-family:JetBrains Mono,monospace;font-size:11.5px;line-height:2}.code-dots{gap:6px;margin-bottom:14px;display:flex}.code-dot{border-radius:50%;width:10px;height:10px}.skill-bar{flex-direction:column;gap:10px;display:flex}.skill-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.skill-track{background:#1621171a;border-radius:2px;flex:1;height:3px;overflow:hidden}.skill-fill{background:var(--cv);border-radius:2px;width:0;height:100%;transition:width 1.2s}.article-card{border:1px solid var(--border);background:var(--white);border-radius:14px;padding:28px;transition:transform .3s,box-shadow .3s}.article-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #16211717}.port-card{background:var(--white);border:1px solid var(--border);cursor:pointer;border-radius:16px;flex-direction:column;text-decoration:none;transition:transform .35s,box-shadow .35s;display:flex;overflow:hidden}.port-card:hover{transform:translateY(-6px);box-shadow:0 28px 56px #1621171f}.port-img{aspect-ratio:16/9.5;width:100%;position:relative;overflow:hidden}.port-img img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .5s}.port-card:hover .port-img img{transform:scale(1.04)}.port-img-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.nav-link{color:var(--forest);padding-bottom:2px;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-link:after{content:"";background:var(--cv);width:0;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}.nav-link:hover{color:var(--cv)}.nav-link:hover:after{width:100%}:focus-visible{outline:2px solid var(--cv);outline-offset:3px}body{font-size:16.5px}p{font-size:16px;line-height:1.8}.about-body-p{font-size:16px!important;line-height:1.85!important}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.in-view{opacity:1;transform:none}.reveal-left{opacity:0;transition:opacity .7s,transform .7s;transform:translate(-28px)}.reveal-left.in-view{opacity:1;transform:none}.reveal-right{opacity:0;transition:opacity .7s,transform .7s;transform:translate(28px)}.reveal-right.in-view{opacity:1;transform:none}.reveal-d1{transition-delay:50ms}.reveal-d2{transition-delay:.15s}.reveal-d3{transition-delay:.25s}.reveal-d4{transition-delay:.38s}.reveal-d5{transition-delay:.52s}.article-img{aspect-ratio:16/9;object-fit:cover;object-position:top;background:linear-gradient(135deg, var(--coral) 0%, var(--cv) 100%);border-radius:10px;width:100%;margin-bottom:4px;display:block}.article-img-placeholder{aspect-ratio:16/9;background:linear-gradient(135deg, var(--coral) 0%, var(--cv) 100%);border-radius:10px;justify-content:center;align-items:center;width:100%;margin-bottom:4px;display:flex;overflow:hidden}.skills-forest-box{background:var(--forest);color:var(--bg);border-radius:16px;padding:32px}.awards-table{border-collapse:collapse;width:100%}.awards-table th{letter-spacing:.12em;text-transform:uppercase;color:var(--cd);text-align:left;border-bottom:2px solid var(--border);padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:10px}.awards-table td{color:var(--fm);border-bottom:1px solid var(--border);vertical-align:top;padding:16px;font-size:14px;line-height:1.6}.awards-table tr:hover td{background:#16211705}.awards-table td a{color:var(--cv);text-underline-offset:3px;text-decoration:underline}.substack-embed-forest iframe{background:0 0!important;border:1px solid #fff7e833!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}
