@font-face{font-family:Studio Sans;src:url(/fonts/studio-sans.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--paper:#fafaf8;--ink:#242620;--muted:#66685f;--line:#d5d6cf;--accent:#8b4231;--space:clamp(22px,4.2vw,72px);--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Studio Sans,Arial,sans-serif;font-size:1rem;line-height:1.55}::selection{color:var(--ink);background:#d9ded0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:active{transform:scale(.98)}:is(a:focus-visible,button:focus-visible,summary:focus-visible){outline:2px solid var(--accent);outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance;font-weight:450;line-height:1.1}button{background:0 0;border:0}svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:16px;height:16px}main{min-height:60vh}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--ink);color:var(--paper);padding:12px;position:fixed;top:8px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{min-height:112px;padding:26px var(--space);border-bottom:1px solid var(--line);z-index:5;background:var(--paper);justify-content:space-between;align-items:center;gap:24px;display:flex;position:relative}.brand{letter-spacing:-.04em;flex-direction:column;font-size:1.4375rem;font-weight:550;line-height:1.18;display:flex}.brand span:last-child{color:var(--muted);letter-spacing:-.02em;margin-top:3px;font-size:1.0625rem;font-weight:400}.main-nav{align-items:center;gap:38px;font-size:.875rem;display:flex}.main-nav a{padding:10px 0;position:relative}.main-nav a[aria-current=page]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:2px;left:0;right:0}.contact-nav{margin-left:28px}.nav-services{position:relative}.service-nav-label{align-items:center;gap:4px;display:flex}.service-nav-label button{place-items:center;min-width:38px;min-height:44px;padding:10px;display:grid}.service-dropdown{background:var(--paper);border:1px solid var(--line);width:310px;margin:0;padding:12px 24px;list-style:none;position:absolute;top:calc(100% + 15px);left:-24px;box-shadow:0 12px 24px #2426200c}.service-dropdown a{border-bottom:1px solid var(--line);padding:13px 0;display:block}.service-dropdown li:last-child a{border-bottom:0}.menu-toggle{display:none}.home-intro{padding:46px var(--space) 36px;justify-content:space-between;align-items:flex-end;gap:36px;display:flex}.home-intro h1{font-size:clamp(2rem,3.6vw,3.375rem);line-height:1.03}.home-intro h1 span{color:var(--muted)}.home-intro p{max-width:255px;padding-bottom:3px;font-size:.9375rem;line-height:1.5}.gallery{padding:0 var(--space)}.gallery-tools{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:12px 0 14px;display:flex}.filters,.view-controls{align-items:center;gap:24px;font-size:.875rem;display:flex}.gallery-tools button{color:var(--muted);min-height:44px;padding:10px 0;position:relative}.gallery-tools button[aria-pressed=true]{color:var(--ink)}.filters button[aria-pressed=true]:after{content:"";background:var(--ink);height:1px;position:absolute;bottom:6px;left:0;right:0}.filters sup{margin-left:5px;font-size:.625rem}.view-controls{gap:9px}.view-controls span{color:var(--line)}.project-grid{grid-template-columns:1fr 1fr;gap:70px 36px;display:grid}.project-grid .project:first-child{grid-column:1/-1}.project-grid .project:first-child .project-image{aspect-ratio:2.15}.project-grid .project:nth-child(2){padding-top:60px}.project-grid .project:nth-child(2) .project-image{aspect-ratio:1.12}.project-grid .project:nth-child(3) .project-image{aspect-ratio:1.42}.project-image{aspect-ratio:1.5;background:#e8e8e1;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.image-label{background:var(--paper);opacity:0;transition:opacity .18s var(--ease),transform .18s var(--ease);padding:10px 16px;font-size:.8125rem;position:absolute;bottom:22px;right:22px;transform:translateY(8px)}.project-caption{grid-template-columns:1fr auto;align-items:baseline;gap:3px 20px;padding-top:17px;display:grid}.project-caption h2{font-size:1.3125rem}.project-caption>span{color:var(--muted);font-size:.8125rem}.project-caption .concept-label{grid-column:1/-1;font-size:.75rem}.demo-note{color:var(--muted);border-top:1px solid var(--line);margin-top:38px;padding-top:16px;font-size:.75rem}.project-index .project-link{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;align-items:center;gap:28px;padding:22px 0;display:grid}.project-index .project-image{aspect-ratio:1.5}.project-index .project-caption{padding:0}.project-index .image-label{display:none}.service-section{padding:112px var(--space);grid-template-columns:1fr 1.4fr;gap:10vw;display:grid}.section-heading h2{margin-bottom:24px;font-size:clamp(2rem,3.2vw,3rem)}.section-heading>p{max-width:330px;color:var(--muted);margin-bottom:30px;font-size:1rem}.text-link{border-bottom:1px solid;padding:8px 0;font-size:.875rem;display:inline-block}.service-list{border-top:1px solid var(--ink)}.service-list>a{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:12px 25px;padding:26px 0;display:grid}.service-list h3{font-size:1.4375rem}.service-list p{color:var(--muted);grid-column:1;font-size:.9375rem}.service-action{grid-area:1/2/3;align-self:center;font-size:.75rem}.contact-band{border-top:1px solid var(--line);padding:60px var(--space) 70px;grid-template-columns:1fr 1fr;gap:8vw;display:grid}.contact-band h2{font-size:clamp(2.125rem,4vw,3.625rem)}.contact-band p{max-width:390px;color:var(--muted);margin-bottom:16px}.site-footer{padding:35px var(--space);background:#edeee8;grid-template-columns:1fr 1fr auto;gap:25px;font-size:.8125rem;display:grid}.footer-name{font-size:1.0625rem;font-weight:500;line-height:1.4}.footer-name span{color:var(--muted);font-size:.8125rem;font-weight:400;display:block}.site-footer>div{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.site-footer a:not(.footer-name){text-underline-offset:4px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.footer-last{color:var(--muted);font-size:.75rem}.page-head{padding:65px var(--space) 54px;grid-template-columns:1fr 1fr;align-items:end;gap:36px;display:grid}.page-head h1{font-size:clamp(2.625rem,5.2vw,4.75rem)}.page-head>p{max-width:480px;color:var(--muted);font-size:1.125rem}.page-services{padding:0 var(--space) 95px}.service-row{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:start;gap:36px;padding:40px 0;display:grid}.service-row h2{max-width:460px;font-size:clamp(1.625rem,3vw,2.625rem)}.service-row p{max-width:530px;color:var(--muted);margin-bottom:20px;font-size:1.125rem}.breadcrumb{padding:30px var(--space) 0;color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.8125rem;display:flex}.breadcrumb a{text-underline-offset:4px;text-decoration:underline}.detail-heading{padding:40px var(--space) 50px;grid-template-columns:1.1fr 1fr;align-items:end;gap:9vw;display:grid}.detail-heading h1{font-size:clamp(2.5rem,4.8vw,4.5rem)}.detail-heading p{color:var(--muted);max-width:520px;font-size:1.125rem}.detail-image{margin:0 var(--space)}.detail-image img{aspect-ratio:1.9;object-fit:cover;width:100%}.detail-image figcaption{color:var(--muted);margin-top:12px;font-size:.75rem}.project-story{padding:70px var(--space) 100px;grid-template-columns:.65fr 1.35fr;gap:10vw;display:grid}.project-story h2{margin-bottom:24px;font-size:2.5rem}.project-story p{color:var(--muted);max-width:650px;font-size:1.125rem}.project-data{margin:0;font-size:.875rem}.project-data div{border-top:1px solid var(--line);padding:15px 0}dt{color:var(--muted);margin-bottom:6px;font-size:.75rem}dd{margin:0}.next-project{margin:0 var(--space) 70px;border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:25px;display:flex}.next-project span{color:var(--muted);font-size:.875rem}.next-project a{font-size:1.625rem}.service-body{padding:0 var(--space) 80px;grid-template-columns:.8fr 1.2fr;gap:10vw;display:grid}.service-visual img{aspect-ratio:.85;object-fit:cover;width:100%}.service-visual p{color:var(--muted);margin-top:12px;font-size:.75rem}.service-content section{border-top:1px solid var(--line);padding:27px 0 35px}.service-content h2{margin-bottom:20px;font-size:1.625rem}.service-content ul{max-width:65ch;color:var(--muted);padding-left:20px}.service-content li{margin:12px 0;padding-left:5px}.service-content p{color:var(--muted);max-width:65ch}.service-note{background:#edeee8;margin-bottom:30px;padding:24px;font-size:.875rem}.profile-layout{padding:0 var(--space) 100px;grid-template-columns:1fr 1fr;gap:8vw;display:grid}.profile-image img{aspect-ratio:.9;object-fit:cover;width:100%}.profile-image p{color:var(--muted);margin-top:12px;font-size:.75rem}.profile-text h2{margin:40px 0 20px;font-size:1.875rem}.profile-text h2:first-child{margin-top:0}.profile-text p{color:var(--muted);margin-bottom:22px;font-size:1.125rem}.contact-layout{padding:0 var(--space) 90px;grid-template-columns:1.1fr 1fr;gap:9vw;display:grid}.contact-method{border-top:1px solid var(--line);padding:23px 0;display:block}.contact-method span{color:var(--muted);margin-bottom:8px;font-size:.8125rem;display:block}.contact-method a{overflow-wrap:anywhere;letter-spacing:-.025em;font-size:clamp(1.0625rem,2.1vw,1.875rem)}.contact-guide{background:#edeee8;padding:32px}.contact-guide h2{margin-bottom:24px;font-size:1.625rem}.contact-guide p{color:var(--muted);margin-bottom:20px}.contact-guide ol{padding-left:20px}.contact-guide li{padding:8px 0 8px 5px}.not-found{padding:100px var(--space);max-width:850px}.not-found h1{margin-bottom:30px;font-size:3.75rem}.not-found p{margin-bottom:25px}.not-found a{margin-right:30px}.menu-lines{border-top:1px solid;border-bottom:1px solid;width:20px;height:10px;display:block}.menu-lines.is-open{border-bottom:0;height:1px}@media (hover:hover) and (pointer:fine){.project-link:hover img{transform:scale(1.025)}.project-link:hover .image-label{opacity:1;transform:none}.main-nav a:hover,.text-link:hover,.service-list>a:hover h3,.service-row a:hover,.next-project a:hover{color:var(--accent)}.site-footer a:hover{text-decoration-color:currentColor}}@media (min-width:1600px){body{max-width:1920px;margin:auto}.home-intro{padding-top:58px;padding-bottom:46px}}@media (max-width:900px){.main-nav{gap:22px}.contact-nav{margin-left:0}.home-intro p{max-width:230px}.project-grid{gap:45px 24px}.service-section{gap:6vw}.service-list h3{font-size:1.3125rem}.service-action{display:none}.service-list>a{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1fr}.footer-last{grid-column:1/-1}.service-body{gap:6vw}}@media (max-width:650px){html{scroll-padding-top:30px}.site-header{min-height:91px;padding-top:20px;padding-bottom:20px}.brand{font-size:1.3125rem}.brand span:last-child{font-size:.9375rem}.menu-toggle{align-items:center;gap:14px;min-height:44px;padding:8px 0 8px 12px;font-size:.875rem;display:flex}.main-nav{background:var(--paper);border-bottom:1px solid var(--line);padding:16px var(--space) 28px;display:none;position:absolute;top:100%;left:0;right:0}.main-nav.open{flex-direction:column;align-items:stretch;gap:6px;display:flex}.main-nav>a,.service-nav-label>a{min-height:48px;padding:10px 0;font-size:1.375rem}.service-nav-label{justify-content:space-between}.service-dropdown{width:auto;box-shadow:none;margin:8px 0 12px;padding:0 18px;position:static}.service-dropdown a{font-size:.9375rem}.home-intro{padding-top:31px;padding-bottom:26px;display:block}.home-intro h1{font-size:2.3125rem}.home-intro p{max-width:260px;margin-top:20px;font-size:.875rem}.gallery-tools{flex-wrap:wrap;align-items:flex-start;gap:0;padding-top:8px;padding-bottom:10px}.filters{flex-wrap:wrap;gap:0 18px;font-size:.8125rem}.view-controls{display:none}.project-grid{flex-direction:column;gap:35px;display:flex}.project-grid .project:first-child .project-image{aspect-ratio:1.23}.project-grid .project:nth-child(2){padding-top:0}.project-grid .project:nth-child(2) .project-image,.project-grid .project:nth-child(3) .project-image{aspect-ratio:1.25}.project-caption{gap:5px 12px}.project-caption h2{font-size:1.25rem}.project-caption>span,.project-caption .concept-label{font-size:.75rem}.image-label{display:none}.demo-note{margin-top:26px}.service-section{padding-top:70px;padding-bottom:60px;display:block}.section-heading h2{font-size:2.1875rem}.section-heading>p{max-width:100%}.service-list{margin-top:35px}.service-list h3{font-size:1.4375rem}.service-list>a{padding:23px 0}.contact-band{grid-template-columns:1fr;gap:25px;padding-top:40px;padding-bottom:45px}.site-footer{grid-template-columns:1fr;gap:25px}.footer-last{grid-column:auto}.page-head{grid-template-columns:1fr;gap:25px;padding-top:38px;padding-bottom:38px}.page-head h1{font-size:2.75rem}.page-head>p{font-size:1.0625rem}.service-row{grid-template-columns:1fr;gap:20px;padding:30px 0}.service-row h2{font-size:1.875rem}.service-row p{font-size:1rem}.page-services{padding-bottom:50px}.breadcrumb{padding-top:22px;font-size:.75rem}.detail-heading{grid-template-columns:1fr;gap:23px;padding-top:30px;padding-bottom:35px}.detail-heading h1{font-size:2.625rem}.detail-heading p{font-size:1.0625rem}.detail-image img{aspect-ratio:1.16}.project-story{grid-template-columns:1fr;gap:40px;padding-top:35px;padding-bottom:55px}.project-story h2{font-size:2rem}.project-story p{font-size:1.0625rem}.next-project{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:45px}.service-body{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.service-visual img{aspect-ratio:1.4}.service-content section{padding-top:25px;padding-bottom:20px}.profile-layout{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.profile-image img{aspect-ratio:1.3}.profile-text p{font-size:1.0625rem}.contact-layout{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.contact-guide{padding:25px}.contact-method a{font-size:1.3125rem}.not-found h1{font-size:2.5rem}.project-index .project-link{grid-template-columns:85px 1fr;gap:18px}.project-index .project-caption{grid-template-columns:1fr}.project-index .project-caption h2{font-size:1.125rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.after-gallery{height:80px}.project-story .project-disclosure{margin-top:28px;font-size:.875rem}.profile-text .profile-editorial-note{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;font-size:.8125rem}.related-services{padding:0 var(--space) 75px}.related-services h2{margin-bottom:25px;font-size:1.75rem}.related-services>div{flex-wrap:wrap;gap:25px;display:flex}.related-services a{border-bottom:1px solid var(--line);padding:10px 0;font-size:.9375rem}.contact-services{flex-direction:column;align-items:flex-start;gap:15px;padding-top:10px;display:flex}.contact-services a{letter-spacing:0;text-underline-offset:4px;font-size:1rem;text-decoration:underline}.contact-guide .mail-note{margin-top:25px;margin-bottom:0;font-size:.8125rem}@media (max-width:650px){.after-gallery{height:50px}.related-services>div{flex-direction:column;gap:8px}.related-services{padding-bottom:45px}.contact-services a{font-size:.9375rem}}h1,h2,h3{overflow-wrap:break-word}.brand,.project-caption>*,.page-head>*,.detail-heading>*{min-width:0}.photo-section{padding:0 var(--space) 80px}.photo-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:35px;padding-top:28px;display:flex}.photo-heading h2{font-size:clamp(1.75rem,3vw,2.5rem)}.photo-heading p{color:var(--muted);font-size:.875rem}.photo-grid{grid-template-columns:1fr 1fr;align-items:start;gap:40px 32px;display:grid}.photo-grid figure{min-width:0;margin:0}.photo-grid img{width:100%;height:auto}.photo-grid figcaption{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:10px;font-size:.75rem}.filters{flex-wrap:wrap;row-gap:0}.project-caption h2{overflow-wrap:anywhere}@media (max-width:650px){.photo-heading{display:block}.photo-heading p{margin-top:16px}.photo-grid{grid-template-columns:1fr;gap:28px}.photo-section{padding-bottom:50px}.project-caption{grid-template-columns:1fr}.project-caption>span{grid-column:1}}
