:root{
  --black:#0A0A0A; --white:#FFFFFF;
  --blue:#1B0AFF; --pink:#FF2E88; --lime:#D4FF3A; --yellow:#FFE600; --orange:#FF6A00;
  --grey:#ACACAC;
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.25,.1,.25,1);
  --inOutCubic:cubic-bezier(.645,.045,.355,1);
  --inOutQuart:cubic-bezier(.77,0,.175,1);
  --inOutBack:cubic-bezier(.68,-.55,.265,1.55);
  --inBack:cubic-bezier(.6,-.28,.735,.045);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{margin:0;background:var(--white);color:var(--black);font-family:var(--body);font-size:24px;line-height:1.2;overflow-x:clip;cursor:none}
a{color:inherit;text-decoration:none;cursor:none}
img,video{display:block;max-width:100%}
button,input,textarea{font:inherit;color:inherit;cursor:none}
button{background:none;border:0;padding:0}
:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
h1,h2,h3,h4,p{margin:0}
.container{width:100%;max-width:1440px;margin:0 auto;padding:0 24px;position:relative}
.section{position:relative}
.display{font-family:var(--display);text-transform:uppercase}

/* ---------- reveals (a-19 load, a-48..50 on view, a-38 fade, a-37/78 fade-move, a-51 scale) ---------- */
.perspective{perspective:2000px;perspective-origin:50% 100%}
.pl,.pv{opacity:0;transform:translate3d(0,60%,-3vw) rotateX(-100deg);will-change:transform,opacity}
.pl.in,.pv.in{opacity:1;transform:none;transition:transform .8s var(--ease) var(--d,0ms),opacity .8s var(--ease) var(--d,0ms)}
.fade{opacity:0}
.fade.in{opacity:1;transition:opacity 1.2s var(--ease) var(--d,500ms)}
.fade-move{opacity:0;transform:translateY(25px)}
.fade-move.in{opacity:1;transform:none;transition:opacity 1s var(--ease) var(--d,100ms),transform 1s var(--ease) var(--d,100ms)}
.scale-in{opacity:0;transform:scale(.7)}
.scale-in.in{opacity:1;transform:none;transition:opacity .6s var(--ease) 500ms,transform .6s var(--ease) 500ms}

/* ---------- link underline (a-3 / a-4) ---------- */
.link{position:relative;display:inline-block;overflow:hidden;padding:5px 0}
.link-underline{position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:translateX(-102%)}
.link.is-hover .link-underline{transform:translateX(0);transition:transform .4s var(--ease)}
.link.is-out .link-underline{transform:translateX(100%);transition:transform .4s linear}
.link.is-current .link-underline{transform:none}

