:root{--bg:#f9f6f0;--surface-light:#fffdf8;--surface-soft:#f3efe7;--surface-dark:#000000;--surface-muted:#111111;--line:rgba(46,38,20,0.08);--text:#000000;--muted:#666666;--muted-soft:#a3a3a3;--primary:#4e6300;--primary-soft:#cafd00;--radius-md:1rem;--radius-lg:1.5rem;--content-width:1536px}*{box-sizing:border-box}html{scroll-behavior:smooth}section[id]{scroll-margin-top:120px}body{margin:0;min-width:320px;color:var(--text);background:var(--bg);font-family:var(--font-body),sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.shell{width:min(calc(100% - 48px),var(--content-width));margin:0 auto}.portfolio-page{background:var(--bg)}.topbar{position:fixed;top:0;z-index:50;width:100%;background:rgba(249,246,240,.84);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(46,38,20,.06)}.topbar__inner{width:min(calc(100% - 48px),var(--content-width));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0}.topbar__brand{font-family:var(--font-display),sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:-.04em}.topbar__actions,.topbar__nav{display:flex;align-items:center;gap:24px}.topbar__menu-toggle{display:none}.footer p,.topbar__nav a{font-family:var(--font-display),sans-serif}.topbar__nav a{color:#a1a1aa;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transition:color .18s ease}.topbar__nav a.is-active{color:#000000;border-bottom:2px solid var(--primary-soft);padding-bottom:4px}.topbar__nav a:focus-visible,.topbar__nav a:hover{color:#000000}.locale-switcher{padding:4px;border-radius:999px;border:1px solid rgba(46,38,20,.06);background:var(--surface-soft)}.locale-switcher,.locale-switcher a{display:inline-flex;align-items:center}.locale-switcher a{border:0;cursor:pointer;justify-content:center;padding:7px 12px;border-radius:999px;background:transparent;color:#71717a;font-size:.62rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.locale-switcher a.is-active{background:#000000;color:#ffffff}.button,.topbar__cta{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 24px;border-radius:999px;font-family:var(--font-label),sans-serif;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}.topbar__cta{color:#ffffff;background:#000000}.button:hover,.topbar__cta:hover{transform:translateY(-1px)}.topbar__cta:hover{background:var(--primary)}.button{border:1px solid transparent}.button--primary{color:#ffffff;background:#000000;box-shadow:0 16px 40px rgba(0,0,0,.08)}.button--primary:hover{background:var(--primary)}.button--primary:hover .button__icon{transform:translateX(2px)}.button__icon{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease}.button__icon svg{width:100%;height:100%;display:block}.button__icon--inline{width:.95rem;height:.95rem}.button--ghost{color:#000000;border-color:rgba(46,38,20,.1);background:var(--surface-light)}.button--ghost:hover{background:#f5f1e9}.button--disabled,.button--disabled:hover{cursor:default;opacity:.62;transform:none;background:var(--surface-light)}.page-loader{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:radial-gradient(circle at 50% 65%,rgba(202,253,0,.14),transparent 28%),#0f0f0f;color:#f8f5ee}.page-loader__core{display:grid;justify-items:center;grid-gap:18px;gap:18px}.page-loader__ring{width:64px;height:64px;border-radius:999px;border:2px solid rgba(248,245,238,.14);border-top:2px solid var(--primary-soft);animation:spin .9s linear infinite}.page-loader__label{font-family:var(--font-display),sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.hero{position:relative;min-height:100vh;overflow:hidden;padding-top:132px;padding-bottom:72px}.cta__leak,.hero__leak{position:absolute;pointer-events:none;background:radial-gradient(circle at center,rgba(202,253,0,.16),transparent 70%)}.hero__leak{top:0;right:0;width:800px;height:800px;transform:translate(25%,-50%);opacity:.6}.cta__inner,.hero__grid,.projects-grid,.section-heading--split{position:relative;z-index:1}.hero__grid{min-height:calc(100vh - 132px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:48px;gap:48px;align-items:center}.hero__content{grid-column:span 8}.hero__media{grid-column:span 4;position:relative}.hero__badge{width:-moz-fit-content;width:fit-content;padding:8px 16px;border-radius:999px;background:var(--surface-soft);color:#71717a;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.cta h2,.experience-card h3,.hero h1,.process-card h3,.project-card h3,.section-heading h2,.skill-card h3{margin:0;font-family:var(--font-display),sans-serif;font-weight:800;letter-spacing:-.06em}.hero h1{margin-top:28px;margin-bottom:24px;font-size:clamp(4rem,8vw,8rem);line-height:.9}.hero h1 span{color:var(--primary)}.hero h1 strong{display:inline-block;margin-top:8px;padding:6px 16px;border-radius:12px;background:var(--primary-soft)}.cta__inner p,.experience-card p,.hero__content p,.process-card p,.section-heading p,.skill-card p{color:#71717a;line-height:1.7}.hero__content>p{max-width:40rem;margin:0 0 36px;font-size:1.2rem;font-weight:300}.cta__buttons,.hero__buttons{display:flex;flex-wrap:wrap;gap:16px}.hero__image-frame{position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:1.5rem;background:var(--surface-soft);box-shadow:0 28px 60px rgba(0,0,0,.12)}.hero__image-frame img{width:100%;height:100%;object-fit:cover}.hero__status{position:absolute;left:-24px;bottom:-24px;max-width:220px;padding:24px;border-radius:18px;border:1px solid rgba(46,38,20,.06);background:var(--surface-light);box-shadow:0 18px 40px rgba(0,0,0,.08)}.hero__status p{margin:0 0 6px;color:#71717a;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero__status strong{font-size:.96rem;line-height:1.6}.process{padding:140px 0 120px;color:#ffffff;background:#000000}.section-heading{margin-bottom:64px}.section-heading--split{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}.section-heading--split span{display:block;margin-bottom:18px;color:var(--primary-soft);font-size:.72rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase}.cta h2,.section-heading h2{font-size:clamp(3rem,6vw,6rem)}.section-heading--split p{max-width:22rem;color:#a1a1aa;font-size:1.12rem}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.process-card{position:relative;padding:40px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0)),#181818;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 36px rgba(0,0,0,.28);transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}.process-card:hover{background:#435600;border-color:rgba(202,253,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 22px 44px rgba(0,0,0,.34);transform:translateY(-2px)}.process-card__index{display:block;margin-bottom:32px;color:rgba(255,255,255,.12);font-family:var(--font-display),sans-serif;font-size:3.8rem;font-weight:800}.process-card h3{margin-bottom:16px;font-size:1.35rem}.process-card p{color:#8b8b94;font-size:.94rem}.process-card:hover p{color:rgba(255,255,255,.8)}.projects,.skills{padding:120px 0;background:var(--bg)}.projects{border-top:1px solid rgba(46,38,20,.06);border-bottom:1px solid rgba(46,38,20,.06)}.section-heading--center{max-width:44rem;margin-left:auto;margin-right:auto;text-align:center}.section-heading--center p{font-size:1rem}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:32px;gap:32px;align-items:stretch}.skill-card{position:relative;overflow:hidden;padding:48px;border-radius:18px;border:1px solid rgba(46,38,20,.08);background:var(--surface-light);box-shadow:0 8px 24px rgba(0,0,0,.04);transition:box-shadow .22s ease,transform .22s ease}.skill-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(0,0,0,.08)}.skill-card--featured{background:var(--primary-soft);box-shadow:0 18px 40px rgba(202,253,0,.22)}.skill-card__icon{position:absolute;top:20px;right:20px;width:96px;height:96px;display:inline-flex;align-items:center;justify-content:center;opacity:.14;line-height:1;pointer-events:none;transition:opacity .22s ease;color:currentColor;z-index:0}.skill-card__icon svg{width:100%;height:100%;display:block}.skill-card h3{margin-bottom:20px;font-size:1.9rem}.skill-card h3,.skill-card p,.skill-card__tags{position:relative;z-index:1}.skill-card:hover .skill-card__icon{opacity:.2}.skill-card__tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:28px 0 0}.skill-card__tags li{padding:8px 14px;border-radius:999px;background:rgba(0,0,0,.06);font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.skill-card--featured .skill-card__icon,.skill-card--featured .skill-card__tags li,.skill-card--featured h3,.skill-card--featured p{color:#000000}.skill-card--featured .skill-card__tags li{background:rgba(0,0,0,.08)}.project-card{display:grid;grid-gap:24px;gap:24px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:48px;gap:48px;align-items:start}.projects-soon{display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;grid-gap:40px;gap:40px;padding:48px;border:1px solid rgba(46,38,20,.08);border-radius:24px;background:radial-gradient(circle at 20% 50%,rgba(202,253,0,.12),transparent 28%),var(--surface-light);box-shadow:0 18px 48px rgba(23,18,8,.06)}.projects-soon__visual{position:relative;display:grid;place-items:center;width:180px;aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,rgba(202,253,0,.12),transparent 65%)}.projects-soon__core,.projects-soon__ring{position:absolute;border-radius:999px}.projects-soon__ring{border:1px solid rgba(46,38,20,.14)}.projects-soon__ring--outer{inset:0;animation:orbit 2.6s linear infinite}.projects-soon__ring--inner{inset:22px;border-color:rgba(78,99,0,.24);animation:orbitReverse 2s linear infinite}.projects-soon__core{width:52px;height:52px;background:var(--primary-soft);box-shadow:0 0 0 10px rgba(202,253,0,.16),0 12px 28px rgba(78,99,0,.18)}.projects-soon__copy span{display:inline-block;margin-bottom:16px;color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase}.projects-soon__copy h3{margin:0 0 14px;font-family:var(--font-display),sans-serif;font-size:clamp(2rem,3vw,3rem);font-weight:800;letter-spacing:-.06em}.projects-soon__copy p{max-width:36rem;margin:0;color:#71717a;line-height:1.75}.project-card--offset{margin-top:96px}.project-card__image{position:relative;overflow:hidden;aspect-ratio:16/10;border-radius:18px;border:1px solid rgba(46,38,20,.06);background:var(--surface-soft)}.project-card__image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .28s ease,filter .28s ease}.project-card:hover .project-card__image img{transform:scale(1.05);filter:grayscale(0)}.project-card__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.project-card__meta span{display:block;margin-bottom:10px;color:#a1a1aa;font-size:.64rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.project-card h3{font-size:2rem}.project-card__arrow{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(46,38,20,.1);font-size:1rem;transition:background-color .18s ease,color .18s ease}.project-card:hover .project-card__arrow{background:#000000;color:#ffffff}.section-heading--projects{align-items:flex-start}.section-heading--projects h2{font-size:clamp(3.5rem,7vw,7rem);text-transform:uppercase}.section-heading--projects p{margin:0 0 20px;max-width:16rem;color:#71717a;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.section-heading--projects a{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-label),sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.cta{position:relative;overflow:hidden;padding:140px 0;background:var(--bg)}.cta__leak{left:0;bottom:0;width:800px;height:800px;transform:translate(-25%,50%);opacity:.3}.cta__inner{text-align:center}.cta h2{margin-bottom:32px;text-transform:uppercase}.cta h2 span{color:var(--primary)}.cta__copy{max-width:44rem;margin:0 auto 48px}.cta__inner p{max-width:44rem;margin:0 auto;font-size:1.2rem;font-weight:300}.cta__email{display:inline-flex;margin-top:24px;color:#202020;font-family:var(--font-display),sans-serif;font-size:1rem;font-weight:700;letter-spacing:-.02em;transition:color .18s ease}.cta__email:focus-visible,.cta__email:hover{color:var(--primary)}.cta__links{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:32px;margin-bottom:16px}.cta__social{display:inline-flex;align-items:center;gap:8px;color:#a1a1aa;transition:color .18s ease}.cta__social:focus-visible,.cta__social:hover{color:var(--primary)}.cta__social-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex:0 0 1.25rem}.cta__social-icon svg{display:block;width:1.25rem;height:1.25rem}.cta__social span:last-child{font-family:var(--font-label),sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.cta__buttons{justify-content:center}.footer{padding:48px 0;background:#000000}.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer p,.footer__links a{margin:0;color:#71717a;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.footer__links{display:flex;align-items:center;flex-wrap:wrap;gap:32px}.footer__links a{transition:color .18s ease}.footer__links a:focus-visible,.footer__links a:hover{color:#ffffff}.footer__links a.is-highlighted{color:var(--primary-soft)}.cta,.process,.projects,.skills{content-visibility:auto;contain-intrinsic-size:1px 900px}[data-reveal]{--reveal-delay:0ms}@media (prefers-reduced-motion:no-preference){[data-reveal]{opacity:0;transform:translate3d(0,32px,0);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay);will-change:opacity,transform}[data-reveal].is-visible{opacity:1;transform:translateZ(0);will-change:auto}}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.projects-soon__ring--inner,.projects-soon__ring--outer{animation:none}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes orbit{to{transform:rotate(1turn)}}@keyframes orbitReverse{to{transform:rotate(-1turn)}}@media (max-width:1080px){.hero__grid,.process-grid,.projects-grid,.skills-grid{grid-template-columns:1fr 1fr}.hero__content,.hero__media{grid-column:span 2}.section-heading--split{flex-direction:column;align-items:start}.projects-soon{grid-template-columns:1fr;justify-items:start}}@media (max-width:760px){.shell,.topbar__inner{width:min(calc(100% - 28px),var(--content-width))}.topbar{background:rgba(249,246,240,.94)}.topbar__inner{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:16px;gap:16px;padding:18px 0}.topbar__brand{width:auto;font-size:1rem}.topbar__menu-toggle{width:48px;height:48px;display:inline-grid;justify-items:center;align-content:center;gap:5px;border:1px solid rgba(46,38,20,.08);border-radius:16px;background:var(--surface-light);color:#000000;cursor:pointer}.topbar__menu-toggle span{width:18px;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.topbar__menu-toggle.is-open span:first-child{transform:translateY(7px) rotate(45deg)}.topbar__menu-toggle.is-open span:nth-child(2){opacity:0}.topbar__menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.topbar__actions,.topbar__nav{display:none;width:100%}.topbar__actions.is-open,.topbar__nav.is-open{display:flex}.topbar__nav{grid-column:1/-1;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;border:1px solid rgba(46,38,20,.06);border-radius:24px;background:var(--surface-light);box-shadow:0 16px 40px rgba(27,22,12,.08)}.topbar__nav a{width:100%;padding-bottom:0;border-bottom:0}.topbar__nav a.is-active{padding-bottom:0;color:var(--primary);border-bottom:0}.topbar__actions{grid-column:1/-1;flex-direction:column;align-items:stretch;gap:12px}.locale-switcher{width:-moz-fit-content;width:fit-content}.footer__inner{align-items:flex-start}.footer__links{gap:18px}.cta,.experience,.hero,.process,.projects,.skills{padding-top:96px}.hero{min-height:auto}.hero__grid,.process-grid,.projects-grid,.skills-grid{grid-template-columns:1fr}.hero__content,.hero__media{grid-column:span 1}.cta h2,.hero h1,.section-heading h2{font-size:clamp(3rem,16vw,4.8rem)}.cta__inner p,.hero__content>p{font-size:1rem}.button,.topbar__cta{width:100%}.cta__links{flex-wrap:wrap;gap:20px}.project-card--offset{margin-top:0}.projects-soon{padding:28px;gap:24px}.projects-soon__visual{width:140px}.hero__status{position:static;margin-top:18px;max-width:none}}