*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#113467;background:#fff}.topbar{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#ffffffef;backdrop-filter:blur(10px);z-index:30;border-bottom:1px solid #e6edf4}.brand{height:64px}.brand img{height:100%;max-width:220px;object-fit:contain;object-position:left}.top-cta{text-decoration:none;background:#ff8c14;color:#fff;font-weight:900;padding:13px 18px;border-radius:999px;font-size:17px}.panel{min-height:92vh;padding:9vh 6vw;display:flex;align-items:center}.wrap{width:min(1180px,100%);margin:auto}.center{text-align:center}.eyebrow{font-size:clamp(17px,2vw,23px);letter-spacing:.13em;font-weight:900;color:#0f969e;margin-bottom:24px}.eyebrow.light{color:#88eee7}h1,h2{letter-spacing:-.045em;line-height:.96;margin:0 0 34px}h1{font-size:clamp(48px,7.1vw,96px)}h2{font-size:clamp(45px,6vw,80px)}h1 span,h2 span{color:#159bd3}.hero{background:linear-gradient(145deg,#fff,#eef9ff)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:45px;align-items:center}.pill,.cta{border:0;border-radius:999px;background:#113467;color:#fff;padding:18px 27px;font-size:clamp(20px,2vw,26px);font-weight:900;cursor:pointer}.cta{background:#ff8c14}.media-button{border:0;background:none;padding:0;cursor:pointer;position:relative;overflow:hidden;border-radius:32px}.media-button img{width:100%;height:100%;display:block;object-fit:cover}.media-button>span,.visual-tag{position:absolute;right:18px;bottom:18px;background:#fff;color:#113467;padding:14px 18px;border-radius:999px;font-weight:900;font-size:18px;box-shadow:0 10px 26px #0002}.hero-photo{height:560px}.why{background:#f5faff}.big-statement{font-size:clamp(28px,4vw,50px);font-weight:800;line-height:1.12;margin:24px 0 42px;color:#4b617b}.big-statement b{color:#ff8c14}.challenge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.challenge-grid button{border:0;background:#fff;border-radius:26px;padding:30px 14px;min-height:220px;box-shadow:0 14px 35px #11346714;color:#113467;cursor:pointer}.challenge-grid strong{display:block;font-size:52px;margin-bottom:18px}.challenge-grid b{font-size:clamp(18px,2vw,25px);line-height:1.16}.text-link{display:inline-block;border:0;background:none;color:#159bd3;font-size:21px;font-weight:900;margin-top:25px;cursor:pointer}.solution{background:linear-gradient(145deg,#113467,#185594);color:#fff}.solution h2{color:#fff}.solution h2 span{color:#58d8f4}.sense-orbit{margin:40px auto;display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:18px;align-items:center;max-width:960px}.sense-orbit button,.sense-core{min-height:170px;border-radius:50%;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900}.sense-orbit button{background:#fff;color:#113467;cursor:pointer}.sense-orbit button b{font-size:clamp(24px,3vw,38px)}.sense-orbit button span{font-size:16px;color:#159bd3;margin-top:5px}.sense-core{background:#ffca31;color:#113467;font-size:clamp(30px,4vw,48px);line-height:.95;box-shadow:0 0 0 18px #ffffff12}.dark{color:#d9e8f4}.dark b{color:#fff}.class-section{background:#fff}.wide-photo{height:560px;width:100%;margin:30px 0}.process{font-size:clamp(24px,3vw,39px);font-weight:900;text-align:center;margin:26px 0 34px}.process i{font-style:normal;color:#159bd3}.home-section{background:linear-gradient(145deg,#effaff,#fff8dc)}.home-grid{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:45px}.home-message{font-size:clamp(25px,3.3vw,43px);line-height:1.15;font-weight:800;color:#556b83;margin:25px 0 36px}.home-message b{color:#113467}.phone-showcase{border:0;background:none;display:grid;grid-template-columns:1fr 1fr;gap:20px;cursor:pointer}.phone-showcase img{width:100%;max-height:620px;object-fit:contain;border-radius:24px;box-shadow:0 18px 42px #12346722;background:#fff}.assessment{background:#f4faff}.assessment-visual{display:grid;grid-template-columns:.8fr .3fr 1.4fr;align-items:center;gap:20px;margin:35px auto;max-width:1050px}.assessment-child{font-size:95px;display:flex;flex-direction:column;align-items:center}.assessment-child span{font-size:25px;font-weight:900;margin-top:8px}.growth-arrow{font-size:80px;color:#13a38f;font-weight:900}.report-stack{border:0;background:none;display:grid;grid-template-columns:1fr 1fr;gap:14px;cursor:pointer}.report-stack img{width:100%;box-shadow:0 14px 30px #11346722;border-radius:14px}.numeracy{font-size:clamp(32px,4.4vw,60px);font-weight:900;line-height:1.06;margin:32px 0}.numeracy b{color:#159bd3}.report-audience{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:20px 0 30px}.report-audience span{background:#113467;color:#fff;border-radius:999px;padding:15px 22px;font-size:clamp(19px,2vw,26px);font-weight:900}.indonesia{background:#113467;color:#fff}.indonesia h2{color:#fff}.indonesia h2 span{color:#72e2f5}.access-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:45px}.access-grid button{min-height:190px;border:1px solid #ffffff25;border-radius:30px;background:#ffffff10;color:#fff;font-size:clamp(25px,3vw,42px);font-weight:900;display:flex;align-items:center;justify-content:space-between;padding:28px;cursor:pointer}.access-grid strong{font-size:54px;color:#ffca31}.japan{background:#fff9ed}.japan-simple{display:grid;grid-template-columns:1fr .3fr 1fr;align-items:center;max-width:900px;margin:35px auto 15px}.japan-simple>div:not(.bridge-arrow){background:#fff;border-radius:30px;padding:35px 20px;box-shadow:0 14px 36px #11346714;font-size:clamp(24px,3vw,39px);line-height:1.1}.flag{font-size:70px;margin-bottom:16px}.bridge-arrow{font-size:70px;color:#159bd3;font-weight:900}.numeracy-cycle{background:linear-gradient(145deg,#eefaff,#effbef)}.cycle-simple{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;margin:45px 0}.cycle-simple b{background:#fff;border-radius:999px;padding:20px 28px;font-size:clamp(25px,3vw,38px);box-shadow:0 10px 28px #11346712}.cycle-simple i{font-style:normal;font-size:40px;color:#159bd3}.final{background:#113467}.final-card{background:linear-gradient(135deg,#eefaff,#fff0b6);border-radius:42px;padding:8vw 7vw}.final h2{color:#113467}.modal{position:fixed;inset:0;background:#09244bd9;display:none;align-items:center;justify-content:center;padding:22px;z-index:99}.modal.open{display:flex}.modal-box{position:relative;width:min(850px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:32px;padding:50px}.modal-box h3{font-size:clamp(34px,5vw,58px);margin:0 0 20px}.modal-box p{font-size:clamp(21px,2.4vw,29px);line-height:1.55;color:#52647a}.close{position:absolute;right:18px;top:10px;border:0;background:none;color:#113467;font-size:44px;cursor:pointer}.gallery-box{width:min(1120px,96vw);padding:48px 32px 34px}.gallery-title{font-size:clamp(36px,5vw,60px);margin:0 0 8px}.gallery-sub{font-size:clamp(20px,2.2vw,27px);color:#64758a}.gallery-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.gallery-tabs button{border:0;border-radius:999px;padding:12px 18px;font-weight:900;font-size:18px;background:#eaf3fb;color:#113467}.gallery-tabs button.active{background:#113467;color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.gallery-card{background:#f5f8fb;border-radius:22px;padding:14px}.gallery-card img{width:100%;max-height:67vh;object-fit:contain;border-radius:14px;background:#fff}.gallery-card h4{font-size:24px;margin:12px 4px 5px}.gallery-card p{font-size:18px;line-height:1.45;color:#637389;margin:0 4px 8px}.gallery-card.wide{grid-column:1/-1}.external-link{display:inline-flex;margin-top:15px;background:#159bd3;color:#fff;text-decoration:none;border-radius:999px;padding:14px 20px;font-size:19px;font-weight:900}footer{text-align:center;padding:30px;font-size:18px;font-weight:800}
@media(max-width:760px){.topbar{height:70px}.brand{height:55px}.top-cta{font-size:14px;padding:10px 14px}.panel{min-height:auto;padding:74px 24px}.hero-grid,.home-grid{grid-template-columns:1fr}.hero-photo{height:340px}.challenge-grid{grid-template-columns:1fr 1fr;gap:10px}.challenge-grid button{min-height:155px;border-radius:22px;padding:20px 10px}.challenge-grid strong{font-size:42px}.sense-orbit{grid-template-columns:1fr;max-width:310px}.sense-orbit button,.sense-core{min-height:145px}.wide-photo{height:360px}.phone-showcase{gap:10px}.assessment-visual{grid-template-columns:1fr;gap:12px}.assessment-child{font-size:75px}.growth-arrow{transform:rotate(45deg);font-size:60px}.report-stack{gap:8px}.access-grid{gap:10px}.access-grid button{min-height:140px;border-radius:22px;padding:18px;font-size:22px}.access-grid strong{font-size:35px}.japan-simple{grid-template-columns:1fr}.bridge-arrow{transform:rotate(90deg);font-size:55px}.gallery-grid{grid-template-columns:1fr}.gallery-card.wide{grid-column:auto}.modal-box{padding:44px 24px}.gallery-box{padding:44px 15px 22px}.process{line-height:1.7}.big-statement{line-height:1.18}.final-card{padding:45px 25px}.media-button>span{font-size:15px;right:10px;bottom:10px}.report-audience{gap:8px}.report-audience span{font-size:17px;padding:12px 15px}}
/* V5.1 — mobile width + WHY + Number Sense cycle */
html,body{width:100%;max-width:100%;overflow-x:hidden}img,svg,video,canvas{max-width:100%}.panel,.wrap,.topbar{max-width:100%}.wrap{min-width:0}.hero-grid>*,.home-grid>*{min-width:0}
.why-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:960px}.why-card{position:relative;background:#fff;border-radius:30px;padding:30px;box-shadow:0 14px 35px #11346714}.why-num{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#159bd3;color:#fff;font-weight:900;font-size:25px}.why-card h3{font-size:clamp(27px,3vw,40px);line-height:1.02;margin:18px 0 12px}.why-card p{font-size:clamp(18px,1.7vw,23px);line-height:1.45;color:#52647a}.story-problem,.number-relations{margin-top:20px;border-radius:20px;background:#f1f8ff;padding:22px;text-align:center;font-size:clamp(21px,2vw,28px);font-weight:800}.story-problem b{display:block;margin-top:15px;color:#159bd3;font-size:clamp(27px,3vw,38px)}.number-relations{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.number-relations b{background:#fff;border:2px solid #159bd3;border-radius:15px;padding:10px 13px}.number-relations strong{font-size:45px}.why-conclusion{font-size:clamp(25px,3vw,38px);line-height:1.2;font-weight:800;margin:32px 0 5px}.why-conclusion b{color:#159bd3}
.sense-cycle{position:relative;max-width:950px;min-height:610px;margin:35px auto 15px}.cycle-card{position:absolute;width:280px;background:#fff;color:#113467;border-radius:28px;padding:22px;box-shadow:0 14px 35px #071b3a35;text-align:center}.cycle-card b{display:block;font-size:25px;margin:8px 0}.cycle-card span{display:block;font-size:18px;line-height:1.35;color:#52647a}.cycle-illust{font-size:56px}.cycle-card.think{left:0;top:25px}.cycle-card.understand{right:0;top:25px}.cycle-card.practice{left:50%;bottom:0;transform:translateX(-50%)}.sense-core-new{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:240px;height:240px;border-radius:50%;display:grid;place-items:center;align-content:center;background:#ffca31;color:#113467;font-size:38px;line-height:.95;font-weight:900;box-shadow:0 0 0 18px #ffffff12}.sense-core-new small{font-size:16px;line-height:1.2;margin-top:13px}.cycle-arrow{position:absolute;font-size:65px;font-weight:900;color:#58d8f4}.a1{left:44%;top:38px}.a2{right:24%;top:310px;transform:rotate(30deg)}.a3{left:24%;top:310px;transform:rotate(-25deg)}.cycle-image-button{border:0;background:none;color:#fff;cursor:pointer;display:block;margin:15px auto 30px;max-width:560px}.cycle-image-button img{display:block;width:100%;max-height:340px;object-fit:cover;object-position:center 70%;border-radius:24px}.cycle-image-button span{display:inline-block;margin-top:10px;font-size:18px;font-weight:900;color:#58d8f4}
@media(max-width:760px){
 body{position:relative}.topbar{width:100%;padding-left:20px;padding-right:20px}.panel{width:100%;padding:62px 22px}.wrap{width:100%;margin:0}.brand img{max-width:145px}h1,h2{max-width:100%;overflow-wrap:break-word;word-break:normal}h1{font-size:clamp(43px,13vw,62px)}h2{font-size:clamp(39px,11.5vw,56px)}.big-statement{font-size:clamp(27px,7.8vw,38px)}
 .why-two{grid-template-columns:1fr;gap:16px}.why-card{padding:24px 20px}.why-card h3{font-size:30px}.why-card p{font-size:19px}.why-conclusion{font-size:26px}
 .sense-cycle{min-height:auto;display:grid;grid-template-columns:1fr;gap:16px}.cycle-card,.sense-core-new,.cycle-arrow{position:static;transform:none;width:100%}.cycle-card{padding:22px 18px}.cycle-illust{font-size:52px}.sense-core-new{height:190px;border-radius:32px;font-size:38px;order:2}.cycle-card.think{order:1}.cycle-card.understand{order:3}.cycle-card.practice{order:5}.a1,.a2,.a3{display:none}.sense-cycle:before,.sense-cycle:after{content:'↓';font-size:38px;color:#58d8f4;font-weight:900;line-height:1;text-align:center}.sense-cycle:before{order:2;display:none}.cycle-image-button{width:100%;margin-top:20px}.cycle-image-button img{max-height:300px}
 .phone-showcase,.report-stack,.access-grid{min-width:0}.phone-showcase img,.report-stack img{min-width:0}.media-button,.wide-photo,.hero-photo{max-width:100%}.final-card{width:100%}
}

/* V5.2 — Number Sense visual + clickable stage solutions */
.v52-cycle-hero{display:block;width:min(880px,100%);margin:34px auto 12px;padding:0;border:0;background:transparent;cursor:pointer}
.v52-cycle-hero img{display:block;width:100%;height:auto;border-radius:30px;box-shadow:0 18px 48px #071b3a30}
.cycle-caption{margin:18px auto 28px;max-width:820px;font-size:clamp(20px,2.2vw,29px);line-height:1.35;font-weight:800;color:#fff}.cycle-caption b{color:#ffca31}
.stage-solutions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:980px;margin:0 auto 38px}
.stage-solution{border:2px solid #dce8f3;background:#fff;border-radius:24px;padding:22px 18px;text-align:left;cursor:pointer;min-width:0;color:#113467;box-shadow:0 10px 28px #071b3a1c}.stage-solution .stage-no{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;font-weight:900;margin-bottom:13px}.stage-solution b,.stage-solution small,.stage-solution strong{display:block}.stage-solution b{font-size:23px}.stage-solution small{font-size:16px;line-height:1.35;margin:6px 0 18px;color:#52647a}.stage-solution strong{font-size:16px}.stage-solution.blue{border-color:#6bb7ff}.stage-solution.blue .stage-no,.stage-solution.blue strong{background:#1479d1}.stage-solution.blue strong,.stage-solution.green strong,.stage-solution.orange strong{background:transparent}.stage-solution.blue strong{color:#1479d1}.stage-solution.green{border-color:#8bcf80}.stage-solution.green .stage-no{background:#4c9b3c}.stage-solution.green strong{color:#4c9b3c}.stage-solution.orange{border-color:#ffad67}.stage-solution.orange .stage-no{background:#f37021}.stage-solution.orange strong{color:#f37021}
@media(max-width:760px){.v52-cycle-hero{width:100%;margin-top:24px}.v52-cycle-hero img{border-radius:20px}.cycle-caption{font-size:20px}.stage-solutions{grid-template-columns:1fr;gap:12px}.stage-solution{padding:18px}.stage-solution b{font-size:22px}}


/* ===== V5.3 refinements ===== */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.panel,.wrap,.topbar,main,section{max-width:100%}
button{font-family:inherit}
.cycle-interactive{
  width:min(980px,100%);
  margin:34px auto 12px;
  position:relative;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 20px 52px #071b3a30;
  background:#fff;
}
.cycle-interactive>img{display:block;width:100%;height:auto}
.cycle-hotspot{
  position:absolute;border:0;border-radius:999px;padding:9px 13px;
  display:flex;align-items:center;gap:7px;font-weight:900;font-size:14px;
  cursor:pointer;box-shadow:0 8px 20px #071b3a26;
  backdrop-filter:blur(7px);transition:transform .18s ease,box-shadow .18s ease
}
.cycle-hotspot:hover,.cycle-hotspot:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px #071b3a35}
.cycle-hotspot span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff}
.hotspot-book{left:3.5%;top:8%;background:#ffffffeb;color:#1479d1}.hotspot-book span{background:#1479d1}
.hotspot-stm{right:3.5%;top:8%;background:#ffffffeb;color:#4c9b3c}.hotspot-stm span{background:#4c9b3c}
.hotspot-drill{left:38%;bottom:12%;background:#ffffffeb;color:#f37021}.hotspot-drill span{background:#f37021}
.cycle-caption{margin:18px auto 20px;max-width:850px;font-size:clamp(18px,2vw,25px);line-height:1.35;font-weight:900;color:#dce9f7}
.cycle-quicklinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(880px,100%);margin:0 auto 34px}
.cycle-quicklinks button{border:1px solid #ffffff36;background:#ffffff12;color:#fff;border-radius:20px;padding:15px 12px;cursor:pointer;min-width:0}
.cycle-quicklinks span{display:grid;place-items:center;width:32px;height:32px;margin:0 auto 8px;border-radius:50%;background:#ffca31;color:#113467;font-weight:900}
.cycle-quicklinks b,.cycle-quicklinks small{display:block}.cycle-quicklinks b{font-size:19px}.cycle-quicklinks small{font-size:14px;color:#cfe0f2;margin-top:3px}
.solution .big-statement.dark{margin-top:30px}

@media(max-width:760px){
  .topbar{padding-left:18px;padding-right:18px}
  .panel{padding-left:20px;padding-right:20px}
  .wrap{width:100%;max-width:none;margin-left:0;margin-right:0}
  .cycle-interactive{width:100%;border-radius:20px;margin-top:26px}
  .cycle-hotspot{font-size:0;width:44px;height:44px;padding:0;justify-content:center;background:#fff}
  .cycle-hotspot span{width:31px;height:31px;font-size:16px}
  .hotspot-book{left:2.5%;top:7%}.hotspot-stm{right:2.5%;top:7%}.hotspot-drill{left:42%;bottom:9%}
  .cycle-quicklinks{grid-template-columns:1fr;gap:9px}
  .cycle-quicklinks button{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:10px;padding:13px 15px}
  .cycle-quicklinks span{grid-row:1/3;margin:0}
  .cycle-quicklinks b{font-size:18px}.cycle-quicklinks small{font-size:14px}
  .why-two{grid-template-columns:1fr}
}


/* ===== V5.4 illustrated WHY cards ===== */
.why-illustrated{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  margin-top:34px;
}
.why-art-card{
  display:block;
  width:100%;
  min-width:0;
  padding:0;
  border:0;
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  cursor:pointer;
  box-shadow:0 14px 36px #11346718;
  transition:transform .18s ease,box-shadow .18s ease;
}
.why-art-card:hover,.why-art-card:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 18px 44px #11346724;
}
.why-art-card img{
  width:100%;
  height:100%;
  min-height:240px;
  object-fit:cover;
  display:block;
}
@media(max-width:760px){
  .why-illustrated{
    grid-template-columns:1fr;
    gap:18px;
    margin-top:26px;
  }
  .why-art-card{
    border-radius:24px;
  }
  .why-art-card img{
    width:100%;
    height:auto;
    min-height:0;
    object-fit:contain;
  }
}


/* ===== V5.6: Assessment clarity + responsive Indonesia + hero alignment ===== */

/* Desktop hero: keep copy and photo from colliding */
.hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);
  gap:34px;
  align-items:center;
}
.hero h1{
  font-size:clamp(50px,5.35vw,78px);
  max-width:690px;
}
.hero-photo{
  width:100%;
  max-width:540px;
  justify-self:end;
  height:560px;
}
.hero-photo img{
  object-position:center center;
}

/* Assessment */
.assessment-lead{
  width:min(840px,100%);
  margin:-6px auto 34px;
  font-size:clamp(20px,2.15vw,28px);
  line-height:1.45;
  color:#5b6d84;
}
.assessment-lead b{color:#113467}

.assessment-profile-layout{
  width:min(1040px,100%);
  margin:30px auto 40px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:26px;
  align-items:center;
}
.profile-preview{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  padding:16px;
  border:0;
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 44px #1134671f;
  cursor:pointer;
}
.profile-preview img{
  display:block;
  width:100%;
  height:auto;
  border-radius:15px;
}
.profile-zoom{
  position:absolute;
  right:26px;
  bottom:26px;
  padding:12px 17px;
  border-radius:999px;
  background:#113467ed;
  color:#fff;
  font-size:17px;
  font-weight:900;
}

.profile-points{
  display:grid;
  gap:12px;
}
.profile-points>div{
  min-height:96px;
  display:grid;
  grid-template-columns:54px 1fr;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 26px #11346712;
  text-align:left;
}
.profile-points strong{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#159bd3;
  color:#fff;
  font-size:18px;
}
.profile-points span{
  color:#113467;
  font-size:clamp(17px,1.6vw,22px);
  line-height:1.08;
  font-weight:900;
}

.audience-block{
  width:min(820px,100%);
  margin:22px auto 26px;
  padding:24px;
  border-radius:28px;
  background:#fff;
  box-shadow:0 12px 34px #11346712;
}
.audience-block>p{
  margin:0 0 18px;
  font-size:clamp(19px,2vw,25px);
  color:#52647a;
  font-weight:800;
}
.audience-use{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.audience-use>div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-height:72px;
  border:1px solid #d9e6f1;
  border-radius:20px;
  color:#113467;
  background:#f8fbfe;
  font-size:clamp(20px,2.1vw,27px);
}
.audience-icon{font-size:28px}
.audience-block small{
  display:block;
  margin-top:17px;
  color:#718096;
  font-size:16px;
  line-height:1.4;
}

.profile-cta{
  width:min(780px,100%);
  margin:0 auto;
  padding:20px 26px;
  border:0;
  border-radius:28px;
  background:#113467;
  color:#fff;
  cursor:pointer;
  box-shadow:0 12px 30px #11346722;
}
.profile-cta b,.profile-cta span{display:block}
.profile-cta b{
  font-size:clamp(20px,2.35vw,30px);
  line-height:1.15;
}
.profile-cta span{
  margin-top:7px;
  font-size:clamp(16px,1.6vw,20px);
  color:#d9e7f5;
}

.assessment-flow{
  margin:30px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  color:#113467;
  font-size:clamp(18px,2vw,25px);
}
.assessment-flow i{
  font-style:normal;
  color:#159bd3;
  font-size:30px;
}

/* BUILT FOR INDONESIA: always respect the viewport */
.access-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;
  min-width:0;
}
.access-grid button{
  min-width:0;
  overflow:hidden;
}
.access-grid button b{
  min-width:0;
  overflow-wrap:anywhere;
}

/* Mobile */
@media(max-width:760px){
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero h1{
    font-size:clamp(43px,12vw,58px);
    max-width:none;
  }
  .hero-photo{
    max-width:none;
    justify-self:stretch;
    height:380px;
  }
  .hero-photo img{
    object-position:50% 42%;
  }

  .assessment-profile-layout{
    grid-template-columns:1fr;
    gap:18px;
    margin-top:22px;
  }
  .profile-preview{padding:10px;border-radius:22px}
  .profile-zoom{
    right:18px;
    bottom:18px;
    font-size:14px;
    padding:10px 13px;
  }
  .profile-points{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .profile-points>div{
    min-height:104px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding:14px;
  }
  .profile-points strong{width:36px;height:36px;font-size:14px}
  .profile-points span{font-size:15px}

  .audience-block{padding:18px 14px;border-radius:22px}
  .audience-use{grid-template-columns:1fr;gap:9px}
  .audience-use>div{
    min-height:58px;
    font-size:19px;
    justify-content:flex-start;
    padding:0 18px;
  }
  .profile-cta{
    border-radius:23px;
    padding:18px 16px;
  }
  .profile-cta b{font-size:19px}
  .profile-cta span{font-size:15px}

  .access-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .access-grid button{
    min-height:145px;
    padding:15px 10px;
    border-radius:21px;
    flex-direction:column;
    justify-content:center;
    gap:10px;
    text-align:center;
    font-size:clamp(17px,5.2vw,22px);
    line-height:1.08;
  }
  .access-grid strong{font-size:30px}
}


/* ===== V5.7: three report grades + Google Play direct link ===== */
.gallery-tabs{
  justify-content:center;
}
.gallery-tabs button{
  min-width:132px;
}
.report-note{
  margin:18px auto 0;
  text-align:center;
  color:#6a7c90;
  font-size:16px;
  font-weight:700;
}
.play-store-cta{
  margin:18px 4px 4px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:14px 16px;
  border-radius:18px;
  background:#0d1117;
  color:#fff;
  text-decoration:none;
  box-shadow:0 10px 26px #00000022;
}
.play-store-cta .play-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:linear-gradient(135deg,#28c76f,#35a7ff);
  font-size:17px;
}
.play-store-cta>span:nth-child(2){
  flex:1;
  text-align:left;
}
.play-store-cta b,.play-store-cta small{
  display:block;
}
.play-store-cta b{
  font-size:18px;
  letter-spacing:.02em;
}
.play-store-cta small{
  margin-top:2px;
  color:#d6dde6;
  font-size:14px;
}
.play-store-cta strong{
  font-size:25px;
}
@media(max-width:760px){
  .gallery-tabs{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .gallery-tabs button{
    width:100%;
    min-width:0;
    font-size:17px;
    padding:13px 15px;
  }
  .play-store-cta{
    border-radius:16px;
    padding:13px 14px;
  }
}


/* ===== V5.9: favicon / Sensei Go header / desktop classroom crop ===== */
.top-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.sensei-top{
  height:56px;
  min-width:126px;
  padding:5px 12px 5px 8px;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  background:#fff;
  border:1px solid #dfe8f0;
  box-shadow:0 6px 18px #11346712;
  color:#113467;
  font-weight:900;
}
.sensei-top img{
  width:66px;
  height:42px;
  object-fit:contain;
  object-position:center;
}
.sensei-top span{
  font-size:11px;
  line-height:1.05;
  white-space:nowrap;
}
.wide-photo picture{
  display:block;
  width:100%;
  height:100%;
}
.wide-photo picture img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media (min-width:761px){
  .class-section .wide-photo picture img{
    object-position:center center;
  }
}
@media (max-width:760px){
  .topbar{
    padding-left:4vw;
    padding-right:4vw;
  }
  .top-actions{
    gap:7px;
  }
  .sensei-top{
    width:46px;
    min-width:46px;
    height:46px;
    padding:3px;
    justify-content:center;
    overflow:hidden;
  }
  .sensei-top img{
    width:42px;
    height:40px;
  }
  .sensei-top span{
    display:none;
  }
  .top-cta{
    padding:12px 15px;
    font-size:15px;
  }
  .class-section .wide-photo picture img{
    object-position:center center;
  }
}
