:root{--ink:#101010;--paper:#eeeae2;--lime:#d8ff45;--muted:#8b8b85;--line:rgba(16,16,16,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.loader{position:fixed;z-index:9999;inset:0;background:#0c0c0c;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;transition:transform .8s cubic-bezier(.76,0,.24,1)}.loader.hide{transform:translateY(-100%)}.loader-brand{font:600 clamp(38px,8vw,110px)/1 Manrope;letter-spacing:-.07em}.loader-line{width:180px;height:1px;background:#333;overflow:hidden}.loader-line i{display:block;width:100%;height:100%;background:var(--lime);animation:load 1.1s ease forwards}@keyframes load{from{transform:translateX(-100%)}to{transform:none}}.cursor,.cursor-dot{position:fixed;pointer-events:none;z-index:9998;border-radius:50%;transform:translate(-50%,-50%)}.cursor{width:34px;height:34px;border:1px solid rgba(0,0,0,.45);transition:width .2s,height .2s}.cursor-dot{width:4px;height:4px;background:#111}

.header {
  height: 82px;
  padding: 0 3vw;
  display: flex;
  align-items: center;
  justify-content: space-between;

  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2000;

  background: rgba(12, 12, 12, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
}

.logo{display:flex;flex-direction:column}.logo span{font:700 25px/1 Manrope;letter-spacing:-.06em}.logo small{font-size:8px;letter-spacing:.28em;margin-top:4px}.desktop-nav{display:flex;gap:36px;font-size:11px}.desktop-nav a{transition:.2s}.desktop-nav a:hover{color:var(--lime)}.menu-btn{border:0;background:none;color:inherit;display:flex;align-items:center;gap:5px;cursor:pointer}.menu-btn span{display:block;width:18px;height:1px;background:currentColor}.menu-btn b{font-size:10px;margin-left:8px}.menu-panel{position:fixed;inset:0 0 0 auto;width:min(580px,100%);background:var(--lime);z-index:1000;padding:40px;transform:translateX(100%);transition:.6s cubic-bezier(.76,0,.24,1);display:flex;flex-direction:column}.menu-panel.open{transform:none}.menu-close{align-self:flex-end;border:0;background:none;font:600 11px DM Sans;cursor:pointer}.menu-links{margin:auto 0;display:flex;flex-direction:column}.menu-links a{font:500 clamp(34px,5vw,66px)/1.1 Manrope;letter-spacing:-.05em;border-bottom:1px solid #111;padding:13px 0;display:flex;justify-content:space-between}.menu-links em{font:400 11px DM Sans}.menu-panel p{font-size:11px;text-transform:uppercase}.hero{height:100svh;min-height:720px;background:#111;color:#fff;position:relative;overflow:hidden;padding:140px 3vw 45px;display:flex;flex-direction:column;justify-content:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.3),transparent 55%),radial-gradient(circle at 70% 45%,transparent 0 20%,rgba(0,0,0,.3) 65%);pointer-events:none}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.8}.orb-a{width:48vw;height:48vw;background:radial-gradient(circle at 35% 30%,#a8b4ff,#473dff 35%,#1a1238 70%);right:-5vw;top:8vh}.orb-b{width:20vw;height:42vw;border-radius:45% 55% 60% 40%;background:linear-gradient(150deg,#f28b56,#752338 55%,#161016);right:22vw;bottom:-16vw;transform:rotate(28deg)}.hero-kicker{position:absolute;top:125px;left:3vw;right:3vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;z-index:2}.hero h1{position:relative;z-index:2;font:600 clamp(66px,10.6vw,174px)/.77 Manrope;margin:0;letter-spacing:-.075em;text-transform:uppercase}.hero h1 span{display:block}.hero h1 .outline{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.8);padding-left:8vw}.hero-bottom{z-index:2;position:relative;display:flex;justify-content:flex-end;align-items:center;gap:8vw;margin-top:55px}.hero-bottom p{max-width:340px;font-size:13px;color:#d1d1d1;line-height:1.6}.circle-link{width:130px;height:130px;border-radius:50%;background:var(--lime);color:#111;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;line-height:1.4;position:relative;transition:.3s}.circle-link:hover{transform:rotate(8deg) scale(1.05)}.circle-link b{position:absolute;right:18px;bottom:18px;font-size:18px}.scroll-note{position:absolute;bottom:32px;left:3vw;font-size:9px;letter-spacing:.15em;z-index:2}.scroll-note span{margin-left:12px}.section{padding:130px 3vw}.section-index{font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:70px}.manifesto-grid{display:grid;grid-template-columns:25% 75%}.eyebrow{font-size:10px;letter-spacing:.16em}.manifesto h2{font:500 clamp(38px,5.7vw,88px)/1.02 Manrope;letter-spacing:-.055em;margin:0}.manifesto h2 em{font-style:normal;color:#777}.manifesto-foot{display:grid;grid-template-columns:1fr 220px 220px;gap:40px;margin-top:90px;border-top:1px solid var(--line);padding-top:30px}.manifesto-foot>p{max-width:520px;line-height:1.7;color:#555}.stat{display:flex;align-items:flex-start;gap:15px}.stat strong{font:500 50px/1 Manrope;letter-spacing:-.06em}.stat span{font-size:9px;line-height:1.3}.marquee{overflow:hidden;background:var(--lime);padding:22px 0;white-space:nowrap}.marquee div{font:600 28px Manrope;animation:marquee 18s linear infinite;width:max-content}@keyframes marquee{to{transform:translateX(-50%)}}.section-head{display:grid;grid-template-columns:25% 75%;align-items:end;margin-bottom:70px}.section-head .section-index{margin:0}.section-head h2{font:500 clamp(54px,7.2vw,110px)/.9 Manrope;letter-spacing:-.07em;margin:0}.section-head h2 span{color:#8b8b85}.service{display:grid;grid-template-columns:7% 36% 1fr 40px;gap:20px;align-items:start;padding:30px 0;border-top:1px solid var(--line);transition:.3s}.service:last-child{border-bottom:1px solid var(--line)}.service:hover{padding-left:15px;background:rgba(216,255,69,.22)}.service>span{font-size:10px}.service h3{font:500 clamp(23px,2.5vw,40px)/1 Manrope;letter-spacing:-.04em;margin:0}.service-copy{font-size:12px;line-height:1.7;color:#5d5d59;max-width:650px}.service-copy strong{color:#111;font-weight:500}.service>b{font-size:24px;font-weight:400}.work{background:#101010;color:#eee}.section-index.light{color:#aaa}.work-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:80px}.work-title h2{font:500 clamp(50px,7vw,105px)/.88 Manrope;letter-spacing:-.07em;margin:0}.work-title h2 span{color:#777}.work-title p{max-width:350px;color:#999;line-height:1.6;font-size:12px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 24px}.project:nth-child(even){margin-top:120px}.project-art{height:58vw;max-height:720px;position:relative;overflow:hidden;background:#222;display:flex;align-items:center;justify-content:center}.project-art:before,.project-art:after,.project-art i{content:"";position:absolute;border-radius:50%}.p1 .project-art:before{width:65%;height:65%;background:linear-gradient(135deg,#c8ff4c,#345b22);filter:blur(1px)}.p1 .project-art:after{width:30%;height:70%;background:#151515;transform:rotate(35deg)}.p2 .project-art:before{width:70%;height:70%;border-radius:10%;background:linear-gradient(145deg,#f07b54,#532a77);transform:rotate(25deg)}.p2 .project-art:after{width:50%;height:50%;background:#111;box-shadow:0 0 80px #8f61ff}.p3 .project-art:before{width:70%;height:45%;border-radius:50%;background:linear-gradient(90deg,#e7e0d2,#888);transform:rotate(-28deg)}.p3 .project-art:after{width:35%;height:80%;border-radius:0;background:#111;transform:rotate(17deg)}.p4 .project-art:before{width:60%;height:60%;background:radial-gradient(circle at 30% 30%,#8fcaff,#173d5c 55%,#101010)}.p4 .project-art:after{width:18%;height:90%;border-radius:0;background:var(--lime);transform:rotate(40deg);mix-blend-mode:screen}.project-art span{z-index:4;font:600 clamp(38px,6vw,90px)/1 Manrope;letter-spacing:-.07em;color:#fff;mix-blend-mode:difference}.project>div:last-child{display:grid;grid-template-columns:45px 1fr;margin-top:20px}.project b{font-size:10px;color:#777}.project h3{margin:0;font:500 25px Manrope;letter-spacing:-.03em}.project p{grid-column:2;color:#888;font-size:12px;line-height:1.5;max-width:450px}.promise{background:var(--lime)}.promise blockquote{font:500 clamp(42px,6.5vw,100px)/1 Manrope;letter-spacing:-.065em;margin:0;max-width:1400px}.promise blockquote span{color:#66751f}.process{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:100px;border-top:1px solid rgba(0,0,0,.35);padding-top:25px;font:600 clamp(13px,1.3vw,20px) Manrope}.process b{font-weight:400}.cta{background:#111;color:#fff;padding:120px 3vw 140px}.cta p{font-size:10px;letter-spacing:.16em}.cta a{display:block;font:500 clamp(60px,9.5vw,150px)/.82 Manrope;letter-spacing:-.075em;margin-top:45px}.cta a span{color:#666;transition:.3s}.cta a:hover span{color:var(--lime)}footer{background:#111;color:#fff;border-top:1px solid #333;padding:50px 3vw;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;font-size:11px}.footer-logo{align-self:start}.footer-logo span{font-size:30px}footer p{color:#777;line-height:1.7;margin-top:0}footer div a{border-bottom:1px solid #555}.copyright{color:#777;line-height:1.7}
@media(max-width:850px){
	.cursor,.cursor-dot,
	.desktop-nav{display:none}
	.header {
		height: 70px;
		padding: 0 5vw;
		}
	.hero{padding-top:110px;min-height:650px}.hero-kicker{top:100px}.hero-kicker span:last-child{display:none}.hero h1{font-size:15vw;line-height:.82}.hero h1 .outline{padding-left:0}.hero-bottom{justify-content:space-between;gap:20px}.hero-bottom p{max-width:210px}.circle-link{width:100px;height:100px}.manifesto-grid,.section-head{grid-template-columns:1fr;gap:25px}.manifesto-foot{grid-template-columns:1fr 1fr}.manifesto-foot>p{grid-column:1/-1}.section{padding:90px 5vw}.service{grid-template-columns:35px 1fr 25px}.service-copy{grid-column:2/4}.work-title{display:block}.work-title p{margin-top:30px}.work-grid{grid-template-columns:1fr}.project:nth-child(even){margin-top:0}.project-art{height:115vw}.process{justify-content:flex-start}.process b{color:#71801f}.cta{padding:90px 5vw}footer{grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/-1}}@media(max-width:520px){.hero h1{font-size:16vw}.hero-bottom{margin-top:35px}.hero-bottom p{font-size:11px}.scroll-note{display:none}.manifesto-foot{grid-template-columns:1fr}.stat{border-top:1px solid var(--line);padding-top:18px}.section-index{margin-bottom:45px}.service h3{font-size:25px}.work-grid{gap:50px}.promise blockquote{font-size:11vw}.process{gap:10px 14px}.cta a{font-size:15vw}footer{grid-template-columns:1fr}.copyright{margin-top:20px}}
/* Logo image */
.logo img {
  display: block;
  width: 160px;
  height: auto;
  max-width: 100%;
}

/* Footer logo */
.footer-logo img {
  width: 160px;
  height: auto;
}

/* Mobile */
@media (max-width: 850px) {
  .logo img,
  .footer-logo img {
    width: 135px;
  }
}

.menu-btn {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}

.menu-btn span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: currentColor;
  transition: width .25s ease, transform .25s ease;
}

.menu-btn span:nth-child(2) {
  width: 16px;
}

.menu-btn:hover span:nth-child(2) {
  width: 22px;
}

/* Premium hero social icons */
.hero-socials {
  position: absolute;
  right: 3vw;
  bottom: 30px;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 12px;
}

.hero-socials a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.025);
  transition:
    color 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease,
    transform 0.3s ease;
}

.hero-socials svg {
  width: 16px;
  height: 16px;
  display: block;
}

.hero-socials a:hover {
  color: #E5B77B;
  border-color: #B98B5F;
  background: rgba(185, 139, 95, 0.1);
  transform: translateY(-3px);
}

.hero-socials a:focus-visible {
  outline: 2px solid #E5B77B;
  outline-offset: 4px;
}

/* Mobile positioning */
@media (max-width: 850px) {
  .hero-socials {
    right: 5vw;
    bottom: 20px;
    gap: 10px;
  }

  .hero-socials a {
    width: 36px;
    height: 36px;
  }

  .hero-socials svg {
    width: 15px;
    height: 15px;
  }
}

/* Ensure hero social icons remain clickable */
.hero-socials {
  position: absolute;
  right: 3vw;
  bottom: 30px;
  z-index: 100;
  pointer-events: auto;
}

.hero-socials a {
  position: relative;
  z-index: 101;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  cursor: pointer;
}

.hero-socials svg {
  pointer-events: none;
}

/* Decorative elements must not block clicks */
.hero-orb,
.hero::after {
  pointer-events: none;
}


/* =====================================
   AVENUE — COMPACT FLOATING MENU
   ===================================== */

.menu-panel {
  position: fixed;
  inset: auto;
  top: 96px;
  right: 28px;

  width: min(360px, calc(100vw - 32px));
  height: auto;
  min-height: 0;
  max-height: calc(100vh - 120px);
  overflow-y: auto;

  background: #EAE6DE;
  color: #171717;
  padding: 24px 28px;
  z-index: 1000;

  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(23, 23, 23, 0.08);
  transition: opacity 0.25s ease, transform 0.25s ease,
              visibility 0.25s ease;
}

/* Closed state */
.menu-panel:not(.open) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
}

/* Open state */
.menu-panel.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* Close button */
.menu-close {
  color: #171717;
  font-size: 10px;
  letter-spacing: 0.12em;
  opacity: 0.7;
}

/* Compact navigation links */
.menu-links {
  margin: 12px 0;
}

.menu-links a {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(20px, 2vw, 25px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.035em;
  padding: 11px 0;
  border-bottom: 1px solid rgba(23, 23, 23, 0.16);
  transition: color 0.2s ease, padding-left 0.2s ease;
}

.menu-links a:hover {
  color: #A66F48;
  padding-left: 5px;
}

.menu-links em {
  font-family: 'DM Sans', sans-serif;
  font-size: 9px;
  font-style: normal;
  letter-spacing: 0.08em;
  opacity: 0.55;
}

/* Menu footer text */
.menu-panel > p {
  color: #68645D;
  font-size: 8px;
  letter-spacing: 0.06em;
  line-height: 1.7;
  margin-top: 18px;
}

/* Remove the custom circular cursor */
.cursor,
.cursor-dot {
  display: none !important;
}

body {
  cursor: auto !important;
}

a,
button {
  cursor: pointer !important;
}

/* Mobile layout */
@media (max-width: 600px) {
  .menu-panel {
    top: 76px;
    right: 12px;
    width: calc(100vw - 24px);
    max-width: 340px;
    max-height: calc(100vh - 96px);
    padding: 20px 22px;
  }

  .menu-links a {
    font-size: 22px;
    padding: 12px 0;
  }
}


/* Menu arrow styling */
.menu-links em {
  font-family: 'DM Sans', sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  opacity: 0.65;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.menu-links a:hover em {
  transform: translateX(5px);
  opacity: 1;
}



/* Desktop: show text navigation, hide hamburger */
@media (min-width: 851px) {
  .menu-btn {
    display: none;
  }

  .desktop-nav {
    display: flex;
  }
}

/* Mobile and tablet: show hamburger, hide text navigation */
@media (max-width: 850px) {
  .menu-btn {
    display: flex;
  }

  .desktop-nav {
    display: none;
  }
}


/* Continuous right-to-left services marquee */
.marquee {
  overflow: hidden;
  white-space: nowrap;
  background: var(--lime);
  padding: 22px 0;
}

.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 24s linear infinite;
  will-change: transform;
}

.marquee-track span {
  display: block;
  flex: none;
  padding-right: 48px;
  font: 600 28px/1.2 Manrope, sans-serif;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.marquee-track b {
  display: inline-block;
  margin: 0 18px;
  font-weight: 400;
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* Optional: pause when a visitor hovers over the strip */
.marquee:hover .marquee-track {
  animation-play-state: paused;
}


/* Seamless continuous marquee */
.marquee {
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  background: #FFE45C;
  color: #111111;
  padding: 22px 0;
}

.marquee-track {
  display: flex;
  width: max-content;
  animation: avenue-marquee 32s linear infinite;
  will-change: transform;
}

.marquee-group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 24px;
  padding-right: 80px;
}

.marquee-group span {
  flex: 0 0 auto;
  font-family: 'Manrope', sans-serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.marquee-group b {
  flex: 0 0 auto;
  font-size: 16px;
  font-weight: 400;
  opacity: 0.7;
}

@keyframes avenue-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (max-width: 600px) {
  .marquee {
    padding: 17px 0;
  }

  .marquee-group {
    gap: 15px;
    padding-right: 48px;
  }

  .marquee-group span {
    font-size: 19px;
  }

  .marquee-group b {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation: none;
  }
}


/* Loading-screen logo */
.loader-brand img {
  display: block;
  width: min(220px, 55vw);
  height: auto;
  max-height: 140px;
  object-fit: contain;
}


/* Logo in the loading screen */
.loader-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.loader-brand img {
  display: block;
  width: min(220px, 55vw);
  max-height: 140px;
  height: auto;
  object-fit: contain;
}


/* Avenue Promise — lighter logo-inspired yellow */
.promise {
  background: #FFE45C;
  color: #111111;
}


/* Center desktop navigation independently of the logo */
@media (min-width: 851px) {
  .header {
    position: fixed;
  }

  .desktop-nav {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(22px, 3vw, 42px);
  }
}


/* Explore Our Work circle */
.circle-link {
  background-color: #FFE45C;
  color: #111111;
  border-color: #FFE45C;
}


