
.almens-root, :root{
  --ink:#0F1E22; --ink2:#3B4C50; --ink3:#5A6C70;
  --paper:#FFFFFF; --tint:#F5FAFA; --tint2:#EDF5F5;
  --rule:#D9E7E7; --rule-strong:#B4CBCB;
  --purple:#0E5C55; --purple-deep:#093F3A; --purple-soft:#E6F2F0;
  --green:#0F7A5A; --green-deep:#0A5A42; --green-soft:#E6F4EF;
  --gold:#8C671B; --gold-fill:#B08327; --gold-soft:#FAF3E3;
  --red:#8C671B; --red-deep:#8C671B; --red-soft:#FAF3E3;
  --maxw:1080px;
  --display:"Noto Kufi Arabic",system-ui,sans-serif;
  --body:"IBM Plex Sans Arabic","Noto Kufi Arabic",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
.almens-root{background:var(--paper); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.85; -webkit-font-smoothing:antialiased}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px}

.rail{position:fixed; top:0; right:0; width:5px; height:100vh; background:linear-gradient(180deg,var(--gold) 0%,var(--purple) 55%,var(--green) 100%); z-index:60}
.railprog{position:fixed; top:0; right:0; width:5px; background:var(--ink); z-index:61; height:0}

h1,h2,h3,h4{font-family:var(--display); font-weight:800; line-height:1.4; margin:0; letter-spacing:-.01em}
p{margin:0 0 14px}
.eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink3); display:flex; align-items:center; gap:12px; margin-bottom:14px}
.eyebrow::after{content:""; flex:1; height:1px; background:var(--rule)}
.lead{font-size:18px; color:var(--ink2); line-height:1.95}
.num{font-family:var(--mono); font-variant-numeric:tabular-nums}

