/* ProstaVibe Indonesia | v1.0 | prostavibe.id | Nordic Minimalist */
@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --char:  #1B1E22;--char-lt:#2C3238;
  --olive: #6B7F5A;--olive-dk:#4E5F40;--olive-lt:#EDF2E8;--olive-pill:#DCE6D6;
  --bg:    #F5F3EF;--card:  #FFFFFF;--sand:   #DDD7CD;
  --text:  #22262A;--muted: #66707A;
  --brd:   #E2DCD2;--sh: 0 4px 24px rgba(27,30,34,0.06);--sh-lg: 0 20px 50px rgba(27,30,34,0.11);
}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg);color:var(--text);line-height:1.75;-webkit-font-smoothing:antialiased}

/* Header */
.nb{background:var(--char);color:rgba(255,255,255,0.6);padding:8px 40px;display:flex;justify-content:space-between;align-items:center;font-size:0.7rem;letter-spacing:0.04em}
.nb strong{color:#A3B899;font-weight:700}.nb a{color:#A3B899;text-decoration:none}

.hdr{background:var(--bg);border-bottom:1px solid var(--brd);position:sticky;top:0;z-index:100}
.hdr-in{max-width:1360px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{text-decoration:none;display:flex;align-items:center;gap:14px}
.logo-sq{width:36px;height:36px;background:var(--char);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Marcellus',serif;font-size:1.1rem;border-radius:4px}
.logo-title{font-family:'Marcellus',serif;font-size:1.45rem;color:var(--char);letter-spacing:0.04em;text-transform:uppercase}
.logo-title span{color:var(--olive)}
.logo-sub{font-size:0.56rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--muted);display:block;margin-top:2px}
.nav{display:flex;align-items:center;gap:6px}
.nl{color:var(--muted);text-decoration:none;font-size:0.86rem;font-weight:600;padding:8px 14px;border-radius:4px;transition:all 0.2s;letter-spacing:0.02em}
.nl:hover,.nl.on{color:var(--char);background:rgba(107,127,90,0.12)}
.btn-top{background:var(--olive);color:#fff;padding:9px 22px;border-radius:4px;font-size:0.82rem;font-weight:700;text-decoration:none;margin-left:14px;letter-spacing:0.06em;text-transform:uppercase;transition:all 0.2s}
.btn-top:hover{background:var(--olive-dk)}

/* Hero: Asymmetric Index with Roman Numerals */
.hero{padding:70px 0 60px;border-bottom:1px solid var(--brd);background:linear-gradient(180deg,#F9F8F5 0%,var(--bg) 100%)}
.hero-in{max-width:1360px;margin:auto;padding:0 40px;display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;font-size:0.65rem;font-weight:800;text-transform:uppercase;letter-spacing:0.22em;color:var(--olive);margin-bottom:18px}
.hero-kicker::before{content:'';width:24px;height:1px;background:var(--olive)}
.hero-h{font-family:'Marcellus',serif;font-size:clamp(2.6rem,4.5vw,4rem);color:var(--char);line-height:1.08;margin-bottom:20px;letter-spacing:-0.01em}
.hero-h em{color:var(--olive);font-style:normal}
.hero-sub{color:var(--muted);font-size:1.05rem;line-height:1.8;margin-bottom:34px;max-width:540px}
.hero-acts{display:flex;gap:14px;flex-wrap:wrap}
.btn-dark{background:var(--char);color:#fff;padding:14px 32px;border-radius:4px;font-size:0.88rem;font-weight:700;text-decoration:none;letter-spacing:0.06em;text-transform:uppercase;transition:all 0.2s}
.btn-dark:hover{background:var(--olive);transform:translateY(-2px)}
.btn-light{border:1.5px solid var(--char);color:var(--char);padding:14px 28px;border-radius:4px;font-size:0.88rem;font-weight:700;text-decoration:none;letter-spacing:0.04em;transition:all 0.2s}
.btn-light:hover{background:var(--char);color:#fff}

/* Hero Right: Roman Index Block */
.hero-index{background:var(--card);border:1px solid var(--brd);border-radius:6px;padding:32px;box-shadow:var(--sh)}
.hi-head{font-family:'Marcellus',serif;font-size:1rem;color:var(--char);text-transform:uppercase;letter-spacing:0.12em;padding-bottom:14px;border-bottom:1px solid var(--brd);margin-bottom:18px;display:flex;justify-content:space-between}
.hi-head span{color:var(--olive);font-size:0.75rem}
.hi-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.hi-item{display:flex;gap:16px;text-decoration:none;align-items:flex-start;padding:10px 12px;border-radius:4px;transition:all 0.2s}
.hi-item:hover{background:var(--olive-lt);transform:translateX(4px)}
.hi-roman{font-family:'Marcellus',serif;font-size:1.3rem;color:var(--olive);width:32px;flex-shrink:0;font-weight:600}
.hi-title{font-size:0.92rem;color:var(--char);font-weight:700;line-height:1.35}
.hi-desc{font-size:0.78rem;color:var(--muted);margin-top:3px}

/* In Numbers Grid: Hairline border block */
.stats-sec{border-bottom:1px solid var(--brd);background:#FFFFFF}
.stats-in{max-width:1360px;margin:auto;padding:0 40px;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-box{padding:36px 30px;border-right:1px solid var(--brd);display:flex;flex-direction:column}
.stat-box:last-child{border-right:none}
.stat-num{font-family:'Marcellus',serif;font-size:2.8rem;color:var(--char);line-height:1;margin-bottom:8px}
.stat-label{font-size:0.82rem;font-weight:700;color:var(--olive);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:4px}
.stat-sub{font-size:0.78rem;color:var(--muted);line-height:1.5}

/* Pillar Stack Section */
.w{max-width:1360px;margin:0 auto;padding:0 40px}
.sp{padding:76px 0}
.kk{font-size:0.65rem;font-weight:800;text-transform:uppercase;letter-spacing:0.2em;color:var(--olive);display:flex;align-items:center;gap:10px;margin-bottom:12px}
.kk::before{content:'';width:20px;height:1px;background:var(--olive)}
.sh{font-family:'Marcellus',serif;font-size:clamp(2rem,3vw,2.6rem);color:var(--char);letter-spacing:-0.01em;line-height:1.18;margin-bottom:38px}

.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pillar-card{background:var(--card);border:1px solid var(--brd);border-radius:6px;padding:32px 24px;text-decoration:none;display:flex;flex-direction:column;transition:all 0.3s cubic-bezier(.16,1,.3,1)}
.pillar-card:hover{transform:translateY(-6px);border-color:var(--olive);box-shadow:var(--sh-lg)}
.pillar-tag{font-size:0.62rem;font-weight:800;text-transform:uppercase;letter-spacing:0.16em;color:var(--olive);margin-bottom:12px}
.pillar-h{font-family:'Marcellus',serif;font-size:1.22rem;color:var(--char);line-height:1.3;margin-bottom:10px}
.pillar-p{font-size:0.86rem;color:var(--muted);line-height:1.65;flex:1}
.pillar-ft{margin-top:20px;padding-top:14px;border-top:1px solid var(--brd);font-size:0.8rem;font-weight:700;color:var(--olive);display:flex;align-items:center;justify-content:space-between}

/* 2-Card In-Depth Grid */
.depth-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:24px}
.dc{background:var(--card);border:1px solid var(--brd);border-radius:6px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:all 0.3s}
.dc:hover{box-shadow:var(--sh-lg);transform:translateY(-4px)}
.dc-iw{overflow:hidden}
.dc-img{width:100%;height:240px;object-fit:cover;display:block;transition:transform 0.4s}
.dc.main .dc-img{height:320px}
.dc:hover .dc-img{transform:scale(1.04)}
.dc-body{padding:28px;flex:1;display:flex;flex-direction:column}
.dc-cat{font-size:0.62rem;font-weight:800;text-transform:uppercase;letter-spacing:0.14em;color:var(--olive);margin-bottom:8px}
.dc-h{font-family:'Marcellus',serif;font-size:1.3rem;color:var(--char);line-height:1.28;margin-bottom:10px}
.dc-p{font-size:0.88rem;color:var(--muted);line-height:1.65;flex:1}
.dc-ft{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:14px;border-top:1px solid var(--brd)}
.dc-dt{font-size:0.75rem;color:var(--muted)}
.dc-rd{font-size:0.82rem;font-weight:700;color:var(--olive)}

/* Dark Focus Section */
.dark-focus{background:var(--char);color:#fff;padding:80px 0}
.df-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.df-img{width:100%;height:400px;object-fit:cover;border-radius:6px;box-shadow:0 24px 60px rgba(0,0,0,0.4)}
.df-kicker{font-size:0.64rem;font-weight:800;text-transform:uppercase;letter-spacing:0.2em;color:#A3B899;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.df-kicker::before{content:'';width:18px;height:1px;background:#A3B899}
.df-h{font-family:'Marcellus',serif;font-size:2.2rem;color:#fff;line-height:1.2;margin-bottom:16px}
.df-p{color:rgba(255,255,255,0.7);font-size:0.96rem;line-height:1.8;margin-bottom:24px}
.df-quote{border-left:2px solid #A3B899;padding-left:18px;color:#A3B899;font-family:'Marcellus',serif;font-size:1.1rem;line-height:1.6;font-style:italic}

/* Article Page Layout: Centered Narrow Column */
.art-centered{max-width:760px;margin:0 auto;padding:56px 40px}
.back-btn{display:inline-flex;align-items:center;gap:6px;color:var(--olive);font-size:0.82rem;font-weight:700;text-decoration:none;padding:7px 14px;border-radius:4px;border:1px solid var(--brd);background:var(--card);margin-bottom:28px;transition:all 0.2s}
.back-btn:hover{background:var(--olive-lt)}
.art-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.art-pill{background:var(--olive-lt);color:var(--olive-dk);font-size:0.62rem;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;padding:4px 12px;border-radius:3px}
.art-dt{font-size:0.8rem;color:var(--muted)}
.art-title{font-family:'Marcellus',serif;font-size:clamp(2.1rem,3.8vw,3.1rem);color:var(--char);line-height:1.12;margin-bottom:18px;letter-spacing:-0.01em}
.art-lead{font-size:1.1rem;color:var(--muted);line-height:1.82;border-left:3px solid var(--olive);padding-left:20px;margin-bottom:34px;font-style:italic}
.art-img{width:100%;height:420px;object-fit:cover;border-radius:6px;margin-bottom:38px;box-shadow:var(--sh-lg);display:block}
.ac p{font-size:1.02rem;line-height:1.9;margin-bottom:22px;color:#333A42}
.ac h2{font-family:'Marcellus',serif;font-size:1.65rem;color:var(--char);margin:42px 0 14px}
.ac h3{font-family:'Marcellus',serif;font-size:1.25rem;color:var(--olive-dk);margin:28px 0 10px}
.ac ul,.ac ol{padding-left:22px;margin-bottom:22px}
.ac li{margin-bottom:10px;line-height:1.75;color:#333A42}

.callout-box{background:var(--olive-lt);border-left:4px solid var(--olive);border-radius:4px;padding:22px 24px;margin:30px 0}
.cb-label{font-size:0.64rem;font-weight:800;text-transform:uppercase;letter-spacing:0.14em;color:var(--olive-dk);margin-bottom:8px}
.cb-p{font-size:0.94rem;color:var(--char);line-height:1.7;margin-bottom:0}

.disclaimer-box{background:#FFFBEA;border-left:4px solid #D97706;border-radius:4px;padding:20px 22px;margin:30px 0}
.db-label{font-size:0.64rem;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;color:#854D0E;margin-bottom:6px}
.db-p{font-size:0.9rem;color:#713F12;line-height:1.7;margin-bottom:0}

/* Related at bottom */
.related-sec{margin-top:54px;padding-top:32px;border-top:1px solid var(--brd)}
.rel-title{font-family:'Marcellus',serif;font-size:1.35rem;color:var(--char);margin-bottom:20px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rel-card{background:var(--card);border:1px solid var(--brd);border-radius:4px;padding:16px;text-decoration:none;display:block;transition:all 0.2s}
.rel-card:hover{border-color:var(--olive);background:var(--olive-lt)}
.rel-tag{font-size:0.6rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--olive);margin-bottom:6px}
.rel-h{font-family:'Marcellus',serif;font-size:0.96rem;color:var(--char);line-height:1.3}

/* Newsletter & Footer */
.nl-section{background:var(--card);border-top:1px solid var(--brd);border-bottom:1px solid var(--brd);padding:64px 40px}
.nl-in{max-width:520px;margin:auto;text-align:center}
.nl-h{font-family:'Marcellus',serif;font-size:2.1rem;color:var(--char);margin-bottom:8px}
.nl-sub{color:var(--muted);margin-bottom:26px;font-size:0.94rem}
.nl-form{display:flex;gap:10px}
.nl-input{flex:1;padding:13px 18px;border-radius:4px;border:1.5px solid var(--brd);background:#fff;font-size:0.9rem;outline:none;font-family:inherit;transition:border-color 0.2s}
.nl-input:focus{border-color:var(--olive)}
.nl-btn{background:var(--char);color:#fff;padding:13px 26px;border-radius:4px;border:none;font-size:0.86rem;font-weight:700;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:0.08em;transition:all 0.2s}
.nl-btn:hover{background:var(--olive)}

.ftr{background:var(--char);color:rgba(255,255,255,0.4);padding:60px 0 30px}
.ftr-in{max-width:1360px;margin:auto;padding:0 40px}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:44px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,0.06)}
.fl-brand{font-family:'Marcellus',serif;font-size:1.5rem;color:#fff;margin-bottom:14px;letter-spacing:0.04em}
.fl-brand span{color:#A3B899}
.fl-desc{font-size:0.87rem;line-height:1.75;max-width:320px;margin-bottom:16px;color:rgba(255,255,255,0.5)}
.fl-disc{background:rgba(107,127,90,0.12);border:1px solid rgba(107,127,90,0.25);border-radius:4px;padding:12px 14px;font-size:0.7rem;color:#A3B899;line-height:1.65}
.fh{color:#A3B899;font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.14em;margin-bottom:16px}
.fl2{list-style:none}
.fl2 li{margin-bottom:10px}
.fl2 a{color:rgba(255,255,255,0.6);text-decoration:none;font-size:0.875rem;transition:color 0.2s}
.fl2 a:hover{color:#fff}
.f-bot{display:flex;justify-content:space-between;align-items:center;font-size:0.77rem;flex-wrap:wrap;gap:12px}
.f-leg{display:flex;gap:20px}
.f-leg a{color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.2s}
.f-leg a:hover{color:#A3B899}

.bc{background:var(--olive-lt);border-bottom:1px solid var(--brd);padding:10px 0}
.bc-in{max-width:1360px;margin:auto;padding:0 40px;font-size:0.77rem;color:var(--muted);display:flex;align-items:center;gap:6px}
.bc-in a{color:var(--olive-dk);text-decoration:none}
.ph{background:var(--char);padding:52px 40px;border-bottom:3px solid var(--olive)}
.ph-in{max-width:1360px;margin:auto}
.ph-kk{font-size:0.62rem;font-weight:800;text-transform:uppercase;letter-spacing:0.2em;color:#A3B899;margin-bottom:12px}
.ph-h{font-family:'Marcellus',serif;font-size:clamp(2rem,3.2vw,3rem);color:#fff;max-width:780px;line-height:1.18}

.ct{max-width:1080px;margin:0 auto;padding:72px 40px;display:grid;grid-template-columns:1.4fr 1fr;gap:56px}
.cf{background:var(--card);border:1px solid var(--brd);border-radius:6px;padding:40px;box-shadow:var(--sh)}
.cf-h{font-family:'Marcellus',serif;font-size:1.7rem;color:var(--char);margin-bottom:22px}
.fgg{margin-bottom:16px}
.fl-l{font-size:0.83rem;font-weight:700;color:var(--char);margin-bottom:6px;display:block}
.fld{width:100%;padding:12px 16px;border-radius:4px;border:1.5px solid var(--brd);font-size:0.9rem;outline:none;background:var(--bg);font-family:inherit;color:var(--char);transition:border-color 0.2s}
.fld:focus{border-color:var(--olive)}
textarea.fld{resize:vertical;min-height:110px}
.btn-sub{background:var(--char);color:#fff;padding:13px 32px;border-radius:4px;border:none;font-size:0.9rem;font-weight:700;cursor:pointer;width:100%;font-family:inherit;text-transform:uppercase;letter-spacing:0.06em;transition:all 0.2s}
.btn-sub:hover{background:var(--olive)}
.ci-s{padding-top:4px}
.ci-h{font-family:'Marcellus',serif;font-size:1.7rem;color:var(--char);margin-bottom:10px}
.ci-sub{color:var(--muted);margin-bottom:28px;font-size:0.94rem;line-height:1.75}
.ci-r{display:flex;gap:14px;margin-bottom:20px}
.ci-ico{width:42px;height:42px;background:var(--olive-lt);border:1px solid var(--brd);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.ci-lb{font-size:0.67rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);margin-bottom:3px}
.ci-vl{font-size:0.92rem;color:var(--char);font-weight:600;line-height:1.5}
.pol{max-width:760px;margin:0 auto;padding:64px 40px}
.pol-h{font-family:'Marcellus',serif;font-size:2.3rem;color:var(--char);margin-bottom:6px}
.pol-d{color:var(--muted);font-size:0.85rem;margin-bottom:42px}
.pol h2{font-family:'Marcellus',serif;font-size:1.3rem;color:var(--char);margin:34px 0 12px}
.pol p,.pol li{font-size:0.95rem;line-height:1.85;color:#4B5563;margin-bottom:12px}
.pol ul{padding-left:20px}

@media(max-width:1100px){
  .hero-in{grid-template-columns:1fr}.pillar-grid{grid-template-columns:1fr 1fr}
  .depth-grid{grid-template-columns:1fr}.stats-in{grid-template-columns:1fr 1fr}
  .df-grid{grid-template-columns:1fr}.fg{grid-template-columns:1fr 1fr}.ct{grid-template-columns:1fr}
}
@media(max-width:768px){
  .hdr-in{padding:0 16px}.nav{display:none}.w{padding:0 16px}.sp{padding:52px 0}
  .pillar-grid{grid-template-columns:1fr}.stats-in{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr}.nl-form{flex-direction:column}.art-centered{padding:40px 16px}
  .nb{padding:8px 16px;flex-direction:column;gap:4px;text-align:center}.rel-grid{grid-template-columns:1fr}
}
