/* ================= ACADEMIC HUB ================= */
.hhero{position:relative;min-height:100svh;display:flex;align-items:center;padding:140px 0 90px;overflow:hidden;isolation:isolate;color:#fff;background:#050b1a}
.hhero .bg{position:absolute;inset:0;z-index:-3}
.hhero .bg img{width:100%;height:100%;opacity:.55}
.hhero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(900px 600px at 75% 50%,rgba(27,51,104,.5),transparent 60%),linear-gradient(90deg,rgba(5,11,26,.97) 0%,rgba(5,11,26,.8) 50%,rgba(5,11,26,.55))}
.hhero .gridl{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(ellipse at 70% 50%,#000 10%,transparent 70%);animation:gridMove 20s linear infinite}
@keyframes gridMove{to{background-position:70px 70px}}
.hhero .wrap-wide{display:grid;grid-template-columns:1.3fr .9fr;gap:70px;align-items:center}
.hhero h1{font-size:clamp(52px,8vw,128px);letter-spacing:-.05em;line-height:.9;margin:22px 0}
.hhero .lead{color:rgba(255,255,255,.75)}
.hfeats{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.hfeats span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);font-size:13px;font-weight:600}
.hfeats svg{width:16px;height:16px;color:var(--gold-300)}
.hhero .login-wrap{position:relative}
.chipf{position:absolute;display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:15px;font-size:12.5px;font-weight:600;white-space:nowrap;animation:bob 6s ease-in-out infinite;color:#fff}
.chipf i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-style:normal}
.chipf small{display:block;font-size:11px;color:rgba(255,255,255,.55);font-weight:500}
.chipf.a{top:-30px;inset-inline-end:-20px}.chipf.b{bottom:-30px;inset-inline-start:-30px;animation-delay:-3s}
@keyframes bob{50%{transform:translateY(-10px)}}
@media(max-width:1000px){.hhero .wrap-wide{grid-template-columns:1fr}.chipf{display:none}}

.strip{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.strip div{padding:34px 28px;border-inline-end:1px solid var(--line)}
.strip div:last-child{border:0}
.strip b{display:block;font-family:var(--f-head);font-size:clamp(30px,3vw,46px);font-weight:600;letter-spacing:-.03em;line-height:1}
.strip span{font-size:14px;color:var(--muted)}
@media(max-width:800px){.strip{grid-template-columns:1fr 1fr}.strip div:nth-child(2){border-inline-end:0}.strip div{border-bottom:1px solid var(--line)}}

/* sticky story */
.story{display:grid;grid-template-columns:1.55fr .6fr;gap:50px;align-items:start}
.story .stage{position:sticky;top:96px}
.rtabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.rtabs button{display:flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--muted);transition:.3s var(--ease)}
.rtabs button i{width:8px;height:8px;border-radius:50%;background:var(--rc)}
.rtabs button.on{background:var(--tx);color:var(--bg0);border-color:var(--tx)}
.chapters{display:grid}
.chap{min-height:86vh;display:flex;flex-direction:column;justify-content:center;padding:40px 0;opacity:.28;transition:opacity .6s}
.chap.on{opacity:1}
.chap .no{font-family:var(--f-head);font-size:14px;letter-spacing:.2em;color:var(--acc);font-weight:700}
.chap h3{font-size:clamp(34px,3.6vw,56px);margin:14px 0 14px;letter-spacing:-.04em}
.chap h3 em{font-family:var(--f-serif);font-weight:400}
.chap p{color:var(--muted);font-size:16.5px}
.chap ul{list-style:none;display:grid;gap:10px;margin-top:22px}
.chap li{display:flex;gap:12px;font-size:15px;font-weight:500}
.chap li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;background:rgba(240,196,107,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6a443' stroke-width='3'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.chap .try{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:13px;font-weight:700;color:var(--acc);padding:8px 14px;border-radius:999px;border:1px dashed rgba(240,196,107,.5)}
@media(max-width:1000px){.story{grid-template-columns:1fr}.story .stage{position:relative;top:0}.chap{min-height:auto;opacity:1;padding:30px 0}}

/* compliance */
.comp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.comp{padding:30px 26px;border-radius:24px;border:1px solid var(--line);background:var(--card);position:relative;overflow:hidden;transition:.5s var(--ease)}
.comp:hover{transform:translateY(-8px);border-color:rgba(240,196,107,.4)}
.comp::after{content:"";position:absolute;right:-60px;bottom:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(240,196,107,.2),transparent 70%);opacity:0;transition:.5s}
.comp:hover::after{opacity:1}
.comp .ic{margin-bottom:26px}
.comp h4{font-size:21px;margin-bottom:8px}
.comp p{font-size:14.5px;color:var(--muted)}
@media(max-width:1000px){.comp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.comp-grid{grid-template-columns:1fr}}
.bundle{display:grid;grid-template-columns:auto 1fr;gap:50px;align-items:center;margin-top:60px;padding:40px;border-radius:30px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(240,196,107,.1),transparent 60%)}
.bundle .files{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.bundle .f{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-size:14px;font-weight:600}
.bundle .f svg{width:20px;height:20px;color:var(--acc);flex:none}
.bundle .f small{display:block;font-size:11.5px;color:var(--muted-2);font-weight:500}
@media(max-width:800px){.bundle{grid-template-columns:1fr;padding:26px}}

/* security */
.secu{position:relative;overflow:hidden;isolation:isolate;color:#fff;background:#050b1a}
.secu .bg{position:absolute;inset:-10% 0;z-index:-2}
.secu .bg img{width:100%;height:100%;opacity:.4}
.secu::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#050b1a 35%,rgba(5,11,26,.6))}
.secu .wrap-wide{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px}
.sgrid div{padding:22px;border-radius:20px}
.sgrid h4{font-size:18px;margin:14px 0 6px}
.sgrid p{font-size:14px;color:rgba(255,255,255,.7)}
.sgrid .ic{background:rgba(240,196,107,.18);color:var(--gold-300)}
.otp{border-radius:26px;padding:30px}
.otp h4{font-size:22px}
.otp p{color:rgba(255,255,255,.7);font-size:14px;margin:6px 0 20px}
.otp-boxes{display:flex;gap:10px}
.otp-boxes input{width:52px;height:62px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:rgba(5,11,26,.5);text-align:center;font-family:var(--f-head);font-size:26px;font-weight:600;color:#fff}
.otp-boxes input:focus{outline:none;border-color:var(--gold-400);box-shadow:0 0 0 4px rgba(240,196,107,.2)}
.otp .ok{display:none;margin-top:16px;color:#6ee7b7;font-weight:600;font-size:14px}
.otp .ok.on{display:block;animation:viewIn .5s var(--ease)}
.auditlive{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.auditlive .ev{border-color:#0b1733}
@media(max-width:900px){.secu .wrap-wide{grid-template-columns:1fr}.sgrid{grid-template-columns:1fr}}

/* bilingual */
.bil{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.bil .pic{position:relative;border-radius:30px;overflow:hidden;aspect-ratio:4/5}
.bil .pic img{width:100%;height:100%}
.bil .ar-card{position:absolute;inset-inline-end:-30px;bottom:40px;width:300px;border-radius:22px;padding:22px;direction:rtl;font-family:'IBM Plex Sans Arabic',sans-serif}
.bil .ar-card b{font-size:20px;display:block}
.bil .ar-card small{color:var(--muted);font-size:13px}
.bil .ar-card .row{margin-top:10px}
.langdemo{display:flex;gap:6px;margin-top:28px}
.langdemo button{padding:12px 20px;border-radius:999px;border:1px solid var(--line);font-weight:700}
.langdemo button.on{background:var(--inv);color:var(--inv-tx);border-color:var(--inv)}
@media(max-width:900px){.bil{grid-template-columns:1fr}.bil .ar-card{inset-inline-end:16px}}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
@media(max-width:860px){.faq-grid{grid-template-columns:1fr;gap:10px}}
