
:root{--red:#8b1220;--red2:#5f0b14;--gold:#d6a139;--gold2:#fff4d8;--dark:#151515;--ink:#242424;--muted:#68707d;--line:#e9e2d8;--cream:#fffaf1;--white:#fff;--shadow:0 24px 70px rgba(40,22,10,.13);--max:1240px;--radius:30px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.topbar{background:linear-gradient(90deg,var(--red2),#1e1e1e);color:#fff;font-size:13px}.topbar .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:9px 0}.nav{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);z-index:50;border-bottom:1px solid rgba(0,0,0,.06)}.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0}.brand{display:flex;align-items:center;gap:13px;font-weight:950;color:var(--red2);letter-spacing:.2px}.brand img{width:76px;height:54px;object-fit:contain}.menu{display:flex;align-items:center;gap:22px;font-weight:800;font-size:14px}.menu a{position:relative}.menu a:not(.quote):after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--gold);transition:.25s}.menu a:hover:after{width:100%}.quote,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;background:linear-gradient(135deg,var(--gold),#f5cc72);color:#2d1603;padding:12px 20px;border-radius:999px;font-weight:900;box-shadow:0 14px 35px rgba(214,161,57,.28);cursor:pointer}.btn.red{background:linear-gradient(135deg,var(--red),#ba2538);color:#fff}.btn.ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.55);box-shadow:none}.hero{min-height:86vh;display:grid;align-items:center;position:relative;overflow:hidden;color:#fff;background:linear-gradient(110deg,rgba(32,13,8,.9),rgba(139,18,32,.78),rgba(21,21,21,.6)),var(--hero) center/cover}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(214,161,57,.35),transparent 23%),linear-gradient(transparent,rgba(0,0,0,.25))}.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:78px 0}.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(214,161,57,.14);border:1px solid rgba(214,161,57,.45);color:#ffd884;border-radius:999px;padding:8px 13px;font-weight:900;text-transform:uppercase;letter-spacing:1.6px;font-size:12px}.hero h1,.page-title h1{font-size:clamp(44px,6vw,82px);line-height:.98;margin:18px 0;letter-spacing:-2.5px}.hero p{font-size:18px;color:#fff2e0;max-width:760px;margin:0 0 17px}.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-card{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:34px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.2);backdrop-filter:blur(18px)}.hero-card img{background:#fff;border-radius:24px;padding:18px;width:260px;margin:0 auto 20px}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.metric{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:18px}.metric strong{display:block;color:#ffd884;font-size:31px;line-height:1}.ticker{background:var(--red2);color:#fff;overflow:hidden}.ticker .wrap{display:flex;gap:34px;justify-content:space-between;padding:15px 0;font-weight:900;text-transform:uppercase;letter-spacing:1px;font-size:13px}section{padding:92px 0}.cream{background:var(--cream)}.dark{background:linear-gradient(135deg,#160a0c,var(--red2));color:#fff}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.eyebrow{color:var(--red);font-weight:950;text-transform:uppercase;letter-spacing:2.2px;font-size:13px}.dark .eyebrow{color:#ffd884}.head h2{font-size:clamp(32px,4vw,56px);line-height:1.05;margin:8px 0 14px;color:var(--red2);letter-spacing:-1.4px}.dark .head h2{color:#fff}.head p{color:var(--muted);font-size:17px;margin:0}.dark .head p{color:#f3ded7}.center{text-align:center;margin-left:auto;margin-right:auto;max-width:870px}.photo{min-height:480px;border-radius:var(--radius);background:linear-gradient(rgba(139,18,32,.12),rgba(0,0,0,.16)),var(--photo) center/cover;box-shadow:var(--shadow);position:relative;overflow:hidden}.photo:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.45);border-radius:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow);transition:.25s}.panel:hover{transform:translateY(-7px)}.panel h3{margin:8px 0;color:var(--red2);font-size:22px}.panel p{margin:0;color:var(--muted)}.icon{width:58px;height:58px;border-radius:18px;background:var(--gold2);display:grid;place-items:center;font-size:29px;color:var(--red)}.service-card{min-height:330px;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(70,8,16,.83)),var(--bg) center/cover;display:flex;align-items:end;padding:24px;color:#fff;box-shadow:var(--shadow);position:relative}.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(214,161,57,.0),rgba(214,161,57,.22));opacity:0;transition:.25s}.service-card:hover:before{opacity:1}.service-card .in{position:relative;z-index:1}.service-card h3{font-size:25px;margin:0 0 5px}.service-card p{margin:0;color:#ffeede}.page-title{background:linear-gradient(115deg,rgba(60,12,15,.94),rgba(139,18,32,.82)),url('https://images.unsplash.com/photo-1578575437130-527eed3abbec?auto=format&fit=crop&w=1600&q=80') center/cover;color:#fff;padding:92px 0}.page-title p{font-size:19px;color:#ffe7dc;max-width:850px}.list{display:grid;gap:14px}.list .row{padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.04);font-weight:800}.process{counter-reset:s}.process .panel{position:relative}.process .panel:before{counter-increment:s;content:"0"counter(s);display:inline-grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--red);color:#fff;font-weight:950;margin-bottom:12px}.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}.gallery .g{min-height:260px;border-radius:26px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72)),var(--g) center/cover;display:flex;align-items:end;padding:22px;color:#fff;box-shadow:var(--shadow)}.gallery .big{grid-row:span 2;min-height:540px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--shadow)}.line{color:var(--muted)}.line strong{color:var(--red2)}.form{display:grid;gap:14px}.form input,.form select,.form textarea{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:16px;font:inherit}.form textarea{min-height:150px}.mapbox{min-height:410px;border-radius:30px;background:radial-gradient(circle at 30% 40%,rgba(214,161,57,.38),transparent 15%),radial-gradient(circle at 60% 55%,rgba(214,161,57,.22),transparent 18%),linear-gradient(135deg,#240d12,#7e1420);box-shadow:var(--shadow);position:relative;overflow:hidden}.mapbox:after{content:"PORT KLANG  →  ASIA  →  GLOBAL MARKETS";position:absolute;inset:auto 24px 24px 24px;color:#fff;font-size:28px;font-weight:950;letter-spacing:1px}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:80;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;font-weight:950;box-shadow:0 18px 40px rgba(37,211,102,.35)}footer{background:#14090b;color:#eadfdc;padding:44px 0}footer .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:26px}footer h4,footer strong{color:#fff;margin:0 0 10px}footer a{display:block;color:#eadfdc;margin:5px 0}.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}.reveal.show{opacity:1;transform:none}@media(max-width:1050px){.hero .wrap,.grid2,footer .wrap{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr}.gallery .big{grid-row:auto;min-height:320px}.menu{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:720px){.topbar{display:none}.nav .wrap{align-items:flex-start;flex-direction:column}.menu{gap:12px}.hero h1,.page-title h1{font-size:42px}.hero .wrap{padding:55px 0}.grid4,.grid3,.gallery,.metrics{grid-template-columns:1fr}.ticker .wrap{flex-wrap:wrap;justify-content:flex-start}.photo{min-height:330px}section{padding:62px 0}}

/* Malaysian Ports Network Page */
.port-feature{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin-top:36px;background:linear-gradient(135deg,#fff,var(--cream));border:1px solid var(--line);border-radius:34px;padding:34px;box-shadow:var(--shadow);overflow:hidden}.port-feature h2{font-size:clamp(30px,3.5vw,52px);line-height:1.05;margin:16px 0 12px;color:var(--red2);letter-spacing:-1.3px}.port-feature p{color:var(--muted);font-size:17px}.port-mapbox{min-height:360px;border-radius:28px;background:radial-gradient(circle at 28% 28%,rgba(214,161,57,.42),transparent 14%),radial-gradient(circle at 70% 45%,rgba(255,255,255,.22),transparent 20%),linear-gradient(135deg,rgba(95,11,20,.98),rgba(139,18,32,.86)),url('https://images.unsplash.com/photo-1494412519320-aa613dfb7738?auto=format&fit=crop&w=1200&q=80') center/cover;display:flex;align-items:end;padding:28px;color:#fff;box-shadow:var(--shadow)}.port-mapbox span{font-size:24px;font-weight:950;line-height:1.12}.ports-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.port-card{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden;transition:.28s}.port-card:hover{transform:translateY(-8px)}.port-image{min-height:190px;background:linear-gradient(180deg,rgba(139,18,32,.06),rgba(95,11,20,.42)),var(--port) center/cover}.port-body{padding:22px}.port-state{display:inline-flex;background:var(--gold2);color:var(--red2);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:1px}.port-body h3{margin:12px 0 8px;color:var(--red2);font-size:23px;line-height:1.15}.port-body p{margin:0;color:var(--muted)}.port-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.port-tags span{font-size:12px;font-weight:900;color:var(--red2);background:#fff7e7;border:1px solid #f1dca8;border-radius:999px;padding:7px 10px}.network-list{display:grid;gap:12px}.network-list div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:18px 20px;font-weight:900;color:#fff}.business-card{margin-top:22px;background:linear-gradient(135deg,var(--cream),#fff);border:1px solid var(--line);border-radius:22px;padding:20px;position:relative;overflow:hidden}.business-card:before{content:"MGL";position:absolute;right:18px;top:-4px;font-size:58px;font-weight:950;color:rgba(139,18,32,.07)}.business-card h4{margin:0 0 8px;color:var(--red2);font-size:20px}.business-card p{margin:0 0 16px;color:var(--muted)}.contact-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:1050px){.port-feature{grid-template-columns:1fr}.ports-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.ports-grid{grid-template-columns:1fr}.port-feature{padding:22px}.port-mapbox{min-height:260px}.port-mapbox span{font-size:19px}}

/* Distinct Homepage Ship Animation - replaces square logo card */
.ship-scene{
  min-height:470px;
  border-radius:38px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 18%, rgba(255,216,132,.42), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.05) 42%, rgba(15,51,77,.6) 43%, rgba(8,31,52,.88));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 35px 90px rgba(0,0,0,.24);
  backdrop-filter:blur(16px);
}
.ship-scene:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg, rgba(255,255,255,.22), transparent 34%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.07) 0 1px, transparent 1px 82px);
  opacity:.65;
}
.sun-glow{
  position:absolute;
  right:54px;
  top:46px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:radial-gradient(circle, #ffd884 0 30%, rgba(255,216,132,.4) 31% 54%, transparent 55%);
  box-shadow:0 0 70px rgba(255,216,132,.45);
  animation:pulseSun 4s ease-in-out infinite;
}
.ship-route{
  position:absolute;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(255,216,132,.9), transparent);
  transform:rotate(-9deg);
  opacity:.75;
}
.route-one{left:55px;right:110px;top:118px;animation:routeMove 4.8s linear infinite}
.route-two{left:120px;right:45px;top:172px;animation:routeMove 6.2s linear infinite reverse}
.cargo-ship{
  position:absolute;
  left:50%;
  bottom:118px;
  width:340px;
  height:150px;
  transform:translateX(-50%);
  animation:shipFloat 4s ease-in-out infinite, shipTravel 13s linear infinite;
}
.ship-hull{
  position:absolute;
  left:20px;
  right:20px;
  bottom:16px;
  height:58px;
  background:linear-gradient(135deg, var(--red2), var(--red));
  border-radius:8px 8px 46px 46px;
  box-shadow:0 18px 35px rgba(0,0,0,.24);
}
.ship-hull:before{
  content:"";
  position:absolute;
  left:-18px;
  bottom:8px;
  width:72px;
  height:44px;
  background:var(--red2);
  clip-path:polygon(0 50%,100% 0,100% 100%);
}
.ship-hull:after{
  content:"";
  position:absolute;
  right:-20px;
  bottom:8px;
  width:82px;
  height:44px;
  background:var(--red);
  clip-path:polygon(0 0,100% 50%,0 100%);
}
.ship-cabin{
  position:absolute;
  right:54px;
  bottom:73px;
  width:78px;
  height:52px;
  background:linear-gradient(135deg,#fff,#f5e9d0);
  border-radius:10px 10px 2px 2px;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.ship-cabin:before{
  content:"";
  position:absolute;
  left:13px;
  top:13px;
  width:52px;
  height:12px;
  background:repeating-linear-gradient(90deg, #17364c 0 10px, transparent 10px 17px);
  border-radius:4px;
}
.ship-stack{
  position:absolute;
  bottom:78px;
  width:58px;
  height:30px;
  border-radius:5px;
  box-shadow:0 10px 25px rgba(0,0,0,.12);
}
.s1{left:64px;background:#d6a139}.s2{left:126px;background:#8b1220}.s3{left:64px;bottom:112px;background:#fff4d8}.s4{left:126px;bottom:112px;background:#d6a139}
.sea-wave{
  position:absolute;
  left:-15%;
  width:130%;
  height:84px;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.36) 0 22%, transparent 23%);
  background-size:86px 42px;
  opacity:.72;
}
.wave-a{bottom:18px;animation:waveMove 7s linear infinite}.wave-b{bottom:50px;opacity:.42;animation:waveMove 10s linear infinite reverse}


@keyframes shipFloat{0%,100%{transform:translateX(-50%) translateY(0) rotate(-.5deg)}50%{transform:translateX(-50%) translateY(-9px) rotate(.8deg)}}
@keyframes shipTravel{0%{margin-left:-42px}50%{margin-left:42px}100%{margin-left:-42px}}
@keyframes waveMove{from{background-position-x:0}to{background-position-x:172px}}
@keyframes pulseSun{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.08);opacity:1}}
@keyframes routeMove{from{background-position-x:0}to{background-position-x:220px}}
@media(max-width:1050px){.ship-scene{min-height:390px}.cargo-ship{width:300px;transform:translateX(-50%) scale(.9)}}
@media(max-width:720px){.ship-scene{min-height:330px}.cargo-ship{width:250px;bottom:98px}}
