/* Nusantara — wastra: motif kawung, gerbang gunungan, bingkai ganda, ornamen belah ketupat */
.fam-nusantara {
  --card: color-mix(in oklab, var(--bg) 70%, #fff);
  --kawung: radial-gradient(circle at 0 0, var(--accent) 1.6px, transparent 2.2px), radial-gradient(ellipse 44% 26% at 50% 0, var(--primary) 62%, transparent 66%), radial-gradient(ellipse 44% 26% at 50% 100%, var(--primary) 62%, transparent 66%), radial-gradient(ellipse 26% 44% at 0 50%, var(--primary) 62%, transparent 66%), radial-gradient(ellipse 26% 44% at 100% 50%, var(--primary) 62%, transparent 66%);
}
.fam-nusantara .display { line-height: 1.1; }
.fam-nusantara .display em, .fam-nusantara .h1 em, .fam-nusantara .h2 em { font-style: normal; color: var(--primary-text); }
.fam-nusantara .eyebrow { gap: .7rem; color: var(--accent-text); letter-spacing: .18em; }
.fam-nusantara .eyebrow::before, .fam-nusantara .eyebrow::after { content: "◆"; font-size: .72rem; }
.fam-nusantara .sec-head--center .eyebrow { margin-inline: auto; }
.fam-nusantara .h2 { position: relative; }
.fam-nusantara .sec-head .h2::after { content: ""; display: block; width: 72px; height: 10px; margin-top: .7rem; background: var(--kawung); background-size: 10px 10px; opacity: .85; }
.fam-nusantara .sec-head--center .h2::after { margin-inline: auto; }

.fam-nusantara .btn { border-radius: var(--r-xs); letter-spacing: .02em; }
.fam-nusantara .btn--primary { box-shadow: 0 0 0 2px var(--bg), 0 0 0 3.5px var(--primary); }
.fam-nusantara .btn--ghost { border-style: double; border-width: 3px; border-color: var(--line-strong); }
.fam-nusantara .badge { background: var(--primary); color: var(--on-primary); border-radius: var(--r-xs); }

/* kartu produk: gapura dengan pita kawung */
.pcard--batik { padding: 8px 8px 12px; border: 1px solid color-mix(in oklab, var(--accent) 60%, transparent); outline: 1px solid color-mix(in oklab, var(--accent) 60%, transparent); outline-offset: 3px; border-radius: 0; background: var(--card); text-align: center; margin: 4px; }
.pcard--batik .pcard__media { aspect-ratio: 4 / 5; border-radius: 0; clip-path: polygon(50% 0, 70% 6%, 86% 18%, 96% 36%, 100% 52%, 100% 100%, 0 100%, 0 52%, 4% 36%, 14% 18%, 30% 6%); }
.pcard--batik .pcard__media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 12px; background: var(--kawung); background-size: 12px 12px; background-color: var(--bg); }
.pcard--batik .pcard__badges { top: auto; bottom: 20px; justify-content: center; }
.pcard--batik .pcard__body { justify-items: center; padding: .8rem .3rem 0; }
.pcard--batik .pcard__cat { color: var(--accent-text); letter-spacing: .14em; }
.pcard--batik .pcard__name { width: 100%; -webkit-line-clamp: 3; font-weight: 400; font-size: clamp(1rem, .95rem + .3vw, 1.2rem); overflow-wrap: anywhere; }
.pcard--batik .pcard__foot { justify-content: center; flex-wrap: wrap; width: 100%; }
.pcard--batik .pcard__foot .price { flex: 0 1 auto; justify-content: center; }
.pcard--batik .pcard__add, .pcard--batik .pcard__go { border-radius: var(--r-xs); }
.pcard--batik .pcard__go { background: var(--tint); color: var(--primary-text); }
@media (max-width: 559px) { .pcard--batik .pcard__add { position: relative; top: auto; right: auto; box-shadow: none; } }
@media (min-width: 1080px) { .card-batik .pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; } }

