*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --white:#fff; --lg:#f0f0f0; --mid:#e0e0e0; --black:#0d0d0d; --yellow:#FFF765; --purple:#CD8DFF; }
html { font-size:16px; }
body { font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; background:var(--white); color:var(--black); -webkit-font-smoothing:antialiased; display:flex; flex-direction:column; min-height:100vh; }
a { color:inherit; text-decoration:none; } button { font-family:inherit; }
.pill { font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; background:var(--lg); padding:.125rem .375rem .0625rem; border-radius:.125rem; display:inline-flex; align-items:center; cursor:pointer; border:none; color:var(--black); line-height:1.4; white-space:nowrap; transition:background .15s; }
.pill:hover { background:var(--yellow); }.pill.static { cursor:default; }.pill.static:hover { background:var(--lg); }.pill .pc { display:inline-block; max-width:0; overflow:hidden; opacity:0; transition:max-width .3s,opacity .3s; padding-left:0; }.pill:hover .pc { max-width:1.5rem; opacity:1; padding-left:.5rem; } @media (hover:none){.pill .pc{max-width:1.5rem;opacity:1;padding-left:.5rem}}
header { position:sticky;top:0;z-index:40;background:var(--white); }.header-inner { display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding:.25rem .5rem; }@media(min-width:640px){.header-inner{gap:1.5rem;padding:.25rem 1rem}}.header-inner h1{font-size:1rem;font-weight:400}.header-right{display:flex;align-items:center;gap:1rem}@media(min-width:640px){.header-right{gap:1.5rem}}.desktop-nav{display:none;list-style:none;gap:1.5rem}@media(min-width:640px){.desktop-nav{display:flex}}.desktop-nav a{font-size:1rem}.desktop-nav a:hover{text-decoration:underline}#clock{display:none}@media(min-width:640px){#clock{display:inline-flex}}.menu-btn{background:none;border:none;font:inherit;font-size:1rem;color:var(--black);cursor:pointer;padding:0;line-height:1.2}@media(min-width:640px){.menu-btn{display:none}}
.mobile-nav{position:fixed;inset:0;background:var(--white);z-index:60;padding:2.5rem 1rem 1rem;display:flex;flex-direction:column;gap:1rem;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.mobile-nav.open{opacity:1;visibility:visible}.mobile-nav-close{position:absolute;top:.25rem;right:.5rem;background:none;border:none;font:inherit;font-size:1rem;color:var(--black);cursor:pointer;padding:0;line-height:1.2}.mobile-nav ul{list-style:none;display:flex;flex-direction:column;gap:1rem}.mobile-nav ul a{font-size:2.25rem}
.works-overlay{position:fixed;inset:0;background:var(--white);z-index:50;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.works-overlay.open{opacity:1;visibility:visible}.works-overlay-inner{min-height:100%;display:flex;flex-direction:column;padding:.5rem;gap:1rem}@media(min-width:640px){.works-overlay-inner{padding:1rem}}.works-overlay ul{list-style:none;display:flex;flex-direction:column;width:100%}.works-overlay li a{display:grid;grid-template-columns:32px minmax(0,1fr);gap:1rem;font-size:1rem;line-height:1.3;padding:4px 0}.summary-project{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.summary-services{display:flex;flex-wrap:wrap;gap:.5rem}@media(min-width:640px){.works-overlay li a{font-size:1rem;gap:2rem;grid-template-columns:48px minmax(0,1fr)}}@media(min-width:1024px){.works-overlay li a{font-size:1rem;gap:3rem;grid-template-columns:64px minmax(0,1fr)}}.works-overlay li a:hover{opacity:.5}.overlay-grid-btn{align-self:center;position:sticky;bottom:.5rem;margin-top:auto}@media(min-width:640px){.overlay-grid-btn{align-self:flex-start}}
.nav-list-btn,.mobile-nav-list-btn{font:inherit;font-size:1rem;background:none;border:0;padding:0;cursor:pointer;color:var(--black)}.nav-list-btn:hover,.mobile-nav-list-btn:hover{text-decoration:underline}.mobile-nav-list-btn{font-size:2.25rem;line-height:1.3}
main{display:flex;flex-direction:column;gap:.5rem;padding-bottom:2rem;flex:1}@media(min-width:768px){main{gap:1rem;padding-bottom:1rem}}.hero-canvas{width:100%;background:var(--lg);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,0,0,.3)}.intro-prose{padding:1rem .5rem 0}@media(min-width:640px){.intro-prose{padding:1rem 1rem 0}}.intro-prose p{font-size:1rem;line-height:1.65}.intro-prose a{text-decoration:underline}.submit-wrap{display:inline-flex;align-items:center;background:var(--mid);margin-top:.75rem;border-radius:.125rem;overflow:hidden}.submit-form{max-width:0;overflow:hidden;transition:max-width .3s}.submit-form.open{max-width:160px}.submit-input{font-family:inherit;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border:none;background:transparent;outline:none;padding:.125rem .5rem;color:var(--black);width:100%}.submit-input::placeholder{color:rgba(0,0,0,.5)}.submit-btn{font-family:inherit;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:var(--lg);border:none;cursor:pointer;padding:.125rem .375rem .0625rem;border-radius:.125rem;color:var(--black);line-height:1.4;transition:background .15s}.submit-btn:hover{background:var(--yellow)}
.works-section{padding:0 .5rem}@media(min-width:640px){.works-section{padding:0 1rem}}.works-grid{display:grid;grid-template-columns:repeat(6,1fr);column-gap:1rem;row-gap:4rem}@media(min-width:768px){.works-grid{grid-template-columns:repeat(12,1fr);row-gap:5.5rem}}.project-index-end{display:flex;justify-content:center;padding:4rem 0 1rem}.project-index-end .pill{font-size:.875rem;padding:.4rem .75rem .3rem}.cs{grid-column:span 6;display:flex;flex-direction:column;gap:.75rem}@media(min-width:1024px){.cs{grid-column:span 4}}.cs-fig{display:block;width:100%;overflow:hidden;background:var(--lg)}.cs-img{width:100%;aspect-ratio:1080/1350;display:block;object-fit:cover;transition:transform .5s ease}.cs:hover .cs-img{transform:scale(1.03)}.cs-ph{width:100%;aspect-ratio:1080/1350;background:var(--lg);display:flex;align-items:center;justify-content:center;font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,0,0,.2);transition:transform .5s ease}.cs:hover .cs-ph{transform:scale(1.03)}.cs-meta{font-size:.875rem;display:flex;gap:2rem;line-height:1.4}.cs-num{width:.25rem;flex-shrink:0}.cs-cats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.cat-pill{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:var(--lg);border:none;cursor:pointer;padding:.125rem .375rem .0625rem;border-radius:.125rem;display:inline-flex;align-items:center;color:var(--black);line-height:1.4;white-space:nowrap;transition:background .15s,opacity .2s}
.project-page{padding:2rem .5rem}@media(min-width:640px){.project-page{padding:2.5rem 1rem}}.project-detail{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width:768px){.project-detail{grid-template-columns:1fr 1fr;gap:3rem}}.project-info{display:grid;grid-template-columns:minmax(5.5rem,1fr) 2fr;column-gap:1rem;row-gap:1rem;align-items:start}.project-info h2,.project-info h1{font-size:1rem;font-weight:400;line-height:1.45}.project-info p,.project-copy p{font-size:1rem;line-height:1.55}.project-info p{grid-column:2}.project-info p a{text-decoration:underline}.project-title{grid-column:2;display:flex;flex-direction:column;gap:.5rem}.project-services{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.project-services .cat-pill{opacity:1;cursor:default}.project-copy{display:flex;flex-direction:column;gap:1.25rem}.project-media{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:3rem}.project-media:empty{display:none}.project-media-item{position:relative;min-height:0;aspect-ratio:1080/1350;background:var(--lg)}.project-media-item--center{grid-column:span 1}.project-media-item img{display:block;width:100%;height:100%;object-fit:cover}.project-media-item--contain{background:var(--white)}.project-media-item--contain img{object-fit:contain}.project-placeholder-label{position:absolute;inset:0;display:grid;place-items:center;color:rgba(0,0,0,.3);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase}.project-media-item img+.project-placeholder-label{display:none}.project-media-item--wide{grid-column:span 1;min-height:0;aspect-ratio:16/9}.project-page.yakutso .project-media .project-media-item:first-child{max-width:720px;margin:0 auto}.project-page.yakutso .project-media .project-media-item:first-child img{object-fit:contain;background:var(--white)}@media(min-width:768px){.project-media{grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;width:100%;margin-top:5rem;margin-left:0}.project-media-item{grid-column:span 6;min-height:0}.project-media-item--center{grid-column:span 12}.project-media-item--wide{grid-column:span 12;min-height:0;aspect-ratio:16/9}.project-media-item:first-child{grid-column:span 12}.project-media-item--half:first-child{grid-column:span 6}}
.image-index{display:block;columns:2;column-gap:.5rem;padding:.5rem}@media(min-width:640px){.image-index{columns:4;column-gap:1rem;padding:1rem}}.index-image{display:inline-block;width:100%;margin:0 0 .5rem;break-inside:avoid}@media(min-width:640px){.index-image{margin-bottom:1rem}}.index-image img{display:block;width:100%;height:auto}
footer{padding:0 .5rem .5rem}@media(min-width:640px){footer{padding:0 1rem .5rem}}.footer-email{display:block;color:var(--mid);font-size:.875rem;margin-bottom:1rem;transition:color .2s}.footer-email:hover{color:var(--black)}.footer-cols{display:grid;grid-template-columns:1fr;gap:1rem;padding:1rem 0}@media(min-width:768px){.footer-cols{grid-template-columns:1fr 1fr}}.footer-cols p{font-size:.875rem;line-height:1.65}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--lg);padding:.25rem .5rem .125rem;border-radius:.125rem;transition:background .15s}.footer-bottom:hover{background:var(--purple)}.footer-bottom p{font-size:.75rem}.footer-logo{width:1.25rem;height:auto;flex:0 0 auto}.footer-long{display:none}@media(min-width:640px){.footer-long{display:inline}}
