@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap");:root{--blue:#078bf0;--navy:#0b1c3e;--gray:#52617a;--pale:#edf8ff;--line:#dfedf8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Inter,Arial,"Noto Sans SC",sans-serif;color:var(--navy);background:#fff}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1170px,calc(100% - 76px));margin:auto}.header{height:76px;background:#ffffffed;position:relative;z-index:20;border-bottom:1px solid #eef2f7}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:148px;height:auto;display:block}.nav{display:flex;align-items:center;gap:25px;white-space:nowrap;font-size:13px;font-weight:700}.nav>a:first-child{color:var(--blue)}.nav a:hover{color:var(--blue)}.languages{display:flex;align-items:center;gap:8px;border-left:1px solid #dae4ef;padding-left:14px;font-size:11px}.pill{border-radius:13px;background:var(--blue);padding:15px 24px;color:white;display:inline-flex;justify-content:center;align-items:center;gap:18px;font-size:13px;font-weight:800;box-shadow:0 7px 22px #008ee51c;transition:.2s}.pill:hover{transform:translateY(-2px);background:#0076cf}.pill.outline{color:var(--blue);background:#fff;border:1.5px solid var(--blue);box-shadow:none}.top-cta{padding:12px 18px;white-space:nowrap;font-size:11px}.menu-button{display:none;border:none;background:#fff;color:var(--navy);font-size:26px}.hero{background:linear-gradient(90deg,#fff 39%,#edfbff 77%,#e0f5fd);overflow:hidden}.hero-inner{min-height:435px;display:grid;grid-template-columns:46% 54%;align-items:center;position:relative}.hero-copy{position:relative;z-index:2;padding:26px 0 36px}.eyebrow{font-size:11px;letter-spacing:.095em;color:var(--blue);font-weight:800;text-transform:uppercase}.hero h1{font-size:clamp(34px,4.1vw,60px);letter-spacing:-.055em;line-height:1.09;margin:10px 0 17px;font-weight:800}.hero h1 span{color:var(--blue)}.hero .lead{max-width:460px;font-size:16px;line-height:1.55;color:#41516b;margin:0 0 20px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-art{height:435px;align-self:stretch;position:relative}.hero-art img{position:absolute;width:115%;height:100%;inset:0 auto 0 -4%;object-fit:cover;object-position:center}.hero-proof{padding:10px 0 14px;display:flex;gap:25px;flex-wrap:wrap;color:#1a5182;font-weight:700;font-size:11px}.section{padding-top:34px;padding-bottom:30px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.text-link{font-size:12px;color:var(--blue);font-weight:800;border:1px solid #80cfff;padding:10px 18px;border-radius:40px;white-space:nowrap;margin-bottom:17px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.service-card{border:1px solid #e4edf4;box-shadow:0 9px 24px #1b67920a;background:#fff;border-radius:14px;padding:13px 14px 16px;min-height:262px;position:relative}.service-card h3{font-size:16px;margin:13px 0 7px;letter-spacing:-.025em}.service-card p{font-size:12px;line-height:1.5;color:#607087;padding-right:20px;margin:0}.mini-arrow{position:absolute;right:12px;bottom:14px;width:30px;height:30px;border-radius:50%;background:#f2faff;color:var(--blue);display:grid;place-items:center;font-size:20px}.service-visual{height:123px;position:relative;display:flex;align-items:center;justify-content:flex-end;overflow:hidden}.service-icon{position:absolute;left:0;top:24px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#03b8ed,#087af5);color:white;z-index:2;box-shadow:0 7px 16px #0d99ed44}.device{width:70%;height:105px;background:white;border:6px solid #213145;border-bottom:11px solid #64758c;border-radius:9px 9px 4px 4px;box-shadow:0 10px 14px #19365524;transform:perspective(400px) rotateY(-7deg);padding:5px}.device-top{display:flex;gap:3px}.device-top i{width:3px;height:3px;background:#bed7ea;border-radius:100%}.device-line{height:5px;width:64%;background:#e7edf4;border-radius:8px;margin:5px auto}.device-banner{height:43px;background:linear-gradient(110deg,#e8fbff,#b7e8ff);border-radius:3px;display:flex;align-items:center;padding:8px;gap:8px}.device-banner span{display:block;background:#007de2;width:32%;height:23px;border-radius:4px}.device-banner b{display:block;background:#fff;width:50%;height:13px;border-radius:3px}.design-1{background:linear-gradient(90deg,#d4e4f0 10%,#e4d2ac 40%,#f8f1de)}.design-2{background:linear-gradient(90deg,#d1eeff,#8cc5f6)}.design-3{background:linear-gradient(90deg,#d9e7fb,#eaf6ff)}.device-pills{display:flex;gap:5px;margin-top:6px}.device-pills em{width:25%;height:11px;background:#e6f3ff;border-radius:2px}.numbers{background:#eaf7ff;margin-top:8px}.numbers-inner{display:grid;grid-template-columns:repeat(4,1fr) 1.4fr;align-items:center;padding-top:16px;padding-bottom:16px}.numbers-inner>div{border-right:1px solid #aadcf6;padding-left:18px;min-height:48px}.numbers-inner>div:first-child{padding-left:0}.numbers-inner>div:last-child{border-right:0}.numbers strong{display:block;color:var(--blue);font-size:26px;letter-spacing:-.04em}.numbers span{font-size:11px;color:#3e4f66}.number-note{font-size:11px;line-height:1.5;color:#45536d}.industries{padding-top:30px;padding-bottom:24px}.industry-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.industry{border-radius:9px;background:#f0f8fe;text-align:center;min-height:87px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:10px 3px;font-size:10px;font-weight:700}.indicon{font-size:26px;font-weight:900;color:var(--blue);line-height:1}.why-wrap{background:#f6fbff;padding:28px 0}.why{display:grid;grid-template-columns:.95fr 1.15fr .95fr;gap:28px;align-items:center}.why-copy>p{font-size:13px;line-height:1.65;color:#506179;max-width:320px;margin:0 0 17px}.why h2{font-size:30px}.why .pill{font-size:12px}.georgetown{height:260px;border-radius:20px;overflow:hidden;position:relative}.georgetown img{width:100%;height:100%;object-fit:cover;object-position:center}.geo-label{position:absolute;top:15px;left:18px;border-radius:10px;background:#ffffffed;padding:12px;font-size:12px;font-weight:800;color:#096bc6}.benefits{display:grid;gap:18px}.benefit{display:flex;gap:11px}.benefit-icon{width:39px;height:39px;border-radius:50%;background:#e4f5ff;color:var(--blue);font-size:20px;display:grid;place-items:center;flex-shrink:0}.benefit b{font-size:12px}.benefit p{font-size:11px;color:#607086;line-height:1.48;margin:4px 0 0}.small-note{font-size:12px;color:#6e7d90;max-width:300px}.projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 1.25fr;gap:12px}.project{min-width:0;border-radius:11px;border:1px solid #e8eef6;overflow:hidden;background:#fff}.project img{display:block;width:100%;height:99px;object-fit:cover}.project div{padding:10px}.project b{display:block;font-size:12px}.project small{display:block;font-size:10px;line-height:1.45;color:#607187;margin-top:5px}.review-placeholder{background:#f4f9ff;border-radius:12px;padding:15px;font-size:13px}.review-placeholder p{color:#68798e;font-size:11px;line-height:1.5}.faq{padding-bottom:38px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.faq details{border-bottom:1px solid #e6eef6;padding:10px}.faq summary{font-size:13px;font-weight:700;cursor:pointer}.faq details p{color:#57697e;font-size:12px;line-height:1.5}.cta-inside{position:relative;z-index:1;min-height:225px;display:flex;align-items:center;padding:27px 0}.cta-inside>div{max-width:650px}.cta-inside h2{font-size:31px;margin:8px 0}.cta-inside p{color:#526179;font-size:13px}.footer{background:#eaf7ff}.foot-inner{display:flex;align-items:center;justify-content:space-between;padding:17px 0;gap:20px}.foot-inner span{font-size:12px;color:#54718a}.foot-inner img{height:auto}.reveal{opacity:1}.menu-button{cursor:pointer}@media(max-width:1060px){.shell{width:min(100% - 46px,1100px)}.nav{gap:12px;font-size:11px}.top-cta{display:none}.hero h1{font-size:clamp(32px,4vw,50px)}.hero-inner{grid-template-columns:50% 50%}.hero-art img{width:125%}.numbers-inner{grid-template-columns:repeat(4,1fr)}.number-note{display:none}.projects-grid{grid-template-columns:repeat(4,1fr)}.review-placeholder{grid-column:1/-1}.industry-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:730px){.header{height:64px}.shell{width:calc(100% - 34px)}.brand img{width:120px}.menu-button{display:block}.nav{display:none;position:absolute;top:64px;left:0;right:0;background:white;padding:20px;box-shadow:0 15px 30px #0b1c3e22;flex-wrap:wrap;gap:16px;white-space:normal}.nav.open{display:flex}.languages{border:0;padding-left:0}.hero-inner{display:flex;flex-direction:column;min-height:auto;align-items:stretch}.hero-copy{padding:30px 0 0}.hero h1{font-size:clamp(35px,8vw,55px);line-height:1.12}.hero .lead{font-size:14px}.hero-art{height:330px;margin:0 -17px}.hero-art img{width:100%;left:0;object-position:center}.hero-proof{font-size:10px;gap:10px}.hero-actions .pill{padding:13px 15px;font-size:11px}.section{padding-top:29px;padding-bottom:25px}.section-head{align-items:start}.text-link{display:none}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:275px}.service-card p{font-size:11px}.numbers-inner{grid-template-columns:repeat(2,1fr);gap:10px}.numbers-inner>div:nth-child(2){border-right:0}.industry-grid{grid-template-columns:repeat(4,1fr)}.why{grid-template-columns:1fr}.georgetown{height:270px}.benefits{grid-template-columns:1fr 1fr}.projects-grid{grid-template-columns:repeat(2,1fr)}.faq-grid{grid-template-columns:1fr}.cta-inside{min-height:230px}.cta-inside h2{font-size:27px}}@media(max-width:410px){.service-grid{grid-template-columns:1fr}.service-card{min-height:240px}.industry-grid{grid-template-columns:repeat(2,1fr)}.benefits{grid-template-columns:1fr}.hero-art{height:285px}.hero h1{font-size:34px}.projects-grid{grid-template-columns:1fr 1fr}.hero-proof{display:none}}@media(prefers-reduced-motion:no-preference){.reveal{transition:transform .5s,opacity .5s}.reveal.before{opacity:0;transform:translateY(13px)}.reveal.visible{opacity:1;transform:none}}
/* independent vector asset edition; avoids any screenshot crops */
.brand img{object-fit:contain;background:transparent;max-height:48px}
.hero-art{overflow:visible;isolation:isolate}
.hero-art img{position:absolute;display:block;object-fit:contain}
.hero-art .hero-scene{inset:0 -16% 0 -8%;width:130%;height:100%;object-fit:cover;z-index:0;opacity:.88;mask-image:linear-gradient(90deg,transparent 0%,black 20%)}
.hero-art .hero-cat{width:53%;height:85%;left:-5%;top:13%;z-index:2;filter:drop-shadow(0 16px 14px #0c5b9740)}
.hero-art .hero-device{width:65%;height:66%;right:-7%;top:29%;left:auto;z-index:1;filter:drop-shadow(0 13px 18px #0c5b9740)}
.service-visual{height:128px;overflow:visible}
.service-visual .service-image{width:100%;height:100%;object-fit:contain}
.project img{object-fit:contain;background:linear-gradient(135deg,#f7fcff,#ebf8ff);height:116px}
.georgetown img{object-fit:cover}

@media(max-width:730px){.hero-art{margin:0;height:310px}.hero-art .hero-scene{inset:0 -20%;width:140%;height:100%}.hero-art .hero-cat{width:57%;height:89%;left:-5%;top:12%}.hero-art .hero-device{width:63%;height:57%;right:0;top:36%}.hero h1{font-size:clamp(34px,8vw,52px)}.service-visual{height:110px}}
@media(max-width:410px){.hero-art{height:290px}.hero-art .hero-cat{width:61%}.hero-art .hero-device{right:-5%}}

/* Visual repair v3: match the supplied wide, bright editorial composition. */
:root{--blue:#078cf3;--navy:#091c43}
.shell{width:min(1520px,calc(100% - 88px))}
.header{height:76px;background:#fff}
.header-inner{gap:22px}
.brand img{width:154px;max-height:48px}
.nav{gap:clamp(11px,1.65vw,28px)}
.hero{background:linear-gradient(90deg,#fff 33%,#f5fcff 56%,#def5ff)}
.hero-inner{grid-template-columns:43.5% 56.5%;min-height:540px}
.hero-copy{padding:42px 0 36px}
.hero h1{font-size:clamp(44px,4.2vw,76px);line-height:1.055;letter-spacing:-.052em;max-width:730px;margin:12px 0 24px}
.hero .lead{font-size:clamp(16px,1.18vw,20px);max-width:550px;line-height:1.55;margin-bottom:27px}
.hero .eyebrow{font-size:13px;letter-spacing:.08em}
.hero-art{height:540px}
.hero-art .hero-scene{inset:0 -8% 0 -10%;width:125%;opacity:.97}
.hero-art .hero-cat{width:48%;height:79%;left:-7%;top:19%}
.hero-art .hero-device{width:64%;height:65%;right:-3%;top:30%}
.hero-proof{padding:13px 0 16px;gap:0;background:rgba(255,255,255,.35)}
.hero-proof span{padding:0 21px;border-right:1px solid #cce7f6}
.hero-proof span:first-child{padding-left:0}
.pill{border-radius:40px;padding:16px 25px}
.section{padding-top:35px;padding-bottom:35px}
.section h2,.why h2{font-size:clamp(26px,2.15vw,36px)}
.service-card{min-height:290px;padding:18px;border-radius:12px}
.service-visual{height:156px}
.service-card h3{font-size:17px}
.service-card p{font-size:13px}
.industry{min-height:97px}
.indicon{font-family:Arial,sans-serif}
.why-wrap{background:#f5fbff;padding:38px 0}
.why{grid-template-columns:1fr 1.15fr 1fr;gap:35px}
.georgetown{height:310px}
.projects-grid{grid-template-columns:repeat(4,minmax(0,1fr)) 1.25fr}
.project img{height:146px}



@media(max-width:1150px){.shell{width:calc(100% - 62px)}.hero-inner{grid-template-columns:44% 56%}.hero h1{font-size:clamp(37px,4.5vw,55px)}.hero-art{height:475px}.hero-inner{min-height:475px}.nav{gap:13px}}
@media(max-width:730px){.shell{width:calc(100% - 36px)}.hero-inner{display:flex;flex-direction:column;min-height:0;align-items:stretch}.hero-copy{padding:34px 0 6px}.hero h1{font-size:clamp(36px,8vw,54px);max-width:640px;margin:10px 0 18px}.hero .lead{font-size:15px}.hero-art{height:330px;margin:0}.hero-art .hero-scene{inset:0 -10%;width:125%}.hero-art .hero-cat{width:54%;height:85%;left:-3%;top:13%}.hero-art .hero-device{right:-5%;width:68%;top:32%}.hero-proof{gap:9px}.hero-proof span{padding:0 8px;font-size:10px}.service-visual{height:128px}.service-card{min-height:265px}.why{grid-template-columns:1fr}}
@media(max-width:410px){.hero h1{font-size:36px}.service-grid{grid-template-columns:1fr}.hero-art{height:270px}.hero-proof{display:flex;justify-content:center}.hero-proof span{border:0}.hero-proof span:nth-child(n/**/+3){display:none}}

/* EBOX independent-photo and 3D illustration pass */
.brand img{width:155px;height:auto;object-fit:contain;filter:contrast(1.2) saturate(1.2)}
.hero{background:linear-gradient(90deg,#fff 0%,#fff 31%,#e5f7ff 90%)}
.hero-inner{grid-template-columns:44% 56%;min-height:495px}
.hero h1{font-size:clamp(41px,4.25vw,69px);line-height:1.075;letter-spacing:-.045em}
.hero-art{height:495px;position:relative;isolation:isolate}
.hero-art .hero-scene{position:absolute;inset:0 -7% 0 -16%;width:125%;height:100%;object-fit:cover;object-position:60% 50%;z-index:0;mask-image:linear-gradient(90deg,transparent,black 22%)}
.hero-art .hero-cat{position:absolute;z-index:2;left:-5%;top:17%;width:57%;height:80%;object-fit:contain;filter:drop-shadow(0 18px 18px #0b529635)}
.hero-services-panel{position:absolute;z-index:3;right:0;top:16%;width:188px;padding:8px 14px;border-radius:17px;background:#fffffff2;box-shadow:0 16px 45px #0c468a25;backdrop-filter:blur(6px)}
.hero-panel-row{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid #e6f0f8;font-size:12px}
.hero-panel-row:last-child{border:0}
.hero-panel-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#eaf8ff;color:#0098ea;font-size:20px;flex:none}
.service-card{overflow:hidden}.service-visual{height:143px;overflow:visible}.service-visual .service-image{max-width:100%;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 9px #20649519)}
.georgetown img{object-fit:cover;object-position:66% center}
.project img{height:104px;object-fit:contain;background:linear-gradient(#f5fbff,#fff);padding:4px}.projects-grid{align-items:stretch}
@media(max-width:1150px){.hero-inner{grid-template-columns:49% 51%}.hero-art{height:435px}.hero-services-panel{right:-7px;top:12%;width:155px}.hero-art .hero-cat{left:-12%;width:64%}}
@media(max-width:730px){.hero-inner{display:flex;flex-direction:column}.hero-copy{padding:32px 0 5px}.hero h1{font-size:clamp(34px,8.2vw,51px)}.hero-art{width:100%;height:290px;overflow:hidden;margin:0}.hero-art .hero-scene{inset:0;width:100%;mask-image:linear-gradient(90deg,transparent,black 30%)}.hero-art .hero-cat{left:2%;top:5%;width:59%;height:91%}.hero-services-panel{right:3%;width:135px;top:10%;padding:4px 8px}.hero-panel-row{gap:6px;padding:8px 0;font-size:10px}.hero-panel-icon{width:25px;height:25px;font-size:15px}.service-visual{height:122px}}
@media(max-width:410px){.hero-art{height:252px}.hero-art .hero-cat{width:65%;left:-4%}.hero-services-panel{width:125px;right:0}.service-visual{height:150px}}

/* Reference-art corrections: full bleed scene, left skyline, handwritten annotations and feedback. */
.hero{position:relative;isolation:isolate;background:linear-gradient(90deg,#f9fdff 0%,#fff 28%,#e7f6ff 70%,#b7e5fb 100%)}
.hero::before{content:"";position:absolute;pointer-events:none;z-index:0;left:0;right:0;bottom:0;height:155px;background:url("penang-skyline-left.svg") left bottom/auto 145px no-repeat;opacity:.85}
.hero::after{content:"";position:absolute;pointer-events:none;right:0;top:0;bottom:0;width:66%;background:url("penang-bridge-streetscape.png") center center/cover no-repeat;mask-image:linear-gradient(90deg,transparent 0%,#000 28%);opacity:.82;z-index:0}
.hero-inner,.hero-proof{position:relative;z-index:1}
.hero-art .hero-scene{display:none}
.hero-art{overflow:visible}
.hero-art .hero-cat{left:-10%;top:18%;width:60%;height:80%;z-index:2}
.hero-services-panel{right:-2%;top:16%;width:215px}
.hero-panel-row{flex-wrap:wrap;align-items:center}.hero-panel-row small{display:block;flex-basis:100%;padding-left:44px;font-size:10px;line-height:1.35;color:#657589;font-weight:500;margin-top:-5px}

.hero-handnote{position:absolute;z-index:3;left:7%;top:8%;font-size:clamp(17px,1.65vw,24px);width:190px;text-align:center;text-shadow:0 2px 10px #fff}
.hero-handnote::after{content:"↘";position:absolute;right:-14px;bottom:-31px;font-size:44px;font-weight:400}
.hero-proof{background:#effaffcc;padding:15px 0;backdrop-filter:blur(3px)}
.review-placeholder{position:relative;background:#eff8ff;min-height:154px;padding:24px 17px 18px 47px;display:flex;flex-direction:column;justify-content:center}
.review-quote{position:absolute;left:15px;top:6px;font-family:Georgia,serif;color:#a6c8df;font-size:58px;line-height:1}
.review-placeholder b{font-size:15px}.review-placeholder p{font-size:12px;line-height:1.65}








@media(min-width:1400px){.shell{width:min(1280px,calc(100% - 100px))}.hero-inner{grid-template-columns:46% 54%}.hero h1{font-size:clamp(49px,4vw,65px)}}
@media(max-width:900px){.hero-services-panel{width:170px}.hero-handnote{left:0;top:8%;font-size:18px}}
@media(max-width:730px){.hero::after{top:auto;bottom:35px;width:100%;height:310px;mask-image:linear-gradient(180deg,transparent 0%,black 22%)}.hero::before{height:120px;background-size:auto 100px}.hero-art .hero-cat{left:0;top:14%;width:59%;height:84%}.hero-handnote{left:15%;top:0;font-size:16px}.hero-services-panel{right:0;top:16%;width:140px}.hero-panel-row small{display:none}}

/* 2026-10-15 layout stability pass: keep original sections and independently editable DOM. */
html,body{max-width:100%;overflow-x:clip}
.header .brand{display:inline-flex;align-items:center;min-width:155px}
.header .brand img{display:block;width:155px;height:auto;max-height:55px;opacity:1!important;filter:none!important}
.hero{overflow:hidden}
.hero-inner{align-items:center}
.hero-copy{position:relative;z-index:3;min-width:0}
.hero h1{font-size:clamp(39px,3.54vw,59px)!important;line-height:1.09!important;letter-spacing:-.047em!important;max-width:680px}
.hero .lead{max-width:510px}
.hero-art{min-width:0}
.hero-handnote{left:7%;top:6%;line-height:1.24;font-size:clamp(15px,1.25vw,19px);width:180px;transform:rotate(-6deg);z-index:4}
.hero-handnote::after{bottom:-34px;right:1px}
.hero-art .hero-cat{left:-4%;top:24%;height:70%;width:52%;object-position:center bottom}
.hero-services-panel{top:16%;right:0%;width:195px;max-width:35%}
.hero-proof{position:relative;z-index:5;display:flex;flex-wrap:wrap;gap:0 8px}
.hero-proof span{font-size:12px;white-space:normal}






.review-placeholder{border-radius:13px;min-height:165px}
.service-card .service-image{object-fit:contain}
@media (min-width:1400px){.hero-inner{grid-template-columns:45.5% 54.5%;min-height:515px}.hero-art{height:515px}.hero h1{font-size:55px!important}}
@media (max-width:1100px){.hero-inner{grid-template-columns:48% 52%}.hero h1{font-size:clamp(36px,4.2vw,49px)!important}.hero-handnote{left:-1%;top:6%}.hero-services-panel{width:163px}}
@media (max-width:730px){.header .brand img{width:128px}.hero{overflow:hidden}.hero-inner{display:flex;flex-direction:column;align-items:stretch}.hero-copy{padding:26px 0 6px}.hero h1{font-size:clamp(34px,8vw,48px)!important;letter-spacing:-.045em!important}.hero-art{height:340px;min-height:340px;position:relative}.hero-art .hero-cat{top:22%;left:0;width:61%;height:75%}.hero-handnote{top:3%;left:8%;font-size:15px;width:135px}.hero-services-panel{top:15%;right:0;width:143px;max-width:42%}.hero-proof{gap:8px}.hero-proof span{font-size:11px;border:0;padding:2px 5px}}
@media (max-width:420px){.hero h1{font-size:35px!important}.hero-art{height:310px;min-height:310px}.hero-services-panel{width:128px;max-width:40%}.hero-handnote{font-size:13px;left:6%;top:3%}}

/* V5 — real architectural photography, lowered 3D character and independent feedback portrait */
.hero{background:linear-gradient(90deg,#fff 0%,#f7fcff 43%,#e6f6ff 100%)}
.hero::after{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.38) 45%,rgba(255,255,255,0) 83%),url("penang-bridge-streetscape.png");background-position:center,55% 54%;background-size:cover;width:100%;mask-image:none;opacity:.78}
/* Remote CC0 architectural photograph: offline preview shows locally packaged streetscape fallback. */
.hero-art .hero-cat{top:34%!important;height:68%!important;object-position:center bottom}
.hero-handnote{top:10%!important}
.review-placeholder{padding:23px 16px 17px 36px;min-height:162px}
.testimonial-row{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.testimonial-face{width:70px;height:70px;object-fit:cover;object-position:center;border-radius:50%;border:3px solid white;box-shadow:0 4px 13px #1a4e7e22;flex-shrink:0}
.testimonial-content b{font-size:13px}.testimonial-content p{margin:5px 0;font-size:10px}.testimonial-content small{font-size:10px;color:#6c88a1}


.image-credit{font-size:9px;color:#718fa6;display:block}
@media(max-width:730px){.hero::after{background-position:center,center 50%;opacity:.58}.hero-art .hero-cat{top:28%!important;height:73%!important}.testimonial-face{width:60px;height:60px}}

/* V6: restore the user-approved original-style photographic scene; no external photo swap. */
.header .brand img, .foot-inner img{filter:none!important;width:155px;height:auto}
.hero {background:linear-gradient(90deg,#ffffff 0%,#f5fbff 32%,#e3f7ff 72%,#c9edff 100%);isolation:isolate}
.hero::after {background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 24%,rgba(255,255,255,.77) 42%,rgba(255,255,255,.02) 78%),url("penang-bridge-streetscape.png")!important;background-size:cover,cover;background-position:center,center 51%;opacity:1!important;mask-image:none!important;width:100%!important}
.hero::before {z-index:1;opacity:.7}
.hero-inner,.hero-proof {z-index:2}
.hero-art .hero-cat {top:38%!important;height:63%!important;left:-3%;width:53%}
.hero-handnote {top:8%!important}


/* Use the dedicated waving character on the lower CTA, distinct from the Hero pose. */

@media(max-width:730px){
 .hero::after{top:auto;bottom:30px;width:100%!important;height:350px;background-size:cover,cover;background-position:center,42% center;opacity:.83!important;mask-image:linear-gradient(180deg,transparent 0%,black 34%)!important}
 .hero-art .hero-cat{top:31%!important;height:70%!important;left:-2%}
 
}

/* V7: bridge-only dedicated CTA visual, no city buildings; fixed utility actions. */



.footer .foot-inner > a[href="#top"]{display:none!important}
.image-credit{display:none!important}
.floating-actions{position:fixed;right:22px;bottom:22px;z-index:1000;display:flex;flex-direction:column;gap:11px}
.float-action{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:27px;line-height:1;color:white;box-shadow:0 7px 22px #103b6338;transition:transform .18s ease}
.float-action:hover{transform:translateY(-3px)}
.float-wa{background:#21c063;font-weight:800}
.float-top{background:#088def;font-size:31px}
@media(max-width:730px){.floating-actions{right:13px;bottom:13px}.float-action{width:46px;height:46px;font-size:24px}}

/* V8 — final fixed-action sizing and bridge-only lower CTA. */
.floating-actions .float-wa svg{display:block;width:27px;height:27px}
.floating-actions .float-action:focus-visible{outline:3px solid #0b3568;outline-offset:3px}

@media(prefers-reduced-motion:reduce){.float-action{transition:none!important}}

/* V9: footer CTA precise spacing: independent slots, no overlap */




/* V10: Komtar street view, cards are editable DOM elements */
.georgetown{overflow:visible;isolation:isolate;background:#f8fcff;border-radius:24px}
.georgetown::after{content:"";position:absolute;inset:auto -8px -13px -8px;height:55px;background:linear-gradient(0deg,#f6fbff,transparent);pointer-events:none;z-index:1}
.georgetown .komtar-street-photo{display:block;width:100%;height:100%;border-radius:24px;object-fit:cover;object-position:center center}
.georgetown .geo-label,.georgetown .geo-growth{position:absolute;z-index:2;background:rgba(255,255,255,.96);color:#0b3267;border-radius:13px;box-shadow:0 9px 26px rgba(16,66,110,.14);font-size:12px;line-height:1.4;font-weight:800;padding:13px 17px}
.georgetown .geo-label{top:17px;right:15px;left:auto}
.georgetown .geo-growth{bottom:17px;right:13px;color:#087ed6;max-width:180px}

@media(max-width:730px){.georgetown{height:300px}.georgetown .geo-label,.georgetown .geo-growth{font-size:11px;padding:10px}.georgetown .geo-label{right:7px;top:9px}}

/* V11: user-supplied composition, two sections only. No remote imagery. */
.why-wrap{background:linear-gradient(105deg,#f5fbff,#fff 72%);padding:25px 0 18px}
.why{grid-template-columns:1.02fr 1.3fr 1fr;gap:26px;align-items:center}
.georgetown{height:290px;background:#f6fbff!important;overflow:visible!important;border-radius:26px}
.georgetown .komtar-street-photo{height:100%;width:100%;object-fit:cover;object-position:center;border-radius:26px;display:block}
.georgetown .geo-label{top:25px!important;left:auto!important;right:14%!important;background:#fff!important;padding:15px 22px!important;min-width:145px;text-align:left;z-index:6}
.georgetown .geo-growth{bottom:25px!important;right:3%!important;background:#fff!important;z-index:6;padding:15px 20px!important}







@media(max-width:1060px){.why{grid-template-columns:1fr 1.1fr;gap:20px}.why .benefits{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}
@media(max-width:730px){.why{grid-template-columns:1fr}.why .benefits{grid-template-columns:1fr}.georgetown{height:285px}}
/* Mask pre-existing reference labels beneath editable HTML overlays. */
.georgetown .geo-label{right:18.5%!important;top:24px!important;width:37%!important;min-height:73px!important;display:flex;align-items:center;justify-content:center;padding:14px 18px!important}
.georgetown .geo-growth{right:8%!important;bottom:29px!important;width:39%!important;min-height:73px!important;display:flex;align-items:center;justify-content:center;padding:14px 18px!important}
@media(max-width:730px){.georgetown .geo-label{top:24px!important;right:18.5%!important}.georgetown .geo-growth{right:8%!important;bottom:29px!important}}

/* V13 – unique standing wave mascot, restored photo CTA and fixed spatial grid. */







/* V14 stable CTA: one positioning system replaces historic conflicting overrides. */















/* V15 CTA: self-contained responsive layout; overrides accumulated legacy CTA positioning. */


















/* V16: SINGLE SOURCE OF TRUTH FOR CTA; responsive grid, no absolute-positioned mascot/annotation. */
.bottom-cta{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#e6f7ff 0%,#effaff 51%,#c9ecff 100%);min-height:285px}
.bottom-cta::before,.bottom-cta::after{display:none!important;content:none!important}
.cta-v16-bridge{position:absolute;right:0;bottom:0;top:0;width:49%;background:linear-gradient(90deg,#eefaff 0%,rgba(238,250,255,.18) 38%,transparent 70%),url('cta-bridge-reference-section.webp') center right/cover no-repeat;pointer-events:none;z-index:0}
.cta-v16-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,320px) minmax(0,630px) minmax(0,1fr);align-items:center;gap:26px;min-height:285px;padding:0}
.cta-v16-group{position:relative;height:285px;display:flex;align-items:flex-end;justify-content:flex-end;isolation:isolate}
.cta-v16-cat{display:block;width:205px;height:260px;object-fit:contain;object-position:bottom;max-width:none;flex-shrink:0;filter:drop-shadow(0 8px 9px rgba(19,80,130,.12))}
.cta-v16-note{position:absolute;left:0;top:51px;max-width:142px;text-align:center;font:700 20px/1.19 'Comic Sans MS','Bradley Hand',cursive;transform:rotate(-11deg);color:#163f72;white-space:normal;z-index:2}
.cta-v16-note .arrow{display:block;font:400 38px/1 cursive;color:#0c8fe6;text-align:right;transform:rotate(15deg)}
.cta-v16-message{position:relative;z-index:2;padding:35px 0;min-width:0;max-width:620px}
.cta-v16-message h2{font-size:clamp(26px,2.1vw,37px);letter-spacing:-.035em;line-height:1.16;margin:8px 0 10px}
.cta-v16-message p{font-size:15px;line-height:1.5;margin:0 0 17px;max-width:570px}
.cta-v16-message .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.cta-v16-message .pill{white-space:normal}
.footer .foot-inner{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;padding-top:26px;padding-bottom:26px}
.footer .legal-copy{font-size:12px;line-height:1.6;max-width:670px}
.footer .sales-emails{font-size:12px;line-height:1.5;display:flex;flex-wrap:wrap;gap:4px 8px}
.footer .sales-emails a{color:#155b93;text-decoration:underline;text-underline-offset:2px}
.review-placeholder{min-height:150px}
@media(max-width:1100px){.cta-v16-layout{grid-template-columns:245px minmax(0,1fr);gap:18px}.cta-v16-bridge{width:48%;opacity:.45}.cta-v16-group{height:265px}.cta-v16-cat{height:245px;width:180px}.cta-v16-note{font-size:17px;max-width:110px;top:52px}.cta-v16-message{padding-right:12px}}
@media(max-width:740px){.bottom-cta{min-height:0}.cta-v16-layout{display:flex;flex-direction:column-reverse;gap:5px;padding:28px 0 0;align-items:stretch}.cta-v16-message{padding:0 0 15px}.cta-v16-message h2{font-size:clamp(25px,7vw,34px)}.cta-v16-group{height:220px;justify-content:center;flex:none;width:100%}.cta-v16-cat{height:218px;width:180px}.cta-v16-note{left:max(0px,calc(50% - 185px));top:30px;max-width:126px;font-size:16px}.cta-v16-bridge{top:auto;width:100%;height:212px;opacity:.65;background-position:center,right center}.cta-v16-message .hero-actions{gap:8px}}
@media(max-width:410px){.cta-v16-message h2{font-size:27px}.cta-v16-note{left:1%;font-size:14px;max-width:105px;top:43px}.cta-v16-cat{width:170px}.cta-v16-group{height:210px}}
@media(prefers-reduced-motion:reduce){.reveal,.before{transition:none!important;transform:none!important}}

/* V17: Hero proof bar inset; remove old overlay cards on Why EBOX scene */
.hero-proof span:first-child{padding-left:22px}
.georgetown .geo-label,.georgetown .geo-growth{display:none!important}
@media(max-width:730px){.hero-proof span:first-child{padding-left:12px}}