/* blok isi berbingkai ganda */
.fam-nusantara .feat, .fam-nusantara .tcard, .fam-nusantara .step, .fam-nusantara .cinfo, .fam-nusantara .pd__box { border: 1px solid var(--line-strong); outline: 1px solid var(--line); outline-offset: -6px; border-radius: 0; background: var(--card); }
.fam-nusantara .feat { text-align: center; justify-items: center; }
.fam-nusantara .feat__ic, .fam-nusantara .step__n { width: 56px; height: 56px; border-radius: 0; background: var(--primary); color: var(--on-primary); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.fam-nusantara .stats { border-radius: 0; border-color: var(--line-strong); }
.fam-nusantara .stat { text-align: center; }
.fam-nusantara .faq { border-top: 3px double var(--line-strong); }
.fam-nusantara .faq__q { font-family: var(--font-head), serif; font-weight: 400; font-size: 1.12rem; }
.fam-nusantara .about__img, .fam-nusantara .feats-split__img { border-radius: 999px 999px 0 0; }
.fam-nusantara .cat { border-radius: 999px 999px 0 0; }
.fam-nusantara .gitem { border-radius: 0; }
.fam-nusantara .marquee { border-block: 0; background: var(--primary); color: var(--on-primary); position: relative; padding-block: 22px; }
.fam-nusantara .marquee::before, .fam-nusantara .marquee::after { content: ""; position: absolute; left: 0; right: 0; height: 10px; background: var(--kawung); background-size: 10px 10px; background-color: var(--bg); }
.fam-nusantara .marquee::before { top: 0; }
.fam-nusantara .marquee::after { bottom: 0; }
.fam-nusantara .marquee__item { font-family: var(--font-head), serif; font-weight: 400; }
.fam-nusantara .marquee__item::after { content: "❖"; color: var(--accent); }
.fam-nusantara .cta { border-radius: 0; background: var(--primary); }
.fam-nusantara .cta::after { background: linear-gradient(100deg, color-mix(in oklab, var(--primary) 92%, #000), color-mix(in oklab, var(--primary) 55%, transparent)); }
.fam-nusantara .cta::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 14px; z-index: 1; background: var(--kawung); background-size: 14px 14px; background-color: var(--bg); }
.fam-nusantara .tquote__q::before, .fam-nusantara .tquote__q::after { color: var(--accent-text); }
.fam-nusantara .tquote__q::before { content: "❝ "; }
.fam-nusantara .tquote__q::after { content: " ❞"; }
.fam-nusantara .pd__main { border-radius: 999px 999px 0 0; }
.fam-nusantara .input, .fam-nusantara .select, .fam-nusantara .textarea, .fam-nusantara .catbtn { border-radius: var(--r-xs); }

/* kepala halaman: tengah dengan ornamen dan pita */
.phead--ornament { position: relative; margin-bottom: clamp(28px, 4vw, 56px); padding-bottom: calc(clamp(24px, 4vw, 48px) + 14px); text-align: center; }
.phead--ornament::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 14px; background: var(--kawung); background-size: 20px 20px; }
.phead--ornament .phead__in { justify-items: center; }
.phead--ornament .crumbs { justify-content: center; }
.phead--ornament .h1 { max-width: 20ch; }
.phead--ornament .h1::before { content: "❖"; display: block; margin-bottom: .4rem; font-size: 1.2rem; color: var(--accent-text); }
.phead--ornament .lead { margin-inline: auto; }

.fam-nusantara.page-gallery .gmason .gitem:nth-child(4n+1) { border-radius: 999px 999px 0 0; }
.fam-nusantara .cinfo__row .feat__ic { width: 40px; height: 40px; }
.pcard--batik .pcard__name, .pcard--batik .pcard__cat { width: 100%; overflow-wrap: anywhere; }
