:root{
  --navy:#0b0a73;
  --navy-2:#18158d;
  --cream:#dca765;
  --paper:#f2f0eb;
  --pink:#ff0a66;
  --coral:#ff5452;
  --ink:#0a0a30;
  --white:#fffdf7;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.section{padding:110px 0}
.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;margin-bottom:20px;color:#fff}
.eyebrow.dark{color:var(--navy)}
.nav-wrap{position:fixed;z-index:100;top:14px;left:0;width:100%;pointer-events:none}
.nav{height:66px;border-radius:24px;background:rgba(255,253,247,.94);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 22px;border:1px solid rgba(11,10,115,.12);box-shadow:0 14px 35px rgba(0,0,0,.09);pointer-events:auto}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:12px;line-height:1;font-weight:900;letter-spacing:.04em}
.brand-mark{font-size:25px;color:var(--cream)}
.nav-links{display:flex;gap:26px;align-items:center;font-size:13px;font-weight:800;color:var(--navy)}
.nav-links a:hover{opacity:.65}
.nav-cta{background:var(--navy);color:#fff!important;padding:12px 17px;border-radius:999px}
.menu-toggle{display:none;border:0;background:none;color:var(--navy);font-weight:900}
.hero{min-height:100vh;background:var(--navy);color:#fff;position:relative;padding:145px 0 82px;display:flex;align-items:center;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:62px;align-items:center;position:relative;z-index:3}
.hero h1,.section-head h2,.numbers h2,.contact h2{font-size:clamp(58px,7.7vw,116px);line-height:.79;margin:0;letter-spacing:-.065em;font-weight:1000}
.hero h1 span,.section-head h2 span,.contact h2 span{color:var(--cream)}
.hero p{font-size:18px;line-height:1.55;max-width:630px;margin:30px 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;min-height:50px;align-items:center;padding:0 22px;border-radius:999px;font-size:12px;letter-spacing:.08em;font-weight:900}
.btn-light{background:#fff;color:var(--navy)}
.btn-outline{border:1px solid rgba(255,255,255,.65);color:#fff}
.hero-visual{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}
.hero-visual>img:first-child{width:94%;filter:drop-shadow(0 24px 50px rgba(0,0,0,.3));transform:rotate(-3deg)}
.hero-star{position:absolute!important;width:64px!important}
.star-one{right:3%;top:7%}.star-two{left:4%;bottom:10%}
.hero-bg-shape{position:absolute;border-radius:50%;opacity:.24;filter:blur(1px)}
.shape-a{width:560px;height:560px;background:#5753aa;right:-120px;top:-120px}.shape-b{width:420px;height:420px;border:40px solid var(--cream);left:-240px;bottom:-120px}
.ticker{position:absolute;left:0;bottom:0;width:100%;background:var(--cream);color:var(--navy);font-weight:1000;font-size:18px;white-space:nowrap;overflow:hidden;padding:13px 0;transform:rotate(-1deg) scale(1.02)}
.ticker div{animation:ticker 20s linear infinite;width:max-content}
@keyframes ticker{to{transform:translateX(-50%)}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.about-title img{width:100%}
.about-copy .lead{font-size:32px;line-height:1.12;color:var(--navy);font-weight:900;margin-top:0}
.about-copy p{font-size:16px;line-height:1.65}
.section-navy{background:var(--navy);color:#fff}
.strategy-grid{display:grid;grid-template-columns:1fr .8fr;gap:72px;align-items:center}
.section-title-img{max-width:620px;margin-bottom:30px}
.strategy-copy p{font-size:18px;line-height:1.65;max-width:700px}
.strategy-card{background:#fff;border-radius:34px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.25);transform:rotate(2deg)}
.strategy-card img{border-radius:24px}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:52px}
.section-head h2,.numbers h2,.contact h2{font-size:clamp(48px,6vw,86px)}
.section-head p{max-width:390px;line-height:1.6}
.services{background:#fff}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-card{background:var(--navy);border-radius:28px;overflow:hidden;position:relative;transition:.3s transform,.3s box-shadow}
.service-card:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 24px 40px rgba(10,10,48,.16)}
.service-card img{width:100%;aspect-ratio:1/1;object-fit:cover}
.service-card span{position:absolute;top:12px;right:12px;background:#fff;color:var(--navy);border-radius:99px;padding:8px 10px;font-size:10px;font-weight:900}
.section-cream{background:#dca765}
.numbers-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}
.numbers h2{color:var(--navy)}
.numbers p{font-size:17px;line-height:1.6;max-width:520px}
.stats-card{border-radius:28px;box-shadow:0 20px 55px rgba(50,35,15,.18)}
.client-board{margin-top:55px}
.client-board img{width:100%;border-radius:28px;box-shadow:0 20px 55px rgba(50,35,15,.18)}
.work{background:var(--navy);color:#fff}
.work .section-head{margin-bottom:90px}
.work-list{display:flex;flex-direction:column;gap:130px}
.work-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.work-row.reverse{grid-template-columns:1.15fr .85fr}
.work-row.reverse .work-copy{order:2}.work-row.reverse .work-visual{order:1}
.work-copy>img{max-width:460px;max-height:120px;object-fit:contain;object-position:left center;margin-bottom:25px}
.work-copy h3{font-size:36px;line-height:1.05;margin:0 0 20px;color:var(--cream)}
.work-copy p{font-size:17px;line-height:1.65;color:rgba(255,255,255,.84)}
.work-visual{border-radius:32px;overflow:hidden;background:#000;min-height:420px;display:flex;align-items:center;justify-content:center;box-shadow:0 30px 65px rgba(0,0,0,.34)}
.work-visual img{width:100%;height:100%;object-fit:cover}
.work-visual.tall{height:590px}.social-grid img{object-position:right center}
.dual{background:#eee;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px}.dual img{object-fit:cover;border-radius:22px;min-width:0;height:100%}
.charts{height:460px}.landscape{height:470px}
.contact{background:#070654;color:#fff;padding:120px 0 70px}
.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center}
.contact-copy p{font-size:18px;line-height:1.55;max-width:560px}
.contact-links{display:flex;flex-direction:column;gap:12px;margin:32px 0;font-size:22px;font-weight:900;color:var(--cream)}
.address{font-size:13px!important;color:rgba(255,255,255,.75)}
.contact-poster img{border-radius:30px;box-shadow:0 28px 70px rgba(0,0,0,.35)}
footer{background:#070654;color:#fff;border-top:1px solid rgba(255,255,255,.15);padding:26px 0}
.footer-inner{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.06em}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
.cursor-dot{position:fixed;z-index:9999;top:-12px;left:-12px;width:24px;height:24px;border-radius:50%;background:var(--pink);pointer-events:none;mix-blend-mode:difference;transition:width .2s,height .2s}
@media(max-width:950px){
  .hero-grid,.split,.strategy-grid,.numbers-grid,.contact-grid,.work-row,.work-row.reverse{grid-template-columns:1fr}
  .hero{padding-top:130px}.hero-visual{min-height:390px}.hero-visual>img:first-child{width:70%}
  .service-grid{grid-template-columns:repeat(3,1fr)}
  .work-row.reverse .work-copy,.work-row.reverse .work-visual{order:initial}
  .work-list{gap:90px}.work-visual.tall,.work-visual.landscape,.charts{height:auto;min-height:0}
  .section-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:720px){
  .container{width:min(100% - 26px,var(--max))}.section{padding:78px 0}
  .nav{height:58px;border-radius:18px}.menu-toggle{display:block}.nav-links{position:absolute;top:68px;left:13px;right:13px;background:#fff;border-radius:18px;padding:18px;display:none;flex-direction:column;align-items:stretch;box-shadow:0 18px 45px rgba(0,0,0,.18)}.nav-links.open{display:flex}.nav-links a{padding:10px}
  .hero{min-height:auto;padding:120px 0 90px}.hero h1{font-size:58px}.hero p{font-size:16px}.hero-visual{min-height:310px}.hero-visual>img:first-child{width:90%}
  .ticker{font-size:14px}
  .about-copy .lead{font-size:25px}.strategy-card{transform:none}
  .service-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.service-card{min-width:72vw;scroll-snap-align:start}
  .section-head h2,.numbers h2,.contact h2{font-size:52px}.work-copy h3{font-size:29px}.work-copy>img{max-height:88px}
  .dual{grid-template-columns:1fr 1fr}.work-list{gap:76px}.work-row{gap:34px}
  .contact-links{font-size:18px}.contact-poster{display:none}.footer-inner{flex-direction:column;gap:8px}
  .cursor-dot{display:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ===== CTT visual fixes v2 ===== */
.social-showcase{
  position:relative;
  height:560px;
  min-height:560px;
  overflow:hidden;
  background:linear-gradient(135deg,#f6f2ea 0%,#e4b875 100%);
  border:1px solid rgba(255,255,255,.16);
}
.social-showcase .social-posts{
  position:absolute;
  z-index:1;
  top:-2%;
  right:-1%;
  width:64%;
  height:104%;
  object-fit:cover;
  object-position:center top;
  border-radius:24px 0 0 24px;
}
.social-showcase .social-phone{
  position:absolute;
  z-index:2;
  left:4%;
  bottom:-2%;
  width:48%;
  height:auto;
  max-height:94%;
  object-fit:contain;
  filter:drop-shadow(0 22px 30px rgba(0,0,0,.28));
}
.media-buying-row{gap:84px}
.media-buying-row .work-copy>img{
  max-width:480px;
  max-height:92px;
  margin-bottom:28px;
}
.media-buying-art{
  height:430px;
  min-height:430px;
  padding:30px;
  overflow:hidden;
  background:linear-gradient(145deg,#f7f4ed 0%,#e3b16f 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 30px 65px rgba(0,0,0,.24);
}
.media-buying-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 16px 20px rgba(11,10,115,.16));
  transform:rotate(-1.5deg) scale(.96);
}
@media(max-width:950px){
  .social-showcase{height:520px;min-height:520px}
  .media-buying-art{height:390px;min-height:390px}
}
@media(max-width:720px){
  .social-showcase{height:430px;min-height:430px;border-radius:24px}
  .social-showcase .social-posts{width:67%;right:-8%}
  .social-showcase .social-phone{width:54%;left:1%;max-height:90%}
  .media-buying-row{gap:34px}
  .media-buying-art{height:300px;min-height:300px;padding:18px;border-radius:24px}
  .media-buying-row .work-copy>img{max-width:340px;max-height:70px}
}

/* ===== CTT visual fixes v3 ===== */
.brand-logo{
  width:38px;
  height:38px;
  object-fit:contain;
  flex:0 0 auto;
}
.brand-mark{display:none!important}
.cursor-dot{display:none!important}

/* Selected-work visuals: keep the original artwork but remove the ugly black framing. */
.work-visual{
  background:#eeeeee;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 54px rgba(0,0,0,.22);
}
.work-visual.landscape{
  padding:0;
  overflow:hidden;
}
.work-visual.landscape img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.event-art{height:470px}
.motion-art{height:300px;min-height:300px}

/* Media Buying: title intentionally keeps its white background. */
.media-buying-row .work-copy>img{
  display:block;
  width:min(100%,480px);
  max-width:480px;
  max-height:none;
  height:auto;
  margin-bottom:28px;
  background:#fff;
  padding:0;
  border-radius:0;
  box-shadow:none;
}
.media-buying-art{
  height:390px;
  min-height:390px;
  padding:0;
  overflow:hidden;
  background:#eeeeee;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 54px rgba(0,0,0,.22);
}
.media-buying-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none;
  transform:none;
}

@media(max-width:950px){
  .event-art{height:440px}
  .motion-art{height:270px;min-height:270px}
  .media-buying-art{height:340px;min-height:340px}
}
@media(max-width:720px){
  .brand-logo{width:32px;height:32px}
  .event-art,.motion-art,.media-buying-art{height:auto;min-height:0}
  .work-visual.landscape img,.media-buying-art img{height:auto;object-fit:contain}
  .media-buying-row .work-copy>img{max-width:340px}
}
