:root{
  --paper:#F8F9FF; --paper-alt:#E8EAF6; --card:#FFFFFF;
  --ink:#1B1B21; --ink-soft:#46464F; --steel:#8B8578;
  --accent:#00008B; --accent-ink:#FFFFFF; --line:rgba(21,19,15,0.10);
  --font:'Roboto',sans-serif; --radius:20px; --radius-sm:12px; --maxw:1080px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:var(--font);margin:0;font-weight:700;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.section{padding:90px 0;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:0.04em;color:var(--accent);margin-bottom:14px;font-weight:700;text-transform:uppercase;}
.section-head{max-width:600px;margin-bottom:40px;}
.section-head h2{font-size:clamp(26px,3.6vw,36px);line-height:1.15;}
.section-head p{color:var(--ink-soft);font-size:16px;margin-top:12px;line-height:1.6;}

header.nav{position:sticky;top:0;z-index:40;padding-top:16px;}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;
  background:rgba(255,255,255,0.85);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,0.05);}
.brand{display:flex;align-items:center;gap:10px;min-width:0;}
.brand-badge{width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;overflow:hidden;flex:0 0 auto;}
.brand-badge.has-logo{border-radius:0;background:none;width:auto;max-width:140px;}
.brand-badge img{width:100%;height:100%;object-fit:contain;}
.brand-name{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
nav.links{display:flex;gap:4px;}
nav.links a{font-size:13.5px;font-weight:600;color:var(--ink-soft);padding:9px 14px;border-radius:999px;}
nav.links a:hover{background:var(--paper-alt);}
.btn{display:inline-flex;align-items:center;gap:7px;padding:11px 20px;font-size:13.5px;font-weight:700;border-radius:999px;border:1px solid transparent;cursor:pointer;}
.btn-primary{background:var(--accent);color:var(--accent-ink);}
.btn-primary:hover{filter:brightness(0.92);}
.btn-outline{background:transparent;border-color:var(--line);color:var(--accent);}
.btn-ghost{background:var(--paper-alt);color:var(--accent);}
.btn-sm{padding:8px 15px;font-size:12px;}
.hamburger{display:none;flex-direction:column;gap:4px;background:none;border:none;padding:8px;}
.hamburger span{width:18px;height:2px;background:var(--ink);display:block;}

.hero{padding:70px 0 30px;}
.hero .eyebrow{color:var(--accent);}
.hero h1{font-size:clamp(38px,7vw,80px);line-height:1;white-space:pre-line;}
.hero-sub{margin-top:18px;font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:560px;}
.quicklinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.stat-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.stat-chip{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 16px;display:flex;gap:6px;align-items:baseline;font-size:13px;}
.stat-chip .num{font-weight:700;font-size:15px;}
.stat-chip .lab{color:var(--steel);}
.hero-visual{margin-top:46px;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/7;background:linear-gradient(135deg,var(--paper-alt),#C9CEEA);}
.hero-visual img{width:100%;height:100%;object-fit:cover;}
.hero-tagline{margin-top:12px;font-size:14.5px;font-weight:600;color:var(--accent);}

.manifesto{padding:16px 0 30px;}
.manifesto p{font-weight:600;font-size:16px;line-height:1.6;max-width:760px;margin:0 0 6px;}
.manifesto p.dim{color:var(--accent);opacity:0.65;}
.manifesto .dot{color:var(--accent);}

.short-desc{padding:90px 0;}
.short-desc h2{font-size:clamp(24px,3.4vw,34px);margin-bottom:18px;}

.lead{font-size:16.5px;line-height:1.75;color:var(--ink-soft);margin:0 0 14px;}
.lead:last-child{margin-bottom:0;}

.about-grid,.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:52px;align-items:center;}
.about-img{aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;background:var(--paper-alt);}
.about-img img{width:100%;height:100%;object-fit:cover;}
.about-closing{margin-top:18px;font-style:italic;font-weight:600;color:var(--accent);font-size:15px;}
.checklist{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.checklist li{display:flex;gap:9px;font-size:14px;color:var(--ink-soft);}
.checklist .tick{flex:0 0 auto;width:19px;height:19px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;}

.svc-grid,.why-grid,.pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.svc-card,.why-card,.pillar-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.svc-emoji,.why-emoji{font-size:26px;display:block;margin-bottom:14px;}
.pillar-num{font-family:var(--font);font-size:28px;font-weight:800;color:var(--accent);opacity:0.4;display:block;margin-bottom:10px;}
.svc-card h3,.why-card h3,.pillar-card h3{font-size:16.5px;margin-bottom:7px;}
.svc-card p,.why-card p,.pillar-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin:0;}

.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;}
.chip{padding:9px 17px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;font-weight:600;background:var(--card);color:var(--ink-soft);cursor:pointer;}
.chip.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.proj-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .2s ease;}
.proj-card:hover{transform:translateY(-5px);}
.proj-head{display:flex;justify-content:space-between;padding:16px 18px 0;font-weight:700;font-size:14.5px;}
.proj-media{position:relative;aspect-ratio:16/10;margin:14px 18px 0;border-radius:var(--radius-sm);overflow:hidden;background:var(--paper-alt);}
.proj-media img{width:100%;height:100%;object-fit:cover;}
.proj-count{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,0.65);color:#fff;font-size:11px;padding:3px 8px;border-radius:999px;}
.proj-body{padding:14px 18px 20px;}
.proj-cat{font-size:12px;color:var(--steel);}
.proj-desc{font-size:13px;color:var(--ink-soft);margin-top:5px;}

