
:root{--ink:#11110f;--paper:#f2efe7;--accent:#d9ff45;--muted:#77756e;--line:#cbc7bd}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;background:rgba(242,239,231,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{font-family:"Space Grotesk",sans-serif;font-weight:700;text-decoration:none;letter-spacing:-.04em}.brand span{font-weight:500}
nav{display:flex;gap:28px}nav a{text-decoration:none;font-size:14px}
.hero{min-height:78vh;padding:12vh 7vw 8vh;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--line)}
.eyebrow,.number,.status{font-size:12px;font-weight:600;letter-spacing:.16em}
.hero h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(64px,11vw,150px);line-height:.82;letter-spacing:-.07em;margin:24px 0 36px;max-width:1200px}
.hero h1 em{font-style:normal;background:var(--accent);padding:0 .08em}
.hero-copy{font-size:clamp(18px,2vw,25px);max-width:620px;line-height:1.45}
.text-link{margin-top:28px;font-weight:600;text-underline-offset:5px}
.section{padding:90px 7vw}
.section-heading{display:grid;grid-template-columns:70px 1fr;align-items:end;margin-bottom:48px}
.section-heading h2{font:600 clamp(44px,7vw,92px)/.9 "Space Grotesk",sans-serif;letter-spacing:-.06em;margin:0}
.number{margin:0 0 8px}
.video-wrap{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.featured-video{max-width:1200px}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:55px}
.video-meta{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:14px 0 0}
.video-meta h3{font:600 20px "Space Grotesk",sans-serif;margin:0}.video-meta p{margin:0;color:var(--muted);font-size:14px}
.upcoming-section{background:var(--ink);color:var(--paper)}
.project-card{padding:6vw 0 3vw;max-width:1000px}
.status{color:var(--accent)}
.project-card h3{font:600 clamp(70px,12vw,165px)/.78 "Space Grotesk",sans-serif;letter-spacing:-.075em;margin:30px 0}
.project-copy{max-width:620px;font-size:20px;line-height:1.5;color:#c9c6bd}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.button{display:inline-block;padding:15px 20px;border:1px solid #5c5b56;text-decoration:none;font-weight:600;font-size:14px}
.button.primary{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.button.disabled{color:#8b8982}
.contact-section{min-height:60vh}
.contact-copy{margin-left:70px;max-width:1000px;padding-top:35px}
.contact-copy p{font-size:20px;color:var(--muted)}
.contact-copy a{display:inline-block;font:600 clamp(28px,5vw,68px)/1.05 "Space Grotesk",sans-serif;letter-spacing:-.05em;text-underline-offset:8px;overflow-wrap:anywhere}
footer{padding:28px 7vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px}
footer a{text-underline-offset:4px}
@media(max-width:700px){
  .site-header{padding:18px 5vw}.brand{font-size:14px}nav{gap:13px}nav a{font-size:12px}
  .hero{min-height:70vh;padding-top:9vh}.hero h1{font-size:clamp(58px,20vw,90px)}
  .section{padding:65px 5vw}.section-heading{grid-template-columns:42px 1fr;margin-bottom:30px}
  .video-grid{grid-template-columns:1fr;gap:38px;margin-top:38px}.video-meta{display:block}.video-meta p{margin-top:5px}
  .project-card h3{font-size:clamp(68px,23vw,110px)}.project-copy{font-size:18px}
  .contact-copy{margin-left:42px}.contact-copy a{font-size:clamp(27px,8vw,45px)}
  footer{padding:24px 5vw}
}

/* V2 brand + bio revisions */
.brand img{display:block;width:132px;height:34px;object-fit:cover;object-position:center}
.hero{min-height:72vh}
.hero-logo{width:min(760px,88vw);height:auto;display:block;margin-bottom:34px}
.about-grid{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:clamp(38px,7vw,100px);align-items:center;margin-left:70px;max-width:1200px}
.headshot-wrap{overflow:hidden;aspect-ratio:4/5;background:#ddd}
.headshot-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}
.bio-kicker{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}
.bio-copy h3{font:600 clamp(38px,5vw,72px)/.95 "Space Grotesk",sans-serif;letter-spacing:-.055em;margin:0 0 28px}
.bio-copy>p:last-child{font-size:18px;line-height:1.7;max-width:720px;margin:0}
.chat-block{margin:90px 0 0 70px;padding-top:48px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.chat-label{font:600 clamp(46px,7vw,92px)/.9 "Space Grotesk",sans-serif;letter-spacing:-.06em;margin:0 0 28px}
.chat-email{font:600 clamp(23px,3.5vw,48px)/1.1 "Space Grotesk",sans-serif;letter-spacing:-.04em;text-underline-offset:7px;overflow-wrap:anywhere}
.chat-button{margin-top:28px;border-color:var(--ink);background:var(--ink);color:var(--paper)}
@media(max-width:700px){
  .brand img{width:92px;height:25px}
  .hero-logo{width:92vw;margin-bottom:24px}
  .about-grid{grid-template-columns:1fr;margin-left:42px;gap:32px}
  .headshot-wrap{max-width:360px}
  .bio-copy>p:last-child{font-size:16px}
  .chat-block{margin:65px 0 0 42px;padding-top:35px}
}

/* V3 mission / vision + contact refinements */
.mission-vision{max-width:850px;margin:0 0 10px}
.mission-vision p{font-size:clamp(17px,1.6vw,21px);line-height:1.6;margin:0 0 18px}
.mission-vision strong{font-family:"Space Grotesk",sans-serif}
.chat-label{font-size:clamp(44px,7vw,92px)}
@media(max-width:700px){
  .mission-vision p{font-size:16px}
}

/* V4 video poster treatment */
.video-poster{
  position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;
  background:#111;cursor:pointer;overflow:hidden;text-align:left;color:white;
}
.video-poster img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .35s ease, opacity .35s ease;
}
.video-poster::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.03) 45%,rgba(0,0,0,.55) 100%);
}
.video-poster:hover img{transform:scale(1.015);opacity:.9}
.play-badge{
  position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);
  width:74px;height:74px;border-radius:50%;display:grid;place-items:center;
  background:var(--accent);color:var(--ink);font-size:25px;padding-left:4px;
  box-shadow:0 8px 30px rgba(0,0,0,.25);
}
.watch-label{
  position:absolute;z-index:2;left:22px;bottom:19px;
  font-size:12px;font-weight:700;letter-spacing:.15em;
}
@media(max-width:700px){
  .play-badge{width:58px;height:58px;font-size:20px}
}

