
  :root {
    --edu-logo-main: rgba(0,0,0,.90);
    --edu-logo-accent: #d60a00;
  }
  body[data-theme="dark"] {
    --edu-logo-main: #f5f3ee;
    --edu-logo-accent: #ff3b30;
  }
  .brand,
  .case-brand,
  .blog-brand,
  .article-brand {
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:0;
  }
  .brand-logo {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:clamp(136px, 14.4vw, 256px);
    max-width:100%;
  }
  .brand .brand-logo { width:clamp(144px, 15.2vw, 272px); }
  .case-brand .brand-logo,
  .blog-brand .brand-logo,
  .article-brand .brand-logo { width:clamp(106px, 10.4vw, 176px); }
  .eduardo-signature-svg {
    display:block;
    width:100%;
    height:auto;
    overflow:visible;
  }
  .eduardo-signature-svg .logo-main { fill: var(--edu-logo-main); }
  .eduardo-signature-svg .logo-accent { fill: var(--edu-logo-accent); }
  @media (max-width: 920px) {
    .brand .brand-logo { width:min(43.2vw, 208px); }
    .case-brand .brand-logo,
    .blog-brand .brand-logo,
    .article-brand .brand-logo { width:min(36.8vw, 168px); }
  }
  @media (max-width: 560px) {
    .brand .brand-logo { width:min(46.4vw, 184px); }
    .case-brand .brand-logo,
    .blog-brand .brand-logo,
    .article-brand .brand-logo { width:min(40vw, 152px); }
  }

/* =====================================================================
   v46.41 — CASE READABILITY + LOGO SAFE PLATE
   1) Portfolio copy is readable immediately: no blur/opacity gate on text.
   2) Case logo gets a compact glass plate so images can scroll behind it.
   ===================================================================== */

/* Text should NEVER depend on the cinematic reveal engine to be readable. */
#caseView .case-intro .project-copy > *,
#caseView .case-sequence > .case-text,
#caseView .project-end{
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}

/* Keep a subtle entrance without sacrificing legibility. */
#caseView.open .case-intro .project-copy{
  opacity:1!important;
  filter:none!important;
}

/* The top logo must remain readable over light or dark project imagery. */
#caseView .case-top{
  mix-blend-mode:normal!important;
}

#caseView .case-brand{
  overflow:visible!important;
  isolation:isolate;
}

#caseView .case-brand .brand-logo{
  box-sizing:border-box;
  padding:7px 13px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:
    0 8px 28px rgba(0,0,0,.075),
    inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(16px) saturate(1.12);
  -webkit-backdrop-filter:blur(16px) saturate(1.12);
}

body.theme-dark #caseView .case-brand .brand-logo,
body[data-theme="dark"] #caseView .case-brand .brand-logo{
  border-color:rgba(255,255,255,.10);
  background:rgba(13,15,16,.84);
  box-shadow:
    0 8px 28px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.05);
}

/* Avoid the intro feeling lost under a large empty white field on desktop. */
@media(min-width:701px){
  #caseView .case-intro{
    margin-top:clamp(34px,5vh,58px)!important;
  }
}

/* Mobile plate stays compact and never fights the back/language controls. */
@media(max-width:700px){
  #caseView .case-brand .brand-logo{
    padding:5px 9px;
    border-radius:14px;
    box-shadow:0 6px 20px rgba(0,0,0,.065);
  }

  #caseView .case-intro .project-copy > *,
  #caseView .case-sequence > .case-text{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
  }
}


/* =====================================================================
   v46.46 — PERFORMANCE-SAFE CASE FIX
   No blur state machine. No subtree observers. No repeated DOM sweeps.
   ===================================================================== */

#caseView .case-intro,
#caseView .case-intro .project-copy,
#caseView .case-intro .project-copy > *,
#caseView .case-sequence,
#caseView .case-sequence > img,
#caseView .case-sequence > figure,
#caseView .case-sequence > .case-text,
#caseView .project-end,
#caseView .move-project-image,
#caseView .stock-project-image,
#caseView .amazing-project-image{
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
  will-change:auto!important;
}

#caseView .case-reveal-in,
#caseView.case-reveal-ready .case-reveal-in{
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
}

#caseView .case-intro .project-copy > *,
#caseView .case-sequence > img,
#caseView .case-sequence > .case-text,
#caseView .project-end{
  transition-property:transform!important;
  transition-duration:.18s!important;
}

/* Full-width glass header */
#caseView .case-top{
  position:sticky!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  min-height:76px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  padding:
    max(11px,env(safe-area-inset-top))
    max(20px,env(safe-area-inset-right))
    11px
    max(20px,env(safe-area-inset-left))!important;
  background:linear-gradient(180deg,
    rgba(255,255,255,.80) 0%,
    rgba(255,255,255,.64) 58%,
    rgba(255,255,255,.52) 100%)!important;
  border-bottom:1px solid rgba(20,20,20,.075)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 12px 34px rgba(24,28,32,.065)!important;
  backdrop-filter:blur(22px) saturate(1.28)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.28)!important;
  isolation:isolate!important;
  mix-blend-mode:normal!important;
}

#caseView .case-top::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(110deg,
    rgba(255,255,255,.24),
    rgba(255,255,255,.06) 40%,
    transparent 68%)!important;
}

#caseView .case-brand{
  grid-column:2!important;
  justify-self:center!important;
  position:relative!important;
  z-index:2!important;
  overflow:visible!important;
}

#caseView .case-brand .brand-logo{
  width:clamp(138px,13vw,224px)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

#caseView .case-back{
  grid-column:1!important;
  justify-self:start!important;
  position:relative!important;
  z-index:2!important;
}

body.theme-dark #caseView .case-top,
body[data-theme="dark"] #caseView .case-top{
  background:linear-gradient(180deg,
    rgba(12,14,16,.80) 0%,
    rgba(12,14,16,.65) 58%,
    rgba(12,14,16,.53) 100%)!important;
  border-bottom-color:rgba(255,255,255,.09)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 14px 36px rgba(0,0,0,.19)!important;
}

@media(max-width:700px){
  #caseView .case-top{
    min-height:66px!important;
    padding:
      max(9px,env(safe-area-inset-top))
      max(14px,env(safe-area-inset-right))
      9px
      max(14px,env(safe-area-inset-left))!important;
    backdrop-filter:blur(18px) saturate(1.22)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.22)!important;
  }
  #caseView .case-brand{
    max-width:calc(100vw - 148px)!important;
  }
  #caseView .case-brand .brand-logo{
    width:min(42vw,162px)!important;
  }
}


