/* ===========================================================
   tanahrata.id — gaya halaman publik
   Palet dasar (dapat diubah lewat Panel Admin > Beranda & Hero):
   --primer (Biru Kora-Kora) · --cerah (Biru Cerah) · --merah (Merah Bendera)
   =========================================================== */

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:#FFFFFF; color:#0A2A45;
  font-family:'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Archivo', ui-sans-serif, system-ui, sans-serif; font-weight:800; line-height:1.15; margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1160px; margin:0 auto; padding:0 24px;}

/* ---------- nav ---------- */
.site-nav{position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid #E4EEF5;}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; gap:20px;}
.brand{display:flex; align-items:center; gap:9px; font-family:'Archivo'; font-weight:800; font-size:17px; color:var(--primer);}
.brand .flag{width:10px; height:10px; border-radius:50%; background:var(--merah); display:inline-block;}
.nav-links{display:flex; gap:30px; font-size:14px; font-weight:600; color:#3A5871;}
.nav-links a:hover{color:var(--primer);}
.cta-mini{background:var(--primer); color:#fff; font-size:13px; font-weight:700; padding:10px 18px; border-radius:8px; white-space:nowrap;}
@media (max-width:720px){ .nav-links{display:none;} }

/* ---------- hero ---------- */
.hero{position:relative; min-height:560px; display:flex; align-items:flex-end; overflow:hidden;}
.hero .bgimg{position:absolute; inset:0; background-size:cover; background-position:center 38%;}
.hero .scrim{position:absolute; inset:0; background:linear-gradient(100deg, rgba(8,42,74,.93) 0%, rgba(8,42,74,.74) 40%, rgba(11,76,134,.30) 74%, rgba(11,76,134,.10) 100%);}
.hero-inner{position:relative; z-index:2; padding:96px 24px 0; color:#fff; max-width:680px;}
.hero .tag{font-family:'IBM Plex Mono'; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#9FCBF3; display:flex; align-items:center; gap:9px;}
.hero .tag::before{content:""; width:18px; height:2px; background:var(--merah); display:inline-block;}
.hero h1{font-size:clamp(28px,4.4vw,44px); margin-top:16px; text-wrap:balance;}
.hero p{font-size:16px; color:#DCEBFA; margin-top:14px; max-width:520px; line-height:1.6;}

.actionbar{
  position:relative; z-index:3; margin:32px 0 0; background:#fff; border-radius:16px;
  box-shadow:0 18px 40px -16px rgba(8,42,74,.4); padding:20px 24px;
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:20px; max-width:560px;
}
.actionbar .lbl{font-family:'IBM Plex Mono'; font-size:11px; font-weight:500; letter-spacing:.06em; color:#7C93A6; text-transform:uppercase; margin-bottom:4px;}
.actionbar select{font-family:'Plus Jakarta Sans'; font-weight:700; font-size:16px; color:#0A2A45; border:0; background:transparent; padding:0; width:100%;}
.actionbar button{background:var(--cerah); color:#fff; border:0; font-weight:700; font-size:14px; padding:14px 22px; border-radius:10px; white-space:nowrap; cursor:pointer;}
@media (max-width:560px){ .actionbar{grid-template-columns:1fr;} }

.stats{position:relative; z-index:2; margin-top:26px; display:grid; grid-template-columns:repeat(3,auto); gap:40px; border-top:1px solid rgba(255,255,255,.2); padding-top:20px; padding-bottom:36px;}
.stats .n{font-family:'Archivo'; font-weight:900; font-size:28px; color:#fff;}
.stats .l{font-size:12px; color:#B9D6F2; margin-top:3px;}
@media (max-width:560px){ .stats{gap:24px;} }

/* ---------- layanan ---------- */
.layanan-section{padding:64px 0;}
.tabs{display:flex; gap:10px; border-bottom:1px solid #E4EEF5; margin-bottom:32px; overflow-x:auto;}
.tab{font-family:'Plus Jakarta Sans'; font-size:14px; font-weight:700; padding:0 4px 14px; color:#7C93A6; border:0; background:none; border-bottom:2px solid transparent; cursor:pointer; white-space:nowrap;}
.tab.active{color:var(--primer); border-color:var(--cerah);}
.layanan-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.layanan-card{border:1px solid #E4EEF5; border-radius:14px; padding:22px; position:relative; transition:box-shadow .15s, transform .15s;}
.layanan-card:hover{box-shadow:0 10px 26px -14px rgba(8,42,74,.28); transform:translateY(-2px);}
.layanan-card .status{position:absolute; top:18px; right:18px; font-family:'IBM Plex Mono'; font-size:10px; font-weight:500; letter-spacing:.04em; text-transform:uppercase; padding:4px 9px; border-radius:20px;}
.layanan-card .status.on{background:#E7F6EC; color:#1D8A4A;}
.layanan-card .status.soon{background:#FDF1E4; color:#B9701C;}
.layanan-card .icon{width:42px; height:42px; border-radius:11px; background:#EFF5FB; display:flex; align-items:center; justify-content:center; font-size:19px;}
.layanan-card h3{font-size:16px; margin-top:16px; color:#0A2A45;}
.layanan-card p{font-size:13.5px; color:#5C7385; margin-top:7px; line-height:1.55;}
@media (max-width:860px){ .layanan-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .layanan-grid{grid-template-columns:1fr;} }

/* ---------- promo ---------- */
.promo-section{padding-bottom:64px;}
.promo-banner{background:var(--primer); border-radius:16px; padding:30px 32px; color:#fff;}
.promo-banner .t{font-family:'Archivo'; font-weight:800; font-size:19px;}
.promo-banner .s{font-size:13.5px; color:#BFDCF7; margin-top:6px;}

/* ---------- berita ---------- */
.berita-section{padding-bottom:72px;}
.berita-section h2{font-size:22px; margin-bottom:22px;}
.berita-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.berita-card{border:1px solid #E4EEF5; border-radius:14px; overflow:hidden;}
.berita-card:hover{box-shadow:0 10px 26px -14px rgba(8,42,74,.24);}
.berita-card .ph{height:130px; background:#EFF5FB linear-gradient(135deg,#EFF5FB,#DCEBFA); background-size:cover; background-position:center;}
.berita-card .body{padding:16px;}
.berita-card .d{font-family:'IBM Plex Mono'; font-size:10.5px; color:#7C93A6;}
.berita-card h4{font-size:14.5px; margin-top:7px; font-family:'Plus Jakarta Sans'; font-weight:700; color:#0A2A45; line-height:1.4;}
@media (max-width:860px){ .berita-grid{grid-template-columns:1fr;} }

/* ---------- footer ---------- */
.site-footer{background:#0A2A45; color:#B9D6F2;}
.footer-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:44px 24px 30px; font-size:13.5px; line-height:1.7;}
.footer-grid strong{color:#fff; display:block; font-family:'Archivo'; font-size:14.5px; margin-bottom:8px;}
.footer-grid a{display:inline-block; margin-top:2px;}
.footer-grid a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding:18px 24px; font-size:12px; color:#7893A9;}
@media (max-width:720px){ .footer-grid{grid-template-columns:1fr;} }
