@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Montserrat:wght@400;500;600;700&family=Pinyon+Script&display=swap";:root{--bg-color:#f8f8f8;--text-color:#111;--accent-color:#d4af37;--font-serif:"Montserrat", sans-serif;--font-sans:"Montserrat", sans-serif;--font-script:"Pinyon Script", cursive;--spacing-unit:1rem}*{box-sizing:border-box;cursor:none;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600}a{color:inherit;text-decoration:none}.custom-cursor{pointer-events:none;z-index:9999;mix-blend-mode:difference;background-color:#e63946;border-radius:50%;width:20px;height:20px;transition:width .3s,height .3s,background-color .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor.hovering{background-color:#0000;border:2px solid #e63946;width:60px;height:60px}header{z-index:100;mix-blend-mode:difference;color:#fff;justify-content:space-between;align-items:center;width:100%;padding:2rem 4rem;display:flex;position:fixed;top:0;left:0}.logo{font-family:var(--font-sans);letter-spacing:-.05em;text-transform:uppercase;font-size:1.8rem;font-weight:800}.nav-links{text-transform:uppercase;letter-spacing:.05em;gap:2rem;font-size:.9rem;font-weight:500;display:flex}.nav-links a{position:relative}.nav-links a:after{content:"";background-color:currentColor;width:0%;height:1px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links a:hover:after{width:100%}footer{z-index:100;mix-blend-mode:difference;color:#fff;pointer-events:none;justify-content:space-between;align-items:flex-end;width:100%;padding:2rem 4rem;display:flex;position:fixed;bottom:0;left:0}.social-links,.copyright{pointer-events:auto;text-transform:uppercase;letter-spacing:.05em;gap:1.5rem;font-size:.8rem;display:flex}.scroll-container{will-change:transform;align-items:center;width:max-content;height:100vh;padding:0 10vw;display:flex}.project-item{flex-shrink:0;justify-content:center;align-items:center;width:45vw;height:55vh;margin-right:.5vw;display:flex;position:relative;overflow:hidden}.project-item:last-child{margin-right:10vw}.project-image-wrapper{width:100%;height:100%;transition:transform .8s cubic-bezier(.25,1,.5,1);position:relative;overflow:hidden}.project-item:hover .project-image-wrapper{transform:scale(.98)}.project-image{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.25,1,.5,1);transform:scale(1.05)}.project-item:hover .project-image{transform:scale(1)}.project-info{text-align:left;z-index:10;pointer-events:none;position:absolute;bottom:2rem;left:2rem}.project-number{font-family:var(--font-script);color:var(--accent-color);opacity:.8;font-size:5rem;line-height:.8;transition:transform .6s,opacity .6s;transform:translate(-20px)}.project-title{color:#fff;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 4px 20px #00000080;font-size:3.5rem;transition:transform .6s;transform:translate(-20px)}.project-item:hover .project-number{opacity:1;transform:translate(0)}.project-item:hover .project-title{transform:translate(0)}.intro-section{flex-shrink:0;width:40vw;margin-right:1.5vw;padding-right:2rem}.intro-title{margin-bottom:1.5rem;font-size:5rem;line-height:1.1}.intro-text{color:#555;max-width:80%;font-size:1.2rem;line-height:1.6}.about-page{max-width:1400px;margin:0 auto;padding:150px 10vw 100px}.about-hero{margin-bottom:5rem}.about-title{text-transform:uppercase;margin-bottom:1rem;font-size:1.8rem}.about-subtitle{color:#555;max-width:800px;font-size:.95rem;line-height:1.6}.about-team-image{border-radius:4px;width:100%;max-width:1200px;margin-top:3rem;margin-left:auto;margin-right:auto;position:relative;overflow:hidden}.overlay-title{z-index:10;text-shadow:0 4px 20px #0006;pointer-events:none;text-align:center;width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff!important;margin:0!important;font-size:8rem!important}.about-team-image img{object-fit:cover;filter:grayscale();width:100%;height:auto;transition:filter .5s;display:block}.about-hero:hover .about-team-image img{filter:grayscale(0%)}.section-title{text-transform:uppercase;margin-bottom:4rem;font-size:3rem}.text-center{text-align:center}.artists-section{margin-bottom:8rem}.artist-card{align-items:center;gap:5rem;margin-bottom:6rem;display:flex}.artist-card.reverse{flex-direction:row-reverse}.artist-image{flex:1;overflow:hidden}.artist-image img{filter:grayscale();width:100%;height:auto;transition:filter .5s}.artist-card:hover .artist-image img{filter:grayscale(0%)}.artist-info{flex:1}.artist-info h3{margin-bottom:.5rem;font-size:2.5rem}.artist-role{color:var(--accent-color);font-family:var(--font-script);margin-bottom:1.5rem;font-size:2rem}.artist-info p{color:#555;margin-bottom:2rem;font-size:1.1rem;line-height:1.8}.instagram-link{text-underline-offset:5px;font-weight:600;text-decoration:underline}.awards-section{margin-bottom:8rem}.awards-list{list-style:none}.awards-list li{border-bottom:1px solid #ddd;padding:2rem 0;font-size:1.5rem;transition:padding-left .3s;display:flex}.awards-list li:hover{color:var(--accent-color);padding-left:2rem}.award-year{width:200px;font-weight:600}.award-name{flex:1}.clients-section{margin-bottom:8rem;overflow:hidden}.clients-marquee{width:100%;position:relative;overflow:hidden}.clients-track{width:3000px;animation:30s linear infinite scroll;display:flex}.client-logo{flex-shrink:0;justify-content:center;align-items:center;width:250px;padding:0 2rem;display:flex}.client-logo img{object-fit:contain;filter:grayscale()opacity(50%);max-width:100%;max-height:150px;transition:all .3s}.client-logo:hover img{filter:grayscale(0%)opacity()}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-1500px)}}.cover-page{z-index:100;background-color:#000;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.cover-background{opacity:.6;background-position:50%;background-size:cover;width:100%;height:100%;transition:opacity 1s,transform 1.5s;position:absolute;top:0;left:0}.cover-page.explored .cover-background{opacity:.2;transform:scale(1.05)}.cover-content{z-index:2;text-align:center;color:#fff;transition:opacity .5s,transform .5s;position:relative}.cover-title{text-transform:uppercase;letter-spacing:-2px;margin-bottom:1rem;font-size:8rem}.cover-logo-image{object-fit:contain;filter:drop-shadow(0 4px 20px #00000080);width:800px;max-width:95vw;height:auto;max-height:40vh;margin-top:-5vh;margin-bottom:-.35rem}.cover-subtitle{font-size:clamp(1.55rem,2.55vw,2.45rem);font-family:"Bebas Neue",var(--font-sans);color:var(--accent-color);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.7rem;font-weight:400;line-height:1;text-shadow:0 3px 18px #0009,0 0 22px #d4af373d}.explore-button{color:#fff;text-transform:uppercase;cursor:pointer;width:150px;height:150px;font-size:1.2rem;font-family:var(--font-sans);background:0 0;border:1px solid #ffffff4d;border-radius:50%;transition:all .3s}.explore-button:hover{color:#000;background:#fff;transform:scale(1.1)}.cover-menu-overlay{z-index:3;justify-content:center;align-items:center;width:100%;height:100%;animation:1s forwards fadeInMenu;display:flex;position:absolute}@keyframes fadeInMenu{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cover-nav{text-align:center;flex-direction:column;gap:2rem;display:flex}.cover-nav a{color:#fff;text-transform:uppercase;font-size:5rem;font-weight:700;text-decoration:none;transition:color .3s}.cover-nav a:hover{color:var(--accent-color);-webkit-text-stroke:1px var(--accent-color)}.contact-page{align-items:center;gap:10vw;height:100vh;padding:100px 10vw;display:flex}.contact-left{flex:1}.contact-title{text-transform:uppercase;font-size:clamp(3rem,6vw,6rem);line-height:1.1}.contact-right{flex-direction:column;flex:1;gap:3rem;display:flex}.contact-info-block h3{font-family:var(--font-script);color:var(--accent-color);margin-bottom:1rem;font-size:2rem}.contact-info-block p,.contact-info-block a{color:var(--text-color);font-size:1.5rem;text-decoration:none}.contact-info-block a:hover{text-decoration:underline}.about-marquee-section{margin-bottom:8rem}.marquee-image-container{background-image:url(/images/about-marquee.webp?v=20260517-seo);background-position:50%;background-size:cover;align-items:center;width:100vw;height:60vh;display:flex;position:relative;left:50%;overflow:hidden;transform:translate(-50%)}.marquee-overlay{white-space:nowrap;width:100%;position:absolute;overflow:hidden}.marquee-text-track{color:#0000;text-transform:uppercase;-webkit-text-stroke:2px #fff;font-size:8rem;font-weight:800;animation:20s linear infinite marquee;display:inline-block}.marquee-text-track span{padding-right:50px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.services-page{max-width:1400px;margin:0 auto;padding:150px 10vw 100px}.services-header{margin-bottom:6rem}.services-main-title{text-transform:uppercase;text-align:center;font-size:6rem}.services-grid{flex-direction:column;gap:8rem;display:flex}.service-card{align-items:center;gap:4rem;display:flex}.service-card:nth-child(2n){flex-direction:row-reverse}.service-image-wrapper{flex:1;position:relative;overflow:hidden}.service-image-wrapper img{object-fit:cover;filter:grayscale();width:100%;height:60vh;transition:filter .5s}.service-card:hover .service-image-wrapper img{filter:grayscale(0%)}.service-number{font-family:var(--font-script);color:#fff;opacity:.8;font-size:4rem;position:absolute;top:1rem;left:1rem}.service-content{flex:1}.service-title{text-transform:uppercase;margin-bottom:2rem;font-size:3rem}.service-description{color:#555;font-size:1.3rem;line-height:1.8}.lang-switcher{z-index:1000;align-items:center;gap:10px;display:flex;position:absolute;top:40px;right:5vw}.cover-lang-switcher{position:absolute;top:40px;right:40px}.lang-switcher button{color:#fff;cursor:pointer;font-size:1.2rem;font-family:var(--font-sans);opacity:.5;text-transform:uppercase;background:0 0;border:none;transition:opacity .3s}.lang-switcher button.active,.lang-switcher button:hover{opacity:1;font-weight:700}.lang-separator{color:#fff;opacity:.3}header .lang-switcher button,header .lang-separator{color:#000}@media (width<=768px){.custom-cursor{display:none}*{cursor:auto!important}header{flex-direction:column;gap:1rem;padding:1.5rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:1rem;font-size:.8rem}.cover-title{font-size:3.5rem}.cover-logo-image{width:350px;max-width:90vw}.cover-subtitle{margin-bottom:2rem;font-size:1rem}.cover-nav a{font-size:3rem}.explore-button{width:100px;height:100px;font-size:1rem}.intro-section{width:100%;margin-bottom:3rem;margin-right:0;padding-right:0}.intro-title{font-size:3rem}.intro-text{max-width:100%}.overlay-title{font-size:4rem!important}.scroll-container{flex-direction:column;align-items:flex-start;width:100%;height:auto;padding:100px 1.5rem 50px}.project-item{width:100%;height:50vh;margin-bottom:.5rem;margin-right:0}.project-item:last-child{margin-right:0}.project-title{font-size:2.5rem}.project-number{font-size:5rem}.about-page{padding:120px 1.5rem 50px}.about-title{font-size:2.5rem}.section-title{margin-bottom:2rem;font-size:2rem}.artist-card,.artist-card.reverse{flex-direction:column;gap:2rem}.artist-info h3{font-size:2rem}.marquee-text-track{font-size:4rem}.marquee-image-container{height:40vh}.services-page{padding:120px 1.5rem 50px}.services-main-title{margin-bottom:2rem;font-size:3rem}.services-grid{gap:4rem}.service-card,.service-card:nth-child(2n){flex-direction:column;gap:2rem}.service-title{margin-bottom:1rem;font-size:2rem}.contact-page{flex-direction:column;align-items:flex-start;gap:3rem;height:auto;padding:120px 1.5rem 50px}.contact-title{font-size:3rem}.contact-info-block p,.contact-info-block a{font-size:1.2rem}footer{background-color:var(--bg-color);color:var(--text-color);mix-blend-mode:normal;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;position:static}.lang-switcher{top:20px;right:20px}}
.about-team-image .overlay-title{top:auto!important;bottom:32px!important;transform:translateX(-50%)!important}.project-info,.project-number,.project-title{display:none!important}
/* Service images: more horizontal editorial crop */
.services-grid{gap:6rem!important}
.service-image-wrapper{flex:0 1 58vw!important;max-width:980px!important;aspect-ratio:16/9!important}
.service-image-wrapper img{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important}
.service-card{align-items:center!important}
@media (width<=768px){.service-image-wrapper{flex:1 1 auto!important;width:100%!important;max-width:100%!important;aspect-ratio:16/10!important}.service-image-wrapper img{height:100%!important}}

