/* Melal public homepage. Editorial hero/course layout and Arc FAQ pattern.
 * Original native CSS; references: site/COMPONENT-REFERENCES.md. */
.landing{--home-paper:#F8F7F3;--home-line:#E0E2E4;--home-muted:#626B7A;background:var(--home-paper)}
.landing .wrap{max-width:72rem;width:min(100% - 3.5rem,72rem)}
.landing h1,.landing h2,.landing h3{font-family:Estedad,Vazirmatn,Tahoma,sans-serif}
.home-kicker{display:flex;align-items:center;gap:.65rem;font-size:.8rem;color:var(--gold-ink);font-weight:600;margin-bottom:1rem}
.home-kicker::before{content:"";width:1.7rem;height:1px;background:currentColor}
.home-hero{overflow:hidden;padding:clamp(3rem,6.5vw,5.8rem) 0 3rem}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);gap:clamp(2.5rem,5vw,5rem);align-items:center}
.home-hero-copy{min-width:0}
.home-hero h1{font-size:clamp(2.7rem,3.5vw + .5rem,4.25rem);font-weight:800;line-height:1.55;letter-spacing:-.05em;margin:0 0 1.15rem;max-width:12ch}
.home-hero h1 span{display:block;color:var(--gold-ink)}
.home-hero-copy>p{font-size:1.02rem;color:var(--home-muted);max-width:32rem;line-height:2.1;margin:0 0 1.8rem}
.home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem}
.home-action{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:3.1rem;padding:.65rem 1.2rem;border:1px solid var(--navy);border-radius:.7rem;color:#fff;background:var(--navy);font-size:.88rem;font-weight:600;text-decoration:none;transition:background .18s,transform .18s}
.home-action:hover{background:#0c2e68;color:#fff;transform:translateY(-2px)}
.home-action .action-icon{color:currentColor;width:1.1rem;height:1.1rem}
.home-action-secondary{background:transparent;color:var(--navy);border-color:#ccd2da}
.home-action-secondary:hover{color:var(--navy);background:#fff}
.hero-detail{display:flex;gap:.5rem;align-items:center;margin-top:1rem;color:#626B7A;font-size:.75rem}
.hero-detail svg{width:.95rem;height:.95rem;stroke:currentColor;fill:none;stroke-width:1.6;flex:none}
.learning-visual{position:relative;min-width:0;margin:0;min-height:29rem;display:grid;place-items:center;isolation:isolate}
.visual-backplate{position:absolute;inset:1rem 0 .8rem;background:#e9edf0;border-radius:1.2rem}
.visual-backplate::before{content:"";position:absolute;inset:1.3rem;border:1px solid #ccd3da;border-radius:.6rem}
.visual-coordinates{position:absolute;z-index:2;top:2.2rem;left:2rem;font:500 .7rem/1.4 var(--font-body);color:#566272;letter-spacing:.13em;direction:ltr}
.language-sheet{position:relative;z-index:1;direction:ltr;text-align:left;width:76%;min-height:24rem;margin:1.7rem 0 1rem;background:var(--navy);border:1px solid #243c62;border-radius:.25rem;transform:rotate(-6deg);box-shadow:1rem 1.2rem 0 rgba(1,27,78,.08),0 18px 35px rgba(21,37,61,.13);padding:1.8rem 1.9rem;display:flex;flex-direction:column;color:#f5f0e7}
.sheet-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.5rem;color:#d6e0ef;font:400 .75rem/1.4 var(--font-body);letter-spacing:.13em}
.sheet-topline img{width:2rem;height:2rem}
.sheet-title{font:500 clamp(2.6rem,4.2vw,4rem)/1.1 Lora,Georgia,serif;letter-spacing:-.06em;position:relative;margin:0 0 1.4rem;color:#fff}
.sheet-title span{color:#e5bd65}
.sheet-rule{width:2.5rem;height:2px;background:#d6a33b;margin:.2rem 0 1rem}
.sheet-note{font:400 .8rem/1.65 var(--font-body);color:#c5cfdf}
.sheet-footer{margin-top:auto;padding-top:1.5rem;max-width:6.25rem;font:500 .75rem/1.5 var(--font-body);letter-spacing:.15em;color:#97a8c3}
.language-note{position:absolute;z-index:3;bottom:-2.1rem;right:-.8rem;direction:ltr;text-align:left;width:52%;padding:1.25rem 1.5rem;background:#fffcf5;border:1px solid #e9ddc2;box-shadow:0 6px 20px rgba(44,35,18,.07);transform:rotate(3deg);border-radius:.3rem}
.language-note small{font:500 .75rem/1.6 var(--font-body);color:#79673F;letter-spacing:.08em}
.language-note p{margin:.2rem 0;font:500 1.45rem/1.4 Lora,Georgia,serif;color:var(--navy)}
.language-note span{font-size:.72rem;color:#697482;display:block;direction:ltr}
.home-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--home-line);padding-top:1.4rem;margin-top:3rem;font-size:.78rem;color:var(--home-muted)}
.home-hero-foot>span{font-family:Lora,Georgia,serif;font-size:.8rem;letter-spacing:.14em;direction:ltr}
.home-course-types{display:flex;flex-wrap:wrap;gap:1.5rem}
.home-course-types li{display:flex;align-items:center;gap:.45rem}
.home-course-types li::before{content:"";width:4px;height:4px;border-radius:50%;background:#b09357}
.home-section{padding:clamp(3rem,6vw,5rem) 0}
.home-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem}
.home-section-heading h2{font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.6;font-weight:750;margin:0}
.home-section-heading p{color:var(--home-muted);font-size:.92rem;max-width:31rem;margin:.5rem 0 0;line-height:2}
.home-text-link{display:inline-flex;align-items:center;gap:.6rem;min-height:2.75rem;color:var(--navy);font-size:.85rem;text-decoration:none;font-weight:600;white-space:nowrap}
.home-text-link .action-icon{width:1rem;height:1rem;color:currentColor}
.home-text-link:hover{text-decoration:underline}
.home-programs{background:#fff;border-block:1px solid var(--home-line)}
.home-portal{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.home-portal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:4rem;align-items:center}
.home-portal .home-kicker{color:#dbb86c}
.home-portal h2{color:#fff;font-size:clamp(1.9rem,2.7vw,2.65rem);font-weight:750;line-height:1.65;margin:0 0 1rem}
.home-portal p{color:#b8c6dc;font-size:.93rem;line-height:2;max-width:30rem;margin-bottom:1.5rem}
.home-portal .home-action{color:var(--navy);background:#ecd6a6;border-color:#ecd6a6}
.portal-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #294061;border-radius:1rem;overflow:hidden;background:#092351}
.portal-feature{padding:1.8rem 1.5rem;min-width:0}
.portal-feature:nth-child(odd){border-inline-end:1px solid #294061}
.portal-feature:nth-child(-n+2){border-bottom:1px solid #294061}
.portal-feature .action-icon{width:1.45rem;height:1.45rem;color:#d9b566;margin-bottom:1.1rem}
.portal-feature h3{color:#fff;font-size:.95rem;line-height:1.7;margin:0 0 .5rem}
.portal-feature p{font-size:.8rem;margin:0;line-height:1.9;color:#a9bad4}
.home-enrollment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.3rem}
.enrollment-step{border-top:1px solid #ccd1d9;padding-top:1.15rem;min-width:0}
.enrollment-step-number{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;background:#ebe5d6;border-radius:50%;color:#8b692b;font:600 .85rem var(--font-body);margin-bottom:1.15rem}
.enrollment-step h3{font-size:1.03rem;font-weight:700;margin:0 0 .65rem}
.enrollment-step p{font-size:.92rem;color:var(--home-muted);line-height:2;margin:0}
.home-faq{background:#fff;border-block:1px solid var(--home-line)}
.home-faq-grid{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1fr);gap:5rem}
.home-faq h2{font-size:clamp(1.8rem,2.4vw,2.3rem);font-weight:750;line-height:1.7;margin:0 0 1rem}
.home-faq-intro p{font-size:.9rem;line-height:2;color:var(--home-muted)}
.home-faq-list details{padding:1.1rem 0;border-bottom:1px solid #e3e6ea}
.home-faq-list details:first-child{border-top:1px solid #e3e6ea}
.home-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;list-style:none;cursor:pointer;color:var(--navy);font-size:.96rem;font-weight:600;line-height:1.9;min-height:2.5rem}
.home-faq-list summary::-webkit-details-marker{display:none}
.faq-plus{width:1.1rem;height:1.1rem;flex:none;stroke:#67758c;stroke-width:1.5;transition:transform .2s}
.home-faq-list details[open] .faq-plus{transform:rotate(45deg)}
.home-faq-list details p{padding-inline-end:2.7rem;margin:.65rem 0 .3rem;line-height:2;color:var(--home-muted);font-size:.94rem}
.home-final{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:3rem 0}
.home-final h2{font-size:1.8rem;font-weight:750;margin:0 0 .35rem;line-height:1.7}
.home-final p{font-size:.88rem;color:var(--home-muted);margin:0}
.landing .site-footer{width:min(100% - 3.5rem,72rem);margin-top:0}
.landing .site-footer .wrap{width:100%;max-width:none}
@media(max-width:64rem){.home-hero-grid{gap:2.5rem}.home-hero h1{font-size:3rem}.language-sheet{padding:1.5rem;min-height:23rem}.sheet-title{font-size:3.3rem}.home-portal-grid{gap:2rem}.home-faq-grid{gap:3rem}}
@media(max-width:48rem){.landing .wrap{width:min(100% - 2.5rem,72rem)}.home-hero{padding-top:2.5rem}.home-hero-grid{grid-template-columns:1fr;gap:2rem}.home-hero h1{font-size:clamp(2.25rem,7vw,3.5rem);max-width:none}.home-hero-copy>p{font-size:.94rem;max-width:34rem}.learning-visual{width:min(100%,28rem);justify-self:center;min-height:26rem}.language-sheet{min-height:22rem;max-width:20rem}.visual-coordinates{font-size:.65rem}.home-hero-foot{flex-direction:column;align-items:flex-start;margin-top:2rem}.home-course-types{gap:.65rem 1.1rem;font-size:.75rem}.home-section-heading{align-items:flex-start;gap:1rem;flex-direction:column}.home-section-heading h2{font-size:1.75rem}.home-portal-grid,.home-faq-grid{grid-template-columns:1fr;gap:2rem}.home-enrollment-grid{grid-template-columns:1fr;gap:1.5rem}.enrollment-step{display:grid;grid-template-columns:2.5rem 1fr;column-gap:1rem;padding-top:1rem}.enrollment-step-number{grid-row:span 2}.enrollment-step h3{margin-bottom:.4rem}.home-final{align-items:flex-start;flex-direction:column;gap:1.3rem}.home-final h2{font-size:1.7rem}.landing .site-footer{width:min(100% - 2rem,72rem)}}
@media(max-width:30rem){.home-hero h1{letter-spacing:-.035em}.home-actions{gap:.6rem}.home-action{font-size:.8rem;padding:.6rem 1rem}.hero-detail{font-size:.7rem}.learning-visual{min-height:25rem}.language-sheet{width:78%;padding:1.45rem;min-height:21.5rem}.sheet-title{font-size:2.95rem}.sheet-topline{margin-bottom:2.4rem}.language-note{right:-.1rem;width:54%;padding:1rem}.language-note p{font-size:1.2rem}.language-note small{font-size:.75rem}.language-note span{font-size:.75rem}.portal-feature{padding:1.35rem 1rem}.portal-feature h3{font-size:.88rem}.portal-feature p{font-size:.75rem}.home-final .home-action{width:100%}.landing .site-footer{width:100%}.home-kicker{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.home-action,.faq-plus{transition:none}.home-action:hover{transform:none}}
@media(max-width:30rem){.home-actions{align-items:stretch}.home-actions .home-action{flex:1 1 100%}}
@media(max-width:30rem){.sheet-footer{max-width:4rem}.language-note{width:48%}}
@media(max-width:380px){.language-note{display:none}}
.home-hero-foot{margin-top:4rem}


/* Four learning steps reuse the existing enrollment cards and palette. */
.home-enrollment-grid.home-how-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:64rem){.home-enrollment-grid.home-how-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:48rem){.home-enrollment-grid.home-how-grid{grid-template-columns:minmax(0,1fr)}}
