/* ============================================================
   INFLUENCER MARKETING EXAMPLES — animated site
   Cloned from the celebritycreators.com motion engine. Motion:
   sticky light hero, dark slide-over panel, GSAP SplitText
   reveals, grain, crosshair guides, velocity marquee, custom
   cursor, plus a dark cinematic breakdown feed. No build step.
   ============================================================ */

:root{
  --paper:#f4f1ea;        /* warm light paper (hero + light sections) */
  --ink:#14110d;          /* near-black ink */
  --ink-dim:#6b6256;      /* muted warm gray */
  --dark:#14110d;         /* dark section bg (panel, flagship, feed, footer) */
  --dark-ink:#f4f1ea;     /* text on dark */
  --dark-dim:#9a9082;
  --accent:#bf8f2e;       /* warm premium gold */
  --accent-2:#e0b85a;
  --line:rgba(20,17,13,.14);        /* hairline on light */
  --line-d:rgba(244,241,234,.14);   /* hairline on dark */
  --ease: cubic-bezier(.7,0,.2,1);
  --pad: clamp(20px,4vw,64px);
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Inter",system-ui,sans-serif;
  overflow-x:hidden;
  cursor:none;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:none}

/* Lenis */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}

/* ---------- film grain ---------- */
.grain{
  position:fixed;inset:-150%;z-index:9990;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}10%{transform:translate(-4%,-4%)}30%{transform:translate(3%,-2%)}
  50%{transform:translate(-2%,3%)}70%{transform:translate(4%,2%)}90%{transform:translate(-3%,1%)}100%{transform:translate(0,0)}
}

