/* Campaign-only treatment; immersive section sizing is shared with the gallery. */
#campaign-study.immersive-campaign {
  position: relative;
  isolation: isolate;
  min-height: max(clamp(640px, 85svh, 900px), 44vw);
  overflow: hidden;
  background: #70492d;
  color: #fff7e9;
}

#campaign-study.immersive-campaign::after { display: none; }

#campaign-study .campaign-scene-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 68%;
}

#campaign-study .campaign-scene-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, #251b13e8 0%, #251b13c4 25%, #251b1363 46%, #251b130d 72%), linear-gradient(0deg, #3522154d, transparent 45%);
}

#campaign-study .campaign-immersive-copy {
  position: absolute;
  z-index: 2;
  left: 6vw;
  top: 50%;
  transform: translateY(-50%);
  width: 42%;
  max-width: 475px;
  margin: 0;
  padding: 0;
}

#campaign-study .campaign-immersive-copy .eyebrow {
  color: #f9e9d0;
  font-size: 11px;
  letter-spacing: .14em;
}

#campaign-study .campaign-immersive-copy h3 {
  margin: 30px 0 26px;
  color: #fff8eb;
  font-size: clamp(46px, 5.1vw, 74px);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.05em;
}

#campaign-study .campaign-immersive-copy h3 em { color: #f0cf9e; }

#campaign-study .campaign-immersive-copy p {
  max-width: 345px;
  margin: 0 0 32px;
  color: #faeedc;
  font-size: 16px;
  line-height: 1.75;
}

#campaign-study .campaign-immersive-copy .medium-label {
  display: block;
  max-width: 360px;
  color: #e9d4b8;
  font-size: 10px;
  line-height: 1.8;
  letter-spacing: .09em;
}

#campaign-study .campaign-format-experience {
  position: absolute;
  z-index: 5;
  top: 50%;
  right: 6vw;
  width: 44%;
  max-width: 640px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

#campaign-study .campaign-placement-controls {
  position: relative;
  z-index: 4;
  display: inline-flex;
  flex-wrap: nowrap;
  width: max-content;
  max-width: 100%;
  gap: 3px;
  margin: 0 0 14px;
  padding: 4px;
  border: 1px solid #fff8e7b3;
  border-radius: 12px;
  background: #f6edddf2;
  box-shadow: 0 8px 28px #28170e26;
}

#campaign-study .campaign-placement-controls button {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  margin: 0;
  padding: 11px 17px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #493323;
  font: inherit;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}

#campaign-study .campaign-placement-controls button:hover { background: #dfceb5; }
#campaign-study .campaign-placement-controls button[aria-pressed=true] { color: #fff5e5; background: #493323; border-color: #493323; }
#campaign-study .campaign-placement-controls button:focus-visible { outline: 2px solid #b94827; outline-offset: 2px; }
#campaign-study .format-symbol { display: block; flex: none; width: 12px; height: 12px; border: 1px solid currentColor; border-radius: 1px; }
#campaign-study .format-story { width: 8px; height: 14px; }
#campaign-study .format-web { width: 16px; height: 10px; }

#campaign-study .campaign-format-stage {
  display: grid;
  place-items: center;
  width: 100%;
  height: clamp(340px, 52svh, 490px);
  padding: 0;
  border: 0;
  background: transparent;
}

#campaign-study .campaign-art {
  position: relative;
  flex: none;
  height: auto;
  max-height: none;
  margin: 0;
  overflow: hidden;
  background: #f4ebd9;
  color: #fff3db;
  box-shadow: 0 24px 60px #25170861, 0 1px 0 #fff7e17a inset;
  border: 1px solid #fff2d85e;
}

#campaign-study .campaign-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 68%; }
#campaign-study .campaign-art-brand { position: absolute; z-index: 2; top: 25px; left: 27px; font-size: 12px; font-weight: 500; letter-spacing: .16em; }
#campaign-study .campaign-art > strong { position: absolute; z-index: 2; top: auto; left: 27px; bottom: 60px; margin: 0; font-size: clamp(38px, 3.7vw, 54px); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
#campaign-study .campaign-art > strong em { color: inherit; }
#campaign-study .campaign-art-line { position: absolute; z-index: 2; left: 27px; bottom: 25px; font-size: 10px; letter-spacing: .09em; }
#campaign-study .campaign-art-arrow { position: absolute; z-index: 2; right: 25px; bottom: 20px; font-size: 28px; }

#campaign-study .campaign-art[data-format=square] { width: min(420px, 92%, 46svh); height: auto; aspect-ratio: 1; }
#campaign-study .campaign-art[data-format=square]::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #271b10f0, #271b1021 65%), linear-gradient(180deg, #271b1066, transparent 30%); }

#campaign-study .campaign-art[data-format=story] { width: min(260px, 56%, 27svh); height: auto; aspect-ratio: 9/16; color: #473322; }
#campaign-study .campaign-art[data-format=story] img { top: 35%; left: 0; width: 100%; height: 51%; object-position: center 65%; }
#campaign-study .campaign-art[data-format=story] .campaign-art-brand { left: 20px; top: 21px; font-size: 11px; }
#campaign-study .campaign-art[data-format=story] > strong { left: 20px; top: 56px; bottom: auto; font-size: clamp(30px, 2.8vw, 39px); }
#campaign-study .campaign-art[data-format=story] .campaign-art-line { left: 20px; bottom: 23px; font-size: 9px; }
#campaign-study .campaign-art[data-format=story] .campaign-art-arrow { right: 18px; bottom: 18px; font-size: 24px; }

