:root {
  --paper: #fafaf8;
  --ivory: #f7f7f4;
  --white: #fff;
  --ink: #111214;
  --coal: #0d0f12;
  --muted: #76797a;
  --line: #e7e7e4;
  --accent: #0e7490;
  --accent-soft: #e7f1f4;
  --display: 'Clash Display', Satoshi, 'Noto Sans SC', ui-sans-serif, system-ui, sans-serif;
  --sans: Satoshi, 'Noto Sans SC', ui-sans-serif, system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: #bbdce4; color: var(--ink); }

.container { width: 100%; max-width: 1440px; margin-inline: auto; padding-inline: 48px; }
.section { padding-block: 160px; overflow: hidden; }
.section--paper, .page-hero, .venture-list, .contact { background: var(--paper); }
.section--ivory, .architecture { background: var(--ivory); }
.section--white { background: var(--white); }

.site-header { position: fixed; z-index: 50; inset: 0 0 auto; transition: background .5s ease, border .5s ease; background: transparent; }
.site-header__inner, .header__inner { width: 100%; max-width: 1440px; height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 0; margin-inline: auto; padding: 0 48px; border-bottom: 1px solid transparent; }
.site-header--scrolled .header__inner { background: rgba(250,250,248,.95); border-bottom-color: var(--line); }
.header__brand { flex: 0 0 auto; display: block; width: auto; }
.wordmark { display: inline-flex; flex-direction: column; gap: 7px; white-space: nowrap; }
.wordmark__top { display: flex; align-items: baseline; gap: 10px; letter-spacing: 3px; line-height: 1; }
.wordmark__top b { font-size: 17px; font-weight: 900; letter-spacing: 2.8px; }
.wordmark__top span { color: #a1a3a3; font-size: 10px; font-weight: 700; letter-spacing: 3px; }
.wordmark__sub { color: var(--accent); font-size: 8.5px; font-weight: 700; letter-spacing: 2.5px; }
.wordmark__sub i { color: var(--accent); font-style: normal; padding-inline: 2px; }
.desktop-nav { display: flex; justify-content: center; gap: 32px; }
.nav-link { position: relative; color: rgba(17,18,20,.6); font-size: 12px; font-weight: 500; letter-spacing: .18em; transition: color .2s ease; }
.nav-link:hover, .nav-link.is-active { color: var(--ink); }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 13px; padding: 0 26px; border: 1px solid transparent; font-size: 12px; font-weight: 900; letter-spacing: 1.7px; transition: transform .25s ease, background .25s ease, color .25s ease; }
.button svg, .text-link svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s ease; }
.button:hover { transform: translateY(-2px); }
.button:hover svg, .text-link:hover svg { transform: translateX(3px); }
.button--dark { background: var(--ink); color: var(--paper); }
.button--dark:hover { background: var(--accent); }
.button--light { color: var(--ink); background: var(--paper); }
.button--light:hover { background: var(--accent-soft); }
.button--outline { border-color: var(--ink); background: transparent; }
.header__cta { min-width: 268px; min-height: 42px; margin-left: 0; padding-inline: 23px; }
.text-link { display: inline-flex; align-items: center; gap: 13px; color: var(--ink); font-size: 12px; font-weight: 900; letter-spacing: 1.7px; border-bottom: 1px solid transparent; padding-bottom: 4px; transition: border .2s ease, color .2s ease; }
.text-link:hover { color: var(--accent); border-color: var(--accent); }
.menu-toggle, .mobile-menu { display: none; }