/* ---------- custom cursor ---------- */
.cursor{
  position:fixed;top:0;left:0;z-index:9995;pointer-events:none;
  width:14px;height:14px;border-radius:50%;background:var(--accent);
  transform:translate(-50%,-50%);mix-blend-mode:difference;
  transition:width .3s var(--ease),height .3s var(--ease),background .3s;
}
.cursor.is-hover{width:74px;height:74px;background:#fff}
.cursor__label{
  display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  font-family:"Space Mono",monospace;font-size:10px;letter-spacing:.05em;color:#000;
  text-transform:uppercase;opacity:0;transition:opacity .25s;
}
.cursor.is-hover .cursor__label{opacity:1}
@media (hover:none),(pointer:coarse){.cursor{display:none}body,a,button{cursor:auto}}

/* ---------- loader (light) ---------- */
.loader{
  position:fixed;inset:0;z-index:9999;background:var(--paper);
  display:flex;align-items:flex-end;justify-content:space-between;padding:var(--pad);
}
.loader__inner{display:flex;align-items:baseline;gap:24px;width:100%;justify-content:space-between}
.loader__count{font-family:"Anton",sans-serif;font-size:clamp(80px,22vw,300px);line-height:.8;color:var(--ink)}
.loader__tag{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.12em;color:var(--ink)}

/* ---------- nav ---------- */
.nav{
  position:fixed;top:0;left:0;width:100%;z-index:120;
  display:flex;align-items:center;justify-content:space-between;padding:var(--pad);
}
.nav__logo{
  display:inline-block;background:var(--ink);color:var(--paper);
  padding:7px 12px;border-radius:8px;font-weight:700;
  font-size:clamp(12px,1vw,14px);letter-spacing:-.01em;line-height:1;
  opacity:0;transform:translateY(-8px);pointer-events:none;
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.nav__logo.is-visible{opacity:1;transform:none;pointer-events:auto}
.nav__right{display:flex;gap:18px;mix-blend-mode:difference;color:#fff}
.nav__btn{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.1em;color:#fff}
.nav__btn #soundState{display:inline-block;min-width:2.2em;text-align:left}

/* ---------- fullscreen menu ---------- */
.menu{
  position:fixed;inset:0;z-index:110;background:var(--ink);color:var(--paper);
  display:flex;flex-direction:column;justify-content:center;padding:var(--pad);
  clip-path:inset(0 0 100% 0);pointer-events:none;
}
.menu.is-open{pointer-events:auto}
.menu__links{display:flex;flex-direction:column;gap:.1em}
.menu__link{
  font-family:"Anton",sans-serif;font-size:clamp(40px,9vw,116px);line-height:.98;
  text-transform:uppercase;display:flex;align-items:baseline;gap:.3em;transition:color .3s;
}
.menu__link:hover{color:var(--accent-2)}
.menu__link span{font-family:"Space Mono",monospace;font-size:14px;color:var(--accent)}
.menu__foot{
  position:absolute;bottom:var(--pad);left:var(--pad);right:var(--pad);
  display:flex;justify-content:space-between;font-family:"Space Mono",monospace;font-size:12px;color:var(--dark-dim);
}

/* ---------- hero (light, sticky; dark panel slides over) ---------- */
.hero{
  position:sticky;top:0;height:100vh;display:flex;flex-direction:column;
  justify-content:center;padding:var(--pad);overflow:hidden;will-change:transform;
  background:var(--paper);
}
.hero__glow{
  position:absolute;left:-10%;bottom:-30%;width:70vw;height:70vw;z-index:0;
  background:radial-gradient(circle,var(--accent-2) 0%,transparent 60%);
  opacity:.35;filter:blur(50px);
}
.guides{position:absolute;inset:0;z-index:1;pointer-events:none}
.guides__v{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line)}
.guides__h{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line)}
.guides__dot{position:absolute;top:calc(50% - 4px);left:calc(50% - 4px);width:8px;height:8px;background:var(--accent);opacity:.8}
.hero__inner{position:relative;z-index:2}
.hero__title{
  font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(48px,13vw,210px);line-height:.84;letter-spacing:-.01em;color:var(--ink);
}
.hero__title .line{display:block;overflow:hidden}
.hero__title .line--accent{
  background:linear-gradient(180deg,var(--ink) 58%,#9a6b14 116%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero__sub{
  position:relative;z-index:2;max-width:52ch;margin-top:clamp(20px,3vw,40px);
  font-size:clamp(15px,1.4vw,20px);color:var(--ink-dim);line-height:1.5;
}
.hero__bottom{
  position:absolute;left:var(--pad);right:var(--pad);bottom:var(--pad);z-index:2;
  display:flex;justify-content:space-between;font-family:"Space Mono",monospace;
  font-size:12px;letter-spacing:.1em;color:var(--ink-dim);
}

/* ---------- slide-over dark panel ---------- */
.panel{
  position:relative;z-index:10;background:var(--dark);color:var(--dark-ink);
  padding:clamp(80px,14vh,180px) var(--pad);min-height:100vh;
  display:flex;align-items:center;
  border-radius:28px 28px 0 0;box-shadow:0 -40px 80px rgba(0,0,0,.35);
}
.panel__inner{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(30px,6vw,90px);align-items:end;width:100%}
.panel__headline{
  font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(38px,7vw,128px);line-height:.9;letter-spacing:-.01em;
}
.swap{position:relative;color:#5a5346;transition:color .4s}
.swap__fill{color:var(--accent)}
.panel__body{display:flex;flex-direction:column;gap:1.2em;font-size:clamp(15px,1.3vw,19px);line-height:1.55;max-width:46ch;color:var(--dark-dim)}
@media (max-width:820px){.panel__inner{grid-template-columns:1fr}}

/* sections after the sticky hero must sit above it (hero is position:sticky =
   "positioned", so static siblings would otherwise paint UNDER it). */
.flagship,.feed,.marquee,.faq,.foot{position:relative;z-index:2}

/* shared kicker */
.kicker{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.14em}

/* ---------- flagship case study (dark) ---------- */
.flagship{background:var(--dark);color:var(--dark-ink);padding:clamp(70px,12vw,160px) var(--pad)}
.flagship__head{max-width:64ch;margin-bottom:clamp(40px,6vw,80px)}
.flagship .kicker{color:var(--accent-2)}
.flagship__title{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;line-height:.92;font-size:clamp(34px,6vw,92px);margin:14px 0 .4em;color:var(--dark-ink)}
.flagship__lead{color:var(--dark-dim);font-size:clamp(15px,1.3vw,19px);line-height:1.6;max-width:64ch}
.cee__list{list-style:none;border-top:1px solid var(--line-d)}
.cee{display:grid;grid-template-columns:120px 1fr;gap:clamp(16px,4vw,60px);align-items:start;padding:clamp(26px,3.5vw,46px) 0;border-bottom:1px solid var(--line-d)}
.cee__no{font-family:"Anton",sans-serif;font-size:clamp(40px,6vw,90px);line-height:.8;color:var(--accent-2);opacity:.9}
.cee__name{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(24px,3vw,44px);line-height:1;margin-bottom:.4em;color:var(--dark-ink)}
.cee__desc{color:var(--dark-dim);font-size:clamp(14px,1.2vw,18px);line-height:1.6;max-width:66ch}
@media (max-width:680px){.cee{grid-template-columns:60px 1fr;gap:18px}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,24px);margin-top:clamp(40px,6vw,80px)}
.stat{display:flex;flex-direction:column;gap:8px;padding:clamp(18px,2vw,28px);border:1px solid var(--line-d);border-radius:16px;background:rgba(255,255,255,.02)}
.stat__n{font-family:"Anton",sans-serif;font-size:clamp(26px,3.2vw,50px);line-height:.9;color:var(--accent-2)}
.stat__l{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.04em;color:var(--dark-dim);line-height:1.4;text-transform:uppercase}
@media (max-width:820px){.stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:430px){.stats{grid-template-columns:1fr}}

/* ---------- breakdown feed (dark, cinematic) ---------- */
.feed{background:var(--dark);color:var(--dark-ink);padding:clamp(50px,8vw,120px) var(--pad) clamp(60px,10vw,140px)}
.feed__head{max-width:56ch;margin-bottom:clamp(20px,3vw,48px)}
.feed .kicker{color:var(--accent-2)}
.feed__title{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;line-height:.92;font-size:clamp(34px,6vw,96px);margin:14px 0 .35em;color:var(--dark-ink)}
.feed__lead{color:var(--dark-dim);font-size:clamp(15px,1.3vw,19px);line-height:1.55;max-width:54ch}
.feed__wrap{display:flex;flex-direction:column}
.feed__more{margin-top:clamp(28px,4vw,56px);font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.08em;color:var(--dark-dim);text-transform:uppercase}

.ex{padding:clamp(40px,6vw,84px) 0;border-top:1px solid var(--line-d)}
.ex:first-child{border-top:0;padding-top:clamp(20px,3vw,40px)}
.ex__head{display:flex;align-items:flex-start;gap:clamp(14px,2vw,28px);margin-bottom:clamp(22px,3vw,40px)}
.ex__no{font-family:"Anton",sans-serif;font-size:clamp(40px,6vw,92px);line-height:.78;color:var(--dark-ink);opacity:.22;flex:none}
.ex__id{flex:1;display:flex;flex-direction:column;gap:7px;padding-top:.3em}
.ex__brand{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(22px,2.8vw,40px);line-height:1.02;color:var(--dark-ink)}
.ex__x{color:var(--accent-2)}
.ex__sub{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.03em;color:var(--dark-dim);line-height:1.4}
.verdict{flex:none;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:999px;border:1px solid;white-space:nowrap}
.verdict--best{color:#e7c468;border-color:rgba(224,184,90,.5);background:rgba(224,184,90,.12)}
.verdict--good{color:#7fce78;border-color:rgba(108,192,106,.45);background:rgba(108,192,106,.12)}
.verdict--mixed{color:#e6b455;border-color:rgba(217,164,65,.45);background:rgba(217,164,65,.12)}
.verdict--bad{color:#ec7a72;border-color:rgba(224,103,95,.45);background:rgba(224,103,95,.12)}
.ex__reg{font-size:9px;padding:2px 6px;border-radius:4px;background:rgba(224,184,90,.18);color:#e7c468;letter-spacing:.06em}

.ex__media{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--line-d);background:#0c0a08;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.ex__media img{display:block;width:100%;height:auto;transform:scale(1.01);transition:transform .9s var(--ease)}
.ex__media:hover img{transform:scale(1.04)}
.ex__plat{position:absolute;top:12px;left:12px;font-family:"Space Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.55);padding:5px 9px;border-radius:6px}
.ex__media--pending{display:flex;align-items:center;justify-content:center;min-height:clamp(150px,22vw,300px);border-style:dashed;background:repeating-linear-gradient(45deg,#0c0a08,#0c0a08 12px,#110e0a 12px,#110e0a 24px)}
.ex__pending{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dark-dim)}

.ex__break{margin-top:clamp(22px,3vw,40px)}
.ex__hook{font-family:"Inter",sans-serif;font-weight:600;font-size:clamp(18px,2vw,28px);line-height:1.3;color:var(--dark-ink);max-width:44ch;margin-bottom:clamp(18px,2vw,28px)}
.ex__points{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px clamp(28px,4vw,60px)}
.ex__points li{position:relative;padding-left:22px;color:var(--dark-dim);font-size:clamp(14px,1.15vw,17px);line-height:1.55}
.ex__points li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:2px;background:currentColor;opacity:.45}
.ex--best .ex__points li::before{background:#e0b85a;opacity:.85}
.ex--good .ex__points li::before{background:#6cc06a;opacity:.85}
.ex--mixed .ex__points li::before{background:#d9a441;opacity:.85}
.ex--bad .ex__points li::before{background:#e0675f;opacity:.85}
@media (max-width:760px){.ex__points{grid-template-columns:1fr}}

.ex__flag{margin-top:clamp(18px,2vw,26px);display:flex;gap:14px;align-items:flex-start;padding:clamp(14px,1.6vw,20px);border:1px solid rgba(224,184,90,.35);border-radius:12px;background:rgba(224,184,90,.07)}
.ex__flag-tag{flex:none;font-family:"Space Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#e7c468;border:1px solid rgba(224,184,90,.5);border-radius:6px;padding:5px 8px}
.ex__flag p{color:#d8cbb0;font-size:clamp(13px,1.1vw,16px);line-height:1.5}

/* subtle alternation: mirror the header on every other row */
.ex--alt .ex__head{flex-direction:row-reverse}
.ex--alt .ex__id{text-align:right}
@media (max-width:680px){
  .ex__head{flex-wrap:wrap;gap:12px}
  .ex__no{font-size:46px}
  .verdict{order:3}
  .ex--alt .ex__head{flex-direction:row}
  .ex--alt .ex__id{text-align:left}
}

/* ---------- marquee (dark) ---------- */
.marquee{background:var(--dark);overflow:hidden;padding:clamp(28px,5vw,64px) 0;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.marquee__track{
  display:flex;align-items:center;gap:48px;width:max-content;white-space:nowrap;
  font-family:"Anton",sans-serif;font-size:clamp(40px,7vw,110px);text-transform:uppercase;color:var(--dark-ink);
}
.marquee__track .dot{color:var(--accent);font-size:.3em;transform:translateY(-.4em)}

/* ---------- faq (light) ---------- */
.faq{background:var(--paper);padding:clamp(60px,10vw,140px) var(--pad)}
.faq .kicker{color:var(--ink)}
.faq__title{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;line-height:.9;font-size:clamp(36px,6vw,100px);color:var(--ink);margin:14px 0 clamp(28px,4vw,56px)}
.faq__list{display:grid;gap:0;border-top:1px solid var(--line)}
.faq__item{padding:clamp(20px,3vw,34px) 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:clamp(16px,4vw,60px);align-items:start}
.faq__item dt{font-family:"Inter",sans-serif;font-weight:600;font-size:clamp(18px,1.8vw,26px);color:var(--ink);line-height:1.2}
.faq__item dd{color:var(--ink-dim);font-size:clamp(15px,1.2vw,18px);line-height:1.6;max-width:58ch}
@media (max-width:720px){.faq__item{grid-template-columns:1fr;gap:10px}}

/* ---------- footer (dark) ---------- */
.foot{background:var(--dark);color:var(--dark-ink);padding:clamp(60px,12vw,160px) var(--pad) var(--pad);border-top:1px solid var(--line-d)}
.foot__cta{font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;line-height:.9;font-size:clamp(40px,9vw,150px);margin-bottom:.25em}
.foot__mail{
  display:inline-block;font-family:"Anton",sans-serif;font-size:clamp(24px,4vw,64px);
  text-transform:uppercase;color:var(--accent);line-height:1.04;transition:color .3s;
}
.foot__mail:hover{color:var(--accent-2)}
.foot__row{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
  margin-top:clamp(40px,8vw,120px);font-family:"Space Mono",monospace;font-size:12px;
  letter-spacing:.08em;color:var(--dark-dim);
}
.foot__links{display:flex;gap:22px}
.foot__links a:hover{color:var(--accent-2)}

/* ---------- mobile polish ---------- */
@media (max-width:600px){
  .hero__title{font-size:clamp(44px,15vw,90px)}
  .hero__sub{font-size:15px}
  .hero__bottom{font-size:10px;gap:10px}
  .nav__right{gap:12px}
  .nav__btn{font-size:11px}
  .nav__logo{font-size:11px}
  .loader__tag{display:none}
  .panel{border-radius:20px 20px 0 0}
  .foot__row{flex-direction:column;align-items:flex-start;gap:10px}
}

/* reduce motion */
@media (prefers-reduced-motion:reduce){
  .grain{animation:none}
  *{transition-duration:.001ms!important}
}
