:root{--font-size: 18px;--gap: 36px;--type-scale: 1.05;--h6: calc(var(--font-size) * var(--type-scale));--h5: calc(var(--h6) * var(--type-scale));--h4: calc(var(--h5) * var(--type-scale));--h3: calc(var(--h4) * var(--type-scale));--h2: calc(var(--h3) * var(--type-scale));--h1: calc(var(--h2) * var(--type-scale));--line-height: 1.6;--dot: 2px;--dot-color: rgb(from var(--black) r g b / 5%);--dot-gap: calc(var(--font-size) * 2);--bg: #16121d;--surface: #221b2c;--surface-2: #2b2240;--border: #3a2f52;--border-strong: #4a3f66;--text: #ede8fa;--muted: #cfc6e6;--primary: #b885c3;--primary-muted: #f29cb7;--secondary: #a78bfa;--secondary-muted: #c4b5fd;--highlight: #f7cb73;--highlight-muted: #ffe08a;--mint: #4fae95;--sky: #4f8bb6;--rose: #be6e8a}@media(prefers-color-scheme: light){:root{--bg: #fbf6ee;--surface: #fefcf9;--surface-2: #fcf8f3;--border: #d0c9d1;--border-strong: #a79bb4;--text: #3b3740;--muted: #595461;--primary: #6c2f55;--primary-muted: #9f6b86;--secondary: #5a4183;--secondary-muted: #9583aa;--highlight: #ffb82d;--highlight-muted: #fecf73;--mint: #2f9a75;--sky: #3b78b6;--rose: #c4515d}}@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.gallery-layout{display:flex;flex-direction:row;flex-wrap:nowrap;min-height:100vh;width:100vw}.gallery-layout footer{bottom:0;left:0;position:fixed}.gallery-layout h1{margin-bottom:calc(var(--gap)/2)}.gallery-layout h3{margin-bottom:0;margin-top:calc(var(--gap)*1)}.gallery-layout menu{margin:0;padding-left:calc(var(--gap)/2)}.gallery-layout menu a{align-items:center;color:var(--muted);display:flex;text-transform:capitalize}.gallery-layout menu a:hover,.gallery-layout menu a.active{color:var(--secondary)}.gallery-layout menu li{font-size:.9rem;list-style:none;margin-bottom:.3rem}.gallery-layout menu svg{margin-right:.3rem;transform:translateY(1px);width:1rem}.gallery-layout .content{grid-column-start:1;grid-column-end:-1}.gallery-layout .couple,.gallery-layout .third{background-color:var(--bg);display:grid;gap:4px;grid-template-columns:repeat(2, calc(var(--gap) * 3))}.gallery-layout .couple img,.gallery-layout .third img{display:block;height:100%;max-height:100%;max-width:100%;object-fit:cover;width:100%}.gallery-layout .date{align-items:center;background-color:var(--surface);border-radius:5px;border-bottom-left-radius:calc(var(--gap)/2);bottom:0;color:var(--text);display:flex;flex-wrap:nowrap;font-size:.9rem;opacity:.8;padding:.2rem .4rem;padding-left:.8rem;position:absolute;transform:translate(-1px, 1px)}.gallery-layout .date svg{height:auto;margin-right:.3rem;width:var(--font-size)}.gallery-layout .favorite{align-items:center;background-color:var(--surface);border:3px solid var(--border);border-radius:50%;color:var(--primary);display:flex;justify-content:center;padding:.2rem;position:absolute;right:0;top:0;transform:translate(35%, -15%) rotate(15deg)}.gallery-layout .favorite svg{height:calc(var(--gap)*.6);width:calc(var(--gap)*.6)}.gallery-layout .grid{--col: calc(var(--gap) * 6);display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit, var(--col));justify-content:center;margin:0 auto;padding:0;padding-bottom:calc(var(--gap)*2);width:calc(100% - var(--gap))}@media screen and (max-width: 786px){.gallery-layout .grid{box-sizing:border-box;gap:calc(var(--gap)/2);grid-template-columns:repeat(2, 1fr);width:calc(100vw - var(--gap)*2)}}.gallery-layout .grid-container{align-items:flex-start;display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin-left:calc(var(--gap)*8)}.gallery-layout .grid-container header{display:none}@media screen and (max-width: 1080px){.gallery-layout .grid-container{margin-left:var(--gap)}.gallery-layout .grid-container h1{margin-top:0}.gallery-layout .grid-container header{display:block;grid-column-start:1;grid-column-end:-1;padding-left:0}}.gallery-layout .item{cursor:pointer;position:relative}.gallery-layout .modal{background-color:none;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;height:100vh;justify-content:space-between;padding:var(--gap);position:relative;width:100vw}@media screen and (max-width: 1080px){.gallery-layout .modal{display:grid;grid-template-columns:repeat(12, 1fr);grid-template-rows:var(--gap) var(--gap) 1fr var(--gap);padding:calc(var(--gap)/2)}.gallery-layout .modal menu li a img{width:calc(var(--gap)*2);height:auto}.gallery-layout .modal .center{display:flex !important;flex-direction:column !important;grid-column-start:1;grid-column-end:-1;grid-row:3}.gallery-layout .modal .close{right:calc(var(--gap)/2) !important;top:calc(var(--gap)/2) !important}.gallery-layout .modal .close svg{width:calc(var(--gap)*.8) !important}.gallery-layout .modal #full-image{display:flex;justify-content:center;width:100%}.gallery-layout .modal #full-image img{max-height:calc(100vh - var(--gap)*8) !important;max-width:100% !important}.gallery-layout .modal #nav-next{grid-column:1;grid-row:1}.gallery-layout .modal #nav-next svg{width:var(--gap)}.gallery-layout .modal #nav-prev{grid-column:2;grid-row:1}.gallery-layout .modal #nav-prev svg{width:var(--gap)}}.gallery-layout .modal li{list-style:none}.gallery-layout .modal menu{display:flex;flex-direction:row;gap:calc(var(--gap)/4);justify-content:center;margin-bottom:0;margin-top:var(--gap);padding:0}.gallery-layout .modal svg{width:calc(var(--gap)*3)}.gallery-layout .modal .close{cursor:pointer;position:absolute;right:var(--gap);top:var(--gap)}.gallery-layout .modal .close svg{width:var(--gap)}.gallery-layout .modal .center{align-items:center;display:flex;flex-direction:column;justify-content:center}.gallery-layout .modal .nav{align-items:center;display:flex;justify-content:center}.gallery-layout .modal .nav:focus-visible{outline:none}.gallery-layout .modal #full-image img{display:block;height:auto;object-fit:contain;max-height:calc(100vh - (var(--gap)*3 + 144px));max-width:calc(100vw - var(--gap)*10);width:auto}.gallery-layout .loader{align-items:center;display:flex;justify-content:center}.gallery-layout .loader svg{animation:rotate 1s ease-in-out infinite;color:var(--muted);width:calc(var(--gap)*2)}.gallery-layout .sidebar{background-color:var(--surface);box-sizing:border-box;height:100vh;left:0;padding:0;position:fixed;top:0;transition:transform 360ms ease-out;width:calc(var(--gap)*8);z-index:10}@media screen and (max-width: 1080px){.gallery-layout .sidebar{transform:translateX(-100%)}.gallery-layout .sidebar header{display:none}}.gallery-layout .sidebar.show{transform:translateX(0)}.gallery-layout .sidebar__content{padding-left:var(--gap)}.gallery-layout .sidebar__toggle{align-items:center;background-color:var(--surface);display:flex;height:var(--gap);justify-content:center;position:relative;right:calc(var(--gap)*-8);top:var(--gap);width:var(--gap);z-index:10}@media screen and (min-width: 1080px){.gallery-layout .sidebar__toggle{display:none}}.gallery-layout .sidebar__toggle input{cursor:pointer;height:var(--gap);opacity:0;width:var(--gap);z-index:10}.gallery-layout .sidebar__toggle .icon{position:absolute;left:0;transform:translateX(4px)}.gallery-layout .sidebar__toggle .off{display:flex}.gallery-layout .sidebar__toggle input:checked~.off{display:none}.gallery-layout .sidebar__toggle .on{display:none}.gallery-layout .sidebar__toggle input:checked~.on{display:flex}.gallery-layout .single,.gallery-layout .couple,.gallery-layout .third{border-radius:calc(var(--gap)/2);box-sizing:border-box;height:calc(var(--gap)*8);overflow:hidden;width:calc(var(--gap)*6)}@media screen and (max-width: 786px){.gallery-layout .single,.gallery-layout .couple,.gallery-layout .third{height:calc(var(--gap)*6);width:calc(50vw - var(--gap)*1.5)}.gallery-layout .single img,.gallery-layout .couple img,.gallery-layout .third img{width:100%;height:auto}}.gallery-layout .third{grid-template-rows:repeat(2, calc(var(--gap) * 4))}.gallery-layout .third img:first-child{grid-row-start:span 2}.gallery-layout .third img:nth-last-child{grid-column-start:2;grid-row-start:2}.home{align-items:center;display:flex;flex-direction:column;justify-content:center}.home b{cursor:help}.home footer{bottom:calc(var(--gap)/4);left:calc(var(--gap)/4);position:absolute}.home img{border:4px solid rgb(from var(--rose) r g b/60%);border-radius:calc(var(--gap)/2);margin-bottom:calc(var(--gap)/2);margin-left:calc(var(--gap)/4);transform:rotate(-2.5deg)}.home main{background-color:var(--surface);border:1px solid var(--border);border-radius:calc(var(--gap)/2);box-sizing:border-box;display:grid;gap:var(--gap);grid-template-columns:min(var(--gap)*12,45vw - var(--gap)*1.5) 1px min(var(--gap)*12,45vw - var(--gap)*1.5);margin:2rem auto;max-width:90vw;padding:calc(var(--gap)/2);width:auto}@media screen and (max-width: 786px){.home main{display:flex;flex-direction:column;gap:calc(var(--gap)/2)}}.home ul{margin:0}.home #identity,.home #links{display:flex;flex-direction:column;justify-content:flex-end}.home #identity{padding-top:calc(var(--gap)*2)}.home #identity li{align-items:center;color:rgb(from var(--muted) r g b/60%);cursor:help;display:flex;font-size:.8rem;margin-bottom:.4rem}.home #identity li svg{height:calc(var(--gap)*.6);margin-right:.4rem;width:calc(var(--gap)*.6)}.home #identity p{margin-top:0}.home #identity ul{padding:0}.home #last-update{align-items:center;color:rgb(from var(--muted) r g b/60%);display:flex;height:calc(var(--gap)*.8);justify-content:flex-end;font-size:.8rem}.home #last-update svg{height:1rem;margin-right:.4rem;width:1rem}.home #links li{list-style-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='rgba(237,232,250,1)'%3E%3Cpath fill='none' d='M0 0h24v24H0z'%3E%3C/path%3E%3Cpath d='M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z'%3E%3C/path%3E%3C/svg%3E")}.home #links li:has(+li){margin-bottom:calc(var(--gap)/4)}.home #links li p{color:var(--muted);margin:0}.home #social-media{align-items:center;display:flex;gap:calc(var(--gap)/4)}.home #social-media a{color:rgb(from var(--muted) r g b/60%);cursor:pointer}.resume b,.resume strong{color:rgb(from var(--highlight) r g b/60%)}.resume h1,.resume h2,.resume h3,.resume h4,.resume h5,.resume h6{text-transform:uppercase}.resume h1{margin-top:0}.resume h3{border-bottom:2px solid var(--border)}.resume h4{margin-top:0}.resume h4:has(+h5){margin-bottom:.2rem}.resume h4+h5{margin-top:0}.resume h5{color:var(--muted);font-weight:200}.resume section{display:grid;gap:var(--gap) calc(var(--gap)/4);grid-template-columns:100px 8px 1fr;position:relative}.resume .dates{align-items:center;background-image:url("/static/img/tag.5d9cdecd6dc4.svg");background-position:center;background-size:contain;background-repeat:no-repeat;color:var(--text);display:flex;font-size:calc(var(--gap)*.4);height:50px;padding-left:8px;padding-right:16px;transform:translateX(8px)}.resume .dot{background-color:var(--border-strong);border-radius:50%;height:8px;margin-top:22px;width:8px}.resume .vr{background-color:var(--border-strong);height:100%;left:calc(103px + var(--gap)/4);position:absolute;width:2px}.resume #download{align-items:center;display:flex;justify-content:center;margin-top:calc(var(--gap)*1.5)}.resume #download a{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--gap);color:var(--text-muted);display:flex;font-size:var(--h1);padding:.8rem 1rem}.resume #download a:hover{background-color:var(--surface-2);text-decoration:none}.resume #download svg{height:var(--h1);margin-left:.4rem;width:var(--h1)}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.fade{view-transition-name:fade}::view-transition-old(fade){animation:180ms ease-in both fade-out}::view-transition-new(fade){animation:180ms ease-out both fade-in}@font-face{src:url("/static/fonts/nunito/Nunito-ExtraLight.1e66064fef5d.woff2") format("woff2");font-family:"Nunito";font-style:normal;font-weight:200}@font-face{src:url("/static/fonts/nunito/Nunito-ExtraLightItalic.082e6c6350c1.woff2") format("woff2");font-family:"Nunito";font-style:italic;font-weight:200}@font-face{src:url("/static/fonts/nunito/Nunito-Light.0237b490ccb0.woff2") format("woff2");font-family:"Nunito";font-style:normal;font-weight:300}@font-face{src:url("/static/fonts/nunito/Nunito-LightItalic.f0ad3dc8ad86.woff2") format("woff2");font-family:"Nunito";font-style:italic;font-weight:300}@font-face{src:url("/static/fonts/nunito/Nunito-Regular.290733ed6d43.woff2") format("woff2");font-family:"Nunito";font-style:normal;font-weight:400}@font-face{src:url("/static/fonts/nunito/Nunito-Italic.bdb96ed80e0e.woff2") format("woff2");font-family:"Nunito";font-style:italic;font-weight:400}@font-face{src:url("/static/fonts/nunito/Nunito-Medium.9eb380fbdfa7.woff2") format("woff2");font-family:"Nunito";font-style:normal;font-weight:500}@font-face{src:url("/static/fonts/nunito/Nunito-MediumItalic.56d2de181fb8.woff2") format("woff2");font-family:"Nunito";font-style:italic;font-weight:500}@font-face{src:url("/static/fonts/nunito/Nunito-SemiBold.8248f6aa1e9c.woff2") format("woff2");font-family:"Nunito";font-style:normal;font-weight:600}@font-face{src:url("/static/fonts/nunito/Nunito-SemiBoldItalic.42ac711d04fc.woff2") format("woff2");font-family:"Nunito";font-style:italic;font-weight:600}@font-face{src:url("/static/fonts/nunito/Nunito-Bold.828166b74080.woff2") format("woff2");font-family:"Nunito";font-style:normal;font-weight:700}@font-face{src:url("/static/fonts/nunito/Nunito-BoldItalic.60fc9dfb5b24.woff2") format("woff2");font-family:"Nunito";font-style:italic;font-weight:700}@font-face{src:url("/static/fonts/nunito/Nunito-ExtraBold.7b6ca0b1bd76.woff2") format("woff2");font-family:"Nunito";font-style:normal;font-weight:800}@font-face{src:url("/static/fonts/nunito/Nunito-ExtraBoldItalic.2a5636502b0c.woff2") format("woff2");font-family:"Nunito";font-style:italic;font-weight:800}@font-face{src:url("/static/fonts/nunito/Nunito-Black.c05a012a10a6.woff2") format("woff2");font-family:"Nunito";font-style:normal;font-weight:900}@font-face{src:url("/static/fonts/nunito/Nunito-BlackItalic.6820144b30e0.woff2") format("woff2");font-family:"Nunito";font-style:italic;font-weight:900}@font-face{src:url("/static/fonts/work_sans/WorkSans-Thin.6b9d22aa4a16.woff2") format("woff2");font-family:"Work Sans";font-style:normal;font-weight:100}@font-face{src:url("/static/fonts/work_sans/WorkSans-ThinItalic.9b3974a9aeed.woff2") format("woff2");font-family:"Work Sans";font-style:italic;font-weight:100}@font-face{src:url("/static/fonts/work_sans/WorkSans-ExtraLight.10277dbae388.woff2") format("woff2");font-family:"Work Sans";font-style:normal;font-weight:200}@font-face{src:url("/static/fonts/work_sans/WorkSans-ExtraLightItalic.97f2c76acb35.woff2") format("woff2");font-family:"Work Sans";font-style:italic;font-weight:200}@font-face{src:url("/static/fonts/work_sans/WorkSans-Light.7520c7f6df5e.woff2") format("woff2");font-family:"Work Sans";font-style:normal;font-weight:300}@font-face{src:url("/static/fonts/work_sans/WorkSans-LightItalic.a2df8db59e2a.woff2") format("woff2");font-family:"Work Sans";font-style:italic;font-weight:300}@font-face{src:url("/static/fonts/work_sans/WorkSans-Regular.594d8992184c.woff2") format("woff2");font-family:"Work Sans";font-style:normal;font-weight:400}@font-face{src:url("/static/fonts/work_sans/WorkSans-Italic.7eff96717727.woff2") format("woff2");font-family:"Work Sans";font-style:italic;font-weight:400}@font-face{src:url("/static/fonts/work_sans/WorkSans-Medium.07bf2ff4f380.woff2") format("woff2");font-family:"Work Sans";font-style:normal;font-weight:500}@font-face{src:url("/static/fonts/work_sans/WorkSans-MediumItalic.9aec546f8ce9.woff2") format("woff2");font-family:"Work Sans";font-style:italic;font-weight:500}@font-face{src:url("/static/fonts/work_sans/WorkSans-SemiBold.9967cb3da413.woff2") format("woff2");font-family:"Work Sans";font-style:normal;font-weight:600}@font-face{src:url("/static/fonts/work_sans/WorkSans-SemiBoldItalic.5d6f17004e70.woff2") format("woff2");font-family:"Work Sans";font-style:italic;font-weight:600}@font-face{src:url("/static/fonts/work_sans/WorkSans-Bold.c802f5ce27af.woff2") format("woff2");font-family:"Work Sans";font-style:normal;font-weight:700}@font-face{src:url("/static/fonts/work_sans/WorkSans-BoldItalic.2654f0eb5f98.woff2") format("woff2");font-family:"Work Sans";font-style:italic;font-weight:700}@font-face{src:url("/static/fonts/work_sans/WorkSans-ExtraBold.c5394a196f14.woff2") format("woff2");font-family:"Work Sans";font-style:normal;font-weight:800}@font-face{src:url("/static/fonts/work_sans/WorkSans-ExtraBoldItalic.72e6e6a38d8c.woff2") format("woff2");font-family:"Work Sans";font-style:italic;font-weight:800}@font-face{src:url("/static/fonts/work_sans/WorkSans-Black.c804d8835b8c.woff2") format("woff2");font-family:"Work Sans";font-style:normal;font-weight:900}@font-face{src:url("/static/fonts/work_sans/WorkSans-BlackItalic.f9094ac5ff9b.woff2") format("woff2");font-family:"Work Sans";font-style:italic;font-weight:900}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}a.title{font-size:var(--h4)}b,strong{background:linear-gradient(to right, var(--highlight), var(--rose) 120%);background-clip:text;color:rgba(0,0,0,0);font-weight:normal;-webkit-background-clip:text}body{box-sizing:border-box;color:var(--text);font-family:"Work Sans",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:var(--font-size);font-weight:400;margin:0;min-height:100vh;position:relative}dialog{background:rgba(0,0,0,0);border:none;box-sizing:border-box;height:100vh;margin:0;max-height:none;max-width:none;padding:0;width:100vw;z-index:1000000}dialog::backdrop{background-color:rgb(from var(--bg) r g b/90%);backdrop-filter:blur(16px)}footer{padding:1rem;padding-top:calc(var(--gap)*2)}h1,h2,h3,h4,h5,h6{font-family:"Nunito"}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{background-clip:text;background:linear-gradient(to right, var(--highlight), var(--rose));color:rgba(0,0,0,0);font-size:var(--h1);font-weight:normal;margin:var(--gap) 0;-webkit-background-clip:text}h1:has(+h2){margin-bottom:.2rem}h1+h2{margin-top:0}h2{color:var(--muted);font-size:var(--h2);font-weight:200;margin:var(--gap) 0;-webkit-background-clip:text}h3{font-size:var(--h3)}h4{color:var(--secondary);font-size:var(--h4)}h5{font-size:var(--h5)}h6{font-size:var(--h6)}h3,h4,h5,h6{background-clip:text;background:linear-gradient(to right, var(--secondary), var(--secondary-muted));color:rgba(0,0,0,0);font-weight:normal;margin:var(--gap) 0 calc(var(--gap)/2);-webkit-background-clip:text}header{align-items:center;display:flex;justify-content:space-between;padding:1rem}header a{align-items:center;color:var(--muted);display:flex}header svg{height:calc(var(--gap)*.6);margin-right:.2rem;width:calc(var(--gap)*.6)}hr{border:1px solid var(--border);margin:calc(var(--gap)/2) 0}html{background-color:var(--bg);scrollbar-color:var(--border) var(--bg)}li{line-height:1.55}main{margin:0 auto;max-width:90vw;width:70ch}p{line-height:var(--line-height);margin:calc(var(--gap)/2) 0}.copyright{align-items:center;bottom:1rem;color:rgb(from var(--secondary) r g b/60%);display:flex;font-size:.8rem;left:1rem;opacity:.6}.copyright svg{height:.8rem;width:.8rem}.icon svg{height:calc(var(--gap)*.8);width:calc(var(--gap)*.8)}.vr{background-color:var(--border);height:100%;width:1px}@media screen and (max-width: 768px){.vr{height:1.5px;width:100%}}
