:root{--bg: #ffffff;--ink: #1a1815;--line: #efece7;--muted: #7a746b;--muted-2: #5a554d;--muted-3: #a8a299;--hair: #d9d4cc;--max: 1480px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Jost,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.shell{min-height:100vh;background:var(--bg)}.container{max-width:var(--max);margin:0 auto;padding:0 40px}.header{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.header__inner{max-width:var(--max);margin:0 auto;padding:22px 40px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:19px;font-weight:400;letter-spacing:.02em}.nav{display:flex;align-items:center;gap:38px}.nav__group{position:relative}.nav__trigger{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);display:flex;align-items:center;gap:6px}.nav__caret{font-size:9px;opacity:.5}.nav__menu{position:absolute;top:100%;left:-12px;padding:14px 18px 16px;min-width:180px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px #00000012;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.nav__group:hover .nav__menu,.nav__group:focus-within .nav__menu{opacity:1;transform:translateY(0);pointer-events:auto}.nav__item{display:block;padding:9px 4px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);cursor:pointer;transition:color .15s ease}.nav__item:hover{color:var(--ink)}.nav__cta{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--ink);border:1px solid var(--ink);padding:9px 20px;transition:opacity .15s ease}.nav__cta:hover{opacity:.82}.hero{padding:120px 0 60px}.hero__title{margin:0;max-width:1120px;font-size:clamp(2.1rem,5vw,4.2rem);font-weight:300;line-height:1.12;letter-spacing:-.01em}.filter{scroll-margin-top:90px;padding-bottom:34px;border-bottom:1px solid var(--line);margin-bottom:34px}.filter__row{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center}.chip{appearance:none;border:none;background:none;cursor:pointer;padding:4px 0;font-family:Jost,sans-serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-3);border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.chip:hover{color:var(--ink)}.chip[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}.grid{padding-bottom:90px}.grid__cols{column-count:1;column-gap:14px}@media(min-width:600px){.grid__cols{column-count:2}}@media(min-width:1024px){.grid__cols{column-count:3}}.tile{display:block;width:100%;height:auto;break-inside:avoid;margin-bottom:14px;background:var(--line)}.tile[hidden]{display:none}@keyframes riseIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.js .header{animation:riseIn .7s ease both}.js .hero__title{animation:riseIn .9s cubic-bezier(.22,1,.36,1) both;animation-delay:.08s}.js .filter{animation:riseIn .8s ease both;animation-delay:.16s}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}.js .reveal.is-visible{opacity:1;transform:none}.grid__cols{transition:opacity .2s ease}.grid__cols.is-switching{opacity:0}@media(prefers-reduced-motion:reduce){.js .header,.js .hero__title,.js .filter{animation:none}.js .reveal{opacity:1;transform:none;transition:none}.grid__cols{transition:none}}.footer{border-top:1px solid var(--line);scroll-margin-top:90px}.footer__inner{max-width:var(--max);margin:0 auto;padding:60px 40px 70px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.footer__name{font-size:20px;font-weight:400;letter-spacing:.02em}.footer__contact{font-size:14px;color:var(--muted);line-height:1.7}.footer__contact a{border-bottom:1px solid var(--hair);transition:color .15s ease}.footer__contact a:hover{color:var(--ink)}.footer__dot{margin:0 12px;color:#cfc9c0}@media(max-width:640px){.container,.header__inner,.footer__inner{padding-left:22px;padding-right:22px}.nav{gap:22px}.hero{padding:80px 0 48px}}
