/* ============================================================
   GLO BEVERAGE — Case Study Styles  v4
   Accent: linear-gradient(180deg, #FF2467 0%, #E57691 48.08%, #EDC621 89.64%)
   ============================================================ */

:root {
  --glo: linear-gradient(180deg, #FF2467 0%, #E57691 48.08%, #EDC621 89.64%);
  --glo-pink: #FF2467;
  --glo-mid:  #E57691;
  --glo-gold: #EDC621;
}

.glo-page {
  --case-accent: var(--glo);
  background:
    radial-gradient(circle at 78% 8%,  rgba(255,36,103,0.10), transparent 22%),
    radial-gradient(circle at 14% 22%, rgba(237,198,33, 0.07), transparent 24%),
    #000;
}

/* ── Header / shell / layout ─────────────────────────────── */
.glo-page .site-header         { border-bottom: 1px solid rgba(255,255,255,.12); }
.glo-page .case-shell          { padding-top: clamp(28px,4vw,56px); }
.glo-page .case-layout         { position:relative; gap:clamp(24px,3vw,52px); align-items:start; }
.glo-page .case-layout::after  {
  content:""; position:absolute; top:8px; bottom:8px;
  left: calc(var(--case-nav-width) + (var(--case-gap)/2));
  width:1px;
  background: linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.55) 20%,rgba(255,255,255,.14) 100%);
  pointer-events:none;
}

