:root{color:#20231f;background:#f4f3ee;font-family:DM Sans,Arial,sans-serif;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#f4f3ee}a{color:inherit;text-underline-offset:.22em}a:hover{color:#426454}a:focus-visible,button:focus-visible{outline:3px solid #d49d5d;outline-offset:4px}#root{width:min(1120px,calc(100% - 3rem));margin:0 auto;padding:1.4rem 0 2.5rem}#head{display:flex;align-items:center;justify-content:space-between;padding:.35rem 0 3.6rem}.wordmark{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;background:#20231f;color:#f7f4ee;font:500 .85rem DM Mono,monospace;letter-spacing:.04em;text-decoration:none}.links{display:flex;align-items:center;gap:1.5rem}.links a{color:#565a53;font:500 .78rem DM Mono,monospace;text-decoration:none}.links a:hover{color:#20231f;text-decoration:underline}.theme-toggle{display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid #cdd0c9;border-radius:50%;background:transparent;color:#20231f;cursor:pointer;transition:.16s ease}.theme-toggle:hover{border-color:#20231f;background:#20231f;color:#fffdf8;transform:translateY(-2px)}.theme-toggle svg{width:1rem;height:1rem}.header_mob{display:none}main{display:grid;gap:5rem}section{scroll-margin-top:1.5rem}#hero{padding:2.75rem 0 1rem}.hero>.flex{display:grid;grid-template-columns:230px 1fr;align-items:center;gap:clamp(2rem,7vw,7rem)}#face{width:min(100%,210px);aspect-ratio:1;object-fit:cover;border-radius:50% 50% 46% 46%;display:block;box-shadow:12px 13px #d6e0d4}.about-context>p:first-child{margin:0 0 .65rem;color:#667066;font:.8rem DM Mono,monospace;text-indent:0}.namae{margin:0 0 1.25rem;font-size:clamp(3.7rem,9vw,7.4rem);font-weight:600;line-height:.86;letter-spacing:-.05rem}.career{display:inline-block;margin:.2rem .45rem .2rem 0;padding:.45rem .7rem;border:1px solid #b8c1b6;border-radius:99px;color:#426454;font:500 .72rem DM Mono,monospace}.top_bio{max-width:760px;margin:3.6rem 0 1.65rem;color:#3f443e;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.65;text-indent:0}.special_links{display:flex;flex-wrap:wrap;gap:.75rem}.looks_like_button{display:inline-flex;align-items:center;gap:.55rem;padding:.8rem 1rem;border:1px solid #20231f;border-radius:.45rem;font:500 .78rem DM Mono,monospace;text-decoration:none;transition:.16s ease}.looks_like_button:hover{background:#20231f;color:#fffdf8;text-decoration:none;transform:translateY(-2px)}#resume{background:#d6e0d4;border-color:#d6e0d4}#resume:hover{background:#426454;border-color:#426454}.section-card{padding-top:1.25rem;border-top:1px solid #cdd0c9}h2{margin:0 0 2.25rem;font:500 .78rem DM Mono,monospace;letter-spacing:.05em;text-transform:uppercase}p{line-height:1.65}#bio>.grid{max-width:810px;padding:0!important}#bio p{margin:0;color:#3f443e;font-size:1.14rem!important;text-indent:0}.three_cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.three_cols>div{padding:0}.techno{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}ul.techno>li{display:flex;align-items:center;gap:.8rem;min-height:4.1rem;padding:.7rem;border:1px solid #d9dcd5;border-radius:.5rem;background:#faf9f5;font-size:.9rem}.techno svg,.techno img{width:1.9rem;height:1.9rem;flex:none}#experience{display:grid;gap:1rem}#experience h2{margin-bottom:.75rem}.experience-list{display:grid;gap:.75rem}.job{display:flex;gap:1rem;padding:1rem 1.25rem;border:1px solid #d9dcd5;border-radius:.5rem;background:#faf9f5}.job-logo{flex:none;width:3rem;height:3rem;margin-top:.15rem;border-radius:.4rem;object-fit:contain}.job-details{display:grid;gap:.15rem;flex:1}.job-position{margin:0;font-size:1.1rem;font-weight:600;text-indent:0}.job-company{margin:0;color:#426454;font:500 .8rem DM Mono,monospace;text-indent:0}.job-duration{margin:0;color:#6b7068;font:.72rem DM Mono,monospace;text-indent:0}.job-summary{margin:.4rem 0 0;color:#555a53;font-size:.9rem;text-indent:0;line-height:1.55}#projects{display:grid;gap:1.25rem}#projects h2{margin-bottom:.75rem}.project{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(250px,.9fr);gap:clamp(1.25rem,4vw,3.5rem);align-items:center;padding:1.8rem 0;border-bottom:1px solid #d9dcd5}.image{position:relative;overflow:hidden;border-radius:.65rem;background:#d6e0d4}.bioimg{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;transition:transform .25s ease}.image:hover .bioimg{transform:scale(1.025)}.image_overlay{position:absolute;right:.75rem;bottom:.75rem;display:flex;gap:.45rem;opacity:0;transform:translateY(8px);transition:.18s ease}.image:hover .image_overlay,.image:focus-within .image_overlay{opacity:1;transform:none}.image_overlay a{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:#20231f}.image_overlay img{width:1.15rem;height:1.15rem;filter:invert(1)}.proj-header{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.75rem}.projName{margin:0;font-size:clamp(1.55rem,3vw,2.15rem);font-weight:600;letter-spacing:-.04em;line-height:1.05;text-indent:0}.status-badge{flex:none;padding:.2rem .55rem;border-radius:99px;font:.65rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.04em;align-self:center}.status-done{background:#d6e0d4;color:#2a5c3a}.status-dev{background:#fce9c8;color:#8a6100}.desc{margin:0;color:#555a53;text-indent:0}.techs{margin:1.1rem 0 .4rem;font:500 .73rem DM Mono,monospace;text-indent:0;text-transform:uppercase}.tech{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}.tech li{padding:.28rem .5rem;border-radius:99px;background:#e5e9e2;color:#426454;font:.7rem DM Mono,monospace}#projects>p{margin:.65rem 0 0;text-align:center}#projects>p a{font:500 .76rem DM Mono,monospace}#contact p{max-width:650px;color:#555a53;text-indent:0}#contact>.grid{display:flex!important;justify-content:flex-start!important;gap:.5rem;margin-top:1.25rem}#contact a{display:grid;place-items:center;width:3.25rem;height:3.25rem;transition:.16s ease}#contact a:hover{background:#20231f;color:#fffdf8;transform:translateY(-2px)}.foot{margin-top:5rem;padding-top:1.2rem;border-top:1px solid #cdd0c9;color:#6b7068;font:.72rem DM Mono,monospace}.foot p{margin:0;text-indent:0}:root[data-theme=dark]{color:#e8ece5;background:#171a17;color-scheme:dark}:root[data-theme=dark] body{background:#171a17}:root[data-theme=dark] .wordmark{background:#e8ece5;color:#171a17}:root[data-theme=dark] .links a{color:#b9c0b7}:root[data-theme=dark] .links a:hover{color:#f6f7f3}:root[data-theme=dark] .theme-toggle{border-color:#4c554c;color:#e8ece5}:root[data-theme=dark] .theme-toggle:hover{border-color:#e8ece5;background:#e8ece5;color:#171a17}:root[data-theme=dark] a:hover{color:#aed0b4}:root[data-theme=dark] #face{box-shadow:12px 13px #3a5540}:root[data-theme=dark] .about-context>p:first-child,:root[data-theme=dark] .desc,:root[data-theme=dark] #contact p,:root[data-theme=dark] #bio p{color:#bbc3b9}:root[data-theme=dark] .top_bio{color:#d3d8d1}:root[data-theme=dark] .career{border-color:#536153;color:#b9d5bd}:root[data-theme=dark] .looks_like_button{border-color:#d9ded6}:root[data-theme=dark] .looks_like_button:hover{background:#e8ece5;color:#171a17}:root[data-theme=dark] #resume{background:#314534;border-color:#314534;color:#e8ece5}:root[data-theme=dark] #resume:hover{background:#4e7655;border-color:#4e7655}:root[data-theme=dark] .section-card,:root[data-theme=dark] .foot{border-color:#3d453d}:root[data-theme=dark] ul.techno>li{border-color:#3d453d;background:#20251f}:root[data-theme=dark] .job{border-color:#3d453d;background:#20251f}:root[data-theme=dark] .job-company{color:#b9d5bd}:root[data-theme=dark] .job-duration{color:#aeb6ac}:root[data-theme=dark] .job-summary{color:#bbc3b9}:root[data-theme=dark] .project{border-color:#3d453d}:root[data-theme=dark] .status-done{background:#314534;color:#b9d5bd}:root[data-theme=dark] .status-dev{background:#4a3e1a;color:#e8c54a}:root[data-theme=dark] .image{background:#314534}:root[data-theme=dark] .tech li{background:#314534;color:#c2dbc4}:root[data-theme=dark] #contact a{border-color:#4c554c}:root[data-theme=dark] #contact a:hover{background:#e8ece5;color:#171a17}:root[data-theme=dark] .foot{color:#aeb6ac}@media (max-width: 700px){#root{width:min(100% - 2rem,1120px);padding-top:1rem}#head{display:none}.header_mob{position:relative;display:flex;justify-content:flex-end;padding-bottom:1rem}.span_container{display:grid;gap:.3rem;width:2.75rem;padding:.55rem;border:1px solid #cdd0c9;border-radius:.35rem;background:transparent;cursor:pointer}.span_container span{display:block;height:2px;background:#20231f}#mobile_view,#mobile_view_shut{position:absolute;top:0;right:0;z-index:3;display:grid;gap:1.1rem;min-width:240px;padding:1.25rem;border:1px solid #cdd0c9;border-radius:.5rem;background:#faf9f5;box-shadow:0 14px 30px #20231f24;transition:opacity .18s ease,transform .18s ease}#mobile_view_shut{visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none}.menu-close{justify-self:end;border:0;background:none;color:#20231f;font:1.3rem DM Mono,monospace;cursor:pointer}.links a{font-size:.82rem}#mobile_view .theme-toggle,#mobile_view_shut .theme-toggle{justify-self:start}main{gap:3.75rem}#hero{padding-top:1.25rem}.hero>.flex{grid-template-columns:1fr;gap:2rem}#face{width:150px}.namae{font-size:clamp(3.55rem,17vw,5.4rem)}.top_bio{margin-top:2.6rem}.three_cols{grid-template-columns:1fr 1fr;gap:.6rem}.project{grid-template-columns:1fr;gap:1.25rem;padding:1.4rem 0}.image_overlay{opacity:1;transform:none}.foot{margin-top:3.75rem}#projects{gap:.5rem}}@media (prefers-color-scheme: dark){:root:not([data-theme]){color-scheme:dark}}
