@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@300;400;500;600;700&display=swap');
:root{--bg:#080909;--text:#eee;--muted:#a7a7a3;--line:#ffffff25;--lime:#e0ff39;--max:1360px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:#070808;color:var(--text);font-family:Manrope,Arial,sans-serif;overflow-x:hidden;position:relative;isolation:isolate}
body:before{content:"";position:fixed;inset:-2%;z-index:-3;pointer-events:none;background:
radial-gradient(ellipse at 67% 34%,rgba(220,255,65,.24) 0,rgba(151,177,68,.13) 12%,transparent 34%),
radial-gradient(ellipse at 8% 30%,rgba(186,201,191,.17) 0,transparent 23%),
radial-gradient(ellipse at 94% 65%,rgba(213,255,63,.18) 0,transparent 21%),
radial-gradient(ellipse at 45% 76%,rgba(145,160,142,.12) 0,transparent 35%),
linear-gradient(180deg,#111412 0%,#080a09 54%,#161915 80%,#050606 100%);
filter:saturate(.9)}
body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:
linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) .12%,transparent .32%) 0 0/25% 100%,
linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px) 0 0/calc(100vw / 4) 100%,
linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/100% 78px,
linear-gradient(180deg,transparent 0%,rgba(255,255,255,.025) 64%,rgba(255,255,255,.11) 83%,transparent 84%),
radial-gradient(ellipse at 50% 100%,rgba(220,255,65,.15),transparent 38%);
opacity:.82}
body .wrap:before{content:"";position:fixed;left:-8vw;right:-8vw;bottom:-18vh;height:32vh;z-index:-1;pointer-events:none;background:
linear-gradient(180deg,rgba(220,255,65,.025),rgba(220,255,65,.10) 38%,rgba(255,255,255,.08) 42%,transparent 70%),
radial-gradient(ellipse at 52% 5%,rgba(220,255,65,.20),transparent 35%);
filter:blur(20px);transform:perspective(500px) rotateX(8deg);opacity:.85}
a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 12%));margin:auto}.nav{height:86px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12;position:relative;z-index:5;background:rgba(8,9,9,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.brand{font-size:35px;letter-spacing:-.12em;font-weight:300;color:#e9e9e6}.nav nav{display:flex;align-items:center;gap:34px;color:#d0d0cc;font-size:11px;letter-spacing:.16em}.talk{border:1px solid #ffffff65;border-radius:30px;padding:12px 24px}.talk:hover{border-color:var(--lime);color:var(--lime)}
.hero{position:relative;padding:60px 0 30px;isolation:isolate;min-height:305px}.hero-orb{position:absolute;z-index:-1;width:min(54vw,700px);aspect-ratio:1;right:11%;top:-10px;border-radius:50%;background:
radial-gradient(ellipse at 26% 22%,rgba(255,255,220,.8) 0,rgba(232,255,148,.58) 5%,rgba(155,177,89,.38) 13%,transparent 30%),
radial-gradient(ellipse at 68% 74%,rgba(0,0,0,.96) 0,rgba(4,6,4,.8) 32%,transparent 60%),
radial-gradient(circle at 38% 32%,#7d8954 0,#343b2a 32%,#151913 58%,#050606 76%);
box-shadow:inset 20px 12px 35px rgba(255,255,255,.15),inset -45px -55px 90px #000e,0 0 80px #d8ff3e18,0 0 0 1px rgba(255,255,255,.13);opacity:.88;overflow:visible}
.hero-orb:before{content:"";position:absolute;width:34%;aspect-ratio:1;right:-10%;top:-5%;border-radius:50%;background:radial-gradient(circle at 29% 20%,rgba(255,255,255,.25),transparent 15%),radial-gradient(circle at 30% 22%,#171a14 0,#060706 55%,#000 73%);box-shadow:inset 7px 5px 12px rgba(255,255,255,.12),0 0 30px #d8ff3e20}
.hero-orb:after{content:"";position:absolute;inset:-12%;border-radius:50%;background:
radial-gradient(ellipse at 15% 30%,rgba(255,255,255,.18),transparent 18%),
radial-gradient(ellipse at 91% 48%,rgba(220,255,65,.2),transparent 21%),
linear-gradient(112deg,transparent 44%,rgba(255,255,255,.10) 47%,transparent 49%);
filter:blur(4px);pointer-events:none}
.hero h1{color:#e0ff39;font-family:'Space Grotesk',sans-serif;font-size:clamp(58px,5.5vw,82px);line-height:.99;letter-spacing:-.075em;font-weight:400;margin:4px 0 20px}.hero h1 span{display:block;font-size:.83em;line-height:1.1;font-weight:300;color:#999a98;letter-spacing:-.06em}.lime-line{width:42px;height:2px;background:var(--lime);margin:23px 0 18px}.bio{max-width:800px;color:#b6b6b2;font-size:15px;margin:0;line-height:1.7}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 0;isolation:isolate}.card{position:relative;display:block;height:clamp(310px,31vw,415px);min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.27);border-radius:20px;background:rgba(18,20,17,.32);backdrop-filter:blur(12px) saturate(1.08);-webkit-backdrop-filter:blur(12px) saturate(1.08);transition:transform .35s,border-color .35s,filter .35s,opacity .35s,box-shadow .35s;isolation:isolate}.card:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#090a0a2b 0%,#090a0a13 32%,#090a0ac9 76%,#090a0af0 100%);pointer-events:none}.card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform .7s,filter .35s;filter:saturate(.82) brightness(.78)}.card:hover{transform:translateY(-3px);border-color:var(--lime);box-shadow:0 0 32px #d8ff3e1a}.card:hover .card-image{transform:scale(1.045);filter:saturate(1) brightness(.92)}.cards:has(.card:hover) .card:not(:hover){filter:blur(2px);opacity:.65}.number{position:absolute;top:22px;left:29px;z-index:1;font-size:14px;color:#c6c6c1;font-weight:300}.card-copy{position:absolute;z-index:1;left:29px;right:20px;top:54px}.card-copy h2{font-size:clamp(19px,1.9vw,28px);letter-spacing:-.055em;font-weight:500;line-height:1.2;margin:0 0 5px;white-space:normal}.card-copy p{font-size:13px;color:#c0c0bb;line-height:1.4;margin:0}.arrow{position:absolute;left:0;top:clamp(220px,24vw,325px);width:50px;height:50px;border:1px solid #ffffffb0;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:300;transition:.3s}.card:hover .arrow{border-color:var(--lime);background:#d8ff3e12;color:var(--lime);box-shadow:0 0 18px #d8ff3e38}
.contact{border-top:1px solid #ffffff0c;margin-top:72px;padding:16px 0 24px;font:10px 'DM Mono',monospace;letter-spacing:.13em;color:#aaa}.contact a:hover{color:var(--lime)}footer{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b1b1ad;font-size:12px;padding:10px 0 22px}footer div{display:flex;align-items:center;gap:23px;font:10px 'DM Mono',monospace;letter-spacing:.12em;color:#b7b7b1}footer a:hover{color:var(--lime)}.footer-line{display:inline-block;width:28px;height:1px;background:var(--lime)}.admin-link{opacity:.45}
.page-head{padding:48px 0 35px}.back{display:inline-block;color:#aaa;font-size:12px;margin-bottom:35px}.back:hover{color:var(--lime)}.page-head h1{font-size:clamp(52px,8vw,96px);letter-spacing:-.09em;line-height:.95;font-weight:400;margin:15px 0}.page-head>p:last-child{max-width:620px;color:#aaa;line-height:1.8;font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-bottom:28px}.section-heading h2{font-size:clamp(36px,6vw,65px);letter-spacing:-.07em;font-weight:400;margin:10px 0 0}.muted{color:#999;font-size:12px;max-width:300px}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px;margin-bottom:90px}.project-card{min-width:0}.media{aspect-ratio:16/9;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:linear-gradient(145deg,#20251b,#090a09)}.media iframe{width:100%;height:100%;border:0;display:block}.placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;color:#aaa;font:10px 'DM Mono',monospace;letter-spacing:.1em}.play{width:48px;height:48px;border:1px solid var(--lime);color:var(--lime);border-radius:50%;display:grid;place-items:center}.project-meta{display:flex;justify-content:space-between;gap:15px;padding:13px 2px}.project-meta h3{margin:0 0 5px;font-size:17px}.project-meta p{margin:0;color:#999;font-size:11px;line-height:1.7}.event-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.event-images img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:8px;cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:100;background:#000e;display:none;align-items:center;justify-content:center;padding:24px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:86vh;object-fit:contain}.lightbox button{position:absolute;right:20px;top:20px;width:44px;height:44px;border:1px solid #777;background:#111;color:#fff;border-radius:50%;font-size:24px}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{height:390px}.card-copy h2{font-size:25px}.arrow{top:310px}.hero-orb{right:0;opacity:.45}}
@media(max-width:600px){.wrap{width:calc(100% - 34px)}.nav{height:65px;padding:0 17px}.nav nav{gap:12px;font-size:9px}.talk{padding:9px 12px}.brand{font-size:29px}.hero{padding-top:45px;min-height:300px}.hero h1{font-size:clamp(49px,12vw,68px)}.hero-orb{width:270px;right:-110px;top:35px;opacity:.34}.bio{font-size:13px;max-width:95%}.cards{gap:10px}.card{height:280px;border-radius:13px}.number{top:13px;left:14px;font-size:11px}.card-copy{left:14px;right:10px;top:43px}.card-copy h2{font-size:19px}.card-copy p{font-size:10px}.arrow{top:220px;width:35px;height:35px;font-size:17px}.contact{margin-top:45px}footer{align-items:flex-start;flex-direction:column;font-size:10px}footer div{gap:14px;flex-wrap:wrap}.projects{grid-template-columns:1fr}.section-heading{display:block}.section-heading .muted{margin-top:10px}}

/* Full-page background image: scrolls with the document */
.hero-background{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:url("images/home-background.jpg");
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  opacity:.55;
  filter:brightness(.65) saturate(.82);
  transform:scale(1.01);
}

/* Keep the site's actual content above the background image */
.nav, main{
  position:relative;
  z-index:1;
}

body:before{z-index:-3}

body:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(180deg,transparent 0%,rgba(255,255,255,.025) 64%,rgba(255,255,255,.07) 83%,transparent 84%),
    radial-gradient(ellipse at 50% 100%,rgba(220,255,65,.15),transparent 38%);
  opacity:.82;
}

/* Footer/contact layout refinement */
.site-bottom{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);align-items:end;gap:36px;margin-top:64px;padding:22px 0 24px;border-top:1px solid #ffffff18}
.site-bottom .contact{border:0;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;font:10px 'DM Mono',monospace;letter-spacing:.12em;color:#aaa}
.site-bottom .contact-label{margin:0 0 2px;color:#e0ff39;font:10px 'DM Mono',monospace;letter-spacing:.16em}
.site-bottom .contact a{color:#c6c6c0;transition:color .2s}
.site-bottom .contact a:hover{color:var(--lime)}
.site-bottom footer{min-height:0;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#b1b1ad;font-size:12px;padding:0;margin:0}
.site-bottom .copyright{max-width:260px;line-height:1.6}
.site-bottom .footer-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,2.2vw,30px);font:10px 'DM Mono',monospace;letter-spacing:.12em;color:#b7b7b1}
.site-bottom .footer-line{flex:0 0 28px}
@media(max-width:700px){.site-bottom{grid-template-columns:1fr;gap:28px;margin-top:44px}.site-bottom footer{align-items:flex-start;flex-direction:column;gap:20px}.site-bottom .footer-links{justify-content:flex-start;flex-wrap:wrap;gap:18px}.site-bottom .copyright{max-width:none}}

/* Events project cards and detail gallery */
.event-project-link{display:block;position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:linear-gradient(145deg,#20251b,#090a09)}
.event-cover{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease,filter .4s ease;filter:brightness(.82)}
.event-project-link:hover .event-cover{transform:scale(1.04);filter:brightness(.95)}
.event-project-link:hover{border-color:var(--lime)}
.event-view{position:absolute;bottom:15px;right:15px;padding:10px 14px;border:1px solid #ffffff70;border-radius:30px;background:#080909c9;font:11px 'DM Mono',monospace;letter-spacing:.08em;color:var(--lime)}
.event-project-card .project-meta h3{transition:color .2s}.event-project-card:hover .project-meta h3{color:var(--lime)}
.event-detail-header{padding:55px 0 30px}.event-detail-header h1{font-size:clamp(42px,7vw,88px);letter-spacing:-.07em;line-height:1.05;font-weight:400;margin:18px 0}
.event-detail-header .event-subtitle{color:#aaa;font-size:13px}.event-detail-description{max-width:760px;color:#b6b6b2;line-height:1.8}
.event-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:25px 0 55px}
.event-gallery button{padding:0;border:1px solid var(--line);border-radius:12px;background:#141714;overflow:hidden;cursor:zoom-in;display:block;width:100%}
.event-gallery button:hover{border-color:var(--lime)}.event-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.event-gallery button:first-child{grid-column:1/-1}.event-gallery button:first-child img{aspect-ratio:16/9}
.event-detail-video{max-width:1000px;margin:15px 0 55px}
@media(max-width:600px){.event-gallery{grid-template-columns:1fr;gap:12px}.event-gallery button:first-child{grid-column:auto}.event-gallery button:first-child img{aspect-ratio:4/3}}
/* Keep event project images fully visible */
.event-cover {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.event-gallery img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Clearer contact section */
.site-bottom{align-items:stretch;gap:42px;padding:34px 0 30px;margin-top:76px}
.site-bottom .contact{gap:16px;font-size:14px;letter-spacing:.02em}
.site-bottom .contact-label{font-size:12px;letter-spacing:.18em;margin-bottom:4px}
.site-bottom .contact a{font:500 clamp(15px,1.4vw,19px) Manrope,Arial,sans-serif;letter-spacing:0;color:#f0f0eb}
.site-bottom .contact a:first-of-type{font-size:clamp(17px,1.7vw,22px);color:var(--lime)}
.site-bottom .contact a:not(:first-of-type){display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid #ffffff20;padding-bottom:8px;min-width:170px}
.site-bottom .contact a:not(:first-of-type)::after{content:'↗';color:var(--lime);font-size:16px}
.site-bottom .contact a:hover{color:var(--lime)}
.site-bottom .contact::after{content:'Have a project in mind? Let’s talk.';display:block;margin-top:5px;color:#aeb0a8;font:13px/1.7 Manrope,Arial,sans-serif;letter-spacing:0}
.site-bottom footer{align-self:end}

/* Floating lime back button on inner pages */
.back-float{position:fixed;left:clamp(18px,4vw,56px);bottom:clamp(18px,3vw,34px);z-index:50;display:inline-flex;align-items:center;gap:10px;padding:13px 20px;border:1px solid #e0ff39;border-radius:999px;background:#e0ff39;color:#10120a;font:500 12px 'DM Mono',monospace;letter-spacing:.08em;box-shadow:0 8px 28px #0008,0 0 22px #e0ff3920;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.back-float:hover{transform:translateY(-3px);background:#edff83;box-shadow:0 10px 34px #0009,0 0 28px #e0ff3940}
.back-float .back-arrow{font-size:18px;line-height:1}
@media(max-width:700px){.site-bottom{gap:28px;padding-top:28px}.site-bottom .contact a:not(:first-of-type){min-width:145px}.back-float{left:14px;bottom:14px;padding:12px 16px;font-size:11px}.site-bottom .contact a{overflow-wrap:anywhere}}


/* Contact + footer unified glass panel */
.site-bottom{
  position:relative;
  isolation:isolate;
  width:100%;
  margin:76px 0 34px;
  padding:34px clamp(22px,3.2vw,48px) 28px;
  border:1px solid rgba(224,255,57,.42);
  border-radius:24px;
  background:rgba(0,0,0,.80);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.045);
}
.site-bottom::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(224,255,57,.045),transparent 42%,rgba(255,255,255,.018));
}
@media(max-width:700px){
  .site-bottom{
    margin-top:44px;
    margin-bottom:22px;
    padding:26px 20px 22px;
    border-radius:18px;
  }
}
