/* ===== Project WYS investor one-pager ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", "Segoe UI", "Noto Sans TC", sans-serif;
  background: #000;
  color: #f5f5f7;
  -webkit-font-smoothing: antialiased;
}
body.zh { font-family: -apple-system, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif; }
body.zh h1, body.zh h2, body.zh h3 { letter-spacing: 0.01em; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }

:root {
  --pink: #e8375d;
  --orange: #f7931e;
  --grad: linear-gradient(92deg, #ff3b5c 0%, #ff7a3d 55%, #ffb340 100%);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.grad {
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---------- reveal animations ---------- */
.reveal { opacity: 0; transform: translateY(34px); transition: opacity 0.9s var(--ease), transform 0.9s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
.d1 { transition-delay: 0.1s; }
.d2 { transition-delay: 0.2s; }
.d3 { transition-delay: 0.3s; }
.d4 { transition-delay: 0.4s; }
.d5 { transition-delay: 0.5s; }
.d6 { transition-delay: 0.6s; }

/* ---------- nav ---------- */
#nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  transition: background 0.4s, backdrop-filter 0.4s;
}
#nav.solid { background: rgba(10,10,12,0.72); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); }
.nav-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; gap: 14px; padding: 10px 22px; }
.nav-logo { height: 54px; width: auto; }
.nav-title { font-size: 15px; font-weight: 600; letter-spacing: 0.02em; opacity: 0.9; }
.nav-lang {
  margin-left: auto; font-size: 13px; font-weight: 600; font-family: inherit;
  background: rgba(255,255,255,0.12); color: #fff; border: 1px solid rgba(255,255,255,0.35);
  padding: 7px 16px; border-radius: 999px; cursor: pointer;
  transition: background 0.25s, transform 0.25s var(--ease);
}
.nav-lang:hover { background: rgba(255,255,255,0.24); transform: scale(1.05); }
.nav-cta {
  font-size: 13px; font-weight: 600;
  background: var(--grad); padding: 8px 18px; border-radius: 999px; color: #fff;
  transition: transform 0.25s var(--ease), box-shadow 0.25s;
}
.nav-cta:hover { transform: scale(1.05); box-shadow: 0 6px 24px rgba(255,80,60,0.4); }

/* ---------- hero ---------- */
.hero { position: relative; height: 100svh; min-height: 640px; display: grid; place-items: end center; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; animation: heroZoom 14s var(--ease) forwards; }
@keyframes heroZoom { from { transform: scale(1.14); } to { transform: scale(1); } }
.hero-veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0.08) 38%, rgba(0,0,0,0.82) 88%); }
.hero-content { position: relative; text-align: center; padding: 0 24px 9svh; max-width: 1000px; text-shadow: 0 2px 24px rgba(0,0,0,0.55); }
.hero-eyebrow { font-size: 15px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #ffb9a0; margin-bottom: 18px; }
.hero h1 { font-size: clamp(44px, 7.2vw, 96px); line-height: 1.02; font-weight: 700; letter-spacing: -0.02em; }
.hero-sub { margin-top: 22px; font-size: clamp(16px, 1.6vw, 21px); line-height: 1.55; color: rgba(245,245,247,0.85); }
.hero-scroll { display: inline-flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 40px; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.75); }
.chev { width: 12px; height: 12px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); animation: bob 1.8s ease-in-out infinite; }
@keyframes bob { 0%,100% { transform: rotate(45deg) translate(0,0); opacity: 1; } 50% { transform: rotate(45deg) translate(5px,5px); opacity: 0.4; } }