/* V5 refinements */
.chat-label{
  font-size:clamp(34px,4.8vw,68px);
  text-transform:none;
  letter-spacing:-.045em;
}
.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:700px){
  .work-grid{grid-template-columns:1fr;}
  .chat-label{font-size:clamp(32px,10vw,52px);}
}

/* V6: intentionally smaller Contact CTA heading */
.chat-block .chat-label{
  font-size:clamp(28px,3.2vw,46px);
  line-height:1;
  text-transform:none;
  letter-spacing:-.035em;
  margin-bottom:24px;
}
@media(max-width:700px){
  .chat-block .chat-label{font-size:34px;}
}

/* V7 selected work hierarchy */
.featured-video{max-width:1200px}
.selected-followups{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:900px){
  .selected-followups{grid-template-columns:1fr 1fr;}
}
@media(max-width:700px){
  .selected-followups{grid-template-columns:1fr;}
}

/* V9 film title cleanup */
.video-meta{display:block}
.video-meta h3{margin:0}
.video-meta p{display:none}

/* V11: featured film descriptor */
.featured-meta p{
  display:block;
  margin:5px 0 0;
  color:var(--muted);
  font-size:14px;
}

/* V15: equal project cards for In Development */
.development-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.development-card{
  border:1px solid #3d3c39;
  display:flex;
  flex-direction:column;
  min-height:520px;
  background:#171714;
}
.project-art{
  min-height:420px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}
.project-art::after{
  content:"";
  position:absolute;
  inset:auto -15% -28% auto;
  width:52%;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}
.card-npng .project-art{
  background:
    linear-gradient(145deg,rgba(217,255,69,.16),transparent 45%),
    #1a1a16;
}
.card-npid .project-art{
  background:
    radial-gradient(circle at 78% 25%,rgba(255,255,255,.08),transparent 23%),
    linear-gradient(145deg,#24231f,#11110f 65%);
}
.project-tag{
  position:relative;
  z-index:1;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--accent);
}
.project-art h3{
  position:relative;
  z-index:1;
  font:600 clamp(42px,5.3vw,74px)/.9 "Space Grotesk",sans-serif;
  letter-spacing:-.06em;
  margin:0;
  color:var(--paper);
}
.project-card-footer{
  border-top:1px solid #3d3c39;
  padding:22px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:auto;
}
.project-card-footer .button{
  margin:0;
}
@media(max-width:850px){
  .development-grid{grid-template-columns:1fr}
  .project-art{min-height:350px}
}

/* V16: prevent the top-left header logo from being clipped */
.site-header .logo,
header .logo,
.site-header .brand,
header .brand {
  overflow: visible;
}

.site-header .logo img,
header .logo img,
.site-header .brand img,
header .brand img {
  display: block;
  width: auto;
  max-width: none;
  object-fit: contain;
  object-position: left center;
  padding: 4px 8px 4px 2px;
  box-sizing: content-box;
}

/* V17: Shop section */
.shop-section{background:var(--paper)}
.shop-intro{max-width:760px;margin:-10px 0 34px}
.shop-intro p{font-size:clamp(20px,2.2vw,30px);line-height:1.2;letter-spacing:-.025em;margin:0}
.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.shop-card{border:1px solid rgba(17,17,15,.18);background:#fff;overflow:hidden}
.shop-card-art{aspect-ratio:4/5;min-height:280px;padding:20px;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.shop-card-art::before,.shop-card-art::after{content:"";position:absolute;border:1px solid rgba(17,17,15,.18)}
.shop-card-art::before{width:62%;aspect-ratio:1;border-radius:50%;top:-14%;right:-16%}
.shop-card-art::after{width:42%;height:28%;left:-9%;bottom:17%;transform:rotate(-12deg)}
.shop-card-art span{position:relative;z-index:1;font:700 clamp(22px,2.5vw,34px)/.9 "Space Grotesk",sans-serif;letter-spacing:-.05em}
.shop-art-shirts{background:linear-gradient(145deg,#d9ff45,#f2efe7 70%)}
.shop-art-stickers{background:linear-gradient(145deg,#f2efe7,#d9ff45 120%)}
.shop-art-posters{background:linear-gradient(160deg,#11110f,#34342f);color:#f2efe7}
.shop-art-posters::before,.shop-art-posters::after{border-color:rgba(242,239,231,.22)}
.shop-art-books{background:linear-gradient(145deg,#e5e0d4,#f2efe7)}
.shop-card-footer{padding:18px 18px 20px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.shop-card-footer h3{margin:0;font-size:20px}
.shop-status{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.55}
@media(max-width:980px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.shop-grid{grid-template-columns:1fr}.shop-card-art{aspect-ratio:5/4;min-height:240px}}
