:root{
  --black:#101010;
  --ink:#20211e;
  --paper:#f5f4ee;
  --cream:#fffef9;
  --lime:#d9ff45;
  --orange:#ff653e;
  --blue:#9ed6ff;
  --purple:#c9b9ff;
  --pink:#ffb5cf;
  --line:rgba(16,16,16,.14);
  --muted:#75756e;
  --mono:"DM Mono",monospace;
  --sans:"Manrope",sans-serif;
  --serif:"Playfair Display",serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; color:var(--black); background:var(--paper);
  font-family:var(--sans); overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
::selection{background:var(--lime);color:var(--black)}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-thumb{background:#282827;border-radius:99px}

.noise{
  position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.cursor{
  position:fixed;top:0;left:0;width:12px;height:12px;z-index:300;
  pointer-events:none;border-radius:50%;background:var(--orange);
  transform:translate(-50%,-50%);mix-blend-mode:multiply;
  transition:width .25s,height .25s,background .25s;display:none;
}
.cursor.active{width:46px;height:46px;background:var(--lime)}
@media(pointer:fine){.cursor{display:block} body{cursor:none} a,button,input,textarea,select{cursor:none}}

.container{width:min(1380px,calc(100% - 48px));margin:auto}
.eyebrow{
  display:flex;align-items:center;gap:10px;color:var(--muted);
  font:500 10px/1.3 var(--mono);letter-spacing:.15em;text-transform:uppercase;
}
.live-dot{
  width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--orange);
  animation:pulse 1.9s infinite;box-shadow:0 0 0 0 rgba(255,101,62,.6);
}
@keyframes pulse{
  70%{box-shadow:0 0 0 10px rgba(255,101,62,0)}
  100%{box-shadow:0 0 0 0 rgba(255,101,62,0)}
}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
.section-space{padding:125px 0}
.grid-bg{
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:42px 42px;
}

/* Navigation */
.nav{
  height:82px;position:fixed;inset:0 0 auto;z-index:80;
  border-bottom:1px solid transparent;transition:background .35s,border .35s,height .35s;
}
.nav.scrolled{height:68px;background:rgba(245,244,238,.89);backdrop-filter:blur(16px);border-color:var(--line)}
.nav-inner{height:100%;display:flex;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.06em;font-size:21px}
.brand-logo-img{width:32px;height:32px;aspect-ratio:1/1;flex-shrink:0;border-radius:50%;object-fit:cover;border:1.5px solid var(--black)}
.nav-links{display:flex;align-items:center;gap:30px;font:500 12px var(--mono);letter-spacing:.03em}
.nav-links a{position:relative;padding:7px 0}
.nav-links a::after{content:"";position:absolute;bottom:1px;left:0;width:0;height:1px;background:var(--black);transition:width .25s}
.nav-links a:hover::after{width:100%}
.nav-actions{display:flex;gap:10px;align-items:center}

.menu-button{display:none;width:43px;height:43px;border:1px solid var(--black);background:transparent;border-radius:50%}

/* Hero */
.hero{min-height:810px;padding:157px 0 72px;position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;width:800px;height:800px;right:-250px;top:-200px;
  border-radius:50%;background:var(--lime);filter:blur(1px);opacity:.84;
  animation:float 11s ease-in-out infinite;
}
.hero::after{
  content:"";position:absolute;right:16%;bottom:9%;width:166px;height:166px;background:var(--orange);
  clip-path:polygon(50% 0,61% 37%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 37%);
  animation:spin 18s linear infinite;
}
@keyframes float{50%{transform:translate(-35px,45px) scale(1.1)}}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-inner{position:relative;z-index:1}
.hero-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}
.hero-number{font:500 10px var(--mono);letter-spacing:.1em}
.hero-title{
  margin:0;max-width:1100px;font-size:clamp(57px,9.4vw,142px);line-height:.87;
  letter-spacing:-.087em;font-weight:800;
}
.hero-title .accent{font:italic 500 .93em var(--serif);letter-spacing:-.075em}
.hero-bottom{
  margin:57px 0 0;display:grid;grid-template-columns:1fr 1.18fr;
  gap:50px;align-items:end;
}
.hero-copy{max-width:410px;font-size:16px;line-height:1.7;color:#4c4c47}
.hero-copy strong{color:var(--black)}
.hero-info{border-top:1px solid var(--black);padding-top:14px;display:flex;justify-content:space-between;align-items:flex-start}
.hero-info p{font:500 11px/1.65 var(--mono);margin:0;max-width:215px}
.hero-scroll{display:flex;align-items:center;gap:8px;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.hero-scroll i{animation:bounce 1.6s infinite}
@keyframes bounce{50%{transform:translateY(6px)}}
.stamp{
  position:absolute;right:9%;top:157px;width:120px;height:120px;z-index:2;
  border-radius:50%;background:var(--cream);border:1px solid var(--black);
  display:grid;place-items:center;transform:rotate(14deg);
  animation:stamp 1.1s .5s cubic-bezier(.175,.885,.32,1.275) both;
}
.stamp span{font:700 10px/1.2 var(--mono);text-align:center;text-transform:uppercase;letter-spacing:.04em}
.stamp b{color:var(--orange)}
@keyframes stamp{from{opacity:0;transform:rotate(-45deg) scale(.2)}to{opacity:1;transform:rotate(14deg) scale(1)}}

/* Ticker */
.ticker{background:var(--black);overflow:hidden;padding:17px 0;color:var(--cream);white-space:nowrap}
.ticker-track{display:flex;width:max-content;animation:ticker 27s linear infinite}
.ticker-item{display:flex;align-items:center;gap:24px;padding-right:24px;font:600 14px var(--mono);letter-spacing:.025em}
.ticker-item i{width:10px;height:10px;display:block;border-radius:50%;background:var(--lime)}
@keyframes ticker{to{transform:translateX(-50%)}}

/* Intro */
.intro{display:grid;grid-template-columns:.82fr 1.5fr;gap:80px}
.section-title{margin:13px 0 0;font-size:clamp(37px,5.1vw,73px);line-height:.98;letter-spacing:-.075em}
.section-title em{font:italic 500 1.04em var(--serif);letter-spacing:-.07em}
.intro-text{font-size:21px;line-height:1.58;max-width:735px;margin-top:25px}
.intro-text span{color:var(--muted)}
.stat-row{margin-top:67px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--black)}
.stat{padding:19px 22px 0;border-right:1px solid var(--line)}
.stat:first-child{padding-left:0}
.stat:last-child{border:0}
.stat b{display:block;font-size:42px;line-height:1;letter-spacing:-.07em}
.stat small{margin-top:7px;display:block;font:500 10px var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.08em}

/* Cards Grid */
.groups{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.groups-header{display:flex;align-items:end;justify-content:space-between;margin-bottom:47px}
.groups-header .section-title{max-width:660px}
.filter-wrap{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.filter{
  border:1px solid var(--line);border-radius:99px;background:transparent;padding:9px 14px;
  color:var(--muted);font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.06em;transition:.25s;
}
.filter:hover,.filter.active{background:var(--black);border-color:var(--black);color:var(--cream)}
.groups-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}

/* Card Styles */
.group-card{
  position:relative;min-height:320px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  overflow:hidden;display:flex;flex-direction:column;transition:color .35s;background:var(--cream);
}
.group-card::before{content:"";position:absolute;z-index:0;inset:auto -10% -120% -10%;height:100%;border-radius:50%;background:var(--card-color,var(--lime));transition:transform .55s cubic-bezier(.22,1,.36,1)}
.group-card:hover::before{transform:translateY(-99%)}
.group-card > *{position:relative;z-index:1}
.card-head{display:flex;justify-content:space-between;align-items:flex-start}
.card-logo{
  width:58px;height:58px;border:1px solid var(--black);border-radius:14px;background:var(--cream);
  display:grid;place-items:center;font-size:19px;font-weight:800;letter-spacing:-.1em;overflow:hidden;
}
.card-logo img{width:100%;height:100%;object-fit:cover}
.tag{padding:6px 8px;border:1px solid var(--line);border-radius:99px;font:500 9px var(--mono);text-transform:uppercase;letter-spacing:.07em;background:rgba(255,255,255,.6)}
.group-card h3{margin:28px 0 8px;letter-spacing:-.06em;font-size:24px;line-height:1.1}
.group-card p{margin:0;color:#5d5c56;font-size:13px;line-height:1.55;max-width:320px}

/* Project Card Image Banner */
.project-banner{width:100%;height:150px;border:1px solid var(--black);border-radius:10px;overflow:hidden;margin-bottom:16px;background:#e2e2da}
.project-banner img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.group-card:hover .project-banner img{transform:scale(1.05)}

.card-foot{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;font:500 10px var(--mono)}
.card-actions{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.action-btn{
  display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--black);
  border-radius:99px;background:var(--cream);font:600 10px var(--mono);
}
.arrow-round{width:35px;height:35px;border:1px solid var(--black);border-radius:50%;display:grid;place-items:center;transition:transform .3s,background .3s}
.group-card:hover .arrow-round{transform:rotate(-45deg);background:var(--cream)}
.empty-state{padding:45px;grid-column:1/-1;text-align:center;color:var(--muted);font:14px var(--mono)}

/* Manifesto */
.manifesto{background:var(--black);color:var(--cream);position:relative;overflow:hidden}
.manifesto::after{content:"K";position:absolute;right:-4vw;bottom:-14vw;color:rgba(217,255,69,.09);font-size:63vw;font-weight:800;line-height:1}
.manifesto-grid{position:relative;z-index:1;display:grid;grid-template-columns:.82fr 1.5fr;gap:80px}
.manifesto .eyebrow{color:#a9aaa1}
.manifesto-copy{font-size:clamp(34px,4.6vw,65px);letter-spacing:-.07em;line-height:1.04;margin:0}
.manifesto-copy em{font:italic 500 1.05em var(--serif)}
.manifesto-copy mark{background:var(--lime);color:var(--black);padding:0 .1em}
.manifesto-meta{margin-top:63px;border-top:1px solid rgba(255,255,255,.25);padding-top:13px;display:flex;justify-content:space-between;font:500 10px var(--mono);color:#b4b4ad}

/* Footer */
footer{padding:61px 0 26px;background:var(--cream)}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;padding-bottom:70px}
.footer-tagline{font-size:17px;line-height:1.5;max-width:280px;margin-top:20px}
.footer-col h4{margin:2px 0 17px;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.footer-col a{display:block;margin:9px 0;font-size:13px;transition:padding .2s}
.footer-col a:hover{padding-left:5px}
.footer-bottom{border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between;font:500 10px var(--mono);color:var(--muted)}

@media(max-width:850px){
  .container{width:min(100% - 32px,1380px)}
  .nav-links{display:none}
  .menu-button{display:grid;place-items:center}
  .nav-actions{gap:8px}
  .hero{min-height:720px;padding-top:135px}
  .hero::before{width:530px;height:530px;right:-290px;top:-100px}
  .hero::after{right:8%;bottom:15%;width:100px;height:100px}
  .stamp{right:8%;top:126px;width:88px;height:88px}
  .stamp span{font-size:8px}
  .hero-title{font-size:clamp(53px,13vw,100px)}
  .hero-bottom,.intro,.manifesto-grid{grid-template-columns:1fr;gap:25px}
  .hero-bottom{margin-top:43px}
  .hero-info{max-width:600px}
  .groups-grid{grid-template-columns:repeat(2,1fr)}
  .groups-header{align-items:flex-start;gap:24px;flex-direction:column}
  .filter-wrap{justify-content:flex-start}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  .section-space{padding:80px 0}
  .nav{height:68px}.nav.scrolled{height:62px}
  .brand{font-size:19px}
  .hero{min-height:690px;padding-top:118px}
  .hero-topline{margin-bottom:28px}
  .hero-title{font-size:53px}
  .hero-bottom{margin-top:41px}
  .hero-copy{font-size:14px}
  .hero-info p{font-size:9px;max-width:165px}
  .hero-scroll{font-size:8px}
  .stamp{display:none}
  .stat-row{margin-top:39px}
  .stat{padding:16px 10px 0}.stat b{font-size:29px}.stat small{font-size:8px}
  .intro-text{font-size:17px}
  .groups-grid{grid-template-columns:1fr}
  .group-card{min-height:285px}
  .footer-top{grid-template-columns:1fr 1fr;gap:35px 15px}
  .footer-top > :first-child{grid-column:1/-1}
  .footer-bottom{font-size:8px;gap:15px}
  .filter{padding:8px 10px;font-size:9px}
}
