:root{--ink:#20203b;--cream:#fffaf0;--paper:#fffdf8;--orange:#ff7a59;--yellow:#ffd166;--pink:#ff7eb6;--blue:#69b7ff;--purple:#8267e8;--mint:#61d7b3;--line:rgba(32,32,59,.16);--shadow:0 22px 70px rgba(37,28,54,.14)}
*{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}img{display:block;max-width:100%}a{color:inherit}.site-header{position:absolute;z-index:20;inset:0 0 auto 0;height:92px;padding:0 5vw;display:flex;align-items:center;gap:28px;color:#fff;border-bottom:1px solid rgba(255,255,255,.35)}.logo{width:250px;color:#fff}.logo img{width:100%;filter:brightness(0) invert(1)}.site-nav{margin-left:auto;display:flex;gap:30px}.site-nav a,.header-cta{text-decoration:none;font-size:14px;font-weight:700}.header-cta{padding:13px 18px;border:1px solid rgba(255,255,255,.7);border-radius:999px}.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font:700 14px inherit}.hero{position:relative;height:100svh;min-height:720px;overflow:hidden;color:#fff}.hero-media,.hero-media img,.hero-wash{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center 35%}.hero-wash{background:linear-gradient(90deg,rgba(27,16,42,.87) 0%,rgba(38,24,64,.6) 42%,rgba(255,122,89,.05) 78%),linear-gradient(0deg,rgba(32,18,48,.62),transparent 55%)}.hero-copy{position:absolute;z-index:2;left:7vw;top:54%;transform:translateY(-50%);max-width:900px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}.hero h1,.intro h2,.case h3,.services h2,.about h2,.contact h2{font-family:Manrope,sans-serif;letter-spacing:-.055em}.hero h1{font-size:clamp(58px,8vw,122px);line-height:.9;max-width:1000px;margin:22px 0}.hero h1 span{color:var(--yellow)}.hero-lede{font-size:clamp(18px,1.7vw,24px);line-height:1.55;max-width:720px;color:#f7f0ff}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 22px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:800;transition:.25s}.btn-primary{background:var(--yellow);color:var(--ink)}.btn-primary:hover{transform:translateY(-2px);background:#ffe18b}.btn-secondary{border:1px solid rgba(255,255,255,.75);color:#fff}.hero-badge{position:absolute;right:2.2vw;bottom:48px;z-index:3;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.18em;font-size:11px}.client-strip{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:22px 5vw;background:linear-gradient(90deg,var(--yellow),#ffb168,var(--pink),#a88eff,var(--blue));font-weight:800}.client-strip span{background:rgba(255,255,255,.78);padding:9px 14px;border-radius:999px;box-shadow:0 6px 16px rgba(32,32,59,.08)}.section{padding:120px 7vw}.intro{display:grid;grid-template-columns:.6fr 1.7fr;gap:7vw;background:var(--cream)}.intro h2{font-size:clamp(50px,7vw,102px);line-height:.94;margin:0}.intro h2 em{font-style:normal;color:var(--orange)}.intro p{font-size:20px;line-height:1.7;max-width:720px;color:#55546a}.case{padding:110px 7vw}.case-head{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end;margin-bottom:52px}.case h3{font-size:clamp(52px,7vw,100px);line-height:.94;margin:14px 0 0}.case-head p{font-size:18px;line-height:1.7}.text-link{font-weight:800;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:3px}.case-food{background:#fff}.food-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;grid-template-rows:330px 280px;gap:16px}.food-grid img{width:100%;height:100%;object-fit:cover;border-radius:26px;box-shadow:var(--shadow)}.food-grid img:first-child{grid-row:span 2}.food-grid img:nth-child(2){grid-column:span 2}.case-events{background:linear-gradient(145deg,#3f2c7d,#251d53 55%,#17142e);color:#fff}.case-head.light p{color:#ded7f2}.event-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:520px 520px;gap:18px}.event-card{margin:0;position:relative;border-radius:28px;overflow:hidden;background:#111;box-shadow:0 24px 80px rgba(0,0,0,.35)}.event-card img{width:100%;height:100%;object-fit:cover;transition:.6s}.event-card:hover img{transform:scale(1.025)}.event-card figcaption{position:absolute;left:18px;bottom:18px;background:rgba(18,16,38,.78);backdrop-filter:blur(8px);padding:10px 13px;border-radius:999px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.event-a{grid-row:span 2}.case-brands{background:linear-gradient(180deg,#fff7e8,#f7f2ff)}.brand-intro{max-width:1050px;margin-bottom:55px}.brand-intro h3 span{color:var(--purple)}.brand-intro>p:last-child{font-size:19px;line-height:1.7;max-width:760px;color:#55546a}.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.brand-card{display:block;text-decoration:none;background:#fff;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);transition:.25s}.brand-card:hover{transform:translateY(-5px)}.brand-image{aspect-ratio:1/1;overflow:hidden;background:#eee}.brand-image img{width:100%;height:100%;object-fit:cover}.brand-copy{padding:28px}.brand-copy p{margin:0;text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:800;color:var(--purple)}.brand-copy h4{font-family:Manrope,sans-serif;font-size:27px;line-height:1.25;margin:12px 0 24px}.brand-copy span{font-weight:800}.services{display:grid;grid-template-columns:.55fr 1.45fr;background:#fff}.services-content h2{font-size:clamp(48px,6vw,90px);line-height:.96;margin:0}.service-list{margin-top:70px}.service-list article{display:grid;grid-template-columns:65px 1fr 1fr;gap:28px;border-top:1px solid var(--line);padding:28px 0}.service-list article:last-child{border-bottom:1px solid var(--line)}.service-list span{font-weight:800;color:var(--orange)}.service-list h3{font-family:Manrope,sans-serif;font-size:28px;margin:0}.service-list p{margin:0;line-height:1.65;color:#5e5d6d}.about{padding:110px 7vw;background:linear-gradient(135deg,#ff9a70 0%,#ffd36a 52%,#ffe99e 100%);display:grid;grid-template-columns:.95fr 1.05fr;gap:7vw;align-items:center}.about-image img{width:100%;border-radius:34px;box-shadow:0 30px 90px rgba(81,42,20,.25)}.about h2{font-size:clamp(52px,6.5vw,96px);line-height:.94;margin:14px 0 28px}.about h2 span{color:#5d3fa0}.about-copy>p{font-size:18px;line-height:1.72}.about-note{font-weight:700}.about-meta{display:flex;gap:44px;border-top:1px solid rgba(32,32,59,.25);padding-top:25px;margin-top:35px}.about-meta div{display:flex;flex-direction:column}.about-meta strong{font-family:Manrope;font-size:24px}.about-meta span{text-transform:uppercase;letter-spacing:.13em;font-size:10px;margin-top:4px}.contact{padding:110px 7vw;background:#24203f;color:#fff;display:grid;grid-template-columns:1.3fr .7fr;gap:7vw;align-items:center}.contact h2{font-size:clamp(52px,7vw,102px);line-height:.94;margin:14px 0}.contact-panel>p:not(.eyebrow){font-size:19px;color:#d8d2e9}.dark-btn{border-color:#fff}.contact-card{background:linear-gradient(160deg,var(--pink),var(--purple));border-radius:30px;padding:36px;box-shadow:0 28px 80px rgba(0,0,0,.22)}.contact-card p{font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin:24px 0 6px;opacity:.78}.contact-card p:first-child{margin-top:0}.contact-card a,.contact-card span{display:block;font-size:20px;font-weight:800;text-decoration:none;overflow-wrap:anywhere}footer{padding:34px 5vw;background:#17152b;color:#fff;display:grid;grid-template-columns:250px 1fr auto;align-items:center;gap:30px}footer img{width:230px;filter:brightness(0) invert(1)}footer p{margin:0;font-size:12px;color:#beb8d2}.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.reveal.in{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}
@media(max-width:920px){.site-nav,.header-cta{display:none}.menu-toggle{display:block}.site-nav.open{display:flex;position:absolute;top:72px;left:4vw;right:4vw;flex-direction:column;background:#fff;color:var(--ink);padding:22px;border-radius:18px;box-shadow:var(--shadow)}.site-header{height:72px}.logo{width:205px}.hero-copy{left:6vw;right:6vw}.hero h1{font-size:13vw}.hero-badge{display:none}.intro,.case-head,.services,.about,.contact{grid-template-columns:1fr}.intro{gap:30px}.food-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 260px 260px}.food-grid img:first-child{grid-row:auto}.food-grid img:nth-child(2){grid-column:auto}.event-grid{grid-template-columns:1fr 1fr;grid-template-rows:560px 480px}.event-a{grid-row:auto}.brand-grid{grid-template-columns:1fr}.services-content{margin-top:30px}.service-list article{grid-template-columns:50px 1fr}.service-list p{grid-column:2}.about-image{max-width:700px}.contact-card{max-width:620px}footer{grid-template-columns:220px 1fr}footer p:last-child{display:none}}
@media(max-width:620px){.hero{min-height:700px}.hero-media img{object-position:62% center}.hero-copy{top:56%}.hero h1{font-size:16vw}.hero-lede{font-size:17px}.section,.case,.about,.contact{padding:82px 5vw}.client-strip{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.intro h2,.case h3,.services h2,.about h2,.contact h2{font-size:14vw}.food-grid{grid-template-columns:1fr;grid-template-rows:repeat(6,330px)}.event-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,520px)}.brand-copy h4{font-size:23px}.service-list article{grid-template-columns:35px 1fr;gap:14px}.about-meta{gap:20px;flex-wrap:wrap}.contact-card a,.contact-card span{font-size:17px}footer{grid-template-columns:1fr}footer p{display:none}}

/* Final layout fixes: prevent overflow and eliminate empty grid cells */
.intro > *,
.case-head > *,
.services > *,
.about > *,
.contact > *,
.food-grid > *,
.event-grid > *,
.brand-grid > * { min-width: 0; }

.intro h2,
.intro p,
.case h3,
.brand-intro h3,
.services-content h2,
.about h2,
.contact h2 {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.intro {
  grid-template-columns: minmax(150px, .45fr) minmax(0, 1.55fr);
}

.food-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, 360px);
  grid-auto-flow: row;
}
.food-grid img:first-child,
.food-grid img:nth-child(2) {
  grid-row: auto;
  grid-column: auto;
}

.event-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, 560px);
  grid-auto-flow: row;
}
.event-a { grid-row: auto; }

