:root{--color-background: #ffffff;--color-surface: #f7f7f5;--color-text: #1d1f20;--color-muted: #6f7274;--color-border: #e8e8e5;--color-dark-overlay: rgba(17, 21, 24, .72);--color-hero-overlay: rgba(30, 30, 24, .32);--color-warm: #e7e1b5;--color-white: #ffffff;--color-focus: #1d1f20;--font-family: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;--size-hero-title: clamp(2rem, 5vw, 4.2rem);--size-section-title: clamp(1.8rem, 3vw, 3rem);--size-project-title: clamp(2.2rem, 6vw, 5.5rem);--size-body: clamp(1rem, .95vw, 1.1875rem);--size-label: .72rem;--tracking-label: .14em;--tracking-wordmark: .08em;--space-page-desktop: 64px;--space-page-tablet: 36px;--space-page-mobile: 20px;--header-height-desktop: 84px;--header-height-desktop-compact: 68px;--header-height-mobile: 68px;--max-width-content: 1200px;--ease-standard: cubic-bezier(.22, 1, .36, 1);--duration-fast: .22s;--duration-medium: .42s;--duration-slow: .75s;--radius-none: 0px;--z-header: 100;--z-menu: 200}@media (max-width: 1023px){:root{--space-page-desktop: 28px}}@media (max-width: 767px){:root{--space-page-desktop: 18px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background-color:var(--color-background);color:var(--color-text);font-family:var(--font-family);font-size:var(--size-body);line-height:1.6;overflow-x:hidden}html,body{max-width:100%}#root{overflow-x:clip}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p{margin:0}.container{width:100%;max-width:var(--max-width-content);margin-inline:auto;padding-inline:var(--space-page-desktop)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-60px;left:16px;z-index:1000;background:var(--color-text);color:var(--color-white);padding:12px 20px;border-radius:2px;transition:top var(--duration-fast) var(--ease-standard)}.skip-link:focus{top:16px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.label{font-size:var(--size-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600}.section-title{font-size:var(--size-section-title);font-weight:700;letter-spacing:-.01em;line-height:1.1}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.site-header{position:sticky;top:0;z-index:var(--z-header);background-color:var(--color-white);border-bottom:1px solid transparent}.site-header.is-scrolled{box-shadow:0 1px #0000000a,0 8px 24px #0000000a;border-bottom-color:var(--color-border)}.site-header__inner{max-width:var(--max-width-content);margin-inline:auto;padding-inline:var(--space-page-desktop);height:var(--header-height-desktop);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;transition:height var(--duration-fast) var(--ease-standard)}.site-header.is-scrolled .site-header__inner{height:var(--header-height-desktop-compact)}.site-header__nav{display:flex;align-items:center;gap:28px;grid-column:1}.site-header__nav-link{font-size:.82rem;letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600;padding:6px 2px;position:relative}.site-header__nav-link:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background-color:var(--color-text);transition:right var(--duration-fast) var(--ease-standard)}.site-header__nav-link:hover:after,.site-header__nav-link:focus-visible:after{right:0}.site-header__brand{grid-column:2;justify-self:center}.site-header__social{display:flex;align-items:center;justify-content:flex-end;gap:18px;grid-column:3}.site-header__icon-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-text);transition:opacity var(--duration-fast) var(--ease-standard)}.site-header__icon-link:hover,.site-header__icon-link:focus-visible{opacity:.55}.site-header__nav-desktop,.site-header__social{display:flex}.site-header__menu-toggle{display:none}.logo{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-family);font-weight:700;font-stretch:condensed;text-transform:uppercase;letter-spacing:var(--tracking-wordmark);font-size:1.15rem;color:var(--color-text);white-space:nowrap;padding:4px 0}.logo__line{position:absolute;left:-4px;right:-4px;top:50%;height:1.5px;background-color:currentColor;transform:translateY(-50%);pointer-events:none}.logo__layer{position:relative}.logo__layer--ghost{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.logo.is-glitching .logo__layer--base{animation:logo-glitch-base .22s var(--ease-standard)}.logo.is-glitching .logo__layer--ghost{animation:logo-glitch-ghost .22s var(--ease-standard)}@keyframes logo-glitch-base{0%{transform:translate(0)}30%{transform:translate(-2px)}60%{transform:translate(1px)}to{transform:translate(0)}}@keyframes logo-glitch-ghost{0%{opacity:0;transform:translate(0)}35%{opacity:.6;transform:translate(3px)}70%{opacity:.35;transform:translate(-2px)}to{opacity:0;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.logo.is-glitching .logo__layer--base,.logo.is-glitching .logo__layer--ghost{animation:none}}@media (max-width: 1023px){.site-header__inner{grid-template-columns:auto 1fr auto;height:var(--header-height-mobile);padding-inline:var(--space-page-mobile)}.site-header.is-scrolled .site-header__inner{height:var(--header-height-mobile)}.site-header__nav-desktop,.site-header__social{display:none}.site-header__brand{grid-column:1;justify-self:start}.site-header__menu-toggle{display:inline-flex;align-items:center;justify-content:center;grid-column:3;justify-self:end;width:44px;height:44px;background:none;border:none;cursor:pointer;color:var(--color-text)}}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-menu);background-color:var(--color-white);display:flex;flex-direction:column}.mobile-menu__top{height:var(--header-height-mobile);display:flex;align-items:center;justify-content:flex-end;padding-inline:var(--space-page-mobile);border-bottom:1px solid var(--color-border);flex-shrink:0}.mobile-menu__close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;cursor:pointer;color:var(--color-text)}.mobile-menu__body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--space-page-mobile);gap:48px;overflow-y:auto}.mobile-menu__nav{display:flex;flex-direction:column;gap:22px}.mobile-menu__nav-link{font-size:clamp(1.6rem,8vw,2.4rem);font-weight:700;text-transform:uppercase;letter-spacing:.01em;display:inline-block;padding:4px 0}.mobile-menu__social{display:flex;flex-direction:column;gap:16px}.mobile-menu__social-link{display:inline-flex;align-items:center;gap:12px;font-size:.95rem;letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600;padding:10px 0}.hero{position:relative;width:100%;height:60vh;min-height:480px;overflow:hidden;background-color:var(--color-text)}.hero__media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--color-hero-overlay) 0%,rgba(17,18,15,.42) 55%,rgba(12,13,11,.55) 100%)}.hero__content{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-inline:var(--space-page-mobile);color:var(--color-white)}.hero__title{font-size:var(--size-hero-title);font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;margin:0}.hero__subtitle{margin-top:18px;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;opacity:.92}@media (max-width: 767px){.hero{height:70vh;min-height:480px}.hero__subtitle{margin-top:14px}}.portfolio{padding-block:6px 96px}.portfolio__grid{max-width:var(--max-width-content);margin-inline:auto;padding-inline:var(--space-page-desktop);display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.project-card{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;background-color:var(--color-surface)}.project-card__media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--duration-medium) var(--ease-standard)}.project-card:hover .project-card__media,.project-card:focus-visible .project-card__media{transform:scale(1.03)}.project-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-dark-overlay);transition:background-color var(--duration-medium) var(--ease-standard)}.project-card:hover .project-card__overlay,.project-card:focus-visible .project-card__overlay{background-color:#11151880}.project-card__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-white);font-size:clamp(1.4rem,2.6vw,2.1rem);font-weight:700;text-transform:uppercase;letter-spacing:.04em;transition:transform var(--duration-medium) var(--ease-standard)}.project-card:hover .project-card__label,.project-card:focus-visible .project-card__label{transform:translateY(-4px)}@media (max-width: 1023px){.portfolio__grid{grid-template-columns:repeat(2,1fr);gap:8px}}@media (max-width: 767px){.portfolio{padding-block:0 64px}.portfolio__grid{grid-template-columns:1fr;gap:14px;padding-inline:var(--space-page-mobile);padding-top:14px}.project-card{aspect-ratio:4 / 3}}.about{background-color:var(--color-surface);padding-block:96px}.about__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.about__portrait{position:relative;width:100%;aspect-ratio:4 / 5;overflow:hidden;background-color:var(--color-border)}.about__portrait-media{width:100%;height:100%;object-fit:cover;display:block}.about__portrait-media[data-media-fallback]{display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-size:var(--size-label);letter-spacing:var(--tracking-label);text-transform:uppercase;text-align:center;padding:24px;background:linear-gradient(135deg,var(--color-border),var(--color-surface))}.about__text .label{color:var(--color-muted);margin-bottom:18px;display:block}.about__text h2{margin-bottom:26px}.about__text p{color:var(--color-muted);margin-bottom:18px;max-width:52ch}.about__text p:last-child{margin-bottom:0}.about__facts{margin-top:32px;padding-top:28px;border-top:1px solid var(--color-border);display:grid;gap:20px}.about__fact dt{color:var(--color-muted);margin-bottom:4px}.about__fact dd{margin:0;font-weight:600;max-width:52ch}@media (max-width: 1023px){.about__grid{grid-template-columns:1fr;gap:40px}.about__portrait{max-width:420px}}@media (max-width: 767px){.about{padding-block:64px}}.contact{background-color:var(--color-text);color:var(--color-white);padding-block:110px;text-align:center}.contact__label{color:#fff9;display:block;margin-bottom:22px}.contact__title{font-size:var(--size-section-title);font-weight:700;letter-spacing:-.01em;max-width:16ch;margin-inline:auto}.contact__intro{margin:26px auto 0;max-width:46ch;color:#ffffffb8}.contact__email{display:inline-block;margin-top:44px;font-size:clamp(1.3rem,4.2vw,2.4rem);font-weight:700;letter-spacing:-.01em;word-break:break-word;overflow-wrap:anywhere;border-bottom:1.5px solid rgba(255,255,255,.3);padding-bottom:6px;transition:border-color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.contact__email:hover,.contact__email:focus-visible{border-color:var(--color-white);opacity:.85}.contact__social{display:flex;justify-content:center;gap:36px;margin-top:56px;flex-wrap:wrap}.contact__social-link{display:inline-flex;align-items:center;gap:10px;font-size:.82rem;letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600;color:#ffffffd1;padding:12px 4px;transition:color var(--duration-fast) var(--ease-standard)}.contact__social-link:hover,.contact__social-link:focus-visible{color:var(--color-white)}@media (max-width: 767px){.contact{padding-block:72px}.contact__social{flex-direction:column;gap:4px;align-items:center}.contact__social-link{padding:14px 4px}}.site-footer{background-color:var(--color-white);border-top:1px solid var(--color-border);padding-block:48px}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.site-footer__nav{display:flex;flex-wrap:wrap;gap:22px}.site-footer__nav-link{font-size:.78rem;letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600;color:var(--color-muted);transition:color var(--duration-fast) var(--ease-standard)}.site-footer__nav-link:hover,.site-footer__nav-link:focus-visible{color:var(--color-text)}.site-footer__social{display:flex;gap:18px}.site-footer__icon-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-muted);transition:color var(--duration-fast) var(--ease-standard)}.site-footer__icon-link:hover,.site-footer__icon-link:focus-visible{color:var(--color-text)}.site-footer__bottom{width:100%;margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border);font-size:.76rem;letter-spacing:.04em;color:var(--color-muted);text-align:center}@media (max-width: 767px){.site-footer__inner{flex-direction:column;align-items:center;text-align:center}.site-footer__nav{justify-content:center}}.legal-page{padding-block:72px 110px}.legal-page__column{max-width:680px;margin-inline:auto}.legal-page__dev-note{background-color:var(--color-warm);border:1px solid rgba(0,0,0,.08);padding:16px 20px;font-size:.85rem;line-height:1.5;margin-bottom:48px}.legal-page h1{font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:700;margin-bottom:8px}.legal-page__intro{color:var(--color-muted);margin-bottom:40px}.legal-page section{margin-bottom:34px}.legal-page h2{font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.legal-page p{color:var(--color-muted);margin-bottom:10px}.legal-page address{font-style:normal;color:var(--color-muted)}.not-found{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px var(--space-page-mobile);gap:18px}.not-found__code{font-size:clamp(3rem,12vw,6rem);font-weight:800;letter-spacing:.02em}.not-found__title{font-size:var(--size-section-title);font-weight:700}.not-found__text{color:var(--color-muted);max-width:42ch}.not-found__link{margin-top:18px;display:inline-block;padding:14px 30px;border:1.5px solid var(--color-text);font-size:.82rem;letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.not-found__link:hover,.not-found__link:focus-visible{background-color:var(--color-text);color:var(--color-white)}.project-hero{width:100%;aspect-ratio:16 / 9;max-height:82vh;background-color:var(--color-text);overflow:hidden}.project-hero__media{width:100%;height:100%;object-fit:cover}.project-head{padding-block:56px 40px}.project-head__grid{display:grid;grid-template-columns:1.4fr .8fr;gap:48px;align-items:start}.project-head__category{color:var(--color-muted);display:block;margin-bottom:16px}.project-head__title{font-size:var(--size-project-title);font-weight:800;letter-spacing:-.01em;line-height:1.02;text-transform:uppercase;margin-bottom:22px}.project-head__description{color:var(--color-muted);max-width:58ch}.project-head__meta{display:grid;gap:20px;align-content:start;padding-top:8px}.project-head__meta-item dt{font-size:var(--size-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);margin-bottom:4px}.project-head__meta-item dd{margin:0;font-weight:600}.project-gallery{padding-bottom:96px}.project-gallery__label{display:block;color:var(--color-muted);margin-bottom:16px}.project-gallery__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,320px));justify-content:center;gap:4px}.project-gallery__item{position:relative;aspect-ratio:9 / 16;overflow:hidden;background-color:var(--color-surface)}.project-gallery__item img,.project-gallery__item video{width:100%;height:100%;object-fit:cover;background-color:var(--color-surface)}.project-nav{border-top:1px solid var(--color-border);padding-block:40px 96px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.project-nav__link{font-size:.82rem;letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600;padding:10px 2px;position:relative}.project-nav__link:after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background-color:var(--color-text);transition:right var(--duration-fast) var(--ease-standard)}.project-nav__link:hover:after,.project-nav__link:focus-visible:after{right:0}.project-nav__next{text-align:right}@media (max-width: 1023px){.project-hero{aspect-ratio:4 / 3;max-height:none}.project-head__grid{grid-template-columns:1fr;gap:28px}.project-gallery__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.project-head{padding-block:36px 8px}.project-gallery__grid{grid-template-columns:1fr;gap:14px;max-width:360px;margin-inline:auto}.project-gallery{padding-bottom:64px}.project-nav{padding-block:28px 64px}}.project-not-found{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:96px var(--space-page-mobile)}.photos-page{padding-block:48px 110px}.photos-page__head{max-width:62ch;margin-bottom:40px}.photos-page__head .label{color:var(--color-muted);display:block;margin-bottom:16px}.photos-page__head p{color:var(--color-muted);margin-top:16px}.photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.photos-grid__item{position:relative;aspect-ratio:4 / 5;overflow:hidden;background-color:var(--color-surface)}.photos-grid__item img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-medium) var(--ease-standard)}.photos-grid__item:hover img,.photos-grid__item:focus-within img{transform:scale(1.03)}@media (max-width: 1023px){.photos-grid{grid-template-columns:repeat(2,1fr);gap:3px}}@media (max-width: 767px){.photos-grid{grid-template-columns:1fr;gap:14px}.photos-page{padding-block:32px 72px}}
