@font-face{font-family:Century Gothic;src:url(/media/fonts/Century%20Gothic/centurygothic.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Century Gothic;src:url(/media/fonts/Century%20Gothic/centurygothic_bold.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Cooper Black Zeta;src:url(/media/fonts/Cooper%20Black%20Zeta/CooperBlackZeta-Regular.otf) format("opentype");font-style:normal;font-weight:400;font-display:swap}:root{--font-main: "Century Gothic", "Avenir Next", Avenir, sans-serif;--font-accent: "Cooper Black Zeta", Georgia, serif;--font-accent-size: clamp(2.25rem, 4.95vw, 4.95rem);font-family:var(--font-main);color:#111;background:#f4f2ee;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}#root{opacity:0}.app-ready #root{opacity:1;transition:opacity .18s ease}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;width:100%;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem 2rem}.site-header{position:sticky;top:0;z-index:10;align-items:center;justify-content:flex-start;gap:0;padding:1rem 1.6rem .8rem;background:color-mix(in srgb,#f4f2ee 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .25s ease}.site-header--hidden{transform:translateY(-100%)}.brand{flex:0 0 auto}.brand-wordmark{display:block;font-size:1.17rem;font-weight:700;line-height:1;letter-spacing:.48em}.site-nav{display:flex;gap:1.125rem;margin-left:1.95rem;font-family:var(--font-main);font-size:1.1rem}.site-nav a.active{text-decoration:underline;text-underline-offset:.3rem}.social-links{display:flex;align-items:center;gap:.65rem}.site-header>.social-links{gap:.975rem;margin-left:auto}.site-header>.social-links a{width:1.725rem;height:1.725rem}.social-links a{display:grid;width:1.15rem;height:1.15rem;place-items:center;transition:opacity .18s ease,transform .18s ease}.social-links a:hover,.social-links a:focus-visible{opacity:.55;transform:translateY(-1px)}.social-links a:focus-visible{outline:1px solid currentColor;outline-offset:.25rem}.social-links svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8}.social-icon-fill{fill:currentColor;stroke:none}main{flex:1;font-size:1.3rem;zoom:.8}.site-footer{zoom:.8}.page-pad{padding:5rem 2rem}.hero{min-height:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.hero h1,.page-heading h1,.text-page h1,.contact-page h1{margin:0;max-width:22ch;font-size:var(--font-accent-size);line-height:.92;letter-spacing:-.055em;font-weight:500}.hero h1,.page-heading h1{font-family:var(--font-accent);font-weight:400;letter-spacing:-.035em}.hero h1{max-width:24ch;line-height:.98}.hero-copy,.text-page>p:last-child{max-width:70rem;font-size:1.365rem;line-height:1.6}.eyebrow{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.12em;font-size:.936rem}.text-link{margin-top:1rem;border-bottom:1px solid currentColor}.project-nav-link{display:inline-flex;align-items:center;gap:.65rem;border:1px solid currentColor;border-radius:999px;padding:.7rem 1.05rem;font-size:.975rem;letter-spacing:.04em;transition:color .2s ease,background-color .2s ease,transform .2s ease}.hero .project-nav-link{margin-top:1rem}.project-nav-link:hover,.project-nav-link:focus-visible{color:#f4f2ee;background:#111;transform:translateY(-2px)}.project-nav-link:focus-visible{outline:1px solid #111;outline-offset:3px}.moodboard-strip{--parallax-y: 0px;position:relative;width:100%;height:min(45vw,42rem);overflow:hidden}.moodboard-strip img{width:100%;height:auto;transform:translateY(var(--parallax-y));will-change:transform}.moodboard-strip>p{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;margin:0;padding:1rem;color:#fff;font-family:var(--font-accent);font-size:var(--font-accent-size);line-height:.9;text-align:center;text-shadow:0 2px 24px rgb(0 0 0 / 35%)}.home-mock{min-height:75vh;display:flex;flex-direction:column;justify-content:center}.home-mock h2{max-width:24ch;margin:0;font-family:var(--font-accent);font-size:var(--font-accent-size);font-weight:400;line-height:.98}.home-mock>p:last-child{max-width:70rem;margin:2rem 0 0;font-size:1.365rem;line-height:1.7}.page-heading{margin-bottom:4rem}.home-page{overflow:hidden}.home-hero,.home-offer,.home-contact{width:100%;max-width:90rem;margin-inline:auto}.home-hero{display:grid;grid-template-columns:minmax(18rem,1fr) minmax(24rem,.92fr);gap:0 clamp(2rem,4.5vw,4.5rem);align-items:end;padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(4rem,6vw,6rem)}.home-large-logo{width:min(100%,28rem);height:auto}.home-hero>.home-large-logo{margin-bottom:2rem}.home-hero-photo{width:100%;max-width:38rem;aspect-ratio:.9;object-fit:cover;justify-self:end}.home-hero-copy{grid-column:1 / -1;margin-top:-1.2rem;position:relative;z-index:1}.home-hero-copy h1{margin:0;font-family:var(--font-accent);font-size:clamp(2.15rem,3.4vw,3.4rem);font-weight:400;line-height:.95;letter-spacing:-.04em}.home-hero-copy p{max-width:70rem;margin:.65rem 0 0;font-size:clamp(1.25rem,2.05vw,2.05rem);line-height:1.25;letter-spacing:-.025em}.home-hero-copy strong,.home-offer strong{font-family:var(--font-accent);font-weight:400}.home-moodboard{height:clamp(21rem,36vw,40rem)}.home-moodboard img{height:calc(100% + 8rem);object-fit:cover}.home-offer{display:grid;grid-template-columns:minmax(20rem,.82fr) minmax(24rem,1.18fr);gap:clamp(2rem,4.5vw,4.5rem);align-items:center;padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(4rem,6vw,6rem)}.home-offer>img{width:100%;max-width:30rem;aspect-ratio:.72;object-fit:cover;justify-self:center}.home-offer-kicker{margin:0 0 clamp(2rem,3vw,3rem);font-family:var(--font-accent);font-size:clamp(1.15rem,1.45vw,1.45rem);line-height:1.65}.home-offer-copy{max-width:38rem;margin:0;font-size:clamp(1.2rem,1.7vw,1.7rem);line-height:1.5}.home-offer-copy strong{font-size:1.22em;line-height:1.05}.home-contact{padding-top:0;padding-bottom:0}.home-contact>p{margin:0;font-size:clamp(1.1rem,1.55vw,1.55rem);font-style:italic}.home-contact>.project-nav-link{margin-top:1.25rem}.home-contact-visual{display:grid;grid-template-columns:1fr minmax(22rem,.78fr);gap:clamp(2rem,4vw,4rem);align-items:end;margin-top:-.5rem}.home-contact-visual .home-large-logo{justify-self:end;margin-bottom:1rem}.home-contact-visual>img:last-child{width:100%;max-width:31rem;aspect-ratio:.76;object-fit:cover;justify-self:end}.services-page{padding-top:clamp(4rem,9vw,9rem);overflow:hidden}.services-intro h1,.services-intro strong,.service-card h2,.services-contact h2{font-family:var(--font-accent);font-weight:400}.services-intro h1{margin:0;font-size:clamp(2.8rem,5vw,5rem);line-height:.95;letter-spacing:-.04em}.services-intro p{max-width:80rem;margin:.8rem 0 0;font-size:clamp(1.7rem,3.3vw,3.35rem);line-height:1.12;letter-spacing:-.035em}.services-intro strong{font-size:1.12em;line-height:0}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,3.5vw,3.5rem);align-items:start;margin-top:2rem}.service-card{border:3px solid #111;border-radius:.7rem;padding:clamp(1rem,1.8vw,1.7rem)}.service-card h2{margin:0 0 1.8rem;font-size:clamp(1.5rem,2.2vw,2.2rem);line-height:1}.service-card ul{display:grid;gap:1.8rem;margin:0;padding-left:1.2rem}.service-card li{font-size:clamp(.95rem,1.3vw,1.2rem);line-height:1.3}.services-contact{max-width:82rem;display:grid;grid-template-columns:minmax(22rem,.9fr) 1.1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center;margin:clamp(7rem,15vw,15rem) auto clamp(7rem,12vw,12rem)}.services-contact>img{width:100%;max-width:34rem;aspect-ratio:3 / 4;object-fit:cover;justify-self:center}.services-contact h2{margin:0 0 .8rem;font-size:clamp(2.4rem,4vw,4rem);line-height:1}.services-contact p{margin:.35rem 0;font-size:clamp(1.4rem,2.6vw,2.5rem);font-style:italic}.services-contact .project-nav-link{margin-top:1.7rem}.services-marquee{width:calc(100% + 4rem);overflow:hidden;margin:0 -2rem 2rem;white-space:nowrap}.services-marquee div{display:flex;width:max-content;font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.15;animation:about-marquee 50s linear infinite}.services-carousel-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,2.5rem);animation:carousel-fade .6s ease both}.services-carousel-images img{aspect-ratio:16 / 9;object-fit:cover}@keyframes carousel-fade{0%{opacity:0}}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem 1.5rem}.project-card{width:100%;max-width:32rem}.project-media{position:relative;aspect-ratio:4 / 5;display:grid;place-items:center;overflow:hidden;background:#dedad2;color:#777}.project-card .project-media{transition:background-color .35s ease}.project-media img{position:absolute;top:50%;left:50%;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:translate(-50%,-50%) scale(1.08);transform-origin:50% 50%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project-card a:hover .project-media,.project-card a:focus-visible .project-media{background:#d3cec5}.project-card a:hover .project-media img,.project-card a:focus-visible .project-media img{transform:translate(-50%,-50%) scale(1)}.project-card a:focus-visible{outline:1px solid currentColor;outline-offset:.4rem}.project-meta{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding-top:.8rem}.project-meta h2,.project-meta p{margin:0;font-size:1.105rem;font-weight:400}.project-meta p:last-child{grid-column:1 / -1;color:#6d6d6d}.project-detail-header{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:end}.project-back{grid-column:1 / -1;justify-self:start}.project-detail-header h1{margin:0;max-width:12ch;font-family:var(--font-accent);font-size:var(--font-accent-size);font-weight:400;line-height:.9;letter-spacing:-.04em}.project-facts{grid-column:2;grid-row:3;align-self:start;display:grid;gap:.8rem;margin:0;font-size:1.014rem}.project-facts div{display:grid;grid-template-columns:5rem 1fr;gap:2rem;padding-top:.65rem}.project-facts dt{color:#777;text-transform:uppercase;letter-spacing:.08em}.project-facts dd{margin:0}.project-description{grid-column:1;grid-row:3;align-self:start;margin:0;max-width:70ch;font-size:clamp(1.495rem,1.95vw,1.755rem);line-height:1.6}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;align-items:start}.project-gallery-column{display:grid;gap:1rem}.project-gallery-column:last-child{margin-top:clamp(3rem,7vw,7rem)}.project-gallery-image{overflow:hidden}.project-gallery img{height:auto;transition:transform .5s ease}.project-gallery-image:hover img{transform:scale(1.02)}.text-page{display:grid;gap:2rem}.not-found-title,.about-title{font-family:var(--font-accent);font-weight:400}.about-page{padding-bottom:2rem;overflow:hidden}.about-intro{display:grid;gap:1.6rem;padding-top:1.5rem;padding-bottom:3.5rem}.about-intro h1{margin:0;font-family:var(--font-accent);font-size:clamp(2.5rem,4vw,4.5rem);font-weight:400;line-height:.95;letter-spacing:-.035em}.about-copy{display:grid;gap:1.25rem}.about-copy p{max-width:88rem;margin:0;font-size:clamp(1.05rem,1.45vw,1.4rem);line-height:1.38}.about-team{width:min(64rem,calc(100% - 4rem));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem;margin:0 auto clamp(5rem,10vw,9rem)}.team-member{text-align:center}.team-member img{aspect-ratio:2 / 3;object-fit:cover}.team-member h2{margin:.75rem 0 .15rem;font-family:var(--font-accent);font-size:clamp(2rem,3.35vw,3.35rem);font-weight:400;line-height:1}.team-role{margin:0;font-family:var(--font-accent);font-size:clamp(1rem,1.35vw,1.3rem);text-transform:uppercase}.team-description{max-width:33rem;margin:1.3rem auto 0;font-size:clamp(.95rem,1.35vw,1.2rem);font-style:italic;line-height:2.25}.about-marquee{width:100%;overflow:hidden;margin-bottom:2.75rem;white-space:nowrap}.about-marquee div{display:flex;width:max-content;font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.15;animation:about-marquee 50s linear infinite}@keyframes about-marquee{to{transform:translate(-25%)}}.about-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4rem;padding:0 2.6rem}.about-gallery img{aspect-ratio:2 / 3;object-fit:cover}.contact-page h1{font-family:var(--font-accent);font-weight:400}.contact-page{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,34rem),1fr));gap:4rem}.contact-details{display:grid;justify-items:start;gap:1rem;margin-top:2.5rem;font-size:clamp(1.35rem,1.7vw,1.7rem)}.contact-details>a{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid transparent;padding-bottom:.15rem}.contact-details>a svg{width:1.35em;height:1.35em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.contact-details>a .contact-icon-solid{fill:currentColor;stroke:none}.contact-details>a:hover,.contact-details>a:focus-visible{border-color:currentColor}.contact-details .social-links{margin-top:.6rem}.contact-details .social-links a{width:1.35em;height:1.35em}.contact-form{display:grid;gap:1.4rem}.contact-form label{display:grid;gap:.45rem;font-size:1.014rem;text-transform:uppercase;letter-spacing:.08em}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #aaa;border-radius:0;padding:.8rem 0;background:transparent;outline:none}.contact-form button{justify-self:start;border:1px solid #111;border-radius:999px;padding:.75rem 1.35rem;background:transparent;cursor:pointer}.contact-form button:disabled{cursor:wait;opacity:.55}.site-footer{display:block;margin-top:5rem;border-top:0;padding:2.75rem 2rem 1.5rem;background:#111;color:#f4f2ee;font-size:1.1rem}.site-footer-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:clamp(2rem,4vw,4rem);align-items:center}.footer-nav{display:flex;justify-content:center;gap:1.5rem;font-size:1rem}.footer-contact{display:grid;gap:.35rem;font-size:.9rem}.footer-contact>span{margin-bottom:.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.footer-contact a:hover,.footer-contact a:focus-visible{text-decoration:underline;text-underline-offset:.25rem}.footer-nav a:hover,.footer-nav a:focus-visible,.footer-nav a.active{text-decoration:underline;text-underline-offset:.3rem}.site-footer-meta{display:flex;justify-content:space-between;gap:2rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgb(244 242 238 / 25%);color:#f4f2eea6;font-size:.82rem}@media(max-width:720px){.site-header,.site-footer,.page-pad{padding-left:1rem;padding-right:1rem}.site-header{align-items:center;padding-left:.8rem;padding-right:.8rem}.site-nav{gap:.35rem;margin-left:.55rem;flex-wrap:wrap;justify-content:flex-start;font-size:.7rem}.site-header>.social-links{gap:.35rem}.site-header>.social-links a{width:.9rem;height:.9rem}.brand-wordmark{font-size:.68rem;letter-spacing:.35em}.site-footer-main{grid-template-columns:1fr;gap:1.5rem;justify-items:start}.footer-nav{flex-wrap:wrap;justify-content:flex-start;gap:.65rem 1rem}.site-footer-meta{gap:.75rem;flex-direction:column}.project-grid,.contact-page{grid-template-columns:1fr}.project-detail-header{grid-template-columns:1fr;gap:2.5rem}.project-facts,.project-description{grid-column:1;grid-row:auto}.project-gallery{grid-template-columns:1fr}.project-gallery-column:last-child{margin-top:0}.hero{min-height:auto;justify-content:flex-start}.about-intro{padding-top:2rem;padding-bottom:3rem}.about-team{width:calc(100% - 2rem);grid-template-columns:1fr;gap:4.5rem;margin-bottom:5rem}.team-member h2{font-size:2.35rem}.team-description{max-width:29rem;line-height:1.8}.about-gallery{grid-template-columns:1fr;gap:1rem;padding:0 1rem}.home-hero,.home-offer{grid-template-columns:1fr}.home-hero{gap:2rem;padding-top:4rem}.home-hero>.home-large-logo{width:75%;margin-bottom:0}.home-hero-copy{grid-column:1;margin-top:0}.home-offer{gap:3rem}.home-offer-kicker{margin-bottom:2rem}.home-contact-visual{grid-template-columns:.7fr 1fr;gap:1rem;margin-top:3rem}.home-contact-visual>img:last-child{min-width:0}.services-page{padding-top:4rem}.service-grid{grid-template-columns:1fr;gap:1rem}.service-card ul{gap:1rem}.services-contact{grid-template-columns:1fr;gap:2rem;margin-top:6rem;margin-bottom:6rem;text-align:center}.services-marquee{width:calc(100% + 2rem);margin-right:-1rem;margin-left:-1rem}}@media(prefers-reduced-motion:reduce){.about-marquee div,.services-marquee div{animation-play-state:paused}.moodboard-strip img{transform:none}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
