/* =========================================================
   SIS//LA — Experiential Partnerships Agency
   Bold editorial system · single-page scroll
   ========================================================= */

:root{
  --black:#0a0a0a;
  --ink:#111111;
  --cream:#f4f1ea;
  --paper:#ffffff;
  --pink:#ff1e8e;
  --pink-deep:#e60077;
  --yellow:#e8ff00;
  --line:rgba(10,10,10,.14);
  --line-light:rgba(255,255,255,.18);
  --muted:#5d5a52;

  --maxw:1320px;
  --pad:clamp(20px,5vw,80px);
  --r:2px;

  --display:"Archivo", "Arial Narrow", system-ui, sans-serif;
  --body:"Inter", system-ui, -apple-system, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--body);
  background:var(--cream);
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
::selection{background:var(--pink);color:#fff}

/* ---------- shared type helpers ---------- */
.display-md{
  font-family:var(--display);
  font-weight:900;
  font-style:italic;
  text-transform:uppercase;
  letter-spacing:-.01em;
  line-height:.94;
  font-size:clamp(2.1rem,5.5vw,4.2rem);
}
.accent{color:var(--pink)}
.section-tag{
  font-family:var(--body);
  font-weight:600;
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--muted);
  display:inline-block;
  margin-bottom:1.4rem;
}
.section-tag--center{display:block;text-align:center}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;
  font-family:var(--body);
  font-weight:600;
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:1.05em 2.1em;
  border-radius:var(--r);
  transition:transform .25s ease, background .25s ease, color .25s ease;
  cursor:pointer;
  border:1.5px solid var(--black);
}
.btn--solid{background:var(--black);color:#fff}
.btn--solid:hover{background:var(--pink);border-color:var(--pink);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn--ghost:hover{background:#fff;color:var(--black);border-color:#fff;transform:translateY(-2px)}
.btn--block{width:100%;text-align:center}

/* =========================================================
   NAV
   ========================================================= */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .3s ease, box-shadow .3s ease, padding .3s ease;
  padding:22px 0;
}
.nav.scrolled{
  background:rgba(244,241,234,.9);
  backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--line);
  padding:14px 0;
}
.nav__inner{
  width:100%;padding:0 var(--pad);
  display:flex;align-items:center;justify-content:flex-start;
  gap:clamp(1.6rem,5vw,4rem);
}
.wordmark{
  font-family:var(--display);
  font-weight:900;font-style:italic;
  font-size:1.5rem;letter-spacing:-.02em;
  color:#fff;text-transform:uppercase;
  transition:color .3s ease;
}
.nav.scrolled .wordmark{color:var(--black)}
.wordmark__slash{color:var(--pink)}
.nav__links{display:flex;align-items:center;gap:2.2rem}
.nav__links a{
  font-weight:600;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;transition:color .25s ease;position:relative;
}
.nav.scrolled .nav__links a{color:var(--ink)}
.nav__links a:not(.nav__cta):hover{color:var(--pink)}
.nav__cta{
  border:1.5px solid rgba(255,255,255,.6);
  padding:.7em 1.3em;border-radius:var(--r);
}
.nav.scrolled .nav__cta{border-color:var(--black)}
.nav__cta:hover{background:var(--pink);border-color:var(--pink);color:#fff!important}

.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.nav__toggle span{width:26px;height:2px;background:#fff;transition:.3s}
.nav.scrolled .nav__toggle span{background:var(--black)}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;min-height:auto;
  display:flex;align-items:flex-start;
  padding:clamp(78px,10vh,116px) var(--pad) clamp(40px,6vh,72px);
  background:var(--black);
  overflow:hidden;
}
.hero__collage{position:absolute;inset:0;display:grid;gap:6px}
.hero__tile{
  background:#1c1c1c center/cover no-repeat;
  position:relative;
}
.hero__tile.has-img{filter:brightness(.72) saturate(.92)}
/* placeholder gradient texture until real imagery dropped in */
.hero__tile::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(120% 120% at 20% 10%, rgba(255,30,142,.35), transparent 55%),
    radial-gradient(120% 120% at 90% 80%, rgba(232,255,0,.10), transparent 50%),
    linear-gradient(135deg,#2a2a2a,#0f0f0f);
}
.hero__tile.has-img::after{display:none}
.hero__tile--2::after{background:linear-gradient(160deg,#3a2330,#120b10);}
.hero__tile--3::after{background:linear-gradient(200deg,#23323a,#0c1114);}
.hero__tile--4::after{background:linear-gradient(135deg,#2d2438,#100c14);}
.hero__tile--5::after{background:linear-gradient(160deg,#3a3220,#120f08);}
.hero__tile--6::after{background:linear-gradient(200deg,#203a32,#0c140f);}

/* ---- layout variants (switch via class on .hero) ---- */
/* default 3-tile collage */
.hero--collage .hero__collage{grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr}
.hero--collage .hero__tile--1{grid-row:1 / span 2}
.hero--collage .hero__tile--4,
.hero--collage .hero__tile--5,
.hero--collage .hero__tile--6{display:none}
/* 5-tile editorial mosaic */
.hero--mosaic .hero__collage{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr)}
.hero--mosaic .hero__tile--1{grid-column:1 / span 2;grid-row:1 / span 2}
.hero--mosaic .hero__tile--2{grid-column:3;grid-row:1}
.hero--mosaic .hero__tile--3{grid-column:4;grid-row:1}
.hero--mosaic .hero__tile--4{grid-column:3;grid-row:2}
.hero--mosaic .hero__tile--5{grid-column:4;grid-row:2}
.hero--mosaic .hero__tile--6{display:none}
/* full-bleed single */
.hero--single .hero__collage{grid-template-columns:1fr;grid-template-rows:1fr}
.hero--single .hero__tile--2,
.hero--single .hero__tile--3,
.hero--single .hero__tile--4,
.hero--single .hero__tile--5,
.hero--single .hero__tile--6{display:none}

.hero__scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,.25) 100%)}

/* hover-activated fluid layer — blends over the photos, sits beneath the text */
.hero__fluid{
  position:absolute;inset:0;z-index:2;width:100%;height:100%;display:block;
  pointer-events:auto;mix-blend-mode:screen;opacity:.9;
}

.hero__content{position:relative;z-index:3;max-width:1100px;pointer-events:none}
.hero__content a,.hero__content .btn{pointer-events:auto}
.eyebrow{
  font-weight:600;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(255,255,255,.78);margin-bottom:1.4rem;
}
.hero__headline{
  font-family:var(--display);font-weight:900;font-style:italic;
  text-transform:uppercase;color:#fff;
  font-size:clamp(2.3rem,6.4vw,5.4rem);
  line-height:.92;letter-spacing:-.015em;
}
.hero__sub{
  color:rgba(255,255,255,.82);
  max-width:46ch;margin:1.4rem 0 2rem;
  font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.55;
}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero__corner{
  position:absolute;top:50%;right:var(--pad);transform:translateY(-50%);
  z-index:3;writing-mode:vertical-rl;
  font-family:var(--display);font-weight:800;font-style:italic;
  font-size:.8rem;letter-spacing:.3em;color:rgba(255,255,255,.5);
  text-align:center;line-height:1.4;
}

/* =========================================================
   LOGO MARQUEE (under hero)
   ========================================================= */
.logo-bar{
  background:#fff;border-bottom:1px solid var(--line);
  padding:30px 0;overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);
}
.logo-bar__track{
  display:flex;align-items:center;gap:clamp(40px,5vw,72px);
  width:max-content;animation:logoscroll 55s linear infinite;
}
.logo-bar:hover .logo-bar__track{animation-play-state:paused}
.logo-bar__track img{
  height:30px;width:auto;display:block;flex:none;
  opacity:.72;transition:opacity .25s ease;
}
.logo-bar__track img:hover{opacity:1}
@keyframes logoscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* =========================================================
   SECTION SHELL
   ========================================================= */
section{padding:clamp(52px,7vh,100px) var(--pad)}
.manifesto,.about,.services,.collabs,.work,.audience,.why,.contact{
  max-width:var(--maxw);margin:0 auto;
}

/* =========================================================
   MANIFESTO
   ========================================================= */
.manifesto{
  display:grid;grid-template-columns:1.05fr 1fr;
  gap:clamp(2.5rem,6vw,7rem);align-items:start;
}
.manifesto__head{position:sticky;top:110px}
.manifesto__lead{
  font-family:var(--display);font-weight:900;font-style:italic;
  text-transform:uppercase;line-height:.98;letter-spacing:-.01em;
  font-size:clamp(2.1rem,4.2vw,3.7rem);margin:0;
}
.manifesto__body{
  display:flex;flex-direction:column;gap:1.4rem;padding-top:.4rem;
  font-size:clamp(1.02rem,1.4vw,1.18rem);color:#2a2925;line-height:1.75;
}
.manifesto__pull{
  font-family:var(--display);font-weight:900;font-style:italic;
  text-transform:uppercase;color:var(--pink);
  font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1;margin:.4rem 0;
}

/* =========================================================
   ABOUT
   ========================================================= */
.about{border-top:1px solid var(--line);padding-top:clamp(64px,9vh,120px)}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}
.about__copy{display:flex;flex-direction:column;gap:1.2rem;font-size:1.05rem;color:#2a2925;line-height:1.7}
.about__head .display-md{max-width:14ch}

/* =========================================================
   WHAT WE DO
   ========================================================= */
.services{background:var(--black);max-width:none;color:#fff;margin:0;border-radius:0}
.services-wrap{max-width:var(--maxw);margin:0 auto}
.services .section-tag{color:rgba(255,255,255,.55)}
.services__head{max-width:var(--maxw);margin:0 auto 3rem}
.services__head .display-md{color:#fff}
.services__list{max-width:var(--maxw);margin:0 auto;border-top:1px solid var(--line-light)}
.services__list li{
  display:flex;align-items:baseline;gap:1.4rem;
  font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;
  font-size:clamp(1.4rem,3.6vw,2.9rem);line-height:1;
  padding:clamp(.8rem,2vw,1.5rem) 0;
  border-bottom:1px solid var(--line-light);
  transition:color .25s ease, padding-left .25s ease;
}
.services__list li:hover{color:var(--pink);padding-left:.6rem}
.services__num{
  font-family:var(--body);font-weight:600;font-style:normal;
  font-size:.8rem;letter-spacing:.1em;color:rgba(255,255,255,.4);
  min-width:2.4rem;
}
.services__list li:hover .services__num{color:var(--pink)}

/* =========================================================
   COLLABORATIONS
   ========================================================= */
.collabs{text-align:center;border-top:1px solid var(--line)}
.collabs__title{
  font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;
  font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.02;margin-bottom:3rem;max-width:none;
}
/* logo wall: black logos on white cards, full logo shown (never cropped) */
.logos{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  border-top:1px solid var(--line);border-left:1px solid var(--line);
  background:transparent;
}
.logo{
  background:#fff;min-height:128px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  padding:1.6rem 1.4rem;text-align:center;
  transition:background .25s ease;
}
.logo img{
  max-width:100%;max-height:60px;width:auto;height:auto;
  object-fit:contain;display:block;
}
.logo__text{
  font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;
  font-size:1rem;letter-spacing:.01em;color:#111;line-height:1.05;
}
.logo.has-logo .logo__text{display:none}
.collabs__more{
  margin-top:1.6rem;font-style:italic;color:var(--muted);
  font-family:var(--display);font-weight:600;letter-spacing:.04em;
}

/* =========================================================
   PAST EVENTS / WORK
   ========================================================= */
.work{border-top:1px solid var(--line)}
.work__head{margin-bottom:2.4rem}
/* masonry: full images, never cropped — container follows each image's shape */
.work__gallery{column-count:3;column-gap:10px}
.work__item{
  position:relative;display:block;break-inside:avoid;margin:0 0 10px;
  overflow:hidden;border-radius:var(--r);background:#f0ede6;
}
.work__item img{display:block;width:100%;height:auto}
.work__item figcaption{
  position:absolute;left:0;bottom:0;z-index:2;padding:1.1rem 1.2rem;
  font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;
  color:#fff;font-size:1rem;line-height:1.05;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.work__item::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(0,0,0,.6),transparent 55%);
  opacity:.9;transition:background .3s ease,opacity .3s ease;
}
.work__item:hover::before{opacity:1;background:linear-gradient(to top,rgba(255,30,142,.55),transparent 60%)}

/* featured campaigns strip */
.campaigns{margin-top:3rem}
.campaigns__label{
  font-weight:600;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1.2rem;
}
.campaigns__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.campaigns__item{
  position:relative;overflow:hidden;border-radius:var(--r);
  background:#f0ede6;display:block;
}
.campaigns__item img{display:block;width:100%;height:auto;transition:transform .5s ease}
.campaigns__item:hover img{transform:scale(1.03)}
.campaigns__item figcaption{
  position:relative;z-index:2;padding:1.1rem 1.2rem;color:#fff;
  font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;
  font-size:1rem;text-shadow:0 2px 12px rgba(0,0,0,.6);
}
.campaigns__item::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(0,0,0,.55),transparent 55%);
}

/* =========================================================
   AUDIENCE (WHO WE WORK WITH)
   ========================================================= */
.audience{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.audience__col{padding:clamp(2rem,5vw,4rem)}
.audience__col:first-child{border-right:1px solid var(--line)}
.audience__brand{
  font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;
  font-size:1.15rem;letter-spacing:-.01em;color:var(--ink);margin-bottom:1rem;
}
.audience__h{
  font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;
  font-size:clamp(2rem,5vw,3.6rem);line-height:.95;margin-bottom:1.3rem;
}
.audience__p{max-width:38ch;font-size:1.08rem;color:#2a2925;line-height:1.65;margin-bottom:1.6rem}
.link-arrow{
  font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  border-bottom:2px solid var(--pink);padding-bottom:3px;transition:color .2s ease;
}
.link-arrow:hover{color:var(--pink)}

/* =========================================================
   WHY SISLA
   ========================================================= */
.why{background:var(--black);max-width:none;margin:0;color:#fff;overflow:hidden;text-align:center}
.why .section-tag{color:rgba(255,255,255,.55);max-width:var(--maxw);margin-inline:auto;display:block}
.why__ticker{
  overflow:hidden;width:100%;margin-top:1.4rem;
  border-block:1px solid var(--line-light);padding:1.3rem 0;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);
}
.why__track{
  display:flex;width:max-content;align-items:center;gap:1.6rem;
  margin:0;padding:0;animation:marquee 42s linear infinite;
}
.why__ticker:hover .why__track{animation-play-state:paused}
.why__track li{
  display:flex;align-items:center;gap:1.6rem;white-space:nowrap;
  font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;
  font-size:clamp(1.05rem,1.8vw,1.8rem);color:#fff;line-height:1;
}
.why__track li::after{content:"•";color:var(--pink);font-style:normal}
.why__track li:nth-child(even){color:var(--pink)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* =========================================================
   CONTACT
   ========================================================= */
.contact{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.contact__title{
  font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;
  font-size:clamp(2.2rem,5.2vw,4.2rem);line-height:.92;letter-spacing:-.01em;margin-bottom:1.6rem;
}
.contact__intro{max-width:40ch;font-size:1.08rem;color:#2a2925;line-height:1.65}
.contact__form{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.field{display:flex;flex-direction:column;gap:.5rem}
.field--full{grid-column:1 / -1}
.field label{font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{
  font-family:var(--body);font-size:1rem;color:var(--ink);
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);
  padding:.95em 1em;transition:border-color .2s ease;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--pink)}
.field textarea{resize:vertical}
.form-note{margin-top:.9rem;font-size:.9rem;color:var(--pink-deep);font-weight:600;min-height:1.2em}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{background:var(--black);color:#fff;padding:clamp(56px,8vh,90px) var(--pad) 2.4rem}
.footer__top{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,6vw,6rem);align-items:start;padding-bottom:3rem;border-bottom:1px solid var(--line-light)}
.wordmark--footer{font-size:2.4rem;color:#fff}
.footer__statement{max-width:54ch;color:rgba(255,255,255,.72);font-size:1.02rem;line-height:1.6}
.footer__bottom{max-width:var(--maxw);margin:2rem auto 0;display:flex;flex-wrap:wrap;gap:1.4rem 2.4rem;align-items:center;justify-content:space-between}
.footer__mail{font-family:var(--display);font-weight:800;font-style:italic;font-size:1.3rem;color:var(--pink)}
.footer__nav{display:flex;gap:1.6rem}
.footer__nav a{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);transition:color .2s}
.footer__nav a:hover{color:#fff}
.footer__copy{font-size:.78rem;letter-spacing:.06em;color:rgba(255,255,255,.45)}

/* =========================================================
   REVEAL ANIMATION
   ========================================================= */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .why__track,.logo-bar__track{animation:none}
  .logo-bar__track,.why__track{flex-wrap:wrap;justify-content:center;width:auto}
  .why__track li[aria-hidden]{display:none}
  html{scroll-behavior:auto}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:900px){
  .nav__links{
    position:fixed;inset:0 0 0 auto;width:min(78vw,340px);
    background:var(--black);flex-direction:column;align-items:flex-start;
    justify-content:center;gap:1.8rem;padding:0 var(--pad);
    transform:translateX(100%);transition:transform .35s ease;
  }
  .nav__links.open{transform:none}
  .nav__links a{color:#fff;font-size:1.1rem}
  .nav.scrolled .nav__links a{color:#fff}
  .nav__cta{border-color:rgba(255,255,255,.6)}
  .nav.scrolled .nav__cta{border-color:rgba(255,255,255,.6)}
  .nav__toggle{display:flex;z-index:101}
  .nav__inner{justify-content:space-between}

  .about__grid{grid-template-columns:1fr}
  .manifesto{grid-template-columns:1fr;gap:1.8rem}
  .manifesto__head{position:static}
  .audience{grid-template-columns:1fr}
  .audience__col:first-child{border-right:0;border-bottom:1px solid var(--line)}
  .contact{grid-template-columns:1fr}
  .work__gallery{column-count:2}
  .footer__top{grid-template-columns:1fr}
}
@media (max-width:560px){
  .hero__collage{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}
  .hero__tile--1{grid-row:auto}
  .hero__corner{display:none}
  .contact__form{grid-template-columns:1fr}
  .work__gallery{column-count:1}
  .hero__actions{flex-direction:column}
  .hero__actions .btn{text-align:center}
  .campaigns__grid{grid-template-columns:1fr}
}
