.project-lumara { background:#050505; color:var(--paper); --lumara-lilac:#7c72ad; --lumara-peach:#df9974; }
.project-header { position:fixed; background:linear-gradient(#050505 0%,rgba(5,5,5,.86) 72%,transparent); }
.project-header .language-toggle { appearance:none; color:var(--paper); }
.project-section { width:min(100% - 2 * var(--pad),1450px); margin:0 auto; }
.project-intro { min-height:100svh; padding:22vh 0 12vh; display:grid; grid-template-columns:1.03fr .97fr; grid-template-rows:auto 1fr; column-gap:clamp(42px,8vw,150px); }
.intro-copy { align-self:start; }.project-title-en { margin:0; font-size:clamp(52px,7vw,112px); font-weight:600; letter-spacing:-.07em; line-height:.82; color:#eae8e5; }.intro-copy h1 { margin:22px 0 0; color:#b9b5c5; font-size:clamp(25px,2.8vw,43px); font-weight:500; letter-spacing:-.045em; }.project-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:42px; }.project-tags span { padding:8px 11px; border-radius:999px; background:#19181d; color:#cdc8d4; font-size:12px; }.intro-description { padding-top:0; }.intro-question { margin:0 0 12px; font-size:clamp(17px,1.45vw,23px); color:#e0dce7; }.intro-lede,.section-copy { margin:0; color:#c7c4c8; font-weight:300; font-size:clamp(14px,1.07vw,17px); line-height:1.82; white-space:pre-line; }.intro-project-image { grid-column:1 / -1; align-self:end; margin-top:8vh; height:min(43vh,520px); overflow:hidden; background:#101010; }.intro-project-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.case-section { padding:14vh 0 6vh; display:grid; grid-template-columns:minmax(190px,1fr) minmax(0,2.25fr); gap:clamp(42px,7vw,150px); }.section-label { display:flex; align-items:baseline; align-content:start; flex-wrap:wrap; gap:7px; color:#e2dde5; font-size:clamp(18px,1.6vw,26px); line-height:1.08; letter-spacing:-.045em; }.section-label b { color:#77717c; font-weight:400; }.section-label span:last-child { color:#aaa5ae; }
.question-section { padding:10vh 0 8vh; display:grid; grid-template-columns:minmax(190px,1fr) minmax(0,2.25fr); column-gap:clamp(42px,7vw,150px); }.question-preface,.question-section ul { grid-column:2; }.question-preface { margin:0 0 22px; color:#c9c4cb; font-size:clamp(15px,1.15vw,18px); }.question-section ul { margin:0; padding:0; list-style:none; max-width:900px; display:grid; gap:16px; }.question-section li { position:relative; padding-left:25px; color:#cfa08d; font-size:clamp(17px,1.5vw,23px); font-weight:500; line-height:1.5; letter-spacing:-.025em; }.question-section li::before { content:""; position:absolute; top:.63em; left:0; width:7px; height:7px; border-radius:50%; background:#c9897a; box-shadow:0 0 14px rgba(201,137,122,.36); }
.strategy-section { padding:11vh 0 5vh; }.strategy-section>.section-label { margin-bottom:8vh; }.sankey-image { width:min(100%,1120px); margin:0 auto; }.sankey-image img { display:block; width:100%; height:auto; }.sankey-en { display:none !important; }.project-lumara[data-language="en"] .sankey-zh { display:none !important; }.project-lumara[data-language="en"] .sankey-en { display:block !important; }
.presence-section { padding:17vh 0 11vh; }.presence-section>.section-label { margin-bottom:9vh; }.touchpoint-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(34px,8vw,120px); }.touchpoint { text-align:center; outline:none; }.touchpoint-orb { position:relative; width:clamp(125px,12vw,184px); aspect-ratio:1; margin:0 auto 32px; display:grid; place-items:center; border:2px solid rgba(213,164,153,.68); border-radius:50%; background:radial-gradient(circle at 30% 23%,#986060,#855f54 65%,#715348); overflow:visible; transition:transform .45s cubic-bezier(.22,.7,.2,1),opacity .2s ease; }.touchpoint-orb span { color:#f0e9e9; font-size:clamp(15px,1.35vw,20px); font-weight:500; transition:opacity .2s; }.touchpoint-orb img { position:absolute; object-fit:contain; opacity:0; transform:translateY(10px) scale(.88); transition:opacity .22s ease,transform .45s cubic-bezier(.2,.8,.2,1); filter:drop-shadow(0 14px 20px rgba(0,0,0,.3)); }.touchpoint:nth-child(1) img { width:100%; height:100%; }.touchpoint:nth-child(2) img { width:115%; }.touchpoint:nth-child(3) img { width:115%; }.touchpoint:hover .touchpoint-orb,.touchpoint:focus-visible .touchpoint-orb { transform:translateY(-4px); background:transparent; border-color:transparent; }.touchpoint:hover .touchpoint-orb span,.touchpoint:focus-visible .touchpoint-orb span { opacity:0; }.touchpoint:hover .touchpoint-orb img,.touchpoint:focus-visible .touchpoint-orb img { opacity:1; transform:translateY(0) scale(1); }.touchpoint p { margin:0 auto; max-width:290px; text-align:left; color:#d0cdd0; font-size:clamp(13px,1vw,16px); font-weight:300; line-height:1.7; }
.video-section,.space-feature { padding:7vh 0 11vh; }.video-section video,.space-feature video { display:block; width:min(100%,1120px); height:auto; max-height:none; margin-inline:auto; background:transparent; }.personal-space-intro { padding-bottom:3vh; }.space-feature { padding-top:6vh; }.space-feature p { width:min(100%,1120px); margin:0 auto 22px; color:#d3ced1; font-size:clamp(14px,1.08vw,17px); font-weight:300; line-height:1.75; }.final-video { padding-bottom:20vh; }
@media(max-width:720px){.project-intro,.case-section{display:block}.project-intro{padding-top:145px;min-height:auto}.project-title-en{font-size:17vw}.intro-description{margin-top:10vh}.intro-project-image{height:35vh;margin-top:10vh}.case-section{padding-top:11vh}.section-body{margin-top:38px}.question-section{display:block;padding:11vh 0}.question-preface,.question-section ul{margin-left:0}.sankey-image{width:100%}.touchpoint-grid{grid-template-columns:1fr;gap:65px}.presence-section>.section-label{margin-bottom:12vh}.touchpoint-orb{width:150px}.space-feature video{max-height:none}}
@media(prefers-reduced-motion:reduce){.touchpoint-orb,.touchpoint-orb img,.touchpoint-orb span{transition:none}}
.project-lumara .intro-project-image {
  height: auto;
  overflow: visible;
  background: transparent;
}
.project-lumara .intro-project-image img {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}