@media(max-width:920px){
  .intro { grid-template-columns: 1fr; }
  .food-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, 330px);
  }
  .event-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, 500px);
  }
}

@media(max-width:620px){
  .food-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6, 330px);
  }
  .event-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 500px);
  }
}

/* Featured case studies — full images, no forced crops */
.case-featured{background:linear-gradient(180deg,#fff7e8 0%,#f5f0ff 100%)}
.featured-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end;margin-bottom:48px}
.featured-intro>p{font-size:18px;line-height:1.7;color:#55546a;margin:0}
.featured-project-grid-all{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.project-card{display:flex;flex-direction:column;overflow:hidden;border-radius:28px;background:#fff;color:#18162c;text-decoration:none;box-shadow:var(--shadow);border:1px solid rgba(31,27,68,.08);transition:transform .28s ease,box-shadow .28s ease}
.project-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(31,27,68,.16)}
.project-rapid{grid-column:1 / -1}
.project-media{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%}
.project-media img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .55s ease}
.project-card:hover .project-media img{transform:scale(1.015)}
.project-media-rapid{height:570px;background:radial-gradient(circle at 70% 35%,#243a16 0,#10130f 52%,#080908 100%);padding:24px}
.project-media-food{height:430px;background:#e9f0ef;padding:18px}
.project-media-caamp{height:430px;background:linear-gradient(135deg,#ffe26f,#ff947d);padding:18px}
.project-media-event{height:650px;background:linear-gradient(160deg,#15122d,#2a1c55);padding:18px}
.project-media-event img{object-position:center}
.project-caption{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;padding:24px 26px 28px;background:#fff}
.project-caption>p{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800;color:#7a718a}
.project-caption>div{text-align:right}
.project-caption h4{font-family:Manrope,sans-serif;font-size:clamp(26px,2.5vw,40px);line-height:1;margin:0 0 9px;letter-spacing:-.04em}
.project-caption span{font-size:13px;font-weight:800;color:#ff725e}
.event-disclaimer{font-size:12px;color:#706d80;margin:18px 4px 0}

@media(max-width:920px){
  .featured-intro{grid-template-columns:1fr;gap:24px}
  .project-media-rapid{height:480px}
  .project-media-food,.project-media-caamp{height:360px}
  .project-media-event{height:560px}
}
@media(max-width:700px){
  .featured-project-grid-all{grid-template-columns:1fr}
  .project-rapid{grid-column:1}
  .project-media-rapid{height:390px;padding:14px}
  .project-media-food,.project-media-caamp{height:340px;padding:12px}
  .project-media-event{height:520px;padding:12px}
  .project-caption{align-items:flex-start;flex-direction:column;gap:14px;padding:20px}
  .project-caption>div{text-align:left}
}


/* Balanced featured projects: equal visual weight and edge-to-edge imagery */
.featured-project-grid-all{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.project-rapid{grid-column:auto}
.project-media,
.project-media-rapid,
.project-media-food,
.project-media-caamp,
.project-media-event{
  height:auto;
  aspect-ratio:16/10;
  padding:0;
  background:#17142e;
}
.project-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:none;
}
.project-card:hover .project-media img{transform:scale(1.025)}
.project-media-rapid img{object-position:center}
.project-media-food img{object-position:center 58%}
.project-media-caamp img{object-position:center 48%}
.project-media-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}
.project-media-split img:first-child{object-position:center 32%}
.project-media-split img:last-child{object-position:center 18%}
.project-media-split img{min-width:0}

@media(max-width:620px){
  .featured-project-grid-all{grid-template-columns:1fr}
  .project-media,
  .project-media-rapid,
  .project-media-food,
  .project-media-caamp,
  .project-media-event{aspect-ratio:4/3;height:auto;padding:0}
  .project-media-split{aspect-ratio:16/11}
}

/* Final polish pass */
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:#fff;color:var(--ink);padding:12px 16px;border-radius:10px;font-weight:800;text-decoration:none;box-shadow:var(--shadow)}
.skip-link:focus{top:16px}
.site-header{transition:background .25s ease,backdrop-filter .25s ease,border-color .25s ease}
.site-header.scrolled{position:fixed;background:rgba(30,25,57,.9);backdrop-filter:blur(16px);border-color:rgba(255,255,255,.12)}
.logo{width:218px}.logo img,footer img{filter:none;color:#fff}
.logo img{height:auto}
.site-nav a{position:relative}.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--yellow);transition:right .22s ease}.site-nav a:hover::after{right:0}
.header-cta:hover{background:#fff;color:var(--ink)}
.proof-strip{padding:25px 7vw;background:linear-gradient(90deg,#ffd166,#ffae76 42%,#ff8ebd 72%,#9984ef);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:30px}.proof-strip p{margin:0;text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:800}.proof-strip div{display:flex;gap:12px;flex-wrap:wrap}.proof-strip span{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.65);padding:9px 14px;border-radius:999px;font-size:13px;font-weight:800}
.featured-project-grid-all{gap:22px}.project-card{isolation:isolate}.project-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(20,16,43,.2));pointer-events:none}.project-media-split::after{display:none}.project-caption{min-height:142px}.project-caption h4{font-size:clamp(25px,2.1vw,36px)}
.process{padding:110px 7vw;background:linear-gradient(135deg,#eef8ff,#fff8dd 52%,#fff0f6)}.process-heading{max-width:900px}.process-heading h2{font-family:Manrope,sans-serif;font-size:clamp(48px,6vw,88px);line-height:.97;letter-spacing:-.055em;margin:14px 0 55px}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.process-grid article{background:rgba(255,255,255,.85);border:1px solid rgba(32,32,59,.1);border-radius:26px;padding:30px;box-shadow:0 18px 50px rgba(37,28,54,.08)}.process-grid span{font-weight:800;color:var(--orange)}.process-grid h3{font-family:Manrope,sans-serif;font-size:25px;margin:35px 0 12px}.process-grid p{margin:0;line-height:1.65;color:#5e5d6d}
.btn:focus-visible,.site-nav a:focus-visible,.header-cta:focus-visible,.project-card:focus-visible,.contact-card a:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-card,.project-media img,.btn,.site-header{transition:none}}
@media(max-width:920px){.proof-strip{grid-template-columns:1fr;gap:13px}.process-grid{grid-template-columns:1fr}.project-caption{min-height:0}.logo{width:190px}}
@media(max-width:620px){.proof-strip{padding:20px 5vw}.proof-strip div{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.proof-strip span{white-space:nowrap}.process{padding:82px 5vw}.process-heading h2{font-size:14vw}.site-header.scrolled{position:fixed}}

/* Live Events card — remove empty top band and force edge-to-edge imagery */
.project-media-event.project-media-split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  justify-items:stretch;
  height:520px;
  aspect-ratio:auto;
  padding:0;
  margin:0;
  gap:0;
  overflow:hidden;
  line-height:0;
  background:#17142e;
}
.project-media-event.project-media-split img{
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  min-height:100%;
  margin:0;
  padding:0;
  align-self:stretch;
  justify-self:stretch;
  object-fit:cover;
}
.project-media-event.project-media-split img:first-child{object-position:center 35%}
.project-media-event.project-media-split img:last-child{object-position:center 18%}

@media(max-width:920px){
  .project-media-event.project-media-split{height:460px;aspect-ratio:auto}
}
@media(max-width:620px){
  .project-media-event.project-media-split{height:350px;aspect-ratio:auto}
}

/* Selected-work bar: compact category tags */
.proof-strip{align-items:start;padding-top:24px;padding-bottom:24px}
.proof-strip p{padding-top:9px;white-space:nowrap}
.proof-strip div{gap:9px}
.proof-strip span{padding:8px 13px;font-size:12px;line-height:1.15}
@media(max-width:620px){
  .proof-strip{align-items:center}
  .proof-strip p{padding-top:0}
}
