/* ============================================================
   IB DESIGN SYSTEM — ib-tokens.css
   Ivan Badanjak · v1.0
   ============================================================ */

:root {
  --ib-bg:          #f2f2f2;
  --ib-ink:         #151515;
  --ib-ink-muted:   rgba(21, 21, 21, 0.56);
  --ib-ink-faint:   rgba(21, 21, 21, 0.16);
  --ib-line:        rgba(21, 21, 21, 0.16);
  --ib-line-mid:    rgba(21, 21, 21, 0.22);
  --ib-white:       #ffffff;
  --ib-black:       #000000;
  --ib-accent-cyan:    #10d5ff;
  --ib-accent-purple:  #6236ff;
  --ib-accent-pink:    #ff149d;
  --ib-accent-blue:    #2388ff;
  --ib-accent-orange:  #ff7a18;
  --ib-font:                 Arial, Helvetica, sans-serif;
  --ib-font-weight-regular:  400;
  --ib-font-weight-medium:   500;
  --ib-font-weight-bold:     700;
  --ib-font-weight-black:    900;
  --ib-space-2:    2px;
  --ib-space-4:    4px;
  --ib-space-8:    8px;
  --ib-space-12:   12px;
  --ib-space-16:   16px;
  --ib-space-20:   20px;
  --ib-space-24:   24px;
  --ib-space-28:   28px;
  --ib-space-32:   32px;
  --ib-space-40:   40px;
  --ib-space-48:   48px;
  --ib-space-56:   56px;
  --ib-space-64:   64px;
  --ib-space-80:   80px;
  --ib-space-96:   96px;
  --ib-page-x:     48px;
  --ib-page-x-md:  32px;
  --ib-page-x-sm:  22px;
  --ib-section-gap:    clamp(48px, 6vw, 96px);
  --ib-section-gap-sm: clamp(32px, 4vw, 56px);
  --ib-radius-sm:   11px;
  --ib-radius-md:   18px;
  --ib-radius-lg:   clamp(22px, 2.2vw, 34px);
  --ib-radius-xl:   clamp(28px, 2.8vw, 42px);
  --ib-radius-pill: 999px;
  --ib-shadow-sm: 0 8px 24px rgba(21,21,21,0.06), inset 0 1px 0 rgba(255,255,255,0.42);
  --ib-shadow-md: 0 16px 54px rgba(21,21,21,0.08), inset 0 1px 0 rgba(255,255,255,0.48);
  --ib-shadow-lg: 0 22px 72px rgba(21,21,21,0.10), inset 0 1px 0 rgba(255,255,255,0.52);
  --ib-shadow-header: 0 1px 0 rgba(21,21,21,0.16), 0 22px 68px rgba(21,21,21,0.08), inset 0 1px 0 rgba(255,255,255,0.42);
  --ib-blur-sm: blur(28px) saturate(1.6) contrast(1.02);
  --ib-blur-md: blur(42px) saturate(1.8) contrast(1.04);
  --ib-blur-lg: blur(56px) saturate(1.7) contrast(1.04);
  --ib-z-base:     1;
  --ib-z-card:     2;
  --ib-z-dropdown: 10000;
  --ib-z-header:   999999;
  --ib-z-cookie:   9999999;
  --ib-ease:     cubic-bezier(0.22, 1, 0.36, 1);
  --ib-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ib-t-fast:   180ms;
  --ib-t-base:   260ms;
  --ib-t-slow:   360ms;
  --ib-t-xslow:  520ms;
  --ib-cat-print:   #ff7a18;
  --ib-cat-brand:   #10d5ff;
  --ib-cat-digital: #2388ff;
  --ib-cat-fashion: #ff149d;
}

body.ib-noir {
  --ib-bg:        #151515;
  --ib-ink:       #f2f2f2;
  --ib-ink-muted: rgba(242, 242, 242, 0.56);
  --ib-ink-faint: rgba(242, 242, 242, 0.16);
  --ib-line:      rgba(242, 242, 242, 0.16);
  --ib-line-mid:  rgba(242, 242, 242, 0.22);
  --ib-shadow-sm: 0 8px 24px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.06);
  --ib-shadow-md: 0 16px 54px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.08);
  --ib-shadow-lg: 0 22px 72px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.10);
}

*, *::before, *::after { box-sizing: border-box; }

html { font-size: 16px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  margin: 0; padding: 0;
  background: var(--ib-bg);
  color: var(--ib-ink);
  font-family: var(--ib-font);
  -webkit-font-smoothing: antialiased;
  transition: background var(--ib-t-base) ease, color var(--ib-t-base) ease;
}

.ib-page { width: 100%; min-height: 100dvh; background: var(--ib-bg); color: var(--ib-ink); }

.ib-container { width: 100%; padding-left: var(--ib-page-x); padding-right: var(--ib-page-x); }
@media (max-width: 1023px) { .ib-container { padding-left: var(--ib-page-x-md); padding-right: var(--ib-page-x-md); } }
@media (max-width: 767px)  { .ib-container { padding-left: var(--ib-page-x-sm); padding-right: var(--ib-page-x-sm); } }