/* v46.47 — Stock Company editorial SEO/GEO layers */
.stock-company-editorial.case-text{
  background:
    radial-gradient(circle at 88% 10%,rgba(255,91,85,.12),transparent 24%),
    radial-gradient(circle at 14% 88%,rgba(48,113,170,.18),transparent 30%),
    linear-gradient(135deg,#04172b 0%,#072541 58%,#06182d 100%)!important;
}
.stock-company-editorial .move-editorial-index,
.stock-company-editorial .move-market-note span{
  color:#ff655e!important;
}
.stock-company-editorial .move-market-note{
  border-top-color:rgba(255,101,94,.32)!important;
}


/* =====================================================================
   v46.54 — RIGHT PROJECT MENU EXACTLY IN THE ANNEX LANGUAGE
   Existing project index only. No extra overlay. No heavy observers.
   ===================================================================== */
.side{
  position:fixed!important;
  right:18px!important;
  top:17vh!important;
  bottom:26px!important;
  width:160px!important;
  transform:none!important;
  z-index:26!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  text-align:left!important;
  pointer-events:auto!important;
}
.side .project-filter{
  position:relative!important;
  width:100%!important;
  min-height:27px!important;
  margin:0!important;
  padding:0 0 0 2px!important;
  border:0!important;
  border-bottom:1px solid rgba(17,17,17,.085)!important;
  background:transparent!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:5px!important;
  color:#858580!important;
  text-align:left!important;
  cursor:pointer!important;
  font-family:inherit!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:0!important;
  transition:color .17s ease, transform .17s ease!important;
}
.side .project-filter::before{
  content:""!important;
  position:absolute!important;
  left:-10px!important;
  top:50%!important;
  width:4px!important;
  height:4px!important;
  margin-top:-2px!important;
  border-radius:50%!important;
  background:transparent!important;
  transition:background .16s ease, transform .16s ease!important;
}
.side .project-filter small{
  grid-column:1!important;
  grid-row:1!important;
  margin:0!important;
  padding:0!important;
  font-family:inherit!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:400!important;
  color:#8f8f8b!important;
  vertical-align:baseline!important;
  text-align:left!important;
}
.side .project-filter .project-filter-title{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-family:inherit!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:400!important;
  color:inherit!important;
}
.side .project-filter:hover{
  color:#252522!important;
  transform:translateX(-1px)!important;
}
.side .project-filter.active{
  color:#111!important;
  font-weight:700!important;
}
.side .project-filter.active::before{
  background:#ff5b55!important;
  transform:scale(1.05)!important;
}
.side .project-filter.active small{
  color:#111!important;
  font-weight:600!important;
}
.side .project-filter.active .project-filter-title{
  color:#111!important;
  font-weight:700!important;
}
.side-contact-cta{
  margin-top:auto!important;
  width:100%!important;
  height:41px!important;
  padding:0 12px!important;
  border:1px solid rgba(17,17,17,.06)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 8px 24px rgba(20,20,20,.08)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:#55544f!important;
  text-decoration:none!important;
  font-family:inherit!important;
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,color .18s ease!important;
}
.side-contact-cta:hover{
  color:#111!important;
  transform:translateY(-1px)!important;
  box-shadow:0 10px 28px rgba(20,20,20,.11)!important;
}
.side-contact-cta .arrow{
  font-size:14px!important;
  line-height:1!important;
  transform:translateY(-.5px)!important;
}
body.theme-dark .side .project-filter{
  border-bottom-color:rgba(255,255,255,.10)!important;
  color:#999!important;
}
body.theme-dark .side .project-filter.active,
body.theme-dark .side .project-filter.active small,
body.theme-dark .side .project-filter.active .project-filter-title{
  color:#f3f2ee!important;
}
body.theme-dark .side-contact-cta{
  background:rgba(21,23,24,.94)!important;
  border-color:rgba(255,255,255,.09)!important;
  color:#dad8d2!important;
  box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
}
@media(max-width:900px){
  .side{
    right:10px!important;
    top:auto!important;
    bottom:70px!important;
    width:138px!important;
    max-height:58vh!important;
    overflow-y:auto!important;
    overflow-x:visible!important;
    scrollbar-width:none!important;
  }
  .side::-webkit-scrollbar{display:none!important}
  .side .project-filter{min-height:25px!important}
  .side-contact-cta{position:sticky!important;bottom:0!important;margin-top:10px!important}
}




/* v46.55 — move only the right project menu downward.
   Gap to WhatsApp = 30% of its 56px desktop diameter (~17px). */
@media(min-width:901px){
  .side{
    top:28vh!important;
    bottom:91px!important;
  }
}

/* =====================================================================
   v46.58 — ALL THUMBNAIL HOVERS + CONTACT BESIDE WHATSAPP + NO HEADER TIME
   Matches the reference: lifted card, warm rim light, title/details beside card.
   ===================================================================== */
.card{
  transform-origin:center center!important;
}
.card.is-hover{
  cursor:pointer;
}
.card.is-hover::before{
  opacity:.95!important;
  background:
    linear-gradient(125deg,
      rgba(255,252,244,.92) 0%,
      rgba(255,236,203,.46) 16%,
      rgba(255,255,255,.06) 42%,
      rgba(255,245,226,.34) 78%,
      rgba(255,255,255,.76) 100%)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,245,226,.90),
    0 0 16px rgba(255,225,179,.40)!important;
}
.card.is-hover img{
  filter:saturate(1.04) contrast(1.025) brightness(1.015)!important;
}

