.elementor-6890 .elementor-element.elementor-element-2dbbb69{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-6890 .elementor-element.elementor-element-c3c9c68{width:var( --container-widget-width, 100vw );max-width:100vw;margin:77px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100vw;--container-widget-flex-grow:0;}.elementor-6890 .elementor-element.elementor-element-b6d74bb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-6890 .elementor-element.elementor-element-9d06bdc{margin:-100px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;text-align:center;}.elementor-6890 .elementor-element.elementor-element-9d06bdc .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:43px;font-weight:600;color:#032854;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-6890 .elementor-element.elementor-element-3e16c65{color:var( --e-global-color-primary );}.elementor-6890 .elementor-element.elementor-element-2e18332{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6890 .elementor-element.elementor-element-e8dc837{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-6890 .elementor-element.elementor-element-4cb4412 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-weight:600;color:#032854;}.elementor-6890 .elementor-element.elementor-element-0c245d3{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;line-height:31px;color:var( --e-global-color-primary );}.elementor-6890 .elementor-element.elementor-element-ee6a70e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-6890 .elementor-element.elementor-element-68c2249 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-weight:600;color:#032854;}.elementor-6890 .elementor-element.elementor-element-3638b83{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;line-height:31px;color:var( --e-global-color-primary );}.elementor-6890 .elementor-element.elementor-element-52da39a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6890 .elementor-element.elementor-element-71fe5ae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-6890 .elementor-element.elementor-element-6742aad .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-weight:600;color:#032854;}.elementor-6890 .elementor-element.elementor-element-5fe59ed{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;line-height:31px;color:var( --e-global-color-primary );}.elementor-6890 .elementor-element.elementor-element-0990d1d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-6890 .elementor-element.elementor-element-f5ef754 img{width:55%;}.elementor-6890 .elementor-element.elementor-element-7c7180e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:80px;--margin-left:0px;--margin-right:0px;}.elementor-6890 .elementor-element.elementor-element-b9cefd0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-6890 .elementor-element.elementor-element-6f4ee44 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-weight:600;color:#032854;}.elementor-6890 .elementor-element.elementor-element-8c48e82{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;line-height:31px;color:var( --e-global-color-primary );}.elementor-6890 .elementor-element.elementor-element-40415db{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-6890 .elementor-element.elementor-element-9584549{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-71px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-6890 .elementor-element.elementor-element-917d059{width:var( --container-widget-width, 72% );max-width:72%;--container-widget-width:72%;--container-widget-flex-grow:0;}.elementor-6890 .elementor-element.elementor-element-917d059.elementor-element{--align-self:center;}.elementor-6890 .elementor-element.elementor-element-2b35e8b{width:var( --container-widget-width, 69% );max-width:69%;--container-widget-width:69%;--container-widget-flex-grow:0;}.elementor-6890 .elementor-element.elementor-element-2b35e8b.elementor-element{--align-self:center;}.elementor-6890 .elementor-element.elementor-element-41832c5{--spacer-size:50px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-6890 .elementor-element.elementor-element-2dbbb69{--width:100vw;}.elementor-6890 .elementor-element.elementor-element-e8dc837{--width:50%;}.elementor-6890 .elementor-element.elementor-element-ee6a70e{--width:50%;}.elementor-6890 .elementor-element.elementor-element-71fe5ae{--width:50%;}.elementor-6890 .elementor-element.elementor-element-0990d1d{--width:50%;}.elementor-6890 .elementor-element.elementor-element-b9cefd0{--width:50%;}.elementor-6890 .elementor-element.elementor-element-40415db{--width:50%;}}/* Start custom CSS for html, class: .elementor-element-c3c9c68 */@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap');

:root{
  --brand:#032854;     /* Stella Mundi Blue */
  --ink:#0f172a;
  --muted:#475569;
  --border:#e8edf3;
  --soft:#f6f8fb;
  --max:1200px;
  --sticky-top:80px;   /* sesuaikan tinggi header-mu */
}

.sm-welcome{
  font-family: 'Libre Baskerville', serif;
  color:var(--ink);
  width:min(var(--max), 92%);
  margin:40px auto 80px;
}

/* GRID dua kolom */
.sm-grid{
  position:relative;
  display:grid;
  grid-template-columns: 56% 44%;
  gap: clamp(18px, 3vw, 28px);
  align-items:start;
}



/* Kiri */
.sm-title{
    
  font-size: clamp(25px, 2.3vw, 86px);
  line-height:1.05;
  letter-spacing:-.01em;
  font-weight:400;
  color:var(--brand);
  margin: 0 0 32px;
}

.sm-content p{
  font-size: clamp(15.2px, 1.2vw, 9px);
  font-family: 'Work Sans', serif;
  line-height:1.9;
  margin: 0 0 16px;
}

/* FOTO BAPAK (Fixed Size) */
.inline-photo{
  float:right;
  width: 290px;                 /* ukuran fix, bisa dinaikkan ke 380 / 400px */
  height: 300px;                /* biar bentuknya konsisten panjang */
  margin: 8px 0 16px 24px;
  margin-left: 20px
  border:1px solid var(--border);
  box-shadow: 0 8px 28px rgba(3,40,84,.08);
  border-radius: 6px;
  overflow:hidden;
}

.inline-photo img{
  width:100%;
  height:100%;
  object-fit:cover;             /* otomatis crop biar rapi */
  display:block;
}


/* Kanan */
.hero-img{
  margin:0 0 10px 0;
  height: clamp(420px, 64vh, 720px);
  border:1px solid var(--border);
  overflow:hidden;
}
.hero-img img{
  width:100%; height:100%; object-fit:cover; display:block;
}

/* Sidebar */
.side{ margin-top: 10px; }
.side.sticky{
  position: sticky;
  top: var(--sticky-top);
}
.side > h3{
  font-size: clamp(20px, 2.2vw, 26px);
  color: var(--brand);
  font-weight: 600;
  margin: 0 0 8px;
}
.side-list{
  list-style:none; padding:0; margin:0;
  background: var(--soft);
  border:1px solid #eef1f5;
}
.side-list li{ border-top:1px solid #eef1f5; }
.side-list li:first-child{ border-top:0; }
.side-list a{
  display:block; padding:18px 20px;
  color: var(--ink); text-decoration:none;
  font-weight:500; transition:.18s ease;
}
.side-list a:hover{ color:var(--brand); background:#eef3f8; }
.side-list li.active{ position:relative; background: var(--soft); }
.side-list li.active::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--brand);
}
.side-list li.active a{
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Responsif */
@media (max-width: 1020px){
  .sm-grid{ grid-template-columns: 1fr; }
  .sm-divider{ display:none; }
  .inline-photo{
    float:none; width:100%;
    margin: 10px 0 18px;
  }
  .hero-img{ height: clamp(320px, 42vh, 520px); }
  .side.sticky{ position: static; }
}

.container-wide {
  max-width: 3400px; 
  margin: auto;
  padding-left: -30px;
  padding-right: 0px;
}

/* layout utama (kiri–kanan) */
.about-hero{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 380px; /* kanan 380px */
  gap: clamp(32px, 4vw, 56px);
  padding: 80px 160px; /* lebar kiri-kanan seperti permintaan */
}

/* kolom kanan sticky */
.about-col--right{
  position: relative; /* konteks normal */
}

/* kartu explore yang lengket */
.explore-card{
  position: sticky;
  top: 96px;                 /* jarak dari top saat nempel, sesuaikan tinggi header */
  max-height: calc(100vh - 120px); /* aman di layar kecil */
  overflow: auto;            /* kalau item banyak, bisa scroll */
  background: #fff;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(2,8,23,.06);
  padding: 18px 16px;
}

/* judul & list styling */
.explore-card h3{
  margin: 0 0 8px;
  font-weight: 600;
  color: #032854; /* Stella Blue */
  font-size: clamp(18px, 1.8vw, 22px);
}

.explore-list{
  list-style: none;
  margin: 0;
  padding: 0;
  background: #f6f8fb;
  border: 1px solid #eef1f5;
  border-radius: 8px;
  overflow: hidden;
}

.explore-list li{ border-top: 1px solid #eef1f5; }
.explore-list li:first-child{ border-top: 0; }

.explore-list a{
  display: block;
  padding: 16px 18px;
  color: #0f172a;
  text-decoration: none;
  font-weight: 500;
  transition: background .18s ease, color .18s ease, padding-left .18s ease;
}
.explore-list a:hover{
  background: #eef3f8;
  color: #032854;
  padding-left: 22px;
}

/* item aktif (opsional) */
.explore-list li.active a{
  color: #032854;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.explore-list li.active::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:6px; background:#032854;
  border-radius:0 3px 3px 0;
}

/* RESPONSIVE */
@media (max-width: 1024px){
  .about-hero{
    grid-template-columns: 1fr;
    padding: 60px 80px;
  }
  .explore-card{
    position: static;  /* non-sticky di tablet/mobile */
    max-height: none;
  }
}

@media (max-width: 768px){
  .about-hero{ padding: 40px 24px; }
}

/* breadcrumbs */
.sm-breadcrumbs{ font-size:14px; color:#6b7280; margin-bottom:28px; }
.sm-breadcrumbs a{ color:#6b7280; text-decoration:none; }
.sm-breadcrumbs a:hover{ text-decoration:underline; }
.sm-breadcrumbs span{ margin:0 6px; }

.sm-breadcrumbs{
  font-size:14px; color:#6b7280; margin-bottom:28px;
  display:flex; align-items:center; gap:6px; flex-wrap:wrap;
}
.sm-breadcrumbs a{ color:#6b7280; text-decoration:none; transition:color .2s ease; }
.sm-breadcrumbs a:hover{ color:var(--brand); text-decoration:underline; }
.sm-breadcrumbs .current{ color:var(--brand); font-weight:500; }

.sm-apply {
  padding-top: 80px; /* kamu bisa atur 60px, 80px, atau sesuai tinggi header */
}

/* 1) Lebarkan jarak antar kolom layout utama */
.sm-grid{
  gap: clamp(28px, 5vw, 64px) !important; /* dulu 18–28px, sekarang lebih lega */
}

/* 2) Tambah padding kanan untuk kolom teks kiri */
.sm-content{
  padding-right: clamp(12px, 2vw, 28px);
}

/* 3) FOTO di dalam teks: perbaiki semicolon + besarkan margin kiri */
.inline-photo{
  float: right;
  width: 300px;                 /* boleh kamu geser ke 320/340 kalau mau */
  height: 320px;
  margin: 8px 0 16px 28px;      /* jarak kiri dari teks */
  /* sebelumnya ada: margin-left: 20px tanpa ;  */
  border: 1px solid var(--border);
  box-shadow: 0 8px 28px rgba(3,40,84,.08);
  border-radius: 6px;
  overflow: hidden;
}
.inline-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 4) (Opsional) Font paragraf: urutan clamp harus min, prefer, max */
.sm-content p{
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.9;
  margin: 0 0 16px;
  font-family: 'Work Sans', sans-serif; /* kecilkan serif ke sans-serif */
}

/* 5) (Opsional) Lebarkan padding halaman supaya konten tidak nempel tepi */
.about-hero{
  gap: clamp(32px, 5vw, 72px);         /* tambah gap layout about */
  padding-left: clamp(24px, 5vw, 120px);
  padding-right: clamp(24px, 5vw, 120px);
}

/* 6) Perbaiki .container-wide (padding negatif tidak valid) */
.container-wide {
  max-width: 3400px;
  margin: 0 auto;
  padding-left: 0;    /* jangan negatif */
  padding-right: 0;
}

/* 7) Mobile tweaks */
@media (max-width: 1020px){
  .inline-photo{
    float: none;
    width: 100%;
    height: auto;
    margin: 10px 0 18px; /* margin kiri dihapus agar center di mobile */
  }
  .sm-content{ padding-right: 0; }
}

:root{
  --sticky-top: 96px; /* Sesuaikan tinggi header */
}

:root{
  --sticky-top: 96px; /* sesuaikan dengan tinggi header-mu */
}

/* Pastikan layout grid start dari atas */
.sm-grid{ align-items: start; }

/* Kolom kanan jangan terpotong dan ikut tinggi konten */
.col-right{
  align-self: start;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: visible;          /* penting: jangan hidden/auto */
}

/* Pastikan semua ancestor tidak mematikan sticky */
.sm-welcome,
.container-wide,
.sm-grid,
.col-right,
.about-col--right{
  overflow: visible;          /* sticky butuh ini */
  transform: none !important; /* kalau builder kasih transform, sticky mati */
}

/* Jadikan kartu explore sticky */
.about-col--right{
  position: sticky;
  top: var(--sticky-top);     /* offset dari header */
  z-index: 3;
}

/* Atau kalau kamu mau yang sticky itu kartunya langsung */
.about-col--right .explore-card{
  max-height: calc(100vh - var(--sticky-top) - 24px); /* biar kalau list panjang bisa scroll di dalam */
  overflow: auto;
  /* opsional: supaya kelihatan di atas hero-img saat nempel */
  background: #fff;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(2,8,23,.06);
}

/* Responsive: matikan sticky di mobile (opsional) */
@media (max-width: 1024px){
  .about-col--right{
    position: static;
    top: auto;
  }
}

/* ===== Teacher Quote ===== */
.sm-quote{
  margin: 28px 0 56px;
}

.sm-quote-intro{
  display: grid;
  grid-template-columns: 1fr 220px;          /* teks | foto */
  gap: clamp(18px, 3vw, 28px);
  align-items: start;
}

.intro-copy{
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-size: clamp(24px, 2.8vw, 36px);
  line-height: 1.32;
  color: var(--ink, #0f172a);
  margin: 0;
}

.teacher-photo{
  width: 220px;
  height: 260px;
  margin: 0;
  border: 1px solid var(--border, #e8edf3);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(2,8,23,.08);
}
.teacher-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;       /* supaya foto selalu rapi mengisi frame */
  display: block;
}

.quote-divider{
  margin: clamp(18px, 3vw, 28px) 0;
  border: 0;
  border-top: 1px solid var(--border, #e8edf3);
}

/* Kartu kutipan */
.sm-quote-card{
  position: relative;
  margin: 0;
  padding: 8px 4px 0 56px;  /* ruang untuk icon quote kiri */
}

.sm-quote-card .quote-mark{
  position: absolute;
  left: 0; top: -4px;
  font-family: "Libre Baskerville", serif;
  font-size: clamp(46px, 5vw, 64px);
  line-height: 1;
  color: rgba(3,40,84,.22);            /* Stella blue, lembut */
}

.sm-quote-card blockquote{
  margin: 0 0 14px 0;
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  font-size: clamp(18px, 1vw, 22px);
  line-height: 1.8;
  color: #4b5563; /* muted */
}

.sm-quote-card figcaption{
  font-family: "Work Sans", system-ui, sans-serif;
  font-size: 15.5px;
  color: var(--muted, #475569);
}
.sm-quote-card figcaption strong{
  color: var(--ink, #0f172a);
  margin-right: 6px;
}

/* Responsif: tumpuk foto ke bawah */
@media (max-width: 880px){
  .sm-quote-intro{
    grid-template-columns: 1fr;
  }
  .teacher-photo{
    width: 180px; height: 220px;
    justify-self: start;   /* biar foto rata kiri */
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-917d059 */@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap');

:root{
  /* Warna pita judul (ganti sesuai kebutuhan) */
  --band: #032854;               /* Stella Mundi Blue */
  /* Kalau mau seperti contoh merah: #b90f3f */
  --gap: clamp(16px, 3vw, 28px);
}

.sm-hero-cards{
  font-family: 'Work Sans', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.sm-hero-cards__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
}

/* Kartu */
.sm-hero-card{
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  transition: transform .18s ease, box-shadow .18s ease;
}
.sm-hero-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(2,8,23,.12);
}

/* Media */
.sm-hero-card__media{
  margin: 0;
  aspect-ratio: 4 / 3;          /* tinggi proporsional seperti contoh */
  overflow: hidden;
}
.sm-hero-card__media img{
  width: 100%; height: 100%; object-fit: cover; display:block;
  transform: scale(1);
  transition: transform .45s ease, filter .2s ease;
}
.sm-hero-card:hover .sm-hero-card__media img{
  transform: scale(1.05);       /* zoom halus saat hover */
}

/* Pita judul di bawah gambar */
.sm-hero-card__band{
  background: var(--band);
  color: #fff;
  padding: clamp(14px, 2vw, 22px);
}
.sm-hero-card__title{
  margin: 0;
  font-weight: 600;
  font-size: clamp(18px, 2.2vw, 28px);
  letter-spacing: -.01em;
}

/* Responsif */
@media (max-width: 1100px){
  .sm-hero-cards__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px){
  .sm-hero-cards__grid{ grid-template-columns: 1fr; }
  .sm-hero-card__media{ aspect-ratio: 16 / 10; } /* sedikit lebih lebar di mobile */
}

/* Tambahkan jarak antar kartu */
.sm-hero-cards__grid {
  gap: clamp(24px, 3vw, 40px); /* sekarang ada ruang antar card */
  padding: 0 clamp(10px, 2vw, 30px); /* beri napas dari kiri-kanan container */
}

/* Opsional: bikin pita tidak terlalu menempel pas ke ujung */
.sm-hero-card__band {
  padding: clamp(14px, 2vw, 22px) clamp(18px, 2.5vw, 28px);
}

/* Opsional: tambahkan border-radius agar lebih soft */
.sm-hero-card {
  border-radius: 10px;
}

/* Pastikan gambar ikut rounding */
.sm-hero-card__media img {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

/* Card jadi kolom fleksibel setinggi 100% */
.sm-hero-card{
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 0;           /* sudut tajam (sesuai request) */
  overflow: hidden;
}

/* Media fleksibel mengisi ruang atas card */
.sm-hero-card__media{
  flex: 1 1 auto;             /* ambil sisa ruang */
  min-height: 260px;          /* jaga tinggi saat gambar belum load */
  margin: 0;
  overflow: hidden;
}
.sm-hero-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Pita selalu nempel bawah */
.sm-hero-card__band{
  margin-top: auto;           /* dorong ke bawah */
  background: #032854;        /* ganti kalau perlu */
  color: #fff;
  padding: clamp(16px, 2vw, 26px) clamp(20px, 2.5vw, 32px);
  border-radius: 0;
}

/* Judul */
.sm-hero-card__title{
  margin: 0;
  font-weight: 600;
  font-size: clamp(18px, 1vw, 28px);
  font-family: 'Libre Baskerville', serif;

}

.sm-hero-cards__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 3vw, 40px);
  align-items: stretch;       /* penting */
  grid-auto-rows: 1fr;        /* samakan tinggi baris */
}

/* 5. Opsional: jika gambar masih terlalu tinggi/kurang tinggi, tinggal adjust aspect ratio *//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2b35e8b *//* Compact Version */
.sm-cards__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 1.8vw, 20px); /* lebih kecil */
}

.sm-card{
  display: grid;
  grid-template-columns: 40% 1fr; /* gambar lebih kecil */
  align-items: center;
  gap: clamp(10px, 1.5vw, 14px);
  padding: clamp(10px, 1.5vw, 16px);
  border-radius: 10px;
  border: 1px solid var(--border);
  background: #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}

/* Gambar dibuat kotak */
.sm-card__media{
  aspect-ratio: 1 / 1; /* Kotak */
  border-radius: 6px;
  overflow: hidden;
}

.sm-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover; /* agar gambar tetap proporsional */
  display: block;
  transform: scale(1.02);
  transition: transform .35s ease;
}

.sm-card:hover .sm-card__media img{
  transform: scale(1.06);
}


.sm-card__title{
  font-size: clamp(16px, 1.4vw, 20px); /* sebelumnya lebih besar */
  font-weight: 600;
  margin-bottom: 4px; /* lebih rapat */
}

.sm-card__text{
  font-size: clamp(14px, 1.2vw, 15px);
  line-height: 1.5;
  max-width: 38ch; /* buat teks rapi & nyaman dibaca */
}

/* Responsive breakpoints */
@media (max-width: 1100px){
  .sm-cards__grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px){
  .sm-cards__grid{ grid-template-columns: 1fr; }
  .sm-card{ grid-template-columns: 1fr; text-align: center; }
  .sm-card__media{ aspect-ratio: 16/9; }
}

/* === HOVER EFFECTS: card panel color + image zoom === */
:root{
  --brand: #032854;         /* Stella Mundi Blue */
  --hover-bg: var(--brand); /* warna panel saat hover */
}

/* Jika card jadi terlalu tinggi, kamu bisa ubah grid col sedikit */
.sm-card{
  grid-template-columns: 38% 1fr; /* lebih kecil lagi bagian foto */
  padding: clamp(8px, 1.2vw, 14px); /* lebih compact */
}

.sm-card__media{
  border-radius: 6px;
  overflow: hidden;
}
.sm-card__media img{
  width: 100%; height: 100%; object-fit: cover; display: block;
  transform: scale(1);                          /* base */
  transition: transform .45s ease;              /* zoom halus */
}

/* Body card sedikit lebih kecil paddingnya */
.sm-card__body{
  padding-right: clamp(4px, 0.5vw, 8px);
}

/* Title & text transition warna */
.sm-card__title, .sm-card__text{
  transition: color .22s ease;
}

/* Terapkan hanya untuk device yang support hover */
@media (hover:hover){
  .sm-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(2,8,23,.08);
    border-color: rgba(2,8,23,.12);
  }
  .sm-card:hover .sm-card__media img{
    transform: scale(1.06);                     /* zoom-in foto */
  }
  /* Panel teks berubah ke warna brand, teks jadi putih */
  .sm-card:hover .sm-card__body{
    background: var(--hover-bg);
  }
  .sm-card:hover .sm-card__title,
  .sm-card:hover .sm-card__text{
    color: #fff;
  }
}

/* Fokus keyboard = efek sama seperti hover (aksesibilitas) */
.sm-card:focus-visible{
  outline: 3px solid color-mix(in lab, var(--brand) 70%, white);
  outline-offset: 3px;
}
.sm-card:focus-visible .sm-card__media img{ transform: scale(1.06); }
.sm-card:focus-visible .sm-card__body{ background: var(--hover-bg); }
.sm-card:focus-visible .sm-card__title,
.sm-card:focus-visible .sm-card__text{ color:#fff; }

/* (Opsional) jika ingin HANYA body yang berubah, bukan seluruh kartu */
.sm-card:hover{ background: #fff; } /* keep card background putih */

/* Tambahkan padding agar teks tidak mepet */
.sm-card__body {
  padding: clamp(14px, 2vw, 22px); /* bisa adjust 16–20 px kalau mau lebih / kurang */
  padding-left: clamp(16px, 2.2vw, 28px); /* fokus di kiri agar lebih lega */
}

/* Jika mau judul sedikit lebih turun dari top */
.sm-card__title {
  margin-top: 4px;
}

/* Warna default teks menggunakan Stella Mundi Blue */
.sm-card__title,
.sm-card__text {
  color: var(--brand);
}/* End custom CSS */