.ib-section { width: 100%; padding-top: var(--ib-section-gap); padding-bottom: var(--ib-section-gap); }
.ib-section--sm           { padding-top: var(--ib-section-gap-sm); padding-bottom: var(--ib-section-gap-sm); }
.ib-section--flush-top    { padding-top: 0; }
.ib-section--flush-bottom { padding-bottom: 0; }

h1,h2,h3,h4,h5,h6 { margin:0; padding:0; font-family: var(--ib-font); color: var(--ib-ink); }
p { margin:0; padding:0; }

.ib-title-mega  { font-size: clamp(76px,13.6vw,214px);  line-height:0.78; font-weight:var(--ib-font-weight-bold);   letter-spacing:-0.09em;  text-transform:uppercase; color:var(--ib-ink); }
.ib-title-page  { font-size: clamp(58px,7.2vw,132px);   line-height:0.84; font-weight:var(--ib-font-weight-bold);   letter-spacing:-0.085em; text-transform:uppercase; color:var(--ib-ink); }
.ib-title-section{ font-size: clamp(34px,3.3vw,56px);   line-height:0.86; font-weight:var(--ib-font-weight-bold);   letter-spacing:-0.08em;  text-transform:uppercase; color:var(--ib-ink); }
.ib-title-card  { font-size: clamp(34px,3.3vw,56px);    line-height:0.86; font-weight:var(--ib-font-weight-bold);   letter-spacing:-0.08em;  text-transform:uppercase; color:rgba(242,242,242,0.94); }
.ib-text-lead   { font-size: clamp(24px,2.15vw,36px);   line-height:1.03; font-weight:var(--ib-font-weight-medium); letter-spacing:-0.045em; color:var(--ib-ink); }
.ib-text-body   { font-size: clamp(14px,0.94vw,17px);   line-height:1.34; font-weight:var(--ib-font-weight-regular);letter-spacing:-0.035em; color:var(--ib-ink); }
.ib-text-sm     { font-size: clamp(13px,0.9vw,16px);    line-height:1.2;  font-weight:var(--ib-font-weight-medium); letter-spacing:-0.018em; color:var(--ib-ink-muted); }
.ib-text-label  { font-size: clamp(11px,0.85vw,13px);   line-height:1;    font-weight:var(--ib-font-weight-regular);letter-spacing:0.19em;   text-transform:uppercase; color:var(--ib-ink-muted); }

@media (max-width:767px) {
  .ib-title-mega   { font-size: clamp(54px,19.5vw,96px); }
  .ib-title-page   { font-size: clamp(34px,10.2vw,46px); line-height:0.9; letter-spacing:-0.075em; }
  .ib-text-lead    { font-size: clamp(15px,4.2vw,18px);  line-height:1.08; letter-spacing:-0.035em; }
}

.ib-ticker { width:100%; overflow:hidden; white-space:nowrap; font-size:clamp(11px,0.85vw,13px); line-height:1; font-weight:var(--ib-font-weight-regular); letter-spacing:0.19em; text-transform:uppercase; color:var(--ib-ink-muted); }
.ib-ticker__track { display:inline-flex; width:max-content; white-space:nowrap; animation:ibTickerLoop 22s linear infinite; will-change:transform; }
.ib-ticker__track span { flex:0 0 auto; display:inline-block; padding-right:7px; }
@keyframes ibTickerLoop { 0%{transform:translateX(0)} 100%{transform:translateX(-25%)} }
@media (max-width:767px) { .ib-ticker{font-size:11px;letter-spacing:0.16em} .ib-ticker__track{animation-duration:18s} }

.ib-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:58px; padding:0 24px;
  border:1px solid var(--ib-line-mid); border-radius:var(--ib-radius-pill);
  background:rgba(255,255,255,0.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.52),0 10px 28px rgba(21,21,21,0.035);
  font-family:var(--ib-font); font-size:12px; line-height:1; font-weight:var(--ib-font-weight-bold);
  letter-spacing:0.12em; text-transform:uppercase; text-decoration:none; white-space:nowrap;
  color:var(--ib-ink); cursor:pointer; -webkit-tap-highlight-color:transparent; outline:none;
  transition:background var(--ib-t-fast) ease,color var(--ib-t-fast) ease,border-color var(--ib-t-fast) ease,box-shadow var(--ib-t-base) ease,transform var(--ib-t-base) var(--ib-ease);
}
.ib-btn:hover { border-color:var(--ib-line-mid); background:rgba(255,255,255,0.62); box-shadow:inset 0 1px 0 rgba(255,255,255,0.72),0 14px 34px rgba(21,21,21,0.055); transform:translateY(-1px); }
.ib-btn:focus-visible { outline:2px solid var(--ib-ink); outline-offset:3px; }
.ib-btn:disabled,.ib-btn[aria-disabled="true"] { opacity:0.38; pointer-events:none; }
.ib-btn--solid { background:var(--ib-ink); border-color:var(--ib-ink); color:var(--ib-bg); box-shadow:none; }
.ib-btn--solid:hover { background:var(--ib-black); border-color:var(--ib-black); color:var(--ib-white); transform:translateY(-1px); }
.ib-btn--ghost { background:transparent; border-color:var(--ib-line-mid); color:var(--ib-ink); box-shadow:none; }
.ib-btn--ghost:hover { border-color:rgba(21,21,21,0.52); background:transparent; }
@media (min-width:1024px) { .ib-btn--wide { width:220px; min-width:220px; max-width:220px; } }
@media (max-width:767px)  { .ib-btn{min-height:58px;padding:0 34px;font-size:13px;letter-spacing:0.12em} .ib-btn--full-mobile{width:100%;min-height:46px} }
body.ib-noir .ib-btn            { border-color:rgba(242,242,242,0.78); background:transparent; color:var(--ib-ink); box-shadow:none; }
body.ib-noir .ib-btn:hover      { background:var(--ib-ink); border-color:var(--ib-ink); color:var(--ib-bg); }
body.ib-noir .ib-btn--solid     { background:var(--ib-ink); border-color:var(--ib-ink); color:var(--ib-bg); }
body.ib-noir .ib-btn--solid:hover{ background:var(--ib-white); border-color:var(--ib-white); color:var(--ib-black); }
body.ib-noir .ib-btn--ghost     { border-color:rgba(242,242,242,0.26); }
body.ib-noir .ib-btn--ghost:hover{ border-color:rgba(242,242,242,0.56); }

