/* ===== Extra visuals for About, How it works, Student Portal and Contact ===== */
.gl{position:relative;border-radius:28px;color:#fff;background:linear-gradient(150deg,#0b1238,#18226a);padding:24px;box-shadow:0 34px 80px rgba(11,18,56,.35);overflow:hidden}
.gl::before{content:"";position:absolute;inset:0;background:radial-gradient(480px 300px at 94% 0%,rgba(245,154,31,.30),transparent 62%),radial-gradient(480px 340px at 0% 100%,rgba(61,92,255,.36),transparent 60%);pointer-events:none}
.gl>*{position:relative}
.gl .k{font-size:.64rem;font-weight:800;letter-spacing:.2em;color:#ffc266}
.gl h4{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600;margin-top:4px;color:#fff}
.gl .sub{color:#c9d0f5;font-size:.88rem;margin-top:4px}
.gl .tile{border-radius:16px;padding:14px 16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2)}
.gl .num{font-family:'Fraunces',serif;font-size:2.1rem;font-weight:600;color:#ffc266;line-height:1}
.gl .lab{font-size:.74rem;color:#c9d0f5;font-weight:700;letter-spacing:.08em;margin-top:6px}

/* About: our work in numbers and a day of the cycle */
.about-vis{display:grid;gap:14px}
.about-vis .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pipe{display:flex;gap:0;margin-top:16px;align-items:stretch}
.pipe div{flex:1;text-align:center;padding:12px 4px;font-size:.7rem;font-weight:800;letter-spacing:.06em;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);position:relative}
.pipe div:first-child{border-radius:14px 0 0 14px}.pipe div:last-child{border-radius:0 14px 14px 0;background:linear-gradient(135deg,#ffc266,#f59a1f);color:#241500;border-color:transparent}
.pipe div+div{margin-left:-1px}
.pipe small{display:block;font-weight:600;letter-spacing:0;color:#c9d0f5;margin-top:2px;font-size:.64rem}
.pipe div:last-child small{color:#5b3b00}

/* How it works: timeline gets glass chips */
.tl-side{position:sticky;top:110px;display:grid;gap:14px}
.tl-side .row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);font-size:.88rem;font-weight:700}
.tl-side .row span{color:#ffc266;font-weight:900}
.mini{height:8px;border-radius:8px;background:rgba(255,255,255,.16);overflow:hidden;margin-top:8px}
.mini i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#f59a1f,#ffc266);width:0;transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.gl.in .mini i{width:var(--w)}

/* Student portal: phone mock */
.phone{width:min(100%,300px);margin-inline:auto;border-radius:36px;padding:12px;background:#0b1238;border:2px solid #2a3680;box-shadow:0 40px 80px rgba(11,18,56,.4)}
.phone .scr{border-radius:26px;background:#fffdf7;color:#1b2147;padding:16px 14px;min-height:420px;position:relative;overflow:hidden}
.phone .scr::before{content:"";display:block;width:70px;height:6px;border-radius:6px;background:#d8cdb2;margin:0 auto 12px}
.phone .q{font-weight:800;font-size:.82rem;color:#0b1238}
.phone .st{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:99px;font-size:.66rem;font-weight:900;background:#ffe9c4;color:#a85f00}
.phone .ans{margin-top:12px;border-radius:14px;padding:10px 12px;font-family:'Caveat',cursive;font-size:1.15rem;line-height:1.15}
.phone .ans.me{background:#fff0f0;border:1px solid #f4b5b5;color:#c0303c}
.phone .ans.ideal{background:#e6f8f5;border:1px solid #9ad9d0;color:#0a8e80}
.phone .ans small{display:block;font-family:'Manrope',sans-serif;font-size:.58rem;font-weight:900;letter-spacing:.16em;margin-bottom:3px}
.phone .nav2{display:flex;justify-content:space-around;margin-top:14px;padding-top:10px;border-top:1px solid #ecdcb8;font-size:.62rem;font-weight:800;color:#505c7d}
.phone .nav2 .on{color:#f59a1f}

/* Contact: what happens next */
.nextsteps{margin-top:26px;display:grid;gap:12px}
.nextsteps .s{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff}
.nextsteps .n{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffc266,#f59a1f);color:#241500;font-weight:900}
.nextsteps b{display:block}.nextsteps span{color:#d6dcff;font-size:.86rem}
.trusty{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.trusty span{padding:7px 13px;border-radius:99px;font-size:.74rem;font-weight:800;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff}
@media(max-width:640px){.about-vis .grid3{grid-template-columns:1fr 1fr 1fr}.gl .num{font-size:1.6rem}}
