:root{--paper: #f4f3ee;--paper-2: #eceae1;--ink: #17191e;--ink-soft: #5f636c;--hair: #dad7cc;--accent: #2e43d6;--accent-2: #1b2aa6;--display: "Bricolage Grotesque", system-ui, sans-serif;--body: "Inter", system-ui, sans-serif;--mono: "Space Mono", ui-monospace, monospace;--max: 1080px;--pad: clamp(1.25rem, 5vw, 4rem)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}.mono{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.topbar{display:flex;align-items:center;justify-content:space-between;padding-block:1.6rem;border-bottom:1px solid var(--hair)}.brand{display:flex;align-items:center;gap:.7rem;font-family:var(--mono);font-weight:700;letter-spacing:.06em;font-size:.9rem}.brand .mark{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;background:var(--ink);color:var(--paper);border-radius:2px;font-size:.72rem;letter-spacing:0}.topnav{display:flex;gap:1.6rem}.topnav a{position:relative}.topnav a:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--accent);transition:width .25s ease}.topnav a:hover:after,.topnav a:focus-visible:after{width:100%}.hero{padding-block:clamp(3.5rem,11vw,8rem) clamp(2.5rem,7vw,5rem)}.hero .eyebrow{display:block;margin-bottom:1.8rem}.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(3.3rem,13vw,9.5rem);line-height:.92;letter-spacing:-.02em;margin-bottom:1.6rem}.hero h1 .amp{color:var(--accent);font-style:italic;font-weight:500}.hero .lede{font-family:var(--display);font-weight:300;font-size:clamp(1.25rem,3.2vw,1.9rem);line-height:1.3;max-width:40ch;color:var(--ink)}.hero .about{margin-top:2.4rem;max-width:52ch;color:var(--ink-soft);font-size:1.02rem}.section{padding-block:clamp(3rem,8vw,6rem);border-top:1px solid var(--hair)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2.5rem}.section-head h2{font-family:var(--display);font-weight:600;font-size:clamp(1.4rem,4vw,2.2rem);letter-spacing:-.01em}.works{border-top:1px solid var(--hair)}.work{display:grid;grid-template-columns:3.2rem 1fr auto;align-items:baseline;gap:1rem;padding-block:1.5rem;border-bottom:1px solid var(--hair);transition:padding-left .25s ease,background .25s ease}.work:hover,.work:focus-within{padding-left:.9rem;background:var(--paper-2)}.work .idx{font-family:var(--mono);font-size:.8rem;color:var(--accent);padding-top:.35rem}.work .name{font-family:var(--display);font-weight:600;font-size:clamp(1.5rem,4.5vw,2.4rem);line-height:1.05;letter-spacing:-.01em}.work .name .meta{display:block;font-family:var(--body);font-weight:400;font-size:.98rem;line-height:1.5;color:var(--ink-soft);margin-top:.5rem;letter-spacing:0}.work .tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;padding-top:.5rem}.work .arrow{display:inline-block;transition:transform .25s ease,color .25s ease;color:var(--ink)}.work:hover .arrow,.work:focus-within .arrow{transform:translate(6px);color:var(--accent)}.contact .lines{display:grid;gap:.2rem;margin-top:.5rem}.contact .row{display:flex;align-items:baseline;gap:1.2rem;padding-block:1.15rem;border-bottom:1px solid var(--hair);font-family:var(--display);font-size:clamp(1.3rem,4vw,2rem);font-weight:500;letter-spacing:-.01em}.contact .row:first-child{border-top:1px solid var(--hair)}.contact .row .label{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);width:5.5rem;flex:none;align-self:center}.contact .row a{border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}.contact .row a:hover,.contact .row a:focus-visible{color:var(--accent);border-color:var(--accent)}.back{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:2.5rem;transition:color .2s ease,gap .2s ease}.back:hover,.back:focus-visible{color:var(--accent);gap:.75rem}.phead{padding-block:2rem clamp(2.5rem,6vw,4rem)}.phead .eyebrow{display:block;margin-bottom:1.4rem}.phead h1{font-family:var(--display);font-weight:700;font-size:clamp(2.6rem,9vw,6rem);line-height:.95;letter-spacing:-.02em;margin-bottom:1.4rem}.phead .lede{font-family:var(--display);font-weight:300;font-size:clamp(1.2rem,3vw,1.7rem);line-height:1.3;max-width:46ch;color:var(--ink)}.meta-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem 2rem;padding-block:1.8rem;border-block:1px solid var(--hair)}.meta-strip .item .k{display:block;margin-bottom:.4rem}.meta-strip .item .v{font-family:var(--display);font-size:1.05rem;font-weight:500}.meta-strip .item .v a{border-bottom:1px solid var(--accent);color:var(--accent)}.meta-strip .item .v a:hover{color:var(--accent-2)}.body{padding-block:clamp(2.5rem,7vw,4.5rem)}.body .col{max-width:62ch}.body h2{font-family:var(--display);font-weight:600;font-size:clamp(1.3rem,3.5vw,1.8rem);letter-spacing:-.01em;margin:2.5rem 0 1rem}.body h2:first-child{margin-top:0}.body p{margin-bottom:1.2rem;font-size:1.05rem}.body ul{margin:0 0 1.2rem 1.2rem}.body li{margin-bottom:.5rem}.media{padding-bottom:clamp(2rem,6vw,4rem);display:grid;gap:1.5rem}figure{margin:0;border:1px solid var(--hair);border-radius:4px;overflow:hidden;background:var(--paper-2)}figure img{width:100%;height:auto}figcaption{padding:.8rem 1rem;font-size:.85rem;color:var(--ink-soft);border-top:1px solid var(--hair)}.media-label{display:block;margin:1.4rem 0 .2rem}.phones{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;align-items:start}.phones figure{background:var(--paper-2)}.phones figcaption{font-size:.78rem}@media(max-width:640px){.phones{grid-template-columns:repeat(2,1fr)}}.actions{display:flex;flex-wrap:wrap;gap:.8rem;padding-bottom:clamp(2.5rem,7vw,4.5rem)}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 1.3rem;border-radius:3px;border:1px solid var(--ink);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease}.btn:hover,.btn:focus-visible{transform:translateY(-1px)}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover,.btn.primary:focus-visible{background:var(--accent);border-color:var(--accent)}.btn.ghost:hover,.btn.ghost:focus-visible{background:var(--ink);color:var(--paper)}.pager{display:flex;justify-content:space-between;gap:1rem;padding-block:2rem;border-top:1px solid var(--hair);font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.pager a:hover,.pager a:focus-visible{color:var(--accent)}.pager .disabled{color:var(--hair);pointer-events:none}footer.site{padding-block:2.5rem 3.5rem;border-top:1px solid var(--hair);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem}.reveal{opacity:0;transform:translateY(14px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}.reveal.d1{animation-delay:.05s}.reveal.d2{animation-delay:.15s}.reveal.d3{animation-delay:.25s}.reveal.d4{animation-delay:.35s}@keyframes rise{to{opacity:1;transform:none}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}.reveal{opacity:1;transform:none}}@media(max-width:560px){.topnav{gap:1.1rem}.work{grid-template-columns:2.4rem 1fr}.work .tag{grid-column:2;padding-top:0}.contact .row{flex-wrap:wrap;gap:.3rem}.contact .row .label{width:auto}}