.ib-pill {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:clamp(38px,3vw,52px); padding:0 clamp(18px,1.8vw,28px);
  border:1px solid var(--ib-line-mid); border-radius:var(--ib-radius-pill);
  font-size:clamp(10px,0.78vw,13px); line-height:1; font-weight:var(--ib-font-weight-black);
  letter-spacing:0.11em; text-transform:uppercase; white-space:nowrap;
  color:var(--ib-ink); background:rgba(242,242,242,0.42);
}
.ib-pill--meta { font-size:clamp(11px,0.72vw,13px); font-weight:var(--ib-font-weight-black); letter-spacing:0.13em; background:transparent; border-color:var(--ib-line); color:var(--ib-ink); }
body.ib-noir .ib-pill { border-color:rgba(242,242,242,0.26); background:rgba(242,242,242,0.045); color:var(--ib-ink); }

.ib-glass {
  border:1px solid var(--ib-line); border-radius:var(--ib-radius-lg);
  background:linear-gradient(180deg,rgba(255,255,255,0.34) 0%,rgba(255,255,255,0.10) 100%);
  backdrop-filter:var(--ib-blur-md); -webkit-backdrop-filter:var(--ib-blur-md); box-shadow:var(--ib-shadow-md);
}
.ib-glass--subtle { background:linear-gradient(180deg,rgba(242,242,242,0.62) 0%,rgba(242,242,242,0.42) 100%); backdrop-filter:var(--ib-blur-sm); -webkit-backdrop-filter:var(--ib-blur-sm); box-shadow:var(--ib-shadow-sm); }
.ib-glass--xl     { border-radius:var(--ib-radius-xl); backdrop-filter:var(--ib-blur-lg); -webkit-backdrop-filter:var(--ib-blur-lg); box-shadow:var(--ib-shadow-lg); }
body.ib-noir .ib-glass        { border-color:rgba(242,242,242,0.16); background:linear-gradient(180deg,rgba(242,242,242,0.06) 0%,rgba(242,242,242,0.02) 100%); box-shadow:var(--ib-shadow-lg); }
body.ib-noir .ib-glass--subtle{ background:linear-gradient(180deg,rgba(242,242,242,0.16) 0%,rgba(242,242,242,0.075) 100%); }

.ib-card-grid { display:grid; gap:clamp(14px,1.5vw,22px); }
.ib-card-grid--1 { grid-template-columns:minmax(0,1fr); }
.ib-card-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ib-card-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ib-card-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (min-width:768px) and (max-width:1023px) { .ib-card-grid--4,.ib-card-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:767px) { .ib-card-grid--2,.ib-card-grid--3,.ib-card-grid--4{grid-template-columns:minmax(0,1fr)} }

