/* Scoped below the existing hero: its pattern, fade, type and geometry stay untouched. */
.safa-home-content { color:var(--ink); }
.safa-home-content [hidden] { display:none!important; }
.safa-home-content .safa-section { padding-block:clamp(48px,6vw,88px); scroll-margin-top:32px; }
.safa-home-content h2 { font-size:clamp(2.2rem,4vw,3.5rem); line-height:1.1; margin:0 0 24px; }
.safa-home-content h3 { font-size:clamp(1.6rem,2.6vw,2.2rem); line-height:1.15; margin:0 0 16px; }
.safa-home-content p { line-height:1.65; color:var(--ink-soft); }
.safa-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:32px; }
.safa-section-heading h2 { margin:0; }
.safa-section-heading>span { color:var(--theme-action); }
.safa-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.safa-route { display:flex; flex-direction:column; padding:32px; border:1px solid rgb(var(--theme-ink-rgb)/12%); border-radius:24px; background:linear-gradient(160deg,#fff 40%,#e6f5f8); }
.safa-route .safa-days { color:var(--theme-action); font-weight:650; font-size:.85rem; margin:0 0 20px; }
.safa-route h3 { font-size:2.5rem; }
.safa-route-description { margin:0 0 26px; }
.safa-route .safa-route-campus { font-size:.84rem; margin:auto 0 24px; color:var(--ink); }
.safa-route-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; padding-top:24px; border-top:1px solid rgb(var(--theme-ink-rgb)/14%); }
.safa-home-content .safa-primary { background:var(--theme-action); border:1px solid var(--theme-action); color:#fff; border-radius:999px; min-height:48px; padding:14px 26px; }
.safa-home-content .safa-primary:hover { background:var(--ink); }
.safa-text-link { display:inline-flex; align-items:center; gap:12px; color:var(--theme-action); text-decoration:none; font-size:.9rem; font-weight:650; min-height:44px; }
.safa-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.safa-home-content a:focus-visible,.safa-home-content summary:focus-visible,.safa-home-content [role=tabpanel]:focus-visible { outline:3px solid var(--theme-action); outline-offset:5px; }
.safa-curriculum { background:linear-gradient(110deg,#e4f3f6,#f0f8f8); }
.safa-curriculum-layout { display:grid; grid-template-columns:200px minmax(0,1fr); gap:clamp(24px,5vw,80px); }
.safa-curriculum-tabs { display:flex; flex-direction:column; gap:8px; align-self:start; }
.safa-curriculum-tabs a { color:var(--ink); padding:14px 20px; border-radius:999px; text-decoration:none; font-weight:650; }
.safa-curriculum-tabs a[aria-selected=true] { color:#fff; background:var(--theme-action); }
.safa-curriculum-intro { max-width:620px; }
.safa-curriculum-intro p { margin:0 0 24px; }
.safa-curriculum-panels>section { margin-bottom:24px; }
.safa-curriculum-panels>section:last-child { margin-bottom:0; }
.safa-levels { list-style:none; padding:0; margin:0 0 24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; }
.safa-levels li { display:flex; gap:16px; border-top:1px solid rgb(var(--theme-ink-rgb)/17%); padding:22px 0; }
.safa-level-number { color:var(--theme-action); font-size:.8rem; padding-top:5px; }
.safa-levels h4 { font-family:inherit; font-size:1rem; font-weight:650; line-height:1.5; margin:0 0 4px; }
.safa-levels p { font-size:.87rem; margin:0; }
.safa-life-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:24px; }
.safa-home-content figure { margin:0; min-width:0; }
.safa-life-grid figure { position:relative; overflow:hidden; border-radius:22px; min-height:220px; }
.safa-life-grid .safa-life-main { grid-row:span 2; }
.safa-life-grid img { width:100%; height:100%; object-fit:cover; display:block; position:absolute; inset:0; }
.safa-life-main img { object-position:48% center; }
.safa-life-grid figcaption { position:absolute; bottom:0; left:0; right:0; padding:50px 24px 22px; color:#fff; font-size:.95rem; background:linear-gradient(transparent,#073541df); }
.safa-campus-section { background:#e7f3f4; }
.safa-campus-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.safa-campus { padding:28px 0; border-top:1px solid rgb(var(--theme-ink-rgb)/20%); }
.safa-campus address { font-style:normal; line-height:1.7; }
.safa-campus p { font-size:.86rem; }
.safa-online { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid rgb(var(--theme-ink-rgb)/20%); padding-top:32px; }
.safa-online h3 { margin:0 0 8px; }
.safa-online p { margin:0; }
.safa-enroll-layout,.safa-faq-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(32px,6vw,90px); }
.safa-enroll-layout>div>p { max-width:470px; margin-bottom:28px; }
.safa-track-link { display:block; width:fit-content; font-size:.9rem; margin-top:20px; color:var(--theme-action); }
.safa-enroll-rules article { border-top:1px solid rgb(var(--theme-ink-rgb)/20%); padding:24px 0; }
.safa-enroll-rules article:last-child { padding-bottom:0; }
.safa-enroll-rules h3 { font-size:1.7rem; }
.safa-enroll-rules p { margin:0; }
.safa-questions { border-top:1px solid rgb(var(--theme-ink-rgb)/12%); }
.safa-questions details { border-bottom:1px solid rgb(var(--theme-ink-rgb)/18%); }
.safa-questions summary { cursor:pointer; padding:20px 24px 20px 0; font-weight:650; line-height:1.5; }
.safa-questions details p { margin:0; padding:0 24px 24px 0; }
.safa-home-contact { background:linear-gradient(120deg,#ceeff4,#e9f6f6); }
.safa-contact-strip { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.safa-contact-strip h2 { font-size:2.4rem; margin:0 0 12px; }
.safa-contact-strip p { margin:0; }
.safa-inline-actions { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.safa-contact-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(32px,6vw,90px); }
.safa-contact-method { display:flex; align-items:center; gap:16px; color:var(--ink); text-decoration:none; padding:22px 0; border-bottom:1px solid rgb(var(--theme-ink-rgb)/18%); }
.safa-contact-method>span:nth-child(2) { flex:1; min-width:0; }
.safa-contact-method strong,.safa-contact-method>span>span { display:block; }
.safa-contact-method>span>span { font-size:.9rem; margin-top:5px; overflow-wrap:anywhere; }
.safa-contact-method:hover strong { text-decoration:underline; text-underline-offset:5px; }
.safa-method-icon { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; border-radius:50%; background:#e0f2f5; font-size:1.2rem; }
.safa-contact-registration { margin-top:36px; }
.safa-contact-registration h3 { font-size:1.7rem; }
.safa-contact-registration a { display:flex; width:fit-content; }
.safa-contact-visit figure { margin-bottom:32px; }
.safa-contact-visit img { width:100%; height:240px; object-fit:cover; border-radius:24px; display:block; }
.safa-contact-visit figcaption { margin-top:8px; font-size:.8rem; color:var(--ink-soft); }
.safa-contact-visit h2 { font-size:2rem; margin-bottom:20px; }
.safa-contact-visit h3 { font-size:1.7rem; }
.safa-contact-visit .safa-campus-grid { gap:24px; }
@media(max-width:1000px){.safa-route{padding:24px}.safa-route-actions{align-items:start;flex-direction:column;gap:8px}.safa-contact-layout{gap:32px}.safa-contact-visit .safa-campus-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:720px){.safa-section-heading{align-items:start;flex-direction:column;gap:8px}.safa-route-grid,.safa-enroll-layout,.safa-faq-layout,.safa-contact-layout{grid-template-columns:1fr}.safa-route-actions{flex-direction:row;align-items:center;justify-content:space-between}.safa-route{padding:28px}.safa-curriculum-layout{grid-template-columns:1fr;gap:24px}.safa-curriculum-tabs{flex-direction:row;flex-wrap:wrap;gap:4px}.safa-curriculum-tabs a{padding:12px 18px;font-size:.85rem}.safa-levels{grid-template-columns:1fr}.safa-life-grid{gap:14px;grid-template-columns:1fr 1fr}.safa-life-grid .safa-life-main{grid-column:span 2;grid-row:auto;min-height:340px}.safa-life-grid figure{min-height:210px}.safa-life-grid figcaption{font-size:.8rem;padding:35px 14px 16px}.safa-campus-grid{gap:20px}.safa-campus h3{font-size:1.8rem}.safa-campus address{font-size:.9rem}.safa-online,.safa-contact-strip{align-items:start;flex-direction:column}.safa-contact-visit .safa-campus-grid{grid-template-columns:1fr 1fr;gap:20px}}
@media(max-width:390px){.safa-campus-grid,.safa-contact-visit .safa-campus-grid{grid-template-columns:1fr;gap:0}.safa-life-grid{grid-template-columns:1fr}.safa-life-grid .safa-life-main{grid-column:auto}}

/* Safa brand, section navigation and curriculum disclosures. */
.fatwa-brand--emblem[data-brand="dar-al-safa"] { max-width:350px; }
.safa-brand-copy { display:flex; flex-direction:column; gap:6px; transform:translateY(10px); }
.safa-brand-slogan { font-family:var(--font-sans, sans-serif); font-size:.66rem; font-weight:500; line-height:1.45; letter-spacing:.01em; max-width:200px; text-wrap:balance; }
.safa-section-nav .branch-subnav__inner { width:100%; min-width:0; gap:10px; padding-block:14px; flex-wrap:wrap; }
.safa-section-nav .branch-subnav__inner a { display:inline-flex; align-items:center; justify-content:center; padding:10px 20px; min-height:44px; border:1px solid rgb(var(--theme-ink-rgb)/12%); border-radius:999px; background:rgb(255 255 255 / 75%); color:var(--ink); text-decoration:none; transition:background .18s,color .18s; }
.safa-section-nav .branch-subnav__inner a:hover,.safa-section-nav .branch-subnav__inner a[aria-current="location"] { background:var(--theme-action); color:white; }
.safa-section-nav a:focus-visible { outline:3px solid var(--theme-action); outline-offset:3px; }
.safa-levels { display:block; }
.safa-levels>li { display:block; padding:0; }
.safa-level { width:100%; }
.safa-level>summary { display:flex; align-items:center; gap:16px; padding:22px 0; cursor:pointer; list-style:none; }
.safa-level>summary::-webkit-details-marker { display:none; }
.safa-level>summary>span:nth-child(2) { flex:1; }
.safa-level strong { display:block; font-size:1rem; line-height:1.5; }
.safa-level-description { display:block; font-size:.87rem; line-height:1.6; margin-top:4px; color:var(--ink-soft); }
.safa-expand-icon { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; border-radius:50%; background:rgb(255 255 255 / 75%); font-size:1.3rem; transition:transform .18s; }
.safa-level[open] .safa-expand-icon { transform:rotate(45deg); }
.safa-level-content { padding:0 0 24px 35px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:24px; }
.safa-level-content .safa-subject-campus-name { font-weight:650; font-size:.8rem; margin:0 0 12px; }
.safa-subjects { list-style:none; padding:0; margin:0; }
.safa-levels .safa-subjects li { display:block; border:0; padding:7px 0; font-size:.9rem; line-height:1.65; overflow-wrap:anywhere; }
.safa-subjects bdi[lang="ar"] { font-family:var(--font-arabic,serif); font-size:1.15rem; }
.safa-life-preview { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.safa-life-preview figure { position:relative; overflow:hidden; border-radius:24px; }
.safa-life-preview img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block; border-radius:20px; }
.safa-life-preview figcaption { padding:16px 0; font-size:.9rem; }
.safa-gallery-link { margin-top:8px; }
.safa-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:32px; }
.safa-gallery-item { display:block; border-radius:20px; overflow:hidden; background:#dceff2; }
.safa-gallery-item img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transition:transform .2s; }
.safa-gallery-item:hover img { transform:scale(1.035); }
.safa-lightbox { width:min(1100px,96vw); max-width:96vw; max-height:94dvh; padding:54px 56px 24px; border:0; border-radius:24px; background:#103f4c; color:white; }
.safa-lightbox::backdrop { background:rgb(5 27 34 / 86%); }
.safa-lightbox figure { margin:0; }
.safa-lightbox figure img { display:block; max-width:100%; max-height:72dvh; width:auto; height:auto; margin:auto; object-fit:contain; }
.safa-lightbox figcaption { text-align:center; margin-top:16px; font-size:.9rem; }
.safa-lightbox button { position:absolute; border:0; border-radius:50%; background:white; color:#144a59; width:44px; height:44px; cursor:pointer; font-size:1.4rem; }
.safa-lightbox button:focus-visible { outline:3px solid #f3dfb1; outline-offset:3px; }
.safa-lightbox-close { top:8px; right:10px; }
.safa-lightbox-prev { top:50%; left:6px; }
.safa-lightbox-next { top:50%; right:6px; }
@media(max-width:720px){
 .safa-section-nav .branch-subnav__inner{gap:8px;justify-content:flex-start;overflow:visible}
 .safa-section-nav .branch-subnav__inner a{padding:9px 15px;font-size:.78rem}
 .safa-life-preview{grid-template-columns:1fr;gap:12px}
 .safa-life-preview img{height:auto;aspect-ratio:16/9}
 .safa-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .safa-level-content{padding-left:0}
 .safa-lightbox{padding:58px 12px 66px}
 .safa-lightbox-prev,.safa-lightbox-next{top:auto;bottom:12px}
 .safa-lightbox-prev{left:calc(50% - 54px)}.safa-lightbox-next{right:calc(50% - 54px)}
}
@media(max-width:360px){.safa-brand-slogan{font-size:.52rem;max-width:120px}.fatwa-brand--emblem[data-brand="dar-al-safa"]{gap:6px}.safa-gallery-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.safa-section-nav a,.safa-gallery-item img,.safa-expand-icon{transition:none!important}}

/* Compact teachers introduction, ready for the supplied staff portraits. */
.safa-home-content .safa-teachers { padding-bottom:0; }
.safa-teacher-intro { display:grid; grid-template-columns:1fr 1.3fr; gap:32px; align-items:center; }
.safa-teacher-intro h2,.safa-teacher-intro p { margin:0; }
.safa-teachers + #student-life { padding-top:48px; }
/* Keep the legal links inside the footer's padded base. */
.fatwa-release .safa-footer .site-footer__base { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 28px; padding-block:20px 24px; }
.safa-footer .site-footer__base p { margin:0; }
.fatwa-release .safa-footer .site-footer__legal { display:flex; width:auto; max-width:100%; margin:0; padding:0; border:0; gap:4px 20px; justify-content:flex-start; }
.safa-footer .site-footer__legal a { display:inline-flex; align-items:center; min-height:44px; font-weight:500; }
@media(max-width:960px){
 .safa-brand-copy { font-size:.94rem; gap:5px; }
 .safa-brand-slogan { font-size:.56rem; max-width:165px; line-height:1.4; }
 .branch-site .safa-section-nav { display:none; }
 .safa-home-content .safa-section { scroll-margin-top:24px; }
 .safa-footer .site-footer__base { flex-direction:column; align-items:flex-start!important; gap:8px; }
}
@media(max-width:720px){
 .safa-brand-copy{font-size:.8rem;gap:4px;transform:translateY(5px)}
 .safa-brand-slogan{font-size:.52rem;max-width:120px}
 .safa-teacher-intro{grid-template-columns:1fr;gap:12px}
 .safa-home-content .safa-teachers + #student-life{padding-top:36px}
 .fatwa-release .safa-footer .site-footer__base{padding-inline:24px;padding-block:20px 24px}
}
