:root{--yellow:#e4ce00;--yellow-soft:#faeb68;--black:#000;--ink:#0e0e0e;--dark:#121923;--gray-700:#474747;--gray-500:#b2b2b2;--gray-400:silver;--gray-300:#d0d0d0;--gray-200:#f1f1f1;--white:#fff;--font-display:"Syne", system-ui, sans-serif;--font-body:"Outfit", system-ui, sans-serif;--grid-cols:12;--grid-col:60px;--grid-gutter:40px;--grid-width:calc(var(--grid-cols) * var(--grid-col) + (var(--grid-cols) - 1) * var(--grid-gutter));--pad:clamp(1rem, 4.5vw, 8.75rem);--nav-h:4.25rem;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}ul,ol{list-style:none}.container{width:min(100% - (var(--pad) * 2), var(--grid-width));margin-inline:auto}.grid{column-gap:clamp(.75rem, 2.8vw, var(--grid-gutter));grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;row-gap:clamp(1.25rem,3vw,2.5rem);display:grid}.span-1{grid-column:span 1}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-10{grid-column:span 10}.span-11{grid-column:span 11}.span-12{grid-column:span 12}.g-title{grid-column:1/4}.g-content{grid-column:5/-1}.g-hero-copy{grid-column:1/6}.g-hero-media{grid-column:7/-1}.g-tech-icons{grid-column:1/7}.g-tech-title{grid-column:8/-1}.g-contact-title{grid-column:1/5}.g-contact-panel{grid-column:6/-1}.section{padding-block:clamp(3rem,8vw,7.5rem);position:relative;overflow:visible}.section--dark{background:var(--black);color:var(--white)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{background:var(--yellow);color:var(--black)}@media (width<=899px){.g-title,.g-content,.g-hero-copy,.g-hero-media,.g-tech-icons,.g-tech-title,.g-contact-title,.g-contact-panel,.span-md-12{grid-column:1/-1}}@media (width>=768px){:root{--nav-h:5rem}}@media (width>=1160px){.grid{grid-template-columns:repeat(12, var(--grid-col));column-gap:var(--grid-gutter);justify-content:center}.container.grid,.container{width:var(--grid-width)}}.nav{z-index:50;height:var(--nav-h);background:color-mix(in srgb, var(--white) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:box-shadow .3s var(--ease), background .3s var(--ease);position:sticky;top:0}.nav--scrolled{box-shadow:0 1px 0 color-mix(in srgb, var(--black) 8%, transparent);background:color-mix(in srgb, var(--white) 94%, transparent)}.nav__inner{justify-content:space-between;align-items:center;gap:1rem;height:100%;display:flex}.nav__brand{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:.3rem;min-width:0;font-size:clamp(.92rem,3.5vw,1.15rem);font-weight:700;display:inline-flex}.nav__brace{color:var(--yellow);font-weight:800}.nav__links{align-items:center;gap:clamp(1rem,2.5vw,2.25rem);display:none}.nav__link{text-transform:lowercase;transition:color .25s var(--ease);padding-block:.35rem;font-size:.95rem;font-weight:500;position:relative}.nav__link:after{content:"";background:var(--yellow);width:0;height:3px;transition:width .3s var(--ease);position:absolute;bottom:-.15rem;left:50%;transform:translate(-50%)}.nav__link:hover,.nav__link.is-active{color:var(--black)}.nav__link.is-active:after,.nav__link:hover:after{width:100%}.nav__burger{flex-shrink:0;place-content:center;gap:6px;width:2.5rem;height:2.5rem;display:grid}.nav__burger span{background:var(--black);width:1.4rem;height:2px;transition:transform .3s var(--ease), opacity .3s var(--ease);display:block}.nav__burger.is-open span:first-child{transform:translateY(4px)rotate(45deg)}.nav__burger.is-open span:last-child{transform:translateY(-4px)rotate(-45deg)}.nav__drawer{inset:var(--nav-h) 0 auto 0;padding:1.25rem var(--pad) 1.75rem;background:var(--white);border-bottom:1px solid color-mix(in srgb, var(--black) 8%, transparent);max-height:calc(100dvh - var(--nav-h));flex-direction:column;gap:.25rem;display:flex;position:absolute;overflow-y:auto}.nav__drawer-link{font-family:var(--font-display);text-transform:lowercase;width:fit-content;transition:border-color .25s var(--ease);border-bottom:3px solid #0000;padding:.55rem 0;font-size:clamp(1.4rem,6vw,1.75rem);font-weight:700}.nav__drawer-link.is-active{border-bottom-color:var(--yellow)}@media (width>=860px){.nav__links{display:flex}.nav__burger{display:none}.nav__drawer{display:none!important}}.hero{padding-top:clamp(1.25rem,4vw,4rem);padding-bottom:clamp(3rem,8vw,7rem);overflow:hidden}.hero__bg{background:radial-gradient(ellipse 55% 45% at 85% 20%, color-mix(in srgb, var(--yellow) 18%, transparent), transparent 70%), radial-gradient(ellipse 40% 35% at 10% 80%, color-mix(in srgb, var(--gray-200) 80%, transparent), transparent 65%), linear-gradient(180deg, var(--white), #fafafa);pointer-events:none;z-index:-1;position:absolute;inset:0}.hero__grid{align-items:center}.hero__copy{order:2;min-width:0}.hero__media{order:1;justify-self:center;width:min(58vw,260px);max-width:100%}.hero__hello{margin-bottom:.35rem;font-size:clamp(1rem,2.4vw,1.5rem);font-weight:500}.hero__name{font-family:var(--font-display);letter-spacing:-.04em;max-width:100%;margin-bottom:1.1rem;font-size:clamp(2.35rem,11vw,5.2rem);font-weight:800;line-height:.95;display:block;position:relative}.hero__name-line{display:inline-block}.hero__mark{background:var(--yellow);z-index:-1;width:.5em;height:.5em;animation:mark-in .7s var(--ease) .35s both;border-radius:2px;position:absolute;top:.28em;left:-.04em;transform:rotate(-18deg)skew(-8deg)}@keyframes mark-in{0%{opacity:0;transform:rotate(-18deg)skew(-8deg)scale(.4)}to{opacity:1;transform:rotate(-18deg)skew(-8deg)scale(1)}}.hero__lead{max-width:28rem;color:var(--gray-700);margin-bottom:1.5rem;font-size:clamp(1rem,2.4vw,1.25rem)}.hero__lead strong{color:var(--black);font-weight:700}.hero__actions{grid-template-columns:1fr;gap:.75rem;display:grid}.btn{width:100%;min-height:3rem;transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.35rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--black);color:var(--white)}.btn--primary:hover{background:var(--ink)}.btn--ghost{border:1.5px solid color-mix(in srgb, var(--black) 18%, transparent);background:0 0}.btn--ghost:hover{border-color:var(--black);background:var(--gray-200)}.hero__ring{aspect-ratio:1;background:linear-gradient(145deg, var(--yellow), var(--yellow-soft) 45%, transparent 70%);width:100%;box-shadow:0 18px 40px color-mix(in srgb, var(--black) 12%, transparent);transition:transform .45s var(--ease);border-radius:50%;padding:.35rem}.hero__ring:hover{transform:scale(1.02)}.hero__photo{object-fit:cover;filter:grayscale();background:var(--black);border-radius:50%;width:100%;height:100%}@media (width>=480px){.hero__actions{grid-template-columns:auto auto;justify-content:start}.btn{width:auto}.hero__media{width:min(52vw,300px)}}@media (width>=900px){.hero__copy{order:1}.hero__media{width:min(100%, calc(5 * var(--grid-col) + 4 * var(--grid-gutter)));order:2;justify-self:end}.hero__name{display:inline-block}.hero__ring{padding:.45rem}}.tech-balloon{min-width:0;position:relative}.tech-balloon__trigger{width:100%;height:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;border-radius:inherit;background:0 0;border:none;margin:0;padding:0;display:block}.tech-balloon__panel{z-index:30;background:var(--black);width:min(16.5rem,100vw - 2rem);color:var(--white);border:1px solid color-mix(in srgb, var(--yellow) 70%, transparent);box-shadow:0 14px 36px color-mix(in srgb, var(--black) 28%, transparent);animation:tech-balloon-in .2s var(--ease) both;border-radius:10px;padding:.75rem .85rem;position:absolute;bottom:calc(100% + .65rem);left:50%;transform:translate(-50%)}.tech-balloon__panel:after{content:"";background:var(--black);border-right:1px solid color-mix(in srgb, var(--yellow) 70%, transparent);border-bottom:1px solid color-mix(in srgb, var(--yellow) 70%, transparent);width:.55rem;height:.55rem;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(-50%)rotate(45deg)}@keyframes tech-balloon-in{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.tech-balloon__title{font-family:var(--font-display);color:var(--yellow);margin-bottom:.3rem;font-size:.92rem;font-weight:700}.tech-balloon__blurb{color:color-mix(in srgb, var(--white) 88%, transparent);font-size:.82rem;line-height:1.45}.tech-balloon--tag{vertical-align:top;width:auto;display:inline-flex}.tech-balloon--tag .tech-balloon__trigger{width:auto;height:auto}.tech-balloon--tag .tech-balloon__panel{width:min(15.5rem,100vw - 2rem);animation-name:tech-balloon-in-tag;left:0}.tech-balloon--tag .tech-balloon__panel:after{left:1.25rem}@keyframes tech-balloon-in-tag{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tech-tag{background:var(--white);border:1px solid color-mix(in srgb, var(--black) 10%, transparent);color:var(--gray-700);z-index:0;transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .75rem .45rem .5rem;font-size:.8rem;font-weight:600;line-height:1;display:inline-flex;position:relative}.tech-tag--interactive{padding:0;overflow:visible}.tech-tag--interactive:has(.tech-balloon.is-open){z-index:6}.tech-tag__balloon{width:100%}.tech-tag__inner{align-items:center;gap:.45rem;padding:.45rem .75rem .45rem .5rem;display:inline-flex}.tech-tag__icon{border:1px solid color-mix(in srgb, var(--black) 8%, transparent);width:1.7rem;height:1.7rem;transition:background .25s var(--ease), border-color .25s var(--ease);background:#f7f7f7;border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.tech-tag__img{object-fit:contain;width:1.05rem;height:1.05rem}.tech-tag__mono{font-family:var(--font-display);letter-spacing:-.03em;color:var(--black);font-size:.55rem;font-weight:800}.tech-tag__label{padding-right:.15rem}@media (hover:hover){.tech-tag:hover,.tech-tag--interactive:hover{background:var(--black);color:var(--white);border-color:var(--black);box-shadow:0 8px 18px color-mix(in srgb, var(--black) 14%, transparent);transform:translateY(-2px)}.tech-tag:hover .tech-tag__icon,.tech-tag--interactive:hover .tech-tag__icon{background:var(--yellow);border-color:var(--yellow)}.tech-tag:hover .tech-tag__mono,.tech-tag--interactive:hover .tech-tag__mono{color:var(--black)}}.section-title{min-width:0;margin-bottom:0;position:relative;overflow:visible;container:section-title/inline-size}.section-title__label{z-index:2;font-family:var(--font-display);letter-spacing:-.03em;color:var(--black);font-size:clamp(1.75rem,5.5vw,2.5rem);font-weight:800;line-height:1.05;position:relative}.section-title--dark .section-title__label{color:var(--white)}.section-title__decor{display:none}@media (width>=900px){.section-title{height:100%;min-width:min(100%, calc(3 * var(--grid-col) + 2 * var(--grid-gutter)))}.section-title__label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-title__decor{top:calc(var(--nav-h) + 1.25rem);font-family:var(--font-display);letter-spacing:-.05em;text-transform:uppercase;color:var(--gray-500);-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;max-width:100%;font-size:min(5rem,34cqi);font-weight:800;line-height:.88;display:block;position:sticky;overflow:visible}.section-title--dark .section-title__decor{color:#3a3a3a}.section-title--right .section-title__decor{text-align:right;color:var(--gray-400);margin-inline-start:auto}.section-title__decor span{white-space:nowrap;width:100%;display:block;overflow:visible}}@supports not (font-size:1cqi){@media (width>=900px){.section-title__decor{font-size:clamp(2.5rem,4.2vw,4.75rem)}}}.experience__layout{min-width:0}.experience__content{z-index:1;min-width:0;position:relative}.experience__intro{color:var(--gray-700);max-width:42rem;margin-bottom:clamp(1.5rem,4vw,3rem);font-size:clamp(1rem,2.4vw,1.2rem)}.experience__intro strong{color:var(--black)}.timeline{--card-pad-y:1.15rem;--mark-w:1.75rem;--title-lh:1.4rem;--accent-y:calc(var(--card-pad-y) + (var(--title-lh) / 2));padding-left:calc(var(--mark-w) / 2);gap:1.15rem;display:grid}.timeline__item{gap:.55rem;min-width:0;display:grid;overflow:visible}.timeline__period{color:var(--gray-700);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;line-height:var(--title-lh)}.job-card{background:var(--gray-200);border:1px solid color-mix(in srgb, var(--black) 10%, transparent);padding:var(--card-pad-y) clamp(1rem, 3vw, 1.5rem);min-width:0;transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);border-radius:14px;gap:1.1rem;display:grid;position:relative;overflow:visible}@media (hover:hover){.job-card:hover{box-shadow:0 16px 40px color-mix(in srgb, var(--black) 8%, transparent);border-color:color-mix(in srgb, var(--yellow) 55%, transparent);transform:translateY(-3px)}}.job-card__mark{left:0;top:var(--accent-y);width:var(--mark-w);background:var(--yellow);pointer-events:none;z-index:2;border-radius:999px;height:5px;position:absolute;transform:translate(-50%,-50%)}.job-card__company{font-family:var(--font-display);font-size:clamp(1rem,2.5vw,1.15rem);font-weight:700;line-height:var(--title-lh);overflow-wrap:break-word;margin-bottom:.55rem}.job-card__desc{color:var(--gray-700);font-size:.95rem}.job-card__role{font-family:var(--font-display);font-size:clamp(.95rem,2.2vw,1.05rem);font-weight:700;line-height:var(--title-lh);margin-bottom:.65rem}.job-card__tags{flex-wrap:wrap;align-content:start;gap:.5rem;display:flex}@media (hover:hover){.show-more:hover{color:color-mix(in srgb, var(--black) 70%, transparent);border-bottom-color:var(--black)}}@media (width>=900px){.timeline{--card-pad-y:1.35rem;--mark-w:2rem;--title-lh:1.45rem;gap:1.35rem;padding-left:0}.timeline__item{grid-template-columns:7rem minmax(0,1fr);align-items:start;column-gap:1.15rem}.timeline__period{text-align:right;padding-top:calc(var(--accent-y) - (var(--title-lh) / 2))}.job-card{padding:var(--card-pad-y) 1.5rem var(--card-pad-y) 1.4rem;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.25rem 2rem}.job-card__role{text-align:right}.job-card__tags{justify-content:flex-end}}.education__layout{min-width:0}.education__content{z-index:1;min-width:0;position:relative}.education__intro{color:color-mix(in srgb, var(--white) 88%, transparent);max-width:40rem;margin-bottom:clamp(1.5rem,4vw,3rem);font-size:clamp(1rem,2.4vw,1.2rem)}.education__intro strong{color:var(--white);font-weight:700}.edu-list{--card-pad-y:1.15rem;--mark-w:1.75rem;--title-lh:1.35rem;--accent-y:calc(var(--card-pad-y) + (var(--title-lh) / 2));padding-left:calc(var(--mark-w) / 2);padding-right:calc(var(--mark-w) / 2);gap:1rem;display:grid}.edu-card{background:var(--gray-200);color:var(--black);border:1px solid color-mix(in srgb, var(--black) 10%, transparent);padding:var(--card-pad-y) clamp(1rem, 3vw, 1.7rem);width:100%;max-width:34rem;transition:transform .3s var(--ease), box-shadow .3s var(--ease);border-radius:14px;gap:0;display:grid;position:relative;overflow:visible}@media (hover:hover){.edu-card:hover{box-shadow:0 18px 40px color-mix(in srgb, var(--black) 35%, transparent);transform:translateY(-4px)}}.edu-card__mark{left:0;top:var(--accent-y);width:var(--mark-w);background:var(--yellow);pointer-events:none;z-index:2;border-radius:999px;height:5px;position:absolute;transform:translate(-50%,-50%)}.edu-card__title{font-family:var(--font-display);font-size:clamp(.98rem,2.5vw,1.05rem);font-weight:700;line-height:var(--title-lh);overflow-wrap:break-word;margin-bottom:.35rem}.edu-card__detail{color:var(--gray-700);margin-bottom:.55rem;font-size:.92rem}.edu-card__meta{flex-wrap:wrap;align-items:center;gap:.75rem 1.1rem;display:flex}.edu-card__period{font-variant-numeric:tabular-nums;color:var(--gray-700);font-weight:600}.edu-card__link{color:var(--black);border-bottom:2px solid var(--yellow);transition:color .25s var(--ease), border-color .25s var(--ease);padding-bottom:.05rem;font-size:.88rem;font-weight:700}.show-more{margin-inline:auto;width:fit-content;color:var(--black);border-bottom:2px solid var(--yellow);transition:color .25s var(--ease), border-color .25s var(--ease);justify-content:center;align-items:center;margin-top:clamp(1.25rem,3vw,1.75rem);padding-bottom:.1rem;font-size:.95rem;font-weight:700;display:flex}@media (hover:hover){.edu-card__link:hover{color:color-mix(in srgb, var(--black) 70%, transparent);border-bottom-color:var(--black)}}.show-more--on-dark{color:var(--white);border-bottom-color:var(--yellow)}@media (hover:hover){.show-more--on-dark:hover{color:var(--yellow-soft);border-bottom-color:var(--white)}}@media (width>=900px){.edu-list{--card-pad-y:1.35rem;--mark-w:2rem;--title-lh:1.4rem;padding-left:calc(var(--mark-w) / 2);padding-right:calc(var(--mark-w) / 2)}.edu-card--right{margin-left:auto}.edu-card--left{margin-left:min(8%,3rem);margin-right:auto}.edu-card--right .edu-card__mark{left:0}}.technologies__layout{align-items:center;min-width:0}.technologies__grid-wrap{z-index:1;min-width:0;position:relative}.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid;overflow:visible}.tech-item{border:1px solid color-mix(in srgb, var(--black) 8%, transparent);background:color-mix(in srgb, var(--gray-200) 55%, var(--white));cursor:pointer;min-width:0;transition:border-color .25s var(--ease), background .25s var(--ease);z-index:0;border-radius:12px;place-items:stretch stretch;padding:0;display:grid;overflow:visible}.tech-item:focus-within{z-index:5;border-color:var(--yellow);background:var(--white)}.tech-item:has(.tech-balloon.is-open){z-index:5;border-color:var(--yellow);background:var(--white)}.tech-item__inner{place-items:center;gap:.4rem;min-height:100%;padding:.75rem .35rem;display:grid}@media (hover:hover){.tech-item:hover{border-color:var(--yellow);background:var(--white)}}.tech-item__icon{width:2.75rem;height:2.75rem;color:var(--black);place-items:center;display:grid}.tech-item__img{object-fit:contain;width:2.1rem;height:2.1rem}.tech-item__icon svg{width:2rem;height:2rem}.tech-glyph__text{font-family:var(--font-display);letter-spacing:-.02em;text-align:center;overflow-wrap:break-word;max-width:100%;font-size:.68rem;font-weight:800;line-height:1.1}.tech-glyph__badge{background:var(--black);min-width:2.1rem;height:2.1rem;color:var(--white);font-family:var(--font-display);border-radius:6px;place-items:center;padding:0 .3rem;font-size:.72rem;font-weight:700;display:inline-grid}.tech-glyph__badge--js{background:var(--yellow);color:var(--black)}.tech-item__name{color:var(--gray-700);text-align:center;overflow-wrap:break-word;max-width:100%;font-size:.72rem;font-weight:600}@media (width>=480px){.tech-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.tech-glyph__text{font-size:.75rem}.tech-item__name{font-size:.76rem}}@media (width>=900px){.technologies__title{order:2}.technologies__grid-wrap{order:1}.tech-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.tech-item{border-radius:14px;padding:0}.tech-item__inner{padding:.9rem .5rem}.tech-item__icon{width:3rem;height:3rem}.tech-item__icon svg{width:2.35rem;height:2.35rem}.tech-glyph__text{font-size:.78rem}.tech-glyph__badge{min-width:2.4rem;height:2.4rem;font-size:.78rem}.tech-item__name{font-size:.78rem}}.projects{color:var(--black);background:#e5cf0a}.projects__layout{min-width:0}.projects__content{z-index:1;min-width:0;position:relative}.projects__intro{color:color-mix(in srgb, var(--black) 72%, transparent);max-width:40rem;margin-bottom:clamp(1.5rem,4vw,3rem);font-size:clamp(1rem,2.4vw,1.2rem)}.projects__intro strong{color:var(--black);font-weight:700}.project-list{gap:clamp(1.5rem,4vw,2.5rem);display:grid}.project-item{border-bottom:1px solid color-mix(in srgb, var(--black) 18%, transparent);padding-bottom:clamp(1.25rem,3vw,2rem)}.project-item:last-child{border-bottom:none;padding-bottom:0}.project-item__head{flex-direction:column;gap:.4rem;margin-bottom:.55rem;display:flex}.project-item__title-row{align-items:center;gap:.65rem;display:flex}.project-item__mark{background:var(--black);width:1.75rem;height:5px;transition:width .3s var(--ease);border-radius:999px;flex-shrink:0}.project-item__name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--black);font-size:clamp(1.35rem,3.2vw,1.85rem);font-weight:700;line-height:1.15}.project-item__meta{flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding-left:2.4rem;display:flex}.project-item__role{color:color-mix(in srgb, var(--black) 68%, transparent);font-size:.9rem;font-weight:600}.project-item__status{letter-spacing:.04em;text-transform:uppercase;color:var(--yellow);background:var(--black);padding:.2rem .5rem;font-size:.78rem;font-weight:700}.project-item__desc{color:color-mix(in srgb, var(--black) 72%, transparent);max-width:38rem;margin-bottom:.75rem;padding-left:2.4rem;font-size:.98rem}.project-item__link{color:var(--black);border-bottom:2px solid var(--black);transition:color .25s var(--ease), border-color .25s var(--ease), opacity .25s var(--ease);margin-left:2.4rem;padding-bottom:.08rem;font-size:.92rem;font-weight:700;display:inline-block}@media (hover:hover){.project-item__link:hover{opacity:.65}.project-item:hover .project-item__mark{width:2.5rem}}@media (width>=900px){.projects__title .section-title__decor{color:color-mix(in srgb, var(--black) 28%, transparent)}.project-item__mark{width:2rem}.project-item__meta,.project-item__desc{padding-left:2.65rem}.project-item__link{margin-left:2.65rem}}.contact{padding-bottom:1.25rem}.contact__layout{min-width:0;padding-bottom:clamp(2.5rem,7vw,5rem)}.contact__head{min-width:0;position:relative;overflow:visible;container:contact-title/inline-size}.contact__heading{z-index:2;font-family:var(--font-display);letter-spacing:-.03em;color:var(--white);font-size:clamp(1.75rem,5.5vw,2.5rem);font-weight:800;line-height:1.05;position:relative}.contact__decor{display:none}.contact__panel{z-index:1;width:100%;min-width:0;position:relative}.contact__lead{color:color-mix(in srgb, var(--white) 85%, transparent);margin-bottom:1.35rem;font-size:clamp(1rem,2.4vw,1.2rem)}.contact__links{flex-wrap:wrap;gap:.65rem 1.1rem;margin-bottom:1.75rem;display:flex}.contact__links a,.contact__links span{overflow-wrap:anywhere;transition:border-color .25s var(--ease), color .25s var(--ease);border-bottom:2px solid #0000;padding-bottom:.1rem;font-size:.95rem;font-weight:600}@media (hover:hover){.contact__links a:hover{color:var(--yellow);border-bottom-color:var(--yellow)}}.contact__form{gap:.9rem;display:grid;position:relative}.contact__form label{gap:.35rem;min-width:0;display:grid}.contact__form span{color:var(--gray-400);font-size:.85rem;font-weight:600}.contact__form input,.contact__form textarea{border:1px solid color-mix(in srgb, var(--white) 18%, transparent);background:color-mix(in srgb, var(--white) 6%, transparent);width:100%;max-width:100%;color:var(--white);font:inherit;transition:border-color .25s var(--ease), background .25s var(--ease);border-radius:10px;padding:.85rem 1rem}.contact__form input:focus,.contact__form textarea:focus{border-color:var(--yellow);background:color-mix(in srgb, var(--white) 10%, transparent);outline:none}.contact__form textarea{resize:vertical;min-height:7rem}.contact__hp{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.contact__feedback{margin-top:.15rem;font-size:.9rem;font-weight:600}.contact__feedback--ok{color:var(--yellow)}.contact__feedback--error{color:#ff8f8f}.btn--yellow{background:var(--yellow);color:var(--black);width:100%;min-height:3rem;transition:transform .25s var(--ease), background .25s var(--ease);border-radius:999px;justify-self:stretch;margin-top:.35rem;padding:.7rem 1.4rem;font-weight:700}.btn--yellow:disabled{opacity:.7;cursor:wait;transform:none}@media (hover:hover){.btn--yellow:hover:not(:disabled){background:var(--yellow-soft);transform:translateY(-2px)}}.contact__footer{border-top:1px solid color-mix(in srgb, var(--white) 14%, transparent);color:var(--gray-500);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding-block:1.35rem;font-size:.88rem;display:flex}.contact__footer .nav__brace{color:var(--yellow)}@media (width>=480px){.btn--yellow{justify-self:start;width:auto}}@media (width>=900px){.contact__heading{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact__decor{top:calc(var(--nav-h) + 1.25rem);font-family:var(--font-display);letter-spacing:-.05em;color:#777;text-transform:uppercase;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;max-width:100%;font-size:min(5.5rem,42cqi);font-weight:800;line-height:.88;display:block;position:sticky;overflow:visible}.contact__decor span{white-space:nowrap;width:100%;display:block;overflow:visible}}@supports not (font-size:1cqi){@media (width>=900px){.contact__decor{font-size:clamp(3rem,5vw,5.5rem)}}}