.section-mark { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 50px; }
.section-mark__label { display: inline-flex; align-items: center; gap: 12px; color: #888b8a; font-size: 11px; font-weight: 700; letter-spacing: 3px; line-height: 1; }
.section-mark__label i { display: inline-block; width: 32px; height: 1px; background: var(--accent); }
.section-mark > b { color: transparent; font-family: var(--display); font-size: 68px; font-weight: 600; line-height: .7; letter-spacing: -2px; -webkit-text-stroke: 1px #dfdfda; }

h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { font-family: var(--display); }
h1 { margin-bottom: 32px; font-size: clamp(55px, 5.12vw, 74px); font-weight: 600; line-height: .995; letter-spacing: -1.9px; }
h2 { font-size: 60px; font-weight: 600; line-height: 1; letter-spacing: -1.5px; }
.split-heading, .line-mask, .line-inner { display: block; }
.line-mask { margin-bottom: -.1em; padding-bottom: .1em; overflow: hidden; }
.line-inner { transform: translateY(115%); animation: line-reveal .8s cubic-bezier(.22,1,.36,1) forwards; animation-delay: calc(110ms + (var(--line-index) * 100ms)); }
.hero-enter .section-mark { opacity: 0; transform: translateY(20px); animation: enter-up .65s cubic-bezier(.22,1,.36,1) 40ms forwards; }
.hero-enter > p { opacity: 0; transform: translateY(20px); animation: enter-up .7s cubic-bezier(.22,1,.36,1) 520ms forwards; }
.hero-enter .hero__actions { opacity: 0; transform: translateY(20px); animation: enter-up .7s cubic-bezier(.22,1,.36,1) 620ms forwards; }
.hero-enter .hero__location { opacity: 0; animation: enter-fade .7s ease 760ms forwards; }
@keyframes line-reveal { to { transform: translateY(0); } }
@keyframes enter-up { to { opacity: 1; transform: translateY(0); } }
@keyframes enter-fade { to { opacity: 1; } }
.lead { max-width: 620px; color: #636667; font-size: 18px; line-height: 1.55; }
.lead--muted { color: #9c9e9c; }
.section-title { max-width: 910px; margin-bottom: 116px; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tag { display: inline-flex; min-height: 31px; align-items: center; padding: 6px 11px; border: 1px solid #deded9; color: #777a7a; font-size: 10px; font-weight: 700; letter-spacing: 1.6px; line-height: 1.1; transition: color .3s ease, border-color .3s ease, background-color .3s ease; }
.tag:hover { border-color: rgba(14,116,144,.45); background: rgba(255,255,255,.5); color: var(--accent); }

.hero { position: relative; min-height: 892px; padding: 192px 0 80px; overflow: hidden; background: var(--paper); }
.hero__layout { min-height: 620px; display: grid; grid-template-columns: minmax(0, .99fr) minmax(520px, 1.01fr); align-items: center; }
.hero__copy { position: relative; z-index: 2; padding-bottom: 11px; }
.hero .section-mark { margin-bottom: 43px; }
.hero__copy > p { max-width: 590px; margin-bottom: 38px; color: #747676; font-size: 18px; line-height: 1.58; }
.hero__actions { display: flex; align-items: center; gap: 24px; }
.hero__location { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; margin-top: 57px; color: #969897; font-size: 10px; font-weight: 700; letter-spacing: 2px; }
.hero__location i { color: var(--accent); font-style: normal; }
.hero-visual { position: relative; isolation: isolate; align-self: stretch; min-height: 600px; margin-right: -20px; }
.hero-visual::before { content: ''; position: absolute; z-index: 0; inset: -25px -30px -30px -40px; background-image: linear-gradient(rgba(17,18,20,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(17,18,20,.055) 1px, transparent 1px); background-position: center; background-size: 38px 38px; mask-image: radial-gradient(90% 85% at 55% 45%, #000 25%, transparent 75%); }
.hero-visual__grid { position: absolute; z-index: 1; inset: -25px -30px -30px -40px; width: calc(100% + 70px); height: calc(100% + 55px); }
.flow { fill: none; stroke: var(--accent); stroke-width: 1.3; stroke-dasharray: 3 5; opacity: .48; animation: dashmove 1.4s linear infinite; }
.flow--two { opacity: .34; }.flow--three { stroke: var(--ink); opacity: .22; }.flow--four { opacity: .4; }
.nodes circle { fill: var(--paper); stroke: var(--accent); stroke-width: 1.5; }.nodes circle:nth-child(3) { stroke: var(--ink); opacity: .7; }.traveller { fill: var(--accent); }.traveller--two { fill: var(--ink); }.traveller--three { fill: var(--accent); }
.visual-card { position: absolute; z-index: 2; background: rgba(255,255,255,1); border: 1px solid #e6e6e2; box-shadow: 0 20px 33px rgba(17,18,20,.09); color: #707372; }
.visual-card p { margin: 0; color: #8f9190; font-size: 9px; font-weight: 700; letter-spacing: 2.4px; }
.visual-card--stats { top: 0; left: 0; width: 265px; padding: 47px 16px 17px; }
.visual-card--stats::before { content: '•••'; position: absolute; top: 11px; left: 16px; color: #dadbd9; letter-spacing: 5px; }.visual-card--stats::after { content: ''; position: absolute; top: 11px; left: 100px; width: 65px; height: 7px; border-radius: 6px; background: #ececea; transform-origin: left center; animation: live-readout-in .6s cubic-bezier(.22,1,.36,1) .72s both; }
.bars { display: flex; align-items: end; height: 68px; gap: 6px; margin: 19px 0 18px; }.bars i { width: 28px; height: 24px; background: #c4c6c5; transform-origin: bottom; animation: live-bar-in .7s cubic-bezier(.22,1,.36,1) both; }.bars i:nth-child(1) { animation-delay: .08s; }.bars i:nth-child(2) { height: 36px; animation-delay: .14s; }.bars i:nth-child(3) { height: 21px; animation-delay: .2s; }.bars i:nth-child(4) { height: 43px; animation-delay: .26s; }.bars i:nth-child(5) { height: 31px; animation-delay: .32s; }.bars i:nth-child(6) { height: 52px; animation-delay: .38s; }.bars i:nth-child(7) { height: 38px; animation-delay: .44s; }.bars .accent { background: var(--accent); }
.visual-card--stats .tag { min-height: 22px; margin-right: 5px; padding: 4px 8px; font-size: 7px; letter-spacing: 1px; }
.visual-card--agent { top: 77px; right: 20px; width: 224px; padding: 0; border-color: rgba(17,18,20,.1); border-radius: 6px; box-shadow: 0 30px 70px -35px rgba(17,18,20,.35); overflow: hidden; }.visual-card__agent-head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid rgba(17,18,20,.05); }.visual-card__agent-icon { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 3px; background: var(--accent); color: white; }.visual-card__agent-icon svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }.visual-card__agent-head > span:not(.visual-card__agent-icon) { color: rgba(17,18,20,.6); font-size: 9px; font-weight: 600; letter-spacing: .28em; line-height: 1.55; }.visual-card__agent-head > .pulse-dot { width: 6px; height: 6px; margin-left: auto; background: var(--accent); }.visual-card__agent-content { display: grid; gap: 10px; padding: 16px; }.agent-line { display: block; width: 80%; height: 8px; border-radius: 8px; background: rgba(17,18,20,.1); }.agent-line--accent { width: 60%; justify-self: end; background: rgba(14,116,144,.25); }.agent-line--tertiary { width: 66.667%; }.visual-card__agent-content small { display: flex; height: 8px; gap: 4px; padding-top: 4px; }.visual-card__agent-content small .pulse-dot { width: 4px; height: 4px; background: rgba(17,18,20,.4); }.visual-card__agent-content small .pulse-dot:nth-child(2) { animation-delay: .25s; }.visual-card__agent-content small .pulse-dot:nth-child(3) { animation-delay: .5s; }.pulse-dot { display: inline-block; border-radius: 50%; animation: pulse-dot 2.2s ease-in-out infinite; }
.visual-card--cap { left: 2px; bottom: 80px; width: 226px; padding: 18px 16px 14px; }.visual-card--cap > div { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 12px; }.visual-card--cap b { padding: 10px; background: #f7f7f4; font-size: 9px; letter-spacing: 1.4px; }
.visual-card--mode { top: 44%; right: auto; left: 34%; padding: 13px 19px; }.visual-card--mode p { white-space: nowrap; }.visual-card--mode b { margin-left: 12px; color: var(--ink); }.visual-card--scale { right: 2px; bottom: 2px; width: 218px; padding: 20px 17px 17px; background: var(--ink); color: var(--paper); }.visual-card--scale p { color: #8a8c8d; font-size: 8px; }.visual-card--scale > b { display: block; margin: 16px 0; font-size: 10px; letter-spacing: 1px; }.visual-card--scale > i { display: block; height: 4px; background: linear-gradient(90deg, var(--accent) 68%, #303236 68%); }

.ticker { padding: 24px 0; overflow: hidden; border-block: 1px solid var(--line); background: var(--ivory); }.ticker > div { display: flex; width: max-content; animation: ticker 55s linear infinite; }.ticker span { display: inline-flex; align-items: center; white-space: nowrap; color: #555859; font-size: 13px; font-weight: 700; letter-spacing: 1.5px; }.ticker span::after { content: '•'; margin-inline: 28px; color: var(--accent); font-size: 14px; }@keyframes ticker { to { transform: translateX(-50%); } } @keyframes dashmove { to { stroke-dashoffset: -16; } } @keyframes pulse-dot { 0%,100% { opacity: .35; transform: scale(.8); } 50% { opacity: 1; transform: scale(1); } }

.intro-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 80px; }.intro-grid h2 { margin: 0; }.intro-grid h2 span { color: rgba(17,18,20,.4); }.intro-grid .lead { margin: 0 0 24px; }.concept-grid { margin-top: 112px; }.concept-grid article { display: flex; min-height: 186px; align-items: center; padding: 56px 32px; border-top: 1px solid rgba(17,18,20,.1); transition: color .5s ease, background-color .5s ease; }.concept-grid article:last-child { border-bottom: 1px solid rgba(17,18,20,.1); }.concept-grid article:hover { background: var(--ink); color: var(--paper); }.concept-grid h3 { margin: 0; font-size: 72px; line-height: 1; letter-spacing: -1.8px; }.concept-grid p { margin: 0 0 0 auto; color: inherit; font-size: 14px; font-weight: 500; letter-spacing: .2em; opacity: .5; text-transform: uppercase; }.concept-grid article > span { margin-left: 16px; color: var(--accent); opacity: 0; transition: opacity .5s ease, transform .5s ease; transform: translateX(-8px); }.concept-grid article:hover > span { opacity: 1; transform: none; }

.capability-list { border-top: 1px solid var(--line); }.capability { display: grid; grid-template-columns: 36% 64%; padding: 72px 0 65px; border-bottom: 1px solid var(--line); }.capability__side { display: grid; grid-template-columns: 64px 1fr; gap: 20px; }.capability__side > b, .technology-grid article > span, .approach-grid article > span, .why-list > article > span, .venture-card__intro > span, .contact-options > article > span { color: var(--accent); font-size: 12px; font-weight: 700; letter-spacing: 1px; }.capability__side h3 { max-width: 325px; margin: 0; font-size: 24px; line-height: 1.33; letter-spacing: .5px; }.capability__body h4 { margin: 0 0 18px; font-size: 30px; line-height: 1.2; letter-spacing: -.75px; }.capability__body > p { max-width: 690px; margin-bottom: 28px; color: #777a79; font-size: 16px; line-height: 1.65; }.venture-process { display: flex; gap: 0; margin: 4px 0 25px; }.venture-process span { position: relative; color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: 1.4px; }.venture-process span:not(:last-child)::after { content: '→'; margin: 0 14px; color: #a7c1c8; }

.venture-feature__grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 96px; }.venture-name { margin-bottom: 14px; color: var(--accent); font-size: 20px; font-weight: 900; letter-spacing: 3px; }.venture-feature h2 { margin-bottom: 25px; font-size: 36px; line-height: 1.1; letter-spacing: -.9px; }.venture-feature .tags { margin: 33px 0; }.venture-domain { margin: 14px 0 0; color: #8d908f; font-size: 10px; font-weight: 700; letter-spacing: 1.8px; }.venture-feature__note { max-width: 840px; margin: 105px auto 0; padding-top: 26px; border-top: 1px solid var(--line); color: #878a89; font-size: 14px; line-height: 1.7; text-align: center; }.reno-mockup { position: relative; min-height: 540px; padding: 30px 45px; background: #f8f8f6; border: 1px solid #e3e3df; box-shadow: 25px 30px 60px rgba(17,18,20,.06); transform: rotate(1.5deg); }.mockup-browser { display: flex; gap: 7px; align-items: center; height: 23px; }.mockup-browser span { width: 6px; height: 6px; border-radius: 50%; background: #d5d5d2; }.mockup-browser i { width: 85px; height: 7px; margin-left: 12px; border-radius: 6px; background: #e7e7e3; }.mockup-browser small { margin-left: auto; color: #a0a2a0; font-size: 8px; letter-spacing: 1.2px; }.mockup-title { margin: 14px 0 25px; color: var(--ink); font-size: 14px; font-weight: 900; letter-spacing: 3px; }.mockup-title b { color: var(--accent); }.reno-mockup > svg { width: 100%; height: 290px; }.mockup-analysis, .mockup-gen, .mockup-bars { position: absolute; padding: 13px 15px; background: white; border: 1px solid #e0e1dd; box-shadow: 0 10px 22px rgba(17,18,20,.05); }.mockup-analysis { left: -34px; bottom: 63px; }.mockup-analysis span, .mockup-gen small { display: block; color: #909291; font-size: 9px; letter-spacing: 1.2px; }.mockup-analysis b, .mockup-gen b { display: block; margin-top: 7px; font-size: 10px; letter-spacing: 1px; }.mockup-gen { top: 88px; right: -32px; }.mockup-bars { right: -20px; bottom: 30px; display: grid; gap: 6px; }.mockup-bars span { color: #737675; font-size: 10px; }.mockup-bars b { float: right; margin-left: 28px; color: var(--accent); }

.technology { position: relative; background: var(--coal); color: white; }.technology .section-mark__label { color: #898d8f; }.technology .section-mark > b { -webkit-text-stroke-color: #323438; }.technology__heading { position: relative; display: grid; grid-template-columns: .95fr .5fr; gap: 70px; align-items: start; }.technology h2 { max-width: 750px; margin-bottom: 25px; }.technology .lead { color: #babdbd; }.technology__graphic { position: absolute; width: 420px; height: 420px; right: -20px; top: -132px; }.tech-flow path { fill: none; stroke: var(--accent); stroke-width: 1; opacity: .55; stroke-dasharray: 3 5; }.tech-nodes circle { fill: var(--coal); stroke: rgba(255,255,255,.35); stroke-width: 1.4; }.tech-nodes circle:nth-child(5) { stroke: var(--accent); }.technology-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 90px; margin-top: 96px; }.technology-grid article { position: relative; min-height: 272px; padding: 0 0 0 64px; border-top: 1px solid #2c2e31; }.technology-grid article > span { position: absolute; left: 0; top: 27px; }.technology-grid h3 { margin: 24px 0 20px; font-size: 30px; line-height: 1.2; letter-spacing: -.75px; }.technology-grid p { display: inline-block; width: 49%; margin: 0 0 9px; color: #b2b4b5; font-size: 14px; }.technology-stack { display: flex; align-items: center; gap: 20px 38px; margin-top: 80px; padding-top: 24px; border-top: 1px solid #2c2e31; flex-wrap: wrap; }.technology-stack span { color: #7f8384; font-size: 9px; font-weight: 700; letter-spacing: 2px; }.technology-stack b { color: #e4e5e4; font-size: 13px; letter-spacing: 1.3px; }

.approach-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border-top: 1px solid var(--line); }.approach-grid article { min-height: 300px; padding: 27px 23px 25px; border-right: 1px solid var(--line); }.approach-grid article:first-child { padding-left: 0; }.approach-grid article:last-child { border: 0; }.approach-grid article > span { display: inline-block; color: transparent; font-family: var(--display); font-size: 60px; font-weight: 600; line-height: 1; -webkit-text-stroke: 1px #d7d8d4; transition: color .5s ease, -webkit-text-stroke .5s ease; }.approach-grid article:hover > span { color: var(--accent); -webkit-text-stroke: 0; }.approach-grid h3 { margin: 48px 0 15px; font-size: 24px; letter-spacing: -.6px; }.approach-grid p { color: #777a79; font-size: 14px; line-height: 1.6; }
.why-heading h2 { max-width: 896px; margin-bottom: 24px; }.why-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 112px; background: rgba(17,18,20,.1); }.why-list article { min-height: 284px; padding: 56px; background: var(--ivory); transition: background-color .5s ease; }.why-list article:hover { background: var(--white); }.why-list article > span { display: block; color: transparent; font-family: var(--display); font-size: 60px; font-weight: 600; line-height: 1; -webkit-text-stroke: 1px #d7d8d4; transition: color .5s ease, -webkit-text-stroke .5s ease; }.why-list article:hover > span { color: var(--accent); -webkit-text-stroke: 0; }.why-list h3 { margin: 42px 0 12px; font-size: 16px; letter-spacing: 1px; }.why-list p { max-width: 510px; margin: 0; color: #777a79; font-size: 15px; line-height: 1.55; }

/* Technology cards and approach timeline */
.technology__heading { grid-template-columns: 7fr 5fr; gap: 48px; }.technology__heading > div { display: contents; }.technology__heading h2 { grid-column: 1; max-width: none; }.technology__heading .lead { grid-column: 2; max-width: 430px; margin: 0; align-self: end; }.technology-grid { gap: 1px; margin-top: 112px; background: rgba(255,255,255,.1); }.technology-grid article { min-height: 0; padding: 48px; border: 0; background: var(--coal); transition: background-color .5s ease; }.technology-grid article:hover { background: #16191c; }.technology-grid article > span { position: static; display: inline-block; float: left; margin-right: 20px; color: var(--accent); font-family: monospace; font-size: 12px; font-weight: 700; letter-spacing: 0; vertical-align: baseline; }.technology-grid h3 { display: block; margin: 0; color: var(--paper); font-size: 30px; line-height: 1.15; letter-spacing: -.75px; }.technology-grid article > p { display: inline-flex; width: calc(50% - 20px); align-items: center; gap: 12px; margin: 32px 16px 0 0; padding: 0 0 10px; border-bottom: 1px solid rgba(255,255,255,.05); color: rgba(255,255,255,.55); font-size: 14px; line-height: 1.2; transition: color .3s ease; }.technology-grid article > p:nth-of-type(n + 3) { margin-top: 10px; }.technology-grid article > p::before { content: ''; width: 4px; height: 4px; flex: 0 0 4px; border-radius: 50%; background: var(--accent); }.technology-grid article:hover > p { color: rgba(255,255,255,.75); }
.approach-grid { position: relative; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; border-top: 0; }.approach-grid::before { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 1px; background: rgba(17,18,20,.2); }.approach-grid article, .approach-grid article:first-child { position: relative; min-height: 0; padding: 40px 0 0; border: 0; }.approach-grid article::before { content: ''; position: absolute; top: -4px; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }.approach-grid article > span { font-size: 60px; }.approach-grid h3 { margin: 20px 0 12px; font-size: 24px; letter-spacing: -.6px; }.approach-grid p { max-width: 210px; margin: 0; color: rgba(17,18,20,.6); font-size: 14px; line-height: 1.55; }

.cta-section { position: relative; overflow: hidden; background: var(--coal); color: white; }.cta-section__inner { position: relative; min-height: 650px; padding-top: 147px; }.cta-section .section-mark { margin-bottom: 52px; }.cta-section .section-mark__label { color: #919596; }.cta-section h2 { max-width: 760px; margin-bottom: 24px; font-size: 60px; }.cta-section p { max-width: 610px; margin-bottom: 37px; color: #bfc2c1; font-size: 18px; line-height: 1.55; }.cta-orbit { position: absolute; width: 800px; height: 800px; right: -200px; top: -75px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }.cta-orbit::before, .cta-orbit::after { content: ''; position: absolute; inset: 14%; border: 1px solid rgba(14,116,144,.5); border-radius: 50%; }.cta-orbit::after { inset: 31%; border-color: rgba(255,255,255,.16); }

.site-footer { padding: 82px 0 28px; background: var(--coal); color: white; }.footer__grid { display: grid; grid-template-columns: 1.65fr .8fr 1.1fr .95fr; gap: 50px; padding-bottom: 70px; }.footer__brand p { max-width: none; margin: 32px 0 0; color: #afb2b1; font-size: clamp(11px, 1.05vw, 15px); line-height: 1.5; white-space: nowrap; }.site-footer .wordmark__top span { color: #888b8c; }.footer__label { margin: 0 0 23px; color: #767a7b; font-size: 10px; font-weight: 700; letter-spacing: 2px; }.footer__links, .footer__reach { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }.footer__links a, .footer__reach a, .footer__reach span { color: #e7e8e6; font-size: 14px; }.footer__links a:hover, .footer__reach a:hover { color: #73b5c7; }.footer__venture { display: block; margin-bottom: 9px; font-family: var(--display); font-size: 26px; letter-spacing: -.5px; }.footer__muted { margin: 0; color: #a3a6a5; font-size: 13px; line-height: 1.45; }.footer__legal { display: flex; justify-content: space-between; padding-top: 25px; border-top: 1px solid #292b2f; color: #7d8181; font-size: 9px; font-weight: 700; letter-spacing: 1.8px; }

.page-hero { padding: 192px 0 110px; }.page-hero .section-mark { margin-bottom: 48px; }.page-hero h1 { max-width: 1000px; margin-bottom: 36px; }.page-hero .lead { max-width: 800px; }.venture-list { padding-bottom: 160px; }.venture-statuses { display: flex; flex-wrap: wrap; gap: 8px; margin: -12px 0 76px; }.venture-card { padding: 37px 0; border-top: 1px solid var(--line); }.venture-card:last-child { border-bottom: 1px solid var(--line); }.venture-card__intro { display: grid; grid-template-columns: 52px 1fr auto; align-items: start; gap: 0; }.venture-card__intro h2 { margin: 0 0 7px; font-size: 36px; letter-spacing: -.9px; }.venture-card__intro p { margin: 0; color: #8a8c8b; font-size: 14px; }.status { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid #deded9; color: #737675; font-size: 10px; letter-spacing: 1.5px; }.status i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }.venture-card__detail { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; padding: 40px 0 4px 70px; }.venture-card__detail > p { margin: 0; color: #737675; font-size: 18px; line-height: 1.6; }.venture-card__detail .text-link { grid-column: 2; justify-self: start; margin-top: 26px; }.architecture h2 { margin: 0 0 23px; }.architecture > .container > .lead { margin-bottom: 90px; }.architecture__tree > div:first-child { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; width: 290px; margin: 0 auto; padding: 30px 20px; border: 1px solid #d7d8d4; background: var(--paper); text-align: center; }.architecture__tree strong { font-family: var(--display); font-size: 34px; letter-spacing: 2px; }.architecture__tree span { margin: 9px 0 22px; color: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: 1.5px; }.architecture__tree b { color: #777a79; font-size: 10px; letter-spacing: 1.5px; }.architecture__tree > i { display: block; height: 78px; width: 1px; margin: auto; background: #b8bdbb; }.architecture__branches { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; position: relative; }.architecture__branches::before { content: ''; position: absolute; top: -1px; left: 16.6%; right: 16.6%; height: 1px; background: #b8bdbb; }.architecture__branches article { position: relative; padding: 32px; border: 1px solid #d7d8d4; background: var(--paper); text-align: center; }.architecture__branches article::before { content: ''; position: absolute; height: 31px; top: -32px; left: 50%; border-left: 1px solid #b8bdbb; }.architecture__branches small { color: #878a89; font-size: 9px; font-weight: 700; letter-spacing: 1.6px; }.architecture__branches h3 { margin: 18px 0 8px; font-size: 25px; letter-spacing: -.5px; }.architecture__branches p { margin: 0; color: #858887; font-size: 14px; }.architecture__tree em { display: block; margin: 42px 0 0; color: #7d807f; font-size: 9px; font-style: normal; font-weight: 700; letter-spacing: 2px; text-align: center; }
.page-enter .section-mark { opacity: 0; transform: translateY(20px); animation: enter-up .65s cubic-bezier(.22,1,.36,1) 40ms forwards; }.page-enter .lead { opacity: 0; transform: translateY(20px); animation: enter-up .7s cubic-bezier(.22,1,.36,1) 430ms forwards; }

.about { padding-bottom: 160px; }.about > .container { display: grid; grid-template-columns: 1fr .88fr; gap: 160px; }.about__copy > p { max-width: 660px; margin: 0 0 24px; color: #5f6261; font-size: 20px; line-height: 1.6; }.about__copy h2 { margin: 54px 0 0; font-size: 45px; }.about__details { padding: 16px 0; }.about dl { margin: 0 0 62px; }.about dl > div { padding: 17px 0; border-bottom: 1px solid var(--line); }.about dt { margin-bottom: 8px; color: #888b8a; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; }.about dd { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: .5px; }

.contact { padding-bottom: 160px; }.contact__grid { display: grid; grid-template-columns: 1fr .8fr; gap: 160px; }.contact-options { border-top: 1px solid var(--line); }.contact-options article { display: grid; grid-template-columns: 56px 1fr; gap: 0; padding: 31px 0 30px; border-bottom: 1px solid var(--line); }.contact-options h2 { margin: 0 0 12px; font-size: 22px; letter-spacing: .8px; }.contact-options p { margin: 0; color: #737675; font-size: 15px; line-height: 1.55; }.contact-reach { margin: 65px 0 0 56px; }.contact-reach p { margin: 0 0 13px; color: #696c6b; font-size: 16px; }.contact-reach a { color: var(--accent); font-size: 16px; font-weight: 700; }.contact-form { display: grid; gap: 21px; }.contact-form label { display: grid; gap: 10px; color: #575a5a; font-size: 10px; font-weight: 900; letter-spacing: 1.5px; }.contact-form input, .contact-form select, .contact-form textarea { width: 100%; appearance: none; padding: 12px 0; border: 0; border-bottom: 1px solid #bfc1be; border-radius: 0; outline: 0; background: transparent; color: var(--ink); font-size: 16px; }.contact-form select { background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111214' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right center/14px no-repeat; }.contact-form textarea { resize: vertical; }.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-bottom-color: var(--accent); }.contact-form .button { justify-self: start; margin-top: 8px; }.form-notice { min-height: 24px; margin: 0; color: var(--accent); font-size: 13px; line-height: 1.45; }

/* Venture architecture */
.architecture > .container > .lead { max-width: 720px; margin-bottom: 80px; }.architecture__tree { position: relative; }.architecture__tree > .architecture__brand { display: flex; width: max-content; max-width: 100%; margin: 0 auto; padding: 24px 40px; border: 1px solid rgba(17,18,20,.15); background: var(--white); box-shadow: 0 20px 60px -40px rgba(17,18,20,.4); text-align: center; flex-direction: column; align-items: center; }.architecture__brand strong { color: var(--ink); font-family: var(--display); font-size: 24px; font-weight: 600; letter-spacing: .14em; }.architecture__brand span { margin: 5px 0 0; color: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: .3em; }.architecture__studio { display: flex; align-items: center; flex-direction: column; }.architecture__studio i { display: block; width: 1px; height: 40px; background: rgba(17,18,20,.2); }.architecture__studio b { padding: 8px 20px; border: 1px solid rgba(17,18,20,.15); border-radius: 3px; background: var(--ivory); color: rgba(17,18,20,.6); font-size: 10px; font-weight: 700; letter-spacing: .3em; }.architecture__studio i:last-child { display: none; }.architecture__connector { display: block; width: 100%; max-width: 896px; height: 70px; margin: 0 auto; }.architecture__connector > path:first-child { stroke: var(--ink); stroke-opacity: .25; stroke-width: 1.2; }.architecture__connector .flow { stroke: var(--accent); stroke-opacity: .6; stroke-width: 1.2; }.architecture__branches { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0; background: transparent; }.architecture__branches::before, .architecture__branches article::before { content: none; }.architecture__branches article { min-height: 0; padding: 28px; border: 1px solid rgba(17,18,20,.12); background: var(--white); text-align: left; transition: transform .5s ease, border-color .5s ease, box-shadow .5s ease; }.architecture__branches article:hover { border-color: rgba(14,116,144,.5); box-shadow: 0 30px 70px -45px rgba(14,116,144,.5); transform: translateY(-4px); }.architecture__branches small { display: flex; align-items: center; gap: 8px; color: rgba(17,18,20,.45); font-size: 9px; font-weight: 700; letter-spacing: .28em; }.architecture__branches small i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: rgba(17,18,20,.25); }.architecture__branches small i.pulse-dot { background: var(--accent); }.architecture__branches h3 { margin: 16px 0 4px; color: var(--ink); font-size: 20px; font-weight: 600; letter-spacing: -.5px; }.architecture__branches p { margin: 0; color: rgba(17,18,20,.55); font-size: 14px; line-height: 1.5; }.architecture__note { width: max-content; max-width: 100%; margin: 32px auto 0; padding: 10px 20px; border: 1px dashed rgba(17,18,20,.2); color: rgba(17,18,20,.4); font-size: 10px; font-weight: 600; letter-spacing: .26em; text-align: center; }

/* Contact */
.contact__grid { grid-template-columns: 5fr 7fr; gap: 64px; }.contact-options article { display: block; padding: 32px 0; }.contact-options article > div { display: grid; grid-template-columns: 20px 1fr; align-items: baseline; gap: 20px; }.contact-options article > div > span { color: var(--accent); font-family: monospace; font-size: 12px; font-weight: 700; letter-spacing: 0; }.contact-options h2 { margin: 0; font-size: 14px; font-weight: 700; letter-spacing: .26em; }.contact-options p { max-width: 340px; margin: 12px 0 0; color: rgba(17,18,20,.6); font-size: 14px; line-height: 1.55; }.contact-reach { margin: 40px 0 0; color: rgba(17,18,20,.55); }.contact-reach p, .contact-reach a { font-size: 14px; font-weight: 400; }.contact-form { display: block; padding: 48px; border: 1px solid rgba(17,18,20,.12); background: var(--white); }.contact-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 28px; }.contact-form label { gap: 8px; color: rgba(17,18,20,.5); font-size: 10px; font-weight: 700; letter-spacing: .26em; }.contact-form__message { grid-column: 1 / -1; }.contact-form input, .contact-form select, .contact-form textarea { min-height: 36px; padding: 8px 0; font-size: 15px; }.contact-form textarea { min-height: 130px; resize: none; }.contact-form input::placeholder, .contact-form textarea::placeholder { color: rgba(17,18,20,.28); }.contact-form .button { margin-top: 40px; }.form-notice { margin-top: 14px; }

.reveal-item { opacity: 0; transform: translate3d(0, 20px, 0); transition: opacity .38s cubic-bezier(.22,1,.36,1), transform .44s cubic-bezier(.22,1,.36,1); transition-delay: var(--reveal-delay, 0ms); will-change: opacity, transform; }.reveal-item.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }.reveal-item.is-exiting { opacity: 0; transform: translate3d(0, -12px, 0); transition-duration: .24s, .3s; transition-delay: 0ms; }.reveal-item.is-exiting.exit-down { transform: translate3d(0, 12px, 0); }

@media (max-width: 1100px) {
  .desktop-nav { gap: 18px; }.header__cta { min-width: auto; padding-inline: 20px; }.header__brand { width: 255px; }.hero__layout { grid-template-columns: .95fr 1.05fr; }.hero-visual { transform: scale(.92); transform-origin: right center; }.capability { grid-template-columns: 35% 65%; }.technology-grid { gap: 48px; }.contact__grid, .about > .container { gap: 90px; }
}

@media (max-width: 780px) {
  .container { padding-inline: 23px; }.section { padding-block: 112px; }.site-header__inner, .header__inner { height: 78px; padding: 0 23px; }.header__brand { width: auto; }.wordmark__top { gap: 8px; }.wordmark__top b { font-size: 16px; }.wordmark__top span { font-size: 9px; letter-spacing: 2.4px; }.wordmark__sub { font-size: 7.5px; letter-spacing: 2px; }.desktop-nav, .header__cta { display: none; }.menu-toggle { display: flex; width: 38px; height: 38px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid #deded9; background: transparent; }.menu-toggle span { display: block; width: 13px; height: 1px; background: var(--ink); transition: transform .22s ease, opacity .22s ease; }.menu-toggle[aria-expanded='true'] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }.menu-toggle[aria-expanded='true'] span:nth-child(2) { opacity: 0; }.menu-toggle[aria-expanded='true'] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }.mobile-menu { position: fixed; z-index: -1; display: flex; flex-direction: column; justify-content: space-between; inset: 0; padding: 190px 23px 70px; visibility: hidden; opacity: 0; background: var(--paper); transition: opacity .25s ease, visibility .25s ease; }.mobile-menu[aria-hidden='false'] { z-index: -1; visibility: visible; opacity: 1; }.mobile-menu nav { border-top: 0; }.mobile-menu__link { position: relative; display: block; padding: 23px 0 19px 28px; border-bottom: 1px solid var(--line); font-family: var(--display); font-size: 29px; font-weight: 600; line-height: 1; letter-spacing: -.8px; }.mobile-menu__link::before { position: absolute; left: 0; top: 27px; color: var(--accent); font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: 0; }.mobile-menu__link:nth-child(1)::before { content: '01'; }.mobile-menu__link:nth-child(2)::before { content: '02'; }.mobile-menu__link:nth-child(3)::before { content: '03'; }.mobile-menu__link:nth-child(4)::before { content: '04'; }.mobile-menu__link:nth-child(5)::before { content: '05'; }.mobile-menu__link:nth-child(6)::before { content: '06'; }.mobile-menu::after { content: 'PENANG, MALAYSIA'; color: #8f9190; font-size: 10px; font-weight: 700; letter-spacing: 2px; }.mobile-menu .button { display: none; }
  .section-mark { margin-bottom: 41px; }.section-mark__label { font-size: 10px; letter-spacing: 2.7px; }.section-mark > b { display: none; } h1 { font-size: 46.4px; line-height: .98; letter-spacing: -1.16px; } h2, .cta-section h2 { font-size: 36px; line-height: 1.02; letter-spacing: -.9px; }.lead { font-size: 16px; }.hero { min-height: 1371px; padding: 144px 0 56px; }.hero__layout { display: block; }.hero__copy { padding: 0; }.hero .section-mark { margin-bottom: 41px; }.hero__copy > p { margin: 37px 0 38px; font-size: 16px; line-height: 1.62; }.hero__actions { display: flex; align-items: flex-start; flex-direction: column; gap: 21px; }.hero__actions .button { width: 100%; }.hero__location { width: 300px; gap: 9px 13px; margin-top: 29px; font-size: 9px; line-height: 1.6; }.hero-visual { position: absolute; left: 0; right: 0; top: 820px; height: 700px; min-height: 0; margin: 0; transform: scale(.88); transform-origin: center top; opacity: .98; }.hero-visual__grid { inset: 0; width: 100%; height: 100%; }.visual-card--stats { top: 32px; left: 4%; }.visual-card--agent { top: 115px; right: -15%; }.visual-card--cap { bottom: 145px; left: -10%; }.visual-card--mode { top: 380px; right: -32%; }.visual-card--scale { right: -11%; bottom: 40px; }.ticker { padding-block: 24px; }.ticker span { margin-right: 0; font-size: 11px; }.ticker span::after { margin-inline: 22px; }
  .intro-grid, .why-grid, .venture-feature__grid, .about > .container, .contact__grid { grid-template-columns: 1fr; gap: 35px; }.section-title { margin-bottom: 72px; }.intro-grid h2 { margin-bottom: 32px; }.intro-grid .lead { margin-bottom: 20px; }.concept-grid { grid-template-columns: 1fr; margin-top: 75px; }.concept-grid article, .concept-grid article:not(:first-child) { min-height: 140px; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--line); }.concept-grid h3 { margin: 32px 0 6px; font-size: 48px; }.concept-grid article > span { top: 28px; right: 0; opacity: 1; transform: none; }.capability { grid-template-columns: 1fr; gap: 28px; padding: 44px 0; }.capability__side { grid-template-columns: 47px 1fr; }.capability__side h3 { font-size: 18px; }.capability__body { padding-left: 47px; }.capability__body h4 { font-size: 24px; }.capability__body > p { font-size: 15px; }.tag { min-height: 30px; font-size: 8.5px; letter-spacing: 1.25px; }.venture-process { flex-wrap: wrap; gap: 10px 0; }.venture-process span:not(:last-child)::after { margin: 0 9px; }.venture-feature h2 { font-size: 30px; }.venture-feature .tags { margin: 27px 0; }.reno-mockup { min-height: 365px; padding: 20px 25px; }.reno-mockup > svg { height: 195px; }.mockup-title { margin: 10px 0; font-size: 11px; }.mockup-analysis { left: -5px; bottom: 30px; }.mockup-gen { top: 50px; right: -11px; }.mockup-bars { right: -5px; bottom: 7px; padding: 7px 9px; }.mockup-bars span { font-size: 8px; }.venture-feature__note { margin-top: 65px; text-align: left; }.technology__heading { display: block; }.technology__graphic { width: 260px; height: 260px; right: -65px; top: 64px; opacity: .55; }.technology h2 { max-width: 280px; }.technology .lead { max-width: 280px; }.technology-grid { grid-template-columns: 1fr; gap: 0; margin-top: 73px; }.technology-grid article { min-height: 0; padding: 0 0 27px 47px; }.technology-grid article > span { top: 24px; }.technology-grid h3 { margin-top: 23px; font-size: 24px; }.technology-grid p { width: 100%; margin-bottom: 8px; font-size: 13px; }.technology-stack { gap: 13px 22px; margin-top: 52px; }.technology-stack span { width: 100%; }.approach-grid { grid-template-columns: 1fr; }.approach-grid article, .approach-grid article:first-child { min-height: 0; padding: 24px 0 27px 47px; border-right: 0; border-bottom: 1px solid var(--line); position: relative; }.approach-grid article > span { position: absolute; top: 26px; left: 0; }.approach-grid h3 { margin: 0 0 11px; font-size: 23px; }.approach-grid p { margin: 0; }.why-grid h2 { margin-bottom: 23px; }.why-list article { grid-template-columns: 47px 1fr; }.why-list h3 { font-size: 14px; }.why-list p { font-size: 14px; }.cta-section__inner { min-height: 537px; padding-top: 103px; }.cta-section .section-mark { margin-bottom: 40px; }.cta-section p { margin-bottom: 31px; font-size: 16px; }.cta-section .button { width: 100%; }.cta-orbit { width: 470px; height: 470px; right: -250px; top: 80px; }.site-footer { padding-top: 62px; }.footer__grid { grid-template-columns: 1fr; gap: 45px; padding-bottom: 44px; }.footer__brand p { margin-top: 25px; }.footer__legal { align-items: flex-start; flex-direction: column; gap: 13px; font-size: 8px; line-height: 1.5; }
  .page-hero { padding: 144px 0 74px; }.page-hero .section-mark { margin-bottom: 41px; }.page-hero h1 { margin-bottom: 28px; }.venture-list { padding-bottom: 112px; }.venture-statuses { margin: -14px 0 43px; }.venture-card { padding: 26px 0; }.venture-card__intro { grid-template-columns: 31px 1fr; }.venture-card__intro h2 { font-size: 27px; }.venture-card__intro p { font-size: 12px; }.status { grid-column: 2; justify-self: start; margin-top: 16px; font-size: 8px; }.venture-card__detail { display: block; padding: 28px 0 5px 31px; }.venture-card__detail > p { margin-bottom: 25px; font-size: 15px; }.venture-card__detail .text-link { margin-top: 24px; }.architecture > .container > .lead { margin-bottom: 60px; }.architecture__tree > i { height: 52px; }.architecture__branches { grid-template-columns: 1fr; gap: 18px; }.architecture__branches::before { top: -52px; bottom: 0; left: 50%; right: auto; width: 1px; height: auto; }.architecture__branches article::before { height: 18px; top: -19px; }.architecture__tree em { line-height: 1.5; }.about { padding-bottom: 112px; }.about__copy > p { font-size: 17px; }.about__copy h2 { margin-top: 40px; font-size: 36px; }.about__details { padding-top: 20px; }.contact { padding-bottom: 112px; }.contact-options article { grid-template-columns: 42px 1fr; }.contact-options h2 { font-size: 17px; }.contact-options p { font-size: 14px; }.contact-reach { margin: 48px 0 0 42px; }.contact-form { margin-top: 10px; }
  .concept-grid { grid-template-columns: 1fr; margin-top: 75px; }
  .concept-grid article, .concept-grid article:not(:first-child) { min-height: 140px; padding: 40px 8px; border-right: 0; border-bottom: 0; }
  .concept-grid h3 { margin: 0; font-size: 48px; }
  .concept-grid p { display: none; }
  .concept-grid article > span { position: static; margin-left: auto; opacity: 0; transform: translateX(-8px); }
  .approach-grid article, .approach-grid article:first-child { padding-left: 70px; }
  .approach-grid article > span { font-size: 48px; }
  .why-heading h2 { margin-bottom: 23px; }
  .why-list { grid-template-columns: 1fr; margin-top: 75px; }
  .why-list article { display: block; min-height: 0; padding: 32px; border-right: 0; border-bottom: 1px solid rgba(35,31,27,.14); }
  .why-list article > span { font-size: 48px; }
  .why-list h3 { margin: 32px 0 10px; font-size: 14px; }
  .why-list p { font-size: 14px; }
  .architecture__tree > .architecture__brand { width: 100%; padding: 22px 14px; }
  .architecture__brand strong { font-size: 22px; }
  .architecture__brand span { font-size: 8px; letter-spacing: .22em; }
  .architecture__studio i:last-child { display: block; height: 24px; }
  .architecture__connector { display: none; }
  .architecture__branches { gap: 18px; }
  .architecture__branches article { padding: 24px; }
  .architecture__note { width: 100%; padding-inline: 14px; font-size: 8px; }
  .contact__grid { gap: 50px; }
  .contact-options article { padding: 28px 0; }
  .contact-options article > div { grid-template-columns: 20px 1fr; gap: 16px; }
  .contact-options h2 { font-size: 13px; letter-spacing: .18em; }
  .contact-reach { margin: 36px 0 0; }
  .contact-form { padding: 28px 24px; }
  .contact-form__fields { grid-template-columns: 1fr; gap: 24px; }
  .contact-form__message { grid-column: auto; }
  .contact-form .button { width: 100%; }
  .technology-grid { gap: 1px; background: rgba(255,255,255,.1); }
  .technology-grid article { padding: 32px; background: var(--coal); }
  .technology-grid article > span { position: static; float: left; margin: 0 16px 0 0; }
  .technology-grid h3 { display: block; margin: 0; font-size: 24px; }
  .technology-grid article > p, .technology-grid article > p:nth-of-type(n + 3) { width: 100%; margin: 24px 0 0; }
  .technology-grid article > p:nth-of-type(n + 2) { margin-top: 10px; }
  .approach-grid::before, .approach-grid article::before { content: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
  .reveal-item, .line-inner, .hero-enter .section-mark, .hero-enter > p, .hero-enter .hero__actions, .hero-enter .hero__location, .page-enter .section-mark, .page-enter > p { opacity: 1 !important; transform: none !important; }
  .hero-visual .flow, .architecture__connector .flow { animation-duration: 1.4s !important; }
  .hero-visual .pulse-dot, .architecture__branches .pulse-dot { animation-duration: 2.2s !important; }
  .ticker > div { animation-duration: 55s !important; }
  .reveal-item { opacity: 0 !important; transform: translate3d(0, 20px, 0) !important; transition-duration: .38s, .44s !important; transition-delay: var(--reveal-delay, 0ms) !important; }
  .reveal-item.is-visible { opacity: 1 !important; transform: translate3d(0, 0, 0) !important; }
  .reveal-item.is-exiting { opacity: 0 !important; transform: translate3d(0, -12px, 0) !important; transition-duration: .24s, .3s !important; transition-delay: 0ms !important; }
  .reveal-item.is-exiting.exit-down { transform: translate3d(0, 12px, 0) !important; }
}

/* Venture accordions */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.venture-card__intro { grid-template-columns: 52px minmax(0, 1fr) auto 40px; column-gap: 16px; }
.venture-card__toggle { display: grid; width: 32px; height: 32px; place-items: center; align-self: start; padding: 0; border: 1px solid #d7d8d4; background: transparent; color: var(--ink); font-size: 18px; font-weight: 400; line-height: 1; transition: border-color .22s ease, color .22s ease, background-color .22s ease; }
.venture-card__toggle > span[aria-hidden='true'] { display: block; transition: transform .28s cubic-bezier(.22,1,.36,1); }
.venture-card__toggle:hover, .venture-card__toggle:focus-visible { border-color: var(--accent); color: var(--accent); outline: 0; }
.venture-card.is-expanded .venture-card__toggle { border-color: var(--accent); color: var(--accent); }
.venture-card.is-expanded .venture-card__toggle > span[aria-hidden='true'] { transform: rotate(45deg); }
.venture-card__detail { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 0fr; gap: 0; padding: 0; overflow: hidden; opacity: 0; transition: grid-template-rows .34s cubic-bezier(.22,1,.36,1), opacity .2s ease; }
.venture-card__detail-inner { display: grid; min-height: 0; grid-template-columns: .85fr 1.15fr; gap: 70px; overflow: hidden; padding: 0 0 0 68px; transition: padding .34s cubic-bezier(.22,1,.36,1); }
.venture-card.is-expanded .venture-card__detail { grid-template-rows: 1fr; opacity: 1; }
.venture-card.is-expanded .venture-card__detail-inner { padding-top: 40px; padding-bottom: 4px; }
.venture-card__detail-inner > p { margin: 0; color: #737675; font-size: 18px; line-height: 1.6; }
.venture-card__detail-inner .text-link { grid-column: 2; justify-self: start; margin-top: 26px; }

@media (max-width: 780px) {
  .venture-card__intro { grid-template-columns: 31px minmax(0, 1fr) 32px; column-gap: 0; }
  .venture-card__toggle { grid-column: 3; grid-row: 1; }
  .venture-card__detail-inner { display: block; padding-left: 31px; }
  .venture-card.is-expanded .venture-card__detail-inner { padding-top: 28px; padding-bottom: 5px; }
  .venture-card__detail-inner > p { margin-bottom: 25px; font-size: 15px; }
  .venture-card__detail-inner .tags { margin-bottom: 24px; }
  .venture-card__detail-inner .text-link { display: inline-flex; margin-top: 0; }
}

.contact-form .button:disabled { cursor: wait; opacity: .6; transform: none; }
.form-notice.is-error { color: #b42318; }

@media (prefers-reduced-motion: reduce) {
  .venture-card__toggle { transition-duration: .22s !important; }
  .venture-card__toggle > span[aria-hidden='true'] { transition-duration: .28s !important; }
  .venture-card__detail { transition-duration: .34s, .2s !important; }
  .venture-card__detail-inner { transition-duration: .34s !important; }
}

@keyframes live-bar-in {
  from { opacity: 0; transform: scaleY(.08); }
  to { opacity: 1; transform: scaleY(1); }
}

@keyframes live-readout-in {
  from { opacity: 0; transform: scaleX(.15); }
  to { opacity: 1; transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
  .visual-card--stats::after { animation-duration: .6s !important; animation-delay: .72s !important; }
  .bars i { animation-duration: .7s !important; }
  .bars i:nth-child(1) { animation-delay: .08s !important; }
  .bars i:nth-child(2) { animation-delay: .14s !important; }
  .bars i:nth-child(3) { animation-delay: .2s !important; }
  .bars i:nth-child(4) { animation-delay: .26s !important; }
  .bars i:nth-child(5) { animation-delay: .32s !important; }
  .bars i:nth-child(6) { animation-delay: .38s !important; }
  .bars i:nth-child(7) { animation-delay: .44s !important; }
}

@keyframes visual-card-in {
  from { opacity: 0; transform: translate3d(0, 18px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes visual-content-in {
  from { opacity: 0; transform: translate3d(0, 8px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.hero-visual .visual-card { animation: visual-card-in .64s cubic-bezier(.22,1,.36,1) both; }
.hero-visual .visual-card--stats { animation-delay: .04s; }
.hero-visual .visual-card--agent { animation-delay: .14s; }
.hero-visual .visual-card--cap { animation-delay: .24s; }
.hero-visual .visual-card--mode { animation-delay: .34s; }
.hero-visual .visual-card--scale { animation-delay: .44s; }
.visual-card__agent-content .agent-line { transform-origin: left; animation: visual-content-in .45s cubic-bezier(.22,1,.36,1) .45s both; }
.visual-card__agent-content .agent-line--accent { animation-delay: .53s; }
.visual-card__agent-content .agent-line--tertiary { animation-delay: .61s; }
.visual-card__agent-content small { animation: visual-content-in .42s cubic-bezier(.22,1,.36,1) .69s both; }
.visual-card--cap b { animation: visual-content-in .42s cubic-bezier(.22,1,.36,1) both; }
.visual-card--cap b:nth-child(1) { animation-delay: .52s; }.visual-card--cap b:nth-child(2) { animation-delay: .59s; }.visual-card--cap b:nth-child(3) { animation-delay: .66s; }.visual-card--cap b:nth-child(4) { animation-delay: .73s; }
.visual-card--mode p { animation: visual-content-in .45s cubic-bezier(.22,1,.36,1) .62s both; }
.visual-card--scale > b { animation: visual-content-in .45s cubic-bezier(.22,1,.36,1) .72s both; }
.visual-card--scale > i { transform-origin: left; animation: live-readout-in .55s cubic-bezier(.22,1,.36,1) .82s both; }

@media (prefers-reduced-motion: reduce) {
  .hero-visual .visual-card { animation-duration: .64s !important; }
  .hero-visual .visual-card--stats { animation-delay: .04s !important; }
  .hero-visual .visual-card--agent { animation-delay: .14s !important; }
  .hero-visual .visual-card--cap { animation-delay: .24s !important; }
  .hero-visual .visual-card--mode { animation-delay: .34s !important; }
  .hero-visual .visual-card--scale { animation-delay: .44s !important; }
  .visual-card__agent-content .agent-line { animation-duration: .45s !important; animation-delay: .45s !important; }
  .visual-card__agent-content .agent-line--accent { animation-delay: .53s !important; }
  .visual-card__agent-content .agent-line--tertiary { animation-delay: .61s !important; }
  .visual-card__agent-content small { animation-duration: .42s !important; animation-delay: .69s !important; }
  .visual-card--cap b { animation-duration: .42s !important; }
  .visual-card--cap b:nth-child(1) { animation-delay: .52s !important; }.visual-card--cap b:nth-child(2) { animation-delay: .59s !important; }.visual-card--cap b:nth-child(3) { animation-delay: .66s !important; }.visual-card--cap b:nth-child(4) { animation-delay: .73s !important; }
  .visual-card--mode p { animation-duration: .45s !important; animation-delay: .62s !important; }
  .visual-card--scale > b { animation-duration: .45s !important; animation-delay: .72s !important; }
  .visual-card--scale > i { animation-duration: .55s !important; animation-delay: .82s !important; }
}

/* Language switcher. Sits between the desktop nav and the header CTA, and
   moves into the mobile menu panel below 780px, where the desktop nav and
   header CTA are both hidden. */
.lang-switch { display: inline-flex; align-items: center; gap: 9px; margin-left: 28px; }
.lang-switch__option { position: relative; color: rgba(17,18,20,.45); font-size: 11px; font-weight: 700; letter-spacing: .12em; transition: color .2s ease; }
.lang-switch__option:hover { color: var(--ink); }
.lang-switch__option.is-active { color: var(--ink); }
.lang-switch__option + .lang-switch__option::before { content: ''; position: absolute; left: -5px; top: 50%; width: 1px; height: 10px; margin-top: -5px; background: rgba(17,18,20,.2); }
.mobile-menu .lang-switch { display: none; }

@media (max-width: 780px) {
  .header__inner > .lang-switch { display: none; }
  .mobile-menu .lang-switch { display: inline-flex; margin-left: 0; gap: 14px; }
  .mobile-menu .lang-switch__option { font-size: 13px; letter-spacing: .16em; }
  .mobile-menu .lang-switch__option + .lang-switch__option::before { left: -8px; height: 12px; margin-top: -6px; }
}

/* ── Self-hosted Noto Sans SC ──────────────────────────────────────────────
   A variable subset clamped to wght 400-700, containing exactly the characters
   content/zh.js uses. Built by scripts/build-zh-font.mjs; re-run it after
   editing the Chinese copy or new glyphs will silently fall back.

   Self-hosted rather than loaded from Google Fonts, which is unreachable from
   mainland China. One file covers 400/500/600/700 as real weights, which
   matters because :root sets font-synthesis: none — weight 900 clamps down to
   700 rather than being synthesised into a faux bold. */
@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/noto-sans-sc.woff2') format('woff2');
}

/* ── Simplified Chinese typography ─────────────────────────────────────────
   Scoped to [lang="zh-Hans"]; the English rules above are untouched. Three
   things differ between Latin and Han typesetting on this design:
   1. Han glyphs fill their em box, so the 7-10px used for Latin micro labels
      is unreadable and the tight line-heights crowd.
   2. The wide tracking that gives uppercase Latin its editorial feel reads as
      broken spacing in Han, and the negative tracking on display type jams
      strokes together.
   3. Han does not break on spaces, so wrapping needs line-break: strict. */
[lang="zh-Hans"] { line-break: strict; word-break: normal; }
[lang="zh-Hans"] h1, [lang="zh-Hans"] h2, [lang="zh-Hans"] h3, [lang="zh-Hans"] h4 { letter-spacing: 0; }

/* Display headings: drop negative tracking, open up the line box. */
[lang="zh-Hans"] .section-title, [lang="zh-Hans"] .hero h1, [lang="zh-Hans"] .page-hero h1 { letter-spacing: 0; line-height: 1.28; }
[lang="zh-Hans"] .technology-grid h3 { line-height: 1.35; letter-spacing: 0; }
[lang="zh-Hans"] .capability__side h3 { letter-spacing: 0; line-height: 1.4; }
[lang="zh-Hans"] .approach-grid h3, [lang="zh-Hans"] .architecture__branches h3, [lang="zh-Hans"] .venture-card__intro h2 { letter-spacing: 0; }
[lang="zh-Hans"] .footer__venture { letter-spacing: 0; }

/* Micro labels: raise the floor to 11px and pull the tracking back. */
[lang="zh-Hans"] .section-mark__label { font-size: 12px; letter-spacing: .1em; }
[lang="zh-Hans"] .footer__label { font-size: 11px; letter-spacing: .1em; }
[lang="zh-Hans"] .footer__legal { font-size: 11px; letter-spacing: .08em; }
[lang="zh-Hans"] .status { font-size: 11px; letter-spacing: .08em; }
[lang="zh-Hans"] .tag { font-size: 11px; letter-spacing: .06em; line-height: 1.4; }
[lang="zh-Hans"] .venture-process span { font-size: 11px; letter-spacing: .06em; }
[lang="zh-Hans"] .venture-domain { font-size: 11px; letter-spacing: .06em; }
[lang="zh-Hans"] .venture-name { letter-spacing: .1em; }
[lang="zh-Hans"] .nav-link { font-size: 13px; letter-spacing: .06em; }
[lang="zh-Hans"] .button, [lang="zh-Hans"] .text-link { font-size: 13px; font-weight: 700; letter-spacing: .06em; }
[lang="zh-Hans"] .contact-options h2 { font-size: 15px; letter-spacing: .08em; }
[lang="zh-Hans"] .contact-form label { font-size: 11px; letter-spacing: .1em; }
[lang="zh-Hans"] .why-list h3 { letter-spacing: .04em; }
[lang="zh-Hans"] .architecture__brand span { font-size: 11px; letter-spacing: .12em; }
[lang="zh-Hans"] .architecture__studio b { font-size: 11px; letter-spacing: .14em; }
[lang="zh-Hans"] .architecture__branches small { font-size: 11px; letter-spacing: .1em; }
[lang="zh-Hans"] .architecture__note { font-size: 11px; letter-spacing: .12em; }
[lang="zh-Hans"] .ticker span { font-size: 14px; letter-spacing: .06em; }

/* The wordmark stays Latin; only its discipline strip carries Chinese. */
[lang="zh-Hans"] .wordmark__sub { font-size: 10px; letter-spacing: .1em; }

/* The English tagline is forced onto one line; Chinese needs to wrap. */
[lang="zh-Hans"] .footer__brand p { white-space: normal; }

/* Decorative mockup labels are set at 8-9px for Latin. */
[lang="zh-Hans"] .reno-mockup svg text { font-family: var(--sans); font-size: 9.5px; letter-spacing: 0; }
[lang="zh-Hans"] .mockup-title { letter-spacing: .12em; }
[lang="zh-Hans"] .mockup-gen small { font-size: 10px; letter-spacing: .04em; }

/* Hero visual cards carry very small uppercase Latin labels. */
[lang="zh-Hans"] .visual-card p, [lang="zh-Hans"] .visual-card b, [lang="zh-Hans"] .visual-card span { letter-spacing: .06em; }

@media (max-width: 780px) {
  /* .tag drops to 7px for Latin, which no Han character survives. */
  [lang="zh-Hans"] .tag { font-size: 10px; letter-spacing: .04em; }
  [lang="zh-Hans"] .mobile-menu__link { letter-spacing: 0; }
  [lang="zh-Hans"] .wordmark__sub { font-size: 9px; letter-spacing: .06em; }
  [lang="zh-Hans"] .wordmark__top span { font-size: 10px; letter-spacing: .06em; }
  /* The location strip is hardcoded English in CSS content. */
  [lang="zh-Hans"] .mobile-menu::after { content: '马来西亚 · 槟城'; letter-spacing: .1em; }
}

/* 404. Bilingual side by side with no language detection — the visitor picks.
   Each block carries its own lang attribute so the Chinese half picks up the
   [lang="zh-Hans"] typography rules above. */
.not-found { display: flex; min-height: 100vh; align-items: center; padding-block: 120px; }
.not-found .section-mark { margin-bottom: 56px; }
.not-found__block { max-width: 620px; padding-block: 28px; }
.not-found__block + .not-found__block { border-top: 1px solid var(--line); }
.not-found__block h1 { margin: 0 0 14px; font-size: clamp(30px, 4vw, 46px); line-height: 1.1; letter-spacing: -1px; }
.not-found__block .lead { margin: 0 0 22px; }

@media (min-width: 781px) {
  .not-found .container { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 64px; }
  .not-found .section-mark { grid-column: 1 / -1; }
  .not-found__block + .not-found__block { border-top: 0; border-left: 1px solid var(--line); padding-left: 64px; }
}

/* FAQ. Plain question/answer pairs rather than an accordion — the section
   exists so answer engines can quote it, and each answer is short enough that
   hiding it behind a toggle would only cost legibility. */
.faq-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 96px; background: rgba(17,18,20,.1); }
.faq-item { padding: 48px; background: var(--ivory); transition: background-color .5s ease; }
.faq-item:hover { background: var(--white); }
.faq-item h3 { max-width: 480px; margin: 0 0 16px; font-size: 21px; font-weight: 600; line-height: 1.3; letter-spacing: -.3px; }
.faq-item p { max-width: 520px; margin: 0; color: #777a79; font-size: 15px; line-height: 1.65; }

@media (max-width: 780px) {
  .faq-list { grid-template-columns: 1fr; margin-top: 56px; }
  .faq-item { padding: 32px 0; background: transparent; }
  .faq-item:hover { background: transparent; }
  .faq-item h3 { font-size: 19px; }
}

[lang="zh-Hans"] .faq-item h3 { letter-spacing: 0; line-height: 1.45; }
[lang="zh-Hans"] .faq-item p { line-height: 1.8; }
