:root{color:#15264b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--color-text:#15264b;--color-muted:#526078;--color-accent:#245cda;--color-border:#d3deec;--color-yellow:#ffe07a;background:#fffef9;font-family:Avenir Next,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}body{background-image:radial-gradient(#ccd7e680 .8px,#0000 .8px);background-size:24px 24px;min-width:320px;margin:0;font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--color-accent);outline-offset:5px}button,input,textarea{font:inherit}.container{width:min(100% - 3rem,1100px);margin-inline:auto}.skip-link{z-index:10;background:#fff;padding:.75rem 1rem;position:absolute;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--color-accent);letter-spacing:.12em;font-size:.78rem;font-weight:800}.button{border:2px solid var(--color-text);cursor:pointer;border-radius:12px 15px 11px 14px;justify-content:center;align-items:center;min-height:48px;padding:.7rem 1.4rem;font-weight:750;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:4px 4px #d6e4fa}.button-primary{background:var(--color-accent);color:#fff}.button-secondary{color:var(--color-text);background:#fffef9}.button:hover{transform:translateY(-2px);box-shadow:5px 6px #d6e4fa}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.learning-trail{height:6.5rem;margin-bottom:1rem;position:relative;container-type:inline-size}.learning-trail-words{color:var(--color-text);letter-spacing:.04em;margin:0;font-family:Chalkboard SE,Comic Sans MS,cursive;font-size:clamp(1rem,5.5cqi,1.5rem);font-weight:700}.learning-trail-words span{z-index:1;background:#fffef9;padding:.1rem .3rem;line-height:1.3;position:absolute;transform:translate(-50%,-50%)}.learning-trail-words span:first-child{color:#2463df;top:32%;left:0;transform:translateY(-50%)}.learning-trail-words span:nth-child(2){color:#cc4937;top:72%;left:50%}.learning-trail-words span:nth-child(3){color:#8b42cf;top:33%;right:0;transform:translateY(-50%)}.learning-trail svg{width:calc(100% + 2.5rem);height:100%;display:block}@media (width<=700px){.learning-trail svg{width:calc(100% + 2rem)}}@media (prefers-reduced-motion:no-preference){.learning-trail-reveal{stroke-dasharray:1;stroke-dashoffset:1px}.learning-trail-tip{opacity:0}.learning-trail[data-visible=true] .learning-trail-reveal{animation:1.4s ease-in-out forwards learning-draw}.learning-trail[data-visible=true] .learning-trail-tip{animation:.2s ease-out 1.3s forwards learning-tip}}@keyframes learning-draw{to{stroke-dashoffset:0}}@keyframes learning-tip{to{opacity:1}}.journey{border-block:2px solid var(--color-border);padding-block:3.5rem 4rem}.journey-heading h2{letter-spacing:-.045em;margin:0 0 2.5rem;font-size:clamp(2rem,5vw,3rem)}.journey-carousel{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:1.5rem;display:grid}.journey-slide{grid-template-columns:1.3fr 1fr;align-items:center;gap:3rem;min-width:0;min-height:320px;display:grid}.journey-copy h3{letter-spacing:-.035em;margin:.4rem 0;font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.2}.journey-period{color:var(--color-accent);margin:0;font-size:.9rem;font-weight:750}.journey-role{color:var(--color-muted);font-size:.9rem}.journey-description{color:var(--color-muted);max-width:43ch;font-size:1.08rem}.journey-skills{border:2px solid var(--color-border);background:#fffef9;border-radius:24px 18px 26px 16px;min-width:0;padding:1.5rem;box-shadow:7px 7px #e4edf9}.journey-skills h3{margin:0 0 1.25rem;font-size:1.15rem;line-height:1.5}.journey-skills-scroll{min-height:0}.journey-skills-column{min-width:0}.journey-skills-scroll:focus-visible{outline-offset:2px;border-radius:4px}.journey-skill-group+.journey-skill-group{margin-top:1.15rem}.journey-skill-group h4{color:var(--color-muted);margin:0 0 .5rem;font-size:.875rem;font-weight:750}.journey-skill-list{flex-wrap:wrap;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.journey-skill-list li{max-width:100%;color:var(--color-text);overflow-wrap:anywhere;background:#edf4ff;border:1px solid #cad9ed;border-radius:12px;padding:.45rem .75rem;font-size:.9rem;font-weight:650}.journey-skill-list li:nth-child(3n+1){border-color:var(--color-yellow);background:#fff4c8}.journey-arrow{border:2px solid var(--color-text);width:48px;height:48px;color:var(--color-text);cursor:pointer;background:#fffef9;border-radius:50%;place-items:center;padding:0;font-size:1.5rem;display:grid;box-shadow:3px 3px #d6e4fa}.journey-arrow:hover{background:var(--color-yellow)}@media (prefers-reduced-motion:no-preference){.journey-slide[data-direction=next]{--slide-offset:14px}.journey-slide[data-direction=previous]{--slide-offset:-14px}.journey-slide[data-direction]>.journey-copy,.journey-slide[data-direction] .journey-skills{animation:.26s ease-out company-enter}}@keyframes company-enter{0%{opacity:0;transform:translateX(var(--slide-offset))}to{opacity:1;transform:translate(0)}}.journey-skills{height:min(28rem, max(14rem, calc(100dvh - var(--header-height) - 2 * clamp(2rem, 5vh, 4rem) - 15.5rem)));flex-direction:column;display:flex}.journey-skills h3{flex-shrink:0}.journey-skills-scroll{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--color-accent) #edf4ff;flex:1;padding:.25rem .5rem .25rem .25rem;overflow-y:auto}@media (width<=700px){.journey-carousel{grid-template-columns:44px minmax(0,1fr) 44px;gap:.5rem}.journey-slide{grid-template-columns:minmax(0,1fr);gap:1.5rem}.journey-copy{overflow-wrap:anywhere;min-height:280px}.journey-arrow{width:44px;height:44px}.journey-skills{height:22rem;padding:1rem}}.contact-section{width:100%;margin-inline:0;padding-block:4rem 5rem;position:relative}.contact-section h2{letter-spacing:-.03em;margin:0 0 2rem;font-size:clamp(2rem,5vw,3rem);line-height:1.2}.contact-form{gap:1.25rem;display:grid}.contact-layout{grid-template-columns:minmax(0,760px) 320px;align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}@media (width<=800px){.contact-layout{grid-template-columns:minmax(0,1fr)}}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.contact-field{gap:.5rem;display:grid}.contact-field label{font-weight:600}.contact-field input,.contact-field textarea{width:100%;min-width:0;color:var(--color-text);font:inherit;background:#ffffffed;border:2px solid #b3c3da;border-radius:12px 15px 10px 13px;padding:.85rem 1rem}.contact-field textarea{resize:vertical;min-height:160px}.contact-field input:focus-visible,.contact-field textarea:focus-visible,.contact-form button:focus-visible,.linkedin-link:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.contact-form button{cursor:pointer;color:var(--color-text);background:var(--color-yellow);justify-self:start}.contact-note,.contact-status{color:var(--color-muted);margin:0;font-size:.9rem}.contact-status:empty{display:none}.contact-social{border-top:1px solid var(--color-border);justify-content:flex-start;align-items:center;gap:.75rem;max-width:760px;margin-top:2rem;padding-top:1.5rem;display:flex}.contact-social span{font-weight:600}.linkedin-link,.github-link{color:#0a66c2;border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.github-link{color:var(--color-text)}.linkedin-link:hover,.github-link:hover{background:#eef5fc}@media (width<=600px){.contact-fields{grid-template-columns:1fr}}.contact-qr{text-align:center;width:min(100%,320px);position:absolute;top:45%;right:0;transform:translateY(-50%)}.contact-qr a{width:300px;max-width:100%;display:inline-block}.contact-qr img{width:100%;height:auto;display:block}.qr-flight{pointer-events:none;width:100%;height:auto;display:block;position:absolute;bottom:100%;right:0;overflow:visible}.qr-plane{transform-origin:275px 60px}@media (width<=800px){.contact-qr{justify-self:center;margin-top:120px;position:relative;top:auto;right:auto;transform:none}}@media (prefers-reduced-motion:no-preference){.qr-flight-reveal{stroke-dasharray:1;stroke-dashoffset:1px}.qr-plane{opacity:0;transform:translate(-8px,8px)scale(.9)}.contact-qr[data-visible=true] .qr-flight-reveal{animation:1.4s ease-in-out .15s forwards qr-draw}.contact-qr[data-visible=true] .qr-plane{animation:.4s ease-out 1.3s forwards qr-arrive}}@keyframes qr-draw{to{stroke-dashoffset:0}}@keyframes qr-arrive{to{opacity:1;transform:translate(0)scale(1)}}html{--header-height:88px;scroll-behavior:smooth;scroll-padding-top:var(--header-height);scroll-snap-type:y proximity}main>section{min-height:calc(100vh - var(--header-height));min-height:calc(100dvh - var(--header-height));scroll-snap-align:start;flex-direction:column;justify-content:center;padding-block:clamp(2rem,5vh,4rem);display:flex}@media (prefers-reduced-motion:no-preference){.scroll-reveal[data-revealed=false]{opacity:0}.scroll-reveal[data-revealed=true]{animation:.85s ease-out section-fade-in}.scroll-reveal:focus-within{opacity:1;animation:none}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}}.hero{padding-block:6rem 5rem}.hero-layout{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.hero-copy{min-width:0}.hero h1 span{color:var(--color-accent)}.hero-portrait{justify-self:center;width:min(100%,300px);padding:.5rem}.hero-greeting{border:2px solid var(--color-text);box-shadow:4px 4px 0 var(--color-yellow);text-align:center;background:#fffef9;border-radius:2rem;margin:0 0 2rem;padding:1rem 1.15rem;font-family:Chalkboard SE,Comic Sans MS,cursive;font-size:1.15rem;line-height:1.45;position:relative;transform:rotate(-3deg)}.hero-greeting:after{content:"";border-right:2px solid var(--color-text);border-bottom:2px solid var(--color-text);background:#fffef9;width:15px;height:15px;position:absolute;bottom:-9px;left:30%;transform:rotate(45deg)}.hero-photo-frame{background:#fff;border-radius:16px;padding:12px 12px 20px;transform:rotate(3deg);box-shadow:8px 9px #dceafa,0 2px 14px #15264b12}.hero-photo{aspect-ratio:4/5;object-fit:cover;object-position:center 70%;border-radius:8px;width:100%;height:auto;display:block}@media (prefers-reduced-motion:no-preference){.hero-copy>p,.hero-copy>h1{animation:.65s ease-out backwards about-text-fade}.hero-copy>.hero-intro{animation-delay:80ms}.hero-copy>h1{animation-delay:.2s}.hero-copy>.hero-role{animation-delay:.32s}.hero-copy>.hero-description{animation-delay:.44s}.hero-greeting{transform-origin:30% 100%;animation:.55s ease-out .15s backwards greeting-pop}.hero-photo-frame{transition:transform .25s,box-shadow .25s}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.hero-photo-frame:hover{transform:translateY(-6px)rotate(0);box-shadow:10px 14px #dceafa,0 6px 20px #15264b18}}@keyframes about-text-fade{0%{opacity:0}to{opacity:1}}@keyframes greeting-pop{0%{opacity:0;transform:translateY(8px)rotate(-3deg)scale(.94)}70%{opacity:1;transform:translateY(-2px)rotate(-3deg)scale(1.025)}to{opacity:1;transform:rotate(-3deg)scale(1)}}@media (width<=760px){.hero-layout{grid-template-columns:minmax(0,1fr);gap:2.5rem}.hero-portrait{width:min(100%,270px)}}.hero h1{letter-spacing:-.055em;margin:1rem 0 1.5rem;font-size:clamp(3.2rem,7vw,5.5rem);font-weight:850;line-height:1.08}.hero-intro{color:var(--color-muted);margin:0;font-size:1.2rem}.hero-role{letter-spacing:-.025em;margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:650;line-height:1.35}.hero-description{max-width:60ch;color:var(--color-muted);font-size:1.15rem}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.hero-background{color:var(--color-muted);margin-top:2rem;font-size:.9rem}@media (width<=600px){.hero{padding-block:3rem}}@media (width<=380px){.hero-actions{flex-direction:column;align-items:stretch}}.site-header{z-index:10;border-bottom:1px solid var(--color-border);background:#fffef9f5;position:sticky;top:0}.navigation{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem;display:flex}.brand{letter-spacing:-.04em;font-size:1.8rem;font-weight:750}.brand span{color:var(--color-accent)}.nav-links{flex-wrap:wrap;gap:1.5rem;font-size:.95rem;font-weight:750;display:flex}.nav-links a:hover{color:var(--color-accent);text-underline-offset:7px;text-decoration:underline;-webkit-text-decoration-color:var(--color-yellow);text-decoration-color:var(--color-yellow);text-decoration-thickness:4px}@media (width<=480px){.nav-links{gap:1rem}}.site-footer{color:var(--color-muted);text-align:center;scroll-snap-align:end;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding-block:1.5rem;font-size:.875rem;display:flex}.site-footer a:hover{color:var(--color-accent);text-underline-offset:4px;text-decoration:underline}
