:root{--font-family:"Roboto",sans-serf;--normal-font:400;--bold-font:700;--bolder-font:900;--bg-color:#fff;--primary-color:#0a2540;--secondary-color:#f2c811;--primary-shadow:#8b8eaf;--secondary-shadow:#a17a69;--bottom-margin:0.5rem;--bottom-margin-2:1rem;--line-height:1.7rem;--transition:0.3s}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:Roboto}.footer{align-items:center;background:var(--primary-color);display:flex;height:70px;justify-content:center;position:relative;width:100%}.footer p{color:hsla(0,0%,100%,.55);font-size:.82rem;letter-spacing:.03em}.back-to-top{align-items:center;background:transparent;border:1.5px solid hsla(0,0%,100%,.25);border-radius:50%;color:hsla(0,0%,100%,.75);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:2rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:border-color .2s,color .2s;width:36px}.back-to-top:hover{border-color:var(--secondary-color);color:var(--secondary-color)}@media only screen and (max-width:600px){.footer{flex-direction:column;gap:.75rem;height:auto;padding:1.25rem 1rem}.back-to-top{position:static;-webkit-transform:none;transform:none}}.home{color:var(--primary-color);font-family:var(--font-family)}.hero{background-color:var(--primary-color);display:flex;flex-direction:column;min-height:100vh;overflow:hidden;padding:3rem 2rem 0;position:relative}.hero:before{content:"B";left:8%;top:-20%}.hero:after,.hero:before{color:hsla(0,0%,100%,.07);font-family:Georgia,Book Antiqua,serif;font-size:90vh;font-weight:700;line-height:1;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;z-index:0}.hero:after{bottom:-20%;content:"O";left:-2%}.hero-inner{align-items:center;display:flex;flex:1 1;justify-content:flex-end;margin:0 auto;max-width:1100px;padding:2rem 0;position:relative;width:90%;z-index:1}.hero-text{max-width:600px}.availability{align-items:center;border:1px solid hsla(0,0%,100%,.2);border-radius:100px;color:hsla(0,0%,100%,.7);display:inline-flex;font-size:.78rem;gap:.5rem;letter-spacing:.04em;margin-bottom:1.75rem;padding:.35rem .9rem}.availability-dot{-webkit-animation:dot-pulse 2s ease-in-out infinite;animation:dot-pulse 2s ease-in-out infinite;background:#4ade80;border-radius:50%;flex-shrink:0;height:7px;width:7px}@-webkit-keyframes dot-pulse{0%,to{box-shadow:0 0 0 0 rgba(74,222,128,.5);opacity:1}50%{box-shadow:0 0 0 5px rgba(74,222,128,0);opacity:.8}}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 0 rgba(74,222,128,.5);opacity:1}50%{box-shadow:0 0 0 5px rgba(74,222,128,0);opacity:.8}}.hero-greeting{color:hsla(0,0%,100%,.55);font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;letter-spacing:.18em;margin-bottom:.6rem;text-transform:uppercase}.hero-name{text-wrap:balance;color:var(--secondary-color);font-size:clamp(2.75rem,5.5vw,4.5rem);font-weight:900;letter-spacing:-.025em;line-height:1.05;margin-bottom:0}.hero-divider{background:var(--secondary-color);display:block;height:2px;margin:1.1rem 0;width:52px}.hero-tagline{color:hsla(0,0%,100%,.75);font-size:.9rem;letter-spacing:.06em;margin-bottom:1.5rem}.hero-bio{color:hsla(0,0%,100%,.82);font-size:1rem;line-height:1.8;margin-bottom:2.25rem;max-width:44ch}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem}.btn-resume{align-items:center;background:var(--secondary-color);border-radius:4px;color:var(--primary-color);display:inline-flex;font-size:.875rem;font-weight:700;gap:.45rem;letter-spacing:.02em;padding:.65rem 1.4rem;text-decoration:none;transition:opacity var(--transition);white-space:nowrap}.btn-resume:hover{opacity:.85}.hero-socials{gap:.4rem}.hero-socials,.hero-socials a{align-items:center;display:flex}.hero-socials a{border:1.5px solid hsla(0,0%,100%,.25);border-radius:50%;color:hsla(0,0%,100%,.75);height:40px;justify-content:center;text-decoration:none;transition:border-color var(--transition),color var(--transition);width:40px}.hero-socials a:hover{border-color:var(--secondary-color);color:var(--secondary-color)}.hero-socials svg{font-size:1.2rem}.scroll-hint{display:flex;justify-content:center;padding:1.5rem 0 1.75rem;position:relative;z-index:1}.scroll-wheel{border:2px solid rgba(242,200,17,.45);border-radius:20px;height:46px;position:relative;width:28px}.scroll-wheel:before{-webkit-animation:scroll-anim 2s ease-in-out infinite;animation:scroll-anim 2s ease-in-out infinite;background-color:var(--secondary-color);border-radius:50%;content:"";height:5px;left:50%;position:absolute;top:8px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:5px}@-webkit-keyframes scroll-anim{0%{opacity:0;-webkit-transform:translate(-50%);transform:translate(-50%)}25%{opacity:1}to{opacity:0;-webkit-transform:translate(-50%,20px);transform:translate(-50%,20px)}}@keyframes scroll-anim{0%{opacity:0;-webkit-transform:translate(-50%);transform:translate(-50%)}25%{opacity:1}to{opacity:0;-webkit-transform:translate(-50%,20px);transform:translate(-50%,20px)}}.stats-band{background:var(--secondary-color)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1100px;width:90%}.stat{align-items:center;display:flex;flex-direction:column;padding:1.75rem 1.5rem;text-align:center}.stat+.stat{border-left:1px solid rgba(10,37,64,.15)}.stat-val{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";color:var(--primary-color);font-size:2rem;font-variant-numeric:tabular-nums;font-weight:900;line-height:1;margin-bottom:.3rem}.stat-lbl{color:rgba(10,37,64,.6);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.skills{background:#fff;padding:5rem 2rem 6rem}.skills-inner{margin:0 auto;max-width:900px;width:90%}.skills-eye{color:#7a8a9e;font-size:.68rem;font-weight:600;letter-spacing:.2em;margin-bottom:.4rem;text-transform:uppercase}.skills-heading{color:var(--primary-color);font-size:2.5rem;font-weight:300;letter-spacing:.06em;margin-bottom:3rem;text-transform:uppercase}.skill-tier{margin-bottom:2.25rem}.skill-tier:last-child{margin-bottom:0}.tier-label{color:#7a8a9e;font-size:.68rem;font-weight:700;letter-spacing:.15em;margin-bottom:.8rem;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{border-radius:3px;font-size:.85rem;font-weight:500;letter-spacing:.01em;line-height:1.5;padding:.35rem .9rem}.chip-core{background:var(--primary-color);color:#fff}.chip-proficient{background:#fff;border:1.5px solid var(--primary-color);color:var(--primary-color)}.chip-familiar{background:#fff;border:1.5px solid #c8d0db;color:#5a6b7e}.lp-inner{margin:0 auto;max-width:900px;width:90%}.lp-eye{color:#7a8a9e;font-size:.68rem;font-weight:600;letter-spacing:.2em;margin-bottom:.4rem}.lp-eye,.lp-heading{text-transform:uppercase}.lp-heading{color:var(--primary-color);font-size:2.5rem;font-weight:300;letter-spacing:.06em;margin-bottom:3rem}.exp-section{background:#f4f6f9;padding:5rem 2rem 6rem}.exp-timeline{padding-left:2rem;position:relative}.exp-timeline:before{background:#dde2ea;bottom:0;content:"";left:11px;position:absolute;top:0;width:2px}.exp-item{display:flex;gap:1.5rem;margin-bottom:2.5rem;position:relative}.exp-item:last-child{margin-bottom:0}.exp-dot{align-items:center;background:#dde2ea;border-radius:50%;color:#7a8a9e;display:flex;flex-shrink:0;height:24px;justify-content:center;left:-2rem;position:absolute;width:24px;z-index:1}.exp-dot svg{font-size:.85rem}.exp-item--work .exp-dot{background:var(--secondary-color);color:var(--primary-color)}.exp-body{background:#fff;border-radius:6px;box-shadow:0 1px 4px rgba(10,37,64,.06);padding:1.25rem 1.5rem;width:100%}.exp-meta{align-items:baseline;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:.6rem}.exp-title{font-size:1rem;font-weight:700}.exp-item--work .exp-title,.exp-title{color:var(--primary-color)}.exp-date{color:#7a8a9e;font-size:.75rem;font-weight:500;letter-spacing:.04em;white-space:nowrap}.exp-desc{color:#4a5a6e;font-size:.9rem;line-height:1.7}.proj-section{background:#fff;padding:5rem 2rem 6rem}.proj-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.proj-card{border:1px solid #e8ecf1;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .25s}.proj-card:hover{box-shadow:0 6px 24px rgba(10,37,64,.1)}.proj-img{aspect-ratio:16/9;background:#e8ecf1;overflow:hidden}.proj-img img{display:block;height:100%;object-fit:cover;width:100%}.proj-body{display:flex;flex:1 1;flex-direction:column;padding:1.25rem}.proj-name{color:var(--primary-color);font-size:1rem;font-weight:700;margin-bottom:.6rem}.proj-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem}.proj-tag{background:rgba(10,37,64,.07);border-radius:3px;color:var(--primary-color);font-size:.72rem;font-weight:500;letter-spacing:.02em;padding:.2rem .6rem}.proj-desc{color:#4a5a6e;flex:1 1;font-size:.875rem;line-height:1.7;margin-bottom:1.25rem}.proj-links{display:flex;gap:.75rem}.proj-link{align-items:center;border:1.5px solid var(--primary-color);border-radius:4px;color:var(--primary-color);display:inline-flex;font-size:.8rem;font-weight:700;gap:.35rem;padding:.45rem 1rem;text-decoration:none;transition:background .2s,color .2s}.proj-link:hover{background:var(--primary-color);color:#fff}.proj-link--view{border-color:var(--secondary-color)}.proj-link--view,.proj-link--view:hover{background:var(--secondary-color);color:var(--primary-color)}.proj-link--view:hover{opacity:.85}@media only screen and (max-width:900px){.hero{padding:2.5rem 2rem 0}.hero-inner{justify-content:center;padding:1.5rem 0;text-align:center}.hero-text{max-width:100%}.hero-bio,.hero-divider{margin-left:auto;margin-right:auto}.hero-bio{max-width:52ch}.hero-actions{justify-content:center}}@media only screen and (max-width:600px){.hero{padding:2rem 1.25rem 0}.hero:after,.hero:before{display:none}.hero-inner{padding:1.25rem 0;width:100%}.hero-tagline{font-size:.85rem;word-break:break-word}.hero-bio{font-size:.95rem;max-width:100%}.hero-actions{align-items:center;flex-direction:column;gap:1rem}.stats-grid{grid-template-columns:1fr;width:100%}.stat{padding:1.1rem 1.5rem}.stat+.stat{border-left:none;border-top:1px solid rgba(10,37,64,.15)}.skills{padding:3rem 1.25rem 4rem}.skills-inner{width:100%}.lp-heading,.skills-heading{font-size:1.85rem;margin-bottom:2rem}.exp-section,.proj-section{padding:3rem 1.25rem 4rem}.exp-section .lp-inner,.proj-section .lp-inner{width:100%}.proj-grid{grid-template-columns:1fr}}@media only screen and (min-width:768px) and (max-width:900px){.proj-grid{grid-template-columns:repeat(2,1fr)}}
/*# sourceMappingURL=main.2c126781.css.map*/