/* ============================================================
   SAMPUN SOCIAL — Talent Agency
   Replica design system (dari referensi niolytalentmanagement.com)
   Tokens: #010101 black / #5B41A2 purple / #BBADE3 lavender / #E8E8E8 cream
   ============================================================ */

/* ---------- FONT ASLI referensi (Thunder + MontserratNioly) ---------- */
@font-face{font-family:'Thunder';src:url('https://static.tildacdn.com/tild3334-3265-4836-b465-313930653666/Thunder-ThinLC.woff') format('woff');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:'Thunder';src:url('https://static.tildacdn.com/tild3237-6630-4565-b233-313762386564/Thunder-ExtraLightLC.woff') format('woff');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:'Thunder';src:url('https://static.tildacdn.com/tild3739-3131-4336-b634-363262613666/Thunder-LightLC.woff') format('woff');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Thunder';src:url('https://static.tildacdn.com/tild3234-3462-4739-b864-653465333033/Thunder-LC.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Thunder';src:url('https://static.tildacdn.com/tild3863-6632-4335-b362-646634663461/Thunder-MediumLC.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Thunder';src:url('https://static.tildacdn.com/tild6232-3037-4464-a566-616337336161/Thunder-SemiBoldLC.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Thunder';src:url('https://static.tildacdn.com/tild6232-6632-4634-b635-646664663436/Thunder-BoldLC.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Thunder';src:url('https://static.tildacdn.com/tild3639-6266-4463-b465-373463313263/Thunder-ExtraBoldLC.woff') format('woff');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Thunder';src:url('https://static.tildacdn.com/tild6662-6362-4932-a439-633262353663/Thunder-BlackLC.woff') format('woff');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'MontserratNioly';src:url('https://static.tildacdn.com/tild6263-3639-4631-b335-333035386134/Montserrat-Thin.woff') format('woff');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:'MontserratNioly';src:url('https://static.tildacdn.com/tild6438-3161-4631-b465-366437386230/Montserrat-ExtraLigh.woff') format('woff');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:'MontserratNioly';src:url('https://static.tildacdn.com/tild6432-3362-4436-b663-363630333966/Montserrat-Light.woff') format('woff');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'MontserratNioly';src:url('https://static.tildacdn.com/tild6233-3865-4766-b833-343766653536/Montserrat-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'MontserratNioly';src:url('https://static.tildacdn.com/tild3034-3233-4362-a337-393734633437/Montserrat-Medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'MontserratNioly';src:url('https://static.tildacdn.com/tild6361-3734-4131-b764-316539383965/Montserrat-SemiBold.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'MontserratNioly';src:url('https://static.tildacdn.com/tild6139-6166-4833-a265-343766663061/Montserrat-Bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'MontserratNioly';src:url('https://static.tildacdn.com/tild6238-6539-4732-b934-666261656430/Montserrat-ExtraBold.woff') format('woff');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'MontserratNioly';src:url('https://static.tildacdn.com/tild6265-6164-4733-a537-343035356135/Montserrat-Black.woff') format('woff');font-weight:900;font-style:normal;font-display:swap}

:root{
  --black:#010101;
  --purple:#5B41A2;
  --purple-dim:#4a3488;
  --lavender:#BBADE3;
  --cream:#E8E8E8;
  --muted:#8f8f8f;
  --muted-2:#6d6d6d;
  --line:rgba(232,232,232,.16);
  --display:'Thunder','Anton',Arial,sans-serif;
  --text:'MontserratNioly','Montserrat',Arial,sans-serif;
  --maxw:1440px;
  --pad:clamp(20px,4.2vw,64px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--black);color:var(--cream);
  font-family:var(--text);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:400}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);width:100%}

/* ---------- TYPO HELPERS ---------- */
.display{font-family:var(--display);text-transform:uppercase;font-weight:400;line-height:.86;letter-spacing:-.01em}
.label{font-family:var(--text);font-size:12px;letter-spacing:.02em;text-transform:none;color:var(--cream)}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--text);font-size:15px;line-height:1;
  padding:18px 26px;border:1px solid transparent;cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.btn .arw{font-size:15px;line-height:1;transform:translateY(-1px)}
