:root{--rose-50:#faf1f0;--rose-100:#f3dede;--rose-200:#e4bfc1;--rose-300:#c79d9d;--rose-400:#a56d6f;--rose-500:#8b4447;--rose-600:#76393c;--rose-700:#5f2e31;--rose-800:#482427;--rose-900:#2e1718;--blush-50:#fdf4ef;--blush-100:#fbeae1;--blush-200:#f5d7c9;--blush-200-rgb:245,215,201;--blush-300:#efc7b7;--blush-400:#e3ac97;--blush-500:#d08f77;--white:#fff;--paper:#fffbf7;--sand-50:#fdf6ef;--sand-100:#f9f3ed;--sand-200:#f2e6da;--sand-300:#e6d5c6;--sand-400:#d4c3b2;--sand-500:#b6a292;--ink-900:#2a1c1a;--ink-800:#3c2c2a;--ink-700:#4f3d3a;--ink-600:#6b5854;--ink-500:#897672;--ink-400:#a89894;--green-500:#5b7b57;--green-50:#eef3ec;--amber-500:#c58a3d;--amber-50:#faf1e3;--red-500:#b3433f;--red-50:#faeae9;--info-500:#8a6355;--info-50:#f5ebe6;--text-strong:var(--rose-900);--text-heading:var(--rose-700);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-faint:var(--ink-400);--text-brand:var(--rose-500);--text-onbrand:var(--white);--text-link:var(--rose-500);--surface-page:var(--sand-100);--surface-card:var(--paper);--surface-raised:var(--paper);--surface-sunken:var(--blush-50);--surface-brand:var(--rose-500);--surface-brand-soft:var(--blush-300);--surface-accent-soft:var(--rose-50);--border-subtle:#f0dace;--border-default:var(--rose-400);--border-strong:var(--rose-500);--border-brand:var(--rose-500);--brand:var(--rose-500);--brand-hover:var(--rose-600);--brand-active:var(--rose-700);--brand-soft:var(--blush-300);--brand-soft-hover:var(--blush-400);--on-brand:var(--white);--focus-ring:color-mix(in srgb,var(--rose-500) 45%,transparent);--grad-brand:linear-gradient(135deg,var(--rose-500) 0%,var(--rose-700) 100%);--grad-brand-hover:linear-gradient(135deg,var(--rose-600) 0%,var(--rose-800) 100%);--grad-blush:linear-gradient(160deg,var(--blush-200) 0%,var(--blush-100) 100%);--grad-cream:linear-gradient(180deg,var(--blush-100) 0%,var(--blush-50) 100%);--wash-brand:radial-gradient(80% 120% at 12% 0%,color-mix(in srgb,var(--rose-400) 55%,transparent) 0%,transparent 62%),radial-gradient(70% 110% at 92% 100%,color-mix(in srgb,var(--rose-800) 70%,transparent) 0%,transparent 60%),var(--grad-brand);--font-display:var(--font-cormorant),"Iowan Old Style",Georgia,serif;--font-body:var(--font-mulish),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-arabic:var(--font-amiri),"Scheherazade New",serif;--font-urdu:var(--font-urdu-face),"Amiri",serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--fs-display:clamp(3rem,1.8rem + 5vw,5.25rem);--fs-h1:clamp(2.4rem,1.6rem + 3.2vw,3.75rem);--fs-h2:clamp(2rem,1.5rem + 2vw,2.75rem);--fs-h3:clamp(1.6rem,1.3rem + 1.2vw,2.1rem);--fs-h4:clamp(1.35rem,1.2rem + 0.6vw,1.6rem);--fs-lead:1.25rem;--fs-body:1.0625rem;--fs-sm:0.9375rem;--fs-xs:0.8125rem;--fs-overline:0.75rem;--lh-tight:1.08;--lh-snug:1.25;--lh-normal:1.5;--lh-relaxed:1.7;--lh-arabic:2.0;--ls-tight:-0.02em;--ls-normal:0;--ls-wide:0.04em;--ls-overline:0.18em}:root[lang=ur]{--font-display:var(--font-cormorant),var(--font-urdu-face),Georgia,serif;--font-body:var(--font-mulish),var(--font-urdu-face),sans-serif;--ls-tight:0;--ls-wide:0;--ls-overline:0;--fs-lead:1.4rem;--fs-body:1.2rem;--fs-sm:1.05rem;--fs-xs:0.95rem;--fs-overline:0.9rem}:root{--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-12:7rem;--container:1200px;--container-text:720px;--gutter:clamp(1.25rem,4vw,4rem);--section-y:clamp(4rem,8vw,7rem);--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:26px;--radius-2xl:36px;--radius-pill:999px;--border-width:1px;--border-hair:1px solid var(--border-subtle);--shadow-xs:0 1px 2px rgba(139,68,71,.08);--shadow-sm:0 2px 8px rgba(139,68,71,.1);--shadow-md:0 8px 24px rgba(139,68,71,.13);--shadow-lg:0 18px 46px rgba(139,68,71,.16);--shadow-xl:0 30px 72px rgba(139,68,71,.2);--shadow-inner:inset 0 1px 2px rgba(139,68,71,.08);--shadow-brand-sm:0 3px 10px -2px rgba(139,68,71,.38);--shadow-brand:0 10px 24px -8px rgba(139,68,71,.55);--focus-shadow:0 0 0 3px var(--focus-ring);--ease-out:cubic-bezier(0.22,0.61,0.36,1);--ease-in-out:cubic-bezier(0.45,0.05,0.55,0.95);--dur-fast:140ms;--dur-base:220ms;--dur-slow:360ms}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-relaxed);font-weight:var(--fw-regular);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:0 0 var(--space-4);text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h3,h4{font-weight:var(--fw-medium)}h4{font-size:var(--fs-h4)}p{margin:0 0 var(--space-4);text-wrap:pretty}p:last-child{margin-bottom:0}a{color:var(--text-link);-webkit-text-decoration-color:color-mix(in srgb,var(--rose-400) 70%,transparent);text-decoration-color:color-mix(in srgb,var(--rose-400) 70%,transparent);text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--brand-hover)}b,strong{font-weight:var(--fw-bold);color:var(--text-strong)}hr{border:0;border-top:1px solid var(--border-subtle);margin:var(--space-6) 0}small{font-size:var(--fs-sm)}img{max-width:100%;display:block}::selection{background:var(--blush-300);color:var(--ink-900)}:focus-visible{outline:none;box-shadow:var(--focus-shadow);border-radius:var(--radius-xs)}.overline{font-family:var(--font-body);font-size:var(--fs-overline);font-weight:var(--fw-bold);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--rose-500)}.u-arabic,[lang=ar]{font-family:var(--font-arabic)}.u-arabic,.u-urdu,[lang=ar],[lang=ur]{line-height:var(--lh-arabic);direction:rtl}.u-urdu,[lang=ur]{font-family:var(--font-urdu)}.asl-btn{--_bg:var(--brand);--_fg:var(--on-brand);--_bd:transparent;--_bgh:var(--brand-hover);display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--font-body);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;border:1px solid var(--_bd);border-radius:var(--radius-pill);background:var(--_bg);color:var(--_fg);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.asl-btn:hover{background:var(--_bgh);color:var(--_fg)}.asl-btn:active{transform:translateY(1px)}.asl-btn:focus-visible{outline:none;box-shadow:var(--focus-shadow)}.asl-btn[aria-disabled=true],.asl-btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.asl-btn--md{font-size:var(--fs-sm);padding:.72em 1.4em}.asl-btn--sm{font-size:var(--fs-xs);padding:.6em 1.05em}.asl-btn--lg{font-size:var(--fs-body);padding:.85em 1.8em}.asl-btn--primary{--_bg:var(--grad-brand);--_fg:var(--on-brand);--_bgh:var(--grad-brand-hover);box-shadow:var(--shadow-brand-sm)}.asl-btn--primary:hover{box-shadow:var(--shadow-brand);transform:translateY(-1px)}.asl-btn--primary:active{transform:translateY(1px);box-shadow:var(--shadow-brand-sm)}.asl-btn--secondary{--_bg:var(--blush-200);--_fg:var(--rose-700);--_bd:var(--blush-300);--_bgh:var(--blush-300)}.asl-btn--outline{--_bg:transparent;--_fg:var(--rose-600);--_bd:var(--rose-300);--_bgh:var(--blush-50);border-width:1.5px}.asl-btn--outline:hover{border-color:var(--rose-400)}.asl-btn--ghost{--_bg:transparent;--_fg:var(--rose-600);--_bgh:var(--blush-50)}.asl-btn--block{display:flex;width:100%}.asl-btn--icon img,.asl-btn--icon svg{width:1.1em;height:1.1em;display:block}.asl-badge{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--fs-xs);line-height:1;letter-spacing:.02em;padding:.42em .78em;border-radius:var(--radius-pill);border:1px solid transparent}.asl-badge--solid{background:var(--grad-brand);color:#fff}.asl-badge--soft{background:var(--blush-100);color:var(--rose-700);border-color:var(--blush-200)}.asl-badge--blush{background:var(--blush-200);color:var(--rose-700);border-color:var(--blush-300)}.asl-badge--outline{background:transparent;color:var(--rose-600);border-color:var(--blush-400)}.asl-badge--success{background:var(--green-50);color:var(--green-500)}.asl-badge--warning{background:var(--amber-50);color:var(--amber-500)}.asl-badge--error{background:var(--red-50);color:var(--red-500)}.asl-badge--info{background:var(--info-50);color:var(--info-500)}.asl-badge__dot{width:.5em;height:.5em;border-radius:50%;background:currentColor}.asl-card{position:relative;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.asl-card--interactive{cursor:pointer}.asl-card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--blush-400)}.asl-card--interactive:before{content:"";position:absolute;inset-inline:0;top:0;height:3px;z-index:1;background:var(--grad-brand);transform:scaleX(0);transform-origin:left center;transition:transform var(--dur-base) var(--ease-out)}[dir=rtl] .asl-card--interactive:before{transform-origin:right center}.asl-card--interactive:hover:before{transform:scaleX(1)}.asl-card--flat{box-shadow:none}.asl-card--brand{background:var(--wash-brand);border-color:var(--rose-700);color:var(--blush-100)}.asl-card--brand :is(h1,h2,h3,h4){color:#fff}.asl-card--cream{background:var(--grad-blush);border-color:var(--blush-300)}.asl-card__media{display:block;width:100%}.asl-card__body{padding:var(--space-5)}.asl-card--pad-sm .asl-card__body{padding:var(--space-4)}.asl-card--pad-lg .asl-card__body{padding:var(--space-6)}.asl-field{display:flex;flex-direction:column;gap:.4em;font-family:var(--font-body)}.asl-field__label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink-800)}.asl-field__req{color:var(--rose-500);margin-left:2px}.asl-input{font-family:var(--font-body);font-size:var(--fs-body);color:var(--ink-900);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:.7em .9em;width:100%;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.asl-input::placeholder{color:var(--text-faint)}.asl-input:hover{border-color:var(--border-strong)}.asl-input:focus{outline:none;border-color:var(--rose-500);box-shadow:var(--focus-shadow)}.asl-input[disabled]{background:var(--sand-100);color:var(--text-muted);cursor:not-allowed}.asl-field--error .asl-input{border-color:var(--red-500)}.asl-field--error .asl-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--red-500) 30%,transparent)}.asl-field__hint{font-size:var(--fs-xs);color:var(--text-muted)}.asl-field--error .asl-field__hint{color:var(--red-500)}textarea.asl-input{resize:vertical;min-height:5.5em;line-height:var(--lh-normal)}.asl-check{display:inline-flex;align-items:flex-start;gap:.6em;cursor:pointer;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-800);-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1.4}.asl-check input{position:absolute;opacity:0;pointer-events:none}.asl-check__box{width:1.25em;height:1.25em;flex:none;margin-top:.05em;border:1.5px solid var(--border-default);border-radius:var(--radius-xs);background:var(--surface-card);position:relative;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.asl-check__box:after{content:"";position:absolute;left:.36em;top:.16em;width:.32em;height:.6em;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform var(--dur-fast) var(--ease-out)}.asl-check input:checked+.asl-check__box{background:var(--rose-500);border-color:var(--rose-500)}.asl-check input:checked+.asl-check__box:after{transform:rotate(45deg) scale(1)}.asl-check input:focus-visible+.asl-check__box{box-shadow:var(--focus-shadow)}.asl-check input:disabled+.asl-check__box{opacity:.5}.asl-switch{display:inline-flex;align-items:center;gap:.6em;cursor:pointer;font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-800);-webkit-user-select:none;-moz-user-select:none;user-select:none}.asl-switch input{position:absolute;opacity:0;pointer-events:none}.asl-switch__track{width:2.6em;height:1.5em;border-radius:var(--radius-pill);background:var(--sand-400);position:relative;flex:none;transition:background var(--dur-base) var(--ease-out)}.asl-switch__thumb{position:absolute;top:.18em;left:.18em;width:1.14em;height:1.14em;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out)}.asl-switch input:checked+.asl-switch__track{background:var(--rose-500)}.asl-switch input:checked+.asl-switch__track .asl-switch__thumb{transform:translateX(1.1em)}.asl-switch input:focus-visible+.asl-switch__track{box-shadow:var(--focus-shadow)}.asl-switch input:disabled+.asl-switch__track{opacity:.5}.asl-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex:none;background:var(--blush-200);color:var(--rose-700);font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:.01em;border:1px solid var(--blush-300)}.asl-avatar img{width:100%;height:100%;object-fit:cover}.asl-avatar--xs{width:28px;height:28px;font-size:12px}.asl-avatar--sm{width:36px;height:36px;font-size:14px}.asl-avatar--md{width:48px;height:48px;font-size:18px}.asl-avatar--lg{width:64px;height:64px;font-size:24px}.asl-avatar--xl{width:96px;height:96px;font-size:36px}.asl-divider{display:flex;align-items:center;gap:var(--space-4);width:100%;color:var(--rose-300)}.asl-divider__line{flex:1 1;height:1px;background:linear-gradient(90deg,transparent,currentColor)}.asl-divider__line--rev{background:linear-gradient(270deg,transparent,currentColor)}.asl-divider__mark{flex:none;display:block}.asl-divider--sm .asl-divider__mark{width:26px;height:26px}.asl-divider--md .asl-divider__mark{width:38px;height:38px}.asl-divider--lg .asl-divider__mark{width:56px;height:56px}.asl-scripture{text-align:center;max-width:880px;margin-inline:auto}.asl-scripture__ornament{display:block;width:min(340px,72%);height:auto;margin-inline:auto;color:var(--rose-600)}.asl-scripture__ornament--flipped{transform:scaleY(-1)}.asl-scripture__ornament--top{margin-bottom:var(--space-4)}.asl-scripture__ornament--bottom{margin-top:var(--space-5)}.asl-scripture__ayah{font-family:var(--font-arabic);direction:rtl;color:var(--rose-600);font-size:clamp(1.6rem,1.1rem + 1.9vw,2.4rem);line-height:var(--lh-arabic);font-weight:400;margin:0 0 var(--space-5);text-wrap:balance}.asl-scripture__trans{font-family:var(--font-display);font-style:italic;color:var(--ink-800);font-size:clamp(1.15rem,1rem + .7vw,1.5rem);line-height:var(--lh-snug);font-weight:500;max-width:46rem;margin:0 auto var(--space-3);text-wrap:balance}.asl-scripture__ref{font-family:var(--font-body);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-overline);font-size:var(--fs-overline);color:var(--rose-400)}.asl-scripture--onbrand .asl-scripture__ayah{color:var(--blush-200)}.asl-scripture--onbrand .asl-scripture__trans{color:#fff}.asl-scripture--onbrand .asl-scripture__ref{color:var(--blush-300)}.asl-scripture--onbrand .asl-scripture__ornament{color:var(--blush-200)}.asl-course{flex-direction:column;height:100%}.asl-course,.asl-course__top{display:flex;gap:var(--space-3)}.asl-course__top{align-items:center;justify-content:space-between}.asl-course__title{font-family:var(--font-display);font-size:var(--fs-h4);font-weight:var(--fw-semibold);color:var(--text-heading);margin:0;line-height:1.1}.asl-course__desc{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--text-body);line-height:var(--lh-relaxed);margin:0}.asl-course__meta{display:flex;align-items:center;gap:var(--space-3);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-family:var(--font-body);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--rose-500)}.asl-course__arrow{margin-left:auto;color:var(--rose-500);font-size:var(--fs-body);transition:transform var(--dur-base) var(--ease-out)}.asl-card--interactive:hover .asl-course__arrow{transform:translateX(4px)}.asl-turnstile{min-height:65px}