:root{color:#171717;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--color-background:#f8f8f6;--color-surface:#fff;--color-text:#171717;--color-text-muted:#686868;--color-border:#deded9;--color-accent:#171717;--container-width:1180px;--section-padding:64px;--navbar-height:76px;background:#f8f8f6;font-family:Inter,Arial,Helvetica,sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--color-background);min-width:320px;color:var(--color-text);line-height:1.6;animation:.6s both page-load;overflow-x:hidden}body,button,input,textarea{font-family:inherit}a{color:inherit;text-decoration:none}:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:4px;outline:2px solid}button{border:0}img{max-width:100%;display:block}ul{list-style:none}section[id]{scroll-margin-top:calc(var(--navbar-height) + 32px)}.app{min-height:100vh;overflow-x:hidden}@keyframes page-load{0%{opacity:0}to{opacity:1}}.container{width:min(100% - 40px, var(--container-width));margin-inline:auto}.section{padding-block:var(--section-padding)}.section-heading{max-width:800px;margin-bottom:36px}.section-heading--split{grid-template-columns:minmax(0,1fr) 320px;gap:80px;max-width:none;display:grid}.section-heading--split>p{color:var(--color-text-muted);align-self:end}.section-heading_eyebrow,.hero_eyebrow{color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600}.section-heading h2{letter-spacing:-.065em;max-width:850px;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.95}.skip-link{z-index:1000;background:var(--color-text);color:#fff;padding:12px 16px;font-size:.8rem;font-weight:700;transition:transform .2s;position:fixed;top:15px;left:15px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.reveal{--reveal-delay:0s}html.js .reveal{opacity:0;transition:opacity .7s,transform .7s;transition-delay:var(--reveal-delay);transform:translateY(28px)}html.js .reveal.reveal--visible{opacity:1;transform:translateY(0)}.navbar{z-index:100;-webkit-backdrop-filter:blur(14px);background:#f8f8f6eb;border:1px solid #deded9e6;border-radius:14px;width:min(100% - 32px,1180px);position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000000f}.navbar_container{min-height:var(--navbar-height);justify-content:space-between;align-items:center;gap:30px;padding-inline:18px;display:flex}.navbar_logo{border:1px solid var(--color-text);letter-spacing:-.05em;place-items:center;width:42px;height:42px;font-size:.8rem;font-weight:800;transition:transform .2s;display:grid}.navbar_logo:hover{transform:translateY(-2px)}.navbar_actions{align-items:center;gap:12px;display:flex}.navbar_menu-button{border:1px solid var(--color-border);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:42px;height:42px;display:none}.navbar_menu-button span{background:var(--color-text);width:17px;height:1px;transition:transform .2s,opacity .2s}.navbar_menu-button--open span:first-child{transform:translateY(3.5px)rotate(45deg)}.navbar_menu-button--open span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.navbar_nav{align-items:center;gap:28px;display:flex}.navbar_nav a{color:var(--color-text-muted);font-size:.88rem;font-weight:500;transition:color .2s;position:relative}.navbar_nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .25s;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}.navbar_nav a:hover:after,.navbar_nav a.active:after{transform-origin:0;transform:scaleX(1)}.navbar_nav a:hover{color:var(--color-text)}.navbar_nav a.active{color:var(--color-text);font-weight:700}.navbar_cta{border:1px solid var(--color-text);padding:10px 18px;font-size:.85rem;font-weight:600;transition:background .2s,color .2s}.navbar_cta:hover{background:var(--color-text);color:#fff}.button{border:1px solid #0000;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-size:.78rem;font-weight:700;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button--primary{background:var(--color-text);color:#fff}.button--primary:hover{background:#303030}.button--secondary{border-color:var(--color-border);color:var(--color-text);background:0 0}.button--secondary:hover{border-color:var(--color-text);background:var(--color-surface)}.hero{min-height:auto;padding-top:calc(var(--navbar-height) + 18px);align-items:center;padding-bottom:clamp(52px,6vw,80px);display:flex}.hero_container{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:clamp(40px,6vw,80px);display:grid}.hero_content{max-width:760px}.hero_eyebrow{color:var(--color-text-muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:20px;font-size:.75rem;font-weight:700}.hero h1{letter-spacing:-.07em;max-width:800px;font-size:clamp(3.8rem,7vw,7rem);line-height:.91}.hero h1 span{color:var(--color-text-muted);display:block}.hero_description{max-width:620px;color:var(--color-text-muted);margin-top:32px;font-size:1.05rem}.hero_actions{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.hero_socials{flex-wrap:wrap;gap:24px;margin-top:34px;display:flex}.hero_socials a{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);padding-bottom:4px;font-size:.82rem;font-weight:600;transition:border-color .2s}.hero_socials a:hover{color:var(--color-text);border-color:var(--color-text)}.hero_visual-reveal{width:100%}.hero_visual{justify-content:flex-end;display:flex}.hero_portrait{aspect-ratio:4/5;border:1px solid var(--color-border);background:var(--color-surface);width:min(100%,430px);transition:transform .5s,box-shadow .5s;position:relative;overflow:hidden}.hero_portrait:hover{transform:translateY(-6px);box-shadow:0 18px 45px #00000014}.hero_portrait-image{object-fit:contain;object-position:center bottom;width:auto;max-width:none;height:100%;transition:opacity .45s;position:absolute;bottom:0;right:50%;transform:translate(50%)}.hero_portrait-image--bw{opacity:1}.hero_portrait-image--color,.hero_portrait:hover .hero_portrait-image--bw{opacity:0}.hero_portrait:hover .hero_portrait-image--color{opacity:1}.about{border-top:1px solid var(--color-border)}.about_content{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:100px;display:grid}.about_text{max-width:700px}.about_text p{color:var(--color-text-muted);margin-bottom:24px;font-size:1.08rem}.about_details{border-top:1px solid var(--color-border)}.about_detail{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:20px;padding:18px 0;display:flex}.about_detail span{color:var(--color-text-muted);font-size:.85rem}.about_detail strong{text-align:right;font-size:.85rem}.skills{background:#f1f1ee}.skills_grid{border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.skill-card{border:1px solid var(--color-border);background:var(--color-surface);height:100%;padding:30px;transition:transform .25s,border-color .25s,box-shadow .25s}.skill-card:hover{border-color:#bcbcb6;transform:translateY(-5px);box-shadow:0 15px 35px #0000000d}.skill-card_number{color:var(--color-text-muted);margin-bottom:35px;font-family:JetBrains Mono,monospace;font-size:.72rem;display:block}.skill-card h3{letter-spacing:-.025em;margin-bottom:12px;font-size:1.35rem}.skill-card p{max-width:420px;color:var(--color-text-muted)}.skill-card_technologies{flex-wrap:wrap;gap:7px;margin-top:24px;display:flex}.skill-card_technologies span{border:1px solid var(--color-border);padding:5px 9px;font-size:.7rem;font-weight:600}.projects{background:var(--color-background)}.projects_filters{flex-wrap:wrap;gap:8px;margin-bottom:35px;display:flex}.projects_filter{border:1px solid var(--color-border);min-height:40px;color:var(--color-text-muted);cursor:pointer;background:0 0;padding:9px 15px;font-size:.75rem;font-weight:600;transition:background .2s,color .2s,border-color .2s}.projects_filter:hover{border-color:var(--color-text);color:var(--color-text)}.projects_filter--active{border-color:var(--color-text);background:var(--color-text);color:#fff}.projects_grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);display:grid}.project-card{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;transition:transform .25s,border-color .25s;position:relative;overflow:hidden}.project-reveal--featured{grid-column:1/-1}.project-reveal--featured .project-card_image-wrapper{aspect-ratio:21/9}.project-reveal--featured .project-card_content{padding:clamp(30px,4vw,50px)}.project-reveal--featured .project-card h3{font-size:clamp(1.8rem,3vw,2.4rem)}.project-reveal--featured .project-card p{max-width:760px}.project-card:hover{border-color:#bcbcb6;transform:translateY(-4px)}.project-card_image-wrapper{aspect-ratio:16/10;border-bottom:1px solid var(--color-border);background:#eeeeeb;position:relative;overflow:hidden}.project-card_image-wrapper:after{content:"";opacity:0;pointer-events:none;background:#0000000a;transition:opacity .3s;position:absolute;inset:0}.project-card:hover .project-card_image-wrapper:after{opacity:1}.project-card_image{object-fit:cover;width:100%;height:100%;transition:transform .4s}.project-card_image-placeholder{border:1px solid var(--color-border);background:var(--color-surface);min-height:100%;color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;padding:30px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;display:flex}.project-card:hover .project-card_image{transform:scale(1.03)}.project-card--building .project-card_image-wrapper{background:var(--color-surface)}.project-card_building{color:#f5f5f2;background:#151515;flex-direction:column;justify-content:space-between;min-height:100%;padding:clamp(25px,4vw,50px);display:flex;position:relative;overflow:hidden}.project-card_building:before{content:"";pointer-events:none;background-image:linear-gradient(90deg,#ffffff0e 1px,#0000 1px),linear-gradient(#ffffff0e 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0}.project-card_building:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff12,#0000 55%);position:absolute;inset:0}.project-card_building-number,.project-card_building-mark{z-index:1;letter-spacing:.08em;text-transform:uppercase;color:#f5f5f28c;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;font-weight:600;position:relative}.project-card_building-content{z-index:1;max-width:650px;margin:auto 0;padding:60px 0;position:relative}.project-card_building-content h3{letter-spacing:-.055em;margin:12px 0 10px;font-size:clamp(2.4rem,6vw,5.5rem);line-height:.95}.project-card_building-content p{color:#f5f5f29e;max-width:420px;margin:0}.project-card_status{letter-spacing:.08em;text-transform:uppercase;color:#f5f5f2ad;align-items:center;gap:7px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;font-weight:600;display:inline-flex}.project-card_status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.project-card_building-mark{align-self:flex-end}.project-card_number{z-index:2;background:var(--color-text);color:#fff;place-items:center;width:42px;height:42px;font-size:.72rem;font-weight:700;transition:transform .25s,opacity .25s;display:grid;position:absolute;top:18px;left:18px}.project-card:hover .project-card_number{transform:translateY(-3px)}.project-card_content{padding:30px}.project-card_meta{justify-content:space-between;gap:15px;margin-bottom:18px;display:flex}.project-card_meta span{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.project-card_meta span:last-child{color:var(--color-text)}.project-card h3{letter-spacing:-.035em;margin-bottom:14px;font-size:1.55rem}.project-card p{max-width:600px;min-height:80px;color:var(--color-text-muted);font-size:.92rem}.project-card_technologies{flex-wrap:wrap;gap:7px;margin-top:24px;padding:0;list-style:none;display:flex}.project-card_technologies li{border:1px solid var(--color-border);padding:5px 9px;font-size:.7rem;font-weight:600}.project-card_links{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:24px;margin-top:28px;padding-top:20px;display:flex}.project-card_links a{font-size:.8rem;font-weight:700;position:relative}.project-card_links a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .25s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.project-card_links a:hover:after{transform-origin:0;transform:scaleX(1)}.projects_empty{border:1px solid var(--color-border);text-align:center;padding:80px 20px}.projects_empty p{color:var(--color-text-muted)}.projects_footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:30px;margin-top:40px;padding-top:25px;display:flex}.projects_footer p{color:var(--color-text-muted);font-size:.82rem}.projects_github{font-size:.82rem;font-weight:700;position:relative}.projects_github:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .25s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.projects_github:hover:after{transform-origin:0;transform:scaleX(1)}.experience{background:#f1f1ee}.experience_timeline{border-top:1px solid var(--color-border)}.experience-item{border-top:1px solid var(--color-border);grid-template-columns:180px minmax(0,1fr);gap:50px;padding-block:35px;transition:padding-left .25s;display:grid}.experience-item:hover{padding-left:8px}.experience-item_year{color:var(--color-text-muted);font-family:JetBrains Mono,monospace;font-size:.75rem}.experience-item_content h3{margin-bottom:10px;font-size:1.2rem}.experience-item_content p{max-width:680px;color:var(--color-text-muted)}.contact{background:var(--color-text);color:#fff}.contact_container{background:var(--color-text);color:#fff;align-items:center;min-height:500px;padding:80px;display:flex}.contact_content{max-width:750px}.contact .section-heading_eyebrow{color:#aaa}.contact h2{letter-spacing:-.055em;margin-bottom:25px;font-size:clamp(2.8rem,6vw,5.5rem);line-height:.98}.contact_content>p:not(.section-heading_eyebrow){color:#bdbdbd;max-width:600px;margin-bottom:35px}.contact_actions{flex-wrap:wrap;gap:12px;display:flex}.contact .button--primary{color:var(--color-text);background:#fff}.contact .button--primary:hover{background:#ddd}.contact a:focus-visible,.contact button:focus-visible{outline-color:#fff}.button--outline-light{color:#fff;border:1px solid #555}.button--outline-light:hover{border-color:#fff}.footer{border-top:1px solid var(--color-border);background:var(--color-background)}.footer_container{justify-content:space-between;align-items:center;gap:40px;min-height:120px;display:flex}.footer_name{font-size:.9rem;font-weight:700}.footer_description{color:var(--color-text-muted);margin-top:4px;font-size:.75rem}.footer_links{align-items:center;gap:24px;display:flex}.footer_links a{color:var(--color-text-muted);font-size:.78rem;font-weight:600;transition:color .2s;position:relative}.footer_links a:hover{color:var(--color-text)}.back-to-top{z-index:50;border:1px solid var(--color-text);background:var(--color-text);color:#fff;cursor:pointer;place-items:center;width:48px;height:48px;transition:transform .2s,background .2s;display:grid;position:fixed;bottom:25px;right:25px}.back-to-top:hover{background:#333;transform:translateY(-3px)}@media (width<=374px){:root{--section-padding:44px;--navbar-height:68px}.container{width:min(100% - 28px, var(--container-width))}.navbar{width:calc(100% - 20px);top:10px}.navbar_container{min-height:var(--navbar-height);padding-inline:14px}.navbar_cta{display:none}.navbar_menu-button{width:40px;height:40px;display:flex}.navbar_nav{border:1px solid var(--color-border);background:var(--color-background);opacity:0;visibility:hidden;border-radius:12px;flex-direction:column;align-items:flex-start;gap:16px;padding:20px;transition:opacity .2s,visibility .2s,transform .2s;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;transform:translateY(-10px);box-shadow:0 12px 30px #00000014}.navbar_nav--open{opacity:1;visibility:visible;transform:translateY(0)}.navbar_nav a{padding-block:5px}.hero{padding-top:calc(var(--navbar-height) + 14px);padding-bottom:42px}.hero_container{grid-template-columns:1fr;gap:34px}.hero h1{font-size:3rem}.hero_description{margin-top:24px;font-size:.92rem}.hero_actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:28px}.hero_actions .button{width:100%}.hero_socials{gap:16px;margin-top:26px}.hero_visual{justify-content:center}.hero_portrait{width:230px}.section{padding-block:44px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:2.5rem}.section-heading--split{display:block}.section-heading--split>p{margin-top:18px}.about_content{grid-template-columns:1fr;gap:40px}.skills_grid{grid-template-columns:1fr}.skill-card{min-height:220px;padding:22px}.skill-card_number{margin-bottom:35px}.projects_grid{grid-template-columns:1fr;gap:20px}.project-reveal--featured{grid-column:auto}.project-reveal--featured .project-card_image-wrapper{aspect-ratio:16/10}.project-reveal--featured .project-card_content{padding:22px}.project-reveal--featured .project-card h3{font-size:1.7rem}.project-card_content{padding:20px}.project-card_meta{flex-direction:column;align-items:flex-start;gap:7px}.project-card h3{font-size:1.35rem}.project-card p{min-height:auto;font-size:.88rem}.project-card_links{gap:16px}.project-card_number{width:38px;height:38px;top:14px;left:14px}.project-card_building{padding:22px}.project-card_building-content{padding:32px 0}.project-card_building-content h3{font-size:2.5rem}.projects_footer{flex-direction:column;align-items:flex-start;gap:15px}.experience-item{grid-template-columns:1fr;gap:12px;padding-block:28px}.contact_container{min-height:420px;padding:45px 20px}.contact_actions{flex-direction:column;align-items:stretch}.contact_actions .button{width:100%}.footer_container{flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;min-height:110px}.footer_links{flex-direction:column;align-items:flex-start;gap:10px}.back-to-top{width:44px;height:44px;bottom:15px;right:15px}}@media (width>=375px) and (width<=430px){:root{--section-padding:48px;--navbar-height:68px}.container{width:min(100% - 32px, var(--container-width))}.navbar{width:calc(100% - 20px);top:10px}.navbar_container{min-height:var(--navbar-height);padding-inline:16px}.navbar_cta{display:none}.navbar_nav{border:1px solid var(--color-border);background:var(--color-background);opacity:0;visibility:hidden;border-radius:12px;flex-direction:column;align-items:flex-start;gap:16px;padding:20px;transition:opacity .2s,visibility .2s,transform .2s;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;transform:translateY(-10px);box-shadow:0 12px 30px #00000014}.navbar_nav--open{opacity:1;visibility:visible;transform:translateY(0)}.navbar_nav a{padding-block:5px}.navbar_menu-button{display:flex}.hero{padding-top:calc(var(--navbar-height) + 18px);padding-bottom:48px}.hero_container{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(3rem,15vw,4.8rem)}.hero_description{margin-top:26px;font-size:.98rem}.hero_actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:30px}.hero_actions .button{width:100%}.hero_socials{gap:18px;margin-top:28px}.hero_visual{justify-content:center}.hero_portrait{width:min(100%,320px)}.section{padding-block:48px}.section-heading{margin-bottom:30px}.section-heading--split{display:block}.section-heading--split>p{margin-top:18px}.section-heading h2{font-size:clamp(2.5rem,13vw,4rem)}.about_content{grid-template-columns:1fr;gap:45px}.about_text p{font-size:1rem}.skills_grid{grid-template-columns:1fr}.skill-card{min-height:240px;padding:25px}.skill-card_number{margin-bottom:45px}.projects_grid{grid-template-columns:1fr;gap:20px}.project-reveal--featured{grid-column:auto}.project-reveal--featured .project-card_image-wrapper{aspect-ratio:16/10}.project-reveal--featured .project-card_content{padding:30px 25px}.project-reveal--featured .project-card h3{font-size:clamp(1.7rem,7vw,2rem)}.project-card_content{padding:24px}.project-card_meta{flex-direction:column;align-items:flex-start;gap:7px}.project-card h3{font-size:1.4rem}.project-card p{min-height:auto;font-size:.88rem}.project-card_links{gap:18px}.project-card_building{padding:28px}.project-card_building-content{padding:40px 0}.project-card_building-content h3{font-size:clamp(2.5rem,14vw,4rem)}.projects_footer{flex-direction:column;align-items:flex-start;gap:15px}.experience-item{grid-template-columns:1fr;gap:12px;padding-block:28px}.contact_container{min-height:420px;padding:50px 25px}.contact h2{font-size:clamp(2.7rem,13vw,4.5rem)}.contact_actions{flex-direction:column;align-items:stretch}.contact_actions .button{width:100%}.footer_container{min-height:110px;padding-block:30px}.footer_links{gap:15px}.back-to-top{width:44px;height:44px;bottom:15px;right:15px}.reveal{transform:translateY(18px)}}@media (width>=431px) and (width<=767px){:root{--section-padding:54px;--navbar-height:68px}.container{width:min(100% - 40px, var(--container-width))}.navbar{width:calc(100% - 24px);top:12px}.navbar_container{min-height:var(--navbar-height);padding-inline:18px}.navbar_cta{display:none}.navbar_nav{border:1px solid var(--color-border);background:var(--color-background);opacity:0;visibility:hidden;border-radius:12px;flex-direction:column;align-items:flex-start;gap:16px;padding:20px;transition:opacity .2s,visibility .2s,transform .2s;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;transform:translateY(-10px);box-shadow:0 12px 30px #00000014}.navbar_nav--open{opacity:1;visibility:visible;transform:translateY(0)}.navbar_nav a{padding-block:5px}.navbar_menu-button{display:flex}.hero{padding-top:calc(var(--navbar-height) + 20px);padding-bottom:56px}.hero_container{grid-template-columns:1fr;gap:48px}.hero h1{font-size:clamp(3.4rem,11vw,5.5rem)}.hero_description{max-width:650px;margin-top:28px}.hero_actions{margin-top:32px}.hero_visual{justify-content:center}.hero_portrait{width:min(100%,340px)}.section{padding-block:54px}.section-heading{margin-bottom:34px}.section-heading--split{display:block}.section-heading--split>p{max-width:650px;margin-top:18px}.about_content{grid-template-columns:1fr;gap:50px}.skills_grid{grid-template-columns:1fr}.projects_grid{grid-template-columns:1fr;gap:24px}.project-reveal--featured{grid-column:auto}.project-reveal--featured .project-card_image-wrapper,.project-card_image-wrapper{aspect-ratio:16/10;height:auto;min-height:0}.project-reveal--featured .project-card_content{padding:32px}.project-card_content{padding:28px}.project-card p{min-height:auto}.project-card_building{min-height:0;padding:32px}.project-card_building-content{padding:45px 0}.project-card_building-content h3{font-size:clamp(3rem,11vw,4.8rem)}.experience-item{grid-template-columns:130px minmax(0,1fr);gap:25px}.contact_container{min-height:430px;padding:60px 35px}.footer_container{flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;min-height:110px}.footer_links{flex-wrap:wrap;gap:18px}}@media (width>=768px) and (width<=1023px){:root{--section-padding:60px}.container{width:min(100% - 56px, var(--container-width))}.navbar{width:min(100% - 32px,1180px)}.navbar_menu-button{display:flex}.navbar_nav{border:1px solid var(--color-border);background:var(--color-background);opacity:0;visibility:hidden;border-radius:12px;flex-direction:column;align-items:flex-start;gap:16px;padding:20px;transition:opacity .2s,visibility .2s,transform .2s;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;transform:translateY(-10px);box-shadow:0 12px 30px #00000014}.navbar_nav--open{opacity:1;visibility:visible;transform:translateY(0)}.navbar_nav a{padding-block:5px}.hero{padding-top:calc(var(--navbar-height) + 22px);padding-bottom:64px}.hero_container{grid-template-columns:1fr;gap:50px}.hero_visual{justify-content:center}.hero_portrait{width:min(100%,360px)}.section{padding-block:60px}.section-heading{margin-bottom:36px}.section-heading--split{display:block}.section-heading--split>p{max-width:650px;margin-top:18px}.about_content{grid-template-columns:1fr;gap:50px}.projects_grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-reveal--featured{grid-column:1/-1}.project-reveal--featured .project-card_image-wrapper{aspect-ratio:21/10}.project-card p{min-height:auto}.contact_container{padding:70px 50px}}@media (width>=1024px) and (width<=1279px){:root{--section-padding:64px}.container{width:min(100% - 64px, var(--container-width))}.navbar{width:min(100% - 32px,1180px)}.hero{padding-top:calc(var(--navbar-height) + 22px);padding-bottom:68px}.hero_container{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:56px}.hero h1{font-size:clamp(3.6rem,6vw,6rem)}.about_content{gap:70px}.section-heading--split{gap:50px}.section{padding-block:64px}}@media (width>=1280px) and (width<=1535px){:root{--section-padding:68px}.container{width:min(100% - 64px, var(--container-width))}.hero{padding-top:calc(var(--navbar-height) + 24px);padding-bottom:72px}.hero_container{gap:64px}.section{padding-block:68px}}@media (width>=1536px){:root{--section-padding:72px}.hero{padding-top:calc(var(--navbar-height) + 26px);padding-bottom:76px}.section{padding-block:72px}}@media (hover:none){.navbar_logo:hover,.button:hover,.hero_portrait:hover,.skill-card:hover,.project-card:hover,.back-to-top:hover{transform:none}.skill-card:hover,.hero_portrait:hover{box-shadow:none}.project-card:hover .project-card_image{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.js .reveal,html.js .reveal.reveal--visible{opacity:1;transition:none;transform:none}.hero_portrait,.hero_portrait-image{transition:none}.hero_portrait:hover{box-shadow:none;transform:none}.hero_portrait-image--bw{opacity:1}.hero_portrait-image--color{opacity:0}}