.btn--solid{background:var(--cream);color:var(--black)}
.btn--solid:hover{background:#fff;transform:translateY(-2px)}
.btn--ghost{border-color:var(--cream);color:var(--cream);background:transparent}
.btn--ghost:hover{background:var(--cream);color:var(--black);transform:translateY(-2px)}
.btn--purple{background:var(--purple);color:var(--cream)}
.btn--purple:hover{background:#6a4cc0;transform:translateY(-2px)}

/* ---------- NAV ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(1,1,1,.72);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(232,232,232,.07);
  transition:transform .35s ease, background .3s ease;
}
.nav.is-hidden{transform:translateY(-100%)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:84px}
.nav__logo{font-family:var(--display);font-size:25px;letter-spacing:.005em;text-transform:uppercase;line-height:1}
.nav__logo span{color:var(--lavender)}
.nav__menu{display:flex;gap:clamp(24px,4vw,58px);list-style:none;margin:0;padding:0}
.nav__menu li{list-style:none;margin:0;padding:0}
.nav__menu a{font-size:12px;color:var(--cream);opacity:.92;transition:opacity .2s,color .2s}
.nav__menu a:hover{opacity:1;color:var(--lavender)}
.nav__cta{font-size:12px;padding:15px 22px}
.nav__burger{display:none;background:none;border:0;color:var(--cream);font-size:22px;cursor:pointer}

/* ---------- HERO ---------- */
.hero{position:relative;display:flex;flex-direction:column;overflow:hidden;padding-top:84px;background:#010101}
.hero__bg{position:absolute;inset:0;background:url('../assets/img/bg2.jpg') center 20%/cover no-repeat;will-change:background-position}
.hero__model{position:absolute;left:0;right:0;top:6%;bottom:0;background:url('../assets/img/model.webp') center bottom/contain no-repeat;z-index:1;pointer-events:none}
.hero__veil{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(1,1,1,.80) 0%,rgba(1,1,1,.05) 26%,rgba(1,1,1,0) 62%,rgba(1,1,1,.80) 90%,#010101 100%)}
.hero__stage{position:relative;z-index:3;flex:1 1 auto;min-height:clamp(520px,72vh,760px)}
.hero__big{position:absolute;font-family:var(--display);text-transform:uppercase;line-height:.8;white-space:nowrap}
.hero__big--1{left:0;top:2%;color:var(--lavender);font-size:clamp(62px,20.4vw,294px)}
.hero__big--2{right:0;top:26%;color:var(--cream);font-size:clamp(46px,13.9vw,200px)}
.hero__big--3{right:-2.2vw;bottom:3%;color:var(--cream);font-size:clamp(46px,13.9vw,200px)}
.hero__pill{position:absolute;font-size:14px;line-height:1.5;color:var(--cream)}
.hero__pill--l{left:0;top:51%}
.hero__pill--r1{right:33%;top:19%;text-align:left}
.hero__pill--r2{right:0;bottom:31%;text-align:right}
.hero__actions{position:absolute;left:0;bottom:9%;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.hero__actions .btn{min-width:286px;justify-content:center}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- MARQUEE ---------- */
.marquee{
  position:relative;overflow:hidden;background:var(--purple);color:var(--cream);
  padding:13px 0;white-space:nowrap;z-index:5;
}
.marquee--tilt{margin-top:-34px}
.marquee__track{display:inline-flex;gap:0;will-change:transform;animation:slide 38s linear infinite}
.marquee--rev .marquee__track{animation-direction:reverse;animation-duration:46s}
.marquee__item{display:inline-flex;align-items:center;gap:34px;padding-right:34px;font-size:12px;letter-spacing:.08em}
.marquee__item i{width:8px;height:8px;background:var(--cream);display:inline-block;flex:0 0 auto}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.band{position:relative;z-index:6}
.band--a{transform:rotate(-1.7deg);margin-top:34px}
.band--b{transform:rotate(1.4deg);margin-top:-14px}

/* ---------- SECTIONS ---------- */
.sec{padding:clamp(70px,9vw,140px) 0}
.sec--tight{padding:clamp(56px,6vw,96px) 0}

/* intro */
.intro__meta{font-size:15px;line-height:1.5;max-width:640px;color:var(--cream)}
.intro__meta b{color:#fff;font-weight:700}
.intro__meta .dim{color:var(--muted-2)}
.intro__head{margin-top:34px;font-family:var(--text);font-weight:400;font-size:clamp(30px,4.6vw,60px);line-height:1.08;letter-spacing:-.02em;max-width:1180px}
.intro__head b{font-weight:700;color:#fff}
.intro__head span{color:#8d8d8d}
.intro__body{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:56px;align-items:start}
.intro__body .rule{border-top:1px solid var(--line);margin-top:12px}
.intro__body p{color:var(--muted);font-size:15px;line-height:1.6;max-width:520px;justify-self:end}

/* services */
.svc__head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}
.svc__list{margin-top:6px}
.svc__row{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:26px 0;border-bottom:1px solid var(--line);
  font-family:var(--text);font-weight:600;font-size:clamp(20px,3vw,42px);letter-spacing:-.01em;
  transition:padding .3s ease,color .3s ease;
}
.svc__row:hover{padding-left:14px;color:var(--lavender)}
.svc__row .n{font-family:var(--text);font-size:12px;color:var(--muted-2);font-weight:400}

/* owner */
.owner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:center}
.owner__photo{aspect-ratio:4/5;background:url('../assets/img/owner.jpg') center 22%/cover no-repeat;filter:grayscale(.15)}
.owner h2{margin:20px 0 24px;font-size:clamp(28px,3.6vw,48px);font-family:var(--text);font-weight:700;line-height:1.1}
.owner p{color:var(--muted);font-size:15px;line-height:1.65;max-width:520px}
.owner__name{margin-top:44px;font-family:var(--display);font-size:clamp(42px,8.2vw,118px);line-height:.92;text-transform:uppercase;color:var(--cream)}

/* talents — infinite horizontal slider (mengikuti referensi) */
#talents{overflow:hidden}
.tal__hero{position:relative;text-align:center;margin-bottom:clamp(24px,3vw,46px)}
.tal__back{display:block;font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(76px,19vw,290px);line-height:.8;letter-spacing:.008em;color:#5b41a2;opacity:.5;
  pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}
.tal__eyebrow{position:absolute;left:50%;bottom:clamp(6px,1.4vw,22px);transform:translateX(-50%);color:var(--cream)}
.tal__slider{position:relative;overflow:hidden;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;padding-bottom:6px}
.tal__slider.is-dragging{cursor:grabbing}
.tal__track{display:flex;gap:30px;will-change:transform}
.tal__card{flex:0 0 auto;width:clamp(168px,21vw,274px);display:block;text-decoration:none}
.tal__img{aspect-ratio:1/1;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.05);transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s}
.tal__card:hover .tal__img{transform:scale(1.05);filter:grayscale(0) contrast(1)}
.tal__name{margin-top:20px;font-size:14px;letter-spacing:.01em;color:var(--cream)}

/* cta blocks */
.cta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta__col{padding:clamp(40px,5vw,72px) 0;display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:320px}
.cta__col+.cta__col{border-left:1px solid var(--line);padding-left:clamp(24px,3vw,54px)}
.cta__col p{font-size:clamp(15px,1.5vw,19px);line-height:1.45;text-transform:uppercase;letter-spacing:.02em;max-width:420px}
.cta__col .btn{align-self:flex-start}

/* footer */
.foot{padding:clamp(56px,7vw,110px) 0 40px}
.foot__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.foot__brand{font-family:var(--display);font-size:clamp(30px,4vw,54px);text-transform:uppercase;line-height:1.02}
.foot__brand em{color:var(--lavender);font-style:normal}
.foot__col h4{margin:0 0 14px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);font-weight:500}
.foot__col a,.foot__col p{display:block;font-size:14px;color:var(--cream);opacity:.9;margin-bottom:8px}
.foot__col a:hover{color:var(--lavender)}
.foot__bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:70px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}

/* reveal animation */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .nav__menu{display:none}
  .hero__stage{min-height:0;display:flex;flex-direction:column;gap:16px;padding:24px 0 60px}
  .hero__big,.hero__pill,.hero__actions{position:static}
  .hero__big--1{font-size:clamp(58px,19vw,150px)}
  .hero__big--2,.hero__big--3{font-size:clamp(44px,14vw,110px);align-self:flex-end}
  .hero__pill--r1{align-self:flex-end;margin-top:2px}
  .hero__pill--r2{align-self:flex-end;text-align:right}
  .hero__model{top:0;background-position:center bottom;opacity:.72}
  .hero__actions{width:100%;margin-top:8px}
  .hero__actions .btn{min-width:0;width:100%}
  .nav__menu.open{display:flex;position:absolute;top:84px;left:0;right:0;flex-direction:column;gap:0;background:#010101;border-bottom:1px solid var(--line);padding:8px var(--pad) 18px}
  .nav__menu.open a{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
  .nav__burger{display:block}
  .intro__body{grid-template-columns:1fr}
  .intro__body p{justify-self:start}
  .owner{grid-template-columns:1fr;gap:28px}
  .owner__photo{max-width:420px}
  .tal__track{gap:20px}
  .cta{grid-template-columns:1fr}
  .cta__col+.cta__col{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .foot__top{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .nav__cta{display:none}
  .nav__in{height:66px}
  .nav__menu.open{top:66px}
  .hero{padding-top:66px}
  .hero__big--1{font-size:clamp(52px,17vw,130px)}
  .hero__big--2,.hero__big--3{font-size:clamp(38px,12.4vw,96px)}
  .hero__model{opacity:.55}
  .hero__actions .btn{min-width:0;width:100%}
  .tal__track{gap:14px}
}
@media (prefers-reduced-motion:reduce){
  .marquee__track{animation:none}
  .rv{opacity:1;transform:none}
}

/* ============================================================
   OVERRIDE — NAV & HERO PERSIS REFERENSI (artboard 1200px)
   Geometri diambil 1:1 dari niolytalentmanagement.com
   ============================================================ */

/* ---------- NAV (transparan di atas, isi artboard 1200) ---------- */
.nav{background:transparent;backdrop-filter:none;border-bottom:0}
.nav.is-solid{background:rgba(1,1,1,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(232,232,232,.08)}
.nav__in{position:relative;display:block;width:1200px;max-width:1200px;height:118px;margin:0 auto;padding:0}
.nav__logo{position:absolute;left:20px;top:44px;font-family:var(--display);font-size:25px;font-weight:800;line-height:1.2;color:#dadada;letter-spacing:0;text-transform:uppercase}
.nav__logo span{color:#dadada}
.nav__menu{position:absolute;left:351px;top:52px;display:flex;gap:86px;margin:0;padding:0;list-style:none}
.nav__menu a{font-size:12px;line-height:1.2;color:var(--cream);opacity:1}
.nav__menu a:hover{color:var(--lavender);opacity:1}
.nav__cta{position:absolute;left:1040px;top:39px;width:140px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0;font-size:12px;background:var(--purple);color:var(--cream);border:0}
.nav__cta .arw{font-size:12px}
.nav__burger{display:none}

/* ---------- HERO: artboard tetap 1200 x 839 ---------- */
.hero{padding-top:0;display:block;position:relative;background:#010101;overflow:hidden}
.hero__viewport{position:relative;height:839px;overflow:hidden}
.hero__art{position:relative;width:1200px;height:839px;margin:0 auto;transform-origin:top center}
.ha,.hw,.hp,.hb,.hmarq{position:absolute}
.ha{pointer-events:none;user-select:none;max-width:none}
.ha--bgA{top:-354px;left:-122px;width:1445px;height:1087px}
.ha--bgB{top:-53px;left:-122px;width:1444px;height:821px}
.ha--sh1{top:148px;left:671px;width:442px;height:127px;z-index:2}
.ha--sh2{top:303px;left:0px;width:442px;height:321px;z-index:2}
.ha--model{top:17px;left:302px;width:627px;height:755px;z-index:3}
.hw{font-family:var(--display);font-weight:700;line-height:1.2;text-transform:uppercase;z-index:4}
.hw--1{top:98px;left:-68px;width:641px;font-size:304px;color:#bbade3;text-align:center}
.hw--2{top:267px;left:633px;width:435px;font-size:209px;color:#e8e8e8;text-align:left}
.hw--3{top:433px;left:374px;width:806px;font-size:209px;color:#e8e8e8;text-align:left}
.hp{font-family:var(--text);font-size:12px;line-height:1.55;color:#e8e8e8;z-index:6}
.hp--1{top:204px;left:665px;width:85px}
.hp--2{top:384px;left:20px;width:78px}
.hp--3{top:438px;left:1108px;width:72px}
.hb{display:flex;align-items:center;justify-content:center;gap:8px;width:280px;height:60px;font-family:var(--text);font-size:18px;font-weight:500;line-height:1;z-index:6}
.hb .arw{font-size:14px}
.hb--solid{top:468px;left:18px;background:#e8e8e8;color:#000}
.hb--solid:hover{background:#fff}
.hb--ghost{top:549px;left:20px;border:1px solid #e8e8e8;color:#e8e8e8}
.hb--ghost:hover{background:#e8e8e8;color:#000}
.hmarq{top:744px;left:-1548px;width:3710px;height:50px;background:var(--purple);display:flex;align-items:center;overflow:hidden;transform:rotate(-1.7deg);transform-origin:center center;z-index:7}
.hmarq--2{top:757px;left:-789px;width:3800px;transform:rotate(1.4deg)}
.hmarq__t{display:inline-flex;align-items:center;white-space:nowrap;will-change:transform;animation:slide 38s linear infinite}
.hmarq--2 .hmarq__t{animation-direction:reverse;animation-duration:46s}

/* ---------- NAV + HERO: fallback < 1200px ---------- */
@media (max-width:1199px){
  .nav__in{display:flex;align-items:center;justify-content:space-between;width:auto;max-width:none;height:72px;padding:0 var(--pad)}
  .nav__logo,.nav__menu,.nav__cta{position:static}
  .nav__logo{font-size:20px;top:auto;left:auto}
  .nav__menu{left:auto;top:auto;gap:26px}
  .nav__menu{display:none}
  .nav__menu.open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;gap:0;background:rgba(1,1,1,.97);padding:14px var(--pad) 22px}
  .nav__menu.open a{padding:12px 0;font-size:15px}
  .nav__cta{left:auto;top:auto;width:auto;height:auto;padding:12px 18px}
  .nav__burger{display:block}
}
