/* Arch — lengkung organik, serif hangat, nuansa alami */
.fam-arch { --card: color-mix(in oklab, var(--bg) 60%, #fff); }
.fam-arch .display, .fam-arch .h1, .fam-arch .h2 { font-weight: 400; }
.fam-arch .display { line-height: 1.06; }
.fam-arch .display em, .fam-arch .h2 em { font-style: normal; color: var(--primary-text); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .14em; text-decoration-color: var(--accent); }
.fam-arch .eyebrow { gap: .6rem; text-transform: none; letter-spacing: .02em; font-size: .95rem; font-weight: 600; color: var(--primary-text); }
.fam-arch .eyebrow::before { content: ""; width: 22px; height: 11px; border: 1.5px solid currentColor; border-bottom: 0; border-radius: 22px 22px 0 0; }
.fam-arch .hdr { background: color-mix(in oklab, var(--bg) 90%, transparent); }
.fam-arch .brand__mark { border-radius: 999px 999px 6px 6px; }
.fam-arch .brand__name { font-family: var(--font-head), serif; font-weight: 400; font-size: 1.3rem; }
.fam-arch .nav__a { font-weight: 600; }
.fam-arch .btn { border-radius: 999px; }

.fam-arch .sec-head:not(.sec-head--split) { justify-items: center; text-align: center; margin-inline: auto; }
.fam-arch .sec-head:not(.sec-head--split) .lead { margin-inline: auto; }
.fam-arch .faq-wrap .sec-head { justify-items: start; text-align: left; margin-inline: 0; }

.fam-arch .cat { aspect-ratio: 3 / 4; border-radius: 999px 999px var(--r) var(--r); }
.fam-arch .about__img, .fam-arch .feats-split__img { border-radius: 999px 999px var(--r-lg) var(--r-lg); }
.fam-arch .gitem { border-radius: 999px 999px var(--r) var(--r); }
.fam-arch .gmason .gitem:nth-child(3n) { border-radius: var(--r); }

.fam-arch .sec--features, .fam-arch .sec--testimonials { background: var(--surface); border-radius: clamp(32px, 6vw, 80px) clamp(32px, 6vw, 80px) 0 0; }
.fam-arch .sec--testimonials + .sec { border-top: 0; }
.fam-arch .feat, .fam-arch .tcard, .fam-arch .step, .fam-arch .cinfo { border: 0; background: var(--card); border-radius: var(--r-lg); }
.fam-arch .feat__ic { border-radius: 999px 999px 8px 8px; }
.fam-arch .flist__i .feat__ic { border-radius: 999px 999px 8px 8px; }
.fam-arch .tquote__q { font-weight: 400; }
.fam-arch .stats { border: 0; background: transparent; gap: 12px; }
.fam-arch .stat { border-radius: 999px 999px var(--r) var(--r); background: var(--surface); text-align: center; padding-top: 32px; }
.fam-arch .cta { padding-top: clamp(56px, 9vw, 112px); border-radius: 999px 999px var(--r-lg) var(--r-lg); text-align: center; }
.fam-arch .cta__in { margin-inline: auto; justify-items: center; }
.fam-arch .cta .btn-row { justify-content: center; }
.fam-arch .cta--split { border-radius: var(--r-lg); text-align: left; padding-top: 0; }
.fam-arch .cta--split .cta__in { justify-items: start; margin-inline: 0; }
.fam-arch .faq__q { font-family: var(--font-head), serif; font-weight: 400; font-size: 1.12rem; }
.fam-arch .chip { border-radius: 999px; }
/* Lengkung foto memotong pojok atas: label pindah ke bawah, tombol tambah tetap di baris harga */
