/* Halaman situs selain beranda (layout website.layouts.app): melengkapi landing.css dengan hero halaman,
   detail program, galeri, fitur CAT, peta, ajakan, serta penyesuaian formulir lama (kalkulator & pendaftaran). */

/* ---------- hero halaman ---------- */
.ph{position:relative;z-index:2;overflow:hidden;padding:clamp(170px,20vh,210px) 0 clamp(64px,9vh,100px);background:radial-gradient(80% 90% at 85% 0%,#173DB5 0%,#0E2380 32%,#071452 62%,var(--ink) 100%)}
.ph::after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(0deg,var(--ink),rgba(4,11,48,0));pointer-events:none}
.ph .wrap{position:relative;z-index:1}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--muted)}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:#fff}
.crumbs span{opacity:.5}
.crumbs b{color:var(--gold)}
.ph-h{margin-top:18px;max-width:16em;font-size:clamp(2.4rem,1.3rem + 3.6vw,4.6rem);line-height:1.02;letter-spacing:-.045em}
.ph-lead{margin-top:18px;max-width:58ch;color:var(--muted);font-size:clamp(1rem,.94rem + .3vw,1.16rem)}
.ph-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ph-sub{margin-top:30px;font-family:var(--body);font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.ph-chips{margin-top:18px}
.ph-chips span{font-size:.8rem;padding:6px 12px}

/* angka per jalur di hero halaman alumni */
.jalur-pills{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.jalur-pills li{display:flex;align-items:baseline;gap:8px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.jalur-pills b{font-family:var(--display);font-size:1.3rem;line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.jalur-pills span{font-size:.86rem;font-weight:700}

/* ---------- detail program ---------- */
.ph-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px 64px;align-items:center}
.ph-hat{max-width:440px}
.ph-hat-count{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);display:flex;align-items:baseline;gap:10px;padding:10px 18px;border-radius:999px;background:rgba(4,11,48,.82);box-shadow:inset 0 0 0 1px rgba(247,181,41,.45);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ph-hat-count b{font-family:var(--display);font-size:1.6rem;line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.ph-hat-count span{font-size:.8rem;font-weight:700;color:var(--muted)}
.fokus{position:relative;z-index:2;padding:110px 0;background:var(--ink)}
.fokus-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px 64px;align-items:center}
.fokus-foto{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 40px 80px -40px rgba(0,0,0,.9)}
.fokus-foto img{width:100%;height:100%;object-fit:cover}
.langkah{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:14px}
.langkah li{display:flex;gap:18px;align-items:flex-start;padding:18px 20px;border-radius:20px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.langkah b{flex:none;font-family:var(--display);font-size:2.2rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(247,181,41,.75)}
.langkah h3{font-size:1.15rem;letter-spacing:-.02em}
.langkah p{margin-top:4px;color:var(--muted);font-size:.94rem}
.alumni-jalur{position:relative;z-index:2;padding:90px 0 100px;background:linear-gradient(180deg,var(--ink),#06103F 60%,var(--ink));overflow:hidden}
.aj-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.aj-run{margin-top:34px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.aj-track{display:inline-flex;gap:14px;padding-right:14px;animation:aj 60s linear infinite}
.aj-run:hover .aj-track{animation-play-state:paused}
@keyframes aj{to{transform:translateX(-50%)}}
.aj-item{flex:none;width:150px}
.aj-item .tile{width:150px;aspect-ratio:4/5;border-radius:16px;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 20px 40px -24px rgba(0,0,0,.9)}
.aj-item b{display:block;margin-top:10px;font-size:.84rem;line-height:1.3}
.aj-item span{font-size:.74rem;font-weight:700;color:var(--gold)}

/* ---------- fitur CAT ---------- */
.fitur{position:relative;z-index:2;padding:110px 0 40px;background:var(--ink)}
.fitur-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}
.fitur-card{padding:24px;border-radius:24px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:transform .4s var(--ease),box-shadow .4s}
.fitur-card:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px rgba(247,181,41,.45),0 30px 60px -30px rgba(0,0,0,.9)}
.fitur-ic{width:120px;height:90px}
.fitur-card h3{margin-top:16px;font-size:1.25rem;letter-spacing:-.02em}
.fitur-card p{margin-top:6px;color:var(--muted);font-size:.94rem}

/* ---------- galeri ---------- */
.galeri{position:relative;z-index:2;padding:30px 0 90px;background:var(--ink)}
.gl-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.gl-chips{display:flex;flex-wrap:wrap;gap:8px}
.gl-search{flex:0 1 320px}
.gl-note{margin-top:16px;font-size:.86rem;color:var(--muted)}
.gl-note b{color:#fff}
.gl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;margin-top:18px}
.gl-item{margin:0}
.gl-item[hidden]{display:none}
.gl-btn{display:block;width:100%;padding:0;border:0;border-radius:16px;overflow:hidden;background:#0B1A5C;cursor:pointer;aspect-ratio:4/5;box-shadow:0 0 0 1px rgba(255,255,255,.1);transition:transform .35s var(--ease),box-shadow .35s}
.gl-btn img{width:100%;height:100%;object-fit:cover}
.gl-btn:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 0 0 2px var(--gold),0 24px 40px -20px rgba(0,0,0,.9)}
.gl-item figcaption{margin-top:8px;font-size:.8rem;line-height:1.35}
.gl-item figcaption b{display:block;font-weight:700}
.gl-item figcaption span{color:var(--gold);font-weight:700;font-size:.72rem}
.gl-kosong{margin-top:30px;text-align:center;color:var(--muted)}
.glb{position:fixed;inset:0;z-index:85;display:grid;place-items:center;align-content:center;gap:16px;padding:20px}
.glb[hidden]{display:none}
.glb-back{position:absolute;inset:0;background:rgba(4,11,48,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.glb-fig{position:relative;margin:0;text-align:center}
.glb-fig img{display:block;max-width:min(560px,88vw);max-height:calc(100vh - 190px);border-radius:22px;box-shadow:0 0 0 2px rgba(247,181,41,.6),0 40px 80px -30px rgba(0,0,0,.95)}
.glb-fig figcaption{margin-top:12px}
.glb-fig b{display:block;font-family:var(--display);font-size:1.2rem}
.glb-fig span{font-size:.82rem;font-weight:700;color:var(--gold)}
.glb-ctrl{position:relative;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}

/* ---------- peta Google Maps ---------- */
.peta-asli{position:relative;z-index:2;padding:0 0 90px;background:var(--ink)}
.peta-card{border-radius:28px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 40px 80px -40px rgba(0,0,0,.9);background:#06103F}
.peta-card iframe{display:block;width:100%;height:min(60vh,460px);border:0;filter:saturate(.9)}

/* ---------- ajakan penutup ---------- */
.ajakan{position:relative;z-index:2;padding:110px 0 120px;text-align:center;overflow:hidden;background:radial-gradient(60% 70% at 50% 100%,rgba(247,181,41,.22) 0%,rgba(247,181,41,0) 60%),radial-gradient(80% 80% at 50% 30%,#0E2380 0%,var(--ink) 75%)}
.ajakan .sec-lead{margin-left:auto;margin-right:auto}

/* ---------- formulir lama (kalkulator jasmani & pendaftaran) memakai warna landing ---------- */
.situs .page-hero{position:relative;z-index:2;padding:clamp(170px,20vh,210px) 0 70px;background:radial-gradient(80% 90% at 85% 0%,#173DB5 0%,#0E2380 32%,#071452 62%,var(--ink) 100%)}
.situs .page-hero h1{margin-top:16px;font-size:clamp(2.2rem,1.3rem + 3vw,4rem);line-height:1.03;letter-spacing:-.045em}
.situs .page-hero p{margin-top:14px;max-width:58ch;color:var(--muted)}
.situs .breadcrumb{font-size:.8rem;font-weight:700;color:var(--gold)}
.situs .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.situs .section{position:relative;z-index:2;padding:60px 0 90px;background:var(--ink)}
.situs .calc-card,.situs .reg-card,.situs form{--line:rgba(255,255,255,.14);--soft:rgba(255,255,255,.06);--text:#EEF1FB;--radius:24px;--shadow-soft:0 30px 60px -30px rgba(0,0,0,.85);--blue:#F7B529;--red:#FF8A80;--navy:#071452}
.situs .calc-card input,.situs .calc-card select,.situs .reg-card input,.situs .reg-card select,.situs .reg-card textarea{color:#fff}
.situs select option{background:#0B1A5C;color:#fff}
.situs .reg-card h2 span{color:var(--ink)}
.situs .btn-primary,.situs .btn-register{background:var(--gold);color:var(--ink);box-shadow:0 12px 32px -12px rgba(247,181,41,.75)}
.situs .btn-primary:hover,.situs .btn-register:hover{background:#FFC23D}
.situs .btn-ghost,.situs .btn-dark{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}
.situs .btn-ghost:hover,.situs .btn-dark:hover{background:rgba(255,255,255,.16)}

@media (max-width:899px){
  .ph-grid,.fokus-grid{grid-template-columns:minmax(0,1fr)}
  .ph-hat{max-width:340px;margin:10px auto 0}
  .fokus-foto{max-width:420px}
  .fitur-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:759px){
  .ph{padding:150px 0 60px}
  .fokus,.fitur{padding:80px 0}
  .alumni-jalur,.ajakan{padding:80px 0}
  .ph-cta .btn{flex:1 1 200px}
  .gl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gl-search{flex:1 1 100%}
  .gl-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(-1 * var(--gut-r)) 0 calc(-1 * var(--gut));padding:4px var(--gut-r) 6px var(--gut);scrollbar-width:none}
  .gl-chips::-webkit-scrollbar{display:none}
  .gl-chips .chip{flex:none}
  .aj-item,.aj-item .tile{width:120px}
  .situs .page-hero{padding:150px 0 50px}
}
@media (prefers-reduced-motion:reduce){
  .aj-track{animation:none}
  .fitur-card,.gl-btn{transition:none}
}