/* ---------- nav ---------- */
.fixed-nav{position:fixed;inset:0 0 auto;z-index:10;padding:20px 0;opacity:0;transition:opacity .5s var(--ease)}
.loaded .fixed-nav{opacity:var(--nav-op,1)}
.nav-bg-white{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(to bottom,#fff,rgba(255,255,255,0));opacity:.8}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand-pic{width:60px;height:60px;border-radius:50%;object-fit:cover;animation:spin 15s linear infinite reverse}
.brand-name{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:.02em}
.nav-menu{display:flex;align-items:center;gap:40px}
.nav-menu .link{font-size:20px}
.cart-button{display:flex;align-items:center;gap:6px;font-size:20px}
.cart-button svg{width:22px;height:22px}
.cart-count.bump{animation:bump .5s var(--ease)}
@keyframes bump{40%{transform:scale(1.6)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- page hero (inner pages) ---------- */
.main-hero-container{padding-top:120px;padding-bottom:3rem;display:flex;flex-direction:column}
.hero-text{font-family:var(--display);font-size:min(29vw,400px);font-weight:800;line-height:.8;text-transform:uppercase;white-space:nowrap}
.page-hero-content-with-right-detail{display:flex;justify-content:space-between;align-items:flex-end;gap:5em}
.hero-detail{max-width:330px;font-size:22px;line-height:1.3;padding-bottom:3vw}

/* ---------- HOME hero ---------- */
.section-hero{height:300vh;position:relative}
.main-hero-section-content{position:sticky;top:0;height:100vh;overflow:hidden}
.home-main-hero-container{height:100%;padding-top:100px;display:flex;flex-direction:column;justify-content:space-between}
.hero-full-text-panel{height:65%;display:flex;flex-direction:column;justify-content:center;align-items:flex-end}
.hero-hello-text{position:relative;display:flex;justify-content:flex-end;will-change:transform}
.home-hero-text{margin:0;font-family:var(--display);font-size:400px;font-weight:900;line-height:.9;text-transform:uppercase;font-variation-settings:"wght" 900}
.white-hello{color:var(--white)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 260px;gap:30px;width:100%;padding-bottom:28px}
.hero-left-description-content{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.big-text{font-size:50px;font-weight:500;line-height:1.15}
.hero-links-grid{margin-top:1em;display:grid;gap:5px 16px;justify-items:start}
.hero-links-grid.right{justify-items:end;align-content:end;text-align:right}
.hero-image-white-text{position:absolute;top:0;left:0;bottom:0;z-index:2;width:0;overflow:hidden;background:var(--blue);color:var(--white)}
.hero-picture{position:absolute;bottom:0;left:20vw;z-index:-2;width:60vw;height:100vh;object-fit:cover;object-position:50% 25%;will-change:transform}
.hero-black-gradient{position:absolute;inset:auto 0 0;z-index:-1;height:30vh;background-image:linear-gradient(to top,rgba(10,4,80,.9),rgba(10,4,80,0))}
.hero-container-content{width:100vw;height:100%}
.hero-container-content .big-text{max-width:700px}
.hero-image-white-text,.hero-container-content{isolation:isolate}

/* ---------- reel circle ---------- */
.play-reel-circle-holder{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;height:100%}
.play-reel-circle{position:relative;z-index:3;width:200px;min-width:200px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8)}
.play-reel-circle.in{opacity:1;transform:none;transition:opacity 1s var(--ease) 1500ms,transform 1s var(--ease) 1500ms}
.reel-circle{width:100%;height:100%;animation:spin 10s linear infinite}
.reel-circle text{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.12em;fill:currentColor}
.hero .play-reel-circle{mix-blend-mode:difference;color:var(--white)}

/* ---------- HOME: blue → white section ---------- */
.dark-section{background:var(--blue);color:var(--white);padding-bottom:140px}
.pre-work-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2em;padding-top:15em}
.pre-work-description{margin-top:8em}
.pre-work-description h3{margin:0 0 1em;font-size:28px;font-weight:700;line-height:1.25}
.pre-work-description p{margin:0 0 1em;font-size:20px;line-height:1.5;opacity:.85}
.prework-title{position:sticky;top:100px;display:flex;flex-direction:column;align-items:center;margin-top:120px;pointer-events:none}
.with-opacity-10pct{font-size:min(17vw,300px);font-weight:700;opacity:.1;white-space:nowrap}
.hero-text-scale{will-change:transform,opacity}

/* HOME featured lineup — asymmetric 12-col layout */
.featured{position:relative;display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;row-gap:0}
.featured .project-item:nth-child(1){grid-column:1/8}
.featured .project-item:nth-child(2){grid-column:9/13;margin-top:34vh}
.featured .project-item:nth-child(3){grid-column:2/7;margin-top:-10vh}
.featured .project-item:nth-child(4){grid-column:8/13;margin-top:14vh}
.featured-cta{grid-column:1/13;display:flex;justify-content:center;margin-top:80px}

/* project/artist card */
.project-item{display:block;position:relative;width:100%;margin-bottom:2em;color:inherit}
.project-item-image-holder{position:relative;overflow:hidden}
.project-item-image{width:100%;object-fit:cover;aspect-ratio:var(--ar,4/5);transition:transform .5s var(--ease)}
.project-item:hover .project-item-image{transform:scale(1.05)}
.project-item-image-overlay{position:absolute;inset:0;background:var(--blue)}
.project-item-image-overlay.white{background:var(--white)}
.project-item-image-overlay.in{transform:translateY(100%);transition:transform 1.5s var(--inOutCubic) 300ms}
.project-item-content{position:relative;width:100%;margin-top:1em;padding-right:60px}
.project-item-title{padding-bottom:6px;font-family:var(--display);font-size:56px;font-weight:600;line-height:1.05}
.project-item-meta{font-size:17px;opacity:.65}
.project-item-arrow-holder{position:absolute;top:10px;right:0;width:50px;transform:rotate(-45deg);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.project-item:hover .project-item-arrow-holder{opacity:0!important;transform:rotate(-45deg) scale(.2)}
.project-item-arrow-holder svg{width:100%;height:auto}
.day-chip{position:absolute;top:16px;left:16px;z-index:1;background:var(--yellow);color:var(--black);font-family:var(--display);font-weight:800;font-size:20px;padding:4px 12px;text-transform:uppercase}

.pill-button{display:inline-flex;align-items:center;gap:14px;border:2px solid currentColor;border-radius:999px;padding:18px 34px;font-family:var(--display);font-weight:800;font-size:34px;text-transform:uppercase;transition:background-color .3s,color .3s}
.pill-button:hover{background:var(--black);color:var(--white);border-color:var(--black)}

/* ---------- HOME: stages list with floating image (a-11 / a-16 / a-17) ---------- */
.stages-list{padding:140px 0 120px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:60px}
.section-heading h2{font-family:var(--display);font-size:min(14vw,190px);font-weight:800;line-height:.85;text-transform:uppercase}
.section-heading p{max-width:360px;font-size:20px;line-height:1.4}
.stage-row{position:relative;display:grid;grid-template-columns:90px 1fr 1fr auto;align-items:center;gap:24px;padding:34px 0;border-top:1px solid var(--black)}
.stage-row:last-child{border-bottom:1px solid var(--black)}
.stage-no{font-family:var(--display);font-size:28px;font-weight:600;opacity:.5}
.stage-name{font-family:var(--display);font-size:clamp(48px,7vw,110px);font-weight:800;line-height:.9;text-transform:uppercase;transition:transform .5s var(--ease),color .3s}
.stage-row:hover .stage-name{transform:translateX(24px);color:var(--pink)}
.stage-desc{font-size:19px;line-height:1.4;max-width:380px}
.stage-time{font-family:var(--display);font-size:30px;font-weight:700;white-space:nowrap}
.float-image{position:fixed;left:0;top:0;z-index:5;width:340px;height:420px;margin:-210px 0 0 -170px;pointer-events:none;opacity:0;transform:translateY(30px) scale(.9);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.float-image.show{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.float-image-inner{width:100%;height:100%;overflow:hidden;will-change:transform}
.float-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s var(--ease)}
.float-image img.active{opacity:1}

/* ---------- HOME: numbers + gallery ---------- */
.numbers{background:var(--yellow);padding:140px 0 160px;overflow:hidden}
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:2px solid var(--black);padding-top:28px}
.number{font-family:var(--display);font-size:min(13vw,190px);font-weight:900;line-height:.85}
.number-label{margin-top:10px;font-size:20px;line-height:1.3;max-width:220px}
.gallery-strip{display:flex;gap:28px;margin-top:130px;padding-left:24px;width:max-content;will-change:transform}
.gallery-item{position:relative;flex:none;width:clamp(240px,26vw,420px)}
.gallery-item:nth-child(even){margin-top:120px}
.gallery-item .project-item-image-holder img{aspect-ratio:4/5;width:100%;object-fit:cover}
.gallery-item:nth-child(3n) .project-item-image-holder img{aspect-ratio:1/1}
.gallery-caption{margin-top:12px;font-size:18px;display:flex;justify-content:space-between;gap:12px}
.gallery-caption span:last-child{opacity:.6}
.numbers .project-item-image-overlay{background:var(--yellow)}

/* ---------- marquee ---------- */
.line-container{padding:2em 24px}
.horizontal-line{height:1px;background:var(--black)}
.infinite-carousel-container{position:relative;width:100%;overflow:hidden}
.infinit-holder{display:flex;width:max-content}
.infinite-carousel{position:relative;animation:carousel 15s linear infinite}
.infinite-text-holder{display:flex;align-items:center;gap:20px;padding:13px 20px 0 0}
.infinite-text{font-family:var(--display);font-size:6.8vw;font-weight:800;line-height:1;text-transform:uppercase;white-space:nowrap}
.infinite-text:nth-child(2){color:var(--pink)}
.infinite-text:nth-child(3){color:var(--blue)}
@keyframes carousel{to{transform:translateX(-100%)}}

/* ---------- HOME: services ---------- */
.services{position:relative;overflow:hidden;color:var(--white)}
.background-black{position:absolute;inset:0;z-index:-1;background:var(--pink)}
.grid-services{display:grid;grid-template-columns:1fr 1fr;width:100%}
.service-icons{display:flex;flex-direction:column;justify-content:center;align-items:center;will-change:transform,opacity}
.service-icon-content{height:var(--item-h,70vh);display:flex;justify-content:center;align-items:center}
.service-icon{width:232px;height:232px;fill:none;stroke:var(--white);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.service-list-content{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.service-item{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.service-text-content{position:relative;display:flex;align-items:center;padding-left:40px}
.service-no{position:absolute;left:-50px;margin-top:30px;font-family:var(--display);font-size:300px;line-height:.9;color:rgba(255,255,255,.18);font-variation-settings:"wght" 100}
.service-title{position:relative;font-family:var(--display);font-size:125px;font-weight:800;line-height:1;text-transform:uppercase}
.service-desc{position:relative;margin-top:18px;max-width:420px;font-size:20px;line-height:1.4}

/* ---------- footer ---------- */
.footer{background:var(--lime);padding:120px 0 40px}
.footer-title-container{position:relative;margin-bottom:2em;padding-right:270px}
.footer-title{font-family:var(--display);font-size:175px;font-weight:700;line-height:.9;text-transform:uppercase;font-variation-settings:"wght" 400}
.circle-container{position:absolute;right:0;bottom:0;width:249px;height:249px;display:flex;align-items:center;justify-content:center}
.circle-container .play-reel-circle{width:180px;min-width:180px;color:var(--black)}
.footer-link-email{display:flex;justify-content:space-between;align-items:center;width:100%;margin:40px 0 20px;font-family:var(--display);font-size:50px;line-height:1;font-variation-settings:"wght" 400;transition:font-variation-settings .7s var(--ease)}
.footer-link-email:hover{font-variation-settings:"wght" 550}
.footer-email-arrow{width:80px;opacity:.3;transition:opacity .5s var(--ease)}
.footer-link-email:hover .footer-email-arrow{opacity:1}
.footer-flex-container{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-top:20px;border-top:1px solid rgba(0,0,0,.2);flex-wrap:wrap}
.footer-flex-first{display:flex;gap:40px;flex-wrap:wrap}
.text-small{font-size:20px;color:rgba(0,0,0,.7)}
.content.horizontal{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.footer-link{font-size:20px}

/* ---------- LINEUP page ---------- */
.lineup-filters{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 50px}
.filter{border:1.5px solid var(--black);border-radius:999px;padding:10px 22px;font-size:18px;font-weight:600;transition:background-color .3s,color .3s}
.filter.active,.filter:hover{background:var(--black);color:var(--white)}
.lineup-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:28px;align-items:start}
.lineup-grid .project-item{margin-bottom:70px;transition:opacity .4s}
.lineup-grid .project-item:nth-child(3n+2){margin-top:140px}
.lineup-grid .project-item.dim{opacity:.15}
.lineup-grid .project-item-title{font-size:44px}

/* ---------- ARTIST page ---------- */
.artist-hero{padding-top:140px}
.artist-kicker{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.tag{background:var(--black);color:var(--white);padding:6px 14px;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.tag.pink{background:var(--pink)}
.project-details-title{font-family:var(--display);font-size:min(16vw,230px);font-weight:900;line-height:.85;text-transform:uppercase}
.project-detail-main-image{margin-top:50px;overflow:hidden;position:relative}
.project-details-image{width:100%;height:78vh;object-fit:cover;will-change:transform}
.project-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;gap:2rem;padding:3rem 0;border-bottom:1px solid var(--black)}
.project-detail-item-title{margin-bottom:6px;font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.08em;opacity:.6}
.project-detail-value{font-size:24px}
.rich-text{max-width:820px;margin:80px auto 0;font-size:22px;line-height:1.55}
.rich-text p{margin-bottom:1.1em}
.rich-text h2{font-family:var(--display);font-size:64px;line-height:1;text-transform:uppercase;margin:1.2em 0 .5em}
.rich-text blockquote{margin:1.5em 0;padding-left:28px;border-left:6px solid var(--pink);font-family:var(--display);font-size:46px;line-height:1.05;text-transform:uppercase}
.project-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:90px 0}
.project-image-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}
.setlist{margin-top:40px;border-top:1px solid var(--black)}
.setlist-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.15);font-size:20px}
.other-heading{font-family:var(--display);font-size:120px;font-weight:800;line-height:.9;text-transform:uppercase;margin:120px 0 50px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px}

/* ---------- JOURNAL page ---------- */
.blog-post-grid{display:grid;grid-template-columns:1fr 1fr;gap:2em;margin-top:3em}
.blog-post-grid.three{grid-template-columns:repeat(3,1fr)}
.post-item{display:block;width:100%;padding-bottom:20px}
.post-item-image-container{position:relative;overflow:hidden}
.post-item-image{width:100%;height:50vh;object-fit:cover;transform:scale(1.05);transition:transform .8s var(--ease)}
.post-item:hover .post-item-image{transform:scale(1)}
.blog-post-grid.three .post-item-image{height:36vh}
.post-item-title{margin-top:1rem;font-family:var(--display);font-size:46px;font-weight:700;line-height:1;text-transform:uppercase}
.post-item-content-bottom{display:flex;justify-content:space-between;margin-top:14px;font-size:18px}
.blog-item-category{opacity:.5}

/* ---------- ABOUT page ---------- */
.about-big{max-width:1100px}
.about-big + .about-big{margin-top:2rem}
.grid-about-images{display:grid;grid-template-columns:repeat(6,1fr);padding:60px 0 160px}
.grid-about-images .image-holder._1{grid-column:3/5;grid-row:1;z-index:2}
.grid-about-images .image-holder._2{grid-column:2/4;grid-row:1;margin-top:50%}
.grid-about-images .image-holder._3{grid-column:4/6;grid-row:1;margin-top:50%}
.image-holder{position:relative;overflow:hidden;transition:transform .8s var(--ease) 600ms}
.image-holder img{width:100%;aspect-ratio:3/4;object-fit:cover}
.grid-about-images.in .image-holder._2{transform:translateX(-25%) rotate(-10deg)}
.grid-about-images.in .image-holder._3{transform:translateX(25%) rotate(7deg)}
.white-bg-over-image{position:absolute;inset:0;z-index:2;background:var(--white)}
.white-bg-over-image.in{transform:translateY(100%);transition:transform 1.2s var(--inOutQuart) 400ms}
.skill-panel{position:relative;padding:5em 0;border-bottom:1px solid var(--black)}
.skill-panel:first-child{border-top:1px solid var(--black)}
.grid-skills{display:grid;grid-template-columns:1fr 1.6fr;gap:24px;align-items:center}
.about-year{font-family:var(--display);font-size:min(17vw,250px);font-weight:800;line-height:.85}
.about-year-title{font-family:var(--display);font-size:min(7vw,100px);font-weight:500;line-height:.95;text-transform:uppercase}
.skill-panel p{margin-top:20px;font-size:20px;line-height:1.5;max-width:560px}
.skill-content{will-change:opacity}
.instagram{position:relative;overflow:hidden;background:var(--pink);color:var(--white)}
.instagram-container{perspective:700px;min-height:100vh;padding:20vh 24px}
.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:center}
.instagram-grid-content{display:flex;flex-direction:column;align-items:center;justify-content:center}
.instagram-grid-content.top{justify-content:flex-start;align-self:start}
.instagram-grid-content.bottom{align-self:end}
.instagram-image-holder{position:relative;transform-style:preserve-3d;will-change:transform}
.instagram-image{width:100%;max-height:420px;object-fit:cover}
.insta-overlay{position:absolute;inset:0;background:rgba(0,0,0,.3)}
.insta-post-text{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:34px;font-weight:800;text-transform:uppercase;opacity:0;transform:scale(.95);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.instagram-item{position:relative;width:100%}
.instagram-item:hover .insta-post-text{opacity:1;transform:none}
.insta-text-container{text-align:center;padding:3em 1em}
.insta-text-container h3{font-family:var(--display);font-size:90px;font-weight:800;line-height:.9;text-transform:uppercase;margin-bottom:24px}
.insta-text-container p{font-size:20px;line-height:1.5;margin-bottom:20px}

/* ---------- TICKETS page ---------- */
.shop-list{display:grid;grid-template-columns:1fr 1fr;gap:3em 1.5em;margin-top:2em}
.shop-item{position:relative}
.small-thumbnail-image{position:relative;width:100%;padding-top:80%;overflow:hidden}
.shop-item-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.shop-item:hover .shop-item-image{transform:scale(1.05)}
.shop-badge{position:absolute;top:16px;left:16px;z-index:1;background:var(--lime);color:var(--black);font-weight:700;font-size:15px;padding:6px 12px;text-transform:uppercase;letter-spacing:.06em}
.shop-item-content{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-top:1em}
.shop-item-title{font-size:40px;font-weight:500;line-height:1.1}
.shop-item-sub{margin-top:6px;font-size:18px;opacity:.6}
.shop-item-price{color:var(--grey);font-size:40px;font-weight:500;white-space:nowrap}
.add-button{margin-top:18px;display:inline-flex;align-items:center;gap:10px;background:var(--black);color:var(--white);padding:14px 26px;font-size:18px;font-weight:600;transition:background-color .3s}
.add-button:hover{background:var(--pink)}
.add-button.added{background:var(--blue)}

/* ---------- CONTACT page ---------- */
.contact-form{padding:40px 0 100px}
.form-input{display:block;width:100%;border:0;border-bottom:1px solid var(--black);background:none;margin-bottom:30px;padding:10px;font-size:min(8vw,60px);font-weight:400;outline:none;border-radius:0;transition:border-color .2s}
.form-input::placeholder{color:var(--grey)}
.form-input:focus{border-bottom-color:var(--pink)}
textarea.form-input{min-height:220px;resize:vertical}
.right-text{text-align:right}
.submit-button{padding:10px 20px;font-size:min(8vw,60px);font-weight:700;transition:color .3s,background-color .3s}
.submit-button:hover{color:var(--white);background:var(--black)}
.success-message{display:none;padding:60px 0;font-family:var(--display);font-size:min(10vw,110px);font-weight:800;line-height:.9;text-transform:uppercase;color:var(--blue)}
.contact-form.sent form{display:none}
.contact-form.sent .success-message{display:block}
.faq-title{font-family:var(--display);font-size:min(12vw,150px);font-weight:800;line-height:.9;text-transform:uppercase}
.accordions{margin:3em 0 120px}
.accordion{border-bottom:1px solid var(--black)}
.accordion-header{display:flex;justify-content:space-between;align-items:stretch;width:100%;padding:2em 0 2em 1em;text-align:left;transition:background-color .2s}
.accordion-header:hover{background:rgba(0,0,0,.03)}
.accordion-title-text{font-family:var(--display);font-size:min(6vw,56px);font-weight:500;line-height:1;text-transform:uppercase}
.accordion-icon-container{display:flex;justify-content:center;align-items:center;width:15%;min-width:15%}
.accordion-icon{width:60px;height:60px;transition:transform .5s var(--ease)}
.accordion.open .accordion-icon{transform:rotate(45deg)}
.accordion-body{height:0;overflow:hidden;padding:0 10px;transition:height .5s var(--ease)}
.accordion-body-content{padding:0 1em 2em;font-size:21px;line-height:1.55;max-width:900px}

/* ---------- cursor ---------- */
.cursor{position:fixed;inset:0 auto auto 0;z-index:22;width:100px;height:100px;margin:-50px 0 0 -50px;display:flex;justify-content:center;align-items:center;pointer-events:none}
.cursor-big-circle{position:absolute;z-index:0;width:48px;height:48px;border-radius:50%;background:rgba(218,218,218,.5);opacity:0;transition:opacity .4s var(--ease)}
.cursor-small-circle{position:absolute;z-index:3;width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.4);-webkit-backdrop-filter:invert(70%);backdrop-filter:invert(70%);transition:width .4s var(--ease),height .4s var(--ease),opacity .3s var(--ease)}
.cursor-arrow{position:absolute;z-index:4;width:22px;opacity:0;transform:scale(.2);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.cursor-video-parent,.cursor-video{position:absolute;inset:0;display:flex;justify-content:center;align-items:center}
.cursor-video-parent{opacity:0}
.video-lightbox-holder{position:absolute;z-index:2;width:160px;aspect-ratio:1;border-radius:100%;overflow:hidden;display:flex;justify-content:center;align-items:center;transition:transform .5s var(--inBack),opacity .5s var(--ease)}
.video-lightbox-holder video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-play-icon-parent{position:absolute;inset:0;z-index:2;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s var(--ease)}
.video-play-icon-holder{position:relative;left:5%;width:50px}
.video-play-icon{width:100%;fill:var(--white)}
body.reel-hover .video-lightbox-holder{transform:scale(1.3);transition:transform .5s var(--inOutBack) .2s}
body.reel-hover .video-play-icon-parent{opacity:1}
body.reel-hover .cursor-small-circle{opacity:0}
body.link-hover .cursor-small-circle{width:48px;height:48px}
body.link-hover .cursor-arrow{opacity:1;transform:scale(1)}
body.link-hover .cursor-big-circle,body.big-hover .cursor-big-circle{opacity:0!important}
body.big-hover .cursor-small-circle{width:100px;height:100px}
body.big-hover .cursor-arrow{opacity:1;transform:scale(2)}
body.link-hover .video-lightbox-holder,body.big-hover .video-lightbox-holder{transform:scale(.1);opacity:0}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.lightbox.open{opacity:1}
.lightbox[hidden]{display:none}
.lightbox video{width:min(90vw,1280px);max-height:80vh;object-fit:contain;background:#000}
.lightbox-close{position:absolute;top:20px;right:24px;color:#fff;font-size:18px;font-weight:600;padding:10px 16px;border:1px solid rgba(255,255,255,.4);border-radius:999px}
.lightbox,.lightbox *{cursor:auto}

/* ---------- responsive ---------- */
@media (min-width:1280px){.home-hero-text{font-size:450px}}
@media (min-width:1440px){.home-hero-text{font-size:500px}}
@media (max-width:991px){
  body,a,button,input,textarea{cursor:auto}
  .cursor,.float-image{display:none}
  .home-hero-text{font-size:36vw}
  .big-text{font-size:30px}
  .hero-grid{grid-template-columns:1fr 220px}
  .nav-menu{gap:18px}
  .nav-menu .link{font-size:17px}
  .brand-name{display:none}
  .service-no{font-size:190px}
  .service-title{font-size:80px}
  .service-icon{width:170px;height:170px}
  .footer-title{font-size:110px}
  .footer-title-container{padding-right:220px}
  .circle-container{width:200px;height:200px}
  .stage-row{grid-template-columns:60px 1fr auto}
  .stage-desc{display:none}
  .lineup-grid{grid-template-columns:1fr 1fr}
  .lineup-grid .project-item:nth-child(3n+2){margin-top:0}
  .lineup-grid .project-item:nth-child(even){margin-top:100px}
  .numbers-grid{grid-template-columns:1fr 1fr;row-gap:50px}
  .project-detail-grid{grid-template-columns:1fr 1fr}
  .blog-post-grid.three{grid-template-columns:1fr 1fr}
  .instagram-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  body{font-size:18px}
  .nav-menu .hide-sm{display:none}
  .big-text{font-size:25px}
  .hero-grid{grid-template-columns:1fr 140px;gap:20px}
  .play-reel-circle,.circle-container .play-reel-circle{width:140px;min-width:140px}
  .hero-picture{width:90vw;left:-15vw}
  .pre-work-grid{grid-template-columns:1fr;padding-top:8em}
  .pre-work-description{margin-top:2em}
  .featured{display:block}
  .featured .project-item{margin-top:0!important;margin-bottom:60px}
  .grid-services{grid-template-columns:1fr}
  .service-icons{display:none}
  .service-item{min-height:55vh}
  .service-text-content{padding-left:0}
  .service-no{left:0}
  .footer-title-container{padding-right:0}
  .circle-container{position:relative;width:100%;height:auto;justify-content:flex-end;margin-top:1em}
  .footer-flex-container,.footer-flex-first{flex-direction:column}
  .page-hero-content-with-right-detail{flex-direction:column;align-items:flex-start;gap:1.5em}
  .section-heading{flex-direction:column;align-items:flex-start}
  .lineup-grid,.blog-post-grid,.blog-post-grid.three,.shop-list,.two-col,.project-image-grid{grid-template-columns:1fr}
  .lineup-grid .project-item:nth-child(even){margin-top:0}
  .project-detail-grid{grid-template-columns:1fr}
  .grid-skills{grid-template-columns:1fr}
  .instagram-grid{grid-template-columns:1fr}
  .shop-item-content{flex-direction:column}
  .other-heading{font-size:70px}
}
@media (max-width:479px){
  .home-hero-text{font-size:34vw}
  .big-text{font-size:20px}
  .hero-grid{grid-template-columns:1fr}
  .hero .play-reel-circle-holder{display:none}
  .service-title{font-size:50px}
  .service-no{font-size:120px}
  .footer-title{font-size:21vw}
  .footer-link-email{font-size:30px}
  .footer-email-arrow{width:40px}
  .numbers-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .pl,.pv,.fade,.fade-move,.scale-in,.play-reel-circle{opacity:1!important;transform:none!important;transition:none!important}
  .project-item-image-overlay,.white-bg-over-image{display:none}
  .reel-circle,.infinite-carousel,.brand-pic{animation:none}
}
