
:root{
 --navy:#102e63;--navy2:#173e83;--blue:#17a6ed;--teal:#19a9a3;
 --yellow:#ffc319;--orange:#ff8a00;--ink:#18233c;--muted:#66758d;
 --soft:#f4f8fd;--line:#e2eaf4;--white:#fff;--shadow:0 16px 44px rgba(16,46,99,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Noto Sans",sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input{font:inherit}
.container{width:min(1160px,calc(100% - 36px));margin:auto}
.site-header{height:72px;position:sticky;top:0;z-index:99;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{height:100%;display:flex;align-items:center}.brand img{width:115px;max-height:61px;object-fit:contain}.nav nav{margin-left:auto;display:flex;gap:26px;font-weight:800;color:#50617a}.nav nav a:hover{color:var(--blue)}
.menu-btn{display:none;margin-left:auto;border:0;background:none;font-size:24px}
.hero{padding:78px 0 70px;background:radial-gradient(circle at 84% 13%,#fff1aa 0,transparent 30%),radial-gradient(circle at 8% 85%,#d8f4ff 0,transparent 31%),linear-gradient(#fff,#edf7ff)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.11em;font-weight:900;color:#0b8b99}.eyebrow.light{color:#72e4db}
.hero h1{font-size:clamp(42px,5.3vw,72px);line-height:1.04;color:var(--navy);margin:12px 0 18px;max-width:700px}.hero-lead{font-size:18px;line-height:1.75;color:#5e6c84;max-width:700px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:15px;font-weight:900}.primary{background:linear-gradient(135deg,var(--blue),#3475ff);color:white;box-shadow:0 10px 25px rgba(23,166,237,.22)}.secondary{background:white;border:2px solid #dce8f5;color:var(--navy)}
.hero-cycle{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#47617e}.hero-cycle b{background:white;border:1px solid #dbe8f4;padding:8px 12px;border-radius:999px}.hero-logo{background:rgba(255,255,255,.72);border:1px solid white;border-radius:32px;padding:24px;box-shadow:var(--shadow)}
.section{padding:82px 0}.section h2{color:var(--navy);font-size:clamp(30px,4vw,48px);line-height:1.1;margin:10px 0}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.body-copy p{font-size:17px;line-height:1.75;color:#5e6c83;margin-top:0}.soft{background:var(--soft)}
.flow{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin:32px 0 20px}.flow div{background:white;border:1px solid var(--line);border-radius:17px;padding:15px 12px;min-height:120px}.flow b{display:grid;place-items:center;width:31px;height:31px;background:#eaf7ff;color:#087ab5;border-radius:10px;margin-bottom:13px}.flow strong{display:block;color:var(--navy);font-size:14px;line-height:1.25}.flow small{display:block;color:#7a879a;margin-top:6px}.flow .blue{background:#eafaff;border-color:#bce7f3}.flow .yellow{background:#fff8df;border-color:#efd787}
.philosophy{background:#102f68;color:white;border-radius:18px;padding:20px 24px;line-height:1.6}
.section-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.section-title-row p{color:var(--muted)}.search input{width:280px;border:1px solid #d8e3f0;border-radius:13px;padding:12px 14px;outline:none}.search input:focus{border-color:#75c8ec;box-shadow:0 0 0 4px #e8f7fd}
.stage-list{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:25px}.stage-card{text-align:left;background:white;border:1px solid var(--line);border-radius:18px;padding:18px;cursor:pointer;min-height:190px;box-shadow:0 7px 22px rgba(16,46,99,.05);transition:.2s}.stage-card:hover,.stage-card.active{transform:translateY(-3px);border-color:#77ccef;box-shadow:var(--shadow)}.stage-no{display:inline-block;font-size:11px;color:#fff;background:var(--navy);border-radius:999px;padding:6px 9px;font-weight:900}.stage-card strong{display:block;color:var(--navy);font-size:17px;line-height:1.25;margin:12px 0 8px}.stage-card small{display:block;color:#738095;line-height:1.45}.card-action{display:block;color:#1686bd;font-weight:900;font-size:13px;margin-top:13px}
.stage-detail-wrap{margin-top:38px}.stage-panel{display:none;border-top:1px solid var(--line);padding-top:55px;scroll-margin-top:85px}.stage-panel.active{display:block}.panel-header{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:22px}.panel-header h2{font-size:40px}.panel-header p{color:#65748b;line-height:1.7;max-width:780px}.stage-pill{display:inline-block;background:var(--navy);color:white;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900}.video-btn{white-space:nowrap;margin-top:8px}
.opening-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.notice{display:flex;gap:16px;padding:19px;border-radius:18px;margin:12px 0}.notice p{color:#586a80;line-height:1.55;margin:6px 0}.notice.stamp{background:#fff4f4;border:1px solid #ffd4d4}.notice.recall,.notice.first{background:#eef9ff;border:1px solid #c5e7f2}.notice-icon{display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:14px;background:#168fc1;color:white;font-weight:900;font-size:20px}.stamp-icon{display:grid;place-items:center;flex:0 0 67px;height:67px;border:4px solid #ef414c;border-radius:50%;color:#ef414c;font-weight:900;font-size:14px;transform:rotate(-7deg);background:#fff}.teacher-line{font-weight:800;color:#e1434d!important}
.time-strip{display:flex;gap:9px;overflow-x:auto;padding:8px 0 18px}.time-strip span{min-width:128px;flex:1;background:#f5f8fc;border:1px solid var(--line);border-radius:13px;padding:10px;text-align:center;color:#64728a;font-size:13px}.time-strip b{display:block;color:var(--navy);margin-top:4px}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-card{border:1px solid var(--line);border-radius:20px;padding:22px;background:white;box-shadow:0 8px 25px rgba(16,46,99,.05)}.info-card p{color:#5b6a80;line-height:1.65}.card-head{display:flex;gap:13px;align-items:center}.card-head .icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#eaf7ff;color:#087fb8;font-weight:900}.kicker{font-size:11px;letter-spacing:.09em;font-weight:900;color:#0b899a}.card-head h3,.bottom-grid h3{margin:4px 0;color:var(--navy)}.example-box{padding:13px;border-radius:12px;background:#f4f7fb;color:#42536c;font-weight:800}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.chips span{background:#edf9ff;border:1px solid #cae7f1;border-radius:999px;padding:8px 11px;font-weight:800;color:#21627a;font-size:14px}.compact span{font-size:13px}.mini-note{font-size:14px!important;color:#7c8799!important}.self-card{background:#effaff;border-color:#b8e5f0}.reflection-card{background:#fff8e3;border-color:#edd58b}.reflection-prompt{font-weight:800;color:#6d570f!important;font-size:16px}
.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.bottom-grid article{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:20px}.bottom-grid p{color:#66758b;line-height:1.6}
.dark{background:linear-gradient(135deg,#0d285d,#164683);color:white}.dark h2{color:white}.dark p{color:#cad8ed;line-height:1.7}.pretest-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.downloads{background:white;border-radius:22px;padding:12px}.download-card{display:flex;gap:14px;align-items:center;padding:15px;border-radius:14px;color:var(--ink)}.download-card:hover{background:#f4f8fd}.file-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eaf7ff;color:#1084bd;font-weight:900}.download-card span:nth-child(2){display:flex;flex-direction:column}.download-card small{color:#7c899c;margin-top:3px}
.final-cta{padding:55px 0}.cta-box{display:flex;justify-content:space-between;align-items:center;gap:30px;background:linear-gradient(135deg,#effaff,#fff5cf);border:1px solid #e0eaf3;border-radius:25px;padding:30px 34px}.cta-box h2{font-size:32px}
footer{border-top:1px solid var(--line);padding:28px 0}.footer{display:flex;justify-content:space-between;align-items:center;color:#758197}.footer div{display:flex;flex-direction:column}.footer strong{color:var(--navy)}
@media(max-width:1000px){.flow{grid-template-columns:repeat(4,1fr)}.stage-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.nav nav{display:none}.menu-btn{display:block}.nav.open nav{display:flex;position:absolute;left:0;right:0;top:72px;background:white;padding:20px 24px;flex-direction:column;border-bottom:1px solid var(--line)}.hero-grid,.split,.pretest-grid{grid-template-columns:1fr}.hero-logo{max-width:600px}.content-grid,.bottom-grid,.opening-grid{grid-template-columns:1fr}.panel-header,.section-title-row,.cta-box{flex-direction:column;align-items:stretch}.stage-list{grid-template-columns:repeat(2,1fr)}.search input{width:100%}}
@media(max-width:500px){.section{padding:60px 0}.hero{padding:55px 0}.hero h1{font-size:42px}.flow{grid-template-columns:repeat(2,1fr)}.stage-list{grid-template-columns:1fr}.stage-card{min-height:auto}.panel-header h2{font-size:32px}.footer{flex-direction:column;gap:10px;align-items:flex-start}}

.tujuan-hero{
  grid-column:1/-1;
  background:linear-gradient(135deg,#102f68,#1769a8);
  color:#fff;border-radius:22px;padding:26px 28px;margin-bottom:16px;
  box-shadow:0 14px 34px rgba(16,47,104,.18)
}
.tujuan-label{
  display:inline-block;font-size:12px;letter-spacing:.11em;font-weight:900;
  color:#8ef0e6;margin-bottom:8px
}
.tujuan-hero h3{margin:0 0 8px;font-size:26px}
.tujuan-text{
  margin:0;color:#fff!important;font-size:19px!important;line-height:1.65!important;
  font-weight:800
}
.quiz-note{
  margin-top:17px;padding:12px 14px;border-radius:13px;
  background:rgba(255,255,255,.12);color:#eaf4ff;font-size:14px;line-height:1.55
}
.key-card .card-head h3{font-size:18px;line-height:1.4}

.whole-class-note{
  margin-top:14px;padding:18px 22px;border-radius:18px;
  background:#fff;border:1px solid #cfe5f1;color:#51657b;line-height:1.65
}
.whole-class-note strong{color:#0d6f96}
.class-flow{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0
}
.class-flow span{
  background:#fff;border:1px solid #c8e5ef;border-radius:12px;
  padding:10px;font-size:13px;font-weight:800;color:#315f72
}
.class-flow b{
  display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;
  background:#168bb9;color:#fff;margin-right:5px
}
.practice-together{
  background:linear-gradient(135deg,#f0f8ff,#f8fbff)!important;
  border-color:#c9e2f0!important
}
.practice-flow{
  display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:13px 0;color:#607188
}
.practice-flow span{
  background:#fff;border:1px solid #cbdfea;border-radius:999px;
  padding:7px 10px;font-weight:800;color:#27627d
}
@media(max-width:700px){
  .class-flow{grid-template-columns:1fr 1fr}
}

/* V7 — usage guide */
.howto-lead{max-width:850px;color:#5e6d83;font-size:17px;line-height:1.75}
.howto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.howto-grid article{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 24px rgba(16,46,99,.05)}
.howto-no{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:var(--navy);color:#fff;font-weight:900}
.howto-grid strong{color:var(--navy);font-size:17px}
.howto-grid p{color:#66758b;line-height:1.6;margin:7px 0 0}

/* V7 — vertical global flow */
.alur-intro{color:#65758b;line-height:1.65;max-width:760px}
.flow-vertical{max-width:760px;margin:30px auto}
.flow-step{display:flex;align-items:center;gap:16px;border-radius:18px;padding:17px 20px;border:2px solid transparent}
.flow-step>b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.85);font-size:16px}
.flow-step strong{display:block;color:#20324a;font-size:17px}
.flow-step small{display:block;margin-top:4px;color:#586b80;line-height:1.45}
.flow-arrow{text-align:center;display:block;font-size:25px;color:#8fa1b7;line-height:28px}
.step-sticker{background:#fff0f0;border-color:#ffcaca}.step-sticker>b{color:#d84452}
.step-recall{background:#f1efff;border-color:#d9d1ff}.step-recall>b{color:#6850c8}
.step-quiz{background:#f6efff;border-color:#e5d0ff}.step-quiz>b{color:#8651b9}
.step-stm{background:#edf7ff;border-color:#c6e4fa}.step-stm>b{color:#167fbd}
.step-check{background:#eafafb;border-color:#b8e8e9}.step-check>b{color:#168b8f}
.step-reflection{background:#fff8df;border-color:#efd886}.step-reflection>b{color:#b07d00}
.step-practice{background:#eefaf0;border-color:#c8e9cd}.step-practice>b{color:#348448}
.step-drill{background:#fff3e7;border-color:#f0d1ae}.step-drill>b{color:#be6d16}

/* Stage detail sequence */
.stage-flow-title{margin:28px 0 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}
.stage-flow-title span{font-size:12px;letter-spacing:.1em;font-weight:900;color:#526780}
.stage-flow-title small{color:#8491a3}
.stage-opening{display:block}
.stage-first-note{padding:13px 16px;border-radius:14px;background:#f5f8fb;color:#64748a;margin-bottom:14px}
.content-grid{display:block!important}
.tujuan-hero{margin-bottom:18px!important}
.lesson-step{border-radius:20px;padding:22px 24px;margin:14px 0;border:2px solid transparent;box-shadow:0 7px 20px rgba(16,46,99,.05)}
.lesson-step h3{color:var(--navy);margin:8px 0 10px;font-size:20px}
.lesson-step p{color:#596a80;line-height:1.65}
.step-tag{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:7px}
.step-tag span{font-size:11px;letter-spacing:.09em;font-weight:900}
.step-tag b{font-size:12px;background:rgba(255,255,255,.8);padding:6px 9px;border-radius:999px;color:#53657a}
.detail-sticker{background:#fff0f0;border-color:#ffcaca}
.detail-recall{background:#f1efff;border-color:#d9d1ff}
.detail-quiz{background:#f6efff;border-color:#e5d0ff}.detail-quiz .step-tag span{color:#8651b9}
.detail-stm{background:#edf7ff;border-color:#c6e4fa}.detail-stm .step-tag span{color:#167fbd}
.detail-check{background:#eafafb;border-color:#b8e8e9}.detail-check .step-tag span{color:#168b8f}
.detail-reflection{background:#fff8df;border-color:#efd886}.detail-reflection .step-tag span{color:#9a7100}
.detail-practice{background:#eefaf0!important;border-color:#c8e9cd!important}.detail-practice .step-tag span{color:#348448}
.detail-drill{background:#fff3e7;border-color:#f0d1ae}.detail-drill .step-tag span{color:#be6d16}
.prompt-explain{background:#fff;border-radius:12px;padding:12px 14px;border:1px solid rgba(30,120,180,.15)}
.teacher-tip-line{font-weight:800;color:#7644a7!important}
.notice-icon,.stamp-icon{display:none!important}

/* Make video impossible to miss */
.video-btn{
  min-height:58px!important;padding:0 28px!important;font-size:15px!important;
  background:linear-gradient(135deg,#ff8b00,#ffbd00)!important;
  color:#fff!important;border:3px solid #fff3c5!important;
  box-shadow:0 12px 28px rgba(255,145,0,.35)!important;
  animation:videoPulse 2.8s ease-in-out infinite
}
@keyframes videoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}

@media(max-width:800px){
  .howto-grid{grid-template-columns:1fr}
  .stage-flow-title{align-items:flex-start;flex-direction:column;gap:3px}
  .step-tag{align-items:flex-start;flex-direction:column;gap:5px}
}

.opening-grid{display:block!important}
.bottom-grid{display:block!important}
.info-card{box-shadow:none}

.video-pending{cursor:pointer;border:0}


/* V12 Stage 1 mobile-lite prototype */
.mobile-lite{padding:18px 20px}
.mobile-lite h3{margin:6px 0 8px}
.mobile-lite p{margin:6px 0}
.mobile-lite .teacher-phrases span{
  font-size:17px;font-weight:800;line-height:1.45;padding:13px 15px;
}
.mobile-lite .big-action,.mobile-lite .reflection-prompt{
  font-size:17px;font-weight:800;line-height:1.5;
}
@media(max-width:800px){
  #stage-1 .lesson-step.mobile-lite{padding:16px 17px;margin:10px 0}
  #stage-1 .mobile-lite h3{font-size:17px;line-height:1.35}
  #stage-1 .mobile-lite p{font-size:14px;line-height:1.5}
  #stage-1 .mobile-lite .teacher-phrases{gap:8px}
  #stage-1 .mobile-lite .teacher-phrases span{
    display:block;width:100%;font-size:16px;padding:12px 13px;
  }
  #stage-1 .mobile-lite .big-action,#stage-1 .mobile-lite .reflection-prompt{font-size:16px}
}


/* ===== V14: link back to SANSUNESIA.COM ===== */
.back-sls{
  margin-left:18px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid #d9e7f2;
  background:#f6fbff;
  color:var(--navy);
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
  transition:.2s ease;
}
.back-sls span{
  color:#0b8b99;
  font-weight:800;
}
.back-sls:hover{
  background:#eaf7ff;
  border-color:#b9dcee;
  transform:translateY(-1px);
}
@media(max-width:780px){
  .back-sls{
    margin-left:auto;
    margin-right:8px;
    min-height:36px;
    padding:0 10px;
    font-size:12px;
  }
  .back-sls span{
    display:none;
  }
  .menu-btn{
    margin-left:0;
  }
}