/* Paginasi daftar proyek: dropdown jumlah per halaman + tombol halaman/prev/next.
   Semuanya ditata JS di sisi klien (lihat index.php), tanpa reload halaman — sama
   seperti filter kategori di atas. */
.project-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:28px;}
.project-pager-size{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--steel);}
.project-pager-size select{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:13px;font-family:var(--font);cursor:pointer;}
.project-pager-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.pager-btn{min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink-soft);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.pager-btn:hover:not(:disabled):not(.pager-ellipsis){background:var(--paper-alt);}
.pager-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.pager-btn:disabled{opacity:0.4;cursor:default;}
.pager-ellipsis{border:none;background:none;cursor:default;}
.pager-ellipsis:hover{background:none;}

.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.blog-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.blog-media{aspect-ratio:16/9;background:var(--paper-alt);}
.blog-media img{width:100%;height:100%;object-fit:cover;}
.blog-body{padding:18px 20px 22px;}
.blog-meta{font-size:11.5px;color:var(--accent);font-weight:700;margin-bottom:6px;}
.blog-body h3{font-size:16px;margin-bottom:7px;}
.blog-body p{font-size:13px;color:var(--ink-soft);margin:0 0 14px;}

.cinfo-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
.cinfo-item:first-child{padding-top:0;}
.cinfo-icon{width:36px;height:36px;border-radius:50%;background:var(--paper-alt);display:flex;align-items:center;justify-content:center;font-size:16px;}
.cinfo-item h4{font-size:12px;color:var(--steel);margin:0 0 3px;text-transform:uppercase;}
.cinfo-item p{font-size:14.5px;margin:0;}
.map-card{border-radius:var(--radius);overflow:hidden;min-height:320px;border:1px solid var(--line);}
.map-card iframe{width:100%;height:100%;min-height:320px;border:0;}

footer{padding:50px 0 30px;border-top:1px solid var(--line);margin-top:20px;}
.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-bottom:26px;}
.footer-links{display:flex;gap:8px;flex-wrap:wrap;}
.footer-bottom{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--steel);flex-wrap:wrap;gap:8px;}

.lightbox{position:fixed;inset:0;height:100vh;height:100dvh;background:rgba(10,9,7,0.94);z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox-inner{max-width:900px;width:100%;height:100%;display:flex;flex-direction:column;}
.lightbox-close{align-self:flex-start;margin-bottom:10px;background:#fff;color:#000;border:none;padding:8px 16px;border-radius:999px;font-weight:700;cursor:pointer;}
.lightbox-slide{position:relative;flex:1;min-height:0;border-radius:16px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center;}
.lightbox-slide img{max-width:100%;max-height:100%;object-fit:contain;}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.9);border:none;font-size:18px;cursor:pointer;}
.lightbox-nav.prev{left:10px;} .lightbox-nav.next{right:10px;}
.lightbox-title{color:#fff;margin-top:14px;font-size:16px;font-weight:700;}

@media (max-width:900px){
  nav.links{position:fixed;top:80px;left:20px;right:20px;background:#fff;flex-direction:column;border-radius:16px;padding:8px;box-shadow:0 14px 30px rgba(0,0,0,0.12);transform:translateY(-140%);transition:transform .2s ease;}
  nav.links.open{transform:translateY(0);}
  .hamburger{display:flex;}
  .nav-cta{display:none;}
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .checklist{grid-template-columns:1fr;}
  .svc-grid,.why-grid,.pillar-grid,.proj-grid,.blog-grid{grid-template-columns:1fr;}
}
