@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";:root{font-family:Manrope,sans-serif;color:#f3efe7;background:#11110f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #11110f;--surface: #191916;--text: #f3efe7;--text-muted: #a9a59b;--text-dim: #77746d;--accent: #c6ff4a;--border: rgba(243, 239, 231, .16);--font-display: "Manrope", sans-serif;--font-body: "Playfair Display", serif;--font-mono: "DM Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);overflow-x:hidden}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{font:inherit}section{max-width:1280px;margin:0 auto;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,5vw,4rem)}.section-label{color:var(--accent);font:500 .7rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.25rem}.section-label:before{content:"— "}.section-title{color:var(--text);font:600 clamp(2.25rem,5vw,4.8rem)/1.05 var(--font-display);letter-spacing:-.055em;margin:0}.section-title em{font-family:var(--font-body);font-weight:400;letter-spacing:-.03em}.section-description{color:var(--text-muted);line-height:1.7}.btn{display:inline-flex;align-items:center;gap:.7rem;padding:1rem 1.25rem;border:1px solid var(--border);font-size:.82rem;font-weight:600;transition:background .3s,color .3s,border-color .3s}.btn svg,.hero-social-link svg,.hero-scroll-hint svg,.project-card-arrow svg,.contact-email svg,.contact-socials a svg{display:block;flex:none}.btn--primary{background:var(--accent);border-color:var(--accent);color:#11110f}.btn--primary:hover{background:#e3ffaf}.btn--outline:hover{border-color:var(--accent);color:var(--accent)}.skip-link{position:absolute;top:-3rem;left:1rem;z-index:20;padding:.75rem 1rem;background:var(--accent);color:#11110f}.skip-link:focus{top:1rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.header{position:fixed;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.4rem clamp(1.25rem,5vw,4rem);color:var(--text);transition:background .3s,backdrop-filter .3s}.header--scrolled{background:#11110fd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.header-start,.header-brand,.header-nav{display:flex;align-items:center}.header-brand{gap:.7rem;font:600 .65rem var(--font-mono);letter-spacing:.11em}.header-brand-mark{color:var(--accent);font-size:.75rem}.header-nav{gap:clamp(1rem,3vw,2.5rem)}.header-link{color:var(--text-muted);font-size:.75rem;transition:color .2s}.header-link:hover{color:var(--text)}.header-link-dot{display:none}.header-cta{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border:1px solid var(--border);font-size:.72rem;transition:all .2s}.header-cta svg{display:block;flex:none}.header-cta:hover{color:#11110f;background:var(--accent);border-color:var(--accent)}.header-menu-btn{display:none;background:none;border:0;color:var(--text);padding:.25rem}.header-menu-btn-line{display:block;width:1.4rem;height:1px;background:currentColor;margin:.35rem}@media(max-width:700px){.header-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:2rem 1.25rem;background:var(--surface);flex-direction:column;align-items:flex-start}.header-nav--open{display:flex}.header-menu-btn{display:block}.header-brand span:last-child{font-size:.58rem}}.hero{position:relative;display:flex;align-items:flex-end;min-height:100svh;max-width:none;padding:clamp(8rem,14vw,11rem) clamp(1.25rem,7vw,7rem) clamp(3rem,7vw,6rem);overflow:hidden}.hero-backdrop,.hero-overlay{position:absolute;inset:0}.hero-image{width:100%;height:100%;object-fit:cover;object-position:58% center;filter:grayscale(100%) contrast(1.08) brightness(.62)}.hero-overlay{background:linear-gradient(90deg,#11110fad,#11110f40 48%,#11110f1f),linear-gradient(0deg,rgba(17,17,15,.7),transparent 50%)}.hero-content{position:relative;z-index:1;max-width:850px}.hero-kicker{color:var(--accent);font:.7rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.hero-name{color:var(--text);font:600 clamp(4rem,12vw,10.5rem)/.86 var(--font-display);letter-spacing:-.09em;margin:1.5rem 0 2rem}.hero-name em{font-family:var(--font-body);font-weight:400;letter-spacing:-.06em}.hero-description{max-width:30rem;color:#d5d0c6;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6;margin:0 0 2rem}.hero-socials{display:flex;gap:.65rem;margin:0 0 1.25rem}.hero-social-link{display:grid;place-items:center;width:2.65rem;height:2.65rem;border:1px solid rgba(243,239,231,.45);color:var(--text);font-size:1.05rem;transition:color .25s,border-color .25s,background .25s}.hero-social-link:hover{color:#11110f;background:var(--accent);border-color:var(--accent)}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}.hero-scroll-hint{position:absolute;right:clamp(1.25rem,7vw,7rem);bottom:clamp(3rem,7vw,6rem);z-index:1;display:flex;align-items:center;gap:1rem;color:var(--text-muted);font:.65rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl}.hero-scroll-hint b{color:var(--accent);font-size:1.25rem;font-weight:400}@media(max-width:600px){.hero{min-height:92svh}.hero-image{object-position:38% center}.hero-overlay{background:linear-gradient(0deg,#11110fc7,#11110f1f 80%)}.hero-scroll-hint{display:none}}.skills{overflow:hidden}.skills-marquee-wrap{position:relative;margin-bottom:2.5rem;mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}.skills-marquee{display:flex;gap:1rem;list-style:none;margin:0;padding:0;width:max-content}.skills-marquee-item{display:flex;align-items:center;gap:.5rem;padding:.6em 1.25em;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-full);font-size:.9rem;font-weight:600;color:var(--accent);white-space:nowrap;flex-shrink:0}.skills-marquee-item svg{font-size:1.1rem}.skills-list{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;margin:0;padding:0}.skills-item{display:inline-flex;align-items:center;gap:.5rem;padding:.65em 1.25em;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);font-size:.95rem;font-weight:500;color:var(--text);cursor:default;transition:border-color .2s,background .2s,box-shadow .2s}.skills-item:hover{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 4px 20px var(--accent-glow)}.skills-icon{display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:var(--accent);flex-shrink:0}.skills-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){.skills-marquee-wrap{display:none}}.projects{padding-top:clamp(6rem,12vw,12rem)}.projects>div:first-of-type{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:4rem}.projects>div:first-of-type .section-description{max-width:22rem;margin:0}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) 1.5rem}.project-card{transform-style:preserve-3d;min-width:0}.project-card-link{display:block}.project-card-image-wrap{position:relative;aspect-ratio:1.45;overflow:hidden;background:var(--surface)}.project-card-image{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s}.project-card:hover .project-card-image{transform:scale(1.06);filter:saturate(1)}.project-card-arrow{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;background:var(--accent);color:#11110f;font-size:1.2rem;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}.project-card:hover .project-card-arrow,.project-card:focus-within .project-card-arrow{opacity:1;transform:none}.project-card-inner{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.project-date{color:var(--accent);font:.65rem var(--font-mono)}.project-title{grid-column:1;font:600 clamp(1.2rem,2vw,1.7rem) var(--font-display);margin:0}.project-description{grid-column:1;color:var(--text-muted);font-size:.8rem;line-height:1.6;margin:.2rem 0 0}.project-technologies{grid-column:2;grid-row:1 / span 3;display:flex;gap:.5rem;list-style:none;margin:0;padding:0;color:var(--text-dim)}.project-tech-icon{font-size:1rem}@media(max-width:900px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.projects>div:first-of-type{display:block;margin-bottom:2.5rem}.projects>div:first-of-type .section-description{margin-top:1rem}.projects-grid{display:block}.project-card{margin:0 0 3rem}}.contact{max-width:none;background:var(--accent);color:#11110f;padding-top:clamp(5rem,10vw,9rem);padding-bottom:clamp(5rem,10vw,9rem)}.contact-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(20rem,1.1fr);gap:clamp(3rem,10vw,10rem);max-width:1280px;margin:auto}.contact .section-label{color:#11110f}.contact .section-title{max-width:38rem;color:#11110f;font-size:clamp(3rem,7vw,7.5rem)}.contact .section-description{max-width:25rem;color:#11110fb8;margin:2rem 0 0}.contact-panel{align-self:end;padding:1.5rem;border:1px solid rgba(17,17,15,.32)}.contact-panel-heading,.contact-panel-footer{display:flex;justify-content:space-between;gap:1rem;color:#11110fad;font:.65rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.contact-status{display:flex;align-items:center;gap:.5rem}.contact-status i{width:.45rem;height:.45rem;border-radius:50%;background:#11110f}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:clamp(3rem,7vw,6rem) 0 1.75rem;padding-bottom:.65rem;border-bottom:1px solid rgba(17,17,15,.6);color:#11110f;font:clamp(1.3rem,3vw,2.5rem) var(--font-body)}.contact-email b{font:400 1.5rem var(--font-display)}.contact .btn--primary{background:#11110f;color:var(--accent);border-color:#11110f}.contact-panel-footer{align-items:flex-start;margin-top:clamp(3rem,7vw,6rem);padding-top:1rem;border-top:1px solid rgba(17,17,15,.25)}.contact-socials{display:flex;flex-wrap:wrap;gap:1rem}.contact-socials a{display:inline-flex;align-items:center;gap:.35rem;color:#11110f;border-bottom:1px solid rgba(17,17,15,.5);transition:opacity .2s}.contact-socials a:hover{opacity:.6}.contact-wave{display:none}@media(max-width:760px){.contact-inner{display:block}.contact-panel{margin-top:3rem}.contact-panel-heading,.contact-panel-footer{flex-wrap:wrap}}.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,10vw,10rem);border-top:1px solid var(--border)}.process-heading .section-title{font-size:clamp(2.5rem,5vw,5rem)}.process-heading em,.section-title em{font-family:var(--font-body);font-weight:400;color:var(--text-dim)}.process-list{border-top:1px solid var(--border)}.process-item{display:grid;grid-template-columns:5rem 1fr;gap:1.5rem;padding:2rem 0;border-bottom:1px solid var(--border)}.process-number{color:var(--accent);font-size:.75rem;letter-spacing:.12em}.process-item h3{margin:0 0 .55rem;font:600 clamp(1.2rem,2vw,1.7rem) var(--font-display)}.process-item p{max-width:30rem;color:var(--text-muted);line-height:1.7;margin:0}@media(max-width:700px){.process{grid-template-columns:1fr;gap:3rem}.process-item{grid-template-columns:3rem 1fr}}.timeline-list{position:relative;max-width:52rem;margin-top:3rem;padding-left:2rem}.timeline-track{position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--border)}.timeline-track-fill{width:100%;background:var(--accent);transform-origin:top}.timeline-item{position:relative;padding-bottom:2.5rem;transition:transform .3s var(--ease-out)}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:-2rem;top:.35rem;width:14px;height:14px;margin-left:-6px;border-radius:50%;background:var(--bg);border:2px solid var(--border-hover);z-index:1;display:flex;align-items:center;justify-content:center}.timeline-item--current .timeline-marker{border-color:var(--accent);background:var(--accent)}.timeline-marker-pulse{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--accent)}.timeline-content{padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);transition:border-color .2s,box-shadow .2s}.timeline-item:hover .timeline-content,.timeline-item:focus-visible .timeline-content{border-color:var(--border-hover);box-shadow:0 8px 24px #00000029}.timeline-item--current .timeline-content{border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:#c6ff4a14}.timeline-year{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:.15rem}.timeline-item--current .timeline-year{color:var(--accent)}.crown-icon{color:var(--accent);font-size:.85rem;filter:drop-shadow(0 0 6px var(--accent-glow))}.timeline-age{font-size:.8rem;font-weight:600;color:var(--text-muted);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.06em}.timeline-description{font-size:.95rem;color:var(--text-muted);line-height:1.65;margin:0}.timeline-item:focus-visible{outline:none}.timeline-item:focus-visible .timeline-content{outline:2px solid var(--accent);outline-offset:3px}@media(min-width:768px){.timeline-list{padding-left:2.5rem}.timeline-marker{left:-2.5rem}}@media(prefers-reduced-motion:reduce){.timeline-track-fill{height:100%!important}}.app{min-height:100vh;background:var(--bg)}.site-footer{display:flex;justify-content:space-between;max-width:1280px;margin:auto;padding:2rem clamp(1.25rem,5vw,4rem) 3rem;color:var(--text-dim);font:.68rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.site-footer span:first-child{color:var(--accent)}
