<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>IARP — Persiapan SAT, IELTS & Jalur Internasional | Jagoan TPS</title>
<meta name="description" content="Program pendampingan SAT, IELTS & jalur internasional. Small group 6–8 siswa, 9 bulan terstruktur, paralel SNBT. By Jagoan TPS.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
<style>
/* ══════════════════════════════════
DESIGN TOKENS — Jagoan TPS Brand
70% light | 20% maroon | 10% accent
══════════════════════════════════ */
:root {
/* Maroon brand */
--M: #980C3F;
--Ml: #B0174B;
--Mm: #7A0A31;
--Md: rgba(152,12,63,.09);
--Mb: rgba(152,12,63,.2);
--Mb2: rgba(152,12,63,.32);
/* Light backgrounds */
--W: #FFFFFF;
--L0: #F7F4F2; /* warm white */
--L1: #EFEDED; /* soft gray */
--L2: #E7E2E0; /* warm gray */
/* Text */
--T1: #1E1414;
--T2: #555050;
--T3: #888080;
--T4: #BBAFAF;
/* Rose accent (very subtle) */
--Rose: #D8B8C2;
/* Borders */
--B: rgba(0,0,0,.07);
--B2: rgba(0,0,0,.11);
--Bm: rgba(152,12,63,.14);
--Bm2: rgba(152,12,63,.25);
/* Gradient */
--gM: linear-gradient(135deg, #7A0A31 0%, #980C3F 55%, #B0174B 100%);
--gMv: linear-gradient(180deg, #7A0A31 0%, #980C3F 100%);
/* Shadows */
--sM: 0 8px 32px rgba(152,12,63,.22);
--sS: 0 2px 20px rgba(0,0,0,.07);
--sSm: 0 4px 24px rgba(152,12,63,.12);
--R: 12px; --max: 1080px;
}
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
font-family:'Plus Jakarta Sans',sans-serif;
background:var(--W); color:var(--T1); line-height:1.7; overflow-x:hidden;
}
/* ══════════════════════════════════
NAV — white, matches screenshot
══════════════════════════════════ */
.nav {
position:fixed; top:0; left:0; right:0; z-index:999;
background:rgba(255,255,255,.96); backdrop-filter:blur(16px);
border-bottom:1px solid var(--B); box-shadow:var(--sS);
transition:box-shadow .3s;
}
.nav.sc { box-shadow:0 4px 24px rgba(152,12,63,.1); }
.ni { max-width:var(--max); margin:0 auto; padding:0 20px; height:66px; display:flex; align-items:center; justify-content:space-between; }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-ico { font-size:28px; line-height:1; }
.logo-wrap .ln { font-family:'Lora',serif; font-size:18px; font-weight:700; color:var(--M); letter-spacing:-.3px; display:block; line-height:1.1; }
.logo-wrap .ls { font-size:10px; color:var(--T3); letter-spacing:1px; font-style:italic; display:block; }
.nl { display:flex; align-items:center; gap:26px; list-style:none; }
.nl a { font-size:13.5px; font-weight:500; color:var(--T2); text-decoration:none; transition:color .2s; }
.nl a:hover { color:var(--M); }
.nc {
background:var(--gM) !important; color:#fff !important;
padding:10px 20px; border-radius:8px; font-weight:700 !important; font-size:13px !important;
transition:transform .2s,box-shadow .2s !important; white-space:nowrap;
}
.nc:hover { transform:translateY(-2px) !important; box-shadow:var(--sM) !important; }
.hm { display:none; background:none; border:none; cursor:pointer; padding:6px; flex-direction:column; gap:5px; }
.hm span { display:block; width:22px; height:2px; background:var(--T1); border-radius:2px; transition:.3s; }
.mob { display:none; position:fixed; inset:66px 0 0; z-index:998; background:rgba(255,255,255,.98); backdrop-filter:blur(16px); flex-direction:column; padding:20px; gap:2px; overflow-y:auto; border-top:1px solid var(--B); }
.mob.open { display:flex; }
.mob a { font-size:15px; color:var(--T2); text-decoration:none; padding:12px 0; border-bottom:1px solid var(--B); }
.mob-cta { background:var(--gM); color:#fff; text-align:center; padding:14px; border-radius:10px; font-weight:700; font-size:15px; margin-top:14px; text-decoration:none; display:block; }
/* ══════════════════════════════════
BUTTONS
══════════════════════════════════ */
.bM { background:var(--gM); color:#fff; padding:14px 30px; border-radius:10px; font-size:14px; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:8px; transition:transform .25s,box-shadow .25s; }
.bM:hover { transform:translateY(-3px); box-shadow:var(--sM); }
.bO { background:transparent; color:var(--M); padding:14px 28px; border-radius:10px; font-size:14px; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:8px; border:1.5px solid var(--Bm2); transition:all .25s; }
.bO:hover { background:var(--Md); }
/* On maroon bg */
.bMW { background:#fff; color:var(--M); padding:14px 30px; border-radius:10px; font-size:14px; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:8px; transition:transform .25s,box-shadow .25s; }
.bMW:hover { transform:translateY(-3px); box-shadow:0 8px 32px rgba(0,0,0,.2); }
.bOW { background:transparent; color:rgba(255,255,255,.8); padding:14px 28px; border-radius:10px; font-size:14px; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:8px; border:1.5px solid rgba(255,255,255,.3); transition:all .25s; }
.bOW:hover { border-color:rgba(255,255,255,.6); color:#fff; }
/* ══════════════════════════════════
REVEAL
══════════════════════════════════ */
.rv { opacity:0; transform:translateY(18px); transition:opacity .6s ease,transform .6s ease; }
.rv.s { opacity:1; transform:none; }
.d1{transition-delay:.07s} .d2{transition-delay:.14s} .d3{transition-delay:.21s}
/* ══════════════════════════════════
TYPOGRAPHY HELPERS
══════════════════════════════════ */
.lbl { font-size:11px; font-weight:800; letter-spacing:2.5px; text-transform:uppercase; display:block; margin-bottom:10px; }
.lbl.m { color:var(--M); }
.lbl.w { color:rgba(255,255,255,.6); }
.ttl { font-family:'Lora',serif; font-size:clamp(23px,3vw,38px); font-weight:700; line-height:1.18; margin-bottom:14px; letter-spacing:-.3px; }
.ttl.dark { color:var(--T1); }
.ttl.white { color:#fff; }
.desc { font-size:15px; line-height:1.85; }
.desc.muted { color:var(--T2); }
.desc.white { color:rgba(255,255,255,.8); }
.sh { margin-bottom:clamp(32px,5vw,52px); }
.sh.c { text-align:center; }
.sh.c .desc { max-width:560px; margin:0 auto; }
/* Section padding */
.sec { padding:clamp(52px,7vw,88px) 20px; }
.si { max-width:var(--max); margin:0 auto; }
/* Background utilities */
.bg-w { background:var(--W); }
.bg-l { background:var(--L0); }
.bg-lg { background:var(--L1); border-top:1px solid var(--B); border-bottom:1px solid var(--B); }
.bg-m { background:var(--gMv); }
/* ══════════════════════════════════
① HERO — warm white, maroon accents
══════════════════════════════════ */
.hero {
min-height:100vh; display:flex; align-items:center; justify-content:center;
padding:90px 20px 72px; position:relative; overflow:hidden;
background:linear-gradient(160deg, #fff 0%, var(--L0) 100%);
}
.hero-glow {
position:absolute; inset:0; pointer-events:none;
background:
radial-gradient(ellipse 60% 50% at 5% 50%, rgba(152,12,63,.05) 0%, transparent 55%),
radial-gradient(ellipse 40% 40% at 95% 10%, rgba(152,12,63,.04) 0%, transparent 50%);
}
.hero-c { max-width:800px; text-align:center; position:relative; z-index:2; }
.hero-badge {
display:inline-flex; align-items:center; gap:8px;
background:var(--Md); border:1px solid var(--Bm2);
padding:7px 16px; border-radius:40px;
font-size:11.5px; font-weight:700; color:var(--M); letter-spacing:.8px; text-transform:uppercase;
margin-bottom:28px; animation:fdwn .7s ease both;
}
.bdot { width:5px; height:5px; border-radius:50%; background:var(--M); animation:pls 2s infinite; }
@keyframes pls{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes fdwn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes fup{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero h1 {
font-family:'Lora',serif; font-size:clamp(30px,5.5vw,60px);
font-weight:700; line-height:1.12; letter-spacing:-.5px; margin-bottom:16px;
color:var(--T1); animation:fup .85s .06s ease both;
}
.hero h1 .accent { color:var(--M); }
.hero-sub { font-size:clamp(14px,1.7vw,17px); color:var(--T2); max-width:560px; margin:0 auto 8px; line-height:1.8; animation:fup .85s .14s ease both; }
.hero-pill { font-size:12.5px; color:var(--T3); margin-bottom:32px; animation:fup .85s .19s ease both; }
.hero-pill strong { color:var(--M); font-weight:700; }
/* Stats row — maroon numbers on white */
.hero-stats { display:flex; justify-content:center; gap:clamp(12px,4vw,40px); margin-bottom:32px; flex-wrap:wrap; animation:fup .85s .25s ease both; }
.hs { text-align:center; }
.hsn { font-family:'Lora',serif; font-size:clamp(28px,4vw,44px); font-weight:700; color:var(--M); display:block; line-height:1; }
.hsl { font-size:10.5px; color:var(--T3); text-transform:uppercase; letter-spacing:1.2px; margin-top:5px; }
.hsep { width:1px; background:var(--B2); height:36px; align-self:center; }
.hero-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; animation:fup .85s .32s ease both; }
.hero-scroll { position:absolute; bottom:22px; left:50%; transform:translateX(-50%); opacity:.3; animation:fup 1s .9s ease both; }
.scl { width:1px; height:36px; background:linear-gradient(to bottom,var(--M),transparent); margin:0 auto; animation:san 2.2s infinite; }
@keyframes san{0%{opacity:0;transform:scaleY(0);transform-origin:top}50%{opacity:1}100%{opacity:0;transform-origin:bottom}}
/* ══════════════════════════════════
② MAROON STATS BAR (like screenshot)
══════════════════════════════════ */
.stats-bar { background:var(--gMv); padding:clamp(32px,4vw,52px) 20px; }
.stats-bar-inner { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }
.sbar-n { font-family:'Lora',serif; font-size:clamp(36px,5vw,56px); font-weight:700; color:#fff; line-height:1; margin-bottom:8px; display:block; }
.sbar-l { font-size:11px; font-weight:700; color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:2px; }
/* ══════════════════════════════════
③ ENEMY — white, light treatment
══════════════════════════════════ */
.enemy { background:var(--L0); border-top:1px solid var(--B); border-bottom:1px solid var(--B); padding:clamp(28px,4vw,44px) 20px; text-align:center; }
.enemy-inner { max-width:860px; margin:0 auto; }
.enemy-title { font-size:13.5px; color:var(--T3); margin-bottom:18px; font-style:italic; }
.enemy-row { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.enemy-tag { background:#fff; border:1px solid var(--B2); border-radius:7px; padding:8px 14px; font-size:13px; color:var(--T2); display:flex; align-items:center; gap:7px; box-shadow:var(--sS); }
.enemy-tag .x { color:var(--M); font-weight:800; font-size:13px; }
/* ══════════════════════════════════
④ FUTURE IDENTITY — white + maroon quote
══════════════════════════════════ */
.fi-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:24px; }
.fi-card { background:#fff; border:1px solid var(--B); border-radius:var(--R); padding:24px 22px; box-shadow:var(--sS); transition:box-shadow .3s,transform .3s; position:relative; overflow:hidden; }
.fi-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gM); }
.fi-card:hover { box-shadow:var(--sSm); transform:translateY(-3px); }
.fi-ico { font-size:26px; margin-bottom:12px; display:block; }
.fi-card p { font-size:14px; color:var(--T2); line-height:1.75; }
.fi-card strong { color:var(--M); font-weight:700; }
.fi-note { background:var(--Md); border:1px solid var(--Bm); border-radius:var(--R); padding:16px 22px; font-size:14px; color:var(--T1); text-align:center; line-height:1.65; }
.fi-note strong { color:var(--M); }
/* ══════════════════════════════════
⑤ PROGRAM — soft gray bg
══════════════════════════════════ */
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pillar { background:#fff; border:1px solid var(--B); border-radius:var(--R); padding:26px 22px; text-align:center; transition:all .35s; box-shadow:var(--sS); position:relative; overflow:hidden; }
.pillar::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--gM); transform:scaleX(0); transform-origin:left; transition:.35s; }
.pillar:hover::after { transform:scaleX(1); }
.pillar:hover { box-shadow:var(--sSm); transform:translateY(-4px); }
.pio { width:52px; height:52px; border-radius:12px; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; font-size:24px; background:var(--Md); border:1px solid var(--Bm); }
.pillar h3 { font-size:15px; font-weight:700; margin-bottom:10px; color:var(--T1); }
.pillar p { font-size:13px; color:var(--T2); line-height:1.7; }
/* ══════════════════════════════════
⑥ BIG MOMENT — MAROON (authority)
══════════════════════════════════ */
.bigmoment { background:var(--gMv); padding:clamp(52px,7vw,88px) 20px; }
.bm-inner { max-width:900px; margin:0 auto; text-align:center; }
.bm-title { font-family:'Lora',serif; font-size:clamp(24px,3.5vw,44px); font-weight:700; line-height:1.15; letter-spacing:-.4px; margin-bottom:36px; color:#fff; }
.bm-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:32px; text-align:left; }
.bm-card { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); border-radius:var(--R); padding:24px 22px; }
.bm-card-lbl { font-size:10.5px; font-weight:800; color:var(--Rose); text-transform:uppercase; letter-spacing:2px; margin-bottom:10px; display:block; }
.bm-card h4 { font-size:15px; font-weight:700; margin-bottom:10px; color:#fff; }
.bm-card p { font-size:13.5px; color:rgba(255,255,255,.75); line-height:1.75; }
.bm-insight { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); border-radius:var(--R); padding:22px 28px; font-family:'Lora',serif; font-style:italic; font-size:clamp(16px,1.9vw,20px); color:#fff; line-height:1.65; text-align:center; }
/* ══════════════════════════════════
⑦ PARALLEL TRACK — white
══════════════════════════════════ */
.track-wrap { max-width:700px; margin:0 auto; }
.track-legend { display:flex; justify-content:center; gap:24px; margin-bottom:24px; flex-wrap:wrap; }
.tleg { display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--T2); }
.tleg-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.track-lbl-row { display:flex; justify-content:space-between; margin-bottom:8px; padding:0 80px; }
.track-lbl-item { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--T3); }
.track-row { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.track-name { width:72px; min-width:72px; font-size:11.5px; font-weight:700; line-height:1.3; }
.track-name.m { color:var(--M); }
.track-name.b { color:#2a7ac4; }
.track-bar { flex:1; height:10px; border-radius:5px; position:relative; }
.track-bar.m { background:var(--gM); }
.track-bar.b { background:linear-gradient(135deg,#2a6496,#4a90c4); }
.track-dot { position:absolute; top:50%; transform:translateY(-50%); width:14px; height:14px; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 2px rgba(0,0,0,.1); }
.track-dot.m { background:var(--M); }
.track-dot.b { background:#4a90c4; }
.track-label { position:absolute; top:14px; font-size:9.5px; font-weight:700; white-space:nowrap; }
.track-label.m { color:var(--M); }
.track-label.b { color:#2a7ac4; }
.track-merge { text-align:center; background:var(--Md); border:1px solid var(--Bm); border-radius:var(--R); padding:16px 20px; font-family:'Lora',serif; font-style:italic; font-size:15px; color:var(--T1); margin-top:8px; }
.track-merge strong { color:var(--M); }
/* ══════════════════════════════════
⑧ WEEKLY — soft gray
══════════════════════════════════ */
.weekly { max-width:540px; margin:0 auto; background:#fff; border-radius:var(--R); box-shadow:var(--sS); overflow:hidden; border:1px solid var(--B); }
.week-row { display:flex; align-items:center; gap:16px; padding:16px 20px; border-bottom:1px solid var(--B); transition:background .2s; }
.week-row:last-child { border-bottom:none; }
.week-row:hover { background:var(--L0); }
.week-ico { width:42px; height:42px; min-width:42px; border-radius:10px; background:var(--Md); border:1px solid var(--Bm); display:flex; align-items:center; justify-content:center; font-size:19px; }
.week-txt h4 { font-size:13.5px; font-weight:700; color:var(--T1); margin-bottom:1px; }
.week-txt p { font-size:12px; color:var(--T3); }
.week-freq { margin-left:auto; font-size:11px; font-weight:700; color:var(--M); background:var(--Md); border:1px solid var(--Bm); padding:4px 10px; border-radius:5px; white-space:nowrap; }
/* ══════════════════════════════════
⑨ FOR WHO — white
══════════════════════════════════ */
.fw-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.fw { border-radius:var(--R); padding:26px 24px; box-shadow:var(--sS); }
.fw.y { background:#fff; border:1.5px solid var(--Bm2); }
.fw.n { background:var(--L0); border:1px solid var(--B); }
.fw-t { font-size:11px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; margin-bottom:16px; }
.fw.y .fw-t { color:var(--M); }
.fw.n .fw-t { color:var(--T3); }
.fw ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.fw ul li { font-size:13.5px; color:var(--T2); display:flex; gap:10px; align-items:flex-start; line-height:1.55; }
.fw.y ul li::before { content:'✔'; color:var(--M); font-size:11px; margin-top:3px; flex-shrink:0; }
.fw.n ul li::before { content:'✕'; color:var(--T3); font-size:11px; margin-top:3px; flex-shrink:0; }
/* ══════════════════════════════════
⑩ TIMELINE — soft gray
══════════════════════════════════ */
.tl { display:flex; flex-direction:column; gap:14px; position:relative; }
.tl::before { content:''; position:absolute; left:26px; top:8px; bottom:8px; width:1px; background:linear-gradient(to bottom,var(--M),transparent); }
.pr { display:flex; gap:16px; }
.pn { width:54px; height:54px; min-width:54px; border-radius:50%; background:#fff; border:2px solid var(--M); display:flex; align-items:center; justify-content:center; font-family:'Lora',serif; font-size:20px; font-weight:700; color:var(--M); position:relative; z-index:2; flex-shrink:0; box-shadow:var(--sSm); }
.pb { flex:1; background:#fff; border:1px solid var(--B); border-radius:var(--R); padding:18px 20px; box-shadow:var(--sS); transition:border-color .3s,box-shadow .3s; }
.pb:hover { border-color:var(--Bm2); box-shadow:var(--sSm); }
.pt { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.pname { font-family:'Lora',serif; font-size:17px; font-weight:700; color:var(--T1); }
.pper { background:var(--Md); border:1px solid var(--Bm); color:var(--M); padding:4px 12px; border-radius:14px; font-size:11px; font-weight:700; white-space:nowrap; }
.plist { list-style:none; display:flex; flex-direction:column; gap:6px; }
.plist li { font-size:13px; color:var(--T2); display:flex; gap:8px; align-items:flex-start; }
.plist li::before { content:'–'; color:var(--M); flex-shrink:0; }
/* ══════════════════════════════════
⑪ WA MOCKUP + CHECKPOINT — white
══════════════════════════════════ */
.mock-ck { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.wa-mock { background:var(--L1); border:1px solid var(--B); border-radius:14px; overflow:hidden; box-shadow:var(--sS); }
.wh { background:#fff; padding:12px 16px; display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--B); }
.wav { width:34px; height:34px; border-radius:50%; background:var(--gM); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; font-family:'Lora',serif; color:#fff; }
.whn { font-size:13px; font-weight:700; color:var(--T1); }
.whs { font-size:10.5px; color:#25a349; }
.wb { padding:14px 12px; display:flex; flex-direction:column; gap:8px; background:var(--L1); }
.wsys { font-size:10px; color:var(--T3); text-align:center; margin:2px 0; }
.wout { align-self:flex-end; background:var(--M); border-radius:11px 11px 2px 11px; padding:9px 13px; max-width:85%; font-size:12.5px; line-height:1.55; color:#fff; }
.win { align-self:flex-start; background:#fff; border:1px solid var(--B); border-radius:11px 11px 11px 2px; padding:9px 13px; max-width:85%; font-size:12.5px; line-height:1.55; color:var(--T2); box-shadow:var(--sS); }
.win strong { color:var(--T1); }
.wwords { font-weight:700; font-size:11.5px; opacity:.85; }
.wtick { font-size:10px; color:rgba(255,255,255,.55); margin-top:3px; }
.wtick-dark { font-size:10px; color:var(--T3); margin-top:3px; }
/* Accordion on white bg */
.ck { display:flex; flex-direction:column; gap:10px; }
.cki { background:#fff; border:1px solid var(--B); border-radius:var(--R); overflow:hidden; transition:border-color .3s; box-shadow:var(--sS); }
.cki.open { border-color:var(--Bm2); box-shadow:var(--sSm); }
.ckh { display:flex; align-items:center; gap:12px; padding:15px 18px; cursor:pointer; user-select:none; }
.ckn { width:30px; height:30px; min-width:30px; border-radius:50%; background:var(--Md); border:1px solid var(--Bm); display:flex; align-items:center; justify-content:center; font-size:12.5px; font-weight:700; color:var(--M); }
.ck-per { font-size:10.5px; color:var(--T3); margin-bottom:1px; }
.ck-nm { font-size:13.5px; font-weight:700; color:var(--T1); }
.ckar { font-size:13px; color:var(--T3); transition:transform .3s; margin-left:auto; }
.cki.open .ckar { transform:rotate(180deg); }
.ckb { display:none; padding:0 18px 15px; padding-left:60px; font-size:13px; color:var(--T2); line-height:1.75; }
.cki.open .ckb { display:block; }
/* ══════════════════════════════════
⑫ VALUE STACK — MAROON (authority)
══════════════════════════════════ */
.vs2 { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:24px; }
.vr { display:flex; gap:11px; align-items:flex-start; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); border-radius:var(--R); padding:14px 16px; transition:background .25s; }
.vr:hover { background:rgba(255,255,255,.16); }
.vico { font-size:18px; flex-shrink:0; margin-top:2px; }
.vr h4 { font-size:13.5px; font-weight:700; color:#fff; margin-bottom:2px; }
.vr p { font-size:12.5px; color:rgba(255,255,255,.7); line-height:1.6; }
/* Value anchor */
.va { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:var(--R); padding:22px 24px; }
.va-title { font-family:'Lora',serif; font-size:17px; font-weight:700; margin-bottom:16px; color:#fff; }
.va-tbl { width:100%; border-collapse:collapse; }
.va-tbl td { padding:10px 0; border-bottom:1px solid rgba(255,255,255,.12); font-size:13.5px; vertical-align:top; }
.va-tbl td:first-child { color:rgba(255,255,255,.7); }
.va-tbl td:last-child { text-align:right; font-weight:600; color:#fff; white-space:nowrap; }
.va-tbl tr:last-child td { border-bottom:2px solid rgba(255,255,255,.3); font-weight:800; color:#fff; padding-top:12px; font-size:14.5px; }
.va-highlight td { border-bottom:none !important; padding-top:16px !important; }
.va-highlight td:first-child { font-family:'Lora',serif; font-size:clamp(17px,2vw,24px) !important; color:#fff !important; font-weight:700 !important; }
.va-highlight td:last-child { font-family:'Lora',serif; font-size:clamp(24px,3vw,36px) !important; color:rgba(255,255,255,.9) !important; font-weight:700 !important; text-shadow:0 0 30px rgba(255,255,255,.2); }
/* ══════════════════════════════════
⑬ KANG DIDIN QUOTE — white (like screenshot)
══════════════════════════════════ */
.didin { background:var(--L0); border-top:1px solid var(--B); padding:clamp(44px,6vw,72px) 20px; text-align:center; }
.didin-inner { max-width:760px; margin:0 auto; }
.didin-qm { font-family:'Lora',serif; font-size:80px; color:var(--Rose); line-height:.7; display:block; margin-bottom:12px; opacity:.7; }
.didin-q { font-family:'Lora',serif; font-style:italic; font-size:clamp(18px,2.5vw,28px); color:var(--M); font-weight:600; line-height:1.55; margin-bottom:20px; }
.didin-line { width:56px; height:3px; background:var(--gM); margin:0 auto 16px; border-radius:2px; }
.didin-name { font-size:15px; font-weight:700; color:var(--T1); }
.didin-role { font-size:13px; color:var(--T3); margin-top:2px; }
/* ══════════════════════════════════
⑭ SOCIAL PROOF — white
══════════════════════════════════ */
.sp-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.sp { border-radius:var(--R); padding:22px 20px; background:#fff; border:1px solid var(--B); box-shadow:var(--sS); transition:box-shadow .3s,transform .3s; }
.sp:hover { box-shadow:var(--sSm); transform:translateY(-2px); }
.sp.p { border-left:3px solid var(--M); }
.sp-stars { color:var(--M); font-size:13px; letter-spacing:1.5px; margin-bottom:10px; }
.sp-q { font-family:'Lora',serif; font-style:italic; font-size:14.5px; line-height:1.65; color:var(--T1); margin-bottom:12px; }
.sp-who { font-size:11.5px; color:var(--T3); border-top:1px solid var(--B); padding-top:10px; }
.sp-who strong { color:var(--T2); }
/* ══════════════════════════════════
⑮ CREDIBILITY — soft gray
══════════════════════════════════ */
.cred-g { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.cred-pts { display:flex; flex-direction:column; gap:14px; margin-top:20px; }
.cp { display:flex; gap:11px; }
.cp-ico { font-size:17px; flex-shrink:0; margin-top:2px; }
.cp h5 { font-size:13.5px; font-weight:700; color:var(--T1); margin-bottom:3px; }
.cp p { font-size:12.5px; color:var(--T2); line-height:1.65; }
.cred-box { background:#fff; border:1px solid var(--B); border-radius:var(--R); padding:22px; box-shadow:var(--sS); display:flex; flex-direction:column; gap:14px; }
.cs-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.cs { background:var(--L0); border:1px solid var(--B); border-radius:9px; padding:14px 8px; text-align:center; }
.csn { font-family:'Lora',serif; font-size:26px; font-weight:700; color:var(--M); line-height:1; }
.csl { font-size:10px; color:var(--T3); margin-top:4px; line-height:1.3; }
.cred-i { background:var(--Md); border:1px solid var(--Bm); border-radius:9px; padding:13px 15px; font-size:13px; color:var(--T2); line-height:1.7; }
.cred-i strong { color:var(--T1); }
.cred-t { background:var(--L0); border:1px solid var(--B); border-radius:9px; padding:13px 15px; font-size:13px; color:var(--T2); line-height:1.65; }
.cred-t strong { color:var(--M); }
/* ══════════════════════════════════
⑯ PRICING — white
══════════════════════════════════ */
.pw { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:14px; }
.prc { background:#fff; border:1.5px solid var(--B); border-radius:var(--R); padding:26px 20px; text-align:center; box-shadow:var(--sS); transition:all .3s; position:relative; overflow:hidden; }
.prc:hover { box-shadow:var(--sSm); transform:translateY(-3px); }
.prc.hot { border-color:var(--Bm2); box-shadow:var(--sSm); }
.prbn { position:absolute; top:14px; right:-20px; background:var(--gM); color:#fff; font-size:9.5px; font-weight:800; letter-spacing:.4px; padding:4px 26px; transform:rotate(35deg); text-transform:uppercase; }
.ptag { font-size:10.5px; font-weight:800; color:var(--M); letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.pamt { font-family:'Lora',serif; font-size:clamp(22px,3vw,34px); font-weight:700; color:var(--T1); margin-bottom:4px; line-height:1; }
.pmo { font-size:11px; color:var(--T3); margin-bottom:4px; }
.psav { font-size:12.5px; color:var(--M); font-weight:600; margin-bottom:4px; }
.pdl { font-size:11px; color:var(--T3); margin-bottom:18px; }
.bMf { display:block; width:100%; background:var(--gM); color:#fff; padding:12px; border-radius:9px; font-size:13.5px; font-weight:700; text-decoration:none; text-align:center; transition:transform .2s,box-shadow .2s; }
.bMf:hover { transform:translateY(-2px); box-shadow:var(--sM); }
.bOf { display:block; width:100%; background:transparent; color:var(--M); padding:12px; border-radius:9px; font-size:13.5px; font-weight:600; text-decoration:none; text-align:center; border:1.5px solid var(--Bm2); transition:all .25s; }
.bOf:hover { background:var(--Md); }
.pnote { font-size:11.5px; color:var(--T3); text-align:center; }
/* ══════════════════════════════════
⑰ FINAL CTA — MAROON (climax)
══════════════════════════════════ */
.cta { background:var(--gMv); padding:clamp(52px,8vw,96px) 20px; text-align:center; }
.cta-in { max-width:640px; margin:0 auto; }
.cta-urgency { display:inline-block; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.9); font-size:12px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; padding:6px 16px; border-radius:30px; margin-bottom:22px; }
.cta-h { font-family:'Lora',serif; font-size:clamp(22px,3.2vw,40px); font-weight:700; line-height:1.2; color:#fff; margin-bottom:14px; }
.cta-h em { font-style:italic; opacity:.85; }
.cta-sub { font-size:15px; color:rgba(255,255,255,.75); margin-bottom:32px; line-height:1.8; }
.cta-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:14px; }
.wa-btn { background:#25d366; color:#fff; padding:15px 30px; border-radius:10px; font-size:15px; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:9px; transition:transform .25s,box-shadow .25s; }
.wa-btn:hover { transform:translateY(-3px); box-shadow:0 8px 28px rgba(37,211,102,.35); }
.cta-contact { font-size:12.5px; color:rgba(255,255,255,.5); }
/* ══════════════════════════════════
FOOTER — white
══════════════════════════════════ */
footer { background:var(--L1); border-top:1px solid var(--B); padding:32px 20px; }
.fi { max-width:var(--max); margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.fb { font-family:'Lora',serif; font-size:16px; font-weight:700; color:var(--M); }
.fb-sub { font-size:11.5px; color:var(--T3); margin-top:3px; }
.fls { display:flex; gap:18px; flex-wrap:wrap; }
.fls a { font-size:12.5px; color:var(--T3); text-decoration:none; transition:color .2s; }
.fls a:hover { color:var(--M); }
.fcopy { font-size:11px; color:var(--T3); opacity:.6; width:100%; text-align:center; padding-top:16px; border-top:1px solid var(--B); margin-top:4px; }
/* ══════════════════════════════════
RESPONSIVE
══════════════════════════════════ */
@media(max-width:860px) {
.stats-bar-inner { grid-template-columns:repeat(2,1fr); }
.fi-grid { grid-template-columns:1fr; }
.bm-grid { grid-template-columns:1fr; }
.pillars { grid-template-columns:1fr; }
.fw-grid { grid-template-columns:1fr; }
.mock-ck { grid-template-columns:1fr; }
.vs2 { grid-template-columns:1fr; }
.sp-grid { grid-template-columns:1fr; }
.cred-g { grid-template-columns:1fr; }
.pw { grid-template-columns:1fr; }
.prc.hot { transform:none; }
}
@media(max-width:640px) {
.nl { display:none; } .hm { display:flex; }
.tl::before { left:23px; }
.pn { width:48px; height:48px; min-width:48px; font-size:17px; }
.enemy-row { gap:8px; }
.ckb { padding-left:52px; }
.track-lbl-row { padding:0 80px; }
}
@media(max-width:420px) {
.hero-stats .hsep { display:none; }
.hero-btns,.cta-btns { flex-direction:column; }
.bM,.bO,.bMW,.bOW,.wa-btn { width:100%; justify-content:center; }
}
/* ══════════════════════════════════
COUNTDOWN TIMER
══════════════════════════════════ */
.cdwn-wrap {
background: linear-gradient(135deg, #fff5f7, #fff);
border: 1.5px solid var(--Bm2); border-radius: 16px;
padding: clamp(20px,3vw,32px); text-align: center;
box-shadow: 0 4px 24px rgba(152,12,63,.1);
}
.cdwn-inner { max-width: 560px; margin: 0 auto; }
.cdwn-label {
font-size: 12px; font-weight: 800; color: var(--M);
text-transform: uppercase; letter-spacing: 2px; margin-bottom: 16px;
}
.cdwn-boxes {
display: flex; align-items: center; justify-content: center;
gap: 8px; margin-bottom: 14px; flex-wrap: wrap;
}
.cdwn-box {
background: var(--gM); border-radius: 10px;
padding: 12px 18px; min-width: 72px; text-align: center;
box-shadow: var(--sM);
}
.cdwn-n {
display: block; font-family: 'Lora', serif; font-size: clamp(28px,5vw,40px);
font-weight: 700; color: #fff; line-height: 1;
}
.cdwn-l {
display: block; font-size: 10px; font-weight: 700; color: rgba(255,255,255,.7);
text-transform: uppercase; letter-spacing: 1.5px; margin-top: 4px;
}
.cdwn-sep {
font-family: 'Lora', serif; font-size: 28px; font-weight: 700;
color: var(--M); opacity: .5; padding-bottom: 16px;
}
.cdwn-sub { font-size: 13px; color: var(--T2); }
.cdwn-sub strong { color: var(--M); }
/* Expired state */
.cdwn-expired {
background: var(--L1); border-color: var(--B);
box-shadow: none;
}
.cdwn-expired .cdwn-label { color: var(--T3); }
.cdwn-expired .cdwn-box { background: var(--L2); box-shadow: none; }
.cdwn-expired .cdwn-n { color: var(--T3); }
.cdwn-expired .cdwn-sep { color: var(--T3); }
/* Sticky mobile WA button */
.wa-sticky {
display: none; position: fixed; bottom: 20px; left: 50%;
transform: translateX(-50%); z-index: 900;
background: #25d366; color: #fff;
padding: 13px 28px; border-radius: 50px; font-size: 14px; font-weight: 700;
text-decoration: none; box-shadow: 0 6px 24px rgba(37,211,102,.4);
white-space: nowrap; transition: transform .2s, box-shadow .2s;
}
.wa-sticky:hover { transform: translateX(-50%) translateY(-2px); box-shadow: 0 10px 32px rgba(37,211,102,.5); }
@media(max-width:640px) { .wa-sticky { display: flex; align-items: center; gap: 8px; } }
</style>
</head>
<body>
<!-- ─── NAV — white, like screenshot ─── -->
<nav class="nav" id="nav">
<div class="ni">
<a href="#" class="logo">
<img src="https://horizons-cdn.hostinger.com/45e9edde-7e24-4817-84b2-8aa128980aab/header-logo-spIle.png" alt="Jagoan TPS" style="height:44px;width:auto;display:block;object-fit:contain;">
</a>
<ul class="nl">
<li><a href="#program">Program</a></li>
<li><a href="#jadwal">Fase</a></li>
<li><a href="#harga">Investasi</a></li>
<li><a href="#trust">Kang Didin</a></li>
<li><a href="https://wa.me/6287779729505?text=Halo%2C%20saya%20ingin%20konsultasi%20program%20IARP" target="_blank" class="nc">Konsultasi Gratis</a></li>
</ul>
<button class="hm" id="ham" aria-label="Menu"><span></span><span></span><span></span></button>
</div>
</nav>
<div class="mob" id="mn">
<a href="#program">Program IARP</a>
<a href="#jadwal">Fase Belajar</a>
<a href="#harga">Investasi</a>
<a href="#trust">Tentang Kang Didin</a>
<a href="https://wa.me/6287779729505?text=Halo%2C%20saya%20ingin%20konsultasi%20program%20IARP" target="_blank" class="mob-cta">💬 Konsultasi via WhatsApp</a>
</div>
<!-- ─── ① HERO — warm white ─── -->
<section class="hero">
<div class="hero-glow"></div>
<div class="hero-c">
<div class="hero-badge"><span class="bdot"></span>Batch Juli 2026 · Hanya 6–8 Siswa</div>
<h1>Kelas 12 Sudah Terlalu Padat<br>untuk Memulai <span class="accent">SAT & IELTS</span> dari Nol.</h1>
<p class="hero-sub">IARP membantu siswa mempersiapkan jalur internasional secara bertahap — paralel dengan sekolah, TKA, dan SNBT.</p>
<p class="hero-pill"><strong>6–8 siswa · 40 sesi · 9 bulan · Offline small group.</strong></p>
<div class="hero-stats">
<div class="hs"><span class="hsn">6–8</span><div class="hsl">Siswa / Batch</div></div>
<div class="hsep"></div>
<div class="hs"><span class="hsn">40</span><div class="hsl">Sesi Tatap Muka</div></div>
<div class="hsep"></div>
<div class="hs"><span class="hsn">9</span><div class="hsl">Bulan Program</div></div>
<div class="hsep"></div>
<div class="hs"><span class="hsn">4</span><div class="hsl">Checkpoint Resmi</div></div>
</div>
<div class="hero-btns">
<a href="https://wa.me/6287779729505?text=Halo%2C%20saya%20ingin%20konsultasi%20jalur%20IUP%20untuk%20anak%20saya" target="_blank" class="bM">💬 Konsultasi Jalur IUP Anak Saya</a>
<a href="#program" class="bO">Lihat Program ↓</a>
</div>
</div>
<div class="hero-scroll"><div class="scl"></div></div>
</section>
<!-- ─── ② MAROON STATS BAR — like screenshot ─── -->
<div class="stats-bar rv">
<div class="stats-bar-inner">
<div><span class="sbar-n">25+</span><div class="sbar-l">Tahun Pengalaman</div></div>
<div><span class="sbar-n">1000+</span><div class="sbar-l">Siswa Terdampingi</div></div>
<div><span class="sbar-n">6–8</span><div class="sbar-l">Siswa per Batch</div></div>
<div><span class="sbar-n">100%</span><div class="sbar-l">Sistem Terstruktur</div></div>
</div>
</div>
<!-- ─── ③ ENEMY — warm white ─── -->
<div class="enemy rv">
<div class="enemy-inner">
<p class="enemy-title">IARP bukan tentang ini —</p>
<div class="enemy-row">
<div class="enemy-tag"><span class="x">✕</span>Sistem kebut semalam</div>
<div class="enemy-tag"><span class="x">✕</span>Template IELTS instan</div>
<div class="enemy-tag"><span class="x">✕</span>Drill soal tanpa reasoning</div>
<div class="enemy-tag"><span class="x">✕</span>Kelas besar tanpa nama</div>
<div class="enemy-tag"><span class="x">✕</span>Belajar mepet deadline</div>
</div>
</div>
</div>
<!-- ─── ④ FUTURE IDENTITY — white ─── -->
<section class="sec bg-w">
<div class="si">
<div class="sh c rv">
<span class="lbl m">Yang Membedakan</span>
<h2 class="ttl dark">Siswa yang Memulai Lebih Awal Bukan Hanya Lebih Siap.</h2>
<p class="desc muted">Mereka lebih tenang. Lebih percaya diri. Dan punya lebih dari satu pilihan.</p>
</div>
<div class="fi-grid">
<div class="fi-card rv d1"><span class="fi-ico">📅</span><p>Saat siswa lain baru mulai panik mencari tutor IELTS di akhir kelas 12, anak Anda sudah menjalani <strong>6–7 bulan pendampingan terstruktur.</strong></p></div>
<div class="fi-card rv d2"><span class="fi-ico">🎯</span><p>Ketika jalur internasional dibuka, anak Anda tidak memulai dari nol — tapi dengan <strong>rekam progress, estimasi skor, dan kepercayaan diri yang nyata.</strong></p></div>
<div class="fi-card rv d1"><span class="fi-ico">🧩</span><p>Banyak siswa STEM gagal jalur internasional bukan karena tidak mampu — tapi karena <strong>memulai terlalu terlambat.</strong></p></div>
<div class="fi-card rv d2"><span class="fi-ico">🏛️</span><p>IUP ITB, IUP UI, IUP UGM mencari siswa yang <strong>terbukti siap secara akademik</strong> — bukan yang baru belajar IELTS dua bulan sebelum deadline.</p></div>
</div>
<p class="fi-note rv">Program ini bukan tambahan beban. Ini tentang <strong>berjalan paralel dengan ritme yang sudah ada</strong> — supaya di akhir kelas 12, anak Anda punya lebih dari satu jalur.</p>
</div>
</section>
<!-- ─── ⑤ PROGRAM — soft gray ─── -->
<section class="sec bg-lg" id="program">
<div class="si">
<div class="sh c rv">
<span class="lbl m">Mengenal IARP</span>
<h2 class="ttl dark">3 Pilar Kesiapan Internasional</h2>
<p class="desc muted">Dirancang untuk profil siswa STEM Indonesia — kuat di logika, belum terbiasa academic English. Keunggulan itu yang dimanfaatkan, bukan dilawan.</p>
</div>
<div class="pillars">
<div class="pillar rv d1"><div class="pio">📐</div><h3>Quantitative Reasoning</h3><p>SAT Math, mathematical reasoning, kalkulator strategy — dibangun sistematis, bukan sekadar drill soal.</p></div>
<div class="pillar rv d2"><div class="pio">📝</div><h3>Academic English & SAT Verbal</h3><p>Evidence-based reasoning, analytical thinking, precision reading — dibentuk bertahap selama 9 bulan.</p></div>
<div class="pillar rv d3"><div class="pio">🌏</div><h3>IELTS Academic</h3><p>Listening, Reading, Writing, Speaking — dibangun progresif. Fluency adalah perjalanan, bukan sprint.</p></div>
</div>
</div>
</section>
<!-- ─── ⑥ BIG MOMENT — MAROON ─── -->
<section class="bigmoment">
<div class="si">
<div class="bm-inner">
<span class="lbl w rv" style="margin-bottom:16px">Mengapa Siswa STEM Sering Kesulitan SAT Verbal?</span>
<h2 class="bm-title rv">Bukan soal kemampuan.<br>Tapi soal cara berpikir yang berbeda.</h2>
<div class="bm-grid">
<div class="bm-card rv d1">
<span class="bm-card-lbl">Kebiasaan yang Terbentuk</span>
<h4>Mencari jawaban yang pasti</h4>
<p>Siswa STEM terbiasa dengan soal yang memiliki satu jawaban benar — numerik, logis, terstruktur. Ini kekuatan besar. Tapi SAT Verbal meminta sesuatu yang berbeda.</p>
</div>
<div class="bm-card rv d2">
<span class="bm-card-lbl">Yang Diuji SAT Verbal</span>
<h4>Interpretasi berbasis evidence</h4>
<p>SAT Verbal bukan soal grammar. Siswa harus membaca argumentasi panjang, memahami implied meaning, dan menjawab berdasarkan nuance — bukan rule hafalan.</p>
</div>
</div>
<div class="bm-insight rv">"Kelemahan ini bukan kegagalan — ini gap yang sangat spesifik dan sangat bisa dijembatani, asalkan dimulai cukup awal dan dengan metode yang tepat."</div>
</div>
</div>
</section>
<!-- ─── ⑦ PARALLEL TRACK — white ─── -->
<section class="sec bg-w">
<div class="si">
<div class="sh c rv">
<span class="lbl m">Konsep IARP</span>
<h2 class="ttl dark">Sistem Parallel Readiness</h2>
<p class="desc muted">Siswa tidak memilih antara SNBT atau jalur internasional. Keduanya berjalan bersamaan dengan ritme yang realistis.</p>
</div>
<div class="track-wrap rv">
<div class="track-legend">
<div class="tleg"><div class="tleg-dot" style="background:var(--M)"></div>Jalur Internasional (IARP)</div>
<div class="tleg"><div class="tleg-dot" style="background:#2a7ac4"></div>Sekolah + SNBT</div>
</div>
<div class="track-lbl-row">
<span class="track-lbl-item">Jul '26</span>
<span class="track-lbl-item">Okt</span>
<span class="track-lbl-item">Jan '27</span>
<span class="track-lbl-item">Apr '27</span>
</div>
<!-- Track IARP -->
<div class="track-row">
<div class="track-name m">IARP<br>Internasional</div>
<div class="track-bar m" style="position:relative;height:10px;border-radius:5px;flex:1">
<div class="track-dot m" style="left:0%"></div>
<div class="track-dot m" style="left:28%;"><span class="track-label m" style="top:13px;left:-20px">Foundation</span></div>
<div class="track-dot m" style="left:57%;"><span class="track-label m" style="top:13px;left:-26px">Acceleration</span></div>
<div class="track-dot m" style="right:0"><span class="track-label m" style="top:13px;right:0">Performance</span></div>
</div>
</div>
<div style="height:28px"></div>
<!-- Track SNBT -->
<div class="track-row">
<div class="track-name b">Sekolah<br>+ SNBT</div>
<div class="track-bar b" style="flex:1;height:10px;border-radius:5px"></div>
</div>
<div style="height:24px"></div>
<div class="track-merge">Keduanya berjalan <strong>bersamaan</strong> — anak Anda tidak perlu memilih salah satu.</div>
</div>
</div>
</section>
<!-- ─── ⑧ SIMPLE WEEKLY — soft gray ─── -->
<section class="sec bg-lg">
<div class="si">
<div class="sh c rv">
<span class="lbl m">Yang Anak Jalani</span>
<h2 class="ttl dark">Setiap Minggu, Konkret & Terstruktur</h2>
</div>
<div class="weekly rv">
<div class="week-row"><div class="week-ico">🏫</div><div class="week-txt"><h4>Sesi Tatap Muka</h4><p>90 menit bersama tutor — small group 6–8 siswa</p></div><div class="week-freq">1× / minggu</div></div>
<div class="week-row"><div class="week-ico">📱</div><div class="week-txt"><h4>Micro-Drill Verbal</h4><p>Academic vocabulary challenge via WA group</p></div><div class="week-freq">3× / minggu</div></div>
<div class="week-row"><div class="week-ico">📋</div><div class="week-txt"><h4>Homework Terstruktur</h4><p>Tugas spesifik per sesi — terukur, tidak berlebihan</p></div><div class="week-freq">per sesi</div></div>
<div class="week-row"><div class="week-ico">📊</div><div class="week-txt"><h4>Progress Monitoring</h4><p>Dipantau tutor — laporan tertulis ke orang tua</p></div><div class="week-freq">bulanan</div></div>
<div class="week-row"><div class="week-ico">🎭</div><div class="week-txt"><h4>Mock & Checkpoint Resmi</h4><p>4 checkpoint formal + estimasi skor aktual</p></div><div class="week-freq">4× / program</div></div>
</div>
</div>
</section>
<!-- ─── ⑨ FOR WHO — white ─── -->
<section class="sec bg-w">
<div class="si">
<div class="sh c rv">
<span class="lbl m">Apakah IARP Cocok?</span>
<h2 class="ttl dark">Kami Memilih Siswa Kami dengan Sengaja</h2>
<p class="desc muted">Hanya 6–8 siswa per batch — satu-satunya cara kami bisa benar-benar bertanggung jawab terhadap setiap perkembangan.</p>
</div>
<div class="fw-grid">
<div class="fw y rv d1">
<div class="fw-t">✔ IARP untuk Anda jika…</div>
<ul>
<li>Siswa kelas 12 mempertimbangkan IUP ITB, IUP UI, IUP UGM, atau jalur internasional lainnya</li>
<li>Ingin mempersiapkan SAT & IELTS tanpa meninggalkan sekolah dan persiapan SNBT</li>
<li>Kuat di STEM, ingin membangun academic English reasoning secara terstruktur</li>
<li>Siap berkomitmen 9 bulan — konsisten hadir, mengerjakan drill, dan aktif belajar</li>
</ul>
</div>
<div class="fw n rv d2">
<div class="fw-t">✕ Bukan pilihan tepat jika…</div>
<ul>
<li>Mencari hasil dalam 1–2 bulan menjelang ujian</li>
<li>Tidak bisa hadir rutin dan mengerjakan homework mingguan</li>
<li>Mencari kelas besar dengan ratusan peserta</li>
<li>Belum serius mempertimbangkan jalur internasional</li>
</ul>
</div>
</div>
</div>
</section>
<!-- ─── ⑩ TIMELINE — soft gray ─── -->
<section class="sec bg-lg" id="jadwal">
<div class="si">
<div class="sh c rv">
<span class="lbl m">Sistem 9 Bulan</span>
<h2 class="ttl dark">3 Fase · 40 Sesi · 1 Tujuan</h2>
</div>
<div class="tl">
<div class="pr rv"><div class="pn">I</div><div class="pb"><div class="pt"><div class="pname">Fase Foundation</div><div class="pper">Juli – Sep 2026</div></div><ul class="plist"><li>Diagnostic assessment — pemetaan kemampuan awal</li><li>Pengenalan format SAT & IELTS Academic</li><li>Fondasi reasoning + academic English awareness</li><li>Tidak lagi panik menghadapi soal unfamiliar</li></ul></div></div>
<div class="pr rv"><div class="pn">II</div><div class="pb"><div class="pt"><div class="pname">Fase Acceleration</div><div class="pper">Okt – Des 2026</div></div><ul class="plist"><li>Strategi SAT Math & Verbal diperkuat sistematis</li><li>Reading stamina meningkat — passage panjang terkendali</li><li>IELTS Speaking mulai natural, bukan template hafalan</li><li>Checkpoint November: report tertulis untuk orang tua</li></ul></div></div>
<div class="pr rv"><div class="pn">III</div><div class="pb"><div class="pt"><div class="pname">Fase Performance</div><div class="pper">Jan – Apr 2027</div></div><ul class="plist"><li>Pressure handling dalam kondisi timed</li><li>Error pattern analysis + score optimization per siswa</li><li>Simulasi penuh — terbiasa kondisi ujian nyata</li><li>Hari ujian dihadapi dengan roadmap, bukan kecemasan</li></ul></div></div>
</div>
</div>
</section>
<!-- ─── ⑪ WA MOCKUP + CHECKPOINT — white ─── -->
<section class="sec bg-w">
<div class="si">
<div class="sh c rv">
<span class="lbl m">Ekosistem + Monitoring</span>
<h2 class="ttl dark">Hidup Antara Sesi. Terpantau Setiap Bulan.</h2>
</div>
<div class="mock-ck">
<div>
<p style="font-size:11.5px;font-weight:700;color:var(--M);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px">Micro-Drill Verbal · Senin pagi</p>
<div class="wa-mock rv">
<div class="wh">
<div class="wav">IARP</div>
<div><div class="whn">IARP · Micro-Drill Verbal</div><div class="whs">● Aktif</div></div>
</div>
<div class="wb">
<div class="wsys">Senin · 07.30</div>
<div class="wout">
<div class="wwords">📚 Kata minggu ini:</div>
<div style="font-size:12px;margin-top:5px;opacity:.85">alleviate · empirical · mitigate · conjecture · juxtapose</div>
<div style="font-size:11.5px;margin-top:7px;opacity:.65">Buat 1 kalimat. Kirim sebelum malam. ✏️</div>
<div class="wtick">✓✓ 07.30</div>
</div>
<div class="win"><strong>"Policies were introduced to <em>mitigate</em> the economic impact."</strong><div class="wtick-dark">Reza P. · 08.41</div></div>
<div class="wout" style="font-size:12px">
⭐ <strong>Best of the week: Reza P.</strong><br>
<span style="opacity:.7;font-size:11.5px">Konteks ekonomi — very academic, very clean.</span>
<div class="wtick">Tutor · 12.00</div>
</div>
</div>
</div>
</div>
<div>
<p style="font-size:11.5px;font-weight:700;color:var(--M);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px">4 Checkpoint Resmi · Laporan Tertulis</p>
<div class="ck rv">
<div class="cki open"><div class="ckh" onclick="ck(this)"><div class="ckn">1</div><div><div class="ck-per">Minggu 10 · Okt 2026</div><div class="ck-nm">Mini SAT Diagnostic Review</div></div><span class="ckar">▾</span></div><div class="ckb">Review progres Quant & English. Posisi saat ini, area yang membaik, area yang perlu perhatian — dikomunikasikan ke orang tua secara tertulis.</div></div>
<div class="cki"><div class="ckh" onclick="ck(this)"><div class="ckn">2</div><div><div class="ck-per">Minggu 17 · Nov 2026</div><div class="ck-nm">Academic English Progress Check</div></div><span class="ckar">▾</span></div><div class="ckb">Review reading accuracy & writing quality. Milestone dikomunikasikan kepada orang tua dalam ringkasan tertulis.</div></div>
<div class="cki"><div class="ckh" onclick="ck(this)"><div class="ckn">3</div><div><div class="ck-per">Minggu 27 · Jan 2027</div><div class="ck-nm">IELTS Mini Mock + Speaking Feedback</div></div><span class="ckar">▾</span></div><div class="ckb">Simulasi Speaking & review Writing. Estimasi band IELTS aktual diberikan sebagai momentum booster.</div></div>
<div class="cki"><div class="ckh" onclick="ck(this)"><div class="ckn">4</div><div><div class="ck-per">Minggu 33 · Feb 2027</div><div class="ck-nm">SAT Timed Challenge</div></div><span class="ckar">▾</span></div><div class="ckb">Drill Quant + Verbal kondisi timed. Baseline untuk optimasi sesi-sesi terakhir program.</div></div>
</div>
</div>
</div>
</div>
</section>
<!-- ─── ⑫ VALUE STACK — MAROON ─── -->
<section class="sec bg-m">
<div class="si">
<div class="sh c rv">
<span class="lbl w">Yang Kamu Dapatkan</span>
<h2 class="ttl white">Semua Ini dalam Satu Program</h2>
<p class="desc white" style="opacity:.8">9 bulan · 40 sesi · ekosistem aktif · small group 6–8 siswa</p>
</div>
<div class="vs2">
<div class="vr rv d1"><span class="vico">🏫</span><div><h4>40 Sesi Tatap Muka (90 mnt)</h4><p>Small group 6–8 siswa. Bukan sekadar hadir — setiap siswa benar-benar diperhatikan.</p></div></div>
<div class="vr rv d2"><span class="vico">📱</span><div><h4>Micro-Drill Verbal 3×/Minggu</h4><p>Academic vocabulary aktif dilatih via WA group selama 9 bulan penuh.</p></div></div>
<div class="vr rv d1"><span class="vico">🔍</span><div><h4>Diagnostic Assessment</h4><p>Pemetaan kemampuan awal di hari pertama — materi langsung tepat sasaran.</p></div></div>
<div class="vr rv d2"><span class="vico">📊</span><div><h4>4 Checkpoint + Monthly Report</h4><p>Orang tua menerima laporan tertulis berkala — progress selalu terpantau.</p></div></div>
<div class="vr rv d1"><span class="vico">🎭</span><div><h4>Mini Mock + Speaking Feedback</h4><p>IELTS Speaking & SAT Timed Challenge dengan feedback personal dari tutor.</p></div></div>
<div class="vr rv d2"><span class="vico">📚</span><div><h4>Modul Terstruktur 3 Fase</h4><p>Foundation → Acceleration → Performance — progresif dan saling menguatkan.</p></div></div>
</div>
<div class="va rv">
<div class="va-title">Jika Diambil Terpisah vs. IARP</div>
<table class="va-tbl">
<tr><td>SAT Mentoring terpisah (9 bulan)</td><td>± Rp 8.000.000</td></tr>
<tr><td>IELTS Mentoring terpisah (9 bulan)</td><td>± Rp 6.000.000</td></tr>
<tr><td>Progress Monitoring + 4 Checkpoint</td><td>± Rp 2.000.000</td></tr>
<tr><td>Mini Mock + Speaking Feedback</td><td>± Rp 2.000.000</td></tr>
<tr><td><strong>Total nilai terpisah</strong></td><td><strong>± Rp 18.000.000+</strong></td></tr>
<tr class="va-highlight"><td>IARP Early Bird 1</td><td>Rp 12.500.000</td></tr>
</table>
</div>
</div>
</section>
<!-- ─── KANG DIDIN QUOTE — like screenshot ─── -->
<div class="didin" id="trust">
<div class="didin-inner rv">
<span class="didin-qm">"</span>
<p class="didin-q">Habiskan jatah salahmu saat belajar. Supaya saat ujian sebenarnya, kamu sudah kehabisan jatah salah.</p>
<div class="didin-line"></div>
<div class="didin-name">Kang Didin</div>
<div class="didin-role">Founder Jagoan TPS · 25+ Tahun Pengalaman</div>
</div>
</div>
<!-- ─── ⑬ SOCIAL PROOF — white ─── -->
<section class="sec bg-w">
<div class="si">
<div class="sh c rv">
<span class="lbl m">Kata Mereka</span>
<h2 class="ttl dark">Pengalaman Nyata dari Orang Tua & Siswa</h2>
</div>
<div class="sp-grid">
<div class="sp p rv d1"><div class="sp-stars">★★★★★</div><p class="sp-q">"Yang saya suka adalah laporannya konsisten — saya tahu persis progres anak saya setiap bulan, bukan hanya percaya begitu saja."</p><div class="sp-who"><strong>Orang tua siswa IPA</strong> · Batch 2025 · Target IUP UGM</div></div>
<div class="sp rv d2"><div class="sp-stars">★★★★★</div><p class="sp-q">"Awalnya saya takut IELTS speaking. Setelah beberapa bulan micro-drill, saya mulai bisa menyusun argumen secara spontan tanpa panik."</p><div class="sp-who"><strong>Siswa kelas 12, jurusan MIPA</strong> · Program IARP 2025</div></div>
<div class="sp rv d1"><div class="sp-stars">★★★★★</div><p class="sp-q">"Saya kira SAT itu mirip UNBK. Karena mulai awal kelas 12, saya punya waktu untuk benar-benar memahami cara berpikirnya."</p><div class="sp-who"><strong>Siswa kelas 12, jurusan IPA</strong> · Program IARP 2025</div></div>
<div class="sp p rv d2"><div class="sp-stars">★★★★★</div><p class="sp-q">"Investasi yang bikin tenang bukan karena murah — tapi karena saya tahu anak saya benar-benar terpantau. Setiap checkpoint ada laporan dan rekomendasi konkret."</p><div class="sp-who"><strong>Orang tua siswa</strong> · Target IUP ITB · Batch 2025</div></div>
</div>
</div>
</section>
<!-- ─── ⑭ CREDIBILITY — soft gray ─── -->
<section class="sec bg-lg">
<div class="si">
<div class="cred-g">
<div class="rv">
<span class="lbl m">Tentang Jagoan TPS</span>
<h2 class="ttl dark">IARP Lahir dari Observasi Nyata</h2>
<p class="desc muted">Setelah bertahun-tahun mendampingi siswa STEM Indonesia, kami menemukan pola yang sama: kuat di logika, belum terbiasa academic English reasoning.</p>
<p class="desc muted" style="margin-top:10px">IARP lahir dari pola itu — bukan dari teori.</p>
<div class="cred-pts">
<div class="cp"><span class="cp-ico">🎯</span><div><h5>Sistem, bukan sekadar les tambahan</h5><p>Diagnostic, checkpoint, laporan orang tua, micro-drill — dirancang sebagai sistem yang terukur dan bertanggung jawab.</p></div></div>
<div class="cp"><span class="cp-ico">👥</span><div><h5>6–8 siswa — komitmen, bukan keterbatasan</h5><p>Kami sengaja membatasi. Lebih besar berarti tidak bisa bertanggung jawab penuh terhadap setiap siswa.</p></div></div>
<div class="cp"><span class="cp-ico">📍</span><div><h5>Jagoan TPS & Funtastic Learning Center</h5><p>Hubungi kami untuk detail lokasi, jadwal batch, dan sesi konsultasi gratis.</p></div></div>
</div>
</div>
<div class="cred-box rv d2">
<div class="cs-row">
<div class="cs"><div class="csn">40</div><div class="csl">Sesi Terstruktur</div></div>
<div class="cs"><div class="csn">6–8</div><div class="csl">Siswa / Batch</div></div>
<div class="cs"><div class="csn">4</div><div class="csl">Checkpoint</div></div>
</div>
<div class="cred-i"><strong>Pola yang kami temukan:</strong> Siswa STEM unggul di kuantitatif, tapi sering mengalami hambatan di academic reading speed dan evidence-based reasoning. Itulah yang IARP perkuat secara sistematis.</div>
<div class="cred-t"><strong>Proyeksi skor siswa yang konsisten:</strong><br>SAT Math <strong>650–780</strong> · SAT Verbal <strong>580–680</strong> · IELTS Academic <strong>6.0–7.0+</strong></div>
<div class="cred-i"><strong>Target kampus:</strong><br>IUP ITB · IUP UI · IUP UGM · International Pathway lainnya</div>
</div>
</div>
</div>
</section>
<!-- ─── ⑮ PRICING — white ─── -->
<section class="sec bg-w" id="harga">
<div class="si">
<div class="sh c rv">
<span class="lbl m">Investasi Program</span>
<h2 class="ttl dark">Daftar Lebih Awal — Hemat & Aman Kursi</h2>
<p class="desc muted">Kuota hanya 6–8 siswa per batch. Pendaftaran awal bukan hanya soal harga — tapi memastikan tempat di batch yang diinginkan.</p>
</div>
<!-- COUNTDOWN STRIP -->
<div class="cdwn-wrap rv" style="margin-bottom:32px">
<div class="cdwn-inner">
<div class="cdwn-label">⏳ Early Bird 1 berakhir dalam</div>
<div class="cdwn-boxes">
<div class="cdwn-box"><span class="cdwn-n" id="cd-d">--</span><span class="cdwn-l">Hari</span></div>
<div class="cdwn-sep">:</div>
<div class="cdwn-box"><span class="cdwn-n" id="cd-h">--</span><span class="cdwn-l">Jam</span></div>
<div class="cdwn-sep">:</div>
<div class="cdwn-box"><span class="cdwn-n" id="cd-m">--</span><span class="cdwn-l">Menit</span></div>
<div class="cdwn-sep">:</div>
<div class="cdwn-box"><span class="cdwn-n" id="cd-s">--</span><span class="cdwn-l">Detik</span></div>
</div>
<div class="cdwn-sub">Hemat <strong>Rp 2.500.000</strong> sebelum 15 Mei 2026 pukul 23:59</div>
</div>
</div>
<div class="pw">
<div class="prc rv d1">
<div class="ptag">Early Bird 1</div>
<div class="pamt">Rp 12.500.000</div>
<div class="pmo">≈ Rp 1,38 juta / bulan</div>
<div class="psav">Hemat Rp 2.500.000</div>
<div class="pdl">⏰ s/d 15 Mei 2026</div>
<a href="https://wa.me/6287779729505?text=Halo%2C%20saya%20ingin%20amankan%20kursi%20IARP%20Early%20Bird%201" target="_blank" class="bMf">Amankan Kursi EB1</a>
</div>
<div class="prc hot rv d2">
<div class="prbn">Hemat Terbesar</div>
<div class="ptag">Early Bird 2</div>
<div class="pamt">Rp 13.500.000</div>
<div class="pmo">≈ Rp 1,5 juta / bulan</div>
<div class="psav">Hemat Rp 1.500.000</div>
<div class="pdl">⏰ s/d 15 Juni 2026</div>
<a href="https://wa.me/6287779729505?text=Halo%2C%20saya%20ingin%20amankan%20kursi%20IARP%20Early%20Bird%202" target="_blank" class="bMf">Amankan Kursi EB2</a>
</div>
<div class="prc rv d3">
<div class="ptag">Harga Normal</div>
<div class="pamt">Rp 15.000.000</div>
<div class="pmo">≈ Rp 1,67 juta / bulan</div>
<div class="psav" style="color:var(--T3)">Harga Reguler</div>
<div class="pdl">Setelah early bird habis</div>
<a href="https://wa.me/6287779729505?text=Halo%2C%20saya%20ingin%20cek%20ketersediaan%20batch%20IARP" target="_blank" class="bMf">Hubungi Kami</a>
</div>
</div>
<p class="pnote rv">* Harga dapat berubah sewaktu-waktu. Kuota per batch: 6–8 siswa.</p>
</div>
</section>
<!-- ─── ⑯ FINAL CTA — MAROON CLIMAX ─── -->
<div class="cta">
<div class="cta-in">
<div class="cta-urgency rv">Batch kecil · Cepat penuh · Hanya 6–8 siswa</div>
<h2 class="cta-h rv">Semakin dekat ke deadline,<br>semakin sedikit ruang untuk<br><em>membangun skill secara bertahap.</em></h2>
<p class="cta-sub rv">Pilihan terbaik bukan panik di akhir — tapi memulai saat waktu masih berpihak.</p>
<div class="cta-btns rv">
<a href="https://wa.me/6287779729505?text=Halo%2C%20saya%20tertarik%20dengan%20IARP.%20Bisa%20konsultasi%20untuk%20anak%20saya%3F" target="_blank" class="wa-btn">💬 Konsultasi Jalur IUP via WhatsApp</a>
<a href="#harga" class="bOW">Lihat Paket Harga ↑</a>
</div>
<p class="cta-contact rv">📞 087779729505 · Jagoan TPS & Funtastic Learning Center</p>
</div>
</div>
<!-- Sticky mobile WA button -->
<a href="https://wa.me/6287779729505?text=Halo%2C%20saya%20ingin%20konsultasi%20program%20IARP" target="_blank" class="wa-sticky" id="wa-sticky">
💬 Konsultasi via WhatsApp
</a>
<!-- ─── FOOTER ─── -->
<footer>
<div class="fi">
<div>
<div style="margin-bottom:6px"><img src="https://horizons-cdn.hostinger.com/45e9edde-7e24-4817-84b2-8aa128980aab/header-logo-spIle.png" alt="Jagoan TPS" style="height:36px;width:auto;display:block;object-fit:contain;filter:none"></div>
<div class="fb-sub">International Academic Readiness Program · kelasinternasional.com</div>
</div>
<div class="fls">
<a href="#program">Program</a><a href="#jadwal">Fase</a>
<a href="#harga">Investasi</a><a href="#trust">Kang Didin</a>
<a href="https://wa.me/6287779729505" target="_blank">WhatsApp</a>
</div>
<div class="fcopy">© 2026 Jagoan TPS · All rights reserved. · kelasinternasional.com</div>
</div>
</footer>
<script>
// Countdown timer — EB1 deadline: 15 Mei 2026 23:59:59 WIB (UTC+7)
const eb1Deadline = new Date('2026-05-15T23:59:59+07:00');
const cdWrap = document.querySelector('.cdwn-wrap');
function pad(n){ return String(n).padStart(2,'0'); }
function updateCountdown(){
const now = new Date();
const diff = eb1Deadline - now;
if(diff <= 0){
// EB1 expired — update UI
document.getElementById('cd-d').textContent = '00';
document.getElementById('cd-h').textContent = '00';
document.getElementById('cd-m').textContent = '00';
document.getElementById('cd-s').textContent = '00';
if(cdWrap){
cdWrap.classList.add('cdwn-expired');
cdWrap.querySelector('.cdwn-label').textContent = '⚠️ Early Bird 1 sudah berakhir';
cdWrap.querySelector('.cdwn-sub').innerHTML = 'Early Bird 2 masih tersedia hingga <strong>15 Juni 2026</strong>';
}
clearInterval(cdTimer);
return;
}
const days = Math.floor(diff / (1000*60*60*24));
const hours = Math.floor((diff % (1000*60*60*24)) / (1000*60*60));
const mins = Math.floor((diff % (1000*60*60)) / (1000*60));
const secs = Math.floor((diff % (1000*60)) / 1000);
document.getElementById('cd-d').textContent = pad(days);
document.getElementById('cd-h').textContent = pad(hours);
document.getElementById('cd-m').textContent = pad(mins);
document.getElementById('cd-s').textContent = pad(secs);
// Pulse the box red when < 1 day
if(days === 0 && cdWrap){
cdWrap.style.background = 'linear-gradient(135deg,#fff0f3,#fff)';
cdWrap.style.borderColor = 'rgba(152,12,63,.4)';
}
}
updateCountdown();
const cdTimer = setInterval(updateCountdown, 1000);
// Hide sticky WA when hero CTA is visible
const heroSection = document.querySelector('.hero');
const stickyWa = document.getElementById('wa-sticky');
if(stickyWa){
const heroObs = new IntersectionObserver(entries=>{
entries.forEach(e=>{ stickyWa.style.opacity = e.isIntersecting ? '0' : '1'; stickyWa.style.pointerEvents = e.isIntersecting ? 'none' : 'auto'; });
},{threshold:.3});
heroObs.observe(heroSection);
}
window.addEventListener('scroll',()=>nav.classList.toggle('sc',scrollY>56),{passive:true});
// Hamburger
const ham=document.getElementById('ham'),mn=document.getElementById('mn');
ham.addEventListener('click',()=>mn.classList.toggle('open'));
mn.querySelectorAll('a').forEach(a=>a.addEventListener('click',()=>mn.classList.remove('open')));
// Reveal
const ro=new IntersectionObserver(es=>{es.forEach(e=>{if(e.isIntersecting){e.target.classList.add('s');ro.unobserve(e.target)}})},{threshold:.1,rootMargin:'0px 0px -28px 0px'});
document.querySelectorAll('.rv').forEach(el=>ro.observe(el));
// Accordion
function ck(hd){const item=hd.parentElement,was=item.classList.contains('open');document.querySelectorAll('.cki').forEach(i=>i.classList.remove('open'));if(!was)item.classList.add('open')}
</script>
</body>
</html>