.billboard-launch-note {
  background: #171411;
  color: #fff;
  display: grid;
  gap: clamp(40px, 7vw, 110px);
  grid-template-columns: minmax(190px, 0.42fr) minmax(0, 1.58fr);
  margin: 74px 24px 0;
  overflow: hidden;
  padding: clamp(34px, 5vw, 76px);
  position: relative;
}

.billboard-launch-note::after {
  background: #e4002b;
  content: "";
  height: 10px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.billboard-launch-stamp {
  align-self: start;
  aspect-ratio: 1;
  background: #e4002b;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 270px;
  padding: 12%;
  position: relative;
  transform: rotate(-5deg);
}

.billboard-launch-stamp span {
  font-size: clamp(10px, 1vw, 14px);
  font-weight: 700;
  letter-spacing: 0.14em;
}

.billboard-launch-stamp strong {
  font-size: clamp(58px, 8vw, 118px);
  letter-spacing: -0.08em;
  line-height: 0.8;
}

.billboard-launch-stamp i {
  border-top: 2px solid currentColor;
  margin-top: 16px;
  width: 100%;
}

.billboard-launch-copy > span {
  color: #e4002b;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin-bottom: clamp(36px, 5vw, 74px);
}

.billboard-launch-copy h2 {
  font-size: clamp(48px, 7.2vw, 112px);
  font-weight: 500;
  letter-spacing: -0.065em;
  line-height: 0.78;
  margin: 0 0 clamp(36px, 4vw, 60px);
  text-transform: uppercase;
}

.billboard-launch-copy > p {
  font-size: clamp(18px, 2vw, 29px);
  letter-spacing: -0.035em;
  line-height: 1.25;
  max-width: 920px;
}

.billboard-event-details {
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
  border-top: 1px solid rgba(255, 255, 255, 0.45);
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(180px, 0.7fr) minmax(280px, 1.3fr);
  margin: 0 0 clamp(36px, 4vw, 58px);
  padding: 22px 0;
}

.billboard-event-details p {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  gap: 5px;
  letter-spacing: 0.04em;
  line-height: 1.35;
  margin: 0;
}

.billboard-event-details strong {
  font-size: 14px;
  text-transform: uppercase;
}

.billboard-event-details span {
  color: #c9c7c4;
}

.billboard-launch-meta {
  border-top: 1px solid rgba(255, 255, 255, 0.45);
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin-top: clamp(40px, 5vw, 72px);
  padding-top: 18px;
}

.billboard-launch-meta span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.13em;
}

/* Clean editorial billboard case study */
.billboard-redesign {
  background: #f4f1eb;
  color: #171411;
  margin-top: clamp(70px, 8vw, 120px);
  overflow: hidden;
  padding: clamp(76px, 9vw, 145px) 24px 0;
}

.billboard-redesign-head {
  display: grid;
  grid-template-columns: 26% minmax(0, 1fr);
  margin: 0 auto clamp(72px, 9vw, 140px);
  max-width: 1500px;
}

.billboard-redesign-head > span {
  color: #e4002b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.billboard-redesign-head h2 {
  font-size: clamp(58px, 8.4vw, 132px);
  font-weight: 600;
  grid-column: 2;
  letter-spacing: -.075em;
  line-height: .82;
  margin: 0;
  text-transform: uppercase;
}

.billboard-redesign-head p {
  color: #5f5a55;
  font-size: clamp(18px, 1.75vw, 27px);
  grid-column: 2;
  line-height: 1.35;
  margin: clamp(38px, 5vw, 72px) 0 0;
  max-width: 850px;
}

.billboard-redesign-feature {
  align-items: center;
  background: #171411;
  color: #fff;
  display: grid;
  gap: clamp(50px, 8vw, 130px);
  grid-template-columns: minmax(330px, .8fr) minmax(380px, 1.2fr);
  margin: 0 auto;
  max-width: 1500px;
  padding: clamp(38px, 6vw, 92px);
}

.billboard-redesign-feature figure { margin: 0; }

.billboard-redesign-screen {
  aspect-ratio: 9 / 16;
  background: #080808;
  border: 10px solid #292725;
  box-shadow: 0 35px 75px rgba(0,0,0,.45), 0 0 70px rgba(228,0,43,.08);
  margin: auto;
  max-width: 510px;
  overflow: hidden;
  position: relative;
}

.billboard-redesign-screen img { display: block; height: 100%; object-fit: cover; width: 100%; }
.billboard-redesign-screen i { background: linear-gradient(115deg, rgba(255,255,255,.14), transparent 24%, transparent 75%, rgba(255,255,255,.04)); inset: 0; position: absolute; }

.billboard-redesign-feature figcaption {
  color: #8f8b86;
  display: flex;
  font-size: 8px;
  font-weight: 700;
  justify-content: space-between;
  letter-spacing: .14em;
  margin: 17px auto 0;
  max-width: 510px;
  text-transform: uppercase;
}

.billboard-message-system > span {
  color: #e4002b;
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  margin-bottom: clamp(42px, 6vw, 90px);
  text-transform: uppercase;
}

.billboard-message-system article {
  border-top: 1px solid rgba(255,255,255,.2);
  display: grid;
  gap: 20px;
  grid-template-columns: 42px minmax(160px, .7fr) minmax(220px, 1fr);
  padding: clamp(26px, 3vw, 43px) 0;
}