.card-hover-detail{
  position:absolute;
  left:50%;
  top:50%;
  z-index:1600;
  width:clamp(155px,13vw,225px);
  padding-left:16px;
  color:#111;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform-style:preserve-3d;
  transform-origin:left top;
  will-change:transform,opacity;
  transition:opacity .18s ease,visibility .18s ease;
  font-family:inherit;
}
.card-hover-detail::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:1px;
  height:100%;
  background:rgba(17,17,17,.28);
}
.card-hover-detail.visible{
  opacity:1;
  visibility:visible;
}
.card-hover-detail .hover-kicker{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  font-size:8px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#75736e;
}
.card-hover-detail .hover-kicker::after{
  content:"";
  width:24px;
  height:1px;
  background:#ff5149;
}
.card-hover-detail .hover-title{
  margin:0;
  font:inherit;
  font-size:clamp(14px,1.22vw,20px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:750;
  text-transform:uppercase;
  color:#171714;
}
.card-hover-detail .hover-sub{
  margin:6px 0 14px;
  font:inherit;
  font-size:clamp(10px,.78vw,12px);
  line-height:1.25;
  font-style:italic;
  color:#66645f;
}
.card-hover-detail .hover-rule{
  display:block;
  width:24px;
  height:1px;
  background:#84817b;
  margin:0 0 11px;
}
.card-hover-detail .hover-cta{
  display:flex;
  align-items:center;
  gap:8px;
  font:inherit;
  font-size:8px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#55534f;
}
.card-hover-detail .hover-cta b{
  font-size:13px;
  line-height:1;
  font-weight:400;
  transform:translateY(-1px);
}
body.theme-dark .card-hover-detail{color:#f1f1ed}
body.theme-dark .card-hover-detail::before{background:rgba(255,255,255,.28)}
body.theme-dark .card-hover-detail .hover-title{color:#f1f1ed}
body.theme-dark .card-hover-detail .hover-sub,
body.theme-dark .card-hover-detail .hover-kicker,
body.theme-dark .card-hover-detail .hover-cta{color:#aaa8a1}
body.theme-dark .card-hover-detail .hover-rule{background:#77756f}

@media(max-width:900px), (hover:none){
  .card-hover-detail{display:none!important}
}



/* =====================================================================
   v46.58 — ROBUST HOVER FOR ALL THUMBNAILS + CONTACT BESIDE WHATSAPP
   ===================================================================== */

/* Header: keep date, remove only the time in the upper-left corner. */
.top .clock #time{display:none!important}
.top .clock br{display:none!important}

/* Hover detail now lives in viewport coordinates, so perspective position
   works for every project, not only cards close to the archive center. */
.card-hover-detail{
  position:fixed!important;
  left:0!important;
  top:0!important;
  z-index:1700!important;
  width:clamp(160px,13vw,225px)!important;
  padding-left:16px!important;
  pointer-events:none!important;
  transform-origin:left center!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .16s ease,visibility .16s ease!important;
}
.card-hover-detail.visible{
  opacity:1!important;
  visibility:visible!important;
}

/* Contact CTA is now part of the WhatsApp action row. */
.side-tools{
  gap:10px!important;
  height:56px!important;
  align-items:center!important;
}
.side-tools .side-contact-cta{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  min-width:142px!important;
  height:42px!important;
  margin:0!important;
  padding:0 14px!important;
  flex:0 0 auto!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(17,17,17,.08)!important;
  border-radius:999px!important;
  box-shadow:0 8px 24px rgba(20,20,20,.08)!important;
  color:#55544f!important;
  text-decoration:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  font-family:inherit!important;
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  transition:transform .18s ease,box-shadow .18s ease,color .18s ease!important;
}
.side-tools .side-contact-cta:hover{
  color:#111!important;
  transform:translateY(-1px)!important;
  box-shadow:0 10px 28px rgba(20,20,20,.11)!important;
}
.side-tools .side-contact-cta .arrow{
  font-size:14px!important;
  line-height:1!important;
}
body.theme-dark .side-tools .side-contact-cta{
  background:rgba(21,23,24,.94)!important;
  border-color:rgba(255,255,255,.09)!important;
  color:#dad8d2!important;
  box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
}

/* The right project list should no longer reserve space for the old CTA. */
@media(min-width:901px){
  .side{bottom:82px!important}
}

@media(max-width:900px){
  .side-tools{
    right:10px!important;
    bottom:12px!important;
    height:54px!important;
    gap:7px!important;
  }
  .side-tools .side-contact-cta{
    min-width:118px!important;
    height:38px!important;
    padding:0 11px!important;
    font-size:7px!important;
  }
}


/* =====================================================================
   v105 — DEFINITIVE PER-THUMBNAIL PERSPECTIVE HOVER COPY
   Each card owns its own copy block: no shared/global hover overlay.
   ===================================================================== */
.card-hover-detail{display:none!important}

.card-hover-caption{
  position:absolute;
  left:calc(100% + 22px);
  top:64%;
  z-index:12;
  width:clamp(150px,12.5vw,215px);
  padding-left:15px;
  color:#171714;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:
    translate3d(-8px,-50%,12px)
    rotateY(-2.4deg);
  transform-origin:left center;
  transform-style:preserve-3d;
  transition:
    opacity .17s ease,
    transform .30s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .17s;
  font-family:inherit;
  text-align:left;
  filter:none!important;
}
.card-hover-caption::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:1px;
  height:100%;
  background:rgba(17,17,17,.28);
}
.card-hover-caption .hover-kicker{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  font:inherit;
  font-size:8px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#77746f;
  white-space:nowrap;
}
.card-hover-caption .hover-kicker::after{
  content:"";
  width:23px;
  height:1px;
  background:#ff5149;
}
.card-hover-caption .hover-title{
  display:block;
  margin:0;
  font:inherit;
  font-size:clamp(14px,1.14vw,19px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:750;
  text-transform:uppercase;
  color:#171714;
}
.card-hover-caption .hover-sub{
  display:block;
  margin:6px 0 13px;
  font:inherit;
  font-size:clamp(9px,.72vw,11px);
  line-height:1.25;
  font-style:italic;
  color:#696660;
}
.card-hover-caption .hover-rule{
  display:block;
  width:23px;
  height:1px;
  margin:0 0 10px;
  background:#88847d;
}
.card-hover-caption .hover-cta{
  display:flex;
  align-items:center;
  gap:8px;
  font:inherit;
  font-size:8px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#55524d;
}
.card-hover-caption .hover-cta b{
  font-size:13px;
  line-height:1;
  font-weight:400;
}

/* Visible ONLY on its own card hover/focus. */
.card:hover .card-hover-caption,
.card.is-hover .card-hover-caption,
.card:focus-visible .card-hover-caption{
  opacity:1;
  visibility:visible;
  transform:
    translate3d(0,-50%,18px)
    rotateY(-2.4deg);
  transition-delay:0s;
}

/* Cards at the right side flip their copy to the left so it never goes offscreen. */
.card.caption-left .card-hover-caption{
  left:auto;
  right:calc(100% + 22px);
  padding-left:0;
  padding-right:15px;
  text-align:right;
  transform-origin:right center;
  transform:
    translate3d(8px,-50%,12px)
    rotateY(2.4deg);
}
.card.caption-left .card-hover-caption::before{
  left:auto;
  right:0;
}
.card.caption-left .card-hover-caption .hover-kicker,
.card.caption-left .card-hover-caption .hover-cta{
  justify-content:flex-end;
}
.card.caption-left .card-hover-caption .hover-kicker::after{
  order:-1;
}
.card.caption-left .card-hover-caption .hover-rule{
  margin-left:auto;
}
.card.caption-left:hover .card-hover-caption,
.card.caption-left.is-hover .card-hover-caption,
.card.caption-left:focus-visible .card-hover-caption{
  transform:
    translate3d(0,-50%,18px)
    rotateY(2.4deg);
}

body.theme-dark .card-hover-caption{color:#f1f1ed}
body.theme-dark .card-hover-caption::before{background:rgba(255,255,255,.26)}
body.theme-dark .card-hover-caption .hover-title{color:#f1f1ed}
body.theme-dark .card-hover-caption .hover-kicker,
body.theme-dark .card-hover-caption .hover-sub,
body.theme-dark .card-hover-caption .hover-cta{color:#aaa8a1}
body.theme-dark .card-hover-caption .hover-rule{background:#77756f}

@media(max-width:900px),(hover:none){
  .card-hover-caption{display:none!important}
}




  /* All historical copy layers stay retired. */
  .card-hover-detail,.card-hover-caption,.card-hover-float,.card-hover-safe{display:none!important}

  .hover-panel-v108{
    position:fixed!important;
    left:0;top:0;
    z-index:2147483000!important;
    width:clamp(176px,13.5vw,236px);
    padding:3px 0 3px 16px;
    color:#171714;
    font-family:inherit;
    text-align:left;
    pointer-events:none!important;
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,5px,0) rotateY(-1.7deg);
    transform-origin:left center;
    transition:opacity .12s ease,transform .18s cubic-bezier(.16,1,.3,1);
    filter:none!important;
  }
  .hover-panel-v108.visible{
    opacity:1!important;
    visibility:visible!important;
    transform:translate3d(0,0,0) rotateY(-1.7deg);
  }
  .hover-panel-v108.flip{
    padding-left:0;padding-right:16px;text-align:right;transform-origin:right center;
  }
  .hover-panel-v108.flip.visible{transform:translate3d(0,0,0) rotateY(1.7deg)}
  .hover-panel-v108::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:rgba(17,17,17,.30);
  }
  .hover-panel-v108.flip::before{left:auto;right:0}
  .hover-panel-v108 .hover-kicker{
    display:flex;align-items:center;gap:8px;margin:0 0 11px;
    font-size:8px;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:#74716b;white-space:nowrap;
  }
  .hover-panel-v108.flip .hover-kicker{justify-content:flex-end}
  .hover-panel-v108 .hover-kicker::after{content:"";width:24px;height:1px;background:#ff5149;flex:0 0 auto}
  .hover-panel-v108.flip .hover-kicker::after{order:-1}
  .hover-panel-v108 .hover-title{
    display:block;margin:0;font-size:clamp(15px,1.18vw,20px);line-height:1.02;
    letter-spacing:-.035em;font-weight:750;text-transform:uppercase;color:#171714;
  }
  .hover-panel-v108 .hover-sub{
    display:block;margin:6px 0 13px;font-size:clamp(9px,.74vw,11px);line-height:1.3;font-style:italic;color:#65625c;
  }
  .hover-panel-v108 .hover-rule{display:block;width:25px;height:1px;margin:0 0 10px;background:#85817a}
  .hover-panel-v108.flip .hover-rule{margin-left:auto}
  .hover-panel-v108 .hover-cta{
    display:flex;align-items:center;gap:9px;font-size:8px;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:#514e48;
  }
  .hover-panel-v108.flip .hover-cta{justify-content:flex-end}
  .hover-panel-v108 .hover-cta b{font-size:14px;font-weight:400;line-height:1}
  body.theme-dark .hover-panel-v108{color:#f1f1ed}
  body.theme-dark .hover-panel-v108::before{background:rgba(255,255,255,.28)}
  body.theme-dark .hover-panel-v108 .hover-title{color:#f1f1ed}
  body.theme-dark .hover-panel-v108 .hover-kicker,
  body.theme-dark .hover-panel-v108 .hover-sub,
  body.theme-dark .hover-panel-v108 .hover-cta{color:#aaa8a1}
  body.theme-dark .hover-panel-v108 .hover-rule{background:#77756f}
  @media(max-width:900px),(hover:none){.hover-panel-v108{display:none!important}}



/* v111 — light theme logo at full brand colors */
body[data-theme="light"],
body:not(.theme-dark){
  --edu-logo-main:#000000!important;
  --edu-logo-accent:#d60a00!important;
}
body[data-theme="light"] .brand,
body[data-theme="light"] .case-brand,
body[data-theme="light"] .blog-brand,
body[data-theme="light"] .article-brand,
body:not(.theme-dark) .brand,
body:not(.theme-dark) .case-brand,
body:not(.theme-dark) .blog-brand,
body:not(.theme-dark) .article-brand{
  opacity:1!important;
  filter:none!important;
}
body[data-theme="light"] .eduardo-signature-svg .logo-main,
body:not(.theme-dark) .eduardo-signature-svg .logo-main{fill:#000000!important;}
body[data-theme="light"] .eduardo-signature-svg .logo-accent,
body:not(.theme-dark) .eduardo-signature-svg .logo-accent{fill:#d60a00!important;}



.luma-editorial-layer .move-editorial-index{color:#7c6f65}
.luma-editorial-layer .move-market-note span{color:#15382c}
body.theme-dark .luma-editorial-layer .move-market-note span{color:#d3b26b}
.luma-project-image figcaption{letter-spacing:.07em}



/* Luma digital expansion — editorial treatment for web/mobile screens */
.luma-project-image[data-case-index="34"],
.luma-project-image[data-case-index="35"],
.luma-project-image[data-case-index="36"]{
  width:min(1320px,92vw)!important;
}
.luma-project-image[data-case-index="34"] img,
.luma-project-image[data-case-index="35"] img,
.luma-project-image[data-case-index="36"] img{
  box-shadow:0 28px 72px rgba(55,34,28,.14)!important;
}
.luma-project-image[data-case-index="37"]{
  width:min(1180px,88vw)!important;
  padding:clamp(16px,2vw,28px)!important;
  background:#ead1c7;
}
.luma-project-image[data-case-index="38"],
.luma-project-image[data-case-index="39"]{
  width:min(820px,76vw)!important;
  padding:clamp(16px,2vw,26px)!important;
  background:#f5efeb;
}
.luma-project-image[data-case-index="37"] img,
.luma-project-image[data-case-index="38"] img,
.luma-project-image[data-case-index="39"] img{
  box-shadow:0 28px 70px rgba(33,28,25,.12)!important;
}
body.theme-dark .luma-project-image[data-case-index="37"],
body.theme-dark .luma-project-image[data-case-index="38"],
body.theme-dark .luma-project-image[data-case-index="39"]{
  background:#171918;
}
@media(max-width:900px){
  .luma-project-image[data-case-index="34"],
  .luma-project-image[data-case-index="35"],
  .luma-project-image[data-case-index="36"],
  .luma-project-image[data-case-index="37"],
  .luma-project-image[data-case-index="38"],
  .luma-project-image[data-case-index="39"]{
    width:calc(100vw - 28px)!important;
    padding:0!important;
    background:transparent!important;
  }
}



/* Luma digital replacement — corrected 6 digital assets */
.luma-project-image[data-case-index="34"],
.luma-project-image[data-case-index="35"],
.luma-project-image[data-case-index="36"]{
  width:min(1320px,92vw)!important;
}
.luma-project-image[data-case-index="34"] img,
.luma-project-image[data-case-index="35"] img,
.luma-project-image[data-case-index="36"] img{
  box-shadow:0 28px 72px rgba(55,34,28,.14)!important;
}
.luma-project-image[data-case-index="37"]{
  width:min(1180px,88vw)!important;
  padding:clamp(16px,2vw,28px)!important;
  background:#ead1c7;
}
.luma-project-image[data-case-index="38"]{
  width:min(820px,76vw)!important;
  padding:clamp(16px,2vw,26px)!important;
  background:#f5efeb;
}
.luma-project-image[data-case-index="39"]{
  width:min(1180px,86vw)!important;
  padding:clamp(16px,2vw,26px)!important;
  background:#f5efeb;
}
.luma-project-image[data-case-index="37"] img,
.luma-project-image[data-case-index="38"] img,
.luma-project-image[data-case-index="39"] img{
  box-shadow:0 28px 70px rgba(33,28,25,.12)!important;
}
body.theme-dark .luma-project-image[data-case-index="37"],
body.theme-dark .luma-project-image[data-case-index="38"],
body.theme-dark .luma-project-image[data-case-index="39"]{
  background:#171918;
}
@media(max-width:900px){
  .luma-project-image[data-case-index="34"],
  .luma-project-image[data-case-index="35"],
  .luma-project-image[data-case-index="36"],
  .luma-project-image[data-case-index="37"],
  .luma-project-image[data-case-index="38"],
  .luma-project-image[data-case-index="39"]{
    width:calc(100vw - 28px)!important;
    padding:0!important;
    background:transparent!important;
  }
}



/* Thumbnail hover copy belongs to the archive/home only. Never allow it over a case/page/overlay. */
body.ui-case .hover-panel-v108,
body.ui-about .hover-panel-v108,
body.ui-blog .hover-panel-v108,
body.ui-article .hover-panel-v108,
body.ui-contact .hover-panel-v108,
body.menu-open .hover-panel-v108,
body:has(#caseView.open) .hover-panel-v108,
body:has(#aboutPage.open) .hover-panel-v108,
body:has(#blogPage.open) .hover-panel-v108,
body:has(#articlePage.open) .hover-panel-v108,
body:has(#contactPage.open) .hover-panel-v108,
body:has(#viewer.open) .hover-panel-v108,
body:has(#searchOverlay.open) .hover-panel-v108{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}



/* v117 — bottom-left case back control */
.case-bottom-back{
  position:fixed;
  left:82px;
  bottom:18px;
  z-index:150;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#111;
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 8px 24px rgba(0,0,0,.05);
  transition:width .28s cubic-bezier(.2,.8,.2,1),transform .25s ease,background .25s ease,border-color .25s ease;
  overflow:hidden;
  white-space:nowrap;
}
body.ui-case .case-bottom-back{display:flex!important}
.case-bottom-back svg{
  width:16px;
  height:16px;
  flex:0 0 16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.case-bottom-back span{
  max-width:0;
  opacity:0;
  overflow:hidden;
  margin-left:0;
  font-size:8px;
  line-height:1;
  letter-spacing:.12em;
  font-weight:650;
  transition:max-width .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease,margin-left .28s ease;
}
@media(hover:hover) and (pointer:fine){
  .case-bottom-back:hover,
  .case-bottom-back:focus-visible{
    width:92px;
    background:#111;
    color:#fff;
    border-color:#111;
    transform:translateY(-1px);
  }
  .case-bottom-back:hover svg,
  .case-bottom-back:focus-visible svg{transform:translateX(-2px)}
  .case-bottom-back:hover span,
  .case-bottom-back:focus-visible span{
    max-width:52px;
    opacity:1;
    margin-left:7px;
  }
}
body.theme-dark .case-bottom-back,
body[data-theme="dark"] .case-bottom-back{
  background:rgba(18,18,18,.88);
  color:#f5f5f2;
  border-color:rgba(255,255,255,.16);
}
body.theme-dark .case-bottom-back:hover,
body[data-theme="dark"] .case-bottom-back:hover,
body.theme-dark .case-bottom-back:focus-visible,
body[data-theme="dark"] .case-bottom-back:focus-visible{
  background:#f5f5f2;
  color:#111;
  border-color:#f5f5f2;
}
/* Reserve a permanent lane for back + progress */
body.ui-case .case-progress{
  left:132px!important;
  bottom:30px!important;
}
@media(max-width:700px){
  .case-bottom-back{
    left:70px;
    bottom:12px;
    width:36px;
    height:36px;
  }
  .case-bottom-back span{display:none!important}
  body.ui-case .case-progress{
    left:116px!important;
    bottom:27px!important;
    font-size:8px!important;
  }
}



/* v118 — project scroll-up + velocity blur + elastic parallax */
.case-bottom-back{
  width:38px!important;
  height:38px!important;
}
.case-bottom-back svg{
  width:16px!important;
  height:16px!important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1)!important;
}
.case-bottom-back span{
  max-width:0;
  opacity:0;
  overflow:hidden;
  margin-left:0;
  font-size:8px;
  line-height:1;
  letter-spacing:.12em;
  font-weight:650;
}
@media(hover:hover) and (pointer:fine){
  .case-bottom-back:hover,
  .case-bottom-back:focus-visible{
    width:88px!important;
  }
  .case-bottom-back:hover svg,
  .case-bottom-back:focus-visible svg{
    transform:translateY(-2px)!important;
  }
  .case-bottom-back:hover span,
  .case-bottom-back:focus-visible span{
    max-width:48px!important;
    opacity:1!important;
    margin-left:7px!important;
  }
}
.case-bottom-back.is-at-top{
  opacity:.42;
}
.case-bottom-back.is-at-top:hover,
.case-bottom-back.is-at-top:focus-visible{
  opacity:1;
}

/* Individual transform properties keep the existing case transforms intact. */
#caseView.open .case-motion-node{
  translate:0 var(--case-motion-y,0px);
  scale:var(--case-rubber-x,1) var(--case-rubber-y,1);
  will-change:translate,scale;
}
#caseView.open .case-motion-blur{
  filter:blur(var(--case-velocity-blur,0px));
  will-change:filter;
}
#caseView.open .case-motion-node.case-rubber-release{
  animation:caseRubberRelease .56s cubic-bezier(.22,.8,.2,1) both;
}
@keyframes caseRubberRelease{
  0%   {scale:.994 1.018}
  34%  {scale:1.006 .991}
  60%  {scale:.998 1.006}
  80%  {scale:1.002 .998}
  100% {scale:1 1}
}

/* Keep typography sharper than imagery while preserving a small depth response. */
#caseView.open .move-editorial-layer.case-motion-node,
#caseView.open .case-text.case-motion-node{
  --case-rubber-x:1!important;
  --case-rubber-y:1!important;
}

@media (prefers-reduced-motion:reduce){
  #caseView.open .case-motion-node{
    translate:none!important;
    scale:none!important;
    animation:none!important;
  }
  #caseView.open .case-motion-blur{filter:none!important}
}



/* MOVE v122 — video occupies the same editorial slot as an image. */
#caseView .move-media-frame{position:relative}
#caseView .move-video-shell{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#050505;
  box-shadow:0 22px 58px rgba(0,0,0,.16);
  isolation:isolate;
}
#caseView .move-project-video{
  display:block;
  width:100%;
  height:auto;
  margin:0!important;
  background:#050505;
  object-fit:contain;
}
#caseView .move-video-hint{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px 9px 10px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background:rgba(0,0,0,.46);
  color:#fff;
  font-size:8px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}
#caseView .move-video-hint::before{
  content:"";
  width:0;
  height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:7px solid #ff9800;
}
#caseView .move-video-shell.is-playing .move-video-hint{
  opacity:0;
  transform:translateY(5px);
}
#caseView .move-video-shell::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:1px solid rgba(255,152,0,0);
  transition:border-color .25s ease;
}
@media(hover:hover) and (pointer:fine){
  #caseView .move-video-shell:hover::after{border-color:rgba(255,152,0,.52)}
}
@media(max-width:700px){
  #caseView .move-video-shell{box-shadow:none}
  #caseView .move-video-hint{left:12px;bottom:12px;font-size:7px}
}
@media(hover:none){
  #caseView .move-video-hint{display:none}
}



/* v123 — no parallax during normal portfolio scrolling.
   The motion treatment is reserved exclusively for the SUBIR action. */

/* Kill the two legacy case-parallax engines without touching reveal/readability. */
#caseView .case-intro .project-copy > *,
#caseView .case-sequence > img,
#caseView .case-sequence > figure,
#caseView .case-sequence > .case-text,
#caseView .project-end{
  --case-parallax-y:0px!important;
}

#caseView .move-editorial-layer [data-move-parallax]{
  --move-parallax-y:0px!important;
  transform:none!important;
  will-change:auto!important;
}

/* v118 used translate/scale/filter on every normal scroll.
   Keep those properties completely neutral unless SUBIR is actively running. */
#caseView.open:not(.case-returning-top) .case-motion-node{
  translate:none!important;
  scale:none!important;
  will-change:auto!important;
}
#caseView.open:not(.case-returning-top) .case-motion-blur{
  filter:none!important;
  -webkit-filter:none!important;
  will-change:auto!important;
}
#caseView.open:not(.case-returning-top) .case-motion-node.case-rubber-release{
  animation:none!important;
}

/* Dark/light editorial copy must never be clipped by the case layer. */
#caseView .move-editorial-layer.case-text,
#caseView .amazing-editorial-layer.case-text,
#caseView .stock-editorial-layer.case-text,
#caseView .luma-editorial-layer.case-text{
  overflow:visible!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  clip-path:none!important;
  contain:none!important;
}
#caseView .move-editorial-index,
#caseView .move-editorial-grid,
#caseView .move-editorial-heading,
#caseView .move-editorial-copy,
#caseView .move-market-note,
#caseView .move-editorial-heading h2,
#caseView .move-editorial-copy p,
#caseView .move-editorial-copy .move-editorial-lead,
#caseView .move-market-note strong{
  overflow:visible!important;
  height:auto!important;
  max-height:none!important;
  clip-path:none!important;
}
#caseView .move-editorial-grid{
  min-width:0!important;
}
#caseView .move-editorial-heading,
#caseView .move-editorial-copy{
  min-width:0!important;
}
#caseView .move-editorial-heading h2{
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-wrap:balance;
}
#caseView .move-editorial-copy p,
#caseView .move-editorial-copy .move-editorial-lead,
#caseView .move-market-note strong{
  overflow-wrap:break-word!important;
}

/* Extra dark-mode safety: no inherited mask/filter can hide copy. */
body.theme-dark #caseView .move-editorial-layer.case-text,
body[data-theme="dark"] #caseView .move-editorial-layer.case-text{
  mask-image:none!important;
  -webkit-mask-image:none!important;
}
body.theme-dark #caseView .move-editorial-heading,
body.theme-dark #caseView .move-editorial-copy,
body.theme-dark #caseView .move-editorial-index,
body[data-theme="dark"] #caseView .move-editorial-heading,
body[data-theme="dark"] #caseView .move-editorial-copy,
body[data-theme="dark"] #caseView .move-editorial-index{
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}

@media(max-width:900px){
  #caseView .move-editorial-heading h2{
    text-wrap:wrap;
    overflow-wrap:break-word!important;
  }
}



