/* generated by build.mjs from css/sections/ — edit those files, not this one */
/* ==== 01-intro-hero.css ==== */
/* =========================================================
   01–04 · intro loader, hero, statement, categories
   ========================================================= */

/* ---------- 01 · intro ---------- */
.intro{display:none;}
html.np-intro .intro{display:block;position:fixed;inset:0;z-index:200;overflow:hidden;cursor:pointer;}
html.np-intro [data-header-logo]{opacity:0;}
.intro__wipe{position:absolute;inset:0;will-change:transform;}
.intro__wipe--ink{background:var(--blue);}
.intro__wipe--bg{background:var(--black);overflow:hidden;}
.intro__ink{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.intro__ink path{fill:none;stroke:var(--blue-bright);stroke-width:var(--w,2);stroke-linecap:round;stroke-linejoin:round;opacity:var(--o,.9);}
.intro__wash{
  position:absolute;left:46%;top:54%;width:min(70vmin,620px);aspect-ratio:1;
  margin:calc(min(70vmin,620px) / -2) 0 0 calc(min(70vmin,620px) / -2);
  opacity:0;will-change:transform,opacity;
}
.intro__wash svg,.intro__bloom svg{width:100%;height:100%;overflow:visible;}

/* the stage is sized so the 60-unit mark matches the header logo's viewBox; JS flies it onto [data-header-logo] */
.intro__stage{
  --s:clamp(170px,19vw,280px);
  position:absolute;inset:0;margin:auto;width:var(--s);height:var(--s);
  will-change:transform;transform-origin:50% 50%;
}
.intro__mark{position:relative;width:100%;height:100%;overflow:visible;}
.intro__mark path{fill:none;stroke-linecap:round;stroke-linejoin:round;}
.intro__stroke{stroke:var(--white);stroke-width:1;}
.intro__ghost path{stroke:var(--white);stroke-width:.28;opacity:.4;}
.intro__dot{fill:var(--blue-bright);}
.intro__bloom{position:absolute;display:block;opacity:0;will-change:transform,opacity;pointer-events:none;}
.intro__bloom--wash{left:-14%;top:18%;width:78%;aspect-ratio:1;}
.intro__bloom--dot{left:62%;top:12%;width:36%;aspect-ratio:1;mix-blend-mode:screen;}

/* ---------- 02 · hero ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:520px;overflow:hidden;background:var(--black);isolation:isolate;}
.hero__media{position:absolute;inset:0;z-index:-2;}
.hero__slide{position:absolute;inset:0;margin:0;opacity:0;overflow:hidden;}
.hero__slide.is-active{opacity:1;}
.hero__slide img{width:100%;height:100%;object-fit:cover;will-change:transform;}
.hero__shade{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(22,21,22,.42) 0%,rgba(22,21,22,0) 22%),
    linear-gradient(0deg,rgba(22,21,22,.82) 0%,rgba(22,21,22,.5) 30%,rgba(22,21,22,.12) 55%,rgba(22,21,22,0) 70%);
}
.hero__rule{position:absolute;left:0;right:0;top:66.6%;height:1px;background:rgba(218,211,209,.28);transform-origin:0 50%;}
.hero__content{
  position:absolute;left:0;right:0;bottom:0;
  display:grid;grid-template-columns:calc(68.1vw - var(--gutter)) 1fr;align-items:stretch;
  padding:0 var(--gutter) clamp(24px,2.75vw,44px);
}
.hero__title{
  font-family:var(--sans);font-weight:500;
  font-size:clamp(42px,7.81vw,150px);line-height:.95;letter-spacing:-.03em;
}
.hero__title .line-mask{padding-bottom:.1em;margin-bottom:-.1em;}
.hero__title-accent{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.025em;padding-left:.04em;}
.hero__aside{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:1.3vw 0 .2vw;gap:28px;}
.hero__blurb{font-size:clamp(13px,1.04vw,17px);line-height:1.3;letter-spacing:-.03em;max-width:21em;}
.hero__btn,.stmt__btn{font-size:clamp(13px,1.11vw,17px);font-weight:400;letter-spacing:-.01em;gap:10px;padding:11px 23px;min-height:46px;}
.hero__btn .arr,.stmt__btn .arr{width:13px;height:13px;}

/* ---------- 03 · statement ---------- */
.stmt{position:relative;overflow:hidden;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;}
.stmt__media{position:absolute;inset:0;z-index:-2;overflow:hidden;}
.stmt__media img{position:absolute;left:0;top:-9%;width:100%;height:118%;object-fit:cover;object-position:70% 50%;}
.stmt__shade{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(22,21,22,.94) 0%,rgba(22,21,22,.86) 34%,rgba(22,21,22,.35) 62%,rgba(22,21,22,.08) 100%),
    linear-gradient(180deg,rgba(22,21,22,.5) 0%,rgba(22,21,22,0) 18%);
}
/* full-screen section: equal padding top/bottom, content centred vertically */
.stmt__inner{width:calc(51.3vw + var(--gutter));padding:clamp(96px,12vh,150px) 0 clamp(96px,12vh,150px) var(--gutter);display:flex;flex-direction:column;justify-content:center;}
.stmt__lead{font-size:clamp(28px,3.91vw,72px);line-height:1.1;letter-spacing:-.03em;}
.stmt__lead em{letter-spacing:-.02em;}
.stmt__lead .w{opacity:var(--wo,1);transition:none;}
.stmt__btn{width:100%;margin-top:clamp(28px,2.8vw,44px);}