.billboard-message-system article b { color: #77736f; font-size: 10px; letter-spacing: .1em; padding-top: 8px; }
.billboard-message-system h3 { font-size: clamp(37px, 4vw, 66px); font-weight: 700; letter-spacing: -.065em; line-height: .85; margin: 0; }
.billboard-message-system p { color: #aaa6a1; font-size: 14px; line-height: 1.5; margin: 0; max-width: 350px; }

.billboard-redesign .billboard-process { max-width: 1500px; }

.billboard-launch-bar {
  background: #e4002b;
  color: #fff;
  display: grid;
  grid-template-columns: .75fr 1fr 1.35fr;
  margin: clamp(70px, 9vw, 140px) -24px 0;
  padding: 0 24px;
}

.billboard-launch-bar > div { display: flex; flex-direction: column; gap: 13px; padding: 32px 3vw 36px; }
.billboard-launch-bar > div + div { border-left: 1px solid rgba(255,255,255,.35); }
.billboard-launch-bar span { font-size: 8px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.billboard-launch-bar strong { font-size: clamp(13px, 1.25vw, 19px); line-height: 1.3; }

/* Integrated campaign takeover */
.campaign-takeover { background:#0b0b0b; color:#fff; margin-top:clamp(70px,8vw,120px); overflow:hidden; }
.campaign-takeover-intro { min-height:1000px; padding:clamp(56px,6vw,90px) 24px; position:relative; }
.campaign-takeover-intro>span,.campaign-takeover-intro>p { font-size:10px; font-weight:700; letter-spacing:.14em; margin:0; text-transform:uppercase; }
.campaign-takeover-intro>span { color:#e4002b; }
.campaign-takeover-intro>p { position:absolute; right:24px; top:clamp(56px,6vw,90px); }
.campaign-takeover-intro h2 { font:700 clamp(105px,15.5vw,245px)/.68 Arial,sans-serif; letter-spacing:-.085em; margin:clamp(125px,14vw,220px) 0 0; }
.campaign-takeover-intro h2 em { color:#e4002b; font-style:normal; }
.campaign-intro-note { bottom:70px; display:grid; gap:24px; grid-template-columns:170px minmax(300px,620px); position:absolute; right:5vw; }
.campaign-intro-note b { color:#e4002b; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.campaign-intro-note p { color:#b8b5b0; font-size:clamp(17px,1.4vw,22px); line-height:1.5; margin:0; }
.campaign-hero-installation { background:#e4002b; min-height:0; padding:clamp(18px,2.2vw,36px); position:relative; }
.campaign-word-stack { display:flex; flex-direction:column; }
.campaign-word-stack span { color:transparent; font:800 clamp(70px,8.5vw,135px)/.78 Arial,sans-serif; letter-spacing:-.075em; -webkit-text-stroke:2px #fff; }
.campaign-word-stack span:nth-child(2) { color:#fff; }
.campaign-hero-installation figure { margin:0 auto; max-width:1800px; width:100%; }
.campaign-photo-mockup { background:#111; box-shadow:0 50px 100px rgba(70,0,13,.42); overflow:hidden; position:relative; }
.campaign-photo-mockup>img { display:block; height:auto; width:100%; }
.campaign-photo-mockup::after { background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55)); content:""; inset:0; pointer-events:none; position:absolute; }
.campaign-hover-prompt { align-items:center; backdrop-filter:blur(14px); background:rgba(7,7,7,.66); border:1px solid rgba(255,255,255,.2); color:#fff; display:grid; gap:3px 9px; grid-template-columns:auto 1fr; left:3%; padding:12px 15px; position:absolute; text-transform:uppercase; top:4%; z-index:4; }
.campaign-hover-prompt span { color:#fff; font-size:8px; font-weight:800; letter-spacing:.18em; }
.campaign-hover-prompt .campaign-live-dot { animation:campaign-live 1.8s ease infinite; background:#e4002b; border-radius:50%; box-shadow:0 0 14px #e4002b; display:block; grid-row:1 / span 2; height:7px; width:7px; }
.campaign-hover-prompt b { font-size:10px; letter-spacing:.12em; }
.campaign-image-actions { inset:0; position:absolute; z-index:5; }
.campaign-image-action { appearance:none; background:transparent; border:0; border-radius:999px; cursor:pointer; height:6.6%; left:35.1%; padding:0; position:absolute; width:12.2%; }
.campaign-image-action.action-partner { top:27.2%; }
.campaign-image-action.action-hire { top:35.2%; }
.campaign-image-action.action-invest { top:43.1%; }
.campaign-image-action::after { border:1px solid transparent; border-radius:999px; content:""; inset:0; position:absolute; transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.campaign-image-action:hover::after,.campaign-image-action:focus::after,.campaign-image-action:focus-visible::after { border-color:#fff; box-shadow:0 0 0 3px rgba(228,0,43,.65),0 0 28px rgba(228,0,43,.7); outline:0; transform:scale(1.04); }
.campaign-image-action:focus { outline:0; }
.campaign-image-card { align-items:flex-start; backdrop-filter:blur(24px) saturate(1.25); background:linear-gradient(135deg,rgba(8,8,8,.94),rgba(21,21,21,.78)); border:1px solid rgba(255,255,255,.22); border-left:2px solid #e4002b; bottom:auto; box-shadow:0 28px 80px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.08); color:#fff; display:grid; gap:22px; grid-template-columns:auto 1fr; left:calc(100% + 6vw); min-width:380px; opacity:0; overflow:visible; padding:28px 30px 24px; pointer-events:none; position:absolute; text-align:left; top:50%; transform:translateX(34px) translateY(-50%) scale(.97); transition:opacity .25s ease,transform .4s cubic-bezier(.16,1,.3,1),visibility .25s; visibility:hidden; width:min(34vw,500px); }
.campaign-image-card::before { background:#e4002b; box-shadow:0 0 18px rgba(228,0,43,.9); content:""; height:1px; position:absolute; right:100%; top:50%; width:6vw; }
.campaign-image-card>i { animation:campaign-scan 2.4s linear infinite; background:linear-gradient(90deg,transparent,rgba(228,0,43,.42),transparent); height:1px; left:0; position:absolute; right:0; top:0; }
.campaign-image-card>b { color:#e4002b; font:700 clamp(42px,3.5vw,62px)/.8 Arial,sans-serif; letter-spacing:-.07em; text-shadow:0 0 24px rgba(228,0,43,.35); }
.campaign-image-card>span { display:flex; flex-direction:column; }
.campaign-image-card small { color:#e4002b; font-size:9px; font-weight:800; letter-spacing:.18em; margin-bottom:20px; }
.campaign-image-card strong { font:700 clamp(25px,2.3vw,39px)/.9 Arial,sans-serif; letter-spacing:-.05em; margin-bottom:16px; text-transform:uppercase; }
.campaign-image-card em { color:#c8c8c8; font-size:14px; font-style:normal; line-height:1.55; }
.campaign-image-card u { border-top:1px solid rgba(255,255,255,.15); color:#858585; display:flex; font-size:8px; font-weight:700; justify-content:space-between; letter-spacing:.14em; margin-top:20px; padding-top:12px; text-decoration:none; text-transform:uppercase; }
.campaign-image-card mark { background:transparent; color:#fff; }
.campaign-image-card mark::before { background:#e4002b; border-radius:50%; box-shadow:0 0 8px #e4002b; content:""; display:inline-block; height:5px; margin-right:7px; vertical-align:1px; width:5px; }
.campaign-image-action:hover .campaign-image-card,.campaign-image-action:focus .campaign-image-card,.campaign-image-action:focus-visible .campaign-image-card { opacity:1; transform:translateX(0) translateY(-50%) scale(1); visibility:visible; }
@keyframes campaign-live { 50% { opacity:.35; transform:scale(.7); } }
@keyframes campaign-scan { from { transform:translateX(-100%); } to { transform:translateX(100%); } }
.campaign-photo-label { bottom:clamp(24px,4vw,66px); display:flex; flex-direction:column; gap:10px; left:clamp(24px,4vw,66px); position:absolute; z-index:2; }
.campaign-photo-label span { font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.campaign-photo-label strong { font:700 clamp(26px,3.2vw,52px)/.9 Arial,sans-serif; letter-spacing:-.055em; }
.campaign-screen-shell { background:#111; border:14px solid #171411; box-shadow:0 60px 100px #57000f80; overflow:hidden; position:relative; }
.campaign-screen-shell img { display:block; width:100%; }
.campaign-screen-shell i { background:linear-gradient(115deg,#ffffff24,transparent 25%,transparent 75%,#ffffff0d); inset:0; position:absolute; }
.campaign-screen-cap { background:#171411; display:flex; font-size:8px; font-weight:700; justify-content:space-between; letter-spacing:.14em; padding:14px 4px 24px; text-transform:uppercase; }
.campaign-hero-installation figcaption { display:flex; font-size:8px; font-weight:700; justify-content:space-between; letter-spacing:.12em; padding:18px 5px 0; text-transform:uppercase; }
.campaign-platform { background:#f4f1eb; color:#171411; padding:clamp(90px,10vw,160px) 24px; }
.campaign-platform-head { display:grid; grid-template-columns:24% 45% 31%; margin:0 auto 110px; max-width:1500px; }
.campaign-platform-head>span { color:#e4002b; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.campaign-platform-head h3 { font:600 clamp(62px,7vw,110px)/.82 Arial,sans-serif; letter-spacing:-.07em; margin:0; text-transform:uppercase; }
.campaign-platform-head p { color:#68635e; font-size:18px; line-height:1.5; margin:0; padding-left:3vw; }
.campaign-action-grid { border-bottom:1px solid #bbb7b0; border-top:1px solid #bbb7b0; display:grid; grid-template-columns:repeat(3,1fr); margin:auto; max-width:1500px; }
.campaign-action-grid article { min-height:570px; padding:38px 3vw; }
.campaign-action-grid article+article { border-left:1px solid #bbb7b0; }
.campaign-action-grid b { color:#e4002b; font-size:10px; }
.campaign-action-grid strong { display:block; font:700 clamp(50px,5vw,80px)/.8 Arial,sans-serif; letter-spacing:-.07em; margin:150px 0 38px; }
.campaign-action-grid p { color:#615d58; font-size:16px; line-height:1.55; max-width:330px; }
.campaign-rollout { background:#171411; padding:clamp(90px,10vw,160px) 24px; }
.campaign-rollout>span { color:#e4002b; display:block; font-size:9px; font-weight:700; letter-spacing:.14em; margin:0 auto 90px; max-width:1500px; text-transform:uppercase; }
.campaign-rollout-track { display:grid; grid-template-columns:repeat(3,1fr); margin:auto; max-width:1500px; }
.campaign-rollout article { border-top:1px solid #ffffff42; min-height:480px; padding:35px 3vw; }
.campaign-rollout article+article { border-left:1px solid #ffffff42; }
.campaign-rollout b { color:#77736f; font-size:10px; letter-spacing:.14em; }
.campaign-rollout h3 { font:500 clamp(42px,4vw,65px)/.9 Arial,sans-serif; letter-spacing:-.06em; margin:130px 0 30px; }
.campaign-rollout p { color:#aaa6a1; font-size:15px; line-height:1.5; max-width:350px; }
.campaign-launch-moment { align-items:end; background:#e4002b; display:grid; grid-template-columns:20% 55% 25%; min-height:800px; padding:6vw 24px; }
.campaign-launch-moment span { display:block; font-size:9px; letter-spacing:.14em; margin-bottom:20px; text-transform:uppercase; }
.campaign-launch-moment strong { font-size:clamp(40px,4vw,65px); letter-spacing:-.05em; }
.campaign-launch-moment h3 { font:700 clamp(68px,8vw,128px)/.78 Arial,sans-serif; letter-spacing:-.075em; margin:0; }
.campaign-launch-moment p { font-size:14px; line-height:1.6; margin:0; }
.campaign-credit-line { display:flex; justify-content:space-between; padding:30px 24px; }
.campaign-credit-line span { font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

.digital-billboard-section {
  background: #fff;
  color: #171411;
  margin-top: 110px;
  overflow: hidden;
  padding: clamp(72px, 9vw, 150px) 24px;
}

.digital-billboard-heading {
  display: grid;
  gap: 32px;
  grid-template-columns: 28% 72%;
  margin: 0 auto clamp(64px, 8vw, 110px);
  max-width: 1500px;
}

.digital-billboard-heading > span {
  color: #e4002b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.digital-billboard-heading > div {
  max-width: 1050px;
}

.digital-billboard-heading h2 {
  font-size: clamp(54px, 7vw, 110px);
  font-weight: 500;
  letter-spacing: -0.07em;
  line-height: 0.82;
  margin: 0 0 clamp(34px, 4vw, 56px);
  text-transform: uppercase;
}

.digital-billboard-heading p {
  color: #57534f;
  font-size: clamp(18px, 2vw, 29px);
  letter-spacing: -0.035em;
  line-height: 1.3;
  max-width: 900px;
}

.ike-case-study {
  background: #f2f0eb;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
  margin: 0 auto;
  max-width: 1600px;
}

.billboard-marquee {
  background: #e4002b;
  color: #fff;
  overflow: hidden;
  padding: 18px 0 14px;
}

.billboard-marquee div {
  animation: billboardMarquee 18s linear infinite;
  display: flex;
  gap: 30px;
  width: max-content;
}

.billboard-marquee span {
  font-size: clamp(38px, 5vw, 78px);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: .8;
}

.billboard-marquee b { font-size: 24px; }

@keyframes billboardMarquee { to { transform: translateX(-50%); } }

.ike-scroll-story {
  background: #171411;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  margin: 0 auto;
  max-width: 1600px;
  position: relative;
}

.ike-scroll-story .ike-street-scene {
  height: 100vh;
  min-height: 760px;
  position: sticky;
  top: 0;
}

.ike-scroll-steps {
  color: #fff;
}

.ike-scroll-steps article {
  border-bottom: 1px solid rgba(255,255,255,.18);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
  padding: clamp(54px, 7vw, 110px);
}

.ike-scroll-steps article > span {
  color: #e4002b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  margin-bottom: auto;
  text-transform: uppercase;
}

.ike-scroll-steps article > strong {
  color: transparent;
  font-size: clamp(82px, 10vw, 170px);
  font-weight: 800;
  letter-spacing: -.08em;
  line-height: .72;
  margin: clamp(70px, 9vw, 140px) 0 38px;
  -webkit-text-stroke: 2px #e4002b;
}

.ike-scroll-steps h3 {
  font-size: clamp(36px, 4.6vw, 72px);
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: .92;
  margin: 0 0 30px;
}

.ike-scroll-steps p {
  color: #bbb7b2;
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.5;
  margin: 0;
  max-width: 620px;
}

.ike-scroll-steps article > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 46px;
}

.ike-scroll-steps article > div b {
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  font-size: 8px;
  letter-spacing: .12em;
  padding: 10px 13px;
  text-transform: uppercase;
}

.ike-street-scene {
  align-items: end;
  background: linear-gradient(180deg, #c8d0d2 0 51%, #aaa59d 51% 53%, #d8d3ca 53% 100%);
  display: flex;
  justify-content: center;
  min-height: 980px;
  overflow: hidden;
  padding: 70px 40px 0;
  position: relative;
}

.ike-street-scene::before {
  background: linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,0));
  content: "";
  height: 46%;
  inset: 0 0 auto;
  position: absolute;
}

.ike-building {
  background: repeating-linear-gradient(90deg, #5b6060 0 36px, #343838 36px 43px);
  bottom: 47%;
  height: 31%;
  opacity: .46;
  position: absolute;
  width: 34%;
}

.ike-building-left { left: -5%; transform: skewY(-2deg); }
.ike-building-right { right: -7%; transform: skewY(2deg); }

.ike-location {
  color: rgba(23,20,17,.65);
  font-size: 9px;
  font-weight: 700;
  left: 30px;
  letter-spacing: .14em;
  position: absolute;
  text-transform: uppercase;
  top: 30px;
  z-index: 3;
}

.ike-kiosk {
  filter: drop-shadow(0 42px 42px rgba(23,20,17,.28));
  margin: 0;
  max-width: 430px;
  position: relative;
  transform: perspective(1400px) rotateY(-3deg);
  transition: transform .65s cubic-bezier(.22,1,.36,1);
  width: 48%;
  z-index: 4;
}

.ike-street-scene:hover .ike-kiosk {
  transform: perspective(1400px) rotateY(0) translateY(-10px);
}

.ike-kiosk-top {
  align-items: center;
  background: #171411;
  border-radius: 22px 22px 0 0;
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 15px 20px;
}

.ike-kiosk-top span { color: #e4002b; font-size: 15px; font-weight: 800; }
.ike-kiosk-top b { font-size: 7px; letter-spacing: .16em; }

.ike-kiosk-screen {
  background: #000;
  border: 12px solid #171411;
  overflow: hidden;
  position: relative;
}

.ike-kiosk-screen img { display: block; height: auto; width: 100%; }

.ike-kiosk-screen i {
  background: linear-gradient(112deg, rgba(255,255,255,.2), transparent 24%, transparent 74%, rgba(255,255,255,.05));
  inset: 0;
  position: absolute;
}

.ike-kiosk-base {
  align-items: center;
  background: #171411;
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 18px 20px 28px;
}

.ike-kiosk-base span { font-size: 24px; font-weight: 800; letter-spacing: -.08em; }
.ike-kiosk-base small { color: #aaa7a3; font-size: 7px; letter-spacing: .12em; text-transform: uppercase; }

.ike-street-line {
  background: #f7f4ec;
  bottom: 8%;
  height: 6px;
  left: 0;
  opacity: .75;
  position: absolute;
  right: 0;
}

.ike-project-details {
  align-self: stretch;
  background: #171411;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(46px, 5vw, 86px);
}

.ike-project-details > span {
  color: #e4002b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  margin-bottom: clamp(54px, 7vw, 110px);
  text-transform: uppercase;
}

.ike-project-details h3 {
  font-size: clamp(36px, 4vw, 66px);
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: .94;
  margin: 0 0 36px;
}

.ike-project-details > p {
  color: #c5c2bd;
  font-size: 16px;
  line-height: 1.55;
  margin: 0;
}

.ike-project-details > div {
  border-top: 1px solid rgba(255,255,255,.26);
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-top: clamp(54px, 7vw, 100px);
  padding-top: 18px;
}

.ike-project-details > div span {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.billboard-editorial-stage {
  align-items: start;
  background: #f5f4f1;
  color: #171411;
  display: grid;
  gap: clamp(40px, 5vw, 72px);
  grid-template-columns: 1fr;
  justify-items: center;
  padding: clamp(48px, 7vw, 100px) 24px;
}

.billboard-viewer {
  display: grid;
  justify-items: center;
  max-width: 940px;
  width: 100%;
}

.billboard-viewer > input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.billboard-view-controls {
  background: #fff;
  border: 1px solid rgba(23, 20, 17, .18);
  border-radius: 999px;
  display: flex;
  gap: 4px;
  margin-bottom: 38px;
  padding: 5px;
}

.billboard-view-controls label {
  border-radius: 999px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 12px 18px;
  text-transform: uppercase;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.billboard-view-controls label:hover {
  color: #e4002b;
  transform: translateY(-1px);
}

#billboard-full:checked ~ .billboard-view-controls label[for="billboard-full"],
#billboard-partner:checked ~ .billboard-view-controls label[for="billboard-partner"],
#billboard-hire:checked ~ .billboard-view-controls label[for="billboard-hire"],
#billboard-invest:checked ~ .billboard-view-controls label[for="billboard-invest"] {
  background: #171411;
  color: #fff;
}

.billboard-viewer > input:focus-visible ~ .billboard-view-controls {
  outline: 3px solid rgba(228, 0, 43, .35);
  outline-offset: 4px;
}

.billboard-editorial-frame {
  margin: 0;
  max-width: 680px;
  width: 100%;
}

.billboard-editorial-screen {
  background: #111;
  border: 12px solid #171411;
  box-shadow: 0 28px 60px rgba(23, 20, 17, .18);
  overflow: hidden;
  aspect-ratio: 9 / 16;
  position: relative;
}

.billboard-artwork-window {
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.billboard-editorial-screen img {
  display: block;
  height: auto;
  transform: scale(1);
  transform-origin: center top;
  transition: transform .8s cubic-bezier(.22, 1, .36, 1);
  width: 100%;
}

#billboard-partner:checked ~ .billboard-editorial-frame img {
  transform: scale(1.52) translateY(-9%);
}

#billboard-hire:checked ~ .billboard-editorial-frame img {
  transform: scale(1.58) translateY(-25%);
}

#billboard-invest:checked ~ .billboard-editorial-frame img {
  transform: scale(1.58) translateY(-37%);
}

.billboard-screen-glow {
  background: linear-gradient(115deg, rgba(255,255,255,.16), transparent 28%, transparent 72%, rgba(255,255,255,.06));
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.billboard-view-hint {
  color: #716c67;
  font-size: 10px;
  letter-spacing: .1em;
  margin: 28px 0 0;
  text-align: center;
  text-transform: uppercase;
}

.billboard-editorial-frame figcaption {
  display: flex;
  font-size: 9px;
  font-weight: 700;
  justify-content: space-between;
  letter-spacing: .12em;
  padding-top: 22px;
  text-transform: uppercase;
}

.billboard-editorial-copy {
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr);
  max-width: 980px;
  width: 100%;
}

.billboard-editorial-copy > p {
  font-size: clamp(18px, 1.7vw, 24px);
  letter-spacing: -.03em;
  line-height: 1.3;
  margin: 0;
  max-width: 520px;
}

.billboard-editorial-copy > div {
  border-top: 1px solid rgba(23, 20, 17, .35);
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  align-content: start;
  margin-top: 0;
  padding-top: 18px;
}

.billboard-editorial-copy > div span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.billboard-process {
  border-top: 1px solid rgba(23, 20, 17, .22);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: clamp(70px, 9vw, 140px) auto 0;
  max-width: 1500px;
}

.billboard-process article {
  min-height: 360px;
  padding: clamp(30px, 4vw, 58px);
}

.billboard-process article + article {
  border-left: 1px solid rgba(23, 20, 17, .22);
}

.billboard-process article > span {
  color: #e4002b;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  margin-bottom: clamp(54px, 7vw, 96px);
}

.billboard-process h3 {
  font-size: clamp(30px, 3vw, 48px);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: .95;
  margin: 0 0 26px;
  text-transform: uppercase;
}

.billboard-process p {
  color: #5e5954;
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
  max-width: 390px;
}

.digital-billboard-stage {
  align-items: center;
  background:
    radial-gradient(circle at 50% 46%, rgba(228, 0, 43, 0.18), transparent 30%),
    linear-gradient(125deg, #1b1b1b, #080808 58%);
  border: 1px solid rgba(255, 255, 255, 0.16);
  display: grid;
  gap: clamp(34px, 5vw, 78px);
  grid-template-columns: minmax(110px, 0.38fr) minmax(300px, 0.84fr) minmax(250px, 0.78fr);
  min-height: 1050px;
  overflow: hidden;
  padding: clamp(36px, 6vw, 96px);
  position: relative;
}

.digital-billboard-stage::before {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 38px 38px;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.digital-word-rail {
  align-self: stretch;
  border-right: 1px solid rgba(255, 255, 255, 0.22);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.digital-word-rail span {
  color: #5f5f5f;
  font-size: clamp(26px, 3.2vw, 54px);
  font-weight: 700;
  letter-spacing: -0.05em;
  padding: 21px 22px 21px 0;
  transition: color 0.35s ease;
}

.digital-word-rail span:nth-child(1) { animation: digitalRail 9s 0s infinite; }
.digital-word-rail span:nth-child(2) { animation: digitalRail 9s 3s infinite; }
.digital-word-rail span:nth-child(3) { animation: digitalRail 9s 6s infinite; }

.digital-totem {
  justify-self: center;
  margin: 0;
  max-width: 500px;
  perspective: 1400px;
  position: relative;
  width: 100%;
  z-index: 3;
}

.digital-totem-cap {
  align-items: center;
  background: #171717;
  border: 1px solid #353535;
  border-bottom: 0;
  border-radius: 24px 24px 0 0;
  display: flex;
  justify-content: space-between;
  padding: 13px 18px;
}

.digital-totem-cap span {
  color: #a6a6a2;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.digital-totem-cap i {
  background: #e4002b;
  border-radius: 50%;
  box-shadow: 0 0 14px rgba(228, 0, 43, 0.8);
  height: 7px;
  width: 7px;
}

.digital-screen {
  aspect-ratio: 9 / 16;
  background: #000;
  border: 12px solid #171717;
  box-shadow:
    0 52px 95px rgba(0, 0, 0, 0.68),
    0 0 70px rgba(228, 0, 43, 0.13),
    inset 0 0 0 1px #454545;
  overflow: hidden;
  position: relative;
  transform: rotateY(-2deg);
  transform-origin: center;
}

.digital-art-base,
.digital-art-focus {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.digital-art-base {
  animation: digitalDrift 9s ease-in-out infinite;
  filter: brightness(0.7) contrast(1.04);
}

.digital-art-focus {
  filter: brightness(1.2) contrast(1.08) saturate(1.08) drop-shadow(0 0 12px rgba(228, 0, 43, 0.35));
  opacity: 0;
  transform: scale(1.008);
}

.digital-focus-partner {
  animation: digitalFocus 9s 0s infinite;
  clip-path: inset(18% 0 68% 0);
}

.digital-focus-hire {
  animation: digitalFocus 9s 3s infinite;
  clip-path: inset(30% 0 56% 0);
}

.digital-focus-invest {
  animation: digitalFocus 9s 6s infinite;
  clip-path: inset(42% 0 44% 0);
}

.digital-scan {
  animation: digitalScan 4.5s linear infinite;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.12), transparent);
  height: 18%;
  left: 0;
  mix-blend-mode: screen;
  position: absolute;
  right: 0;
  top: -20%;
}

.digital-glass {
  background:
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0, rgba(255, 255, 255, 0.025) 1px, transparent 1px, transparent 4px),
    linear-gradient(112deg, rgba(255, 255, 255, 0.12), transparent 20%, transparent 72%, rgba(255, 255, 255, 0.05));
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.digital-live {
  align-items: center;
  background: rgba(0, 0, 0, 0.76);
  bottom: 12px;
  display: flex;
  font-size: 7px;
  font-weight: 700;
  gap: 7px;
  left: 12px;
  letter-spacing: 0.14em;
  padding: 7px 9px;
  position: absolute;
  text-transform: uppercase;
}

.digital-live i {
  animation: digitalPulse 1.2s ease-in-out infinite;
  background: #e4002b;
  border-radius: 50%;
  height: 6px;
  width: 6px;
}

.digital-totem figcaption {
  color: #9b9b97;
  display: flex;
  font-size: 8px;
  justify-content: space-between;
  letter-spacing: 0.13em;
  padding-top: 17px;
  text-transform: uppercase;
}

.digital-motion-notes {
  position: relative;
  z-index: 2;
}

.digital-motion-notes article {
  border-top: 1px solid rgba(255, 255, 255, 0.26);
  display: grid;
  gap: 18px;
  grid-template-columns: 42px 1fr;
  padding: 27px 0;
}

.digital-motion-notes article:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.26);
}

.digital-motion-notes article > span {
  color: #e4002b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.digital-motion-notes h3 {
  font-size: clamp(23px, 2.2vw, 37px);
  font-weight: 500;
  letter-spacing: -0.05em;
  line-height: 0.95;
  margin: 0 0 13px;
  text-transform: uppercase;
}

.digital-motion-notes p {
  color: #a9a9a5;
  font-size: 13px;
  letter-spacing: -0.015em;
  line-height: 1.5;
  max-width: 390px;
}

@keyframes digitalFocus {
  0%, 4%, 34%, 100% { opacity: 0; transform: scale(1.015); }
  9%, 27% { opacity: 1; transform: scale(1); }
}

@keyframes digitalRail {
  0%, 4%, 34%, 100% { color: #5f5f5f; transform: translateX(0); }
  9%, 27% { color: #fff; transform: translateX(10px); }
}

@keyframes digitalDrift {
  0%, 100% { transform: scale(1.015); }
  50% { transform: scale(1); }
}

@keyframes digitalScan {
  from { transform: translateY(0); }
  to { transform: translateY(680%); }
}

@keyframes digitalPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(228, 0, 43, 0.7); opacity: 1; }
  50% { box-shadow: 0 0 0 5px rgba(228, 0, 43, 0); opacity: 0.7; }
}

@media (max-width: 760px) {
  .campaign-takeover { margin-top:64px; }
  .campaign-takeover-intro { min-height:760px; padding:48px 14px; }
  .campaign-takeover-intro>p { display:none; }
  .campaign-takeover-intro h2 { font-size:23vw; margin-top:120px; }
  .campaign-intro-note { bottom:45px; display:block; left:14px; right:14px; }
  .campaign-intro-note b { display:block; margin-bottom:20px; }
  .campaign-intro-note p { font-size:17px; }
  .campaign-hero-installation { min-height:0; padding:10px; }
  .campaign-word-stack span { font-size:18vw; }
  .campaign-hero-installation figure { max-width:none; width:100%; }
  .campaign-photo-mockup>img { height:118vw; object-fit:cover; object-position:43% center; }
  .campaign-hover-prompt { left:12px; top:12px; }
  .campaign-hover-prompt span { font-size:7px; }
  .campaign-hover-prompt b { font-size:8px; }
  .campaign-image-action { left:35.3%; width:27.8%; }
  .campaign-image-action.action-partner { top:24.5%; }
  .campaign-image-action.action-hire { top:31.2%; }
  .campaign-image-action.action-invest { top:37.9%; }
  .campaign-image-card { gap:14px; grid-template-columns:auto 1fr; left:-95%; min-width:0; padding:17px 18px 16px; top:calc(100% + 10px); transform:translateY(10px) scale(.98); width:78vw; }
  .campaign-image-card::before { display:none; }
  .campaign-image-card>b { font-size:34px; }
  .campaign-image-card small { margin-bottom:8px; }
  .campaign-image-card strong { font-size:20px; margin-bottom:8px; }
  .campaign-image-card em { font-size:12px; }
  .campaign-image-action:hover .campaign-image-card,.campaign-image-action:focus .campaign-image-card,.campaign-image-action:focus-visible .campaign-image-card { transform:translateY(0) scale(1); }
  .campaign-photo-label { bottom:22px; left:18px; }
  .campaign-photo-label strong { font-size:7.8vw; }
  .campaign-hero-installation figcaption { gap:18px; line-height:1.4; }
  .campaign-screen-shell { border-width:8px; }
  .campaign-platform { padding:85px 14px; }
  .campaign-platform-head { display:block; margin-bottom:70px; }
  .campaign-platform-head>span { display:block; margin-bottom:50px; }
  .campaign-platform-head h3 { font-size:18vw; }
  .campaign-platform-head p { font-size:17px; margin-top:40px; padding:0; }
  .campaign-action-grid { grid-template-columns:1fr; }
  .campaign-action-grid article { min-height:390px; padding:30px 10px; }
  .campaign-action-grid article+article { border-left:0; border-top:1px solid #bbb7b0; }
  .campaign-action-grid strong { font-size:15vw; margin:105px 0 30px; }
  .campaign-rollout { padding:85px 14px; }
  .campaign-rollout>span { margin-bottom:55px; }
  .campaign-rollout-track { grid-template-columns:1fr; }
  .campaign-rollout article { min-height:380px; padding:30px 10px; }
  .campaign-rollout article+article { border-left:0; }
  .campaign-rollout h3 { font-size:13vw; margin-top:100px; }
  .campaign-launch-moment { align-items:start; display:flex; flex-direction:column; gap:85px; min-height:680px; padding:60px 14px; }
  .campaign-launch-moment h3 { font-size:17vw; }
  .campaign-launch-moment p { margin-top:auto; }
  .campaign-credit-line { flex-wrap:wrap; gap:18px 28px; padding:28px 14px; }

  .billboard-redesign {
    margin-top: 64px;
    padding: 76px 14px 0;
  }

  .billboard-redesign-head {
    display: block;
    margin-bottom: 70px;
  }

  .billboard-redesign-head > span { display: block; margin-bottom: 44px; }
  .billboard-redesign-head h2 { font-size: clamp(55px, 17vw, 82px); }
  .billboard-redesign-head p { font-size: 19px; margin-top: 36px; }

  .billboard-redesign-feature {
    gap: 68px;
    grid-template-columns: 1fr;
    padding: 28px 20px 56px;
  }

  .billboard-redesign-screen { border-width: 7px; max-width: 340px; }
  .billboard-redesign-feature figcaption { max-width: 340px; }
  .billboard-message-system > span { margin-bottom: 44px; }

  .billboard-message-system article {
    gap: 12px;
    grid-template-columns: 28px 1fr;
  }

  .billboard-message-system article p { grid-column: 2; }
  .billboard-message-system h3 { font-size: 13vw; }

  .billboard-launch-bar {
    display: block;
    margin: 70px -14px 0;
    padding: 0 14px;
  }

  .billboard-launch-bar > div { padding: 26px 10px; }
  .billboard-launch-bar > div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.35); }

  .billboard-event-details {
    grid-template-columns: 1fr;
  }

  .billboard-launch-note {
    gap: 48px;
    grid-template-columns: 1fr;
    margin: 54px 14px 0;
    padding: 44px 24px 38px;
  }

  .billboard-launch-stamp {
    max-width: 190px;
  }

  .billboard-launch-copy > span {
    margin-bottom: 34px;
  }

  .billboard-launch-copy h2 {
    font-size: clamp(43px, 13vw, 67px);
  }

  .billboard-launch-copy > p {
    font-size: 20px;
  }

  .billboard-launch-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .digital-billboard-section {
    margin-top: 72px;
    padding: 76px 14px;
  }

  .digital-billboard-heading {
    gap: 45px;
    grid-template-columns: 1fr;
    margin-bottom: 68px;
  }

  .digital-billboard-heading h2 {
    font-size: clamp(58px, 19vw, 92px);
  }

  .digital-billboard-heading p {
    font-size: 20px;
  }

  .ike-case-study {
    grid-template-columns: 1fr;
  }

  .ike-scroll-story {
    display: block;
  }

  .ike-scroll-story .ike-street-scene {
    height: 76vh;
    min-height: 620px;
    position: sticky;
    top: 0;
  }

  .ike-scroll-steps {
    position: relative;
    z-index: 6;
  }

  .ike-scroll-steps article {
    background: rgba(23,20,17,.96);
    min-height: 88vh;
    padding: 54px 26px;
  }

  .ike-scroll-steps article > strong {
    font-size: clamp(76px, 24vw, 112px);
  }

  .ike-street-scene {
    min-height: 690px;
    padding: 70px 18px 0;
  }

  .ike-kiosk {
    max-width: 290px;
    width: 72%;
  }

  .ike-project-details {
    padding: 56px 28px 64px;
  }

  .ike-project-details > span {
    margin-bottom: 50px;
  }

  .billboard-editorial-stage {
    gap: 46px;
    grid-template-columns: 1fr;
    padding: 46px 24px 68px;
  }

  .billboard-view-controls {
    border-radius: 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .billboard-view-controls label {
    text-align: center;
  }

  .billboard-editorial-frame {
    max-width: 390px;
  }

  .billboard-editorial-screen {
    border-width: 7px;
    box-shadow: 0 18px 38px rgba(23, 20, 17, .2);
  }

  .billboard-editorial-copy {
    gap: 28px;
    grid-template-columns: 1fr;
  }

  .billboard-process {
    grid-template-columns: 1fr;
  }

  .billboard-process article {
    min-height: 0;
    padding: 44px 12px;
  }

  .billboard-process article + article {
    border-left: 0;
    border-top: 1px solid rgba(23, 20, 17, .22);
  }

  .billboard-process article > span {
    margin-bottom: 42px;
  }

  .digital-billboard-stage {
    gap: 54px;
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 40px 22px 54px;
  }

  .digital-word-rail {
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    border-right: 0;
    flex-direction: row;
    justify-content: space-between;
  }

  .digital-word-rail span {
    font-size: clamp(20px, 7.5vw, 34px);
    padding: 0 0 20px;
  }

  .digital-totem {
    max-width: 390px;
  }

  .digital-motion-notes article {
    grid-template-columns: 34px 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .billboard-marquee div { animation: none; }
  .digital-word-rail span,
  .digital-art-base,
  .digital-art-focus,
  .digital-scan,
  .digital-live i {
    animation: none;
  }

  .digital-art-base {
    filter: none;
    transform: none;
  }

  .digital-art-focus,
  .digital-scan {
    display: none;
  }
}

/* Device-free responsive website presentation */
.ux-responsive-panel{background:#fff;border:1px solid #d6d6d2;box-shadow:0 28px 70px rgba(0,0,0,.13);display:flex;flex-direction:column;min-height:650px;padding:2.5rem;position:relative}.ux-responsive-panel.ux-phone-two{background:#111;color:#fff;transform:translateY(3rem)}.ux-responsive-panel .ux-phone-nav{border-bottom:1px solid currentColor;display:flex;font-size:.62rem;font-weight:800;justify-content:space-between;letter-spacing:.08em;padding-bottom:1rem}.ux-responsive-panel>small{display:block;font-size:.55rem;font-weight:800;letter-spacing:.13em;margin-top:3rem}.ux-responsive-panel h4{font-size:clamp(3.4rem,5vw,5.8rem);font-weight:700;letter-spacing:-.07em;line-height:.75;margin:2rem 0;text-transform:uppercase}.ux-responsive-panel h4 b{color:#e4002b}.ux-responsive-panel button{background:#e4002b;border:0;color:#fff;font-size:.58rem;font-weight:800;letter-spacing:.1em;padding:1rem 1.2rem;text-transform:uppercase;width:max-content}.ux-responsive-panel .ux-phone-stat{align-items:end;border-top:1px solid;display:flex;gap:1.4rem;margin-top:auto;padding-top:1.3rem}.ux-responsive-panel .ux-phone-stat strong{color:#e4002b;font-size:5rem;letter-spacing:-.08em;line-height:.8}.ux-responsive-panel .ux-phone-stat span{font-size:.68rem;line-height:1.4}.ux-responsive-panel label{display:block;font-size:.58rem;letter-spacing:.08em;margin-top:1.2rem}.ux-responsive-panel label+div{border-bottom:1px solid rgba(255,255,255,.5);height:2.2rem}.ux-responsive-panel.ux-phone-two button{margin-top:2.2rem;width:100%}
@media(max-width:760px){.ux-responsive-panel{min-height:560px;padding:1.6rem}.ux-responsive-panel.ux-phone-two{transform:none}.ux-responsive-panel h4{font-size:14vw}}
