/* ============ MERIDIAN — COMPONENTS v4 (bersih: duplikat marquee__row & t-link__label dihapus) ============ */

/* ---- Tombol ---- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;font-family:var(--font-mono);font-weight:500;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;border-radius:999px;padding:16px 40px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease);will-change:transform}
.btn-primary{background:var(--grad-brass);color:var(--obs);box-shadow:0 12px 40px -14px rgba(201,169,97,.4)}
.btn-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.35) 50%,transparent 58%);transform:translateX(-130%);transition:transform .8s var(--ease)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 52px -14px rgba(201,169,97,.5)}
.btn-primary:hover::after{transform:translateX(130%)}
.btn-sm{padding:12px 24px;font-size:.74rem}
.btn-lg{padding:20px 48px;font-size:.88rem}
.btn-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.76rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--bone);position:relative;padding-bottom:4px}
.btn-link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--grad-brass);transform:scaleX(.35);transform-origin:left;transition:transform .5s var(--ease)}
.btn-link:hover::after{transform:scaleX(1)}
.btn-link svg{width:16px;height:16px;transition:transform .4s var(--ease);color:var(--brass-2)}
.btn-link:hover svg{transform:translateX(6px)}

/* ---- Chip ---- */
.chip{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-3);padding:8px 16px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(232,228,220,.02);transition:transform .35s var(--ease),color .3s,border-color .3s,background .3s}
.chip:hover{color:var(--bone);transform:translateY(-2px);border-color:var(--brass);background:rgba(201,169,97,.08)}

/* ---- Loader ---- */
.sy-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(6,7,10,.98);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:opacity .55s var(--ease),visibility .55s}
.sy-loader.is-done{opacity:0;visibility:hidden}
.sy-loader__in{display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;padding:2rem}
.sy-loader__in::after{content:'';position:absolute;top:0;bottom:0;left:-45%;width:40%;background:linear-gradient(100deg,transparent,rgba(232,228,220,.08) 50%,transparent);transform:skewX(-12deg);animation:sy-sweep 2.6s var(--ease) infinite}
.sy-loader__logo{position:relative;width:128px;height:128px;display:grid;place-items:center}
.sy-loader__img{width:96px;height:96px;object-fit:contain;animation:sy-logo-beat 2s ease-in-out infinite}
.sy-loader__logo::before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 42%,var(--brass) 52%,var(--brass-2) 62%,var(--brass-3) 70%,transparent 78%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));animation:sy-spin 1.7s linear infinite}
.sy-loader__logo::after{content:'';position:absolute;inset:-16px;border-radius:50%;border:1px solid rgba(201,169,97,.4);animation:sy-pulse-ring 2s ease-out infinite}
.sy-loader__bar{width:192px;height:2px;margin-top:32px;background:rgba(232,228,220,.08);overflow:hidden;border-radius:2px}
.sy-loader__bar span{display:block;height:100%;width:42%;background:var(--grad-brass);border-radius:2px;animation:sy-bar 1.2s var(--ease) infinite}
.sy-loader__text{margin-top:24px;font-family:var(--font-display);font-style:italic;font-size:1.02rem;font-weight:300;letter-spacing:.12em;text-indent:.12em;color:var(--brass-2);animation:sy-fade-pulse 1.8s ease-in-out infinite;font-variation-settings:'SOFT' 80,'WONK' 1}

/* ---- Skip loader saat perpindahan bahasa ---- */
.sy-no-loader .sy-loader{display:none}

/* ---- Back to top ---- */
.sy-btt{position:fixed;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:900;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:rgba(15,16,20,.85);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line-strong);color:var(--bone);opacity:0;visibility:hidden;transform:translateY(20px) scale(.9);transition:opacity .45s var(--ease),transform .45s var(--ease),visibility .45s,border-color .3s}
.sy-btt.is-visible{opacity:1;visibility:visible;transform:none}
.sy-btt:hover{border-color:var(--brass)}
.sy-btt svg:first-child{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.sy-btt__track{fill:none;stroke:rgba(232,228,220,.1);stroke-width:1.5}
.sy-btt__prog{fill:none;stroke:url(#sy-btt-grad);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:163.36;stroke-dashoffset:var(--off,163.36);transition:stroke-dashoffset .15s linear}
.sy-btt__arrow{width:18px;height:18px;transition:transform .35s var(--ease)}
.sy-btt:hover .sy-btt__arrow{transform:translateY(-3px)}

/* ---- Kontrol testimoni di layar kecil ---- */
@media (max-width:720px){
  .t-stage__ctrl{gap:.75rem}
}