/* ── Side nav ────────────────────────────────────────────── */
.glo-page .case-side-nav       { top:138px; }
.glo-page .case-side-nav nav   { display:flex; flex-direction:column; }
.glo-page .case-side-nav-list  { display:grid; gap:16px; }
.glo-page .case-side-nav-gap   { height:8px; }
.glo-page .case-side-nav a     { color:rgba(255,255,255,.74); }
.glo-page .case-side-nav a:hover,
.glo-page .case-side-nav a.is-active {
  background:var(--glo); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.glo-page .case-side-nav .case-nav-jump:hover,
.glo-page .case-side-nav .case-nav-jump.is-active { color:#FBCB10; -webkit-text-fill-color:#FBCB10; background:none; }
.glo-page .case-nav-label {
  margin-top:10px; text-align:right; font-size:18px; font-weight:300;
  background:var(--glo); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.glo-page .case-nav-jump span { display:block; }

/* ── Section spacing ─────────────────────────────────────── */
.glo-page .case-section                 { scroll-margin-top:124px; }
.glo-page .case-section + .case-section { margin-top:clamp(72px,8vw,108px); }

/* ── Typography ──────────────────────────────────────────── */
.glo-page .case-section-title,
.glo-page .section-heading h2 {
  margin:0; font-size:clamp(2.35rem,3.8vw,3.125rem);
  font-weight:200; line-height:1.1; letter-spacing:-1px;
}
.glo-page .title-base  { color:#fff; }
.glo-page .section-subtitle { max-width:980px; margin-inline:auto; }
.glo-page .section-support { max-width:840px; margin-inline:auto; }
.glo-page .main-nav a::after,
.glo-page .footer-nav a::after,
.glo-page .email-link::after { background:var(--glo); }
.glo-page .challenge-card p,
.glo-page .section-support { font-weight:200; }

/* ── SHIMMER — fires on every .title-accent in glo-page ─── */
.glo-page .title-accent {
  background-image:
    linear-gradient(180deg, #FF2467 0%, #E57691 48.08%, #EDC621 89.64%),
    linear-gradient(110deg,
      transparent           0%,
      rgba(255,240,180,0)   22%,
      rgba(255,252,215,1.0) 46%,
      rgba(255,240,180,0)   70%,
      transparent          100%);
  background-size: 100% 100%, 230% 100%;
  background-position: 0 0, 150% 0;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gloShimmer 5s ease-in-out infinite;
}
@keyframes gloShimmer {
  0%,68%,100% { background-position: 0 0, 150% 0; }
  83%          { background-position: 0 0, -35% 0; }
}

/* ══════════════════════════════════════════════════════════
   HERO IMAGE — pulsing glow + periodic light sweep
══════════════════════════════════════════════════════════ */
@keyframes gloHeroGlow {
  0%,100% {
    box-shadow:
      0 0  40px rgba(255,36,103,.13),
      0 0  80px rgba(255,36,103,.06),
      0 18px 56px rgba(0,0,0,.28);
  }
  50% {
    box-shadow:
      0 0  72px rgba(255,36,103,.34),
      0 0 150px rgba(255,36,103,.15),
      0 0  90px rgba(237,198,33,.10),
      0 18px 56px rgba(0,0,0,.28);
  }
}

/* Diagonal light ray that sweeps across the image every ~9 s */
@keyframes gloHeroSweep {
  0%   { transform: translateX(-180%) skewX(-18deg); opacity:0; }
  4%   { opacity:.55; }
  50%  { opacity:.38; }
  96%  { opacity:.55; }
  100% { transform: translateX(280%)  skewX(-18deg); opacity:0; }
}

/* ══════════════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════════════ */
.glo-hero-section { position:relative; }

.glo-hero-media {
  position:relative; z-index:1;
  display:block; width:100%;
  min-height:clamp(360px,42vw,760px);
  overflow:hidden;
  border-radius:30px 30px 0 0;
  /* breathing glow — cycles every 4 s */
  animation: gloHeroGlow 4s ease-in-out infinite;
}

/* Light sweep — diagonal ray across the image every 9 s */
.glo-hero-media::after {
  content:"";
  position:absolute; inset:0; z-index:2;
  width:28%;
  background: linear-gradient(
    100deg,
    rgba(255,255,255,0)     0%,
    rgba(255,255,255,.18)  45%,
    rgba(255,255,255,.26)  50%,
    rgba(255,255,255,.18)  55%,
    rgba(255,255,255,0)   100%
  );
  transform: translateX(-180%) skewX(-18deg);
  animation: gloHeroSweep 9s cubic-bezier(.4,0,.2,1) infinite;
  pointer-events:none;
}

/* Video hero — no float, container handles glow + sweep */
.glo-hero-media video {
  display:block; width:100%; height:100%;
  min-height:inherit; object-fit:cover; object-position:center center;
  border-radius:30px 30px 0 0;
}

.glo-hero-panel {
  display:block; position:relative; z-index:2; width:100%;
  margin-top:clamp(-148px,-9vw,-108px);
  min-height:clamp(420px,33vw,560px);
  border-radius:0 0 40px 40px;
  background:linear-gradient(187deg,#000 -17.24%,#0D0D0D 46.87%,#292929 94.81%);
  padding:clamp(34px,3.8vw,62px) clamp(24px,4vw,54px) clamp(34px,4vw,58px);
  box-shadow:0 18px 60px rgba(0,0,0,.34),0 8px 24px rgba(0,0,0,.22);
  box-sizing:border-box;
}

.glo-hero-grid {
  display:grid;
  grid-template-columns:minmax(240px,.36fr) minmax(0,1fr);
  gap:clamp(24px,3.2vw,52px);
  align-items:end;
}
.glo-hero-left  { align-self:end; padding-bottom:12px; }
.glo-hero-left .case-section-title { text-align:left; }

.glo-hero-tagline {
  margin:16px 0 0;
  font-size:clamp(1rem,1.5vw,1.3rem);
  font-weight:300;
  color:#ffffff;
  line-height:1.3;
}

.glo-hero-right {
  display:grid; justify-items:end; text-align:right;
  align-self:start; width:min(100%, 980px); margin-left:auto;
}
.glo-hero-right h1 {
  margin:0; font-size:clamp(4rem,8vw,8.8rem);
  font-weight:700; letter-spacing:clamp(-3px,-0.45vw,-8px); line-height:.94;
  max-width:9.2ch;
}
.glo-hero-right h2 { margin:14px 0 0; font-size:clamp(1.55rem,2.2vw,2.35rem); font-weight:700; line-height:1.08; }

.glo-hero-accent {
  margin:14px 0 0; font-size:clamp(1.2rem,1.9vw,1.75rem); font-weight:400; line-height:1.1;
  background:var(--glo); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.glo-hero-body {
  max-width:760px; margin:18px 0 0 auto; font-size:17px;
  font-weight:200; line-height:1.42; letter-spacing:.42px;
  color:rgba(255,255,255,.88); text-align:right;
}

/* ══════════════════════════════════════════════════════════
   CHALLENGE
══════════════════════════════════════════════════════════ */
.challenge-section .case-section-shell {
  border-radius:48px;
  background:linear-gradient(178deg,#000 10.02%,#292929 98.65%);
  padding:clamp(36px,4vw,64px) clamp(18px,2.8vw,34px) clamp(26px,3vw,40px);
  box-shadow:0 18px 60px rgba(0,0,0,.34),0 8px 24px rgba(0,0,0,.22);
}
.challenge-heading { margin-bottom:clamp(34px,4vw,48px); }
.challenge-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }

.challenge-card {
  position:relative; min-height:490px; padding:28px 28px 32px;
  border-radius:48px; background:var(--card-bg); border:var(--border-soft);
  box-shadow:var(--shadow-md); overflow:hidden; isolation:isolate;
  transition:transform .35s var(--ease), border-color .35s ease, box-shadow .35s ease;
}
.challenge-card::before {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(260px 220px at var(--glow-x,50%) var(--glow-y,24%),rgba(255,36,103,.22),transparent 50%),
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 28%);
  opacity:0; transition:opacity .35s var(--ease); pointer-events:none; z-index:0;
}
.challenge-card:hover { transform:translateY(-8px) scale(1.01); border-color:rgba(255,36,103,.28); box-shadow:0 24px 54px rgba(0,0,0,.36),0 0 32px rgba(255,36,103,.10); }
.challenge-card:hover::before { opacity:1; }
.challenge-card > * { position:relative; z-index:1; }

.challenge-card-icon { min-height:110px; display:flex; align-items:flex-end; justify-content:center; }
.icon-glo { width:97px; height:95px; display:flex; align-items:center; justify-content:center; }
.icon-glo img {
  width:97px; height:95px; object-fit:contain;
  filter:brightness(0) saturate(100%) invert(29%) sepia(97%) saturate(2000%) hue-rotate(320deg) brightness(105%) contrast(100%);
}
.challenge-card h3 { margin:34px 0 0; font-size:24px; font-weight:600; line-height:1.35; }
.challenge-card p  { margin:18px 0 0; font-size:18px; font-weight:200; line-height:1.4; letter-spacing:.54px; }
.challenge-list { margin:16px 0 0; padding-left:18px; color:rgba(255,255,255,.72); font-size:.95rem; line-height:1.65; }

/* ══════════════════════════════════════════════════════════
   QUOTES
══════════════════════════════════════════════════════════ */
.glo-quote-wrap { padding-top:clamp(24px,4vw,54px); }
.case-quote { display:flex; justify-content:center; margin:0; max-width:1052px; margin-inline:auto; }
.case-quote img { width:min(1160px,100%); height:auto; object-fit:contain; }

/* ══════════════════════════════════════════════════════════
   PROCESS STEP CARDS
══════════════════════════════════════════════════════════ */
.proc-card {
  display:grid;
  grid-template-columns: minmax(240px,.45fr) minmax(0,1fr);
  gap:clamp(24px,3vw,48px); align-items:center;
  margin-top:clamp(32px,4vw,52px);
  padding:clamp(28px,3vw,44px);
  border-radius:48px;
  background:linear-gradient(178deg,#000 10.02%,#292929 98.65%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 18px 60px rgba(0,0,0,.28);
  overflow:hidden;
}

.proc-num {
  margin:0 0 10px; font-size:clamp(2.2rem,3.5vw,3rem);
  font-weight:700; line-height:1; letter-spacing:-2px;
  background:var(--glo); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.proc-title {
  margin:0 0 16px;
  font-size:clamp(1.3rem,1.8vw,1.75rem); font-weight:400; line-height:1.1;
  background:var(--glo); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.proc-body { margin:0; font-size:15px; font-weight:300; line-height:1.65; color:rgba(255,255,255,.82); }

.proc-media {
  position:relative; border-radius:32px; overflow:hidden;
  box-shadow:4px 20px 30px 0 rgba(0,0,0,.35);
}
.proc-media--single {
  aspect-ratio:15/8;
  cursor:zoom-in;
}
.proc-media--carousel {
  height:clamp(380px,36vw,540px);
  position:relative;
}

.proc-media--single img {
  display:block; width:100%; height:100%;
  object-fit:cover;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}
.proc-media--single:hover img { transform:scale(1.04); }

.proc-zoom-tag {
  position:absolute; bottom:14px; right:16px;
  font-size:.72rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  color:rgba(255,255,255,.75); background:rgba(0,0,0,.5); padding:5px 10px;
  border-radius:20px; pointer-events:none;
  opacity:0; transition:opacity .28s ease; z-index:3;
}
.proc-media--single:hover .proc-zoom-tag { opacity:1; }

/* ── Arrow carousel wrapper ──────────────────────────────── */
.carousel-wrap {
  position:relative; width:100%; height:100%;
}

.carousel-arrow {
  position:absolute; top:50%; z-index:4;
  transform:translateY(-50%);
  width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(0,0,0,.6); backdrop-filter:blur(6px);
  color:#fff; font-size:1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .22s ease, transform .22s ease;
  flex-shrink:0;
}
.carousel-arrow:hover { background:rgba(255,255,255,.15); transform:translateY(-50%) scale(1.1); }
.carousel-arrow.prev { left:10px; }
.carousel-arrow.next { right:10px; }

.glo-carousel {
  display:flex; gap:0;
  width:100%; height:100%;
  /* overflow:hidden must NOT be here — parent .proc-media / .brand-media clips.
     Having it on the track makes the clip move with the transform, freezing slide 1. */
  will-change:transform;
}
.glo-carousel img {
  flex:0 0 100%; width:100%; height:100%;
  object-fit:cover;
  border-radius:0;
  cursor:zoom-in;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
  user-select:none; -webkit-user-drag:none;
  min-width:100%; max-width:100%;
}
.glo-carousel img:hover { transform:scale(1.03); }

.carousel-dots {
  position:absolute; bottom:12px; left:50%;
  transform:translateX(-50%);
  display:flex; gap:6px; z-index:3;
}
.carousel-dot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,.35); border:none; cursor:pointer;
  transition:background .22s ease, transform .22s ease; padding:0;
}
.carousel-dot.is-active {
  background:#fff; transform:scale(1.2);
}

/* Sketch / mockup carousel — contain so images don't crop */
.proc-media--carousel .glo-carousel img {
  object-fit:contain;
  object-position:center;
  background:transparent;
  padding: clamp(12px, 1.2vw, 18px);
}

/* ── Slide animations ────────────────────────────────────── */
.slide-left, .slide-right {
  opacity:0;
  transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
}
.slide-left  { transform:translateX(-44px); }
.slide-right { transform:translateX( 44px); }
.slide-left.in-view,
.slide-right.in-view { opacity:1; transform:translateX(0); }
.slide-right.in-view { transition-delay:.1s; }

/* ══════════════════════════════════════════════════════════
   BRAND SECTION
══════════════════════════════════════════════════════════ */
.brand-card {
  display:grid;
  grid-template-columns: minmax(240px,.45fr) minmax(0,1fr);
  gap:clamp(24px,3vw,48px); align-items:center;
  margin-top:clamp(32px,4vw,52px);
  padding:clamp(28px,3vw,44px);
  border-radius:48px;
  background:linear-gradient(178deg,#000 10.02%,#292929 98.65%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 18px 60px rgba(0,0,0,.28);
  overflow:hidden;
  transition:transform .35s var(--ease), border-color .35s ease;
}
.brand-card:hover { transform:translateY(-4px); border-color:rgba(255,36,103,.18); }

.brand-copy { display:flex; flex-direction:column; justify-content:center; }
.brand-title {
  margin:0 0 16px; font-size:clamp(1.3rem,1.8vw,1.75rem); font-weight:400; line-height:1.1;
  background:var(--glo); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.brand-body { margin:0; font-size:15px; font-weight:300; line-height:1.65; color:rgba(255,255,255,.82); }

.brand-media { position:relative; border-radius:32px; overflow:hidden; box-shadow:4px 20px 30px rgba(0,0,0,.3); }
.brand-media--img { aspect-ratio:16/9; cursor:zoom-in; }
.brand-media--img img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s cubic-bezier(.22,.61,.36,1); }
.brand-media--img:hover img { transform:scale(1.04); }
.brand-media--img:hover .proc-zoom-tag { opacity:1; }

/* Color grid */
.brand-media--colors { border-radius:32px; overflow:hidden; padding:0; background:transparent; box-shadow:none; }
.color-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:12px;
}
.color-img {
  display:block; width:100%; aspect-ratio:1/1;
  object-fit:cover; border-radius:20px;
  cursor:zoom-in;
  transition:transform .45s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease;
}
.color-img:hover { transform:scale(1.06); box-shadow:0 12px 36px rgba(0,0,0,.4); }

/* Power of Color card */
.brand-card--power {
  grid-template-columns: minmax(280px,.32fr) minmax(0,1fr);
  align-items:stretch;
}
.brand-card--power .brand-copy {
  justify-content:center;
  border-radius:32px;
  padding:clamp(18px,2vw,26px);
  background:linear-gradient(178deg,#000 10.02%,#292929 98.65%);
}
.brand-power-media {
  border-radius:32px;
  padding:clamp(26px,2.3vw,34px) clamp(22px,2vw,30px);
  background:linear-gradient(178deg,#000 10.02%,#292929 98.65%);
  box-shadow:4px 20px 30px rgba(0,0,0,.3);
  min-height:clamp(360px, 30vw, 460px);
}
.power-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(20px,1.8vw,28px);
  align-items:end;
  min-height:100%;
}
.power-item {
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:clamp(280px, 27vw, 420px);
}
.power-item img {
  display:block;
  width:115%;
  max-width:none;
  max-height:clamp(280px, 27vw, 420px);
  object-fit:contain;
  object-position:center bottom;
  cursor:zoom-in;
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
}
.power-item img:hover { transform:translateY(-8px) scale(1.03); }

/* Art in a Can card */
.brand-card--art {
  grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);
  align-items:center;
}

/* ══════════════════════════════════════════════════════════
   ART IN A CAN — labels carousel: no border-radius, contain
══════════════════════════════════════════════════════════ */
.brand-media--labels {
  height:clamp(360px, 28vw, 520px);
  background:linear-gradient(178deg,#000 10.02%,#292929 98.65%);
  border-radius:0;          /* fully rectangular, overrides .brand-media */
}

.brand-media--labels .glo-carousel img {
  object-fit:contain;
  object-position:center;
  padding:clamp(20px, 2vw, 30px);
  background:transparent;
}

.brand-media--labels .carousel-arrow.prev { left:14px; }
.brand-media--labels .carousel-arrow.next { right:14px; }

/* ══════════════════════════════════════════════════════════
   AD CONCEPT
══════════════════════════════════════════════════════════ */
.ad-box {
  margin-top:clamp(28px,4vw,44px);
  border-radius:32px; overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
  cursor:zoom-in;
}
.ad-box img {
  display:block; width:100%; height:auto; object-fit:contain;
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.ad-box:hover img { transform:scale(1.02); }

/* ══════════════════════════════════════════════════════════
   LIGHTBOX
══════════════════════════════════════════════════════════ */
.glo-lightbox {
  position:fixed; inset:0; z-index:1400;
  display:grid; place-items:center; padding:32px;
  background:rgba(0,0,0,0); opacity:0; pointer-events:none;
  transition:opacity .28s ease, background .28s ease;
}
.glo-lightbox.is-open { opacity:1; pointer-events:auto; background:rgba(0,0,0,.92); }
.glo-lb-inner {
  width:min(1280px,100%); max-height:88vh;
  display:flex; align-items:center; justify-content:center;
  transform:scale(.94); transition:transform .3s cubic-bezier(.22,.61,.36,1);
}
.glo-lightbox.is-open .glo-lb-inner { transform:scale(1); }
.glo-lb-inner img { max-width:100%; max-height:88vh; border-radius:16px; box-shadow:0 28px 80px rgba(0,0,0,.6); display:block; }
.glo-lb-close {
  position:fixed; top:20px; right:24px; width:48px; height:48px; border-radius:50%;
  border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.07);
  backdrop-filter:blur(8px); color:#fff; font-size:1.3rem; cursor:pointer;
  display:grid; place-items:center;
  transition:background .22s ease, transform .22s ease; z-index:10;
}
.glo-lb-close:hover { background:rgba(255,255,255,.16); transform:scale(1.08); }

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════ */
@media (max-width:1240px) {
  .glo-page .case-layout::after { display:none; }
  .glo-hero-grid    { grid-template-columns:1fr; }
  .glo-hero-right, .glo-hero-right h2, .glo-hero-accent, .glo-hero-body { text-align:left; margin-left:0; }
  .glo-hero-right   { justify-items:start; width:100%; }
  .challenge-grid   { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .proc-card, .brand-card, .brand-card--power, .brand-card--art { grid-template-columns:1fr; }
  .brand-power-media { padding:22px 18px; }
  .slide-left  { transform:translateY(28px); }
  .slide-right { transform:translateY(28px); }
  .slide-left.in-view, .slide-right.in-view { transform:translateY(0); }
  .slide-right.in-view { transition-delay:0s; }
}

@media (max-width:900px) {
  .glo-hero-panel   { border-radius:28px; padding:24px 22px 30px; margin-top:-72px; }
  .challenge-card   { min-height:420px; border-radius:36px; }
  .proc-card, .brand-card, .brand-card--power { border-radius:32px; padding:24px 20px 28px; }
  .proc-media, .brand-media--img, .brand-power-media { border-radius:24px; }
  .power-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brand-media--labels { height:clamp(240px, 42vw, 380px); }
  .power-item img { width:100%; max-height:clamp(220px, 30vw, 320px); }
}

@media (max-width:620px) {
  .glo-hero-media   { border-radius:20px 20px 0 0; min-height:280px; }
  .glo-hero-panel   { border-radius:0 0 24px 24px; margin-top:-36px; }
  .glo-hero-right h1 { font-size:clamp(3rem,15vw,4.8rem); max-width:100%; }
  .challenge-grid   { grid-template-columns:1fr; }
  .challenge-card   { min-height:auto; border-radius:28px; }
  .glo-quote-wrap   { display:none; }
  .proc-card, .brand-card, .brand-card--power { border-radius:24px; padding:20px 16px 24px; }
  .color-grid       { grid-template-columns:1fr 1fr; gap:8px; }
  .color-img        { border-radius:14px; }
  .power-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .power-item { min-height:180px; }
  .brand-media--labels { height:clamp(180px, 56vw, 280px); }
  .proc-media--carousel .glo-carousel img { padding:10px; }
}