.ib-card {
  position:relative; overflow:hidden; isolation:isolate; display:block;
  aspect-ratio:1/1; min-height:clamp(260px,23vw,380px);
  border-radius:var(--ib-radius-lg); background:#151515; color:#f2f2f2;
  text-decoration:none; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.14);
  -webkit-tap-highlight-color:transparent;
}
.ib-card:focus-visible { outline:2px solid var(--ib-ink); outline-offset:3px; }
.ib-card__media { position:absolute; inset:0; z-index:0; overflow:hidden; }
.ib-card__media img,.ib-card__media video {
  display:block; width:100%; height:100%; object-fit:cover;
  transform:scale(1.02); filter:grayscale(0.12) contrast(1.04) saturate(0.92);
  transition:transform 900ms var(--ib-ease),filter 900ms var(--ib-ease);
}
.ib-card::after {
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(155deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.04) 28%,rgba(0,0,0,0.16) 48%,rgba(0,0,0,0.46) 72%,rgba(0,0,0,0.86) 100%);
  transition:background 420ms ease;
}
.ib-card__content { position:relative; z-index:2; width:100%; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(20px,1.8vw,30px); }
.ib-card__title {
  margin:0 0 clamp(18px,1.8vw,28px); font-size:clamp(34px,3.3vw,56px);
  line-height:0.86; font-weight:var(--ib-font-weight-bold); letter-spacing:-0.08em;
  text-transform:uppercase; color:rgba(242,242,242,0.94); -webkit-text-fill-color:currentColor;
  transition:color var(--ib-t-fast) ease,-webkit-text-stroke var(--ib-t-fast) ease;
}
.ib-card__links { display:block; width:100%; }
.ib-card__link {
  display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%;
  padding:12px 0; border-top:1px solid rgba(242,242,242,0.26);
  font-size:clamp(13px,0.98vw,16px); line-height:1.1; font-weight:var(--ib-font-weight-regular);
  letter-spacing:-0.018em; color:rgba(242,242,242,0.72); text-decoration:none;
  transition:color var(--ib-t-fast) ease,border-color var(--ib-t-fast) ease;
}
.ib-card__link:last-child { border-bottom:1px solid rgba(242,242,242,0.18); }
.ib-card__link:hover { color:#ffffff; border-color:rgba(242,242,242,0.52); }
.ib-card__arrow {
  position:relative; display:inline-block; width:15px; height:15px; flex:0 0 15px;
  margin-left:10px; opacity:0.74; transform:translateX(0) translateY(1px);
  transition:opacity var(--ib-t-fast) ease,transform var(--ib-t-base) var(--ib-ease-out);
}
.ib-card__arrow span { position:absolute; display:block; background:currentColor; border-radius:var(--ib-radius-pill); }
.ib-card__arrow span:nth-child(1){right:0;top:1px;width:11px;height:1px;transition:opacity 150ms ease,transform 220ms var(--ib-ease-out)}
.ib-card__arrow span:nth-child(2){right:0;top:1px;width:1px;height:11px;transition:opacity 150ms ease,transform 220ms var(--ib-ease-out)}
.ib-card__arrow span:nth-child(3),.ib-card__arrow span:nth-child(4){right:0;top:50%;width:11px;height:1px;opacity:0;transform-origin:right center;transition:opacity 170ms ease 60ms,transform 240ms var(--ib-ease-out)}
.ib-card__arrow span:nth-child(3){transform:translateY(-50%) rotate(45deg)}
.ib-card__arrow span:nth-child(4){transform:translateY(-50%) rotate(-45deg)}
.ib-card__link:hover .ib-card__arrow{opacity:1;transform:translateX(3px) translateY(1px)}
.ib-card__link:hover .ib-card__arrow span:nth-child(1){opacity:0;transform:translateX(2px)}
.ib-card__link:hover .ib-card__arrow span:nth-child(2){opacity:0;transform:translateY(2px)}
.ib-card__link:hover .ib-card__arrow span:nth-child(3),.ib-card__link:hover .ib-card__arrow span:nth-child(4){opacity:1}
.ib-card:hover .ib-card__media img,.ib-card:hover .ib-card__media video{transform:scale(1.08);filter:grayscale(0) contrast(1.08) saturate(1.02)}
.ib-card:hover::after{background:linear-gradient(155deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.03) 26%,rgba(0,0,0,0.14) 46%,rgba(0,0,0,0.50) 72%,rgba(0,0,0,0.90) 100%)}
.ib-card:hover .ib-card__title{color:transparent;-webkit-text-stroke:1.15px rgba(255,255,255,0.96);-webkit-text-fill-color:transparent}
@media (min-width:768px) and (max-width:1023px){.ib-card{aspect-ratio:1/1;min-height:clamp(300px,44vw,440px)}.ib-card__title{font-size:clamp(34px,6vw,58px)}.ib-card__link{font-size:clamp(14px,2vw,17px)}}
@media (max-width:767px){.ib-card{aspect-ratio:1/1.05;min-height:320px;border-radius:24px}.ib-card__content{padding:22px}.ib-card__title{font-size:clamp(38px,12vw,58px)}.ib-card__link{font-size:15px}}
body.ib-noir .ib-card{box-shadow:inset 0 0 0 1px rgba(242,242,242,0.14),0 24px 80px rgba(0,0,0,0.26)}

.ib-grid{display:grid;gap:clamp(28px,4vw,64px);align-items:start}
.ib-grid--2      {grid-template-columns:repeat(2,minmax(0,1fr))}
.ib-grid--3      {grid-template-columns:repeat(3,minmax(0,1fr))}
.ib-grid--split  {grid-template-columns:minmax(0,1fr) minmax(360px,0.72fr);align-items:end}
.ib-grid--contact{grid-template-columns:minmax(280px,0.82fr) minmax(0,1.18fr)}
@media (min-width:768px) and (max-width:1023px){.ib-grid--split,.ib-grid--contact{grid-template-columns:1fr}.ib-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.ib-grid--2,.ib-grid--3,.ib-grid--split,.ib-grid--contact{grid-template-columns:1fr}}

