.services-grid{background:#fff}.services-cta{display:flex;justify-content:center;margin-top:38px}
.site-footer span{font-size:inherit}
:root{--ink:#292929;--graphite:#48494b;--mist:#f5f5f5;--line:#ddd;--muted:#696a6d;--sans:"Manrope",sans-serif;--serif:"Newsreader",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.6 var(--sans)}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1160px,calc(100% - 48px));margin:auto}.section{padding:104px 0}.skip-link{position:fixed;z-index:30;top:-60px;left:12px;padding:8px 12px;color:#fff;background:var(--ink)}.skip-link:focus{top:12px}.eyebrow{margin:0 0 14px;color:var(--graphite);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:0;line-height:.98}h1{max-width:650px;margin:0 0 26px;font-size:clamp(3.4rem,6.3vw,6rem)}h2{max-width:730px;margin:0 0 20px;font-size:clamp(2.5rem,4.2vw,4.25rem)}h3{margin:0 0 12px;font-size:21px;line-height:1.25}.lead{max-width:580px;margin:0;color:#4d4e50;font-size:18px}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:14px;padding:12px 21px;border:1px solid transparent;font-size:13px;font-weight:800;line-height:1;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{color:#fff;background:var(--graphite)}.button-dark:hover{background:var(--ink)}.button-light{color:var(--ink);background:#fff}.text-link{display:inline-flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--ink);font-size:13px;font-weight:800;line-height:1.3}.text-link:hover{color:var(--muted)}
.site-header{position:sticky;z-index:10;top:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.nav-wrap{display:flex;height:78px;align-items:center;gap:24px}.brand{display:flex;width:128px;height:48px;align-items:center}.brand-logo{display:block;width:auto;height:auto;max-width:128px;max-height:44px;object-fit:contain;object-position:left center}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,36px);margin-left:auto}.desktop-nav a{font-size:12px;font-weight:700}.desktop-nav a:hover{color:var(--muted)}.header-cta{min-height:40px;padding:10px 15px}.menu-toggle,.mobile-nav{display:none}
.hero{padding:82px 0 72px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(44px,7vw,104px);align-items:center}.hero-copy{padding-bottom:12px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:34px}.photo-placeholder{display:grid;min-height:300px;place-items:center;color:#696a6d;border:1px dashed #9b9b9b;background:repeating-linear-gradient(45deg,#f8f8f8,#f8f8f8 8px,#f2f2f2 8px,#f2f2f2 9px);text-align:center}.photo-placeholder span{font-size:11px;font-weight:800;line-height:1.5;letter-spacing:.12em}.photo-placeholder-large{min-height:510px}.asset-note{margin:12px 0 0;color:var(--muted);font-size:11px}.section-soft{background:var(--mist)}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(46px,9vw,130px);align-items:center}.about-photo .photo-placeholder{min-height:525px}.about-copy>p:not(.eyebrow){max-width:620px;color:#4e4f51}.editable-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;padding-top:21px;border-top:1px solid #cfcfcf}.editable-facts span,.contact-details span{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.editable-facts strong{font-size:12px;line-height:1.4}.section-heading>p:last-child{max-width:540px;margin-bottom:0;color:var(--muted)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:50px;border:1px solid var(--line);background:var(--line)}.service-card{min-height:393px;padding:32px;background:#fff}.service-card>p:not(.service-number){min-height:126px;margin-bottom:24px;color:var(--muted);font-size:14px}.service-icon{display:grid;width:48px;height:48px;place-items:center;margin-bottom:28px;color:var(--graphite);border:1px solid var(--graphite);background:#fff}.service-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:2}.service-number{margin:0 0 12px;color:#999;font-size:11px;font-weight:800;letter-spacing:.12em}.works-section{padding-bottom:116px}.works-intro{display:flex;align-items:end;justify-content:space-between;gap:30px}.works-intro>p{max-width:350px;margin:0 0 6px;color:var(--muted);font-size:14px}.filters{display:flex;flex-wrap:wrap;gap:7px;margin:43px 0 27px}.filter{padding:9px 13px;color:var(--muted);border:1px solid var(--line);background:#fff;font-size:12px;font-weight:700}.filter:hover,.filter.active{color:#fff;border-color:var(--graphite);background:var(--graphite)}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.work-card{overflow:hidden;border:1px solid var(--line);background:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s}.work-card:hover,.work-card:focus-visible{outline:0;transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.08)}.work-card.hidden{display:none}.work-photo{min-height:257px;border:0;border-bottom:1px solid var(--line)}.work-info{padding:18px 19px 20px}.work-info p{margin:0 0 6px;color:var(--graphite);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.work-info h3{margin-bottom:4px;font-size:17px}.work-info span{color:var(--muted);font-size:12px}.before-after{display:grid;grid-template-columns:1fr 1fr}.before-after .photo-placeholder{min-height:257px;border:0}.before-after .photo-placeholder+.photo-placeholder{border-left:1px solid var(--line)}
.process-section{padding:74px 0;color:#fff;background:var(--graphite)}.process-section .eyebrow{color:#ddd}.process-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:24px;padding-top:38px}.process-grid>div:not(.process-route){position:relative;padding:18px 18px 0;border-top:1px solid #858689}.process-grid>div:not(.process-route):before{position:absolute;top:-6px;left:18px;width:10px;height:10px;content:"";border:2px solid #fff;border-radius:50%;background:var(--graphite)}.process-route{position:absolute;top:32px;left:18px;right:18px;height:12px;pointer-events:none}.route-arrow{position:absolute;top:-13px;left:0;color:#fff;font-size:28px;line-height:1;animation:travel-route 6s ease-in-out infinite}.process-grid span:not(.route-arrow){color:#bdbdbd;font-size:11px;font-weight:800;letter-spacing:.1em}.process-grid p{margin:8px 0 0;font-size:16px;font-weight:700;line-height:1.35}@keyframes travel-route{0%,10%{left:0;opacity:0}18%,82%{opacity:1}90%,100%{left:calc(100% - 22px);opacity:0}}.contact-section{color:#fff;background:var(--ink)}.contact-section .eyebrow{color:#ddd}.contact-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(50px,9vw,135px);align-items:start}.contact-copy h2{max-width:520px}.contact-copy>p:not(.eyebrow){max-width:480px;color:#d4d4d4}.contact-details{display:grid;gap:18px;margin:36px 0}.contact-details a,.contact-details p{margin:0;color:#fff;font-size:14px;font-weight:700}.contact-details a:hover{color:#d4d4d4}.contact-details span{color:#aaa}.contact-form{display:grid;gap:18px;padding:28px;background:#fff;color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:7px;color:#505154;font-size:11px;font-weight:800;letter-spacing:.04em}.contact-form small{color:#888;font-weight:600;letter-spacing:0}input,select,textarea{width:100%;padding:11px 0;border:0;border-bottom:1px solid #bdbdbd;border-radius:0;outline:0;background:transparent;color:var(--ink);font-size:14px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--ink)}.form-note{margin:0;color:#777;font-size:11px}.contact-form .button{justify-self:start;margin-top:3px}.site-footer{padding:22px 0;color:#aaa;background:#202020}.site-footer .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer span{color:#fff;font-size:11px;font-weight:800;letter-spacing:.12em}.site-footer p,.site-footer a{margin:0;font-size:11px}.site-footer a:hover{color:#fff}.whatsapp-float{position:fixed;z-index:8;right:21px;bottom:21px;display:grid;width:46px;height:46px;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:var(--graphite);box-shadow:0 5px 18px rgba(0,0,0,.2);font-size:18px}.whatsapp-float:hover{background:var(--ink)}
.project-modal{width:min(625px,calc(100% - 32px));padding:20px;border:0;box-shadow:0 20px 80px rgba(0,0,0,.35)}.project-modal::backdrop{background:rgba(20,20,20,.65)}.modal-close{position:absolute;z-index:1;top:9px;right:11px;width:35px;height:35px;color:#fff;border:0;background:var(--graphite);font-size:26px;line-height:1}.modal-photo{min-height:285px;margin-bottom:24px}.project-modal h2{font-size:38px}.project-modal>p:last-child{margin-bottom:4px;color:var(--muted)}.reveal{opacity:0;transform:translateY(13px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:880px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:grid;width:40px;height:40px;margin-left:auto;padding:0;place-content:center;gap:6px;border:0;background:transparent}.menu-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-nav{display:grid;max-height:0;overflow:hidden;grid-template-columns:1fr;gap:18px;padding:0 max(24px,calc((100% - 1160px)/2));border-top:0 solid var(--line);background:#fff;transition:max-height .3s,padding .3s,border-width .3s}.mobile-nav.open{max-height:390px;padding-top:20px;padding-bottom:24px;border-top-width:1px}.mobile-nav a{font-size:13px;font-weight:700}.mobile-nav .button{justify-self:start}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:45px}.hero-visual,.about-photo{max-width:620px}.about-photo .photo-placeholder{min-height:390px}.services-grid,.works-grid{grid-template-columns:repeat(2,1fr)}.service-card>p:not(.service-number){min-height:0}.contact-copy{max-width:620px}}
@media(max-width:590px){.container{width:min(100% - 36px,1160px)}.section{padding:72px 0}.nav-wrap{height:68px}.hero{padding:57px 0 55px}h1{font-size:3.1rem}h2{font-size:2.55rem}.lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:21px}.photo-placeholder-large{min-height:360px}.editable-facts{grid-template-columns:1fr;gap:14px}.services-grid,.works-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:27px}.works-intro{display:block}.works-intro>p{margin-top:20px}.filters{flex-wrap:nowrap;overflow-x:auto;margin-top:31px;padding-bottom:3px}.filter{flex:0 0 auto}.work-photo{min-height:240px}.process-section{padding:56px 0}.process-grid{grid-template-columns:1fr;gap:0;padding:0 0 0 34px}.process-grid>div:not(.process-route){padding:15px 0 22px 18px;border-top:0;border-left:1px solid #858689}.process-grid>div:not(.process-route):before{top:20px;left:-6px}.process-route{top:22px;bottom:26px;left:28px;right:auto;width:12px;height:auto}.route-arrow{top:0;left:-8px;transform:rotate(90deg);animation:travel-route-mobile 6s ease-in-out infinite}@keyframes travel-route-mobile{0%,10%{top:0;opacity:0}18%,82%{opacity:1}90%,100%{top:calc(100% - 22px);opacity:0}}.form-row{grid-template-columns:1fr;gap:18px}.contact-form{padding:23px 19px}.site-footer .container{align-items:flex-start;flex-direction:column;gap:8px}.whatsapp-float{right:15px;bottom:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
