body{background:linear-gradient(180deg,#f7faf7 0,#fffaf0 100%);min-height:100vh}.landing-top{height:78px;display:flex;align-items:center}.landing-top .shell{display:flex;align-items:center;justify-content:space-between}.mini-note{font-size:16px;font-weight:700;color:#6c7f78}.landing-main{padding:34px 0 70px}.landing-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);gap:48px;align-items:center;min-height:620px}.hero-copy{position:relative}.eyebrow-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #d7e9e1;background:#fff;border-radius:999px;color:var(--green);font-size:16px;font-weight:800}.hero-copy h1{font-size:58px;line-height:1.04;letter-spacing:-.055em;margin:18px 0 18px;max-width:820px}.hero-copy h1 span{color:var(--green)}.hero-copy>p{font-size:18px;line-height:1.75;color:#5d726b;max-width:720px;margin:0}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.feature{background:#fff;border:1px solid #e1ebe6;border-radius:18px;padding:16px;min-height:116px}.feature .icon{width:38px;height:38px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:18px;margin-bottom:9px}.feature b{display:block;font-size:16px}.feature small{display:block;color:var(--muted);font-size:16px;margin-top:4px;line-height:1.45}.login-card{position:relative;background:rgba(255,255,255,.98);border:1px solid #dfeae4;border-radius:30px;padding:28px;box-shadow:0 28px 80px rgba(23,53,47,.13)}.login-card:before{content:"";position:absolute;right:-16px;top:-18px;width:84px;height:84px;border-radius:50%;background:#fff0bd;z-index:-1}.login-card .moon{width:56px;height:56px;border-radius:18px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:30px;margin-bottom:18px}.login-card h2{font-size:28px;line-height:1.2;margin:0}.login-card>p{color:var(--muted);font-size:16px;margin:8px 0 20px}.login-form{display:grid;gap:13px}.login-form .btn{width:100%;margin-top:3px;min-height:54px}.secure-note{display:flex;gap:9px;margin-top:16px;padding:12px;border-radius:14px;background:#f6faf8;color:#667a73;font-size:16px;line-height:1.5}.secure-note b{color:var(--green)}.landing-footer{border-top:1px solid #e3ece8;padding:22px 0;color:#74857f;font-size:16px}.landing-footer .shell{display:flex;justify-content:space-between;gap:14px}.decor{position:absolute;pointer-events:none;opacity:.18;color:var(--gold)}.d1{font-size:86px;right:5%;top:-25px}.d2{font-size:40px;right:22%;bottom:-25px}@media(max-width:900px){.landing-main{padding-top:8px}.landing-grid{grid-template-columns:1fr;gap:28px;min-height:0}.hero-copy h1{font-size:46px}.login-card{max-width:600px;width:100%;margin:auto}.feature-row{margin-top:22px}}@media(max-width:620px){.landing-top{height:68px}.mini-note{display:none}.landing-main{padding-bottom:34px}.hero-copy h1{font-size:38px;margin-top:14px}.hero-copy>p{font-size:16px}.feature-row{grid-template-columns:1fr}.feature{min-height:0;display:grid;grid-template-columns:38px 1fr;column-gap:11px}.feature .icon{grid-row:1/3}.feature small{margin-top:2px}.login-card{padding:22px;border-radius:24px}.landing-footer .shell{display:block;text-align:center}.landing-footer span{display:block;margin-top:5px}}

/* v2.0.3 — landing/login Poppins dan lebih mudah dibaca */
.mini-note{font-size:16px}.eyebrow-pill{font-size:16px;padding:9px 13px}
.hero-copy h1{font-size:60px;line-height:1.08}.hero-copy>p{font-size:19px;line-height:1.8}
.feature{padding:18px;min-height:126px}.feature .icon{width:42px;height:42px;font-size:20px}.feature b{font-size:16px}.feature small{font-size:16px;line-height:1.55}
.login-card{padding:30px}.login-card .moon{width:60px;height:60px;font-size:32px}.login-card h2{font-size:30px}.login-card>p{font-size:16px;line-height:1.6}.login-form{gap:15px}.login-form .btn{min-height:58px;font-size:16px}
.secure-note{font-size:16px;line-height:1.6;padding:14px}.landing-footer{font-size:16px}
@media(max-width:900px){.hero-copy h1{font-size:48px}.hero-copy>p{font-size:17px}}
@media(max-width:620px){.hero-copy h1{font-size:40px;line-height:1.12}.hero-copy>p{font-size:16px;line-height:1.7}.feature{padding:15px}.feature b{font-size:16px}.feature small{font-size:16px}.login-card{padding:23px}.login-card h2{font-size:27px}.login-card>p{font-size:16px}}


/* v2.0.11 — landing copy selaras dengan Guru + Ibu Bapa */
.feature{position:relative}
.feature-tag{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#fff4d2;color:#7b5c0b;font-size:16px;font-weight:800;letter-spacing:.02em}
.feature-teacher{padding-top:18px}
.secure-note>span{font-size:17px;line-height:1.3}
@media(max-width:620px){.feature-tag{right:13px;top:12px}.feature-teacher{padding-top:15px}}

/* v2.9.0 — Demo CTA */
.landing-sales-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:19px 0 2px}.landing-demo-btn{min-height:50px;padding:0 17px}.landing-price-link{font-size:16px;font-weight:800;color:#0f6b57;text-decoration:none}@media(max-width:540px){.landing-sales-actions{align-items:stretch;flex-direction:column}.landing-demo-btn{width:100%;justify-content:center}.landing-price-link{text-align:center}}


/* ==========================================================
   v2.9.1 — Demo / Langgan primary choices
   ========================================================== */
.landing-header-actions{display:flex;align-items:center;gap:8px}
.landing-header-demo{
  min-height:42px;padding:0 13px;border-radius:12px;
  display:flex;align-items:center;text-decoration:none;
  background:#edf7f3;color:#0f6b57;font-size:16px;font-weight:800
}
.landing-choice-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  width:min(760px,100%);margin:22px 0 4px
}
.landing-choice-card{
  position:relative;min-width:0;min-height:98px;padding:14px 38px 14px 14px;
  border-radius:19px;border:1px solid #d5e5de;text-decoration:none;
  display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:11px;
  background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(21,65,54,.06);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.landing-choice-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(21,65,54,.11);border-color:#b9d8cc}
.landing-choice-card.demo{background:linear-gradient(135deg,#eff9f5,#fff)}
.landing-choice-card.subscribe{background:linear-gradient(135deg,#fff8de,#fff)}
.landing-choice-icon{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  background:#0f6b57;color:#fff;font-size:16px;font-weight:900
}
.landing-choice-card.subscribe .landing-choice-icon{background:#d4a627;color:#fff}
.landing-choice-copy{display:grid;gap:2px;min-width:0}
.landing-choice-copy small{font-size:16px;font-weight:900;letter-spacing:.09em;color:#6c8179}
.landing-choice-copy strong{font-size:16px;line-height:1.28;color:#17352f}
.landing-choice-copy em{font-style:normal;font-size:16px;line-height:1.5;color:#71857d}
.landing-choice-copy em b{color:#0f6b57;font-size:16px}.landing-choice-copy del{color:#9aaaa4}
.landing-choice-arrow{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-weight:900;color:#749087}
@media(max-width:700px){
  .landing-choice-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .landing-header-demo{display:none}
  .landing-choice-card{min-height:90px}
}


/* ==========================================================
   v2.9.2 — Demo & Langgan inside Login Card
   ========================================================== */
.login-access-divider{
  display:flex;align-items:center;gap:10px;margin:18px 0 12px;
  color:#9aa8a3;font-size:16px;font-weight:900;letter-spacing:.12em
}
.login-access-divider:before,.login-access-divider:after{
  content:"";height:1px;background:#e6ece9;flex:1
}
.login-access-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.login-access-option{
  position:relative;min-width:0;min-height:82px;padding:11px 30px 11px 10px;
  border:1px solid #dce8e3;border-radius:16px;text-decoration:none;
  display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.login-access-option:hover{
  transform:translateY(-1px);border-color:#b9d8cc;
  box-shadow:0 9px 22px rgba(23,53,47,.07)
}
.login-access-option.demo{background:#f0f9f5}
.login-access-option.subscribe{background:#fff8df}
.login-access-icon{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  color:#fff;background:#0f6b57;font-size:16px;font-weight:900
}
.login-access-option.subscribe .login-access-icon{background:#d1a22b}
.login-access-copy{display:grid;gap:1px;min-width:0}
.login-access-copy small{
  color:#71877f;font-size:16px;line-height:1.2;font-weight:900;letter-spacing:.07em
}
.login-access-copy b{
  color:#17352f;font-size:16px;line-height:1.3;font-weight:850
}
.login-access-copy em{
  color:#7c8d87;font-style:normal;font-size:16px;line-height:1.4
}
.login-access-copy em strong{color:#0f6b57;font-size:16px}
.login-access-copy em del{color:#9ba8a4}
.login-access-arrow{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  color:#718d84;font-size:16px;font-weight:900
}

/* The login card is now the single access decision area. */
.landing-header-actions,.landing-choice-grid{display:none!important}

@media(max-width:620px){
  .login-access-options{grid-template-columns:1fr}
  .login-access-option{min-height:72px}
}


/* ==========================================================
   v2.9.3 — Simple login access buttons
   ========================================================== */
.login-access-options{display:none!important}
.login-access-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.login-access-btn{
  position:relative;min-height:54px;padding:0 35px 0 12px;border-radius:15px;
  display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;
  text-decoration:none;border:1px solid #dbe8e3;font-style:normal;font-family:inherit;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.login-access-btn.demo{background:#f0f9f5;color:#0f6b57}
.login-access-btn.subscribe{background:#fff8df;color:#6f560f}
.login-access-btn>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#0f6b57;color:#fff;font-size:16px;font-weight:900}
.login-access-btn.subscribe>span{background:#d4a627}
.login-access-btn>b{font-size:16px;line-height:1.25;color:#17352f;font-weight:850}
.login-access-btn>em{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-style:normal;font-size:16px;font-weight:900;color:#779087}
.login-access-btn:hover{transform:translateY(-1px);border-color:#b9d8cc;box-shadow:0 8px 20px rgba(23,53,47,.07)}
@media(max-width:620px){.login-access-buttons{grid-template-columns:1fr}.login-access-btn{min-height:52px}}

/* SmartPlay Muslim Kids v4 public landing */
body.spi-public{min-height:100vh;background:linear-gradient(180deg,#fffdf8 0,#f5fbf8 65%,#eef8ff 100%);color:var(--spi-ink)}
.spi-public-header{position:sticky;top:0;z-index:80;background:rgba(255,253,248,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,35,59,.06)}
.spi-public-nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.spi-public-brand{display:flex;align-items:center;gap:9px;text-decoration:none}.spi-public-brand>span:last-child{display:grid}.spi-public-brand b{display:flex;align-items:baseline;font:800 20px/1 Poppins,sans-serif;letter-spacing:-.045em}.spi-public-brand i{font-style:normal;color:var(--spi-blue)}.spi-public-brand em{font-style:normal;color:var(--spi-orange)}.spi-public-brand strong{color:var(--spi-green)}.spi-public-brand small{margin-top:4px;color:#7b8796;font-size:16px;font-weight:600}
.spi-public-nav-actions{display:flex;align-items:center;gap:13px}.spi-public-nav-actions>span{color:#8994a1;font-size:16px;font-weight:600}.spi-public-nav-actions>a{min-height:42px;padding:0 17px;border-radius:13px;background:var(--spi-green);color:#fff;display:inline-flex;align-items:center;text-decoration:none;font:700 16px Poppins,sans-serif}
.spi-public-main{padding:52px 0 70px}.spi-public-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:34px;align-items:start}
.spi-public-hero{min-width:0}.spi-logo-stage{position:relative;min-height:210px;border-radius:28px;background:linear-gradient(145deg,#06120e,#000 62%,#03281c);display:grid;place-items:center;overflow:hidden;box-shadow:0 22px 60px rgba(6,39,29,.14);border:1px solid rgba(255,255,255,.18)}.spi-logo-stage::before{content:"";position:absolute;inset:auto -8% -62% auto;width:330px;height:330px;border-radius:50%;background:rgba(18,171,107,.24);filter:blur(2px)}.spi-logo-stage img{position:relative;z-index:1;width:min(95%,900px);height:auto;display:block}
.spi-eyebrow{display:inline-flex;margin-top:27px;padding:8px 12px;border-radius:999px;background:#e9f9f1;color:var(--spi-green-dark);font:800 16px/1.2 Poppins,sans-serif;letter-spacing:.1em}.spi-public-hero h1{max-width:880px;margin:15px 0 14px;font-size:clamp(38px,4.2vw,66px);line-height:1.02;letter-spacing:-.048em}.spi-public-hero h1 span{color:var(--spi-green)}.spi-public-hero>p{max-width:760px;margin:0;color:#657386;font-size:18px;line-height:1.65}
.spi-learning-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.spi-learning-chips span{padding:9px 12px;border-radius:12px;background:#fff;border:1px solid var(--spi-line);font:700 16px Poppins,sans-serif;box-shadow:0 7px 22px rgba(20,35,59,.035)}.spi-learning-chips .quran{color:var(--spi-green-dark);background:#effbf5}.spi-learning-chips .hafazan{color:#155fa7;background:#eff7ff}.spi-learning-chips .islam{color:#9b6900;background:#fff8de}.spi-learning-chips .activity{color:#b82f77;background:#fff0f8}
.spi-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:23px}.spi-trust-row>div{padding:14px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid var(--spi-line)}.spi-trust-row b{display:block;font:700 16px Poppins,sans-serif}.spi-trust-row small{display:block;margin-top:4px;color:#7b8794;font-size:16px;line-height:1.45}
.spi-login-card{position:sticky;top:104px;padding:26px;border:1px solid var(--spi-line);border-radius:27px;background:rgba(255,255,255,.94);box-shadow:0 24px 65px rgba(20,35,59,.09);backdrop-filter:blur(18px)}.spi-login-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.spi-login-moon{width:50px;height:50px;flex:0 0 50px;border-radius:16px;background:linear-gradient(145deg,var(--spi-green),var(--spi-green-dark));color:var(--spi-gold);display:grid;place-items:center;font-size:27px;box-shadow:0 10px 24px rgba(18,171,107,.18)}.spi-login-head small{color:var(--spi-green-dark);font:800 16px Poppins,sans-serif;letter-spacing:.13em}.spi-login-head h2{margin:3px 0 4px;font-size:25px;line-height:1.12;letter-spacing:-.03em}.spi-login-head p{margin:0;color:#748191;font-size:16px}
.spi-login-form{display:grid;gap:14px}.spi-login-form .field{font-size:16px}.spi-login-form .field input{height:54px}.spi-forgot{text-align:right;margin-top:-6px}.spi-forgot a{color:var(--spi-blue);font-size:16px;font-weight:700;text-decoration:none}.spi-login-submit{width:100%;min-height:54px;font-size:16px}.spi-login-divider{position:relative;margin:21px 0 14px;text-align:center}.spi-login-divider::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--spi-line)}.spi-login-divider span{position:relative;padding:0 8px;background:#fff;color:#9aa4ae;font:800 16px Poppins,sans-serif;letter-spacing:.1em}
.spi-login-options{display:grid;gap:8px}.spi-login-options>a{min-height:58px;padding:8px 11px;border:1px solid var(--spi-line);border-radius:15px;background:#fbfdfc;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:9px;text-decoration:none}.spi-login-options>a>span{width:35px;height:35px;border-radius:11px;background:var(--spi-green-soft);color:var(--spi-green-dark);display:grid;place-items:center;font-weight:800}.spi-login-options b{display:block;font:700 16px Poppins,sans-serif}.spi-login-options small{display:block;margin-top:2px;color:#89949f;font-size:16px}.spi-login-options em{font-style:normal;color:var(--spi-green-dark);font-weight:800}.spi-secure-note{display:flex;gap:8px;margin-top:15px;padding:11px 12px;border-radius:13px;background:#f7faf9;color:#71807d;font-size:16px;line-height:1.5}
.spi-public-footer{border-top:1px solid rgba(20,35,59,.07);background:#fff;padding:24px 0}.spi-public-footer .shell{display:flex;align-items:center;justify-content:space-between;gap:12px}.spi-public-footer b{font:700 16px Poppins,sans-serif}.spi-public-footer span{color:#8994a1;font-size:16px}
@media(max-width:980px){.spi-public-grid{grid-template-columns:1fr}.spi-login-card{position:static;max-width:640px;width:100%;margin:auto}.spi-logo-stage{min-height:180px}.spi-public-hero h1{font-size:48px}}
@media(max-width:620px){.spi-public-nav{min-height:68px}.spi-public-nav-actions>span{display:none}.spi-public-main{padding:20px 0 44px}.spi-logo-stage{min-height:120px;border-radius:20px}.spi-public-hero h1{font-size:37px;margin-top:13px}.spi-public-hero>p{font-size:16px}.spi-trust-row{grid-template-columns:1fr}.spi-login-card{padding:19px;border-radius:22px}.spi-public-brand small{display:none}.spi-public-footer .shell{display:grid}.spi-eyebrow{font-size:16px}}

/* v4.0.4 — Tipografi minimum 16px untuk semua teks pengguna */
html{font-size:16px}
small,sub,sup{font-size:16px}
button,input,select,textarea{font-size:16px}

/* v4.0.5 — transparent logo: no black/gradient logo stage */
.spi-public-brand{display:flex;align-items:center;min-width:0}
.spi-public-brand img{display:block;width:min(250px,32vw);height:auto;max-height:64px;object-fit:contain}
.spi-logo-stage{min-height:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;padding:6px 0 14px!important}
.spi-logo-stage::before{display:none!important}
.spi-logo-stage img{width:min(100%,980px)!important;filter:drop-shadow(0 14px 24px rgba(17,56,43,.10))}
@media(max-width:620px){.spi-public-brand img{width:min(210px,58vw);max-height:52px}.spi-logo-stage{min-height:0!important;padding:0 0 12px!important}.spi-logo-stage img{width:100%!important}}


/* v4.0.6 — frontpage tanpa header; hero terus bermula dari atas */
body.spi-public .spi-public-main{padding-top:28px}
body.spi-public .spi-login-card{top:24px}
@media(max-width:980px){body.spi-public .spi-public-main{padding-top:22px}}
@media(max-width:620px){body.spi-public .spi-public-main{padding-top:14px}}

/* ==========================================================
   v4.0.7 — Desktop screen-fit frontpage
   - Desktop login page fits within one viewport where practical.
   - Font size minimum 16px remains unchanged.
   - Smaller/shorter screens keep natural scrolling.
   ========================================================== */
@media (min-width:981px) and (min-height:800px){
  html,body.spi-public{height:100%;min-height:100%;}
  body.spi-public{
    min-height:100dvh;
    height:100dvh;
    overflow:hidden;
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
  }
  body.spi-public .islamic-bg{position:fixed;inset:0;}
  body.spi-public .spi-public-main{
    min-height:0;
    height:100%;
    padding:clamp(12px,1.8vh,20px) 0 clamp(8px,1.2vh,14px);
    overflow:hidden;
  }
  body.spi-public .spi-public-grid{
    height:100%;
    min-height:0;
    align-items:center;
    gap:clamp(24px,2.4vw,38px);
  }
  body.spi-public .spi-public-hero{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:0;
  }
  body.spi-public .spi-logo-stage{
    padding:0 0 clamp(6px,.9vh,10px)!important;
  }
  body.spi-public .spi-logo-stage img{
    width:min(92%,900px)!important;
    max-height:clamp(150px,22vh,205px);
    object-fit:contain;
    object-position:left center;
  }
  body.spi-public .spi-eyebrow{
    margin-top:clamp(8px,1.2vh,14px);
    padding:7px 11px;
  }
  body.spi-public .spi-public-hero h1{
    margin:clamp(9px,1.2vh,13px) 0 clamp(8px,1vh,12px);
    font-size:clamp(44px,min(4vw,5.7vh),62px);
    line-height:1.01;
  }
  body.spi-public .spi-public-hero>p{
    font-size:17px;
    line-height:1.5;
  }
  body.spi-public .spi-learning-chips{
    gap:8px;
    margin-top:clamp(10px,1.5vh,16px);
  }
  body.spi-public .spi-learning-chips span{
    padding:7px 10px;
  }
  body.spi-public .spi-trust-row{
    gap:8px;
    margin-top:clamp(10px,1.4vh,15px);
  }
  body.spi-public .spi-trust-row>div{
    padding:10px 12px;
    border-radius:14px;
  }
  body.spi-public .spi-trust-row small{
    margin-top:2px;
    line-height:1.35;
  }
  body.spi-public .spi-login-card{
    position:relative;
    top:auto;
    align-self:center;
    max-height:calc(100dvh - 78px);
    padding:clamp(18px,2vh,23px);
    border-radius:24px;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  body.spi-public .spi-login-head{
    margin-bottom:clamp(12px,1.5vh,17px);
  }
  body.spi-public .spi-login-moon{
    width:46px;height:46px;flex-basis:46px;border-radius:14px;
  }
  body.spi-public .spi-login-head h2{font-size:24px;}
  body.spi-public .spi-login-head p{line-height:1.4;}
  body.spi-public .spi-login-form{gap:10px;}
  body.spi-public .spi-login-form .field input{height:50px;}
  body.spi-public .spi-login-submit{min-height:50px;}
  body.spi-public .spi-login-divider{margin:14px 0 10px;}
  body.spi-public .spi-login-options{gap:6px;}
  body.spi-public .spi-login-options>a{min-height:54px;padding:6px 10px;}
  body.spi-public .spi-secure-note{margin-top:10px;padding:9px 11px;line-height:1.35;}
  body.spi-public .spi-public-footer{
    padding:8px 0;
    min-height:38px;
  }
}

/* Short desktop/laptop viewport: keep scrolling, but reduce excessive spacing. */
@media (min-width:981px) and (max-height:799px){
  body.spi-public .spi-public-main{padding-top:14px;padding-bottom:30px;}
  body.spi-public .spi-logo-stage img{max-height:180px;object-fit:contain;object-position:left center;}
  body.spi-public .spi-eyebrow{margin-top:12px;}
  body.spi-public .spi-public-hero h1{margin:11px 0;font-size:clamp(42px,3.8vw,56px);}
  body.spi-public .spi-learning-chips{margin-top:16px;}
  body.spi-public .spi-trust-row{margin-top:15px;}
  body.spi-public .spi-login-card{top:14px;padding:22px;}
}

/* =========================================================
   v4.0.13 — OFFICIAL MASTER LOGO ON PUBLIC PAGE
   Transparent master logo, proportional and screen-aware.
   ========================================================= */
body.spi-public .spi-logo-stage{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
body.spi-public .spi-logo-stage img{
  width:min(92%,780px)!important;
  max-width:780px!important;
  max-height:205px;
  height:auto!important;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 10px 20px rgba(17,56,43,.09));
}
@media(max-width:980px){
  body.spi-public .spi-logo-stage{justify-content:center!important}
  body.spi-public .spi-logo-stage img{
    width:min(90%,700px)!important;
    max-width:700px!important;
    object-position:center;
  }
}
@media(max-width:620px){
  body.spi-public .spi-logo-stage{padding:0 0 10px!important}
  body.spi-public .spi-logo-stage img{
    width:min(100%,430px)!important;
    max-width:430px!important;
    max-height:128px;
    object-position:center;
  }
}
@media(max-width:390px){
  body.spi-public .spi-logo-stage img{max-height:112px}
}

/* v4.0.27 — pautan manual ringkas tanpa menambah tinggi kad log masuk berlebihan */
.spi-guide-inline{display:flex;justify-content:center;margin-top:9px}.spi-guide-inline a{color:var(--spi-green-dark);font-size:16px;font-weight:800;text-decoration:none}.spi-guide-inline a:hover{text-decoration:underline}.spi-guide-inline span{margin-left:4px}