#campaign-study .campaign-art[data-format=landscape] { width: 100%; height: auto; aspect-ratio: 1.95; color: #473322; }
#campaign-study .campaign-art[data-format=landscape] img { left: 51%; top: 0; width: 49%; height: 100%; object-position: center 65%; }
#campaign-study .campaign-art[data-format=landscape] .campaign-art-brand { left: 6%; top: 11%; font-size: 12px; }
#campaign-study .campaign-art[data-format=landscape] > strong { left: 6%; top: 35%; bottom: auto; font-size: clamp(32px, 3.6vw, 49px); }
#campaign-study .campaign-art[data-format=landscape] .campaign-art-line { left: 6%; bottom: 11%; font-size: 9px; }
#campaign-study .campaign-art[data-format=landscape] .campaign-art-arrow { right: 5%; bottom: 8%; color: #fff3db; }

#campaign-study .campaign-format-experience > .treatment-status {
  min-height: 28px;
  margin: 13px 0 0;
  padding: 5px 11px;
  border-radius: 3px;
  background: #2a1c12a8;
  color: #fff1db;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

@media(max-width:1050px) {
  #campaign-study .campaign-immersive-copy h3 { font-size: clamp(38px, 4.6vw, 52px); }
  #campaign-study .campaign-immersive-copy p { max-width: 300px; font-size: 15px; }
  #campaign-study .campaign-placement-controls button { gap: 7px; padding-inline: 13px; font-size: 13px; }
  #campaign-study .campaign-art[data-format=landscape] > strong { font-size: 34px; }
  #campaign-study .campaign-art[data-format=story] .campaign-art-brand { font-size: 10px; }
  #campaign-study .campaign-art[data-format=story] > strong { top: 50px; font-size: 31px; }
  #campaign-study .campaign-art[data-format=story] .campaign-art-line { font-size: 10px; }
}

@media(max-width:760px) {
  #campaign-study.immersive-campaign { min-height: 850px; }
  #campaign-study .campaign-scene-image { object-position: center 55%; }
  #campaign-study .campaign-scene-shade { background: linear-gradient(180deg, #251b1333 0%, #251b130d 28%, #251b1380 51%, #251b13eb 73%, #251b13f7 100%); }
  #campaign-study .campaign-format-experience { top: 32px; left: 6vw; right: 6vw; width: auto; max-width: none; transform: none; }
  #campaign-study .campaign-format-stage { height: 310px; }
  #campaign-study .campaign-placement-controls { margin-bottom: 13px; }
  #campaign-study .campaign-placement-controls button { min-height: 44px; padding: 10px 16px; font-size: 13px; }
  #campaign-study .campaign-art[data-format=square] { width: min(290px, 86%); }
  #campaign-study .campaign-art[data-format=square] .campaign-art-brand { left: 21px; top: 19px; font-size: 11px; }
  #campaign-study .campaign-art[data-format=square] > strong { left: 21px; bottom: 51px; font-size: 39px; }
  #campaign-study .campaign-art[data-format=square] .campaign-art-line { left: 21px; bottom: 20px; font-size: 9px; }
  #campaign-study .campaign-art[data-format=square] .campaign-art-arrow { right: 20px; bottom: 15px; font-size: 26px; }
  #campaign-study .campaign-art[data-format=story] { width: 174px; }
  #campaign-study .campaign-art[data-format=story] .campaign-art-brand { top: 15px; left: 16px; font-size: 10px; }
  #campaign-study .campaign-art[data-format=story] > strong { top: 39px; left: 16px; font-size: 28px; }
  #campaign-study .campaign-art[data-format=story] .campaign-art-line { left: 16px; bottom: 16px; font-size: 9px; }
  #campaign-study .campaign-art[data-format=story] .campaign-art-arrow { right: 14px; bottom: 12px; font-size: 21px; }
  #campaign-study .campaign-art[data-format=landscape] { width: min(100%, 530px); }
  #campaign-study .campaign-art[data-format=landscape] .campaign-art-brand { font-size: 11px; }
  #campaign-study .campaign-art[data-format=landscape] > strong { font-size: clamp(28px, 5.8vw, 42px); }
  #campaign-study .campaign-art[data-format=landscape] .campaign-art-line { font-size: 9px; }
  #campaign-study .campaign-art[data-format=landscape] .campaign-art-arrow { font-size: 24px; }
  #campaign-study .campaign-format-experience > .treatment-status { margin-top: 11px; font-size: 11px; }
  #campaign-study .campaign-immersive-copy { top: auto; bottom: 36px; transform: none; width: 88%; max-width: 500px; }
  #campaign-study .campaign-immersive-copy .eyebrow { font-size: 10px; }
  #campaign-study .campaign-immersive-copy h3 { margin: 18px 0; font-size: 43px; }
  #campaign-study .campaign-immersive-copy p { max-width: 380px; margin-bottom: 20px; font-size: 15px; line-height: 1.65; }
  #campaign-study .campaign-immersive-copy .medium-label { max-width: 360px; font-size: 9px; }
}

@media(max-width:380px) {
  #campaign-study .campaign-placement-controls button { padding-inline: 12px; gap: 7px; }
  #campaign-study .campaign-immersive-copy h3 { font-size: 39px; }
  #campaign-study .campaign-art[data-format=landscape] > strong { font-size: 27px; }
  #campaign-study .campaign-art[data-format=landscape] .campaign-art-brand { font-size: 10px; }
  #campaign-study .campaign-art[data-format=landscape] .campaign-art-line { font-size: 9px; }
}