/* ---------- 04 · categories ---------- */
.cats{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden;isolation:isolate;display:grid;place-items:center;}
.cats__media{position:absolute;inset:0;z-index:-2;overflow:hidden;}
.cats__media img{position:absolute;left:0;top:-9%;width:100%;height:118%;object-fit:cover;}
.cats__shade{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(22,21,22,.35) 0%,rgba(22,21,22,.15) 40%,rgba(22,21,22,.75) 100%);
}
.cats__row{display:flex;justify-content:center;gap:4.1vw;}
.cats__item{width:18.2vw;min-width:220px;max-width:340px;}
.cats__card{
  position:relative;display:flex;flex-direction:column;align-items:center;
  aspect-ratio:262/510;padding:15px;overflow:hidden;
  background:rgba(22,21,22,.2);
  -webkit-backdrop-filter:blur(48px) saturate(1.25);backdrop-filter:blur(48px) saturate(1.25);
  border:1px solid rgba(218,211,209,.1);border-radius:2px;
  transition:transform .8s var(--ease-out),background-color .6s var(--ease-out),border-color .6s var(--ease-out);
}
.cats__card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 60% at 50% 0%,rgba(218,211,209,.16),rgba(218,211,209,0) 70%);
  opacity:0;transition:opacity .6s var(--ease-out);
}
.cats__card:hover,.cats__card:focus-visible{transform:translateY(-10px);background-color:rgba(218,211,209,.1);border-color:rgba(218,211,209,.26);}
.cats__card:hover::before,.cats__card:focus-visible::before{opacity:1;}
.cats__index{align-self:flex-start;font-size:15px;letter-spacing:-.03em;}
.cats__title{
  margin-top:auto;margin-bottom:auto;transform:translateY(-6%);
  font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,46px);line-height:1.05;letter-spacing:-.03em;
  text-align:center;text-wrap:balance;
}
.cats__caption{font-size:15px;line-height:1.3;letter-spacing:-.03em;text-align:center;color:rgba(218,211,209,.55);max-width:15em;text-wrap:balance;transition:color .6s var(--ease-out);}
.cats__card:hover .cats__caption{color:rgba(218,211,209,.85);}

/* ---------- tablet ---------- */
@media (max-width:1024px) and (min-width:768px){
  .hero__content{grid-template-columns:1fr 30vw;gap:24px;}
  .cats__row{gap:2.6vw;}
}

/* ---------- mobile ---------- */
@media (max-width:767px){
  .hero__rule{top:65%;}
  .hero__content{display:block;padding-bottom:32px;}
  .hero__title{font-size:11.54vw;}
  .hero__aside{display:block;padding:0;}
  .hero__blurb{font-size:16px;margin-top:13px;max-width:none;}
  .hero__btn{width:100%;min-height:50px;margin-top:40px;font-size:16px;}

  .stmt{min-height:100vh;min-height:100svh;}
  .stmt__inner{width:100%;padding:96px var(--gutter);}
  .stmt__lead{font-size:8.97vw;}
  .stmt__btn{min-height:50px;font-size:16px;margin-top:44px;}
  .stmt__shade{background:linear-gradient(180deg,rgba(22,21,22,.78),rgba(22,21,22,.55) 60%,rgba(22,21,22,.8));}

  .cats{display:flex;align-items:center;}
  .cats__row{
    width:100%;justify-content:flex-start;gap:20px;
    overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);
    padding:20px var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain;
  }
  .cats__row::-webkit-scrollbar{display:none;}
  .cats__item{flex:0 0 77.5vw;width:77.5vw;min-width:0;scroll-snap-align:start;}
  .cats__item:last-child{margin-right:var(--gutter);}
  .cats__card{aspect-ratio:302/492;-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);}
  .cats__title{font-size:35px;}
}

@media (prefers-reduced-motion:reduce){
  .cats__card:hover{transform:none;}
}

/* ==== 02-offer-process.css ==== */
/* =========================================================
   02 — offer ("Što nudimo") + process ("Naš proces:")
   ========================================================= */

/* ---------- OFFER ---------- */
.offer{background:var(--black);}
.offer__stage{padding:110px var(--gutter) 80px;}
.offer__title{font-size:clamp(40px,4.15vw,62px);line-height:.95;letter-spacing:-.045em;text-transform:uppercase;font-weight:400;}
.offer__intro{margin-top:22px;max-width:34em;font-size:clamp(14px,1.05vw,16px);line-height:1.32;letter-spacing:-.02em;color:var(--muted);}
.offer__mask{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em;}
.offer__mask > span{display:block;}
.offer__idx{display:inline-block!important;padding:7px 7px 6px;background:#2a292a;font-size:15px;line-height:1;letter-spacing:-.02em;color:var(--white);}
.offer__name{margin-top:26px;font-family:var(--serif);font-size:clamp(30px,4.3vw,64px);line-height:1;letter-spacing:-.035em;}
.offer__cap{margin-top:16px;max-width:34em;font-size:clamp(13px,1.05vw,16px);line-height:1.3;letter-spacing:-.02em;color:var(--muted);}
.offer__fig{margin:0;overflow:hidden;background:var(--black-2);}
.offer__fig img{width:100%;height:100%;object-fit:cover;}
.offer__bar{display:none;}

/* card row (mobile, reduced motion, no JS) */
.offer__list,.process__steps{list-style:none;margin:0;padding:0;}
.offer__list{
  display:flex;gap:14px;margin:48px calc(var(--gutter) * -1) 0;padding:0 var(--gutter) 6px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);
  scrollbar-width:none;overscroll-behavior-x:contain;
}
.offer__list::-webkit-scrollbar{display:none;}
.offer__item{flex:0 0 min(66vw,320px);scroll-snap-align:start;background:var(--black-2);padding:14px 14px 20px;display:flex;flex-direction:column;}
.offer__item .offer__fig{aspect-ratio:4/5;}
.offer__item .offer__meta{margin-top:22px;}
.offer__item .offer__name{margin-top:12px;font-size:30px;}
.offer__item .offer__cap{margin-top:10px;font-size:13px;}

/* pinned desktop layout */
@media (min-width:768px) and (prefers-reduced-motion:no-preference){
  html.js .offer__stage{
    position:relative;height:100vh;min-height:620px;padding:13.9vh 0;
    display:grid;
    grid-template-columns:10.4vw 34.7vw 11.15vw minmax(0,1fr) var(--gutter);
    grid-template-rows:auto 1fr;
    grid-template-areas:". frame . head ." ". frame . meta .";
  }
  html.js .offer__head{grid-area:head;max-width:480px;}
  html.js .offer__list{display:contents;}
  html.js .offer__item{display:contents;}
  html.js .offer__fig{grid-area:frame;aspect-ratio:auto;position:relative;}
  html.js .offer__meta{grid-area:meta;align-self:end;max-width:480px;margin:0;}
  html.js .offer__name{margin-top:26px;font-size:clamp(34px,4.3vw,64px);}
  html.js .offer__cap{margin-top:18px;font-size:clamp(13px,1.05vw,16px);}
  html.js .offer__item:not(:first-child) .offer__meta{visibility:hidden;}
  html.js .offer__bar{display:block;grid-area:frame;align-self:end;position:relative;z-index:5;height:3px;background:rgba(218,211,209,.22);}
  html.js .offer__bar i{position:absolute;inset:0;background:var(--white);transform-origin:0 50%;transform:scaleX(0);}
}
@media (min-width:768px) and (max-width:1100px) and (prefers-reduced-motion:no-preference){
  html.js .offer__stage{grid-template-columns:var(--gutter) 38vw 6vw minmax(0,1fr) var(--gutter);}
}

