.love-cube-case .project-header { position: relative; }
.love-cube-case .project-hero { display: block; min-height: 0; overflow: visible; isolation: isolate; background: #02070b; }
.love-cube-case .project-hero::after { content: none; }
.love-cube-case .project-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(180deg,#02070b66 0%,#02070b33 44%,#02070b4d 72%,#090a08 100%),linear-gradient(90deg,#02070b66,#02070b1a 60%,#02070b4d),url('/assets/studio/projects/love-cube/hero-venue-v1.webp'); background-size: cover; background-position: center; background-repeat: no-repeat; }
.love-cube-case .project-hero-content { display: flex; flex-direction: column; padding-block: 60px 70px; }
.love-cube-case .project-hero-copy { max-width: none; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.66fr); align-items: end; gap: 60px; margin-bottom: 48px; }
.love-cube-case .project-hero-copy h1 { font-size: clamp(84px,11vw,170px); margin-bottom: 20px; }
.love-cube-case .love-kicker { color: var(--accent); font-size: 12px; line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 22px; }
.love-cube-case .love-name { color: var(--muted); font-size: 22px; letter-spacing: .22em; }
.love-cube-case .project-deck { font-size: clamp(26px,2.7vw,38px); max-width: 21ch; }
.love-cube-case .project-intro { max-width: 43ch; }
.love-cube-case .project-hero-art { order: 1; position: relative; z-index: auto; inset: auto; }
.love-cube-case .project-hero-art > .love-cube-poster { width: 100%; height: auto; transform: none; object-fit: contain; }
.love-cube-case .love-concept { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.66fr); gap: 60px; padding-block: 78px; border-top: 1px solid var(--line); align-items: start; }
.love-cube-case .love-concept h2,.love-cube-case .love-section-heading h2,.love-cube-case .love-visit h2 { font-size: clamp(48px,5.4vw,82px); }
.love-cube-case .love-concept-copy { padding-top: 30px; }
.love-cube-case .love-concept-copy > p:not(.love-count) { color: var(--muted); font-size: clamp(17px,1.4vw,20px); line-height: 1.6; }
.love-cube-case .love-concept-copy > p + p { margin-top: 24px; }
.love-cube-case .love-count { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; font-size: 16px; }
.love-cube-case .love-count strong { color: var(--accent); font-weight: 400; font-size: 50px; letter-spacing: -.04em; }
.love-cube-case .love-count > span { color: var(--muted); padding-inline: 6px; }
.love-cube-case .love-cards { padding-block: 76px 50px; border-top: 1px solid var(--line); }
.love-cube-case .love-section-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.66fr); gap: 60px; align-items: end; margin-bottom: 48px; }
.love-cube-case .love-section-heading > p { color: var(--muted); font-size: clamp(17px,1.4vw,20px); line-height: 1.6; max-width: 44ch; }
.love-cube-case .love-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 38px; }
.love-cube-case .love-card { min-width: 0; }
.love-cube-case .love-card > a { display: block; background: #12140f; }
.love-cube-case .love-card img { width: 100%; height: auto; }
.love-cube-case .love-card figcaption { padding-top: 24px; }
.love-cube-case .love-face { color: var(--accent); text-transform: uppercase; font-size: 11px; letter-spacing: .06em; line-height: 1.5; margin-bottom: 13px; }
.love-cube-case .love-card h3 { font-size: clamp(23px,2.2vw,32px); font-weight: 500; line-height: 1.2; margin: 0 0 18px; }
.love-cube-case .love-card h3 > span[lang] { display: block; margin-top: 8px; color: var(--muted); font-size: 15px; font-weight: 400; }
.love-cube-case .love-card figcaption > p:not(.love-face) { color: var(--muted); font-size: 16px; line-height: 1.6; }
.love-cube-case .love-card figcaption > p.love-question { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--ink); }
.love-cube-case .love-cards-continuation { padding-top: 56px; }
.love-cube-case .love-reading-note { max-width: 48ch; margin: 58px auto 0; color: var(--accent); font-size: clamp(24px,2.5vw,35px); line-height: 1.35; text-align: center; }
.love-cube-case .project-gameplay { padding-block: 76px; border-top: 1px solid var(--line); }
.love-cube-case .project-main-film { max-width: 880px; }
.love-cube-case .love-closing { padding-block: 76px; border-top: 1px solid var(--line); }
.love-cube-case .love-visit { display: flex; justify-content: space-between; gap: 40px; align-items: end; }
.love-cube-case .love-site-link { display: inline-flex; align-items: center; gap: 50px; color: var(--accent); font-size: clamp(23px,3vw,40px); line-height: 1.3; padding-bottom: 10px; border-bottom: 1px solid currentColor; }
.love-cube-case .project-hero .love-site-link { font-size: 13px; gap: 20px; padding-bottom: 7px; }
.love-cube-case .project-end { margin-top: 60px; }
.love-cube-case .project-notes h2 { font-size: 20px; line-height: 1.3; margin-bottom: 16px; }
.love-cube-case .project-notes p { color: var(--muted); font-size: 16px; line-height: 1.6; max-width: 60ch; }
@media(max-width:900px) {
  .love-cube-case .project-hero-copy,.love-cube-case .love-concept,.love-cube-case .love-section-heading { gap: 32px; }
  .love-cube-case .love-card-grid { gap: 24px; }
  .love-cube-case .love-card h3 { font-size: 24px; }
  .love-cube-case .love-card figcaption > p:not(.love-face) { font-size: 15px; }
}
@media(max-width:620px) {
  .love-cube-case .project-hero-content { padding-block: 32px 42px; }
  .love-cube-case .project-hero-copy { grid-template-columns: minmax(0,1fr); gap: 28px; margin-bottom: 30px; }
  .love-cube-case .project-hero-copy h1 { font-size: clamp(74px,22vw,126px); margin-bottom: 16px; }
  .love-cube-case .love-kicker { font-size: 10px; margin-bottom: 18px; }
  .love-cube-case .love-name { font-size: 18px; }
  .love-cube-case .project-deck { font-size: 27px; }
  .love-cube-case .project-intro { max-width: 42ch; font-size: 16px; }
  .love-cube-case .love-concept,.love-cube-case .love-section-heading { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .love-cube-case .love-concept,.love-cube-case .love-cards,.love-cube-case .project-gameplay,.love-cube-case .love-closing { padding-block: 44px; }
  .love-cube-case .love-concept h2,.love-cube-case .love-section-heading h2,.love-cube-case .love-visit h2 { font-size: 46px; }
  .love-cube-case .love-concept-copy { padding-top: 0; }
  .love-cube-case .love-concept-copy > p + p { margin-top: 20px; }
  .love-cube-case .love-concept-copy > p:not(.love-count),.love-cube-case .love-section-heading > p { font-size: 17px; }
  .love-cube-case .love-count strong { font-size: 44px; }
  .love-cube-case .love-section-heading { margin-bottom: 32px; }
  .love-cube-case .love-card-grid { grid-template-columns: minmax(0,1fr); gap: 42px; }
  .love-cube-case .love-card h3 { font-size: 29px; }
  .love-cube-case .love-card figcaption { padding-top: 22px; }
  .love-cube-case .love-card figcaption > p:not(.love-face) { font-size: 17px; }
  .love-cube-case .love-cards-continuation { padding-top: 42px; }
  .love-cube-case .love-reading-note { text-align: left; font-size: 26px; margin-top: 42px; }
  .love-cube-case .project-main-film figcaption { font-size: 12px; }
  .love-cube-case .love-visit { display: grid; gap: 30px; }
  .love-cube-case .love-site-link { font-size: 28px; gap: 40px; justify-self: start; }
  .love-cube-case .project-end { margin-top: 30px; gap: 28px; }
}

.love-cube-case .love-loop { min-width: 0; }
.love-cube-case .love-loop video { display: block; width: 100%; height: auto; background: #090a08; }
.love-cube-case .love-motion-toggle { margin-left: 24px; padding: 7px 0; border: 0; border-bottom: 1px solid currentColor; color: var(--muted); background: transparent; font: inherit; font-size: 13px; cursor: pointer; }
.love-cube-case .love-motion-toggle[hidden] { display: none; }
.love-cube-case .love-card > .love-card-turn { perspective: 1100px; background: transparent; }
.love-cube-case .love-card-solid { --love-card-radius: clamp(16px,2vw,28px); position: relative; display: block; transform-style: preserve-3d; }
.love-cube-case .love-card-solid img { backface-visibility: hidden; -webkit-backface-visibility: hidden; border-radius: var(--love-card-radius); clip-path: inset(0 round var(--love-card-radius)); }
.love-cube-case .love-card-front { position: relative; transform: translateZ(1.5px); }
.love-cube-case .love-card-solid .love-card-back { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transform: rotateY(180deg) translateZ(1.5px); background: #12140f; }
.love-cube-case .love-card-solid::before,.love-cube-case .love-card-solid::after { content: ""; position: absolute; top: var(--love-card-radius); bottom: var(--love-card-radius); width: 3px; border-radius: 2px; background: #877650; transform: rotateY(90deg); }
.love-cube-case .love-card-solid::before { left: -1.5px; }
.love-cube-case .love-card-solid::after { right: -1.5px; }
.love-cube-case.love-motion-running .love-card-solid { animation: love-card-turn 18s linear infinite; animation-play-state: paused; }
.love-cube-case.love-motion-running .love-card-turn.is-turning .love-card-solid { animation-play-state: running; }
.love-cube-case .love-card:nth-child(2) .love-card-solid { animation-duration: 20s; animation-delay: -4s; }
.love-cube-case .love-card:nth-child(3) .love-card-solid { animation-duration: 22s; animation-delay: -9s; }
.love-cube-case .love-cards-continuation .love-card:nth-child(1) .love-card-solid { animation-duration: 21s; animation-delay: -5s; }
.love-cube-case .love-cards-continuation .love-card:nth-child(2) .love-card-solid { animation-duration: 23s; animation-delay: -11s; }
.love-cube-case .love-cards-continuation .love-card:nth-child(3) .love-card-solid { animation-duration: 19s; animation-delay: -2s; }
.love-cube-case .love-card-turn:hover .love-card-solid,.love-cube-case .love-card-turn:focus-visible .love-card-solid { animation: none; transform: none; }
@keyframes love-card-turn {
  0%,30% { transform: rotateX(3deg) rotateY(-12deg); }
  40% { transform: rotateX(3deg) rotateY(90deg); }
  52%,63% { transform: rotateX(3deg) rotateY(180deg); }
  76% { transform: rotateX(3deg) rotateY(270deg); }
  88%,100% { transform: rotateX(3deg) rotateY(348deg); }
}

.love-cube-case .love-cube-object { display: grid; place-items: center; height: clamp(260px,42vw,560px); }
.love-cube-case .project-hero-art .love-cube-poster { display: none; }
.love-cube-case .lc-cube-stage { --cube-size: clamp(154px,25vw,320px); --cubie-gap: clamp(4px,.55vw,8px); --cubie-size: calc((var(--cube-size) - var(--cubie-gap) - var(--cubie-gap)) / 3); --cubie-half: calc(var(--cubie-size) / 2); position: relative; width: var(--cube-size); height: var(--cube-size); perspective: 1150px; perspective-origin: 50% 42%; }
.love-cube-case .lc-cube { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateX(-20deg) rotateY(-34deg); }
.love-cube-case.love-motion-running .lc-cube { animation: lc-cube-spin 28s linear infinite; animation-play-state: paused; }
.love-cube-case.love-motion-running .love-cube-object.is-turning .lc-cube { animation-play-state: running; }
.love-cube-case .lc-cube-core { --cube-core-half: calc((var(--cube-size) - var(--cubie-gap)) / 2); position: absolute; top: calc(var(--cubie-gap) / 2); left: calc(var(--cubie-gap) / 2); width: calc(var(--cube-size) - var(--cubie-gap)); height: calc(var(--cube-size) - var(--cubie-gap)); transform-style: preserve-3d; }
.love-cube-case .lc-cube-core-face { --face-half: var(--cube-core-half); position: absolute; inset: 0; backface-visibility: hidden; background: linear-gradient(145deg,#29373d,#080e12 42%,#141d21); border: 1px solid #d4a4592e; box-shadow: inset 0 0 36px #000d; }
.love-cube-case .lc-cubie { position: absolute; width: var(--cubie-size); height: var(--cubie-size); left: calc(var(--x) * (var(--cubie-size) + var(--cubie-gap))); top: calc(var(--y) * (var(--cubie-size) + var(--cubie-gap))); transform: translateZ(calc(var(--z) * (var(--cubie-size) + var(--cubie-gap)))); transform-style: preserve-3d; }
.love-cube-case .lc-cubie .lc-cubie-face { --face-half: var(--cubie-half); position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; border: clamp(3px,.34vw,5px) solid #05080a; border-radius: clamp(6px,.65vw,10px); backface-visibility: hidden; background: #060a0c; box-shadow: inset 0 0 0 1px #dead618c,0 0 0 1px #020405,0 8px 18px #0008; transition: box-shadow 360ms ease; }
.love-cube-case .lc-face-front { transform: translateZ(var(--face-half)); }
.love-cube-case .lc-face-back { transform: rotateY(180deg) translateZ(var(--face-half)); }
.love-cube-case .lc-face-right { transform: rotateY(90deg) translateZ(var(--face-half)); }
.love-cube-case .lc-face-left { transform: rotateY(-90deg) translateZ(var(--face-half)); }
.love-cube-case .lc-face-top { transform: rotateX(90deg) translateZ(var(--face-half)); }
.love-cube-case .lc-face-bottom { transform: rotateX(-90deg) translateZ(var(--face-half)); }
@keyframes lc-cube-spin {
  0% { transform: rotateX(-20deg) rotateY(-34deg); }
  25% { transform: rotateX(-16deg) rotateY(56deg); }
  50% { transform: rotateX(-22deg) rotateY(146deg); }
  75% { transform: rotateX(-16deg) rotateY(236deg); }
  100% { transform: rotateX(-20deg) rotateY(326deg); }
}

.love-cube-case .lc-cube-stage::before { content: ""; position: absolute; inset: -27.5%; pointer-events: none; border-radius: 50%; background: radial-gradient(circle,#348e9747,#cc97481a 38%,transparent 70%); filter: blur(20px); }
.love-cube-case .lc-cube-stage::after { content: ""; position: absolute; right: 7%; bottom: -15%; left: 7%; height: 26%; pointer-events: none; border-radius: 50%; background: radial-gradient(ellipse,#d39e4c47,#01050800 70%); filter: blur(10px); transform: rotateX(67deg); }
.love-cube-case .lc-cubie .lc-cubie-texture { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 40%; transform: none; }
.love-cube-case .lc-cubie-face::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(145deg,#ffeec32e,transparent 32%,#0003),radial-gradient(circle at 50% 35%,transparent 45%,#00000038); }
.love-cube-case .lc-scene-grain { position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit; opacity: .13; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E"); }
@media(hover:hover) and (pointer:fine) {
  .love-cube-case.love-motion-running .love-cube-object.is-turning .lc-cube-stage:hover .lc-cube { animation-play-state: paused; }
  .love-cube-case .lc-cubie { transition: transform 420ms cubic-bezier(.2,.8,.2,1); }
  .love-cube-case .lc-cubie:hover { transform: translateZ(calc(var(--z) * (var(--cubie-size) + var(--cubie-gap)))) scale3d(1.055,1.055,1.055); }
  .love-cube-case .lc-cubie:hover .lc-cubie-face { box-shadow: inset 0 0 0 1px #ecc37ed1,0 0 0 1px #020405,0 10px 24px #0000009e; }
}
@media(prefers-reduced-motion:reduce) {
  .love-cube-case .lc-cubie,.love-cube-case .lc-cubie .lc-cubie-face { transition: none; }
}

@media(max-width:620px) {
  .love-cube-case .project-hero::before { background-position: 65% center; }
}
