*{box-sizing:border-box} :root{--blue:#1268d5;--navy:#062b59;--sky:#37b7ff;--ink:#10213a;--muted:#627187;--line:#e5edf6;--pale:#f4f8fd;--white:#fff}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}h1,h2,h3,h4{font-family:Manrope,sans-serif;letter-spacing:-.045em;margin:0 0 18px}p{line-height:1.75;color:var(--muted);margin:0 0 18px}.announcement{height:36px;background:var(--navy);color:#d8eaff;display:flex;justify-content:space-between;align-items:center;padding:0 max(5vw,24px);font-size:10px;letter-spacing:.14em}.announcement a{color:white;text-decoration:none;letter-spacing:0;font-size:12px}.header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #edf2f8}.brand img{width:205px;max-height:62px;object-fit:contain}nav{display:flex;gap:32px;align-items:center}nav a{color:#4a5b70;text-decoration:none;font-size:13px;font-weight:700;transition:.25s}nav a:hover,nav a.active{color:var(--blue)}.header-cta,.btn{background:var(--blue);color:white!important;text-decoration:none;border-radius:5px;padding:14px 19px;font-size:13px;font-weight:700;display:inline-flex;gap:18px;align-items:center;transition:.25s;border:0;cursor:pointer}.header-cta:hover,.btn:hover{background:var(--navy);transform:translateY(-2px);box-shadow:0 12px 28px #1268d533}.menu-toggle{display:none;background:none;border:0;font-size:24px}.hero{min-height:640px;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(120deg,#f4f8fd,#e7f2ff);overflow:hidden}.hero-copy{padding:100px 6vw 90px 10vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;z-index:1}.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:24px}.hero h1{font-size:clamp(42px,5.4vw,76px);line-height:1.06;max-width:650px}.hero h1 em{font-style:normal;color:var(--blue)}.hero p{font-size:17px;max-width:510px;margin-bottom:28px}.hero-art{position:relative;min-height:500px}.hero-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#e7f2ff 0%,transparent 32%),linear-gradient(0deg,#062b5940,transparent 50%)}.hero-stamp{position:absolute;z-index:2;bottom:40px;left:0;background:#fff;padding:22px 28px;box-shadow:0 15px 45px #062b5920;max-width:250px}.hero-stamp strong{font:800 26px Manrope;color:var(--blue);display:block}.hero-stamp span{font-size:12px;color:var(--muted)}.section{padding:105px max(7vw,24px)}.section-head{max-width:720px;margin:0 auto 48px;text-align:center}.section-head h2,.split h2,.cta h2{font-size:clamp(32px,4vw,52px);line-height:1.13}.section-head p{font-size:16px}.trust{background:var(--navy);color:#fff;padding:58px max(7vw,24px);display:flex;align-items:center;justify-content:space-between;gap:50px}.trust h2{font-size:clamp(26px,3vw,38px);max-width:570px;line-height:1.2;margin:0}.trust p{color:#c3d5ed;max-width:500px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{padding:32px 28px;border:1px solid var(--line);border-radius:9px;background:#fff;transition:.3s;min-height:225px}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 45px #0b3d7314;border-color:#b8d7ff}.service-icon{width:48px;height:48px;display:grid;place-items:center;background:#eaf4ff;color:var(--blue);border-radius:12px;font-size:22px;margin-bottom:25px}.service-card h3{font-size:20px;margin-bottom:10px}.service-card p{font-size:14px;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;background:var(--pale)}.split img{width:100%;height:450px;object-fit:cover;border-radius:8px;box-shadow:22px 22px 0 #d7eaff}.split-copy{max-width:570px}.split-copy p{font-size:16px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.step{border-top:2px solid #c9e1ff;padding-top:23px}.step .num{font:800 14px Manrope;color:var(--blue);letter-spacing:.1em}.step h3{font-size:20px;margin-top:18px}.step p{font-size:14px}.cta{margin:0 max(5vw,18px) 90px;border-radius:12px;background:linear-gradient(120deg,var(--blue),var(--navy));color:white;padding:65px 8%;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.cta:after{content:"";width:300px;height:300px;border:1px solid #ffffff30;border-radius:50%;position:absolute;right:15%;top:-180px;box-shadow:0 0 0 45px #ffffff08,0 0 0 90px #ffffff06}.cta h2{max-width:640px;margin:0 0 10px;position:relative;z-index:1}.cta p{color:#d9eaff;max-width:620px;margin:0;position:relative;z-index:1}.cta .btn{background:white;color:var(--navy)!important;white-space:nowrap;position:relative;z-index:2}.page-hero{min-height:390px;position:relative;display:flex;align-items:center;padding:90px 10%;color:#fff;background:var(--navy);overflow:hidden}.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.43}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#062b59ee,#062b5966)}.page-hero .inner{position:relative;z-index:1;max-width:800px}.page-hero .eyebrow{color:#9bd7ff}.page-hero h1{font-size:clamp(40px,5vw,65px);line-height:1.1}.page-hero p{color:#e1edfa;font-size:17px;max-width:640px}.values{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.value{background:var(--pale);padding:24px;border-radius:8px}.value h3{font-size:18px}.value p{font-size:13px;margin:0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 8px 30px #062b590d}.project-card img{width:100%;height:230px;object-fit:cover;display:block;transition:.4s}.project-card:hover img{transform:scale(1.04)}.project-card .body{padding:23px}.project-card .category{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.15em}.project-card h3{margin:9px 0;font-size:21px}.project-card p{font-size:14px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;max-width:1100px;margin:auto}.contact-info{background:var(--navy);color:#fff;border-radius:10px;padding:36px}.contact-info h3{font-size:25px}.contact-info p{color:#c4d7ee}.contact-item{border-top:1px solid #ffffff25;padding:18px 0}.contact-item strong{display:block;font-size:11px;color:#8ecaff;letter-spacing:.12em;margin-bottom:8px}.contact-item a{color:white;text-decoration:none}.contact-form{display:grid;gap:15px}.contact-form label{font-size:12px;font-weight:700}.contact-form input,.contact-form textarea,.contact-form select{width:100%;margin-top:7px;border:1px solid #dce6f1;padding:14px;border-radius:5px;font:inherit;background:#fff}.contact-form textarea{min-height:130px;resize:vertical}.footer{background:#061f40;color:white;padding:60px max(7vw,24px) 28px}.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:40px}.footer img{width:190px;filter:brightness(0) invert(1);margin-bottom:20px}.footer p{color:#aabed6;max-width:350px}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer a{color:#d9e7f8;text-decoration:none;font-size:13px}.footer-bottom{border-top:1px solid #ffffff1b;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#93a9c3;font-size:11px}.loading{padding:150px;text-align:center;color:var(--muted)}.fade-up{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.fade-up.visible{opacity:1;transform:none}.slide-in{opacity:0;transform:translateX(-28px);transition:all .8s}.slide-in.visible{opacity:1;transform:none}.float-top{position:fixed;bottom:22px;right:22px;background:var(--blue);color:#fff;text-decoration:none;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;opacity:0;pointer-events:none;z-index:20}.float-top.show{opacity:1;pointer-events:auto}.toast{padding:15px;background:#e7f8ef;color:#12663d;border-radius:6px;font-size:13px}.section.narrow{max-width:1050px;margin:auto}.section.alt{background:var(--pale)}@media(max-width:950px){nav{gap:16px}.header-cta{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:75px 8vw}.hero-art{min-height:380px}.hero-art:after{background:linear-gradient(0deg,#062b5940,transparent)}.trust{align-items:flex-start;flex-direction:column;gap:20px}.cards,.project-grid{grid-template-columns:repeat(2,1fr)}.split{gap:45px}.values{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.announcement{padding:0 16px;font-size:8px}.announcement a{font-size:10px}.header{height:72px;padding:0 20px}.brand img{width:165px}.menu-toggle{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:20px;box-shadow:0 15px 25px #062b5915;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero-copy{padding:62px 24px}.hero h1{font-size:43px}.hero p{font-size:15px}.hero-art{min-height:290px}.section{padding:70px 22px}.cards,.project-grid,.split,.contact-grid{grid-template-columns:1fr}.split img{height:300px;box-shadow:10px 10px 0 #d7eaff}.steps{grid-template-columns:1fr 1fr;gap:28px 16px}.cta{margin:0 14px 60px;padding:38px 25px;display:block}.cta .btn{margin-top:25px}.page-hero{padding:70px 24px;min-height:350px}.page-hero h1{font-size:42px}.values{grid-template-columns:1fr 1fr}.footer-top,.footer-bottom{flex-direction:column}.footer{padding:50px 24px 25px}.footer-links{gap:15px}.contact-info{padding:27px}.trust h2{font-size:29px}}

/* Visual builder gallery and expanded motion effects */
.gallery-grid-public{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gallery-photo{display:block;position:relative;border-radius:9px;overflow:hidden;min-height:180px;background:#e8f0fa;color:white;text-decoration:none}
.gallery-photo img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.gallery-photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#062b59b8)}
.gallery-photo span{position:absolute;z-index:1;left:16px;bottom:14px;color:#fff;font-size:12px;font-weight:700}
.gallery-photo:hover img{transform:scale(1.07)}
.zoom-in{opacity:0;transform:scale(.94);transition:opacity .7s ease,transform .7s ease}
.zoom-in.visible{opacity:1;transform:scale(1)}
.fade-in{opacity:0;transition:opacity .8s ease}.fade-in.visible{opacity:1}
.float{opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .7s ease}.float.visible{opacity:1;transform:translateY(0);animation:gentleFloat 4s ease-in-out .8s infinite}
.parallax{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.parallax.visible{opacity:1;transform:translateY(0)}
@keyframes gentleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(max-width:900px){.gallery-grid-public{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.gallery-grid-public{gap:9px}.gallery-photo img{min-height:155px}}

/* Footer contact block: WhatsApp, email and Instagram grouped at lower right */
.footer-top{align-items:start}
.footer-contact{display:flex;flex-direction:column;gap:14px;min-width:245px;margin-left:auto}
.footer-contact-item{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;padding:8px 0}
.footer-contact-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:rgba(255,255,255,.10);display:grid;place-items:center;font-size:23px}
.footer-contact-item small{display:block;color:inherit;opacity:.68;font-size:12px;margin-bottom:3px}
.footer-contact-item strong{display:block;font-size:15px;font-weight:700;overflow-wrap:anywhere}
.footer-contact-item.footer-wa strong{font-size:22px;letter-spacing:.2px}
.footer-contact-item:hover strong{text-decoration:underline}
.footer-links a[href*="instagram.com"]{display:none!important}
@media(max-width:800px){.footer-contact{margin-left:0;min-width:0;width:100%}.footer-contact-item.footer-wa strong{font-size:20px}}

/* WhatsApp brand icon in footer */
.footer-contact-icon.footer-whatsapp-icon{background:#25D366;color:#fff;border-radius:50%;width:46px;height:46px;flex-basis:46px}
.footer-whatsapp-icon svg{display:block;width:29px;height:29px}

/* Logo klien: jalur bergerak otomatis, logo dapat dikelola dari Website Builder */
.clients-section{overflow:hidden}
.clients-marquee{width:100%;overflow:hidden;position:relative;margin-top:38px;padding:8px 0}
.clients-track{display:flex;align-items:center;width:max-content;gap:30px;animation:galanesiaClientMarquee 34s linear infinite}
.clients-marquee:hover .clients-track{animation-play-state:paused}
.client-logo{width:190px;height:110px;flex:0 0 190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#fff;border:1px solid #edf1f7;border-radius:12px;transition:transform .25s,border-color .25s}
.client-logo:hover{transform:translateY(-3px);border-color:#c8d9ef}
.client-logo img{width:100%;height:64px;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .25s,opacity .25s}
.client-logo:hover img{filter:grayscale(0);opacity:1}
.client-logo span{font-size:11px;font-weight:700;color:#6c7d94;text-align:center}
@keyframes galanesiaClientMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.footer-contact-icon.footer-email-icon,.footer-contact-icon.footer-instagram-icon{display:grid;place-items:center}
.footer-contact-icon.footer-email-icon svg,.footer-contact-icon.footer-instagram-icon svg{width:25px;height:25px;display:block}
.footer-contact-icon.footer-instagram-icon{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff}
.footer-contact-icon.footer-email-icon{background:#1268d5;color:#fff}
@media(max-width:600px){.client-logo{width:150px;flex-basis:150px;height:95px}.client-logo img{height:52px}.clients-track{gap:16px}}
@media(prefers-reduced-motion:reduce){.clients-track{animation:none;transform:none}.clients-marquee{overflow-x:auto}.clients-track{width:max-content}}