/* ---------- PROCESS ---------- */
.process{background:var(--black);padding:clamp(24px,2.5vw,36px) 0 clamp(120px,14vw,200px);}
.process__title{
  position:relative;padding-inline:var(--gutter);
  font-size:17.4vw;line-height:.82;letter-spacing:-.065em;text-transform:uppercase;font-weight:400;white-space:nowrap;
}
.process__title > span{display:block;}
.process__title [class$="-mask"]{padding-top:.16em;margin-top:-.16em;}
.process__note{
  position:absolute;right:calc(var(--gutter) + .3vw);top:-.2em;
  font-size:clamp(11px,1.1vw,16px);letter-spacing:0;text-transform:none;line-height:1;white-space:nowrap;
}
.process__timeline{position:relative;margin-top:clamp(28px,3.2vw,48px);}
.process__line{position:absolute;top:0;bottom:0;left:50%;width:1px;margin-left:-.5px;background:var(--line-strong);z-index:3;pointer-events:none;}
.process__fill{position:absolute;inset:0;background:var(--orange);transform-origin:50% 0;transform:scaleY(0);}
.process__marker{position:absolute;left:50%;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;background:var(--orange);}

.process__step{position:relative;}
.process__step + .process__step{margin-top:clamp(120px,15vw,220px);}
.process__media{position:relative;width:65.1%;margin-inline:auto;aspect-ratio:937/520;overflow:hidden;background:var(--black-2);}
.process__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(22,21,22,.78),rgba(22,21,22,.4) 50%,rgba(22,21,22,.38));}
.process__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);will-change:transform;}

.process__copy{position:absolute;inset:0;z-index:4;pointer-events:none;padding-top:clamp(120px,12.6vw,182px);}
.process__sticky{
  position:sticky;top:calc(50vh - 30px);
  display:grid;grid-template-columns:calc(17.45vw + clamp(20px,2.6vw,40px)) 1fr 25vw 6.4vw;align-items:start;
}
.process__name{
  /* titles sit inside the image, all flush to the same left edge */
  grid-column:2;justify-self:start;text-align:left;max-width:calc(32.55vw - clamp(20px,2.6vw,40px) - 24px);
  font-family:var(--serif);font-size:clamp(34px,4.35vw,64px);line-height:1;letter-spacing:-.035em;
  color:rgba(248,65,49,.6);text-shadow:0 2px 24px rgba(0,0,0,.35);transition:color .6s var(--ease-out);
}
.process__step.is-active .process__name{color:var(--orange);}
.process__num{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.process__text{grid-column:3;font-size:clamp(15px,1.42vw,21px);line-height:1.4;letter-spacing:-.025em;max-width:22em;padding-top:.5em;}

@media (max-width:767px){
  .offer__stage{padding-top:90px;}
  .offer__title{font-size:46px;}

  .process__title{font-size:15.5vw;line-height:.86;white-space:normal;}
  .process__title > span{max-width:5.5em;}
  .process__note{top:4px;font-size:13px;}
  .process__timeline{margin-top:72px;}
  .process__line{left:18px;}
  .process__step + .process__step{margin-top:96px;}
  .process__step{display:flex;flex-direction:column;}
  .process__media{order:2;width:100%;aspect-ratio:390/250;}
  .process__copy{display:contents;}
  .process__sticky{display:contents;}
  /* title sits inside the bottom-left of the image, flush with the text below */
  .process__name{order:3;position:relative;z-index:2;justify-self:auto;text-align:left;max-width:none;padding:0 var(--gutter) 0 48px;margin-top:-52px;font-size:34px;}
  .process__text{order:4;padding:20px var(--gutter) 0 48px;font-size:15px;max-width:none;}
}

@media (prefers-reduced-motion:reduce){
  .process__media img{transform:none;}
  .process__fill{transform:none;}
  .process__marker{display:none;}
  .process__name{color:var(--orange);}
}

/* /04 travel tiers: three lines, label in white */
.offer__cap--tiers .offer__mask + .offer__mask{margin-top:.45em;}
.offer__cap--tiers b{font-weight:500;color:var(--white);margin-right:.35em;}

/* EN: "OUR PROCESS:" is wider than "NAŠ PROCES:" — shrink so it fits on one line */
@media (min-width:768px){ html[lang="en"] .process__title{font-size:15.6vw;} }

/* ==== 03-lists-contact.css ==== */
/* =========================================================
   03 · lists & contact
   Artists flick-card stack · Suradnje (press rows) · Paketi (table)
   Pitanja (accordion) · Galerija (masonry + lightbox) · Kontakt (form)
   ========================================================= */

/* bigger button size used by the reference across these sections */
.xl-band__btn,.xl-cta .btn,.ct__submit .btn{font-size:15px;letter-spacing:-.02em;font-weight:400;padding:11px 20px;min-height:40px;gap:12px;}
.xl-band__btn .arr,.xl-cta .btn .arr,.ct__submit .btn .arr{width:13px;height:13px;}

/* ---------- 07 · artists ---------- */
.ar{
  --card-h:clamp(320px,47.5vh,560px);
  --card-w:calc(var(--card-h) * .665);
  height:100vh;height:100svh;min-height:680px;overflow:hidden;
  padding-top:var(--header-h);
}
.ar__title{
  position:absolute;left:0;right:0;top:18.5vh;z-index:0;
  display:flex;justify-content:center;
  font-family:var(--serif);font-weight:400;text-transform:uppercase;
  font-size:17vw;line-height:.8;letter-spacing:-.035em;color:var(--white);
  white-space:nowrap;pointer-events:none;user-select:none;
}
.ar__word{display:block;padding-top:.06em;}
.ar__stage{position:absolute;left:0;right:0;top:36vh;height:var(--card-h);z-index:1;}
.ar__deck{display:flex;gap:16px;overflow-x:auto;padding-inline:var(--gutter);height:100%;scroll-snap-type:x mandatory;}
.ar__card{
  position:relative;flex:0 0 var(--card-w);height:var(--card-h);overflow:hidden;
  background:var(--black);scroll-snap-align:center;
  box-shadow:0 30px 60px -30px rgba(22,21,22,.55);
}
.ar__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;}
.ar__card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,21,22,0) 30%,rgba(22,21,22,.42) 100%);pointer-events:none;}
.ar__name{
  position:absolute;left:8%;right:8%;top:30%;z-index:1;
  font-family:var(--sans);font-size:calc(var(--card-w) * .17);line-height:.98;letter-spacing:-.05em;
  text-align:center;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.25);
}
.ar__more{
  position:absolute;left:7.5%;right:7.5%;bottom:5%;z-index:2;
  display:flex;align-items:center;justify-content:center;height:39px;
  background:var(--black);color:#fff;font-size:14px;letter-spacing:-.02em;
  transition:background .45s var(--ease-out),color .45s var(--ease-out);
}
.ar__more:hover,.ar__more:focus-visible{background:var(--white);color:var(--black);}
.ar__nav{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:6px;z-index:2;}
.ar__arrow{width:34px;height:34px;display:grid;place-items:center;color:var(--white);}
.ar__arrow svg{width:22px;height:14px;transition:transform .45s var(--ease-out);}
.ar__arrow[data-ar-prev]:hover svg{transform:translateX(-4px);}
.ar__arrow[data-ar-next]:hover svg{transform:translateX(4px);}
.ar__arrow:focus-visible,.ar__more:focus-visible{outline:1px solid var(--white);outline-offset:3px;}