/* ---------- stat strip ---------- */
.strip { background: #000; padding: 74px 24px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.strip-grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; text-align: center; }
.strip-num { display: block; font-size: clamp(38px, 4.6vw, 64px); font-weight: 700; letter-spacing: -0.02em; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; }
.strip-label { display: block; margin-top: 6px; font-size: 15px; color: rgba(245,245,247,0.6); }

/* ---------- generic sections ---------- */
.section { padding: 130px 0; background: #fff; color: #1d1d1f; }
.section.dark { background: #000; color: #f5f5f7; }
.container { max-width: 1000px; margin: 0 auto; padding: 0 24px; }
.eyebrow { font-size: 15px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pink); margin-bottom: 16px; }
.eyebrow.light { color: #ffb9a0; }
.section h2 { font-size: clamp(38px, 5.4vw, 72px); line-height: 1.04; font-weight: 700; letter-spacing: -0.025em; margin-bottom: 26px; }
.lede { font-size: clamp(17px, 1.8vw, 22px); line-height: 1.55; max-width: 760px; color: rgba(29,29,31,0.75); }
.section.dark .lede { color: rgba(245,245,247,0.72); }
.lede.light { color: rgba(245,245,247,0.85); }
.footnote { font-size: 13px; color: rgba(128,128,132,0.9); margin-top: 26px; line-height: 1.5; max-width: 720px; }

/* ---------- big numbers ---------- */
.bignum-wrap { margin-top: 70px; }
.bignum { text-align: left; }
.bignum-fig { font-size: clamp(84px, 15vw, 220px); font-weight: 800; letter-spacing: -0.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.bignum-cap { font-size: clamp(15px, 1.6vw, 19px); color: rgba(245,245,247,0.65); margin-top: 10px; max-width: 560px; line-height: 1.5; }
.bignum-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 80px; }
.minor-fig { font-size: clamp(36px, 4.4vw, 58px); font-weight: 700; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.minor-fig .arrow { font-style: normal; color: var(--pink); padding: 0 4px; }
.minor-fig small { font-size: 0.55em; font-weight: 600; }
.minor p { margin-top: 8px; font-size: 15px; line-height: 1.5; color: rgba(245,245,247,0.6); }

/* ---------- location media ---------- */
.media-section { padding: 0; background: #000; }
.media-sticky { position: relative; min-height: 92svh; display: flex; align-items: flex-end; overflow: hidden; }
.media-sticky > img { position: absolute; inset: 0; width: 100%; height: 115%; object-fit: cover; object-position: 50% 40%; }
.media-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.05) 40%, rgba(0,0,0,0.86) 92%); }
.media-copy { position: relative; padding: 0 24px 90px; max-width: 1000px; margin: 0 auto; width: 100%; color: #f5f5f7; }
.media-copy h2 { font-size: clamp(34px, 4.8vw, 64px); line-height: 1.05; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 22px; }

/* ---------- university grid ---------- */
.uni-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 16px; }
.uni { text-align: center; padding: 26px 8px; border-radius: 20px; background: #f5f5f7; transition: transform 0.3s var(--ease); }
.uni:hover { transform: translateY(-6px); }
.uni-time { display: block; font-size: clamp(26px, 2.6vw, 40px); font-weight: 700; letter-spacing: -0.02em; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.uni-time small { font-size: 0.45em; font-weight: 600; }
.uni-name { display: block; margin-top: 4px; font-size: 14px; font-weight: 600; color: #515154; }

/* ---------- the climb ---------- */
.climb { position: relative; height: 560svh; background: #000; }
.climb-sticky { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.climb-frames { position: absolute; inset: 0; }
.climb-frame { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.5s ease; will-change: opacity; }
.climb-frame.active { opacity: 1; }
.climb-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 34%, rgba(0,0,0,0.35) 100%); }
.climb-intro { position: absolute; top: 0; left: 0; right: 0; padding: 15svh 24px 0; text-align: center; max-width: 860px; margin: 0 auto; transition: opacity 0.5s; }
.climb-intro h2 { font-size: clamp(38px, 5.4vw, 72px); font-weight: 700; letter-spacing: -0.025em; margin-bottom: 18px; }
.climb-intro .lede { margin: 0 auto; }
.climb.scrolled .climb-intro { opacity: 0; pointer-events: none; }
.climb-hud {
  position: absolute; left: 24px; bottom: 40px; display: flex; align-items: flex-end; gap: 18px;
  background: rgba(12,12,14,0.55); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,0.14); border-radius: 22px; padding: 20px 24px;
}
.climb-floor { display: flex; flex-direction: column; }
.climb-floor span:first-child { font-size: clamp(40px, 4.5vw, 62px); font-weight: 800; letter-spacing: -0.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.climb-floor span:last-child { font-size: 14px; color: rgba(245,245,247,0.7); margin-top: 6px; }
.climb-meter { width: 8px; height: 110px; border-radius: 99px; background: rgba(255,255,255,0.18); overflow: hidden; display: flex; align-items: flex-end; }
.climb-meter-fill { width: 100%; height: 5%; background: var(--grad); border-radius: 99px; transition: height 0.3s ease; }
.climb-height { font-size: 16px; font-weight: 600; color: rgba(245,245,247,0.85); font-variant-numeric: tabular-nums; min-width: 74px; }

/* ---------- gallery ---------- */
.gallery { max-width: 1240px; margin: 80px auto 0; padding: 0 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.g-item { position: relative; border-radius: 26px; overflow: hidden; }
.g-item.wide { grid-column: 1 / -1; }
.g-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.g-item:hover img { transform: scale(1.035); }
.g-item.wide img { aspect-ratio: 16 / 10; }
.g-item:not(.wide) img { aspect-ratio: 4 / 5; }
.g-item figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 26px 22px;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.72));
  font-size: 15px; font-weight: 600; color: #fff;
}

/* ---------- specs ---------- */
.specs { margin-top: 90px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.specs.three { grid-template-columns: repeat(3, 1fr); }
.spec { border-top: 1px solid rgba(128,128,132,0.35); padding-top: 18px; }
.section.dark .spec { border-color: rgba(255,255,255,0.18); }
.spec span { display: block; font-size: 14px; color: rgba(128,128,132,1); margin-bottom: 6px; }
.spec strong { font-size: clamp(22px, 2.4vw, 34px); font-weight: 700; letter-spacing: -0.02em; }
.spec em { display: block; font-style: normal; font-size: 14px; margin-top: 6px; color: rgba(128,128,132,0.9); }

/* ---------- room panels ---------- */
.panel { max-width: 1240px; margin: 80px auto 0; padding: 0 24px; display: grid; grid-template-columns: 7fr 5fr; gap: 44px; align-items: center; }
.panel.flip .panel-media { order: 2; }
.panel-media { border-radius: 26px; overflow: hidden; }
.panel-media img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; transition: transform 1.2s var(--ease); }
.panel:hover .panel-media img { transform: scale(1.03); }
.panel-copy h3 { font-size: clamp(26px, 3vw, 40px); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 12px; }
.big-fig { font-size: clamp(40px, 4.6vw, 62px); font-weight: 800; letter-spacing: -0.03em; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: 14px; }
.big-fig small { font-size: 0.32em; font-weight: 600; letter-spacing: 0; }
.panel-copy p:not(.big-fig) { font-size: 17px; line-height: 1.6; color: rgba(29,29,31,0.72); }
.section.dark .panel-copy p:not(.big-fig) { color: rgba(245,245,247,0.72); }

/* ---------- amenities ---------- */
.amen-grid { max-width: 1240px; margin: 80px auto 0; padding: 0 24px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.amen { position: relative; border-radius: 24px; overflow: hidden; grid-column: span 2; }
.amen.big { grid-column: span 3; }
.amen img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; transition: transform 1.1s var(--ease); }
.amen.big img { aspect-ratio: 16 / 9; }
.amen:hover img { transform: scale(1.04); }
.amen figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 50px 20px 16px; background: linear-gradient(180deg, transparent, rgba(0,0,0,0.7)); font-size: 14px; font-weight: 600; color: #fff; }

/* ---------- chart ---------- */
.chart-wrap { margin-top: 80px; }
.chart-title { font-size: 20px; font-weight: 700; margin-bottom: 26px; }
.chart { display: flex; flex-direction: column; gap: 13px; }
.bar-row { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 16px; }
.bar-name { font-size: 15px; font-weight: 600; color: rgba(29,29,31,0.75); text-align: right; }
.bar-row.us .bar-name { color: #1d1d1f; font-weight: 800; }
.bar-track { background: #f0f0f2; border-radius: 10px; overflow: hidden; }
.bar { width: 0; min-width: 2px; height: 40px; border-radius: 10px; background: #c9c9ce; display: flex; align-items: center; justify-content: flex-end; padding-right: 12px; transition: width 1.4s var(--ease); }
.bar span { font-size: 14px; font-weight: 700; color: #fff; }
.bar-row.us .bar { background: var(--grad); height: 48px; }
.bar-row.us .bar span { font-size: 16px; }

/* ---------- timeline ---------- */
.timeline { margin-top: 80px; display: flex; flex-direction: column; gap: 0; }
.tl-item { display: grid; grid-template-columns: 150px 26px 1fr; align-items: center; gap: 18px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,0.1); position: relative; }
.tl-item::after {
  content: ""; grid-column: 2; grid-row: 1; width: 12px; height: 12px; border-radius: 50%;
  background: rgba(255,255,255,0.25); justify-self: center;
}
.tl-item.done::after { background: var(--grad); box-shadow: 0 0 14px rgba(255,90,60,0.8); }
.tl-item.done .tl-text::after { content: "  ✓"; color: #ff7a4d; font-weight: 800; }
.tl-date { grid-column: 1; font-size: 15px; font-weight: 700; color: rgba(245,245,247,0.55); text-align: right; font-variant-numeric: tabular-nums; }
.tl-text { grid-column: 3; font-size: clamp(16px, 1.8vw, 21px); font-weight: 600; }
.tl-item.highlight .tl-text { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 800; font-size: clamp(19px, 2.2vw, 26px); }
.tl-item.highlight::after { background: var(--grad); }

.panel.operator { margin-top: 100px; grid-template-columns: 5fr 7fr; }
.panel.operator .panel-media img { aspect-ratio: 1 / 0.92; }

/* ---------- CTA ---------- */
.cta { position: relative; padding: 170px 24px; text-align: center; overflow: hidden; background: #000; }
.cta-bg { position: absolute; inset: 0; }
.cta-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.cta-veil { position: absolute; inset: 0; background: rgba(0,0,0,0.62); }
.cta-content { position: relative; max-width: 860px; margin: 0 auto; }
.cta-logo { height: 116px; margin: 0 auto 34px; }
.cta h2 { font-size: clamp(36px, 5.2vw, 68px); font-weight: 700; letter-spacing: -0.025em; line-height: 1.05; color: #fff; }
.cta p { margin-top: 18px; font-size: clamp(16px, 1.8vw, 21px); color: rgba(245,245,247,0.8); }
.cta-btn {
  display: inline-block; margin-top: 38px; padding: 16px 40px; border-radius: 999px;
  background: var(--grad); color: #fff; font-size: 17px; font-weight: 700;
  transition: transform 0.25s var(--ease), box-shadow 0.25s;
}
.cta-btn:hover { transform: scale(1.06); box-shadow: 0 10px 40px rgba(255,90,60,0.5); }

/* ---------- footer ---------- */
footer { background: #000; padding: 50px 24px 60px; text-align: center; border-top: 1px solid rgba(255,255,255,0.08); }
footer p { font-size: 13px; color: rgba(245,245,247,0.55); }
footer .fine { margin-top: 14px; font-size: 11px; color: rgba(245,245,247,0.32); max-width: 760px; margin-left: auto; margin-right: auto; line-height: 1.6; }

/* ---------- responsive ---------- */
@media (max-width: 900px) {
  .strip-grid { grid-template-columns: repeat(2, 1fr); gap: 36px 16px; }
  .bignum-row { grid-template-columns: 1fr; gap: 34px; margin-top: 56px; }
  .uni-grid { grid-template-columns: repeat(4, 1fr); }
  .gallery { grid-template-columns: 1fr; }
  .g-item:not(.wide) img { aspect-ratio: 4 / 3; }
  .specs, .specs.three { grid-template-columns: 1fr 1fr; }
  .panel, .panel.flip, .panel.operator { grid-template-columns: 1fr; gap: 24px; }
  .panel.flip .panel-media { order: 0; }
  .amen-grid { grid-template-columns: 1fr 1fr; }
  .amen, .amen.big { grid-column: span 1; }
  .amen.big img { aspect-ratio: 4 / 3; }
  .bar-row { grid-template-columns: 92px 1fr; }
  .bar-name { font-size: 12px; }
  .tl-item { grid-template-columns: 84px 20px 1fr; gap: 10px; }
  .tl-date { font-size: 12px; }
  .climb { height: 480svh; }
  .climb-hud { left: 16px; right: 16px; bottom: 24px; justify-content: space-between; padding: 16px 18px; }
  .section { padding: 90px 0; }
  .nav-title { display: none; }
  .nav-logo { height: 44px; }
  .cta-logo { height: 90px; }
}

/* ===== Two aspects ===== */
.asp-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}
.asp-tabs button{padding:9px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#cfd3da;font-size:15px;font-weight:600;cursor:pointer;transition:.15s}
.asp-tabs button.on{background:#fff;color:#0b0d12;border-color:#fff}
.asp-fig{margin:0 0 14px;border-radius:18px;overflow:hidden;position:relative}
.asp-fig img{display:block;width:100%;height:auto}
.asp-fig figcaption{position:absolute;left:12px;bottom:12px}
.asp-tag{display:inline-block;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.asp-tag.sea{background:rgba(10,80,140,.55);color:#dff1ff}
.asp-tag.city{background:rgba(30,30,34,.55);color:#f0e9dc}

/* ===== Room layouts ===== */
.layouts-head{margin-top:56px}
.sub-h{font-size:clamp(24px,3.4vw,34px);font-weight:700;letter-spacing:-.02em;margin:0 0 8px}
.layout-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
@media(max-width:760px){.layout-grid{grid-template-columns:1fr}}
.layout-card{margin:0;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:18px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.layout-card img{display:block;width:100%;height:auto}
.layout-card figcaption{padding:14px 18px 16px;display:flex;flex-direction:column;gap:3px}
.layout-card b{font-size:16px;letter-spacing:-.01em}
.layout-card span{font-size:13.5px;color:#6b7280}

/* ===== Zoom / lightbox ===== */
.zoomable{cursor:zoom-in}
.g-item img,.amen img,.panel-media img{cursor:zoom-in}
#lightbox{position:fixed;inset:0;z-index:200;background:rgba(8,9,12,.92);display:flex;align-items:center;justify-content:center;padding:4vh 3vw;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#lightbox[hidden]{display:none}
#lightbox img{max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 20px 80px rgba(0,0,0,.6);cursor:zoom-out}
#lightboxClose{position:absolute;top:14px;right:18px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;cursor:pointer}

/* ===== Investor data room ===== */
.inv-lock{max-width:520px}
.inv-row{display:flex;gap:10px}
.inv-row input{flex:1;min-width:0;padding:14px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font-size:17px;letter-spacing:.12em;outline:none}
.inv-row input:focus{border-color:rgba(255,255,255,.6)}
.inv-row input::placeholder{letter-spacing:0;color:#8b90a0}
.inv-row button{padding:14px 26px;border-radius:12px;border:none;background:#fff;color:#0b0d12;font-size:15px;font-weight:700;cursor:pointer}
.inv-err{color:#ff9d9d;font-size:14px;margin-top:10px}
.inv-lock.shake{animation:invshake .4s}
@keyframes invshake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
@media(max-width:820px){.inv-grid{grid-template-columns:1fr}}
.inv-block{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:22px 24px}
.inv-block.wide{margin-top:18px}
.inv-block h3{margin:0 0 14px;font-size:19px;letter-spacing:-.01em}
.inv-row2{display:flex;justify-content:space-between;gap:14px;padding:7px 0;font-size:14.5px;color:#c7cbd6;border-bottom:1px dashed rgba(255,255,255,.08)}
.inv-row2 strong{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.inv-row2.sum{color:#e8eaf0;font-weight:600;border-bottom:1px solid rgba(255,255,255,.2)}
.inv-row2.total{font-weight:700;font-size:16px;color:#fff;border-bottom:none;padding-top:12px}
.inv-note{font-size:12.5px;color:#8b90a0;margin:12px 0 0}
.inv-table{display:flex;flex-direction:column}
.inv-thead,.inv-tr{display:grid;grid-template-columns:1fr 72px 72px 110px;gap:10px;padding:8px 0;font-size:14px;border-bottom:1px dashed rgba(255,255,255,.08)}
.inv-thead{color:#8b90a0;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em}
.inv-tr span{color:#c7cbd6}
.inv-tr span+span{text-align:right;font-variant-numeric:tabular-nums;color:#fff}
.inv-thead span+span{text-align:right}
.inv-tr.sum span{color:#fff;font-weight:700}
.inv-tr.sum{border-bottom:none}
@media(max-width:560px){.inv-thead,.inv-tr{grid-template-columns:1fr 52px 52px 88px;font-size:12.5px}}

/* ---------- investor comparison ---------- */
.cmp-intro{margin:0 0 18px}
.cmp-legend{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#8b90a0;margin-bottom:18px}
.cmp-legend-dot{width:12px;height:12px;border-radius:50%;background:var(--grad)}
.cmp-legend-med{width:3px;height:14px;border-radius:2px;background:rgba(255,255,255,.45);margin-left:14px}
.cmp-row{padding:12px 0;border-bottom:1px dashed rgba(255,255,255,.08)}
.cmp-row:last-of-type{border-bottom:none}
.cmp-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:14.5px;color:#c7cbd6;margin-bottom:10px}
.cmp-head strong{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.cmp-track{position:relative;height:8px;border-radius:99px;background:rgba(255,255,255,.12)}
.cmp-med{position:absolute;top:-4px;width:3px;height:16px;border-radius:2px;background:rgba(255,255,255,.45);transform:translateX(-50%)}
.cmp-dot{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:var(--grad);transform:translate(-50%,-50%);box-shadow:0 0 14px rgba(255,90,60,.7);border:2px solid #0b0d12}
.cmp-scale{display:flex;justify-content:space-between;font-size:12px;color:#8b90a0;margin-top:8px;font-variant-numeric:tabular-nums}
.cmp-types{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
@media(max-width:820px){.cmp-types{grid-template-columns:1fr}}
.cmp-type{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:20px 22px}
.cmp-type.us{border-color:rgba(255,110,70,.55);background:linear-gradient(180deg,rgba(255,80,60,.12),rgba(255,150,60,.05))}
.cmp-type-tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b90a0;margin-bottom:8px}
.cmp-type.us .cmp-type-tag{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cmp-type h4{margin:0 0 12px;font-size:19px;letter-spacing:-.01em}
.cmp-type-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:14px;color:#c7cbd6;border-bottom:1px dashed rgba(255,255,255,.08)}
.cmp-type-row:last-child{border-bottom:none}
.cmp-type-row strong{color:#fff;font-variant-numeric:tabular-nums}
.cmp-type.us .cmp-type-row strong{font-weight:800}
.cmp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -24px;padding:0 24px}
.cmp-table{width:100%;min-width:730px;border-collapse:collapse;font-size:13.5px}
.cmp-table th{text-align:right;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#8b90a0;font-weight:600;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.2);white-space:nowrap}
.cmp-table th:first-child{text-align:left}
.cmp-table td{padding:9px 10px;color:#c7cbd6;border-bottom:1px dashed rgba(255,255,255,.08);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cmp-table td:first-child{text-align:left;color:#e8eaf0}
.cmp-table tr.us td{color:#fff;font-weight:700;background:linear-gradient(90deg,rgba(255,80,60,.14),rgba(255,150,60,.05));border-bottom:1px solid rgba(255,110,70,.5)}
.cmp-table tr.us td:first-child{border-radius:10px 0 0 10px}
.cmp-table tr.us td:last-child{border-radius:0 10px 10px 0;background-clip:padding-box}
.cmp-table tr:last-child td{border-bottom:none}
