
.home-hero{
  position:relative;
  min-height:790px;
  height:100svh;
  overflow:hidden;
  color:#fff;
  background:#0D1119;
}
.home-hero-bg{
  position:absolute;
  inset:-4%;
  background-position:center;
  background-size:cover;
  transform:scale(1.04);
}
.home-hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,8,14,.84) 0%,rgba(5,8,14,.62) 42%,rgba(5,8,14,.20) 76%,rgba(5,8,14,.34) 100%),
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.14));
}
.hero-inner{
  position:relative;
  z-index:2;
  min-height:100%;
  padding:142px 0 112px;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:58px;
  align-items:end;
}
.hero-copy{max-width:680px;padding-bottom:18px}
.hero-copy .eyebrow{margin-bottom:16px;color:#CDD5FF}
.hero-title{
  margin:0;
  max-width:760px;
  font-family:var(--font-body);
  font-size:clamp(4rem,6.25vw,6.9rem);
  font-weight:700;
  letter-spacing:-.058em;
  line-height:.94;
}
.hero-title em{
  font-family:var(--font-display);
  font-weight:400;
  font-style:italic;
  letter-spacing:-.04em;
}
.hero-deck{
  max-width:560px;
  margin:24px 0 0;
  color:rgba(255,255,255,.78);
  font-size:.96rem;
  line-height:1.8;
}
.hero-actions{
  margin-top:28px;
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}
.hero-stat-inline{display:flex;align-items:center;gap:10px}
.hero-stat-inline strong{
  font-family:var(--font-display);
  font-size:2.55rem;
  font-weight:400;
  line-height:1;
}
.hero-stat-inline span{
  color:rgba(255,255,255,.68);
  font-size:.6rem;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Hero editorial cards */
.hero-cards{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:12px;
  align-items:end;
  padding-bottom:22px;
}
.hero-card{
  position:relative;
  min-height:190px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(15,19,28,.44);
  backdrop-filter:blur(12px);
}
.hero-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-card::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 32%,rgba(0,0,0,.68));
}
.hero-card-copy{position:absolute;z-index:2;left:16px;right:16px;bottom:14px}
.hero-card-copy small{
  color:rgba(255,255,255,.7);
  font-size:.59rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-card-copy h3{margin:5px 0 0;font-size:.92rem;line-height:1.4}
.hero-note-card{padding:17px;display:flex;flex-direction:column;justify-content:space-between}
.hero-note-card::after{display:none}
.hero-note-card .note-icon{
  width:39px;height:39px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.10);
}
.hero-note-card .note-icon img{
  position:static;
  width:16px;height:16px;
  filter:brightness(0) invert(1);
}
.hero-note-card h3{
  margin:16px 0 7px;
  font-family:var(--font-display);
  font-size:1.1rem;
  font-weight:400;
  line-height:1.3;
}
.hero-note-card p{
  margin:0;
  color:rgba(255,255,255,.64);
  font-size:.69rem;
  line-height:1.65;
}