/* JS: stack the cards on top of each other; js/sections/03 places them */
html.js .ar.is-ready .ar__deck{display:block;overflow:visible;padding:0;cursor:grab;touch-action:pan-y;}
html.js .ar.is-ready .ar__deck.is-dragging{cursor:grabbing;}
html.js .ar.is-ready .ar__card{position:absolute;left:50%;top:0;width:var(--card-w);margin-left:calc(var(--card-w) / -2);transform-origin:50% 100%;will-change:transform;}

@media (max-width:767px){
  .ar{--card-h:clamp(300px,51vh,460px);min-height:620px;}
  .ar__title{top:calc(var(--header-h) + 4vh);}
  .ar__stage{top:calc(var(--header-h) + 4vh + 25vw);}
  .ar__nav{bottom:10px;}
}

/* ---------- shared list section shell (press / paketi / pitanja / galerija) ---------- */
.xl-band{display:flex;justify-content:center;align-items:flex-start;padding:14px var(--gutter) 30px;min-height:89px;}
.xl{padding-top:150px;padding-bottom:110px;}
.xl-title{font-family:var(--serif);font-weight:400;font-size:clamp(58px,8vw,124px);line-height:.95;letter-spacing:-.03em;display:flex;align-items:flex-start;}
.xl-title > span:first-child{display:block;}
/* keep descenders (j, g) inside the split-line masks */
.xl-title [data-split] > *,.ct__kit [data-split] > *,.ct__kit[data-split] > *{padding-bottom:.16em;margin-bottom:-.16em;}
.xl-title .sup{font-family:var(--serif);font-size:.4em;top:-.08em;margin-left:.1em;letter-spacing:-.02em;}
.xl-label{font-size:14px;letter-spacing:-.02em;margin:94px 0 16px;}
.xl-rows{border-top:1px solid var(--line-strong);}

/* row: text left, icon right, thin bottom rule, sweeping underline on hover */
.xrow{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;
  min-height:57px;padding:8px 12px;border-bottom:1px solid var(--line-strong);
  font-size:clamp(20px,1.95vw,28px);line-height:1.15;letter-spacing:-.035em;text-align:left;
  transition:background-color .5s var(--ease-out);
}
.xrow::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--white);
  transform:scaleX(0);transform-origin:100% 50%;transition:transform .7s var(--ease-out);
}
.xrow__text{display:block;transition:transform .6s var(--ease-out);}
.xrow__end{display:flex;align-items:center;gap:22px;flex:none;}
.xrow__arr{width:15px;height:15px;transition:transform .55s var(--ease-out);}
.xrow__logo{height:26px;width:auto;opacity:.75;filter:grayscale(1);transition:opacity .5s,filter .5s;}
.xrow__logo--sq{height:34px;}
@media (hover:hover){
  .xrow--link:hover,.faq__q:hover,.xl-table tbody tr:hover{background-color:rgba(218,211,209,.05);}
  .xrow--link:hover::after,.faq__q:hover::after,.xl-table tbody tr:hover::after{transform:scaleX(1);transform-origin:0 50%;}
  .xrow--link:hover .xrow__text,.faq__q:hover .xrow__text{transform:translateX(10px);}
  .xrow--link:hover .xrow__arr{transform:translate(3px,-3px);}
  .xrow:hover .xrow__logo{opacity:1;filter:none;}
}
.xrow:focus-visible{outline:1px solid var(--white);outline-offset:-1px;}

/* ---------- 08 · press ---------- */
#suradnje{padding-bottom:40px;}

/* ---------- 09 · paketi ---------- */
.xl-group{margin-top:94px;}
.xl-group .xl-label{margin-top:0;}
.xl-table{width:100%;border-collapse:collapse;}
.xl-table thead th{font-size:14px;font-weight:400;letter-spacing:-.02em;padding:0 0 16px;text-align:left;border-bottom:1px solid var(--line-strong);}
.xl-table thead th:last-child{text-align:right;}
.xl-table tbody tr{display:table-row;position:relative;}
.xl-table tbody th,.xl-table tbody td{padding:12px 0;vertical-align:middle;}
.xl-table tbody th{font-weight:400;text-align:left;width:120px;transition:transform .6s var(--ease-out);}
.xl-table tbody td{text-align:right;}
.xl-table tbody td i{font-style:normal;color:var(--muted);padding:0 .25em;}
.xl-table .xrow::after{left:0;}
@media (hover:hover){ .xl-table tbody tr:hover th{transform:translateX(10px);} }
.xl-intro{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;margin-bottom:40px;}
.xl-intro .xl-label{margin:0;align-self:start;}
.xl-intro__body{max-width:560px;justify-self:end;}
.xl-intro__body p{margin-top:16px;color:var(--muted);font-size:15px;line-height:1.5;}
.xl-cta{display:flex;justify-content:flex-end;margin-top:76px;}

/* rows reveal with a stagger (js adds --i and .is-in) */
html.js [data-xl-rows].is-armed .xrow,
html.js [data-xl-rows].is-armed > li{opacity:0;transform:translateY(24px);}
html.js [data-xl-rows].is-armed.is-in .xrow,
html.js [data-xl-rows].is-armed.is-in > li{opacity:1;transform:none;transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out),background-color .5s var(--ease-out);transition-delay:calc(var(--i,0) * .07s),calc(var(--i,0) * .07s),0s;}
html.js [data-xl-rows].is-armed.is-in > li .xrow{opacity:1;transform:none;}

