*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--cream:#faf6ef;--warm-white:#fdf9f3;--amber:#e8842a;--amber-light:#f5c97a;--amber-pale:#fef3dc;--rust:#c4521a;--forest:#3a6b3f;--forest-light:#e8f2e9;--charcoal:#2a2520;--mid:#6b6057;--muted:#a09488;--border:#2a25201a;--border-med:#2a25202e}html{scroll-behavior:smooth}body,html{background:#faf6ef;background:var(--cream)}body{-webkit-font-smoothing:antialiased;color:#2a2520;color:var(--charcoal);font-family:DM Sans,sans-serif;font-size:15px;line-height:1.6}.container{margin:0 auto;max-width:880px;padding:0 2rem}.section-eyebrow{color:#e8842a;color:var(--amber);font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:.5rem;text-transform:uppercase}.section-title{color:#2a2520;color:var(--charcoal);font-family:Fraunces,serif;font-size:38px;font-weight:700;letter-spacing:-1px;line-height:1.1;margin-bottom:.75rem}.section-sub{color:#6b6057;color:var(--mid);font-size:16px;line-height:1.7;margin-bottom:3rem;max-width:520px}.divider{border:none;border-top:1px solid #2a25201a;border-top:1px solid var(--border);margin:0}.btn{align-items:center;border:none;border-radius:100px;cursor:pointer;display:inline-flex;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;text-decoration:none;transition:all .2s}.btn-primary{background:#e8842a;background:var(--amber);color:#fff}.btn-primary:hover{background:#c4521a;background:var(--rust);transform:translateY(-1px)}.btn-ghost{background:#0000;border:1.5px solid #2a25202e;border:1.5px solid var(--border-med);color:#2a2520;color:var(--charcoal)}.btn-ghost:hover{border-color:#e8842a;border-color:var(--amber);color:#e8842a;color:var(--amber)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.nav{background:#0000;left:0;padding:0 2rem;position:fixed;right:0;top:0;transition:background .3s,box-shadow .3s;z-index:100}.nav--scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf6eff2;box-shadow:0 1px 0 #2a252014}.nav-inner{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:880px}.nav-logo{color:var(--warm-white);font-family:Fraunces,serif;font-size:22px;font-weight:700;letter-spacing:-.5px;text-decoration:none;transition:color .3s}.nav--scrolled .nav-logo{color:var(--charcoal)}.nav-logo span{color:var(--amber)}.nav-links{align-items:center;display:flex;gap:2rem;list-style:none}.nav-links a{color:#fdf9f3bf;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.nav--scrolled .nav-links a{color:var(--mid)}.nav--scrolled .nav-links a:hover,.nav-links a:hover{color:var(--amber)}.nav-cta{background:var(--amber)!important;border-radius:100px;color:#fff!important;font-weight:600!important;padding:8px 18px;transition:background .2s!important}.nav-cta:hover{background:var(--rust)!important;color:#fff!important}.nav-burger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:4px}.nav-burger span{background:var(--charcoal);border-radius:2px;display:block;height:2px;transition:all .2s;width:22px}@media (max-width:680px){.nav-burger{display:flex}.nav-links{background:var(--warm-white);border-bottom:1px solid var(--border);flex-direction:column;gap:1.25rem;left:0;padding:1.5rem 2rem 2rem;position:fixed;right:0;top:64px;transform:translateY(-120%);transition:transform .3s ease}.nav-links--open{transform:translateY(0)}.nav-links a{font-size:16px}}.hero{background:var(--charcoal);height:-webkit-fit-content;height:fit-content;margin-bottom:0;padding-top:64px}.hero-inner{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:1fr 1fr;padding-bottom:4rem;padding-top:5rem}.hero-tag{align-items:center;background:#e8842a2e;border-radius:100px;color:var(--amber-light);display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.08em;margin-bottom:1.5rem;padding:6px 14px;text-transform:uppercase}.hero-tag-dot{animation:pulse 2s infinite;background:var(--amber);border-radius:50%;flex-shrink:0;height:6px;width:6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero-h1{color:var(--warm-white);font-size:52px;font-weight:700;letter-spacing:-2px;line-height:1.06;margin-bottom:1.25rem}.hero-h1 em{color:var(--amber);font-style:italic}.hero-sub{color:#fdf9f399;font-size:16px;line-height:1.75;margin-bottom:2rem;max-width:400px}.hero-btns{display:flex;flex-wrap:wrap;gap:12px}.hero-right{display:flex;flex-direction:column;gap:12px}.hero-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;padding:18px 20px;transition:border-color .2s}.hero-card:hover{border-color:#e8842a66}.hero-card-row{gap:12px;margin-bottom:10px}.hero-card-icon,.hero-card-row{align-items:center;display:flex}.hero-card-icon{background:#e8842a2e;border-radius:10px;flex-shrink:0;font-size:18px;height:38px;justify-content:center;width:38px}.hero-card-label{color:#fff6;font-size:11px;font-weight:500;letter-spacing:.06em;margin-bottom:2px;text-transform:uppercase}.hero-card-val{color:#ffffffe0;font-size:14px;font-weight:600}.hero-pill{align-items:center;border-radius:100px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:4px 12px}.hero-pill.available{background:#3a6b3f4d;color:#8ecf94}.hero-pill-dot{background:#8ecf94;border-radius:50%;height:5px;width:5px}.hero-pill.thrillnerds{background:#e8842a33;color:var(--amber-light)}.hero-tags-row{display:flex;flex-wrap:wrap;gap:8px}.hero-mini-tag{background:#e8842a2e;border-radius:100px;color:var(--amber-light);font-size:11px;font-weight:600;padding:3px 10px}.hero-stats{background:var(--warm-white);border-bottom:1px solid var(--border);border-top:1px solid var(--border)}.hero-stats-inner{align-items:center;display:flex;gap:3rem;justify-content:center;padding:2.5rem 0}.stat{text-align:center}.stat-num{color:var(--charcoal);font-size:36px;font-weight:700;line-height:1}.stat-num span{color:var(--amber)}.stat-label{color:var(--muted);font-size:12px;font-weight:500;margin-top:4px}.stat-divider{background:var(--border);height:44px;width:1px}@media (max-width:680px){.hero-inner{grid-template-columns:1fr;padding-bottom:3rem;padding-top:3rem}.hero-h1{font-size:36px;letter-spacing:-1px}.hero-stats-inner{flex-wrap:wrap;gap:1.5rem}.stat-divider{display:none}}#about{background:var(--cream);padding:0 0 5rem;position:relative;z-index:1}.about-grid{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:300px 1fr;padding-top:4rem}.about-photo-wrap{align-items:flex-start;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:88px}.about-photo{aspect-ratio:1;border:4px solid var(--warm-white);border-radius:20px;box-shadow:0 0 0 1px var(--border);display:block;object-fit:cover;width:100%}.about-photo-badge{align-items:center;background:var(--warm-white);border:1px solid var(--border);border-radius:100px;color:var(--mid);display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-top:14px;padding:6px 14px}.about-p{color:var(--mid);font-size:15px;line-height:1.8;margin-bottom:1.1rem}.hobbies-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:2rem}.hobby-card{background:var(--warm-white);border:1px solid var(--border);border-radius:14px;padding:16px;transition:border-color .2s,transform .2s}.hobby-card:hover{border-color:#e8842a4d;transform:translateY(-2px)}.hobby-icon{font-size:22px;margin-bottom:6px}.hobby-name{color:var(--charcoal);font-size:14px;font-weight:600;margin-bottom:2px}.hobby-desc{color:var(--muted);font-size:12px;line-height:1.5}@media (max-width:680px){.about-grid{gap:2rem;grid-template-columns:1fr}.about-photo-wrap{position:static}.about-photo{max-width:240px}}.skills-groups{display:flex;flex-direction:column;gap:2rem}.skill-group-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{background:var(--warm-white);border:1px solid var(--border);border-radius:100px;color:var(--charcoal);cursor:default;font-size:13px;font-weight:500;padding:7px 16px;transition:all .2s}.skill-tag:hover{border-color:#e8842a66;color:var(--rust)}.skill-tag--highlight{background:var(--amber-pale);border-color:#e8842a4d;color:var(--rust);font-weight:600}#skills,#wordpress{padding:5rem 0}.wp-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:3rem}.wp-card{background:var(--warm-white);border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:border-color .2s,transform .2s}.wp-card:hover{border-color:#e8842a4d;transform:translateY(-2px)}.wp-card-icon{font-size:24px;margin-bottom:10px}.wp-card-title{color:var(--charcoal);font-size:15px;font-weight:600;line-height:1.3;margin-bottom:8px}.wp-card-body{color:var(--mid);font-size:13px;line-height:1.75}.wp-proof{background:var(--charcoal);border-radius:20px;padding:2rem 2.5rem}.wp-proof-label{color:#ffffff59;font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:1.5rem;text-transform:uppercase}.wp-proof-items{align-items:flex-start;display:flex;gap:2rem}.wp-proof-item{display:flex;flex:1 1;flex-direction:column;gap:6px}.wp-proof-num{color:var(--amber);font-family:Fraunces,serif;font-size:40px;font-weight:700;line-height:1}.wp-proof-text{color:#ffffff80;font-size:13px;line-height:1.6}.wp-proof-divider{align-self:center;background:#ffffff14;flex-shrink:0;height:80px;width:1px}@media (max-width:680px){.wp-grid{grid-template-columns:1fr}.wp-proof-items{flex-direction:column;gap:1.5rem}.wp-proof-divider{height:1px;width:100%}.wp-proof{padding:1.5rem}}.work-list{border-top:1px solid var(--border);display:flex;flex-direction:column}.work-item{grid-gap:0 2rem;border-bottom:1px solid var(--border);display:grid;gap:0 2rem;grid-template-columns:180px 1fr;padding:2rem 0;position:relative}.work-meta{align-items:flex-end;display:flex;flex-direction:column;padding-top:3px}.work-dates{color:var(--muted);font-size:12px;font-weight:500;line-height:1.5;text-align:right}.work-dot{background:var(--amber);border-radius:50%;flex-shrink:0;height:8px;margin-top:10px;width:8px}.work-role{color:var(--charcoal);font-size:17px;font-weight:600;margin-bottom:3px}.work-company{color:var(--amber);font-size:14px;font-weight:600;margin-bottom:12px}.work-location{color:var(--muted);font-size:13px;font-weight:400}.work-bullets{display:flex;flex-direction:column;gap:6px;list-style:none}.work-bullets li{color:var(--mid);font-size:14px;line-height:1.65;padding-left:16px;position:relative}.work-bullets li:before{background:var(--amber-light);border-radius:50%;content:"";height:5px;left:0;position:absolute;top:9px;width:5px}.work-edu{border-top:1px solid var(--border);margin-top:3rem;padding-top:2rem}.edu-eyebrow{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.1em;margin-bottom:1rem;text-transform:uppercase}.edu-items{display:flex;flex-wrap:wrap;gap:2rem}.edu-item{display:flex;flex-direction:column;gap:3px}.edu-school{color:var(--charcoal);font-size:15px;font-weight:600}.edu-detail{color:var(--muted);font-size:13px}@media (max-width:680px){.work-item{gap:.25rem;grid-template-columns:1fr}.work-meta{align-items:center;flex-direction:row;gap:10px;margin-bottom:8px}.work-dates{text-align:left}.work-dot{margin-top:0}}#projects,#work{padding:5rem 0}#projects{background:var(--cream)}.projects-list{display:flex;flex-direction:column;gap:16px}.project-card{grid-gap:1.5rem;background:var(--warm-white);border:1px solid var(--border);border-radius:20px;display:grid;gap:1.5rem;grid-template-columns:70px 1fr;padding:2rem;transition:border-color .2s,transform .2s}.project-card:hover{border-color:#e8842a59;transform:translateY(-2px)}.project-card--featured{background:linear-gradient(135deg,var(--warm-white) 0,var(--amber-pale) 100%);border-color:#e8842a33}.project-emoji{align-items:center;background:var(--amber-pale);border-radius:14px;display:flex;flex-shrink:0;font-size:28px;height:60px;justify-content:center;width:60px}.project-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}.project-type{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.project-highlight{background:var(--forest-light);border-radius:100px;color:var(--forest);font-size:11px;font-weight:600;padding:3px 10px}.project-name{color:var(--charcoal);font-size:24px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px}.project-desc{color:var(--mid);font-size:14px;line-height:1.75;margin-bottom:1.25rem}.project-footer{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.project-tags{display:flex;flex-wrap:wrap;gap:6px}.project-tag{background:#fff;border:1px solid var(--border);border-radius:100px;color:var(--mid);font-size:12px;font-weight:500;padding:4px 12px}.project-link{color:var(--amber);font-size:13px;font-weight:600;text-decoration:none;transition:color .2s;white-space:nowrap}.project-link:hover{color:var(--rust)}@media (max-width:680px){.project-card{grid-template-columns:1fr}.project-emoji{font-size:22px;height:48px;width:48px}}.frogger-wrap{flex-direction:column;gap:1.5rem;margin:0 auto;max-width:880px;padding:0 2rem 4rem}.frogger-header,.frogger-wrap{align-items:center;display:flex}.frogger-header{flex-wrap:wrap;gap:1rem;justify-content:space-between;width:100%}.frogger-title{color:var(--charcoal);font-family:Fraunces,serif;font-size:28px;font-weight:700;letter-spacing:-.5px}.frogger-hud{gap:2rem}.frogger-hud,.hud-item{align-items:center;display:flex}.hud-item{flex-direction:column;gap:2px}.hud-label{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.hud-val{color:var(--charcoal);display:flex;font-family:Fraunces,serif;font-size:20px;font-weight:700;gap:2px}.frogger-canvas-wrap{border:2px solid var(--border-med);border-radius:16px;box-shadow:0 8px 40px #2a252026;max-width:100%;overflow:hidden}.frogger-canvas{cursor:default;display:block;height:auto;max-width:100%}.frogger-controls{align-items:center;display:none;flex-direction:column;gap:6px}.ctrl-row{display:flex;gap:6px}.ctrl-btn{align-items:center;background:var(--warm-white);border:1.5px solid var(--border-med);border-radius:12px;color:var(--charcoal);cursor:pointer;display:flex;font-size:18px;height:52px;justify-content:center;transition:background .15s,transform .1s;width:52px}.ctrl-btn:active{background:var(--amber-pale);transform:scale(.93)}.frogger-hint{color:var(--muted);font-size:12px;text-align:center}@media (max-width:800px){.frogger-canvas-wrap{width:100%}.frogger-canvas{height:auto;width:100%}.frogger-controls{display:flex}}#lab{padding:5rem 0 0}.lab-game-wrap{background:var(--warm-white);border-bottom:1px solid var(--border);border-top:1px solid var(--border);margin-top:3rem;padding:3rem 0}.lab-game-intro{display:flex;flex-direction:column;gap:8px;margin-bottom:2rem}.lab-game-badge{align-items:center;background:var(--amber-pale);border-radius:100px;color:var(--rust);display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.1em;padding:4px 12px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.lab-game-title{color:var(--charcoal);font-family:Fraunces,serif;font-size:26px;font-weight:700;letter-spacing:-.5px}.lab-game-desc{color:var(--mid);font-size:14px;line-height:1.7;max-width:520px}.thrillnerds-section{background:var(--charcoal);padding:5rem 0;position:relative;z-index:0}.tn-card{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 340px}.tn-eyebrow{color:var(--amber);font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:.5rem;text-transform:uppercase}.tn-title{color:var(--warm-white);font-size:44px;font-weight:700;letter-spacing:-1.5px;line-height:1;margin-bottom:1.25rem}.tn-desc{color:#fdf9f394;font-size:15px;line-height:1.75;margin-bottom:1rem}.tn-platforms{display:flex;flex-direction:column;gap:8px;margin-top:1.75rem}.tn-platform{align-items:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;display:flex;gap:14px;padding:14px 16px;text-decoration:none;transition:background .2s,border-color .2s}.tn-platform:hover{background:#e8842a1f;border-color:#e8842a4d}.tn-platform-icon{flex-shrink:0;font-size:20px}.tn-platform-info{flex:1 1}.tn-platform-name{color:#ffffffe6;font-size:14px;font-weight:600}.tn-platform-handle{color:#fff6;font-size:12px}.tn-platform-arrow{color:var(--amber);font-size:16px}.tn-right{display:flex;justify-content:center}.tn-visual{background:#ffffff0a;border:1px solid #ffffff14;border-radius:24px;padding:3rem 2rem;text-align:center;width:100%}.tn-logo-big{font-size:72px;margin-bottom:1rem}.tn-logo-label{color:var(--warm-white);font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:4px}.tn-logo-sub{color:#fff6;font-size:13px;margin-bottom:1.5rem}.tn-coming-soon{background:#e8842a2e;border-radius:100px;color:var(--amber-light);display:inline-block;font-size:12px;font-weight:600;padding:6px 16px}@media (max-width:680px){.tn-card{gap:2rem;grid-template-columns:1fr}.tn-right{display:none}.tn-title{font-size:32px}}.contact-wrap{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.contact-sub{color:var(--mid);font-size:15px;line-height:1.75;margin-bottom:2rem;max-width:380px}.contact-btn{margin-top:0}.contact-links-col{display:flex;flex-direction:column;gap:10px;padding-top:.5rem}.contact-link-card{align-items:center;background:var(--warm-white);border:1px solid var(--border);border-radius:14px;display:flex;gap:14px;padding:16px 18px;text-decoration:none;transition:border-color .2s,transform .2s}.contact-link-card:hover{border-color:#e8842a66;transform:translateX(4px)}.contact-link-icon{flex-shrink:0;font-size:22px}.contact-link-label{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.08em;margin-bottom:2px;text-transform:uppercase}.contact-link-value{color:var(--charcoal);font-size:14px;font-weight:500}.contact-link-arrow{color:var(--amber);font-size:16px;margin-left:auto}@media (max-width:680px){.contact-wrap{gap:2rem;grid-template-columns:1fr}}#contact{padding:5rem 0}.footer{background:var(--warm-white);border-top:1px solid var(--border);padding:2.5rem 0}.footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.footer-logo{color:var(--charcoal);font-size:16px;font-weight:700;letter-spacing:-.3px}.footer-logo span{color:var(--amber)}.footer-links{align-items:center;display:flex;gap:1.5rem}.footer-link{color:var(--muted);font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--amber)}.footer-copy{color:var(--muted);font-size:13px}
/*# sourceMappingURL=main.0b17e86e.css.map*/