.ib-media{display:block;width:100%;overflow:hidden;border-radius:var(--ib-radius-lg);background:var(--ib-ink-faint)}
.ib-media img,.ib-media video{display:block;width:100%;height:100%}
.ib-media--cover img,.ib-media--cover video{object-fit:cover}
.ib-media--contain img,.ib-media--contain video{object-fit:contain}
.ib-media--ratio-1x1{aspect-ratio:1/1}.ib-media--ratio-4x3{aspect-ratio:4/3}.ib-media--ratio-16x9{aspect-ratio:16/9}.ib-media--ratio-3x4{aspect-ratio:3/4}
.ib-gallery{display:grid;gap:clamp(10px,1.2vw,18px)}
.ib-gallery--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ib-gallery--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ib-gallery--masonry{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:10px}
@media (max-width:767px){.ib-gallery--2,.ib-gallery--3,.ib-gallery--masonry{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:479px){.ib-gallery--3,.ib-gallery--masonry{grid-template-columns:minmax(0,1fr)}}

.ib-form{display:block;width:100%}
.ib-field{display:block;width:100%;margin-bottom:clamp(22px,2.5vw,36px);color:var(--ib-ink-muted)}
.ib-field__label{display:block;margin-bottom:10px;font-size:clamp(16px,1.25vw,21px);line-height:1;font-weight:var(--ib-font-weight-regular);letter-spacing:-0.03em;color:var(--ib-ink-muted)}
.ib-field__label em{font-style:normal;color:rgba(21,21,21,0.46)}
body.ib-noir .ib-field__label em{color:rgba(242,242,242,0.42)}
.ib-field__input{
  -webkit-appearance:none;appearance:none;display:block;width:100%;margin:0;padding:0 18px;min-height:56px;
  border:1px solid transparent;border-radius:var(--ib-radius-md);
  background:linear-gradient(#fbfbfb,#fbfbfb) padding-box,linear-gradient(90deg,rgba(21,21,21,0.16) 0%,rgba(21,21,21,0.08) 100%) border-box;
  font-family:var(--ib-font);font-size:18px;line-height:1.2;font-weight:var(--ib-font-weight-regular);color:var(--ib-ink);
  outline:none;box-shadow:none;resize:vertical;
  transition:transform var(--ib-t-fast) ease,box-shadow var(--ib-t-base) ease,background var(--ib-t-base) ease;
}
textarea.ib-field__input{min-height:118px;padding-top:22px;padding-bottom:20px;line-height:1.35}
.ib-field__input::placeholder{color:rgba(21,21,21,0.38)}
.ib-field__input:focus,.ib-field__input:focus-visible{
  border-color:transparent;
  background:linear-gradient(#fbfbfb,#fbfbfb) padding-box,linear-gradient(90deg,#10d5ff 0%,#6236ff 32%,#ff149d 66%,#10d5ff 100%) border-box;
  background-size:100% 100%,220% 100%;animation:ibFormGradientStroke 3.2s linear infinite;
  box-shadow:0 12px 28px rgba(21,21,21,0.08);transform:translateY(-1px);outline:none;
}
@keyframes ibFormGradientStroke{0%{background-position:0% 50%,0% 50%}100%{background-position:0% 50%,220% 50%}}
.ib-form__footer{display:flex;align-items:center;gap:clamp(18px,2.5vw,42px);margin-top:clamp(20px,2.5vw,34px)}
.ib-form__note{font-size:clamp(12px,0.8vw,14px);line-height:1.3;color:var(--ib-ink-muted)}
@media (max-width:767px){.ib-form__footer{display:block;margin-top:22px}.ib-form__note{margin-top:14px;text-align:center}.ib-field__label{font-size:18px}}
body.ib-noir .ib-field__input{background:linear-gradient(#1e1e1e,#1e1e1e) padding-box,linear-gradient(90deg,rgba(242,242,242,0.16) 0%,rgba(242,242,242,0.08) 100%) border-box;color:var(--ib-ink)}
body.ib-noir .ib-field__input::placeholder{color:rgba(242,242,242,0.38)}
body.ib-noir .ib-field__input:focus{background:linear-gradient(#1e1e1e,#1e1e1e) padding-box,linear-gradient(90deg,#10d5ff 0%,#6236ff 32%,#ff149d 66%,#10d5ff 100%) border-box;background-size:100% 100%,220% 100%;box-shadow:0 12px 28px rgba(0,0,0,0.28)}

.ib-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ib-hidden{display:none !important}.ib-hidden-mobile{display:block}.ib-hidden-desktop{display:none}
@media (max-width:767px){.ib-hidden-mobile{display:none !important}.ib-hidden-desktop{display:block !important}}
.ib-mt-0{margin-top:0 !important}.ib-mt-sm{margin-top:var(--ib-space-16) !important}.ib-mt-md{margin-top:var(--ib-space-32) !important}.ib-mt-lg{margin-top:var(--ib-space-64) !important}
.ib-mb-0{margin-bottom:0 !important}.ib-mb-sm{margin-bottom:var(--ib-space-16) !important}.ib-mb-md{margin-bottom:var(--ib-space-32) !important}.ib-mb-lg{margin-bottom:var(--ib-space-64) !important}
.ib-text-left{text-align:left}.ib-text-center{text-align:center}.ib-text-right{text-align:right}
.ib-flex{display:flex}.ib-flex-center{display:flex;align-items:center;justify-content:center}.ib-flex-between{display:flex;align-items:center;justify-content:space-between}.ib-flex-wrap{flex-wrap:wrap}
.ib-gap-sm{gap:var(--ib-space-12)}.ib-gap-md{gap:var(--ib-space-24)}.ib-gap-lg{gap:var(--ib-space-48)}
.ib-link{color:var(--ib-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em}
.ib-link:hover{opacity:0.72}
.ib-divider{width:100%;height:1px;background:var(--ib-line);border:0;margin:0}
.ib-page,.ib-page *{transition-property:background,background-color,color,border-color;transition-duration:var(--ib-t-base);transition-timing-function:ease}
.ib-card__media img,.ib-card__media video,.ib-ticker__track{transition-property:transform,filter}

.ib-color-print{color:var(--ib-cat-print)}.ib-color-brand{color:var(--ib-cat-brand)}.ib-color-digital{color:var(--ib-cat-digital)}.ib-color-fashion{color:var(--ib-cat-fashion)}
.ib-bg-print{background-color:var(--ib-cat-print)}.ib-bg-brand{background-color:var(--ib-cat-brand)}.ib-bg-digital{background-color:var(--ib-cat-digital)}.ib-bg-fashion{background-color:var(--ib-cat-fashion)}

@media (min-width:1024px){.ib-page--contact .ib-contact-form-side{border-right:1px solid var(--ib-line);padding-right:clamp(28px,4vw,64px)}}
@media (max-width:1023px){.ib-page--contact .ib-contact-form-side{border-top:1px solid var(--ib-line);padding-top:30px}}
.ib-page--privacy .ib-privacy-title-wrap{border-left:1px solid var(--ib-line);padding-left:clamp(24px,3.5vw,64px)}
@media (max-width:1023px){.ib-page--privacy .ib-privacy-title-wrap{border-left:0;padding-left:0}}
.ib-form-success{font-size:clamp(24px,2.15vw,34px);line-height:1.06;font-weight:var(--ib-font-weight-medium);letter-spacing:-0.045em;color:var(--ib-ink)}
.ib-form-success__headline{display:block;margin-bottom:clamp(30px,3.5vw,52px);font-size:clamp(58px,7.2vw,132px);line-height:0.84;font-weight:var(--ib-font-weight-bold);letter-spacing:-0.085em;text-transform:uppercase;color:var(--ib-ink)}
@media (max-width:767px){.ib-form-success{font-size:clamp(18px,5.2vw,24px);line-height:1.08}.ib-form-success__headline{font-size:clamp(42px,12vw,64px);line-height:0.9;letter-spacing:-0.075em;margin-bottom:24px}}

.ib-hero{width:100%;padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(42px,5vw,80px);background:var(--ib-bg);color:var(--ib-ink)}
.ib-hero--compact{padding-top:clamp(32px,4vw,64px);padding-bottom:clamp(28px,4vw,56px)}.ib-hero--flush-top{padding-top:0}
.ib-hero__inner{width:min(100%,1540px);margin:0 auto;padding-left:var(--ib-page-x);padding-right:var(--ib-page-x)}
.ib-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,0.72fr);gap:clamp(32px,4.5vw,72px);align-items:end}
.ib-hero__copy{min-width:0}.ib-hero__media{min-width:0}.ib-hero__label{margin-bottom:clamp(22px,2.2vw,34px)}.ib-hero__title{margin:0}
.ib-hero__lead{max-width:760px;margin-top:clamp(24px,2.8vw,42px)}
.ib-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,2.8vw,42px)}
.ib-hero__panel{padding:clamp(30px,4vw,58px) clamp(28px,4.2vw,72px)}
@media (max-width:1023px){.ib-hero__inner{padding-left:var(--ib-page-x-md);padding-right:var(--ib-page-x-md)}.ib-hero__grid{grid-template-columns:1fr;gap:clamp(28px,5vw,48px)}}
@media (max-width:767px){.ib-hero{padding-top:24px;padding-bottom:28px}.ib-hero__inner{padding-left:var(--ib-page-x-sm);padding-right:var(--ib-page-x-sm)}.ib-hero__actions{display:grid;grid-template-columns:1fr;gap:12px}.ib-hero__actions .ib-btn{width:100%}.ib-hero__panel{padding:24px;border-radius:24px}}

.ib-info-card{min-height:0;padding:clamp(24px,2.2vw,38px) clamp(24px,2.6vw,44px);border:1px solid var(--ib-line);border-radius:var(--ib-radius-lg);background:linear-gradient(180deg,rgba(242,242,242,0.62) 0%,rgba(242,242,242,0.42) 100%);backdrop-filter:var(--ib-blur-md);-webkit-backdrop-filter:var(--ib-blur-md);box-shadow:var(--ib-shadow-sm);overflow:hidden}
.ib-info-card--wide{grid-column:1/-1}
.ib-info-card__head{display:flex;align-items:center;gap:16px;margin-bottom:clamp(16px,1.4vw,22px)}
.ib-info-card__number{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:30px;border:1px solid var(--ib-line);border-radius:var(--ib-radius-sm);font-size:11px;line-height:1;font-weight:var(--ib-font-weight-black);letter-spacing:-0.02em;color:var(--ib-ink);background:rgba(242,242,242,0.42)}
.ib-info-card__title{margin:0;font-size:clamp(13px,0.82vw,16px);line-height:1;font-weight:var(--ib-font-weight-black);letter-spacing:0.13em;text-transform:uppercase;color:var(--ib-ink)}
.ib-info-card__line{width:100%;height:1px;margin-bottom:clamp(16px,1.4vw,22px);background:var(--ib-line)}
.ib-info-card__text{max-width:760px;margin:0;font-size:clamp(14px,0.94vw,17px);line-height:1.34;font-weight:var(--ib-font-weight-regular);letter-spacing:-0.035em;color:var(--ib-ink);opacity:0.86}
.ib-info-card__text a{color:var(--ib-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em}
body.ib-noir .ib-info-card{border-color:rgba(242,242,242,0.16);background:linear-gradient(180deg,rgba(242,242,242,0.16) 0%,rgba(242,242,242,0.075) 100%);box-shadow:var(--ib-shadow-lg)}
body.ib-noir .ib-info-card__number{border-color:rgba(242,242,242,0.26);background:rgba(242,242,242,0.045)}
@media (max-width:767px){.ib-info-card{aspect-ratio:1/1.05;min-height:320px;padding:22px;border-radius:24px}.ib-info-card__head{gap:14px;margin-bottom:18px}.ib-info-card__line{margin-bottom:20px}.ib-info-card__title{font-size:clamp(13.5px,3.2vw,18px);letter-spacing:0.105em}.ib-info-card__text{max-width:none;font-size:clamp(17px,4vw,21px);line-height:1.18;letter-spacing:-0.052em}}
@media (max-width:380px){.ib-info-card{min-height:320px;padding:22px}.ib-info-card__text{font-size:17px}.ib-info-card__title{font-size:13.5px}}

.ib-footer{width:100%;background:var(--ib-bg);color:var(--ib-ink);font-family:var(--ib-font)}
.ib-footer__inner{width:min(100%,1540px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,72px);align-items:end;padding:clamp(28px,3.5vw,56px) var(--ib-page-x) clamp(24px,3vw,42px)}
.ib-footer__brand{font-size:clamp(11px,0.8vw,13px);line-height:1;font-weight:var(--ib-font-weight-black);letter-spacing:0.12em;text-transform:uppercase;color:var(--ib-ink)}
.ib-footer__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 16px;font-size:clamp(10px,0.72vw,12px);line-height:1;font-weight:var(--ib-font-weight-bold);letter-spacing:0.12em;text-transform:uppercase;color:var(--ib-ink-muted)}
.ib-footer__link{color:var(--ib-ink-muted);text-decoration:none;transition:color var(--ib-t-fast) ease}.ib-footer__link:hover{color:var(--ib-ink)}.ib-footer__separator{color:var(--ib-ink-faint)}
@media (max-width:767px){.ib-footer__inner{grid-template-columns:1fr;gap:16px;padding-left:var(--ib-page-x-sm);padding-right:var(--ib-page-x-sm)}.ib-footer__meta{justify-content:flex-start}}

.ib-cookie-notice{position:fixed;left:50%;bottom:clamp(14px,2vw,26px);z-index:var(--ib-z-cookie);width:min(calc(100% - 32px),920px);opacity:0;pointer-events:none;transform:translateX(-50%) translateY(18px);transition:opacity var(--ib-t-base) ease,transform var(--ib-t-slow) var(--ib-ease)}
.ib-cookie-notice.ib-is-visible{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.ib-cookie-notice__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--ib-line);border-radius:var(--ib-radius-lg);background:linear-gradient(180deg,rgba(242,242,242,0.78) 0%,rgba(242,242,242,0.52) 100%);backdrop-filter:var(--ib-blur-md);-webkit-backdrop-filter:var(--ib-blur-md);box-shadow:var(--ib-shadow-lg)}
.ib-cookie-notice__text{margin:0;font-size:clamp(12px,0.8vw,14px);line-height:1.25;font-weight:var(--ib-font-weight-regular);letter-spacing:-0.02em;color:var(--ib-ink)}
.ib-cookie-notice__text a{color:var(--ib-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em}
.ib-cookie-notice__actions{display:flex;gap:10px;align-items:center}
.ib-cookie-notice__button{min-height:40px;padding:0 18px;border:1px solid var(--ib-line-mid);border-radius:var(--ib-radius-pill);background:transparent;color:var(--ib-ink);font-family:var(--ib-font);font-size:11px;line-height:1;font-weight:var(--ib-font-weight-black);letter-spacing:0.12em;text-transform:uppercase;cursor:pointer}
.ib-cookie-notice__button--solid{background:var(--ib-ink);border-color:var(--ib-ink);color:var(--ib-bg)}
body.ib-noir .ib-cookie-notice__inner{border-color:rgba(242,242,242,0.16);background:linear-gradient(180deg,rgba(242,242,242,0.16) 0%,rgba(242,242,242,0.075) 100%)}
@media (max-width:767px){.ib-cookie-notice{width:calc(100% - 24px);bottom:12px}.ib-cookie-notice__inner{grid-template-columns:1fr;gap:14px;padding:16px;border-radius:24px}.ib-cookie-notice__actions{display:grid;grid-template-columns:1fr 1fr}.ib-cookie-notice__button{width:100%}}

.ib-project-hero{width:100%;padding-top:clamp(42px,5vw,88px);padding-bottom:clamp(32px,4vw,64px)}
.ib-project-hero__inner{width:min(100%,1540px);margin:0 auto;padding-left:var(--ib-page-x);padding-right:var(--ib-page-x)}
.ib-project-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(22px,2.5vw,36px)}
.ib-project-description{max-width:860px;margin-top:clamp(28px,3vw,48px)}
.ib-project-gallery{width:min(100%,1540px);margin:0 auto;padding:clamp(24px,3vw,48px) var(--ib-page-x) clamp(48px,6vw,96px)}
.ib-project-nav{width:min(100%,1540px);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.5vw,22px);padding:clamp(24px,3vw,48px) var(--ib-page-x) clamp(48px,6vw,96px);border-top:1px solid var(--ib-line)}
.ib-project-nav__link{display:block;padding:clamp(22px,2.5vw,34px);border:1px solid var(--ib-line);border-radius:var(--ib-radius-lg);color:var(--ib-ink);text-decoration:none;transition:background var(--ib-t-base) ease,border-color var(--ib-t-base) ease,transform var(--ib-t-base) var(--ib-ease)}
.ib-project-nav__link:hover{transform:translateY(-2px);border-color:var(--ib-line-mid)}.ib-project-nav__label{display:block;margin-bottom:12px}.ib-project-nav__title{display:block}
@media (max-width:767px){.ib-project-hero__inner,.ib-project-gallery,.ib-project-nav{padding-left:var(--ib-page-x-sm);padding-right:var(--ib-page-x-sm)}.ib-project-nav{grid-template-columns:1fr}}

.ib-page--404{min-height:100dvh}
.ib-404{width:min(100%,1540px);margin:0 auto;padding:clamp(42px,5vw,88px) var(--ib-page-x) clamp(48px,6vw,96px)}
.ib-404__panel{min-height:clamp(520px,64vh,780px);display:grid;grid-template-columns:minmax(0,0.95fr) minmax(320px,0.75fr);gap:clamp(28px,4vw,72px);align-items:end;padding:clamp(28px,4vw,72px)}
.ib-404__code{margin:0;font-size:clamp(118px,20vw,320px);line-height:0.72;font-weight:var(--ib-font-weight-black);letter-spacing:-0.11em;text-transform:uppercase;color:var(--ib-ink)}
.ib-404__headline{margin-top:clamp(18px,2vw,32px)}
.ib-404__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,3vw,48px)}
.ib-404__visual{position:relative;min-height:clamp(360px,36vw,560px);border-radius:var(--ib-radius-xl);overflow:hidden;background:#151515}
.ib-404__visual::before{content:"404";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-4deg);font-size:clamp(84px,10vw,160px);line-height:1;font-weight:var(--ib-font-weight-black);letter-spacing:-0.08em;color:#f2f2f2}
.ib-404__visual::after{content:"HUMAN NOT FOUND";position:absolute;left:50%;bottom:clamp(28px,3vw,48px);transform:translateX(-50%);width:max-content;font-size:clamp(12px,1vw,17px);line-height:1;font-weight:var(--ib-font-weight-black);letter-spacing:0.12em;text-transform:uppercase;color:#f2f2f2}
@media (max-width:1023px){.ib-404__panel{grid-template-columns:1fr}}
@media (max-width:767px){.ib-404{padding-left:var(--ib-page-x-sm);padding-right:var(--ib-page-x-sm)}.ib-404__panel{min-height:0;padding:24px;border-radius:24px}.ib-404__actions{display:grid;grid-template-columns:1fr}.ib-404__visual{min-height:320px;border-radius:24px}}

.ib-styleguide{width:min(100%,1540px);margin:0 auto;padding:clamp(32px,4vw,64px) var(--ib-page-x) clamp(48px,6vw,96px)}
.ib-styleguide__section{margin-top:clamp(34px,4vw,72px)}.ib-styleguide__section:first-child{margin-top:0}
.ib-styleguide__title{margin:0 0 16px;font-size:clamp(13px,0.9vw,16px);line-height:1;font-weight:var(--ib-font-weight-black);letter-spacing:0.14em;text-transform:uppercase;color:var(--ib-ink-muted)}
.ib-styleguide__demo{padding:clamp(24px,3vw,44px)}
.ib-swatch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ib-swatch{min-height:150px;padding:16px;border:1px solid var(--ib-line);border-radius:var(--ib-radius-md)}
.ib-swatch__chip{width:100%;height:72px;margin-bottom:14px;border-radius:var(--ib-radius-sm);border:1px solid var(--ib-line)}
.ib-swatch p{margin:0;font-size:12px;line-height:1.25;letter-spacing:-0.02em}
@media (max-width:767px){.ib-styleguide{padding-left:var(--ib-page-x-sm);padding-right:var(--ib-page-x-sm)}.ib-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:479px){.ib-swatch-grid{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:0.001ms !important}
  .ib-ticker__track{animation:none !important;transform:none !important}
  .ib-card__media img,.ib-card__media video{transform:none !important}
}