/* ---------- 10 · pitanja (accordion) ---------- */
.faq__h{font:inherit;margin:0;}
.faq__q{cursor:pointer;color:inherit;}
.faq__icon{position:relative;flex:none;width:16px;height:16px;transition:transform .6s var(--ease-out);}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:0;top:50%;width:100%;height:1.2px;margin-top:-.6px;background:currentColor;}
.faq__icon::after{transform:rotate(90deg);}
.faq.is-open .faq__icon{transform:rotate(45deg);}
.faq__a{overflow:hidden;border-bottom:1px solid var(--line-strong);}
.faq__a p{padding:18px 12px 30px;max-width:780px;font-size:clamp(15px,1.15vw,17px);line-height:1.5;color:var(--muted);}
.xl-faq.is-ready .faq:not(.is-open) .faq__a{height:0;}
.xl-faq.is-ready .faq__a{border-bottom-color:transparent;transition:border-color .3s;}
.xl-faq.is-ready .faq.is-open .faq__q{border-bottom-color:transparent;}
.xl-faq.is-ready .faq.is-open .faq__a{border-bottom-color:var(--line-strong);}

/* ---------- 11 · galerija ---------- */
.gl{padding-top:150px;padding-bottom:110px;}
.gl__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;}
.gl__label{margin:0 0 10px;}
.gl__grid{columns:4;column-gap:14px;}
.gl__item{break-inside:avoid;margin-bottom:14px;overflow:hidden;background:var(--black-2);}
.gl__link{display:block;overflow:hidden;cursor:zoom-in;}
.gl__link img{width:100%;height:auto;transition:transform 1.6s var(--ease-out),filter .8s;}
@media (hover:hover){ .gl__link:hover img{transform:scale(1.06);} }
.gl__link:focus-visible{outline:1px solid var(--white);outline-offset:-1px;}
html.js .gl.is-ready .gl__item{clip-path:inset(100% 0 0 0);}
html.js .gl.is-ready .gl__item .gl__link{transform:scale(1.25);}
html.js .gl.is-ready .gl__item.is-in{clip-path:inset(0 0 0 0);transition:clip-path 1.3s var(--ease-expo);transition-delay:var(--d,0s);}
html.js .gl.is-ready .gl__item.is-in .gl__link{transform:none;transition:transform 1.8s var(--ease-out);transition-delay:var(--d,0s);}

/* lightbox */
.gl-box{position:fixed;inset:0;z-index:200;display:grid;place-items:center;}
.gl-box[hidden]{display:none;}
.gl-box__scrim{position:absolute;inset:0;background:rgba(22,21,22,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
.gl-box__fig{position:relative;margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;pointer-events:none;}
.gl-box__fig img{max-width:min(86vw,1400px);max-height:80vh;width:auto;height:auto;object-fit:contain;pointer-events:auto;}
.gl-box__cap{display:flex;gap:18px;font-size:12px;color:var(--muted);letter-spacing:-.01em;}
.gl-box__cap span:first-child{color:var(--white);font-variant-numeric:tabular-nums;}
.gl-box__btn{position:absolute;z-index:2;width:40px;height:40px;display:grid;place-items:center;background:var(--white);color:var(--black);border-radius:2px;transition:background .4s var(--ease-out),color .4s;}
.gl-box__btn:hover{background:var(--orange);color:var(--white);}
.gl-box__btn svg{width:18px;height:14px;}
.gl-box__btn--close{top:24px;right:var(--gutter);}
.gl-box__btn--close svg{width:14px;height:14px;}
.gl-box__btn--prev{left:var(--gutter);top:50%;margin-top:-20px;}
.gl-box__btn--next{right:var(--gutter);top:50%;margin-top:-20px;}

/* ---------- 12 · kontakt ---------- */
.ct{padding-top:24px;padding-bottom:120px;overflow:hidden;}
.ct__top{display:flex;align-items:flex-end;gap:28px;flex-wrap:wrap;}
.ct__kit{font-family:var(--serif);font-weight:400;font-size:clamp(46px,7vw,104px);line-height:.95;letter-spacing:-.03em;}
.ct__mail{font-size:14px;margin-bottom:.9em;}
.ct__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,450px);gap:48px;align-items:start;margin-top:190px;}
.ct__titlewrap{position:relative;font-size:clamp(60px,12.4vw,200px);}
.ct__title{position:relative;z-index:1;font-family:var(--serif);font-weight:400;font-size:1em;line-height:.98;letter-spacing:-.035em;text-transform:uppercase;}
.ct__line{display:block;white-space:nowrap;}
.ct__line--2{padding-left:1.12em;}
.ct__dot{position:absolute;z-index:0;width:.76em;height:.76em;border-radius:50%;background:var(--blue-bright);will-change:transform;}
.ct__dot--a{left:3.15em;top:.48em;}
.ct__dot--b{left:.37em;top:1.08em;}
.ct__note{position:relative;z-index:1;max-width:380px;margin-top:56px;font-size:15px;line-height:1.5;color:var(--muted);}
.ct__formwrap{padding-top:10px;}

.fld{position:relative;padding-top:20px;margin-bottom:10px;}
.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.fld__in{
  display:block;width:100%;background:none;border:0;border-radius:0;outline:0;
  color:var(--white);font:inherit;font-size:15px;letter-spacing:-.02em;
  padding:10px 22px 11px 0;min-height:44px;
  border-bottom:1px solid rgba(218,211,209,.55);
  -webkit-appearance:none;appearance:none;color-scheme:dark;
}
.fld__ta{resize:none;overflow:hidden;line-height:1.45;}
.fld__in[type=number]{-moz-appearance:textfield;}
.fld__in::-webkit-outer-spin-button,.fld__in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.fld__in[type=date]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer;filter:invert(.85);}
.fld__in[type=date]:invalid:not(:focus){color:var(--muted);}
.fld__lb{
  position:absolute;left:0;top:30px;font-size:15px;letter-spacing:-.02em;color:var(--white);
  transform-origin:0 0;pointer-events:none;
  transition:transform .55s var(--ease-out),color .4s;
}
.fld__in:focus + .fld__lb,
.fld__in:not(:placeholder-shown) + .fld__lb,
.fld--fixed .fld__lb{transform:translateY(-24px) scale(.8);color:var(--muted);}
.fld__req{position:absolute;right:2px;top:30px;width:5px;height:5px;border-radius:50%;background:var(--orange);}
.fld__ln{position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--white);transform:scaleX(0);transform-origin:0 50%;transition:transform .8s var(--ease-out),background .3s;}
.fld__in:focus ~ .fld__ln{transform:scaleX(1);}
.fld.is-invalid .fld__ln{transform:scaleX(1);background:var(--orange);}
.fld.is-invalid .fld__lb{color:var(--orange);}
.ct__err{min-height:1.4em;font-size:12px;color:var(--orange);}
.ct__submit{display:flex;justify-content:flex-end;margin-top:24px;}
.ct__done{padding-top:20px;}
.ct__done:focus{outline:0;}
.ct__done-h{font-family:var(--serif);font-size:clamp(48px,5vw,80px);line-height:1;letter-spacing:-.03em;}
.ct__done-t{font-size:clamp(20px,1.7vw,26px);letter-spacing:-.03em;margin-top:14px;}
.ct__done-s{margin-top:22px;font-size:14px;color:var(--muted);max-width:400px;}
.ct__done-s a{text-decoration:underline;text-underline-offset:2px;}
.ct__again{margin-top:28px;font-size:12px;}

