:root{--ink:#17212b;--muted:#667085;--line:#e7eceb;--soft:#f5f8f7;--paper:#fff;--teal:#2563eb;--teal-dark:#1d4ed8;--gold:#7c3aed;--shadow:0 18px 55px rgba(23,33,43,.08);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.container-custom{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(231,236,235,.9)}.navbar-container{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}.navbar-brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--teal);color:#fff;font-family:"Plus Jakarta Sans";font-weight:800}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-family:"Plus Jakarta Sans";font-size:17px;letter-spacing:-.03em}.brand-copy strong span,.footer-brand span{color:var(--teal)}.brand-copy small{margin-top:5px;color:#84908f;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.navbar-menu{display:flex;align-items:center;gap:20px;font-size:12px;font-weight:600;color:#55605f}.navbar-menu a:hover{color:var(--teal)}.nav-cta{padding:10px 15px;border:1px solid #dce8e5;border-radius:11px;background:#fff;color:var(--teal)!important}.language-menu{position:relative}.language-button{border:1px solid #dce8e5;background:#fff;border-radius:11px;padding:9px 11px;color:#53615f;cursor:pointer;font-size:11px}.language-list{display:none;position:absolute;right:0;top:42px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:7px;min-width:145px;box-shadow:var(--shadow);max-height:300px;overflow:auto}.language-menu:hover .language-list,.language-menu:focus-within .language-list{display:block}.language-list a{display:block;padding:7px 9px;border-radius:8px;font-size:11px}.language-list a:hover,.language-list a.active{background:#eff6ff;color:var(--teal)}.nav-toggle{display:none;border:0;background:transparent;padding:7px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}.hero-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#f4faf8 0%,#fff 92%);padding:86px 0 76px}.hero-glow{position:absolute;border-radius:50%;pointer-events:none}.hero-glow-one{width:420px;height:420px;right:-180px;top:-170px;background:radial-gradient(circle,#ccece6 0%,transparent 68%)}.hero-glow-two{width:300px;height:300px;left:-150px;bottom:-150px;background:radial-gradient(circle,#e8e1ca 0%,transparent 68%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;position:relative}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--teal)}.hero-content h1,.section-heading h2,.value-grid h2,.contact-copy h2,.about-card h2{font-family:"Plus Jakarta Sans";letter-spacing:-.045em;line-height:1.12;margin:20px 0}.hero-content h1{font-size:clamp(40px,5vw,62px);max-width:720px}.hero-content h1 span{display:block;color:var(--teal)}.hero-lead{max-width:650px;color:#5f6d6b;font-size:17px;margin:0 0 28px}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:13px;font-weight:700;font-size:14px;border:1px solid transparent}.btn-primary{background:var(--teal);color:#fff;box-shadow:0 10px 25px rgba(37,99,235,.18)}.btn-ghost{background:#fff;border-color:#dbeafe;color:#40504e}.trust-row{display:flex;gap:28px;margin-top:35px;padding-top:22px;border-top:1px solid #dfeae7}.trust-row div{display:flex;flex-direction:column}.trust-row strong{font-family:"Plus Jakarta Sans";font-size:20px}.trust-row span{color:#87918f;font-size:11px;margin-top:1px}.hero-card-wrap{position:relative;min-height:390px;display:grid;place-items:center}.hero-card-back{position:absolute;width:86%;height:82%;border:1px solid #d8e9e5;border-radius:28px;transform:rotate(5deg);background:#eef7f5}.hero-card{position:relative;width:min(430px,100%);background:#fff;border:1px solid #e1e9e7;border-radius:26px;padding:24px;box-shadow:var(--shadow)}.hero-card-top{display:flex;justify-content:space-between;align-items:center}.mini-brand{font-family:"Plus Jakarta Sans";font-weight:800;font-size:13px}.status-pill{font-size:10px;color:var(--teal);background:#edf8f5;padding:6px 9px;border-radius:999px;font-weight:700}.status-pill i{font-size:6px;margin-right:4px}.dashboard-title{margin:35px 0 18px;display:flex;flex-direction:column}.dashboard-title span{font-size:12px;color:#8a9694}.dashboard-title strong{font-family:"Plus Jakarta Sans";font-size:23px;letter-spacing:-.04em}.mini-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-stat{background:#f7f9f8;border:1px solid #edf1f0;border-radius:14px;padding:13px 10px;display:flex;flex-direction:column;gap:5px}.mini-stat i{color:var(--teal);font-size:15px}.mini-stat span{font-size:10px;color:#8a9694}.mini-stat b{font-size:12px}.hero-note{display:flex;gap:10px;align-items:flex-start;background:#f3f7f6;border-radius:15px;padding:13px;margin-top:13px;color:#596664;font-size:11px}.hero-note i{color:var(--gold);margin-top:2px}.problem-section,.service-section,.portfolio-section,.process-section,.about-section{padding:88px 0}.section-heading{max-width:760px;margin-bottom:38px}.section-heading.narrow{max-width:680px}.section-heading h2,.value-grid h2,.about-card h2{font-size:clamp(29px,3.4vw,43px)}.section-heading p{color:var(--muted);margin:0;font-size:15px}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.problem-card{border:1px solid var(--line);border-radius:18px;padding:23px;background:#fff}.problem-icon{width:42px;height:42px;border-radius:13px;background:#eef7f5;color:var(--teal);display:grid;place-items:center;margin-bottom:18px}.problem-card h3{font-family:"Plus Jakarta Sans";font-size:16px;margin:0 0 8px}.problem-card p{font-size:13px;color:var(--muted);margin:0}.service-section{background:var(--soft)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;overflow:hidden}.service-card.service-featured{border-color:#bfdbfe;box-shadow:0 12px 35px rgba(37,99,235,.07)}.service-card>i{color:var(--teal);font-size:22px;margin:18px 0 14px}.service-number{position:absolute;right:18px;top:16px;color:#c6d0ce;font-family:"Plus Jakarta Sans";font-weight:800;font-size:11px}.service-card h3{font-family:"Plus Jakarta Sans";font-size:17px;margin:0 0 8px}.service-card p{font-size:13px;color:var(--muted);min-height:82px;margin:0}.service-card ul{list-style:none;padding:0;margin:17px 0 0;border-top:1px solid #edf0ef;padding-top:14px}.service-card li{font-size:12px;color:#556260;margin:7px 0}.service-card li:before{content:"✓";color:var(--teal);font-weight:800;margin-right:7px}.value-section{padding:62px 0;background:#102d2b;color:#fff}.value-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.value-grid h2{margin-bottom:0}.value-grid .section-kicker{color:#a5b4fc}.value-points{display:grid;grid-template-columns:1fr 1fr;gap:18px}.value-points div{display:flex;gap:10px;color:#d9e7e4;font-size:13px}.value-points i{color:#a5b4fc;margin-top:5px}.portfolio-section{background:#fff}.portfolio-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.project-count-large{min-width:115px;text-align:right}.project-count-large strong{display:block;font-family:"Plus Jakarta Sans";font-size:32px;color:var(--teal)}.project-count-large span{font-size:11px;color:#8a9694}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 28px}.filter-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #e0e8e6;border-radius:10px;background:#fff;color:#66716f;font-size:12px;font-weight:700}.filter-btn:hover,.filter-btn.active{background:#eff6ff;border-color:#bfdbfe;color:var(--teal)}.active-filter{display:inline-flex;gap:7px;align-items:center;background:#f4f7f6;padding:9px 12px;border-radius:10px;color:#687471;font-size:12px;margin-bottom:18px}.active-filter strong{color:var(--teal)}.active-filter a{font-size:17px;margin-left:4px}.grid-project{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.project-visual{height:190px;position:relative;background:linear-gradient(135deg,#eff6ff,#f4f6f5);overflow:hidden}.project-visual img{width:100%;height:100%;object-fit:cover;display:block}.project-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#3e7771;background:linear-gradient(135deg,#eff6ff,#f6f8f7)}.project-placeholder i{font-size:31px}.project-placeholder span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.project-visual:not(.no-image) .project-placeholder{display:none}.visual-link{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.94);padding:8px 10px;border-radius:9px;font-size:10px;font-weight:800;color:var(--teal)}.project-body{padding:20px}.project-category{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);font-weight:800}.project-body h3{font-family:"Plus Jakarta Sans";font-size:18px;line-height:1.3;margin:8px 0}.project-body p{font-size:12px;color:var(--muted);margin:0;min-height:58px}.tech-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}.tech-list span{font-size:9px;background:#f3f6f5;padding:5px 7px;border-radius:7px;color:#65706e}.project-actions{margin-top:17px;padding-top:14px;border-top:1px solid #eef1f0}.project-actions a{font-size:11px;font-weight:800;color:var(--teal)}.project-private{font-size:10px;color:#899390}.process-section{background:var(--soft)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.process-step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px}.process-step>span{display:inline-block;color:var(--teal);font-family:"Plus Jakarta Sans";font-weight:800;font-size:12px;margin-bottom:25px}.process-step h3{font-family:"Plus Jakarta Sans";font-size:16px;margin:0 0 7px}.process-step p{font-size:12px;color:var(--muted);margin:0}.about-section{padding-bottom:55px}.about-card{display:grid;grid-template-columns:70px 1fr;gap:25px;align-items:start;border:1px solid #dfe9e7;border-radius:24px;padding:38px;background:#f7faf9}.about-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:var(--teal);color:#fff;font-size:24px;font-family:"Plus Jakarta Sans";font-weight:800}.about-card h2{margin:10px 0 12px}.about-card p{color:var(--muted);max-width:850px;margin:0}.about-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.about-tags span{font-size:10px;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #e1e9e7;color:#64706e}.contact-section{padding:35px 0 90px}.contact-card{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;background:var(--teal);color:#fff;border-radius:26px;padding:45px;position:relative;overflow:hidden}.contact-card:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-120px;top:-150px;border:50px solid rgba(255,255,255,.06)}.contact-copy .section-kicker{color:#c4b5fd}.contact-copy h2{font-size:clamp(28px,3vw,40px);margin:10px 0 12px}.contact-copy p{color:#d8eeeb;max-width:690px}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:23px}.btn-light{background:#fff;color:var(--teal)}.contact-email{font-size:12px;color:#d7ece9}.contact-note{position:relative;z-index:1;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:24px}.contact-note>i{font-size:22px;color:#c4b5fd}.contact-note strong{display:block;margin-top:12px;font-family:"Plus Jakarta Sans"}.contact-note p{font-size:12px;color:#c9e3df;margin:7px 0 0}.site-footer{border-top:1px solid var(--line);padding:28px 0;background:#fff}.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:end}.footer-brand{font-family:"Plus Jakarta Sans";font-size:18px;font-weight:800}.footer-inner p{margin:5px 0 0;color:#87918f;font-size:11px}.footer-right{display:flex;gap:20px;color:#87918f;font-size:11px}.footer-right a{color:var(--teal);font-weight:700}.pagination-wrapper{display:flex;justify-content:center;gap:7px;margin-top:30px}.pagination-wrapper .page-item{display:inline-block}.pagination-wrapper a,.pagination-wrapper strong,.pagination-wrapper span{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:11px}.pagination-wrapper .active{background:var(--teal);color:#fff;border-color:var(--teal)}.project-empty{grid-column:1/-1;text-align:center;padding:50px;border:1px dashed #d7e2df;border-radius:18px;color:#87918f}.project-empty i{font-size:25px;color:var(--teal)}@media(max-width:980px){.navbar-menu{gap:13px}.hero-grid{grid-template-columns:1fr;gap:45px}.hero-card-wrap{min-height:330px}.problem-grid,.service-grid,.process-grid{grid-template-columns:1fr 1fr}.grid-project{grid-template-columns:1fr 1fr}}@media(max-width:760px){.container-custom{width:min(100% - 28px,1160px)}.navbar-container{min-height:68px}.nav-toggle{display:block}.navbar-menu{display:none;position:absolute;left:14px;right:14px;top:67px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.navbar-menu.open{display:flex}.navbar-menu a{padding:11px 12px}.language-menu{display:block}.language-list{position:static;display:block;box-shadow:none;border:0;background:#f7f9f8;margin:0 12px 10px;padding:4px}.language-button{display:none}.hero-section{padding:62px 0 55px}.hero-content h1{font-size:39px}.hero-lead{font-size:15px}.trust-row{gap:18px}.trust-row strong{font-size:17px}.problem-section,.service-section,.portfolio-section,.process-section,.about-section{padding:65px 0}.problem-grid,.service-grid,.process-grid,.grid-project,.value-grid,.contact-card{grid-template-columns:1fr}.value-grid{gap:30px}.value-points{grid-template-columns:1fr}.portfolio-heading{display:block}.project-count-large{text-align:left;margin-top:20px}.about-card{grid-template-columns:1fr;padding:28px}.contact-card{padding:30px 24px}.footer-inner{display:block}.footer-right{margin-top:18px;justify-content:space-between}}

/* SatuAplikasi brand system */
.brand-logo{display:block;width:196px;height:auto;max-height:54px;object-fit:contain;object-position:left center}
.navbar-brand{flex:0 0 auto}
.nav-link{display:inline-flex;align-items:center;gap:7px;position:relative;padding:10px 2px}
.nav-link i{font-size:11px;opacity:.72}
.nav-link.active{color:var(--teal)!important}
.nav-link.active:after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;border-radius:2px;background:linear-gradient(90deg,#2563eb,#7c3aed)}
.nav-cta i{font-size:11px}
.about-mark{overflow:hidden;background:transparent!important}
.about-mark img{width:58px;height:58px;display:block}
@media(max-width:760px){.brand-logo{width:158px;max-height:46px}.nav-link{padding:12px}.nav-link.active:after{left:12px;right:12px;bottom:5px}.nav-link i{width:18px;text-align:center}}