/* v129 — Luma editorial block: full-bleed blush background with centered content */
#caseView .luma-editorial-layer.case-text{
  position:relative!important;
  width:100vw!important;
  max-width:none!important;
  margin:clamp(40px,6vw,92px) calc(50% - 50vw)!important;
  padding:clamp(60px,7vw,112px) 0!important;
  background:linear-gradient(180deg,rgba(239,220,223,.98),rgba(232,206,211,.98))!important;
  border-top:1px solid rgba(132,93,103,.12)!important;
  border-bottom:1px solid rgba(132,93,103,.12)!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:0 8px 32px rgba(81,48,59,.06)!important;
}
#caseView .luma-editorial-layer.case-text::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,rgba(255,255,255,0) 1px 52px),
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.24),transparent 26%),
    radial-gradient(circle at 78% 68%,rgba(214,166,176,.22),transparent 32%);
  opacity:.95;
}
#caseView .luma-editorial-layer .move-editorial-index,
#caseView .luma-editorial-layer .move-editorial-grid{
  width:min(1180px,86vw)!important;
  max-width:min(1180px,86vw)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#caseView .luma-editorial-layer .move-editorial-index{color:#92717a!important;}
#caseView .luma-editorial-layer .move-editorial-heading h2,
#caseView .luma-editorial-layer .move-editorial-copy .move-editorial-lead,
#caseView .luma-editorial-layer .move-market-note strong{color:#1f1719!important;}
#caseView .luma-editorial-layer .move-editorial-copy p{color:#5b4c50!important;}
#caseView .luma-editorial-layer .move-market-note{border-top-color:rgba(92,68,76,.18)!important;}
#caseView .luma-editorial-layer .move-market-note span{color:#a25f73!important;}
body.theme-dark #caseView .luma-editorial-layer.case-text,
body[data-theme="dark"] #caseView .luma-editorial-layer.case-text{
  background:linear-gradient(180deg,rgba(56,35,42,.98),rgba(30,21,25,.99))!important;
  border-top-color:rgba(255,255,255,.08)!important;
  border-bottom-color:rgba(255,255,255,.08)!important;
}
body.theme-dark #caseView .luma-editorial-layer.case-text::before,
body[data-theme="dark"] #caseView .luma-editorial-layer.case-text::before{
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,rgba(255,255,255,0) 1px 52px),
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.07),transparent 26%),
    radial-gradient(circle at 78% 68%,rgba(210,127,154,.12),transparent 32%);
}
body.theme-dark #caseView .luma-editorial-layer .move-editorial-index,
body[data-theme="dark"] #caseView .luma-editorial-layer .move-editorial-index{color:#c0a7ae!important;}
body.theme-dark #caseView .luma-editorial-layer .move-editorial-heading h2,
body.theme-dark #caseView .luma-editorial-layer .move-editorial-copy .move-editorial-lead,
body.theme-dark #caseView .luma-editorial-layer .move-market-note strong,
body[data-theme="dark"] #caseView .luma-editorial-layer .move-editorial-heading h2,
body[data-theme="dark"] #caseView .luma-editorial-layer .move-editorial-copy .move-editorial-lead,
body[data-theme="dark"] #caseView .luma-editorial-layer .move-market-note strong{color:#fff3f5!important;}
body.theme-dark #caseView .luma-editorial-layer .move-editorial-copy p,
body[data-theme="dark"] #caseView .luma-editorial-layer .move-editorial-copy p{color:#d8cdd0!important;}
body.theme-dark #caseView .luma-editorial-layer .move-market-note,
body[data-theme="dark"] #caseView .luma-editorial-layer .move-market-note{border-top-color:rgba(255,255,255,.12)!important;}
body.theme-dark #caseView .luma-editorial-layer .move-market-note span,
body[data-theme="dark"] #caseView .luma-editorial-layer .move-market-note span{color:#f0b7c4!important;}
@media(max-width:700px){
  #caseView .luma-editorial-layer.case-text{
    width:100vw!important;
    margin:24px calc(50% - 50vw)!important;
    padding:34px 0 40px!important;
  }
  #caseView .luma-editorial-layer .move-editorial-index,
  #caseView .luma-editorial-layer .move-editorial-grid{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
  }
}