/* Client logo carousel arrows */
.clients-section{position:relative}
.clients-marquee-container{position:relative}
.client-logo-arrow{position:absolute;top:50%;z-index:20;width:48px;height:48px;border:1px solid rgba(17,17,17,.18);border-radius:999px;background:rgba(248,248,248,.88);backdrop-filter:blur(10px);color:#111;font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer!important;transition:transform .2s ease,background .2s ease,border-color .2s ease;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.client-logo-arrow:hover{transform:translateY(-50%) scale(1.06);background:#fff;border-color:rgba(17,17,17,.35)}
.client-logo-arrow.prev{left:0;transform:translate(-50%,-50%)}
.client-logo-arrow.next{right:0;transform:translate(50%,-50%)}
.client-logo-arrow.prev:hover{transform:translate(-50%,-50%) scale(1.06)}
.client-logo-arrow.next:hover{transform:translate(50%,-50%) scale(1.06)}
@media (width<=768px){.client-logo-arrow{width:40px;height:40px;font-size:1.6rem}.client-logo-arrow.prev{left:8px;transform:translateY(-50%)}.client-logo-arrow.next{right:8px;transform:translateY(-50%)}.client-logo-arrow.prev:hover,.client-logo-arrow.next:hover{transform:translateY(-50%) scale(1.06)}}

/* Global performance and responsive polish */
img{max-width:100%;height:auto}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.clients-track,.marquee-text-track{animation:none!important}}

