:root{--teal:#a6cfd5;--teal-soft:#dcebed;--ink:#0f084b;--ink-deep:#0d0221;--paper:#f8f7f2;--surface:#fff;--text-secondary:#4f4d70;--accent:#a84a06;--line:#0f084b1f;--font-display:"Bricolage Grotesque","Segoe UI",sans-serif;--font-body:"Instrument Sans","Segoe UI",sans-serif}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;margin:0}a:focus-visible{border-radius:4px;outline:3px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important}}.section{margin-inline:auto;max-width:72rem;padding:4.5rem 1.5rem;scroll-margin-top:3.5rem}.section-split{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 2fr}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0}@media (max-width:768px){.section{padding-block:3rem}.section-split{gap:2rem;grid-template-columns:1fr}}.hero{background-color:var(--teal);padding-bottom:clamp(5rem,11vw,10rem);position:relative}.hero-inner{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:1fr auto;margin-inline:auto;max-width:72rem;padding:3.5rem 1.5rem 1rem}.hero-name{font-size:clamp(3rem,8vw,5.75rem);font-weight:800;letter-spacing:-.035em;line-height:.98;margin:0}.hero-name,.hero-occupation{font-family:var(--font-display)}.hero-occupation{font-size:clamp(1.25rem,2.5vw,1.625rem);font-weight:500;margin:1rem 0 0}.hero-intro{font-size:clamp(1.125rem,2vw,1.3125rem);line-height:1.5;margin:1.5rem 0 2rem;max-width:34rem}.highlight{color:var(--accent);font-weight:700}.wave{display:inline-block;height:1.6em;margin-block:-.5em;transform:rotate(-45deg);vertical-align:middle;width:1.6em}.hero-picture{aspect-ratio:1;border:6px solid var(--paper);border-radius:50%;box-shadow:14px 14px 0 var(--ink-deep);display:block;object-fit:cover;width:clamp(15rem,26vw,21rem)}.hero-curve{display:block;height:clamp(4.5rem,10vw,9rem);inset:auto 0 -1px;position:absolute;width:100%}.hero-curve-ribbon{fill:var(--ink-deep)}.hero-curve-paper{fill:var(--paper)}@media (max-width:768px){.hero-inner{gap:2rem;grid-template-columns:1fr;padding-top:2rem}.hero-picture{border-width:4px;box-shadow:7px 7px 0 var(--ink-deep);order:-1;width:8.5rem}}.contact-container{display:flex;flex-wrap:wrap;gap:.75rem}.contact-button{align-items:center;background-color:var(--ink-deep);border-radius:999px;color:var(--paper);display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;padding:.625rem 1.125rem;text-decoration:none;transition:transform .2s,background-color .2s}.contact-button:hover{background-color:var(--ink);transform:translateY(-2px)}.contact-button svg{font-size:1.125rem}.footer{background-color:var(--ink-deep)}.footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-inline:auto;max-width:72rem;padding:3rem 1.5rem}.footer-name{color:var(--paper);font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.footer .contact-button{background-color:var(--teal);color:var(--ink-deep)}.footer .contact-button:hover{background-color:var(--teal-soft)}.projects-title{margin-bottom:2.5rem}.projects-cards{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:repeat(2,1fr)}.project{background-color:var(--surface);border:1px solid var(--line);border-radius:1.25rem;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .25s,box-shadow .25s}.project:focus-within,.project:hover{box-shadow:0 18px 40px #0d022124;transform:translateY(-4px)}.project-media{aspect-ratio:16/10;background-color:var(--teal-soft);overflow:hidden}.project-media-landscape img{display:block;height:100%;object-fit:cover;object-position:left top;width:100%}.project-body{display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.project-title{align-items:baseline;display:flex;flex-wrap:wrap;font-family:var(--font-display);font-size:1.625rem;font-weight:700;gap:.625rem;letter-spacing:-.01em;line-height:1.2;margin:0}.project-title a{color:inherit;text-decoration:none}.project-title a:after{content:"";inset:0;position:absolute}.project-note{color:var(--text-secondary);font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:0}.project-description{color:var(--text-secondary);margin:.625rem 0 1.25rem}.tech-stack-container{display:flex;flex-wrap:wrap;gap:.375rem;list-style:none;margin:0 0 1.5rem;padding:0}.tech-stack-container li{background-color:var(--teal-soft);border-radius:999px;font-size:.8125rem;padding:.125rem .625rem}.project-view{align-items:center;color:var(--accent);display:inline-flex;font-size:.9375rem;font-weight:600;gap:.25rem;margin-top:auto}.archived-title{font-family:var(--font-display);font-size:1.75rem;font-weight:700;letter-spacing:-.01em;margin:3.5rem 0 0}.archived-intro{color:var(--text-secondary);margin:.25rem 0 1.5rem}.archived-cards{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}.archived-screenshot{background-color:var(--teal-soft);display:block;height:9rem;object-fit:cover;object-position:left top;width:100%}.archived-body{display:flex;flex:1 1;flex-direction:column;padding:1.25rem}.archived-project-title{font-size:1.25rem}.archived .project-description{font-size:.9375rem;margin-bottom:1rem}.archived .tech-stack-container{margin-bottom:1.25rem}@media (min-width:861px){.projects-cards .project:first-child{flex-direction:row;grid-column:1/-1}.projects-cards .project:first-child .project-media{aspect-ratio:auto;flex:0 0 55%;min-height:24rem}}@media (max-width:960px){.archived-cards{grid-template-columns:1fr}}@media (max-width:860px){.projects-cards{grid-template-columns:1fr}}.timeline{list-style:none;margin:0;padding:0}.timeline-item{border-left:2px solid var(--teal);padding:0 0 2.25rem 2rem;position:relative}.timeline-item:last-child{border-left-color:#0000;padding-bottom:0}.timeline-item:before{background-color:var(--teal);border:3px solid var(--paper);border-radius:50%;box-sizing:initial;content:"";height:.875rem;left:-.5rem;margin-left:-2px;margin-top:-3px;position:absolute;top:.4rem;width:.875rem}.timeline-item:first-child:before{background-color:var(--accent)}.timeline-year{color:var(--accent);font-size:.875rem;font-weight:600;margin:0}.timeline-title{font-family:var(--font-display);font-size:1.375rem;font-weight:700;line-height:1.25;margin:.125rem 0 0}.timeline-institution{color:var(--text-secondary);margin:.125rem 0 0}.timeline-subjects{display:flex;flex-wrap:wrap;gap:.375rem;list-style:none;margin:.625rem 0 0;padding:0}.timeline-subjects li{background-color:var(--teal-soft);border-radius:999px;font-size:.875rem;padding:.125rem .625rem}.topbar{background-color:var(--teal);border-bottom:1px solid #0000;position:-webkit-sticky;position:sticky;top:0;transition:background-color .25s,border-color .25s;z-index:2}.topbar.scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#f8f7f2e6;border-bottom-color:var(--line)}.topbar-inner{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-inline:auto;max-width:72rem;padding:.875rem 1.5rem}.topbar-brand{color:var(--ink);font-family:var(--font-display);font-size:1.125rem;font-weight:700;letter-spacing:-.01em;text-decoration:none}.brand-short{display:none}.topbar-links{display:flex;gap:1.75rem}.topbar-links a{color:var(--ink);font-size:.9375rem;font-weight:500;text-decoration:none;text-decoration-thickness:2px;text-underline-offset:.3em}.topbar-links a:hover{text-decoration-line:underline}@media (max-width:600px){.brand-full{display:none}.brand-short{display:inline}.topbar-links{gap:1rem}}.certifications-cards{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.certification{background-color:var(--teal-soft);border-radius:1rem;color:var(--ink);display:flex;flex-direction:column;padding:1.5rem;text-decoration:none;transition:transform .2s,background-color .2s}.certification:hover{background-color:var(--teal);transform:translateY(-3px)}.certification-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;line-height:1.2;margin:0}.certification-name{margin:.5rem 0 0}.certification-date{color:var(--text-secondary);font-size:.9375rem;margin:.125rem 0 1.5rem}.certification-view{align-items:center;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.25rem;margin-top:auto}
/*# sourceMappingURL=main.c58d49cc.css.map*/