/* v125 — Beyond The Club: digital first, then campaign. */
#caseView .beyond-case-sequence{
  width:min(1240px,90vw);
}
#caseView .beyond-media{
  margin:0 0 22px;
  padding:0;
}
#caseView .beyond-media img{
  display:block;
  width:100%;
  height:auto;
  margin:0!important;
  box-shadow:0 18px 42px rgba(0,0,0,.08);
  background:#e8e8e4;
}
#caseView .beyond-media figcaption{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 2px 0;
  font-size:9px;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#76766f;
}
#caseView .beyond-media figcaption::before{
  content:"";
  width:22px;
  height:1px;
  background:currentColor;
  opacity:.55;
}
#caseView .beyond-editorial-text{
  width:min(880px,76vw);
  margin:11vh auto 12vh;
  padding-left:24px;
}
#caseView .beyond-editorial-text .case-kicker{
  opacity:.68;
  margin-bottom:14px;
}
#caseView .beyond-editorial-text h2{
  max-width:760px;
  font-size:clamp(34px,4.4vw,68px);
  line-height:.96;
  letter-spacing:-.055em;
  margin-bottom:22px;
}
#caseView .beyond-editorial-text p{
  max-width:700px;
  font-size:clamp(14px,1.15vw,17px);
  line-height:1.65;
}
#caseView .beyond-poster-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin:0 0 12vh;
  align-items:start;
}
#caseView .beyond-poster-grid .beyond-media{
  margin:0;
}
#caseView .beyond-poster-grid .beyond-media img{
  box-shadow:0 20px 44px rgba(0,0,0,.1);
}
body.theme-dark #caseView .beyond-media figcaption,
body[data-theme="dark"] #caseView .beyond-media figcaption{
  color:#aaa;
}
body.theme-dark #caseView .beyond-media img,
body[data-theme="dark"] #caseView .beyond-media img{
  box-shadow:0 22px 52px rgba(0,0,0,.32);
  background:#17191a;
}
@media(max-width:900px){
  #caseView .beyond-case-sequence{width:min(100%,94vw)}
  #caseView .beyond-editorial-text{
    width:auto;
    margin:8vh 18px 9vh;
    padding-left:16px;
  }
  #caseView .beyond-editorial-text h2{font-size:clamp(32px,10vw,54px)}
  #caseView .beyond-poster-grid{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:8vh;
  }
  #caseView .beyond-media{margin-bottom:14px}
  #caseView .beyond-media figcaption{font-size:8px;padding-top:8px}
}