@media (max-width:1024px){
  .xl-intro{grid-template-columns:1fr;}
  .xl-intro__body{justify-self:start;}
}
@media (max-width:767px){
  .xl-band{min-height:0;padding:12px var(--gutter) 46px;}
  .xl-band__btn{width:100%;}
  .xl{padding-top:96px;padding-bottom:80px;}
  .xl-label{margin-top:52px;font-size:12px;}
  .xrow{min-height:52px;padding:10px 0;font-size:20px;}
  .xrow__end{gap:14px;}
  .xrow__logo{height:20px;}
  .xrow__logo--sq{height:26px;}
  .xl-group{margin-top:56px;}
  .xl-table thead th{font-size:12px;}
  .xl-table tbody th{width:56px;font-size:20px;}
  .xl-table tbody td{font-size:16px;line-height:1.3;padding:14px 0;}
  .xl-table tbody td i{display:none;}
  .xl-table tbody td span{display:block;}
  .xl-cta{margin-top:40px;}
  .xl-cta .btn{width:100%;}
  .faq__a p{padding:12px 0 24px;}
  .gl{padding-top:96px;padding-bottom:80px;}
  .gl__head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:28px;}
  .gl__grid{columns:2;column-gap:8px;}
  .gl__item{margin-bottom:8px;}
  .gl-box__btn--prev,.gl-box__btn--next{top:auto;bottom:24px;margin-top:0;}
  .gl-box__fig img{max-width:calc(100vw - 32px);max-height:70vh;}
  .ct{padding-bottom:80px;}
  .ct__top{flex-direction:column;align-items:flex-start;gap:10px;}
  .ct__mail{margin:0;}
  .ct__grid{grid-template-columns:1fr;margin-top:80px;gap:56px;}
  .ct__titlewrap{font-size:16.4vw;}
  .ct__note{margin-top:32px;}
  .fld-row{grid-template-columns:1fr;gap:0;}
  .ct__submit .btn{width:100%;}
}

@media (prefers-reduced-motion:reduce){
  html.js .gl.is-ready .gl__item{clip-path:none;}
  html.js .gl.is-ready .gl__item .gl__link{transform:none;}
  html.js [data-xl-rows].is-armed .xrow,html.js [data-xl-rows].is-armed > li{opacity:1;transform:none;}
}

/* tablets (768–1023): not enough room for title + form side by side — stack them */
@media (min-width:768px) and (max-width:1023px){
  .ct__grid{grid-template-columns:1fr;gap:64px;margin-top:120px;}
  .ct__titlewrap{font-size:13.5vw;}
}

/* ==== 04-inner.css ==== */
/* =========================================================
   04 · inner pages (about, artist, media kit, project category,
   press, awards). Everything is prefixed .ip- so these pages can
   be mixed into the one-pager without clashing.
   ========================================================= */

/* ---------- shared bits ---------- */
.ip-crumbs{font-size:15px;gap:12px;}
.ip-crumbs > span[aria-hidden]{opacity:.9;}
.ip-crumbs [aria-current]{color:inherit;}
.ip-hero-head{position:relative;z-index:1;text-align:center;}
.ip-clip{position:relative;width:100%;height:100%;overflow:hidden;}
.ip-clip img{position:absolute;left:0;top:-7%;width:100%;height:114%;object-fit:cover;will-change:transform;}
html.js [data-ip-reveal] .ip-clip{clip-path:inset(100% 0 0 0);}
html.js [data-ip-reveal].is-shown .ip-clip{clip-path:inset(0 0 0 0);}
.ip-down{display:block;width:30px;height:34px;color:var(--white);}
.ip-down svg{width:100%;height:100%;}
.ip-down--bounce svg{animation:ip-bounce 2.2s var(--ease-in-out) infinite;}
@keyframes ip-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}

/* ---------- ABOUT · hero ---------- */
.ip-about-hero{
  --img-w:30.7vw;
  position:relative;background:var(--black);color:var(--white);
  padding-top:calc(var(--header-h) + 42px);
}
.ip-about-hero::after{ /* light band that the image lands on */
  content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--img-w) * .38);background:var(--white);
}
.ip-about-hero .ip-crumbs{margin-bottom:clamp(20px,3.4vw,50px);}
.ip-about-hero__title{font-size:clamp(84px,17.4vw,300px);white-space:nowrap;}
.ip-about-hero__media{
  position:relative;z-index:2;margin:calc(clamp(84px,17.4vw,300px) * -.36) auto 0;
  width:var(--img-w);aspect-ratio:2/3;
}

/* ---------- ABOUT · manifesto ---------- */
.ip-manifesto{padding:clamp(70px,7.6vw,110px) 0 0;}
.ip-manifesto__text{
  max-width:960px;margin:0 auto;text-align:center;
  font-family:var(--serif);font-size:clamp(28px,3.05vw,44px);line-height:1.02;letter-spacing:-.025em;
}
.ip-manifesto__text em{font-style:italic;color:var(--blue-bright);}
.ip-manifesto .ip-w{display:inline;}

/* ---------- ABOUT · two columns ---------- */
.ip-two-col{padding:clamp(60px,6.4vw,92px) 0 clamp(80px,8.6vw,124px);}
.ip-two-col__grid{
  display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(40px,8vw,116px);
  max-width:calc(920px + var(--gutter) * 2);margin:0 auto;
  font-size:clamp(14px,1.11vw,16px);line-height:1.5;letter-spacing:-.01em;
}
.ip-two-col__col p + p{margin-top:1.5em;}
.ip-two-col em{font-style:italic;}