@media (max-width: 1024px){
  html,body,#root{width:100%;max-width:100%;overflow-x:hidden}
  *{cursor:auto!important}
  .custom-cursor{display:none!important}
  header{position:fixed!important;top:0;left:0;right:0;z-index:1000;display:flex!important;flex-direction:column!important;align-items:center!important;gap:.75rem!important;padding:1rem!important;background:rgba(248,248,248,.92)!important;backdrop-filter:blur(14px);mix-blend-mode:normal!important;color:#111!important}
  .logo img{height:52px!important;max-width:220px!important;object-fit:contain!important}
  .nav-links{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:.75rem 1rem!important;font-size:.78rem!important;line-height:1.1!important}
  header .lang-switcher{position:static!important;margin-top:.1rem!important}
  footer{position:static!important;mix-blend-mode:normal!important;color:#111!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:.7rem!important;padding:1.25rem!important;text-align:center!important;background:#f8f8f8!important}
  .social-links,.copyright{justify-content:center!important;flex-wrap:wrap!important;gap:.8rem!important}

  .cover-logo-image{width:min(82vw,520px)!important;max-height:30vh!important;margin-top:0!important}
  .cover-subtitle{font-size:clamp(1.05rem,5vw,1.6rem)!important;letter-spacing:.11em!important;padding:0 1rem!important}
  .explore-button{width:112px!important;height:112px!important;font-size:1rem!important}
  .cover-nav a{font-size:clamp(2.4rem,13vw,4.5rem)!important}

  .about-page,.services-page,.contact-page{max-width:100%!important;padding:132px 6vw 56px!important}
  .about-hero{margin-bottom:3rem!important}
  .about-title,.section-title{font-size:clamp(2rem,9vw,3.2rem)!important;line-height:1.05!important;margin-bottom:2rem!important}
  .about-team-image{margin-top:1.5rem!important;border-radius:12px!important}
  .about-team-image img{height:auto!important;min-height:260px!important;object-fit:cover!important}
  .about-team-image .overlay-title{bottom:18px!important;font-size:clamp(2.3rem,13vw,6rem)!important;line-height:.9!important;padding:0 1rem!important}

  .artist-card,.artist-card.reverse{display:flex!important;flex-direction:column!important;gap:1.6rem!important;margin-bottom:4rem!important;align-items:stretch!important}
  .artist-image,.artist-info{width:100%!important;flex:auto!important}
  .artist-image img{width:100%!important;max-height:560px!important;object-fit:cover!important;border-radius:12px!important}
  .artist-info h3{font-size:clamp(2rem,8vw,2.6rem)!important}
  .artist-role{font-size:clamp(1.45rem,7vw,2rem)!important}
  .artist-info p{font-size:1rem!important;line-height:1.7!important}

  .clients-track{width:max-content!important}
  .client-logo{width:180px!important;padding:0 1rem!important}
  .client-logo img{max-height:96px!important}
  .awards-list li{display:block!important;font-size:1.05rem!important;padding:1.2rem 0!important}
  .award-year{display:block!important;width:auto!important;margin-bottom:.35rem!important;color:var(--accent-color)!important}
  .marquee-image-container{height:42vh!important;min-height:280px!important}
  .marquee-text-track{font-size:clamp(3rem,15vw,6rem)!important;-webkit-text-stroke:1.4px #fff!important}

  .services-main-title{font-size:clamp(2.5rem,12vw,5rem)!important;line-height:.95!important}
  .services-header{margin-bottom:3rem!important}
  .services-grid{gap:4rem!important}
  .service-card,.service-card:nth-child(2n){display:flex!important;flex-direction:column!important;gap:1.4rem!important;align-items:stretch!important}
  .service-image-wrapper{width:100%!important;max-width:100%!important;flex:auto!important;aspect-ratio:16/10!important;border-radius:12px!important}
  .service-image-wrapper img{width:100%!important;height:100%!important;object-fit:cover!important}
  .service-number{display:block!important;font-size:3rem!important}
  .service-content,.service-title,.service-description{display:block!important}
  .service-title{font-size:clamp(1.8rem,8vw,2.6rem)!important;margin-bottom:1rem!important}
  .service-description{font-size:1.02rem!important;line-height:1.7!important}

  main[style]{height:auto!important;min-height:100vh!important;overflow-x:hidden!important;overflow-y:auto!important;padding-top:116px!important}
  .scroll-container{width:100%!important;height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:0 6vw 56px!important;gap:1.25rem!important}
  .intro-section{width:100%!important;margin:0 0 1.5rem!important;padding:0!important}
  .intro-title{font-size:clamp(2.6rem,14vw,5rem)!important}
  .intro-text{max-width:100%!important;font-size:1rem!important}
  .project-item{width:100%!important;height:auto!important;aspect-ratio:4/3!important;margin:0!important;border-radius:12px!important}
  .project-item:last-child{margin-right:0!important}
  .project-info,.project-number,.project-title{display:block!important}
  .project-title{font-size:clamp(1.8rem,8vw,3rem)!important}
  .project-number{font-size:clamp(2.8rem,12vw,4.5rem)!important}

  .contact-page{height:auto!important;min-height:100vh!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:2.5rem!important}
  .contact-title{font-size:clamp(3rem,14vw,6rem)!important}
  .contact-right{gap:2rem!important}
  .contact-info-block p,.contact-info-block a{font-size:clamp(1.1rem,5vw,1.45rem)!important;word-break:break-word!important}
}

@media (max-width: 520px){
  .about-page,.services-page,.contact-page{padding-left:18px!important;padding-right:18px!important}
  .nav-links{font-size:.72rem!important;gap:.6rem!important}
  .logo img{height:46px!important}
  .client-logo{width:150px!important}
  .about-team-image img{min-height:220px!important}
  .project-item{aspect-ratio:1/1!important}
}

/* Mobile QA fixes */
@media (max-width:1024px){
  header{background:rgba(0,0,0,.86)!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
  header a, header .nav-links a, header .lang-switcher button, header .lang-separator{color:#fff!important}
  .logo img{height:44px!important;max-width:190px!important;filter:drop-shadow(0 2px 10px rgba(0,0,0,.45))!important}
  .nav-links{font-size:.72rem!important;gap:.55rem .85rem!important;letter-spacing:.035em!important}
  .about-page,.services-page,.contact-page{padding-top:184px!important;padding-bottom:96px!important}
  main[style]{padding-top:180px!important;padding-bottom:88px!important}
  .contact-page{padding-bottom:140px!important}
}
@media (max-width:520px){
  .nav-links{font-size:.66rem!important;gap:.5rem .7rem!important}
  .logo img{height:40px!important;max-width:170px!important}
  .about-page,.services-page,.contact-page{padding-top:174px!important}
  main[style]{padding-top:170px!important}
}

/* Mobile projects: hide image overlay text */
@media (max-width:1024px){
  .project-info,.project-number,.project-title{display:none!important}
}

/* Urban Wall Intervention: square composite, no black frames, full mural visible */
.services-grid .service-card:first-child .service-image-wrapper{aspect-ratio:1/1!important;flex:0 1 48vw!important;max-width:720px!important;align-self:center!important;background:transparent!important;border-radius:12px!important}
.services-grid .service-card:first-child .service-image-wrapper img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;background:transparent!important}
@media (max-width:1024px){.services-grid .service-card:first-child .service-image-wrapper{width:100%!important;max-width:620px!important;margin:0 auto!important;aspect-ratio:1/1!important;flex:auto!important}.services-grid .service-card:first-child .service-image-wrapper img{object-fit:cover!important}}
@media (max-width:650px){.services-grid .service-card:first-child .service-image-wrapper{max-width:100%!important;aspect-ratio:1/1!important}}