@media(max-width:700px){
  :root{--m-safe-x:16px;--m-header-h:64px}
  .top{
    left:var(--m-safe-x)!important;right:var(--m-safe-x)!important;
    top:max(8px,env(safe-area-inset-top))!important;min-height:52px!important;
    grid-template-columns:72px minmax(0,1fr) 44px!important;align-items:center!important;
    z-index:230!important;pointer-events:none!important;
  }
  .top .clock{
    grid-column:1!important;justify-self:start!important;max-width:72px!important;
    font-size:9px!important;line-height:1!important;letter-spacing:.04em!important;
    text-transform:uppercase!important;white-space:nowrap!important;pointer-events:auto!important;
  }
  .top .clock #time,.top .clock br{display:none!important}
  .top .brand{grid-column:2!important;justify-self:center!important;max-width:none!important;overflow:visible!important;pointer-events:auto!important}
  .top .brand .brand-logo{width:min(43vw,160px)!important}
  .top .menu{
    grid-column:3!important;justify-self:end!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;
    margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;
    pointer-events:auto!important;z-index:244!important;
  }
  .top .menu>span{display:none!important}
  .top .menu .menu-plus{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;font-size:0!important;line-height:1!important;transform:none!important}
  .top .menu .menu-plus::before{content:"☰";font-size:22px!important;font-weight:300!important;line-height:1!important;letter-spacing:0!important}
  body.menu-open .top .menu .menu-plus{transform:none!important}
  body.menu-open .top .menu .menu-plus::before{content:"×";font-size:30px!important}

  .lang-switch,
  body.ui-case .lang-switch,body.ui-about .lang-switch,body.ui-blog .lang-switch,body.ui-article .lang-switch,body.ui-contact .lang-switch{
    top:max(22px,calc(env(safe-area-inset-top) + 14px))!important;right:62px!important;width:24px!important;height:24px!important;padding:0!important;z-index:246!important;
  }
  .lang-current{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important}
  .lang-current .flag{width:22px!important;height:22px!important;min-width:22px!important}
  .lang-menu{top:31px!important;right:-2px!important;min-width:122px!important}
  body.menu-open .lang-switch{opacity:1!important;pointer-events:auto!important}

  .menu-panel{
    z-index:220!important;padding:max(84px,calc(env(safe-area-inset-top) + 74px)) 20px max(24px,env(safe-area-inset-bottom))!important;
    display:block!important;overflow-y:auto!important;overscroll-behavior:contain!important;
  }
  .menu-panel .menu-meta{margin-bottom:28px!important}
  .menu-panel nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 16px!important;align-items:start!important;justify-content:start!important;margin-bottom:32px!important;border-top:1px solid rgba(255,255,255,.10)!important}
  .menu-panel nav a{font-size:20px!important;line-height:1!important;letter-spacing:-.035em!important;font-weight:500!important;padding:16px 0!important;border-bottom:1px solid rgba(255,255,255,.10)!important;transform:none!important}
  .menu-panel nav sup{font-size:7px!important;margin-left:4px!important}
  .menu-panel nav:hover a{opacity:1!important}
  .menu-panel .menu-panel-footer{margin-top:30px!important;font-size:8px!important}
  .mobile-menu-extra{display:block!important;margin-top:4px!important}
  .mobile-menu-section{margin-top:26px!important}
  .mobile-menu-label{color:#747b7e!important;font-size:8px!important;font-weight:700!important;letter-spacing:.15em!important;text-transform:uppercase!important;margin-bottom:10px!important}
  .mobile-project-list{border-top:1px solid rgba(255,255,255,.12)!important}
  .mobile-project-link{width:100%!important;min-height:42px!important;display:grid!important;grid-template-columns:28px 1fr auto!important;align-items:center!important;gap:8px!important;color:#f4f5ef!important;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.10)!important;font-size:12px!important;letter-spacing:-.01em!important}
  .mobile-project-link small{font-size:8px!important;color:#747b7e!important}
  .mobile-project-link span:last-child{font-size:12px!important;color:#747b7e!important}
  .mobile-project-link.is-current{font-weight:700!important}
  .mobile-project-link.is-current span:last-child{color:#f4f5ef!important}
  .mobile-utility-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .mobile-utility-btn{min-height:46px!important;padding:0 13px!important;border:1px solid rgba(255,255,255,.14)!important;background:rgba(255,255,255,.035)!important;color:#f4f5ef!important;border-radius:2px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;font-size:9px!important;letter-spacing:.08em!important;text-transform:uppercase!important;cursor:pointer!important}
  .mobile-utility-btn b{font-size:15px!important;font-weight:400!important}

  .search-btn,.theme-toggle,
  body.ui-about .theme-toggle,body.ui-blog .theme-toggle,body.ui-article .theme-toggle,body.ui-case .theme-toggle,body.ui-contact .theme-toggle{display:none!important}

  .side-tools,body.ui-case .side-tools{right:max(14px,env(safe-area-inset-right))!important;bottom:max(14px,env(safe-area-inset-bottom))!important;left:auto!important;height:56px!important;z-index:205!important}
  .side-tools>:not(.whatsapp){display:none!important}
  .side-tools .tool-btn.whatsapp{width:56px!important;min-width:56px!important;height:56px!important;border-radius:50%!important}
  .side-tools .tool-btn.whatsapp svg{width:27px!important;height:27px!important}
  body.menu-open .side-tools{opacity:0!important;pointer-events:none!important}

  body:not(.ui-about):not(.ui-blog):not(.ui-article):not(.ui-case):not(.ui-contact) .side{right:12px!important;top:auto!important;bottom:118px!important;width:128px!important;transform:none!important}
  body:not(.ui-about):not(.ui-blog):not(.ui-article):not(.ui-case):not(.ui-contact) .side button{max-width:128px!important;font-size:8px!important;line-height:1.25!important;padding:5px 0!important}
  body:not(.ui-about):not(.ui-blog):not(.ui-article):not(.ui-case):not(.ui-contact) .meta{left:18px!important;right:152px!important;bottom:78px!important}

  body.ui-case .top{z-index:232!important;grid-template-columns:58px minmax(0,1fr) 44px!important}
  body.ui-case .top .clock{visibility:hidden!important;pointer-events:none!important}
  body.ui-case .top .brand .brand-logo{width:min(42vw,154px)!important}
  #caseView .case-top{min-height:64px!important;padding:0!important;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.60))!important;backdrop-filter:blur(18px) saturate(1.2)!important;-webkit-backdrop-filter:blur(18px) saturate(1.2)!important}
  body.theme-dark #caseView .case-top,body[data-theme="dark"] #caseView .case-top{background:linear-gradient(180deg,rgba(12,14,16,.84),rgba(12,14,16,.62))!important}
  #caseView .case-brand{visibility:hidden!important}
  #caseView .case-back{position:fixed!important;left:max(14px,env(safe-area-inset-left))!important;top:max(11px,calc(env(safe-area-inset-top) + 7px))!important;width:42px!important;height:42px!important;z-index:247!important;background:rgba(255,255,255,.86)!important;border:1px solid rgba(17,17,17,.08)!important;color:#181818!important;box-shadow:0 7px 22px rgba(0,0,0,.06)!important;backdrop-filter:blur(12px)!important}
  body.theme-dark #caseView .case-back,body[data-theme="dark"] #caseView .case-back{background:rgba(15,17,18,.84)!important;border-color:rgba(255,255,255,.11)!important;color:#f3f3ef!important}
  #caseScroll{scroll-padding-top:78px!important}
  #caseView .case-sequence>*{scroll-margin-top:78px!important}

  #caseView .case-bottom-back{position:fixed!important;left:max(14px,env(safe-area-inset-left))!important;right:auto!important;bottom:max(14px,env(safe-area-inset-bottom))!important;width:48px!important;min-width:48px!important;height:48px!important;border-radius:50%!important;z-index:206!important}
  #caseView .case-bottom-back span{display:none!important}
  body.ui-case .case-progress,#caseView .case-progress,#caseView .case-source{display:none!important}
  #caseView .case-loop{padding-bottom:92px!important}

  body.ui-case.menu-open .menu-panel{z-index:220!important}
  body.ui-case.menu-open .top{z-index:240!important}
  body.ui-case.menu-open #caseView .case-back{opacity:0!important;pointer-events:none!important}
}