/* ---------- ABOUT · founder portrait ---------- */
.ip-founder{padding:0 var(--gutter) clamp(90px,9vw,130px);}
.ip-founder__fig{margin:0 auto;width:clamp(240px,30.8vw,444px);text-align:center;}
.ip-founder__img{aspect-ratio:2/3;}
.ip-founder figcaption{display:flex;flex-direction:column;align-items:center;margin-top:18px;font-family:var(--serif);line-height:1.05;}
.ip-founder__name{font-style:italic;color:var(--blue-bright);font-size:clamp(26px,2.3vw,34px);letter-spacing:-.02em;}
.ip-founder__role{font-size:clamp(20px,1.7vw,25px);letter-spacing:-.02em;}

/* ---------- ARTIST · hero ---------- */
.ip-artist-hero{
  --img-w:30.7vw;
  position:relative;padding-top:calc(var(--header-h) + 136px);padding-bottom:calc(var(--img-w) * .17 + 60px);
}
.ip-artist-hero .ip-crumbs{margin-bottom:22px;}
.ip-artist-hero .ip-crumbs a{color:rgba(218,211,209,.62);}
.ip-artist-hero .ip-crumbs a:hover{color:var(--white);}
.ip-artist-hero__title{
  font-family:var(--serif);text-transform:uppercase;white-space:nowrap;
  font-size:clamp(58px,13vw,200px);line-height:1;letter-spacing:-.035em;margin-top:-.1em;
}
.ip-artist-hero__media{position:relative;z-index:2;margin:calc(clamp(58px,13vw,200px) * .02) auto 0;width:var(--img-w);aspect-ratio:2/3;}
.ip-artist-hero .ip-down{position:absolute;left:50%;bottom:calc(var(--img-w) * .17 - 4px);margin-left:-15px;}

/* ---------- ARTIST · works grid ---------- */
.ip-works{background:var(--black);padding:58px var(--gutter) 0;}
.ip-works__grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:38px;
  max-width:1162px;margin:0 auto;
}
.ip-work{
  --w:calc((100% - 38px * 3) / 4);
  flex:0 0 var(--w);aspect-ratio:262/391;display:grid;place-items:center;padding:8px;
  background:#121112;border:1px solid rgba(218,211,209,.1);overflow:hidden;
  transition:transform .7s var(--ease-out),border-color .5s,background .5s;
}
.ip-work img{max-width:100%;max-height:100%;object-fit:contain;transition:transform 1s var(--ease-out);}
.ip-work:hover{transform:translateY(-8px);border-color:rgba(218,211,209,.28);background:#1b1a1b;}
.ip-work:hover img{transform:scale(1.05);}

/* ---------- ARTIST · bio ---------- */
.ip-bio{background:var(--black);padding:clamp(60px,5.2vw,76px) var(--gutter) clamp(80px,7.6vw,110px);}
.ip-bio__grid{
  display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(30px,3.2vw,46px);
  max-width:932px;margin:0 auto;font-size:clamp(14px,1.04vw,15px);line-height:1.33;letter-spacing:-.025em;
}

/* ---------- MEDIA KIT / PRESS / AWARDS · blue hero ---------- */
.ip-blue-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:calc(var(--header-h) + 20px) 0 120px;}
.ip-blue-hero__inner{display:flex;flex-direction:column;align-items:center;text-align:center;}
.ip-blue-hero .ip-crumbs a{color:rgba(218,211,209,.5);}
.ip-blue-hero .ip-crumbs a:hover{color:var(--white);}
.ip-blue-hero .ip-crumbs{margin-bottom:clamp(18px,2.4vw,34px);}
.ip-blue-hero__title{font-size:clamp(80px,17.4vw,300px);white-space:nowrap;}
.ip-blue-hero__text{max-width:430px;margin-top:clamp(36px,4.2vw,60px);font-size:clamp(13px,1.04vw,15px);line-height:1.33;letter-spacing:-.02em;}
.ip-blue-hero .ip-down{position:absolute;left:50%;bottom:clamp(40px,6.2vh,56px);margin-left:-15px;}

/* ---------- MEDIA KIT · uploads ---------- */
.ip-uploads{background:var(--black);padding:clamp(110px,9.6vw,140px) 0 clamp(110px,9.6vw,140px);}
.ip-uploads__title{font-family:var(--serif);font-size:clamp(52px,7.7vw,112px);line-height:.95;letter-spacing:-.035em;}
.ip-uploads__row{
  display:grid;grid-template-columns:repeat(5,1fr);gap:8px;
  padding:0 var(--gutter);margin-top:clamp(50px,5.6vw,80px);
}
.ip-upload__media{position:relative;display:block;aspect-ratio:267/346;overflow:hidden;background:var(--black-2);transition:transform .8s var(--ease-out);}
.ip-upload__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out);}
.ip-upload__media--logo .ip-upload__bg{position:absolute;inset:-12%;width:124%;height:124%;filter:blur(26px) brightness(.75);}
.ip-upload__media--logo .ip-upload__logo{position:absolute;left:50%;top:50%;width:30%;height:auto;transform:translate(-50%,-50%);transition:transform 1.2s var(--ease-out);}
.ip-upload:hover .ip-upload__media{transform:translateY(-6px);}
.ip-upload:hover .ip-upload__media img{transform:scale(1.07);}
.ip-upload:hover .ip-upload__media--logo .ip-upload__logo{transform:translate(-50%,-50%) scale(1.12);}
.ip-upload__title{font-family:var(--serif);font-size:clamp(26px,2.4vw,34px);line-height:1;letter-spacing:-.03em;margin-top:clamp(18px,1.9vw,28px);}
.ip-upload__link{margin-top:10px;font-size:14px;letter-spacing:-.02em;}