/* hero */
.hero{padding:64px 0 0; border-bottom:1px solid var(--rule)}
.docmeta{display:flex; flex-wrap:wrap; gap:10px 22px; font-family:var(--mono); font-size:11px; letter-spacing:.14em; color:var(--ink3); margin-bottom:38px}
.docmeta b{color:var(--ink); font-weight:600}
.brands{display:grid; grid-template-columns:1fr 56px 1fr; gap:0; margin-bottom:46px}
.chip{border:1px solid var(--rule); border-radius:3px; display:flex; align-items:center; justify-content:center; padding:28px 26px; min-height:148px; text-align:center}
.chip img{max-width:100%; max-height:86px; display:block}
.chip.acad{background:var(--gold-soft); border-color:#EBDDB6}
.chip.acad img{max-height:104px}
.join{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px}
.join span{font-family:var(--mono); font-size:16px; color:var(--rule-strong)}
.join i{display:block; width:1px; flex:1; background:var(--rule)}
h1{font-size:clamp(29px,4.8vw,50px); line-height:1.3; margin-bottom:20px}
h1 em{font-style:normal; color:var(--purple)}
.hero .lead{max-width:66ch}

/* signature: station track */
.track{margin:46px 0 0; padding:30px 0 34px; border-top:1px dashed var(--rule); display:flex; align-items:stretch; gap:0; overflow-x:auto}
.st{flex:1; min-width:112px; padding:2px 16px; border-right:1px solid var(--rule)}
.st:first-child{border-right:0; padding-right:0}
.st span{display:block; font-family:var(--display); font-size:14.5px; font-weight:700; color:var(--ink); line-height:1.6}
.st small{display:block; font-family:var(--mono); font-size:10.5px; color:var(--ink3); margin-top:4px; line-height:1.6}
.st.pass span{color:var(--green-deep)}
.st.pass span::before{content:"\2713"; margin-left:7px; color:var(--green)}

/* sections */
section{padding:74px 0; border-bottom:1px solid var(--rule)}
section.tinted{background:var(--tint)}
h2{font-size:clamp(22px,3vw,31px); margin-bottom:18px}
h3{font-size:18px; margin-bottom:8px}

/* headline price */
.hero-price{display:grid; grid-template-columns:auto 1fr; gap:0; margin-top:34px; border:1px solid var(--rule); border-radius:3px; overflow:hidden; background:var(--paper)}
.hp-left{background:var(--ink); color:#fff; padding:34px 40px; text-align:center; display:flex; flex-direction:column; justify-content:center}
.hp-left .was{font-family:var(--mono); font-size:15px; color:#8E939C; text-decoration:line-through; margin-bottom:6px}
.hp-left .now{font-family:var(--display); font-weight:800; font-size:60px; line-height:1; color:#fff}
.hp-left .now small{font-family:var(--body); font-size:16px; font-weight:500; color:#B9BEC6; display:block; margin-top:8px}
.hp-left .badge{margin-top:16px; display:inline-block; background:var(--green); color:#fff; font-family:var(--mono); font-size:11px; padding:5px 13px; border-radius:100px; align-self:center}
.hp-right{padding:30px 32px; display:flex; flex-direction:column; justify-content:center}
.hp-right p{font-size:15.5px; color:var(--ink2); margin:0 0 12px}
.hp-right p:last-child{margin:0}
.hp-right b{color:var(--ink)}

/* exam grid */
.exam{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:34px; border:1px solid var(--rule); border-radius:3px; overflow:hidden; background:var(--paper)}
.ex{padding:24px 26px; border-left:1px solid var(--rule); border-bottom:1px solid var(--rule)}
.ex:nth-child(3n){border-left:0}
.ex:nth-last-child(-n+3){border-bottom:0}
.ex .k{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; color:var(--gold); margin-bottom:9px}
.ex h3{font-size:16px; margin-bottom:6px}
.ex ul{list-style:none; margin:0; padding:0}
.ex li{font-size:14px; color:var(--ink2); padding:3px 0; display:flex; gap:9px}
.ex li::before{content:""; flex:none; width:5px; height:5px; border-radius:50%; background:var(--rule-strong); margin-top:9px}

/* tiers */
.tiers{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:36px}
.tier{border:1px solid var(--rule); border-radius:3px; background:var(--paper); display:flex; flex-direction:column; overflow:hidden}
.tier.feature{border-color:var(--purple); box-shadow:0 0 0 1px var(--purple)}
.tier header{padding:24px 26px 20px; border-bottom:1px dashed var(--rule)}
.tier .pid{font-family:var(--mono); font-size:11px; letter-spacing:.18em; color:var(--ink3); margin-bottom:10px; display:flex; justify-content:space-between; align-items:center}
.tier .pid .flag{background:var(--purple); color:#fff; border-radius:100px; padding:3px 11px; letter-spacing:.1em; font-size:9.5px}
.tier h3{font-size:20px}
.tier .for{font-size:13.5px; color:var(--ink3); margin-top:5px}
.figs{display:grid; grid-template-columns:1fr 1fr 1fr; border-bottom:1px solid var(--rule)}
.fig{padding:18px 14px; text-align:center; border-left:1px solid var(--rule)}
.fig:last-child{border-left:0}
.fig b{display:block; font-family:var(--display); font-size:22px; font-weight:800; color:var(--purple-deep); line-height:1.2}
.fig span{font-size:11.5px; color:var(--ink3); line-height:1.5; display:block}
.tier ul{list-style:none; margin:0; padding:20px 26px; flex:1}
.tier li{font-size:14.5px; color:var(--ink2); padding:6px 0; display:flex; gap:11px; line-height:1.7}
.tier li::before{content:""; flex:none; width:6px; height:6px; border-radius:50%; background:var(--green); margin-top:10px}
.tier .foot{padding:18px 26px; background:var(--tint); border-top:1px solid var(--rule); display:flex; justify-content:space-between; align-items:flex-end; gap:14px}
.tier .foot .lbl{font-size:12.5px; color:var(--ink3); display:block}
.tier .foot .val{font-family:var(--display); font-weight:800; font-size:26px; color:var(--purple-deep); line-height:1.1}
.tier .foot .val small{font-family:var(--body); font-size:13px; font-weight:500; color:var(--ink2)}

/* illustrative table */
.tablewrap{margin-top:30px; border:1px solid var(--rule); border-radius:3px; overflow-x:auto; background:var(--paper)}
table{width:100%; border-collapse:collapse; font-size:15px; min-width:560px}
th,td{text-align:right; padding:14px 20px; border-bottom:1px solid var(--rule)}
thead th{background:var(--ink); color:#fff; font-family:var(--display); font-weight:700; font-size:13px; border-bottom:0}
thead th.c2{background:#3A3E46} thead th.c3{background:var(--purple-deep)}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:var(--tint2)}
td.num,td.pct{font-family:var(--mono); font-variant-numeric:tabular-nums; white-space:nowrap}
td.pct.b{color:var(--green-deep); font-weight:600}
caption{caption-side:bottom; text-align:right; padding:14px 20px; font-size:12.5px; color:var(--ink3); border-top:1px solid var(--rule)}

/* day plan */
.steps{margin-top:34px; border-top:1px solid var(--rule)}
.step{display:grid; grid-template-columns:96px 1fr; gap:22px; padding:20px 0; border-bottom:1px solid var(--rule); align-items:start}
.step .n{font-family:var(--mono); font-size:12.5px; font-weight:600; color:var(--gold); padding-top:4px}
.step h3{font-size:16px; margin-bottom:3px}
.step p{font-size:14.5px; color:var(--ink2); margin:0}

/* exchange */
.exchange{display:grid; grid-template-columns:1fr 1fr; margin-top:34px; border:1px solid var(--rule); border-radius:3px; overflow:hidden; background:var(--paper)}
.col{padding:30px 28px}
.col:first-child{border-left:1px solid var(--rule); background:var(--purple-soft)}
.col:last-child{background:var(--ink); color:#fff}
.col h3{font-size:17px; margin-bottom:6px}
.col:first-child h3{color:var(--purple-deep)}
.col:last-child h3{color:#fff}
.col .who{font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; margin-bottom:16px; color:var(--ink3)}
.col:last-child .who{color:#8E939C}
.col ul{list-style:none; margin:0; padding:0}
.col li{font-size:14.5px; line-height:1.8; padding:11px 0; border-top:1px solid rgba(0,0,0,.08)}
.col:last-child li{border-top:1px solid rgba(255,255,255,.12); color:#D9DCE1}
.col li:first-child{border-top:0}

/* extras */
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:34px}
.card{background:var(--paper); border:1px solid var(--rule); border-radius:3px; padding:26px}
.card .kicker{font-family:var(--mono); font-size:11px; letter-spacing:.16em; color:var(--gold); margin-bottom:12px}
.card p{font-size:14.5px; color:var(--ink2); margin:0}

/* terms */
.terms{list-style:none; margin:30px 0 0; padding:0; columns:2; column-gap:44px}
.terms li{font-size:14.5px; color:var(--ink2); line-height:1.8; padding:0 0 14px; break-inside:avoid; display:flex; gap:12px}
.terms li b{flex:none; font-family:var(--mono); font-size:11.5px; color:var(--gold); padding-top:5px; font-weight:600}

/* close */
.close{background:var(--ink); color:#fff; border-bottom:0}
.close h2{color:#fff}
.close .lead{color:#B9BEC6}
.sign{display:grid; grid-template-columns:1fr 1fr; margin-top:46px; border:1px solid rgba(255,255,255,.16); border-radius:3px}
.sigbox{padding:28px}
.sigbox:first-child{border-left:1px solid rgba(255,255,255,.16)}
.sigbox .who{font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; color:#8E939C; margin-bottom:10px}
.sigbox strong{display:block; font-family:var(--display); font-size:16px; margin-bottom:3px}
.sigbox span{font-size:13.5px; color:#B9BEC6}
.sigline{margin-top:34px; border-bottom:1px dashed rgba(255,255,255,.3); height:34px}
.sigcap{font-family:var(--mono); font-size:10.5px; color:#8E939C; margin-top:8px; display:flex; justify-content:space-between}
.contact{display:flex; flex-wrap:wrap; gap:12px 34px; margin-top:40px; padding-top:26px; border-top:1px solid rgba(255,255,255,.16); font-size:14px; color:#B9BEC6}
.contact b{color:#fff; font-weight:600}
.fill{border-bottom:1px dotted rgba(255,255,255,.45); min-width:130px; display:inline-block}

footer .wrap{padding:26px 28px; font-size:12.5px; color:var(--ink3); display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between; font-family:var(--mono); letter-spacing:.06em}

.reveal{opacity:0; transform:translateY(14px); transition:opacity .7s ease, transform .7s ease}
.reveal.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1; transform:none; transition:none} html{scroll-behavior:auto} }

@media (max-width:900px){
  .brands{grid-template-columns:1fr; gap:14px}
  .join{flex-direction:row; height:26px}
  .join i{width:auto; height:1px; flex:1}
  .hero-price{grid-template-columns:1fr}
  .exam,.grid3,.tiers,.exchange,.sign{grid-template-columns:1fr}
  .ex{border-left:0}
  .ex:nth-last-child(-n+3){border-bottom:1px solid var(--rule)}
  .ex:last-child{border-bottom:0}
  .col:first-child,.sigbox:first-child{border-left:0}
  .col:first-child{border-bottom:1px solid var(--rule)}
  .sigbox:first-child{border-bottom:1px solid rgba(255,255,255,.16)}
  .terms{columns:1}
  .step{grid-template-columns:72px 1fr; gap:14px}
  section{padding:52px 0}
  .rail,.railprog{width:3px}
}

@media print{
  .rail,.railprog{display:none}
  body{font-size:11.5pt}
  section{padding:20pt 0; break-inside:avoid; border-bottom:.5pt solid #ccc}
  .close{background:#fff !important; color:#000 !important}
  .close h2,.sigbox strong{color:#000 !important}
  .close .lead,.sigbox span,.contact{color:#333 !important}
  .col:last-child{background:#fff !important; color:#000 !important}
  .col:last-child h3{color:#000 !important}
  .col:last-child li{color:#222 !important; border-top:.5pt solid #ddd !important}
  .sign,.sigbox:first-child,.contact{border-color:#bbb !important}
  .sigline{border-bottom:.5pt dashed #888}
  .sigcap,.sigbox .who{color:#666 !important}
  .fill{border-bottom:.5pt dotted #666}
  .tier,.card,.exam,.hero-price,.track{break-inside:avoid}
  .reveal{opacity:1 !important; transform:none !important}
  .hp-left,.chip.acad{-webkit-print-color-adjust:exact; print-color-adjust:exact}
}

.hp-kicker{font-family:var(--mono); font-size:11px; letter-spacing:.18em; color:var(--ink3); margin-bottom:4px}
.hero-price .now small{font-size:15px}
.tier .figs{grid-template-columns:repeat(2,1fr)}
.tier .foot .val.num{font-size:19px; font-weight:800; color:var(--purple-deep)}
.tier .foot .val small{font-size:12px; font-weight:600; color:var(--ink3)}

/* ---------- motion system ---------- */
:root{--ease:cubic-bezier(.22,.61,.36,1); --ease-out:cubic-bezier(.16,1,.3,1)}
.reveal{opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease-out), transform .8s var(--ease-out)}
.reveal.in{opacity:1; transform:none}
.reveal .eyebrow,.reveal>.wrap>h2,.reveal>.wrap>.lead{opacity:0; transform:translateY(16px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out)}
.reveal.in .eyebrow{opacity:1; transform:none; transition-delay:.05s}
.reveal.in>.wrap>h2{opacity:1; transform:none; transition-delay:.14s}
.reveal.in>.wrap>.lead{opacity:1; transform:none; transition-delay:.22s}
.eyebrow::after{transform:scaleX(0); transform-origin:right; transition:transform .9s var(--ease-out) .3s}
.reveal.in .eyebrow::after{transform:scaleX(1)}
.stagger>*{opacity:0; transform:translateY(20px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out)}
.reveal.in .stagger>*{opacity:1; transform:none}
.reveal.in .stagger>*:nth-child(1){transition-delay:.10s}
.reveal.in .stagger>*:nth-child(2){transition-delay:.18s}
.reveal.in .stagger>*:nth-child(3){transition-delay:.26s}
.reveal.in .stagger>*:nth-child(4){transition-delay:.34s}
.reveal.in .stagger>*:nth-child(5){transition-delay:.42s}
.reveal.in .stagger>*:nth-child(6){transition-delay:.50s}
.reveal.in .stagger>*:nth-child(7){transition-delay:.58s}
.reveal.in .stagger>*:nth-child(8){transition-delay:.66s}
.tablewrap tbody tr{opacity:0; transform:translateX(14px); transition:opacity .55s var(--ease-out), transform .55s var(--ease-out)}
.reveal.in .tablewrap tbody tr{opacity:1; transform:none}
.reveal.in .tablewrap tbody tr:nth-child(1){transition-delay:.20s}
.reveal.in .tablewrap tbody tr:nth-child(2){transition-delay:.28s}
.reveal.in .tablewrap tbody tr:nth-child(3){transition-delay:.36s}
@keyframes riseIn{from{opacity:0; transform:translateY(26px)} to{opacity:1; transform:none}}
.hero .docmeta{animation:riseIn .8s var(--ease-out) .05s both}
.hero .brands{animation:riseIn .9s var(--ease-out) .18s both}
.hero h1{animation:riseIn .9s var(--ease-out) .30s both}
.hero .lead{animation:riseIn .9s var(--ease-out) .42s both}
.hero .quickscan{animation:riseIn .9s var(--ease-out) .54s both}

/* ---------- centered hero ---------- */
.hero{text-align:center; padding-top:52px}
.hero .eyebrow{justify-content:center}
.hero .eyebrow::after{display:none}
.docmeta{justify-content:center}
.hero .lead{margin-inline:auto}
h1{text-wrap:balance}
.hero .lead{text-wrap:pretty}

/* ---------- professional topbar ---------- */
.topbar{position:sticky; top:0; z-index:55; background:rgba(255,255,255,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--rule); transition:box-shadow .3s var(--ease), border-color .3s ease}
.topbar.stuck{box-shadow:0 6px 26px rgba(15,30,34,.07); border-color:var(--rule-strong)}
.topbar-in{display:flex; align-items:center; justify-content:space-between; gap:22px; padding:13px 28px; max-width:var(--maxw); margin:0 auto}
.tb-brand{display:flex; align-items:center; gap:11px; flex:none}
.tb-mark{width:9px; height:26px; border-radius:100px; background:linear-gradient(180deg,var(--purple-deep) 0%,var(--gold) 55%,var(--green) 100%); flex:none}
.tb-txt{font-family:var(--display); font-size:14px; font-weight:800; color:var(--ink); white-space:nowrap; letter-spacing:-.01em}
.tb-txt i{font-style:normal; color:var(--rule-strong); font-weight:400; margin:0 3px}
.tb-nav{display:flex; gap:2px; align-items:center; flex:1; justify-content:center}
.tb-nav a{font-size:13.5px; color:var(--ink2); text-decoration:none; padding:8px 12px; border-radius:3px; white-space:nowrap; transition:color .2s ease; position:relative}
.tb-nav a::after{content:""; position:absolute; bottom:4px; right:12px; left:12px; height:1.5px; background:var(--purple); transform:scaleX(0); transform-origin:right; transition:transform .3s var(--ease-out)}
.tb-nav a:hover{color:var(--purple-deep)}
.tb-nav a:hover::after,.tb-nav a.active::after{transform:scaleX(1)}
.tb-nav a.active{color:var(--purple-deep); font-weight:600}
.tb-cta{display:flex; align-items:center; gap:9px; flex:none}
.tb-call{font-family:var(--mono); font-size:13px; font-weight:600; color:var(--ink); text-decoration:none; padding:9px 13px; border:1px solid var(--rule-strong); border-radius:3px; white-space:nowrap; transition:.25s}
.tb-call:hover{border-color:var(--purple); color:var(--purple-deep); background:var(--purple-soft)}
.tb-wa{font-size:13.5px; font-weight:600; color:#fff; background:var(--purple); text-decoration:none; padding:10px 17px; border-radius:3px; white-space:nowrap; transition:background .25s ease, transform .25s var(--ease)}
.tb-wa:hover{background:var(--purple-deep); transform:translateY(-1px)}

/* ---------- polish ---------- */
.card,.opt,.step,.incl{transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease}
.card:hover,.incl:hover{transform:translateY(-3px); box-shadow:0 8px 26px rgba(15,30,34,.07); border-color:var(--rule-strong)}
.opt:hover{box-shadow:0 10px 30px rgba(15,30,34,.08)}
tbody tr{transition:background .18s ease}
tbody tr:hover{background:var(--purple-soft)}
.term:hover{background:var(--tint2)}
.chip{transition:border-color .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease)}
.chip:hover{transform:translateY(-3px); box-shadow:0 10px 34px rgba(15,30,34,.09); border-color:var(--purple)}

@media (max-width:1040px){ .tb-nav{display:none} }
@media (max-width:640px){
  .topbar-in{padding:11px 18px; gap:12px}
  .tb-txt{font-size:12.5px}
  .tb-call{display:none}
  .tb-wa{padding:9px 14px; font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal .eyebrow,.reveal>.wrap>h2,.reveal>.wrap>.lead,.stagger>*,.tablewrap tbody tr{opacity:1 !important; transform:none !important; transition:none !important}
  .eyebrow::after{transform:scaleX(1) !important}
  .hero .docmeta,.hero .brands,.hero h1,.hero .lead,.hero .quickscan{animation:none !important}
}
@media print{
  .topbar{display:none}
  .hero{padding-top:0}
  .card:hover,.incl:hover,.opt:hover,tbody tr:hover{transform:none !important; box-shadow:none !important; background:transparent !important}
}