@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ink:#10151d;--muted:#7d8793;--paper:#f4f6f7;--line:#dce2e6;--blue:#5b78ff;--cyan:#8de3d8;--orange:#ff795e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0}.nav{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4f6f7e0;border-bottom:1px solid #dce2e6b3;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,6vw,92px);display:flex;position:sticky;top:0}.brand{letter-spacing:-.03em;align-items:center;gap:12px;font-size:14px;font-weight:800;display:flex}.brand-mark{background:var(--ink);width:31px;height:31px;color:var(--cyan);border-radius:50%;place-items:center;font:500 11px DM Mono,monospace;display:grid}.nav-links{text-transform:uppercase;letter-spacing:.03em;color:#66717d;align-items:center;gap:30px;font:500 11px DM Mono,monospace;display:flex}.nav-links a:hover{color:var(--ink)}.nav-cta{background:var(--ink);border-radius:30px;padding:12px 17px;color:#fff!important}.nav-cta span{color:var(--cyan);margin-left:8px;font-size:15px}.menu-button{background:0 0;font-size:24px;display:none}.hero{background:var(--ink);color:#fff;grid-template-columns:1.35fr .65fr;align-items:center;gap:8vw;min-height:calc(100vh - 76px);padding:clamp(70px,10vw,150px) clamp(24px,9vw,140px) 100px;display:grid;position:relative;overflow:hidden}.hero-glow{filter:blur(2px);opacity:.18;pointer-events:none;border-radius:50%;width:500px;height:500px;position:absolute}.hero-glow.one{background:var(--blue);top:-170px;right:-180px}.hero-glow.two{background:var(--cyan);bottom:-400px;left:25%}.hero-copy{z-index:1;max-width:810px;position:relative}.eyebrow,.section-kicker,.detail-tag,.card-top,.card-bottom,.timeline-period,.skill-count,.lang-label,footer{letter-spacing:.12em;font:500 10px DM Mono,monospace}.eyebrow{color:var(--cyan);margin-bottom:26px}.pulse{background:var(--cyan);border-radius:50%;width:7px;height:7px;margin-right:9px;display:inline-block;box-shadow:0 0 0 5px #8de3d821}.hero h1{letter-spacing:-.075em;max-width:850px;margin:0 0 29px;font-size:clamp(48px,7vw,94px);line-height:.98}.hero h1 em,.contact h2 em{color:var(--cyan);font-style:normal}.hero-lead{color:#c0c8d0;max-width:630px;margin:0 0 36px;font-size:18px;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.button{border-radius:30px;align-items:center;gap:24px;padding:15px 20px;font-size:13px;font-weight:700;display:inline-flex}.button.primary{background:var(--cyan);color:var(--ink)}.button.secondary{color:#fff;border:1px solid #3c4753}.button span{font-size:18px}.hero-stats{gap:44px;margin-top:85px;display:flex}.hero-stats div{flex-direction:column;gap:7px;display:flex}.hero-stats strong{color:var(--cyan);letter-spacing:-.06em;font-size:25px}.hero-stats span{color:#87919c;letter-spacing:.1em;font:500 9px DM Mono,monospace}.hero-card{background:#202933;justify-self:end;max-width:300px;padding:20px 22px;position:relative;transform:rotate(4deg);box-shadow:25px 25px #8de3d821}.card-top,.card-bottom{color:#93a0ab;justify-content:space-between;font-size:9px;display:flex}.portrait-wrap{background:linear-gradient(135deg,#dce8e6,#7f99a3);place-items:center;height:285px;margin:28px 0 22px;display:grid;position:relative;overflow:hidden}.portrait-wrap img{object-fit:contain;filter:grayscale();mix-blend-mode:multiply;z-index:1;width:85%;height:85%;position:relative}.ring{border:1px solid #ffffff80;border-radius:50%;width:245px;height:245px;position:absolute}.card-name{letter-spacing:-.08em;margin-bottom:32px;font-size:30px;font-weight:800;line-height:.92}.card-name span{color:var(--cyan)}.card-bottom{border-top:1px solid #3c4753;padding-top:12px;font-size:8px}.section{padding:clamp(80px,10vw,150px) clamp(24px,9vw,140px)}.section-kicker{color:var(--blue);margin-bottom:35px}.intro{background:#fff}.intro-grid{grid-template-columns:1fr 1fr;gap:10vw;display:grid}.intro h2,.section-heading h2{letter-spacing:-.07em;margin:0;font-size:clamp(40px,5.5vw,76px);line-height:1.03}.intro h2 span,.section-heading h2 span{color:var(--blue)}.intro-grid>div{max-width:580px}.large-copy{letter-spacing:-.03em;margin:0 0 22px;font-size:22px;font-weight:600;line-height:1.5}.intro p:not(.large-copy){color:var(--muted);line-height:1.75}.quote{border-left:2px solid var(--cyan);color:#42505a;margin-top:34px;padding:14px 0 14px 18px;font:500 13px DM Mono,monospace}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:60px;display:flex}.section-heading p{max-width:320px;color:var(--muted);margin:0;line-height:1.7}.timeline-section{background:var(--paper)}.timeline-layout{grid-template-columns:1fr 1fr;gap:7vw;display:grid}.timeline-list{border-top:1px solid var(--line)}.timeline-item{text-align:left;border-bottom:1px solid var(--line);width:100%;color:var(--muted);background:0 0;grid-template-columns:16px 1.25fr 1fr 1fr 18px;align-items:center;gap:15px;padding:19px 0;transition:all .2s;display:grid}.timeline-item.active{color:var(--ink);padding-left:10px}.timeline-dot{background:#c6cdd3;border-radius:50%;width:7px;height:7px}.active .timeline-dot{background:var(--orange);box-shadow:0 0 0 5px #ff795e24}.timeline-role{font-size:14px;font-weight:800}.timeline-company{font-size:13px}.timeline-period{font-size:9px;line-height:1.4}.arrow{color:var(--blue);opacity:0;font-size:20px}.active .arrow{opacity:1}.role-detail{background:var(--ink);color:#fff;min-height:390px;padding:38px;position:relative;overflow:hidden}.role-detail:after{content:"";border:1px solid #394651;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-100px;right:-105px}.detail-tag{color:var(--cyan);border:1px solid #3c5860;border-radius:20px;margin-bottom:46px;padding:8px 11px;display:inline-block}.detail-period{color:#8c98a4;margin-bottom:13px;font:500 10px DM Mono,monospace}.role-detail h3{letter-spacing:-.06em;z-index:1;margin:0 0 20px;font-size:31px;position:relative}.role-detail h3 span{color:var(--cyan);font-size:18px}.role-detail p{color:#b4bec6;z-index:1;max-width:520px;font-size:14px;line-height:1.75;position:relative}.tag-list{z-index:1;flex-wrap:wrap;gap:7px;margin-top:24px;display:flex;position:relative}.tag-list span,.project-tags span{color:#9aa6b0;border:1px solid #3b4651;border-radius:20px;padding:7px 9px;font:500 9px DM Mono,monospace}.detail-index{color:#74808a;font:500 12px DM Mono,monospace;position:absolute;top:35px;right:30px}.detail-index i{color:var(--cyan);font-style:normal}.stack-section{background:#fff}.skill-search{border-bottom:1px solid var(--ink);align-items:center;gap:14px;margin-bottom:45px;padding:16px 0;display:flex}.skill-search span:first-child{font-size:25px}.skill-search input{background:0 0;border:0;outline:0;flex:1;font:500 14px DM Mono,monospace}.skill-count{color:var(--muted);font-size:9px}.skill-grid{grid-template-columns:repeat(5,1fr);gap:22px;display:grid}.skill-group{border-top:2px solid var(--ink);padding-top:17px}.skill-group h3{margin:0 0 20px;font-size:13px}.skill-group>div{flex-direction:column;gap:8px;display:flex}.skill-pill{color:var(--muted);font-size:13px}.skill-pill:before{content:"↗";color:var(--blue);margin-right:8px;font-size:11px}.languages{border-top:1px solid var(--line);gap:60px;margin-top:75px;padding-top:25px;display:flex}.languages div{flex-direction:column;gap:5px;display:flex}.languages strong{font-size:14px}.languages span:not(.lang-label){color:var(--muted);font-size:12px}.lang-label{color:var(--orange);margin-right:25px}.projects{background:var(--paper)}.project-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.project-card{background:#fff;min-height:250px;padding:28px;transition:all .25s;position:relative}.project-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #10151d14}.project-number{color:var(--orange);margin-bottom:55px;font:500 11px DM Mono,monospace}.project-card h3{letter-spacing:-.06em;margin:0 0 13px;font-size:22px}.project-card p{color:var(--muted);max-width:440px;margin:0 0 22px;font-size:13px;line-height:1.65}.project-tags{flex-wrap:wrap;gap:6px;display:flex}.project-tags span{border-color:var(--line);color:#6b7782}.project-corner{color:var(--blue);font-size:20px;position:absolute;top:26px;right:27px}.text-button{color:var(--blue);text-transform:uppercase;letter-spacing:.1em;background:0 0;margin:38px auto 0;font:500 11px DM Mono,monospace;display:block}.text-button span{margin-left:10px;font-size:16px}.contact{background:var(--ink);color:#fff;text-align:center;position:relative;overflow:hidden}.contact:before{content:"";border:1px solid #2c3741;border-radius:50%;width:600px;height:600px;position:absolute;top:-360px;left:calc(50% - 300px)}.contact-inner{z-index:1;position:relative}.contact .section-kicker{color:var(--cyan)}.contact h2{letter-spacing:-.08em;margin:20px auto 32px;font-size:clamp(55px,8vw,110px);line-height:.92}.contact p{color:#a9b4bd;max-width:440px;margin:0 auto 35px;line-height:1.7}.contact-link{color:var(--cyan);letter-spacing:-.04em;border-bottom:1px solid #8de3d866;padding-bottom:5px;font-size:clamp(18px,3vw,30px);font-weight:700;display:inline-block}.contact-link span{margin-left:12px;font-size:20px}.contact-meta{color:#798690;text-transform:uppercase;letter-spacing:.08em;justify-content:center;gap:30px;margin-top:75px;font:500 10px DM Mono,monospace;display:flex}footer{color:#6f7b84;background:#090d12;justify-content:space-between;padding:22px clamp(24px,9vw,140px);font-size:9px;display:flex}footer b{color:var(--cyan);margin-left:7px;font-size:14px}@media (width<=900px){.hero{grid-template-columns:1fr}.hero-card{justify-self:start;display:none}.hero-stats{margin-top:55px}.intro-grid,.timeline-layout{grid-template-columns:1fr;gap:45px}.skill-grid{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.section-heading p{margin-top:22px}.nav-links{gap:16px}}@media (width<=620px){.nav{height:66px}.brand span:last-child{display:none}.menu-button{color:var(--ink);display:block}.nav-links{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:20px 24px;display:none;position:absolute;top:66px;left:0;right:0}.nav-links.open{display:flex}.hero{min-height:auto;padding-top:90px}.hero h1{font-size:53px}.hero-lead{font-size:16px}.hero-stats{gap:22px}.hero-stats span{font-size:7px}.timeline-item{grid-template-columns:12px 1fr 18px}.timeline-company,.timeline-period{display:none}.role-detail{min-height:420px;padding:25px}.skill-grid,.project-grid{grid-template-columns:1fr}.languages{flex-wrap:wrap;gap:20px}.lang-label{width:100%;margin:0}.contact-meta{flex-direction:column;gap:14px;margin-top:55px}footer{flex-direction:column;gap:12px}}.languages{display:block!important}.languages-heading{margin-bottom:22px}.languages-list{grid-template-columns:repeat(3,1fr);gap:60px;display:grid}.languages-list>div{flex-direction:column;gap:5px;display:flex}@media (width<=620px){.languages-list{grid-template-columns:1fr;gap:20px}}.contact-form{text-align:left;max-width:760px;margin:38px auto 0}.contact-form-grid{grid-template-columns:1fr 1fr;gap:18px 20px;display:grid}.contact-form label{color:#cbd3da;letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:8px;font:500 10px DM Mono,monospace;display:flex}.contact-form input{color:#fff;text-transform:none;background:#151d25;border:1px solid #3c4753;border-radius:2px;outline:none;width:100%;padding:14px 15px;font:400 14px Manrope,Arial,sans-serif}.contact-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #8de3d81f}.contact-form>label{margin-top:18px}.contact-submit{background:var(--cyan);color:var(--ink);border-radius:30px;align-items:center;gap:18px;margin-top:25px;padding:14px 20px;font-size:13px;font-weight:800;display:inline-flex}.contact-submit:disabled{opacity:.65;cursor:wait}.contact-error{color:#ff9d8a!important;margin:18px 0 0!important;font-size:12px!important}.contact-success{background:#151d25;border:1px solid #3c5860;flex-direction:column;gap:10px;max-width:520px;margin:45px auto 25px;padding:28px;display:flex}.contact-success strong{color:var(--cyan);font-size:18px}.contact-success span{color:#b4bec6;font-size:14px}.project-card p{white-space:pre-line}@media (width<=620px){.contact-form-grid{grid-template-columns:1fr}.contact-form{margin-top:30px}}.languages-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 60px;display:grid!important}.languages-grid strong{font-size:14px}.languages-grid span{color:var(--muted);font-size:12px}@media (width<=620px){.languages-grid{column-gap:12px}.languages-grid strong,.languages-grid span{font-size:11px}}.language-toggle{color:inherit;font:inherit;text-transform:uppercase;letter-spacing:.03em;background:0 0;align-items:center;gap:8px;padding:9px 0;display:inline-flex}.language-toggle:hover{color:var(--ink)}.language-icon{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.role-description{white-space:pre-line}.role-context{z-index:1;margin-top:28px;display:block;position:relative}.role-context h4{letter-spacing:.1em;color:#74808a;margin:0 0 12px;font:500 9px DM Mono,monospace}.context-list{flex-wrap:nowrap;gap:7px;display:flex}.context-list span,.context-list a,.context-list button{color:#d9e0e5;border:1px solid #3b4651;border-radius:20px;padding:7px 9px;font-size:11px}.context-list button{color:var(--cyan);background:0 0;border-color:#3c5860;transition:all .2s}.context-list button:hover{background:var(--cyan);color:var(--ink)}.context-list button span{border:0;margin-left:3px;padding:0;font-size:12px}@media (width<=620px){.context-list{flex-wrap:wrap}}.project-client{color:var(--blue);text-transform:uppercase;letter-spacing:.06em;z-index:1;border-bottom:1px solid #5b78ff59;margin:-3px 0 16px;padding-bottom:3px;font:500 10px DM Mono,monospace;display:inline-block;position:relative}.project-client span{margin-left:5px;font-size:13px}.project-client:hover{color:var(--orange);border-color:var(--orange)}.project-clients{flex-wrap:wrap;gap:7px;margin:-3px 0 16px;display:flex}.project-clients span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);border-radius:20px;padding:7px 9px;font:500 10px DM Mono,monospace}.skill-grid{grid-template-columns:repeat(6,1fr)}@media (width<=1200px){.skill-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=620px){.skill-grid{grid-template-columns:1fr}}.portrait-wrap img{object-fit:cover;filter:none;mix-blend-mode:normal;width:100%;height:100%}