.partner-strip{
  position:absolute;z-index:3;left:0;right:0;bottom:0;
  height:76px;
  display:flex;
  align-items:center;
  background:rgba(5,8,14,.62);
  border-top:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(12px);
}
.partner-strip-inner{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:32px;
  align-items:center;
}
.partner-strip-label{
  color:rgba(255,255,255,.5);
  font-size:.58rem;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.partner-names{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  overflow:hidden;
}
.partner-name{
  color:rgba(255,255,255,.78);
  font-size:.74rem;
  font-weight:700;
  white-space:nowrap;
}

/* Intro */
.home-statement{
  background:#fff;
  text-align:center;
}
.home-statement .eyebrow{margin-bottom:22px}
.home-statement h2{
  max-width:960px;
  margin:0 auto;
  font-size:clamp(2.3rem,4vw,4.35rem);
  line-height:1.12;
  letter-spacing:-.045em;
}
.home-statement h2 span{color:#A7AAB0}
.home-statement .body-copy{margin:26px auto 0}

/* Activity mosaic */
.mosaic{padding-top:16px;background:#fff}
.section-head-row{
  margin-bottom:34px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
}
.section-head-row h2{font-size:var(--heading-sm)}
.mosaic-grid{
  display:grid;
  grid-template-columns:1fr .72fr .72fr;
  grid-template-rows:250px 300px;
  gap:14px;
}
.mosaic-card{
  position:relative;
  overflow:hidden;
  border-radius:14px;
  background:#DDD;
}
.mosaic-card:nth-child(1){grid-row:1/3}
.mosaic-card:nth-child(2){grid-column:2/4}
.mosaic-card img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .65s var(--ease);
}
.mosaic-card:hover img{transform:scale(1.025)}
.mosaic-card::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.68));
}
.mosaic-copy{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;color:#fff}
.mosaic-copy .meta{color:rgba(255,255,255,.66)}
.mosaic-copy h3{
  margin:6px 0 0;
  font-family:var(--font-display);
  font-size:clamp(1.6rem,2.4vw,2.7rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
}

/* Numbers */
.numbers{background:#fff;border-top:1px solid #EFEDE8}
.numbers-head{
  margin-bottom:42px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:72px;
  align-items:end;
}
.numbers-head h2{
  margin:0;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.08;
  letter-spacing:-.04em;
}
.numbers-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.number{
  min-height:150px;
  padding:30px 22px;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.number:first-child{padding-left:0}
.number:last-child{border-right:0;padding-right:0}
.number strong{
  font-size:clamp(2.65rem,4.7vw,4.4rem);
  line-height:1;
  letter-spacing:-.06em;
}
.number span{
  color:var(--muted);
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

/* Feature story */
.feature-story{background:var(--paper)}
.feature-head{
  margin-bottom:30px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
}
.feature-title{font-size:var(--heading-md);max-width:860px}
.feature-media{
  position:relative;
  height:min(68vw,760px);
  overflow:hidden;
  border-radius:16px;
  background:#D9D6CE;
}
.feature-media img{width:100%;height:112%;object-fit:cover}
.feature-media::after{
  content:"BANDUNG · 06:48";
  position:absolute;left:16px;bottom:14px;
  padding:8px 10px;
  border-radius:var(--pill);
  background:rgba(255,255,255,.88);
  color:var(--ink);
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.12em;
}
.feature-caption{
  margin-top:26px;
  display:grid;
  grid-template-columns:.38fr .62fr;
  gap:44px;
}
.timeline-mini{border-top:1px solid var(--line)}
.timeline-row{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.timeline-row b{color:var(--blue);font-size:.67rem;letter-spacing:.08em}
.timeline-row span{color:var(--muted);font-size:.78rem;line-height:1.65}

/* Backstage */
.around{background:var(--blue);color:#fff}
.around .eyebrow{color:#C7D0FF}
.around-head{
  margin-bottom:42px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:70px;
  align-items:end;
}
.around-head .body-copy{color:rgba(255,255,255,.7)}
.capability-list{border-top:1px solid rgba(255,255,255,.2)}
.capability{
  display:grid;
  grid-template-columns:56px .95fr 1.05fr;
  gap:24px;
  padding:22px 0;
  border-bottom:1px solid rgba(255,255,255,.2);
}
.capability .index{color:rgba(255,255,255,.46);font-size:.66rem}
.capability h3{
  margin:0;
  font-family:var(--font-display);
  font-size:1.9rem;
  font-weight:400;
  line-height:1.1;
}
.capability p{
  margin:0;
  color:rgba(255,255,255,.66);
  font-size:.78rem;
  line-height:1.7;
}

/* Journal */
.journal-preview{background:#fff}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.journal-thumb{
  height:360px;
  overflow:hidden;
  border-radius:14px;
  background:#DDD;
}
.journal-thumb img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s var(--ease);
}
.journal-card:hover .journal-thumb img{transform:scale(1.025)}
.journal-info{padding-top:13px}
.journal-info h3{
  margin:6px 0 7px;
  font-family:var(--font-display);
  font-size:1.85rem;
  font-weight:400;
  line-height:1.05;
}
.journal-info p{
  margin:0;
  color:var(--muted);
  font-size:.77rem;
  line-height:1.65;
}

/* Upcoming */
.upcoming{background:var(--paper)}
.upcoming-layout{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:74px;
}
.upcoming-list{border-top:1px solid var(--line)}
.upcoming-item{
  display:grid;
  grid-template-columns:110px 1fr auto;
  gap:18px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.upcoming-item .date{
  color:var(--blue);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.1em;
}
.upcoming-item h3{
  margin:0;
  font-family:var(--font-display);
  font-size:1.8rem;
  font-weight:400;
}
.upcoming-item small{display:block;margin-top:5px;color:var(--muted)}
.status{
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:var(--pill);
  color:var(--muted);
  font-size:.59rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* About */
.home-about{background:#fff}
.home-about-grid{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:72px;
  align-items:start;
}
.home-about h2{font-size:var(--heading-md)}
.bandung-line{
  margin-top:38px;
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.72rem;
}