/* ---------- PROJECT CATEGORY · coming soon ---------- */
.ip-soon{position:relative;height:100vh;height:100svh;min-height:520px;overflow:hidden;color:var(--white);}
.ip-soon__bg{position:absolute;inset:0;background:var(--black);}
.ip-soon__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,21,22,.18),rgba(22,21,22,.12) 45%,rgba(22,21,22,.85));}
.ip-soon__bg img{width:100%;height:100%;object-fit:cover;filter:blur(38px) saturate(1.05);transform:scale(1.22);animation:ip-kenburns 14s var(--ease-out) forwards;}
@keyframes ip-kenburns{
  0%{filter:blur(48px) saturate(1.05);transform:scale(1.26) translate3d(0,0,0);}
  100%{filter:blur(26px) saturate(1.05);transform:scale(1.12) translate3d(-1.5%,-1%,0);}
}
.ip-soon__crumbs{position:absolute;top:calc(var(--header-h) + 34px);left:var(--gutter);justify-content:flex-start;}
.ip-soon__crumbs a{color:rgba(218,211,209,.6);}
.ip-soon__msg{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;text-transform:uppercase;font-size:clamp(15px,1.5vw,22px);letter-spacing:-.02em;opacity:.85;}
.ip-soon__title,.ip-soon__idx{position:absolute;bottom:clamp(30px,4.2vw,38px);font-family:var(--sans);font-size:clamp(17px,1.6vw,23px);letter-spacing:-.02em;line-height:1;}
.ip-soon__title{left:var(--gutter);text-transform:uppercase;}
.ip-soon__idx{right:var(--gutter);}
html.js .ip-soon__crumbs,html.js .ip-soon__msg,html.js .ip-soon__title,html.js .ip-soon__idx{opacity:0;}
.ip-soon.is-in .ip-soon__crumbs,.ip-soon.is-in .ip-soon__msg,.ip-soon.is-in .ip-soon__title,.ip-soon.is-in .ip-soon__idx{opacity:1;transition:opacity 1.4s var(--ease-out);}
.ip-soon.is-in .ip-soon__msg{opacity:.85;transition-delay:.35s;}
.ip-soon.is-in .ip-soon__title,.ip-soon.is-in .ip-soon__idx{transition-delay:.6s;}

/* ---------- PRESS / AWARDS · dark list ---------- */
.ip-list{background:var(--black);padding:clamp(90px,8vw,120px) 0 clamp(100px,9vw,130px);}
.ip-list__head{margin-bottom:clamp(40px,4.4vw,64px);}
.ip-list__label{font-size:15px;letter-spacing:-.02em;padding-bottom:14px;}
.ip-list__label:not(:first-of-type){margin-top:clamp(56px,4.6vw,66px);}
.ip-list__rows{border-bottom:1px solid var(--line-strong);}
.ip-row{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:56px;padding:8px 12px;border-top:1px solid var(--line-strong);
  font-size:clamp(22px,2.08vw,30px);line-height:1.1;letter-spacing:-.035em;
  transition:padding .6s var(--ease-out),background .5s;
}
.ip-row__t span{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .7s var(--ease-out);padding-bottom:2px;}
.ip-row:hover{padding-left:20px;}
.ip-row:hover .ip-row__t span{background-size:100% 1px;}
.ip-ne{flex:none;width:16px;height:16px;transition:transform .5s var(--ease-out);}
.ip-row:hover .ip-ne{transform:translate(3px,-3px);}
.ip-row[data-todo="placeholder"]{color:var(--muted);}

.ip-table{width:100%;border-collapse:collapse;}
.ip-table thead th{font-size:15px;font-weight:400;letter-spacing:-.02em;text-align:left;padding:0 0 14px;}
.ip-table thead th:last-child{text-align:right;}
.ip-table tbody th,.ip-table tbody td{
  border-top:1px solid var(--line-strong);padding:10px 0 12px;
  font-size:clamp(22px,2.08vw,30px);font-weight:400;line-height:1.1;letter-spacing:-.035em;vertical-align:middle;
}
.ip-table tbody th{text-align:left;width:12%;}
.ip-table tbody td{text-align:right;}
.ip-table tbody tr:last-child > *{border-bottom:1px solid var(--line-strong);}
.ip-table tbody tr{transition:color .4s;}
.ip-table tbody tr:hover{color:var(--orange);}
.ip-table .ip-table__group th{
  border-top:0;font-size:15px;line-height:1.2;letter-spacing:-.02em;text-align:left;width:auto;
  padding:clamp(48px,4.4vw,64px) 0 14px;color:var(--muted);
}
.ip-table tbody:first-of-type .ip-table__group th{padding-top:22px;}
.ip-table tbody tr.ip-table__group:hover{color:inherit;}

/* ---------- mobile ---------- */
@media (max-width:767px){
  .ip-crumbs{font-size:13px;gap:8px;}
  .ip-about-hero{--img-w:70vw;padding-top:calc(var(--header-h) + 66px);}
  .ip-about-hero__title{font-size:22.5vw;}
  .ip-about-hero__media{margin-top:-8vw;}
  .ip-two-col__grid{grid-template-columns:1fr;row-gap:1.6em;max-width:none;}
  .ip-founder__fig{width:70vw;}

  .ip-artist-hero{--img-w:70vw;padding-top:calc(var(--header-h) + 76px);padding-bottom:calc(var(--img-w) * .17 + 40px);}
  .ip-artist-hero__title{font-size:14.5vw;}
  .ip-artist-hero__media{margin-top:2vw;}
  .ip-works{padding-top:40px;}
  .ip-works__grid{gap:20px;}
  .ip-work{--w:78%;}
  .ip-bio__grid{grid-template-columns:1fr;row-gap:1.3em;}

  .ip-blue-hero__title{font-size:25vw;white-space:normal;}
  .ip-blue-hero[data-wrap] .ip-blue-hero__title{line-height:.86;}

  .ip-uploads__row{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;
    scroll-padding-inline:var(--gutter);padding-bottom:6px;scrollbar-width:none;
  }
  .ip-uploads__row::-webkit-scrollbar{display:none;}
  .ip-upload{flex:0 0 74vw;scroll-snap-align:start;}

  .ip-row{min-height:0;padding:12px 0;align-items:center;}
  .ip-row:hover{padding-left:0;}
  .ip-table tbody th{width:22%;vertical-align:top;}
  .ip-table tbody td{text-align:left;}
  .ip-table thead th:last-child{text-align:left;}
  .ip-soon__crumbs{top:calc(var(--header-h) + 24px);}
}

@media (prefers-reduced-motion:reduce){
  html.js [data-ip-reveal] .ip-clip{clip-path:none;}
  .ip-soon__bg img{animation:none;filter:blur(30px);transform:scale(1.15);}
  html.js .ip-soon__crumbs,html.js .ip-soon__msg,html.js .ip-soon__title,html.js .ip-soon__idx{opacity:1;}
}

/* hero titles stay hidden until core.js has split them (avoids a flash of the unsplit title) */
html.js [data-ip-hero] [data-split]{visibility:hidden;}
html.js [data-ip-hero] [data-split].ip-ready{visibility:visible;}
