:root{
  --navy:#0F2851;
  --navy-deep:#0A1C39;
  --gold:#A39161;
  --gold-light:#C7B88F;
  --gold-ink:#7A6B40;
  --paper:#F7F6F3;
  --white:#FFFFFF;
  --line:#E4E1D9;
  --text:#22344E;
  /* Normal inset by default; 150px only from 1200px up (see media below) */
  --container:2500px;
  --gutter:20px;
  --fs-body:16px;
  --fs-h1:clamp(24px,2.4vw + 14px,40px);
  --fs-h2:clamp(22px,1.5vw + 15px,32px);
  --fs-h3:clamp(16px,.4vw + 14px,19px);
  --fs-lead:clamp(15px,.35vw + 13.5px,17px);
  --fs-btn:clamp(13px,.15vw + 12.5px,15px);
  --fs-nav:15px;
  --fs-small:14px;
  --fs-label:13px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden!important;width:100%;max-width:100%;overscroll-behavior-x:none}
body{font-family:'Tajawal',sans-serif;font-size:var(--fs-body);line-height:1.65;color:var(--text);background:var(--paper);overflow-x:hidden!important;width:100%;max-width:100%;position:relative;overscroll-behavior-x:none}
.page.active{overflow-x:hidden;max-width:100%;width:100%}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);box-sizing:border-box}
/* Wide desktop only — keep the large side space; below 1200px use normal 20px */
@media(min-width:1200px){:root{--gutter:150px}}
.eyebrow{font-size:var(--fs-label);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink)}
.eyebrow.on-dark{color:var(--gold-light)}
h1,h2,h3,.h4,.h2,.h3{color:var(--navy);font-weight:800;line-height:1.2}
h2,.h2{font-size:var(--fs-h2);margin:10px 0 14px}
h3,.h3{font-size:var(--fs-h3)}
.section{padding:72px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;font-family:inherit;font-size:var(--fs-btn);font-weight:700;cursor:pointer;border:2px solid transparent;transition:.2s}
.btn-gold{background:var(--gold);color:var(--navy-deep)}
.btn-gold:hover{background:var(--gold-light)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-deep)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-outline-light{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.btn-outline-light:hover{border-color:#fff}
.ar{font-size:15px;color:var(--gold-ink);direction:rtl}
.card-ar{direction:rtl;text-align:right}
/* Instructional editor notes — never show on the live site */
.placeholder-note{display:none!important}
.draft-note{background:#FFF9E8;border:1px dashed var(--gold);padding:10px 14px;font-size:14px;line-height:22px;color:var(--gold-ink);margin-top:16px}

/* ---------- Utility bar ---------- */
.utility{background:var(--navy-deep);color:#fff;font-size:var(--fs-small)}
.utility .container{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:12px;flex-wrap:wrap}
.utility .left span{opacity:.85}
.utility .left span+span::before{content:"|";margin:0 10px;opacity:.4}
.utility .right{display:flex;align-items:center;gap:16px}
.utility .status{color:var(--gold-light);font-weight:700}
.utility .status::before{content:"●";margin-right:6px;font-size:9px}
/* ---------- Header ---------- */
header.site{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:50}
header.site .container{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:20px}
.logo{display:flex;align-items:center;flex-shrink:0}
.logo img{display:block;height:54px;width:auto}
nav.main ul{display:flex;gap:26px;font-weight:500;font-size:var(--fs-nav)}
nav.main>ul>li>a{white-space:nowrap}
nav.main a:hover{color:var(--gold-ink)}
/* Courses menu item: a panel with every category, by group */
nav.main{align-self:stretch;display:flex}
nav.main>ul{align-items:stretch}
nav.main>ul>li{display:flex;align-items:center}
.nav-mega{gap:2px}
.mega-toggle{background:none;border:0;padding:4px;color:inherit;cursor:pointer;display:flex;transition:transform .2s}
.mega{position:absolute;top:100%;left:max(20px,calc((100vw - 1280px) / 2));right:max(20px,calc((100vw - 1280px) / 2));background:#fff;border-top:3px solid var(--gold);border-radius:0 0 16px 16px;box-shadow:0 28px 60px rgba(10,28,57,.24);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:60;max-height:calc(100vh - 130px);overflow-y:auto}
.nav-mega:hover .mega,.nav-mega:focus-within .mega{opacity:1;visibility:visible;transform:none}
.nav-mega:hover .mega-toggle{transform:rotate(180deg)}
.mega-group-toggle{display:flex;align-items:center;background:none;border:0;padding:0;color:inherit;cursor:pointer}
/* Rotate the icon, never the button: a transform on the button would shrink its stretched hit area to the icon. */
.mega-group-toggle svg{display:block;transition:transform .2s}
.mega-group-toggle::after{content:"";position:absolute;inset:0}
.mega-group .h4{position:relative;display:flex;align-items:center;gap:12px;transition:background .15s,color .15s}
.group-icon{flex-shrink:0}
.group-count{margin-inline-start:auto;font-size:13px;font-weight:700}
.mega-pane-head{display:none}
.mega-links{display:flex;gap:22px;flex-wrap:wrap}
nav.main .mega-group a{display:flex;justify-content:space-between;align-items:center;gap:10px;line-height:1.3;color:var(--navy)}
nav.main .mega-group a span{font-size:12px;font-weight:700;color:var(--gold-ink);flex-shrink:0}
nav.main .mega-foot a{font-weight:800;color:var(--navy)}
/* Desktop: navy rail of group tabs on one side, the selected group's categories on the other.
   All panes share one grid cell, so the panel keeps the height of the tallest and never jumps. */
@media(min-width:1241px){
  header.site .mega .container{--gutter:0px;display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-rows:auto auto auto 1fr auto;gap:0;align-items:stretch;justify-content:stretch;min-height:0;max-width:none;padding:0}
  header.site .mega .container::before{content:"";grid-column:1;grid-row:1/-1;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);border-end-start-radius:16px}
  .mega-group{display:contents}
  .mega-group .h4{grid-column:1;gap:10px;margin:0 14px 4px;padding:13px 14px;border-radius:10px;font-size:14.5px;font-weight:700;color:#fff}
  .mega-group--management .h4{grid-row:1;margin-top:18px}
  .mega-group--it .h4{grid-row:2}
  .mega-group--language .h4{grid-row:3}
  .mega-group .h4:hover{background:rgba(255,255,255,.09)}
  .mega-group .group-icon{color:var(--gold-light)}
  .mega-group .group-count{color:rgba(255,255,255,.72)}
  .mega-group-toggle{opacity:.55}
  .mega-group-toggle svg{transform:rotate(-90deg)}
  [dir="rtl"] .mega-group-toggle svg{transform:rotate(90deg)}
  .mega-group-toggle:focus-visible{outline:0}
  .mega-group .h4:has(:focus-visible){outline:2px solid var(--gold-light);outline-offset:2px}
  .mega-group.is-active .h4,.mega-group.is-active .h4:hover{background:var(--gold-light);color:var(--navy-deep)}
  .mega-group.is-active .group-icon,.mega-group.is-active .group-count{color:var(--navy-deep)}
  .mega-group.is-active .mega-group-toggle{opacity:1}
  .mega-pane{grid-column:2;grid-row:1/-1;min-width:0;padding:22px 26px 26px;transition:opacity .15s}
  .mega-group:not(.is-active) .mega-pane{visibility:hidden;opacity:0}
  .mega-pane-head{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
  .mega-pane-head b{font-size:19px;font-weight:800;line-height:1.3;color:var(--navy)}
  .mega-pane-head span{font-size:13px;font-weight:600;color:var(--gold-ink)}
  nav.main .mega-group ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch;font-size:14.5px;font-weight:500}
  nav.main .mega-group li{display:flex;min-width:0}
  nav.main .mega-group a{width:100%;min-height:48px;padding:8px 10px 8px 13px;background:var(--paper);border:1px solid transparent;border-radius:9px;transition:background .15s,border-color .15s,box-shadow .15s}
  [dir="rtl"] nav.main .mega-group a{padding:8px 13px 8px 10px}
  nav.main .mega-group a span{min-width:26px;height:24px;padding-inline:6px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:99px;transition:background .15s,color .15s,border-color .15s}
  nav.main .mega-group a:hover,nav.main .mega-group a:focus-visible{color:var(--navy);background:#fff;border-color:var(--gold);box-shadow:0 6px 16px rgba(10,28,57,.09)}
  nav.main .mega-group a:hover span,nav.main .mega-group a:focus-visible span{background:var(--navy);border-color:var(--navy);color:#fff}
  header.site .mega .mega-foot{grid-column:1;grid-row:5;display:flex;flex-direction:column;gap:10px;margin:18px 28px 0;padding:14px 0 22px;border-top:1px solid rgba(255,255,255,.16);font-size:13px;color:rgba(255,255,255,.72)}
  .mega-links{flex-direction:column;gap:10px}
  nav.main .mega-foot a{font-size:14px;color:#fff}
  nav.main .mega-foot a:hover{color:var(--gold-light)}
  nav.main .mega-foot a:last-child{display:block;padding:10px 12px;background:var(--gold-light);border-radius:8px;text-align:center;color:var(--navy-deep);transition:background .15s}
  nav.main .mega-foot a:last-child:hover{background:#fff;color:var(--navy-deep)}
}
/* Always LTR button order (EN/AR → Enquire → Register), same as the English header */
.header-actions{display:flex;flex-direction:row;direction:ltr;gap:10px;align-items:center;flex-shrink:0}
.menu-toggle{display:none;background:var(--navy);color:#fff;border:0;width:44px;height:44px;font-size:20px;cursor:pointer}

/* ---------- Hero ---------- */
.hero{background:var(--navy);color:#fff;padding:80px 0 96px}
.hero .container{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero h1{color:#fff;font-size:var(--fs-h1);line-height:1.15;margin:12px 0 18px}
.hero p.lead{font-size:var(--fs-lead);line-height:1.55;color:rgba(255,255,255,.85);max-width:560px}
.hero ul.points{margin:26px 0 30px;display:grid;gap:10px}
.hero ul.points li{padding-left:26px;position:relative;color:rgba(255,255,255,.92)}
.hero ul.points li::before{content:"✓";position:absolute;left:0;color:var(--gold-light);font-weight:800}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}
.photo-frame{border:1px dashed rgba(255,255,255,.4);background:rgba(255,255,255,.05);min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:rgba(255,255,255,.65);font-size:13px;gap:10px}
.photo-frame .cam{font-size:30px}

/* ---------- Full-width hero slider ---------- */
.hero-slider{position:relative;min-height:580px;background:var(--navy);overflow:hidden}
.hs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease}
.hs-slide.active{opacity:1;visibility:visible;z-index:2}
.hs-slide .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 6s linear}
.hs-slide.active .bg{transform:scale(1)}
.hs-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,28,57,.94) 0%,rgba(15,40,81,.82) 45%,rgba(15,40,81,.35) 100%)}
[dir="rtl"] .hs-slide::after{background:linear-gradient(270deg,rgba(10,28,57,.94) 0%,rgba(15,40,81,.82) 45%,rgba(15,40,81,.35) 100%)}
.hs-content{position:relative;z-index:3;min-height:580px;display:flex;align-items:center;padding:70px 0 90px}
.hs-content .inner{max-width:640px}
.hs-content .eyebrow{color:var(--gold-light)}
.hs-content h1,.hs-content h2.hs-title,.hs-content .h2.hs-title{color:#fff;font-size:var(--fs-h1);line-height:1.15;margin:14px 0 18px;font-weight:800}
.hs-content p.lead{font-size:var(--fs-lead);line-height:1.55;color:rgba(255,255,255,.88)}
.hs-content ul.points{margin:24px 0 28px;display:grid;gap:10px}
.hs-content ul.points li{padding-left:26px;position:relative;color:rgba(255,255,255,.92)}
.hs-content ul.points li::before{content:"\2713";position:absolute;left:0;color:var(--gold-light);font-weight:800}
[dir="rtl"] .hs-content ul.points li{padding-left:0;padding-right:26px}
[dir="rtl"] .hs-content ul.points li::before{left:auto;right:0}
.hs-content .cta-row{display:flex;gap:14px;flex-wrap:wrap}
.hs-slide .inner>*{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.hs-slide.active .inner>*{opacity:1;transform:none}
.hs-slide.active .inner>*:nth-child(1){transition-delay:.15s}
.hs-slide.active .inner>*:nth-child(2){transition-delay:.25s}
.hs-slide.active .inner>*:nth-child(3){transition-delay:.35s}
.hs-slide.active .inner>*:nth-child(4){transition-delay:.45s}
.hs-slide.active .inner>*:nth-child(5){transition-delay:.55s}
.hs-arrows{position:absolute;z-index:5;bottom:34px;right:24px;display:flex;gap:10px}
[dir="rtl"] .hs-arrows{right:auto;left:24px}
.hs-arrows button{width:48px;height:48px;border:1px solid rgba(255,255,255,.4);background:rgba(10,28,57,.5);color:#fff;font-size:20px;cursor:pointer;transition:.2s}
.hs-arrows button:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.hs-dots{position:absolute;z-index:5;bottom:48px;left:50%;transform:translateX(-50%);display:flex;gap:10px}
.hs-dots button{width:34px;height:4px;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:.2s}
.hs-dots button.on{background:var(--gold)}
.hs-count{position:absolute;z-index:5;bottom:40px;left:24px;color:rgba(255,255,255,.75);font-size:13px;letter-spacing:.2em;font-weight:700}
[dir="rtl"] .hs-count{left:auto;right:24px}
@media(max-width:640px){
  .filter-tabs.cat-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .filter-tabs.cat-filter button{flex:0 0 auto}
  .filter-tabs .cat-group{flex:0 0 auto;align-self:center;margin:0 4px}
  .pager-pages{order:-1;flex-basis:100%}
  .pager-prev,.pager-next{flex:1 1 40%}
  .hero-slider,.hs-content{min-height:640px}
  .hs-arrows{bottom:auto;top:16px;right:16px}
  [dir="rtl"] .hs-arrows{right:auto;left:16px}
  .hs-count{display:none}
  .hs-slide::after{background:linear-gradient(180deg,rgba(10,28,57,.92),rgba(15,40,81,.88))!important}
}

/* ---------- Course finder ---------- */
.finder{background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(10,28,57,.12);padding:26px 28px;margin-top:-58px;position:relative;z-index:5}
.finder .eyebrow{margin-bottom:4px}
.finder h3,.finder .h3{font-size:20px;margin-bottom:16px}
.finder form{display:grid;grid-template-columns:1fr 1.5fr auto;gap:14px;align-items:end}
.field label{display:block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:6px}
.field select,.field input,.field textarea{width:100%;min-height:48px;border:1px solid var(--line);background:var(--paper);padding:10px 14px;font-family:inherit;font-size:16px;color:var(--text)}
.field textarea{min-height:96px;resize:vertical}

/* ---------- Accreditation ---------- */

/* ---------- Categories ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.cat{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;text-decoration:none;color:inherit;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;min-width:0}
.cat:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(10,28,57,.13);border-color:var(--gold)}
.cat-photo{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy)}
.cat-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s}
.cat:hover .cat-photo img{transform:scale(1.06)}
.cat-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,28,57,.7),transparent 60%)}
.cat-photo .cp-mark{font-size:72px}
.cat-photo-num{position:absolute;z-index:1;bottom:10px;inset-inline-start:16px;font-size:30px;font-weight:800;color:var(--gold-light);line-height:1}
.cat-photo-count{position:absolute;z-index:1;top:12px;inset-inline-end:12px;background:var(--gold);color:var(--navy-deep);font-size:13px;font-weight:800;line-height:24px;padding:0 10px;text-transform:uppercase;letter-spacing:.04em}
.cat-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.cat h3,.cat .h3{font-size:22px;margin:0 0 8px;color:var(--navy)}
.cat .ar{margin-bottom:10px}
.cat p{font-size:15px;line-height:1.5;margin:0 0 14px;color:var(--text)}
.cat table{width:100%;font-size:15px;border-collapse:collapse;margin-bottom:18px}
.cat td{padding:7px 0;border-bottom:1px solid var(--line)}
.cat td:last-child{text-align:right;color:var(--gold-ink);font-weight:700;white-space:nowrap}
.cat .link{margin-top:auto;font-weight:700;color:var(--navy);display:inline-block}
.cat:hover .link{color:var(--gold-ink)}
.cat-more-btn{text-align:center;margin-top:34px}

/* ---------- Featured courses ---------- */
.featured{background:#fff;border-top:1px solid var(--line)}
.filter-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 30px}
.filter-tabs button{border:1px solid var(--line);background:var(--paper);padding:9px 18px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;color:var(--text)}
.cat-filter{margin-top:0}
.cat-filter button:hover{border-color:var(--navy)}
.cat-group{flex-basis:100%;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin:10px 0 -2px}
.catalog-count{color:var(--gold-ink);font-size:15px;margin:0 0 20px}
.pager{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}
.pager[hidden]{display:none}
.catalog .table-wrap{margin-top:0}
.schedule.catalog .pager{margin-top:24px}
.schedule.catalog .cat-filter{margin-top:8px}
.pager-pages{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.pager button{min-width:44px;height:44px;padding:0 14px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:15px;font-weight:700;color:var(--navy);cursor:pointer}
.pager button:hover:not(:disabled){border-color:var(--navy)}
.pager button.current{background:var(--navy);border-color:var(--navy);color:#fff}
.pager button:disabled{opacity:.4;cursor:default}
.pager-gap{display:inline-flex;align-items:center;padding:0 4px;color:var(--gold-ink)}
.filter-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
/* Home + /courses share category-page photo cards (.cp-card.course-card) */
.course-grid>.course-card{margin:0;text-decoration:none;color:inherit}
.course-card:not(.cp-card){border:1px solid var(--line);display:flex;flex-direction:column;background:#fff}
.course-card:not(.cp-card) .head{background:var(--navy);color:#fff;padding:22px 24px;display:flex;flex-direction:column;box-sizing:border-box}
.course-card:not(.cp-card) .tag{display:inline-block;align-self:flex-start;background:var(--gold);color:var(--navy-deep);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;margin-bottom:12px}
.course-card:not(.cp-card) .head h3,.course-card:not(.cp-card) .head .h3{color:#fff;font-size:21px;line-height:1.3;margin:0}
.course-card .head .ar{color:var(--gold-light);margin-top:4px}
.course-card:not(.cp-card) .body{padding:22px 24px;display:flex;flex-direction:column;flex:1;height:100%;box-sizing:border-box}
.course-card:not(.cp-card) .body p{font-size:16px;line-height:25px;min-height:88px;margin-bottom:18px}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;font-size:14px;margin-bottom:20px}
.meta div span{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);font-weight:700}
.meta div b{color:var(--navy)}
.course-card .btn{margin-top:auto;width:100%}
.featured .foot{margin-top:32px;text-align:center;font-weight:500}
.featured .foot a{color:var(--gold-ink);font-weight:700}

/* ---------- Schedule table ---------- */
.schedule{background:var(--paper)}
.sched-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.table-wrap{overflow-x:auto;max-width:100%;width:100%;margin-top:30px;border:1px solid var(--line);background:#fff;-webkit-overflow-scrolling:touch;direction:ltr;overscroll-behavior-x:contain}
[dir="rtl"] .table-wrap>table{direction:rtl}
table.sched{width:100%;border-collapse:collapse;min-width:820px;font-size:15px}
table.sched caption{text-align:left;padding:16px 20px;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);border-bottom:2px solid var(--gold)}
table.sched th{background:var(--navy);color:#fff;text-align:left;padding:12px 20px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
table.sched td{padding:13px 20px;border-bottom:1px solid var(--line)}
table.sched tr:hover td{background:var(--paper)}
table.sched td a{color:var(--gold-ink);font-weight:800;border-bottom:2px solid var(--gold)}
.sched-note{font-size:14px;margin-top:14px;color:var(--gold-ink)}

/* ---------- Facts band ---------- */
.facts{background:var(--navy);color:#fff;padding:54px 0}
.facts .container{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.fact b{font-size:44px;color:var(--gold-light);font-weight:800;display:block;line-height:1}
.fact p{font-size:15px;margin-top:10px;color:rgba(255,255,255,.8)}

/* ---------- Corporate ---------- */
.corporate{background:var(--navy-deep);color:#fff}
.corporate .container{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.corporate h2,.corporate .h2{color:#fff}
.corporate p.lead{color:rgba(255,255,255,.82)}
.corp-points{margin-top:28px;display:grid;gap:22px}
.corp-points li{padding-left:34px;position:relative}
.corp-points li::before{content:"✓";position:absolute;left:0;top:2px;width:22px;height:22px;background:var(--gold);color:var(--navy-deep);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px}
.corp-points b{display:block;color:#fff}
.corp-points span{font-size:16px;color:rgba(255,255,255,.75)}
.corp-cta{margin-top:30px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.corp-cta small{font-size:13px;color:rgba(255,255,255,.6)}
.proposal{background:#fff;color:var(--text);padding:30px 30px 26px;border-top:4px solid var(--gold)}
.proposal h3,.proposal .h3{font-size:21px}
.proposal p.sub{font-size:14px;margin:4px 0 20px;color:var(--gold-ink)}
.proposal form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.proposal .full{grid-column:1/-1}
.proposal .privacy{font-size:13px;color:#7d8798;margin-top:10px}
.proposal .privacy a{text-decoration:underline}

/* ---------- Steps ---------- */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}
.step{border-top:3px solid var(--gold);padding-top:20px}
.step .eyebrow{color:var(--gold)}
.step h3,.step .h3{font-size:20px;margin:8px 0 8px}
.step p{font-size:16px}

/* ---------- Why ---------- */
.why{background:#fff;border-top:1px solid var(--line)}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 40px;margin-top:34px}
.why-item{border-left:3px solid var(--gold);padding-left:20px}
.why-item h3,.why-item .h3{font-size:20px;margin-bottom:6px}
.why-item p{font-size:16px}

/* ---------- Testimonials ---------- */
.testi{background:var(--paper)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.quote{background:#fff;border:1px solid var(--line);padding:28px 26px;display:flex;flex-direction:column}
.quote .qm{font-size:40px;color:var(--gold);line-height:1;font-weight:800}
.quote p{font-style:italic;font-size:16px;margin:10px 0 20px;flex:1}
.quote b{color:var(--navy);display:block}
.quote small{font-size:13px;color:var(--gold-ink)}

/* ---------- SEO content ---------- */
.seo-content{background:#fff}
.seo-content .container{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:start}
.seo-content h1{font-size:var(--fs-h1);margin:8px 0 16px}
.seo-content h3,.seo-content .h3{font-size:var(--fs-h3);margin:30px 0 10px}
.seo-content p{margin-bottom:14px}
.side-box{border:1px solid var(--line);background:var(--paper);padding:24px}
.side-box+.side-box{margin-top:24px}
.side-box .h4{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:14px;border-bottom:2px solid var(--gold);padding-bottom:10px}
.side-box ul li{padding:8px 0;border-bottom:1px solid var(--line);font-weight:500}
.side-box ul li a:hover{color:var(--gold-ink)}
.side-box.calendar{background:var(--navy);color:#fff;border:0}
.side-box.calendar .h4{color:var(--gold-light);border-color:var(--gold)}
.side-box.calendar h3,.side-box.calendar .h3{color:#fff;font-size:21px;margin-bottom:8px}
.side-box.calendar p{font-size:15px;color:rgba(255,255,255,.8);margin-bottom:16px}
.side-box.calendar input{width:100%;min-height:46px;border:0;padding:0 14px;font-family:inherit;margin-bottom:10px}
.side-box.calendar .btn{width:100%}

/* ---------- FAQ ---------- */
.faq{background:var(--paper);border-top:1px solid var(--line)}
.faq .head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
details{background:#fff;border:1px solid var(--line);margin-bottom:12px}
details summary{cursor:pointer;padding:18px 22px;font-weight:800;color:var(--navy);list-style:none;position:relative;padding-right:52px}
details summary::after{content:"+";position:absolute;right:22px;top:14px;font-size:22px;color:var(--gold)}
details[open] summary::after{content:"–"}
details .a{padding:0 22px 20px;font-size:16px}

/* ---------- Closing ---------- */
.closing{background:var(--gold);padding:56px 0}
.closing .container{display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap}
.closing h2,.closing .h2{color:var(--navy-deep);margin:0 0 6px}
.closing p{color: #fff;font-weight:500}
.closing .actions{display:flex;gap:14px;flex-wrap:wrap}
.closing .btn-outline{border-color:var(--navy-deep);color:var(--navy-deep)}
.closing .btn-outline:hover{background:var(--navy-deep);color:#fff}

/* ---------- Footer ---------- */
footer.site{background:var(--navy-deep);color:rgba(255,255,255,.8);padding:64px 0 0;font-size:15px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr;gap:36px}
.foot-grid .h4{color:var(--gold-light);font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
.foot-grid ul li{padding:5px 0}
.foot-grid a:hover{color:#fff}
.foot-logo{display:inline-block;margin-bottom:18px}
.foot-logo img{display:block;height:56px;width:auto}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding:20px 0;font-size:14px}
.foot-bottom .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot-bottom a{margin-left:18px}
.foot-bottom a:hover{color:#fff}

/* ---------- Course page ---------- */
.crumbs{background:#fff;border-bottom:1px solid var(--line);font-size:14px;padding:14px 0}
.crumbs a{color:var(--gold-ink)}
.crumbs span{margin:0 8px;color:#aab}
.course-hero{background:var(--navy);color:#fff;padding:64px 0}
.course-hero .container{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:start}
.course-hero h1{color:#fff;font-size:var(--fs-h1);line-height:1.15;margin:14px 0 6px}
.course-hero p.lead{font-size:var(--fs-lead);color:rgba(255,255,255,.85);max-width:600px}
.hero-meta{display:grid;grid-template-columns:repeat(4,auto);gap:14px 40px;margin-top:30px;font-size:15px}
.hero-meta div span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);font-weight:700}
.hero-meta div b{color:#fff}
.booking{background:#fff;color:var(--text);padding:26px 26px 22px;border-top:4px solid var(--gold)}
.booking .eyebrow{margin-bottom:2px}
.booking .date{font-size:24px;font-weight:800;color:var(--navy);border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}
.booking dl{font-size:15px}
.booking dl div{display:flex;justify-content:space-between;padding:6px 0}
.booking dt{color:#6b7688}
.booking dd{font-weight:800;color:var(--navy)}
.booking .btn{width:100%;margin-top:14px}
.booking .dl-link{display:block;text-align:center;margin-top:14px;font-weight:700;color:var(--gold-ink);font-size:15px}
.course-body{padding:56px 0}
.course-body .container{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:start}
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:30px;font-weight:700;flex-wrap:wrap}
.tabs a{padding:10px 2px;color:#6b7688}
.tabs a.active{color:var(--navy);border-bottom:3px solid var(--gold)}
.course-body h2,.course-body .h2{font-size:var(--fs-h2);margin:34px 0 12px}
.course-body h2:first-of-type,.course-body .h2:first-of-type{margin-top:0}
.outcomes{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;margin-top:8px}
.outcomes li{padding-left:26px;position:relative;font-size:16px}
.outcomes li::before{content:"✓";position:absolute;left:0;color:var(--gold-ink);font-weight:800}
.day{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.day .d{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--gold-ink);text-transform:uppercase;padding-top:3px}
.day b{color:var(--navy);display:block}
.day p{font-size:15px;color:#6b7688}
.attend li{border-left:3px solid var(--gold);padding:6px 0 6px 14px;margin-bottom:12px;font-size:16px}
.trainer-photo{border:1px dashed var(--line);background:#fff;min-height:150px;display:flex;align-items:center;justify-content:center;color:var(--gold-ink);font-size:12px;margin-bottom:14px}
.related{background:var(--paper);padding:56px 0;border-top:1px solid var(--line)}
.related h2,.related .h2{margin-bottom:26px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rel-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:24px}
.rel-card .eyebrow{font-size:12px}
.rel-card h3,.rel-card .h3{font-size:19px;margin:8px 0 6px}
.rel-card p{font-size:15px;color:#6b7688;margin-bottom:14px}
.rel-card a{font-weight:800;color:var(--navy)}
.rel-card a:hover{color:var(--gold-ink)}

/* ---------- Mobile fixed bar ---------- */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:10px 14px;gap:10px;z-index:60}
.mobile-bar .btn{flex:1;min-height:46px;padding:0 10px;font-size:15px}
.mobile-bar .call{flex:0 0 52px;border:2px solid var(--navy);color:var(--navy);font-size:18px}

/* ---------- Pages / router ---------- */
.page{display:none}
.page.active{display:block}

/* ---------- Responsive ---------- */
/* Desktop header needs about 1120px in Arabic: keep the 150px inset when it fits, shrink it when it does not. */
@media(min-width:1241px){
  header.site .container,.utility .container{--gutter:clamp(40px,calc((100vw - 1140px) / 2),150px)}
}
@media(min-width:1241px) and (max-width:1500px){nav.main>ul{gap:20px}}
@media(min-width:1241px) and (hover:none){
  .nav-mega.open .mega{opacity:1;visibility:visible;transform:none}
  .nav-mega.open .mega-toggle{transform:rotate(180deg)}
}
@media(max-width:1024px){
  .hero .container,.corporate .container,.seo-content .container,.course-hero .container,.course-body .container{grid-template-columns:1fr}
  .cat-grid,.course-grid,.testi-grid,.steps-grid,.rel-grid{grid-template-columns:1fr 1fr}
  .facts .container{grid-template-columns:1fr 1fr;gap:36px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .finder form{grid-template-columns:1fr 1fr}
  .finder form .btn{grid-column:1/-1}
  .header-actions .btn-outline{display:none}
  .utility .left span:nth-child(3){display:none}
}
/* Arabic/EN laptop: collapse nav before labels + CTAs overflow */
@media(max-width:1240px){
  nav.main{display:none}
  .menu-toggle{display:block}
  header.site.open nav.main{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px var(--gutter) 20px;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto}
  header.site.open nav.main ul{flex-direction:column;gap:0}
  header.site.open nav.main li{border-bottom:1px solid var(--line)}
  header.site.open nav.main a{display:block;padding:14px 0;font-weight:700}
  .nav-mega{flex-wrap:wrap;justify-content:space-between}
  .mega-toggle{padding:10px}
  .nav-mega.open .mega-toggle{transform:rotate(180deg)}
  .mega{position:static;flex-basis:100%;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;max-height:none;overflow:visible}
  .nav-mega.open .mega{display:block}
  header.site .mega .container{display:block;min-height:0;padding-block:0 12px;padding-inline:0!important}
  /* Groups become an accordion so the drawer stays short; lists use as many columns as fit. */
  .mega-group .h4{min-height:50px;margin:8px 0 0;padding:12px 14px;background:var(--paper);border-radius:10px;font-size:14.5px;font-weight:700;color:var(--navy)}
  .mega-group .group-icon{color:var(--gold-ink)}
  .mega-group .group-count{color:var(--gold-ink)}
  .mega-group.open .h4{background:var(--navy);color:#fff}
  .mega-group.open .group-icon,.mega-group.open .group-count{color:var(--gold-light)}
  .mega-group.open .mega-group-toggle svg{transform:rotate(180deg)}
  nav.main .mega-group:not(.open) ul{display:none}
  header.site.open nav.main .mega-group.open ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 28px;padding:6px 14px 10px}
  header.site.open nav.main .mega li{border-bottom:0}
  header.site.open nav.main .mega a{padding:8px 0;font-weight:500}
  header.site.open nav.main .mega-group a{display:flex}
  header.site .mega .mega-foot{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:10px 0 0;padding:10px 14px 0;font-size:var(--fs-small);color:var(--gold-ink)}
  body:has(header.site.open) .wa-float,body:has(header.site.open) .to-top{display:none}
  .finder form.finder-form{grid-template-columns:1fr 1fr}
  .finder form.finder-form .finder-q,.finder form.finder-form .btn{grid-column:1/-1}
}
@media(max-width:640px){
  .logo img{height:44px}
  header.site.open nav.main{padding-bottom:90px}
  header.site .container{min-height:68px;gap:12px}
  .header-actions{gap:8px}
  .header-actions .btn-navy{display:none}
  .header-actions .lang-btn{min-height:40px;padding:0 14px}
  .menu-toggle{width:40px;height:40px}
  .utility .left{display:none}
  .utility .container{justify-content:center}
  .section{padding:52px 0}
  .hero{padding:56px 0 84px}
  .cat-grid,.course-grid,.testi-grid,.steps-grid,.rel-grid,.proposal form,.outcomes,.why-grid{grid-template-columns:1fr}
  .course-card:not(.cp-card) .body p{min-height:0}
  .finder form{grid-template-columns:1fr}
  .hero-meta{grid-template-columns:1fr 1fr}
  .mobile-bar{display:flex}
  body{padding-bottom:70px}
  .foot-grid{grid-template-columns:1fr}
  .facts .container{grid-template-columns:1fr 1fr}
  .utility .left span:nth-child(2),.utility .left span:nth-child(3){display:none}
}
.lang-btn{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 18px;border:2px solid var(--gold);color:var(--gold-ink);background:#fff;font-weight:800;font-size:15px}
.lang-btn:hover{background:var(--gold);color:var(--navy-deep)}

/* ---------- Boxed hero (text left, slider right) ---------- */
.hero-2col{background:var(--navy);color:#fff;padding:80px 0 96px;overflow:hidden}
.hero-2col .container{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,3.5vw,48px);align-items:center}
.hero-2col h1{color:#fff;font-size:var(--fs-h1);line-height:1.15;margin:12px 0 18px}
.hero-2col p.lead{font-size:var(--fs-lead);line-height:1.55;color:rgba(255,255,255,.85);max-width:560px}
.hero-2col ul.points{margin:26px 0 30px;display:grid;gap:10px}
.hero-2col ul.points li{padding-left:26px;position:relative;color:rgba(255,255,255,.92)}
.hero-2col ul.points li::before{content:"\2713";position:absolute;left:0;color:var(--gold-light);font-weight:800}
[dir="rtl"] .hero-2col ul.points li,.page[dir="rtl"] .hero-2col ul.points li{padding-left:0;padding-right:26px}
[dir="rtl"] .hero-2col ul.points li::before,.page[dir="rtl"] .hero-2col ul.points li::before{left:auto;right:0}
.hero-2col .cta-row{display:flex;gap:14px;flex-wrap:wrap}
.hero-box{position:relative;overflow:hidden;min-height:400px;border:1px solid rgba(255,255,255,.25);outline:1px dashed rgba(255,255,255,.0)}
.hero-box .hs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease}
.hero-box .hs-slide.active{opacity:1;visibility:visible}
.hero-box .hs-slide .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-box .hs-slide .cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(10,28,57,.94));color:#fff;padding:46px 20px 16px;font-size:15px;font-weight:700;line-height:22px}
.hero-box .hs-arrows{position:absolute;z-index:4;top:14px;right:14px;display:flex;gap:8px}
[dir="rtl"] .hero-box .hs-arrows,.page[dir="rtl"] .hero-box .hs-arrows{right:auto;left:14px}
.hero-box .hs-arrows button{width:40px;height:40px;border:1px solid rgba(255,255,255,.4);background:rgba(10,28,57,.55);color:#fff;font-size:18px;cursor:pointer}
.hero-box .hs-arrows button:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.hero-box .hs-dots{position:absolute;z-index:4;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.hero-box .hs-dots button{width:26px;height:4px;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0}
.hero-box .hs-dots button.on{background:var(--gold)}
@media(max-width:1024px){.hero-2col .container{grid-template-columns:1fr}.hero-2col{padding:56px 0 80px}}
@media(max-width:640px){.hero-2col{padding:48px 0 72px}.hero-box{min-height:240px}.hero-2col .cta-row .btn{width:100%}}


.lang-btn{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 18px;border:2px solid var(--gold);color:var(--gold-ink);background:#fff;font-weight:800;font-size:15px}
.lang-btn:hover{background:var(--gold);color:var(--navy-deep)}
.page{display:none}
.page.active{display:block}
/* Arabic pages: Tajawal for all text (body, headings, UI) */
.page[dir="rtl"],
.page[dir="rtl"] h1,.page[dir="rtl"] h2,.page[dir="rtl"] h3,.page[dir="rtl"] .h4,
.page[dir="rtl"] button,.page[dir="rtl"] input,.page[dir="rtl"] select,.page[dir="rtl"] textarea,
.page[dir="rtl"] .btn,.page[dir="rtl"] nav,.page[dir="rtl"] .tag,.page[dir="rtl"] .eyebrow,.page[dir="rtl"] .h2,.page[dir="rtl"] .h3{
  font-family:'Tajawal',sans-serif
}
.page[dir="rtl"]{direction:rtl;text-align:right}

/* RTL only on Arabic pages — English stays LTR */
html[dir="rtl"],html[dir="rtl"] body{direction:rtl;text-align:right;font-family:'Tajawal',sans-serif}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] .h4,
html[dir="rtl"] button,html[dir="rtl"] input,html[dir="rtl"] select,html[dir="rtl"] textarea,
html[dir="rtl"] .btn,html[dir="rtl"] .h2,html[dir="rtl"] .h3{font-family:'Tajawal',sans-serif}
.page[dir="rtl"] .utility .left span+span::before{margin:0 10px}
.page[dir="rtl"] .utility .status::before{margin-right:0;margin-left:6px}
.page[dir="rtl"] .hero ul.points li{padding-left:0;padding-right:26px}
.page[dir="rtl"] .hero ul.points li::before{left:auto;right:0}
.page[dir="rtl"] .corp-points li{padding-left:0;padding-right:34px}
.page[dir="rtl"] .corp-points li::before{left:auto;right:0}
.page[dir="rtl"] .why-item{border-left:0;border-right:3px solid var(--gold);padding-left:0;padding-right:20px}
.page[dir="rtl"] .attend li{border-left:0;border-right:3px solid var(--gold);padding:6px 14px 6px 0}
.page[dir="rtl"] .cat td:last-child{text-align:left}
.page[dir="rtl"] table.sched th,.page[dir="rtl"] table.sched caption{text-align:right}
.page[dir="rtl"] details summary{padding-right:22px;padding-left:52px}
.page[dir="rtl"] details summary::after{right:auto;left:22px}
.page[dir="rtl"] .step{border-top:3px solid var(--gold)}
.page[dir="rtl"] .foot-bottom a{margin-left:0;margin-right:18px}
.page[dir="rtl"] .outcomes li{padding-left:0;padding-right:26px}
.page[dir="rtl"] .outcomes li::before{left:auto;right:0}
.page[dir="rtl"] .slider .prev{left:auto;right:0}
.page[dir="rtl"] .slider .next{right:auto;left:0}
/* ---------- Course outline (from the course documents) ---------- */
.course-photo{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;margin-bottom:30px}
.tabs a{cursor:pointer}
.tab-panel{display:none}
.tab-panel.active{display:block}
.tab-panel>h2:first-child,.tab-panel>.h2:first-child{margin-top:0}
.tab-panel p+p{margin-top:12px}
.module-items{list-style:disc;padding-left:20px;margin-top:8px;font-size:16px}
.module-items li{padding:2px 0}
.module-items ul{list-style:circle;padding-left:22px;margin:4px 0}
.page[dir="rtl"] .module-items{padding-left:0;padding-right:20px}
@media(max-width:1024px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.course-grid{grid-template-columns:minmax(0,1fr)}.course-card:not(.cp-card) .tag{max-width:100%}}

/* Blog */
.post-card{overflow:hidden}
.post-cover{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.post-body{font-size:var(--fs-body);line-height:1.75;min-width:0}
.post-body h2,.post-body .h2{font-size:var(--fs-h2);margin:34px 0 12px}
.post-body h3,.post-body .h3{font-size:var(--fs-h3);margin:26px 0 10px;color:var(--navy)}
.post-body p,.post-body ul,.post-body ol,.post-body blockquote,.post-body table,.post-body pre{margin-bottom:16px}
.post-body ul,.post-body ol{padding-inline-start:24px}
.post-body ul{list-style:disc}
.post-body ol{list-style:decimal}
.post-body li+li{margin-top:6px}
.post-body a{color:var(--gold-ink);text-decoration:underline}
.post-body img{max-width:100%;height:auto;display:block;margin:20px 0}
.post-body blockquote{border-inline-start:4px solid var(--gold);padding:6px 18px;background:var(--paper);font-style:italic}
.post-body table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.post-body th,.post-body td{border:1px solid var(--line);padding:8px 12px;text-align:start}
.post-body th{background:var(--paper)}
.post-body code{background:var(--paper);padding:2px 5px;font-size:.9em}
.post-body pre{background:var(--paper);padding:14px;overflow-x:auto}
.post-body pre code{padding:0;background:none}

/* ---------- Back to top (every page, right side) ---------- */
.to-top{position:fixed;right:20px;bottom:90px;z-index:70;width:48px;height:48px;border:0;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 22px rgba(10,28,57,.25);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .25s,visibility .25s,transform .25s,background .2s}
.to-top.is-on{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.to-top:hover{background:var(--gold);color:var(--navy-deep)}
.to-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
html[dir="rtl"] .to-top{right:20px;left:auto;bottom:20px}
@media(max-width:640px){
  .to-top{right:14px;bottom:152px;width:44px;height:44px}
  html[dir="rtl"] .to-top{right:14px;bottom:84px}
}

/* ---------- Floating WhatsApp button (every page) ---------- */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:70;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(10,28,57,.25);transition:transform .2s,box-shadow .2s}
html[dir="rtl"] .wa-float{right:auto;left:20px}
.wa-float:hover{transform:scale(1.07);box-shadow:0 10px 26px rgba(10,28,57,.32);color:#fff}
.wa-float:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
@media(max-width:640px){.wa-float{right:14px;bottom:84px;width:52px;height:52px}html[dir="rtl"] .wa-float{right:auto;left:14px}}

/* ---------- Home: featured course filter (groups + scrolling category rail) ---------- */
.feat-filter{margin:28px 0 30px}
.feat-groups{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--paper);border:1px solid var(--line)}
.feat-groups button{border:0;background:transparent;padding:11px 20px;font-family:inherit;font-size:15px;font-weight:700;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s,color .2s}
.feat-groups button span{font-size:12px;font-weight:800;padding:2px 8px;border-radius:999px;background:rgba(15,40,81,.08);color:var(--navy)}
.feat-groups button:hover{color:var(--navy)}
.feat-groups button.active{background:var(--navy);color:#fff}
.feat-groups button.active span{background:var(--gold);color:var(--navy-deep)}
.feat-rail[hidden]{display:none}
.feat-cats::-webkit-scrollbar{display:none}
.feat-cats button{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:border-color .2s,background .2s,color .2s}
.feat-cats button[hidden]{display:none}
.feat-cats button span{font-size:12px;opacity:.6;font-weight:700}
.feat-cats button:hover{border-color:var(--gold);color:var(--navy)}
.feat-cats button.active{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.feat-cats button.active span{opacity:.85}
.feat-more{text-align:center;margin-top:8px}
@media(max-width:640px){
  .feat-groups{display:flex;width:100%}
  .feat-groups button{flex:1 1 auto;justify-content:center;padding:10px 12px;font-size:14px}
}

/* Card category tag: a light label instead of a heavy gold block */
.course-card .tag{background:none;color:var(--gold-light);padding:0 0 0 10px;font-size:11px;letter-spacing:.14em;line-height:1.5;border-left:3px solid var(--gold)}
[dir="rtl"] .course-card .tag{border-left:0;border-right:3px solid var(--gold);padding:0 10px 0 0}

/* ---------- Home hero photo slider: framed photo, Ken Burns, progress dots ---------- */
/* Gold accent stays inside the column so L/R content edges stay equal (20px gutter) */
.hero-2col .container>:last-child{overflow:hidden;padding-block-end:14px;padding-inline:0;min-width:0}
.hero-2col .hero-box{min-height:0;aspect-ratio:5/4;border:0;border-radius:14px;box-shadow:0 28px 60px rgba(0,0,0,.45);margin:0;position:relative;isolation:isolate}
.hero-2col .hero-box::before{content:"";position:absolute;z-index:-1;top:14px;right:0;bottom:-14px;left:14px;border-radius:14px;background:var(--gold);pointer-events:none}
[dir="rtl"] .hero-2col .hero-box::before{right:14px;left:0}
.hero-box .hs-slide::after{background:linear-gradient(180deg,rgba(10,28,57,.3) 0%,rgba(10,28,57,0) 28%,rgba(10,28,57,0) 50%,rgba(10,28,57,.92) 100%)!important}
[dir="rtl"] .hero-box .hs-slide::after{background:linear-gradient(180deg,rgba(10,28,57,.3) 0%,rgba(10,28,57,0) 28%,rgba(10,28,57,0) 50%,rgba(10,28,57,.92) 100%)!important}
.hero-box .hs-slide .bg{transform:scale(1.12);transition:transform 7s ease-out}
.hero-box .hs-slide.active .bg{transform:scale(1)}
.hero-box .hs-slide .cap{z-index:3;background:none;padding:0 26px 46px;font-size:19px;line-height:27px;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.35);opacity:0;transform:translateY(16px);transition:opacity .6s ease .35s,transform .6s ease .35s}
.hero-box .hs-slide .cap::before{content:"";display:block;width:46px;height:3px;background:var(--gold);margin-bottom:12px}
.hero-box .hs-slide.active .cap{opacity:1;transform:none}
.hero-box .hs-dots{bottom:22px;left:26px;transform:none}
[dir="rtl"] .hero-box .hs-dots{left:auto;right:26px}
.hero-box .hs-dots button{position:relative;overflow:hidden;width:40px;background:rgba(255,255,255,.35)}
.hero-box .hs-dots button.on{background:rgba(255,255,255,.35)}
.hero-box .hs-dots button.on::after{content:"";position:absolute;inset:0;background:var(--gold);transform-origin:left center;animation:hsProgress 6s linear forwards}
[dir="rtl"] .hero-box .hs-dots button.on::after{transform-origin:right center}
@keyframes hsProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1024px){.hero-2col .hero-box{aspect-ratio:3/2}}

@media(max-width:640px){
  .hero-2col .hero-box{aspect-ratio:1/1}
  .hero-2col .hero-box::before{top:10px;right:0;bottom:-10px;left:10px}
  [dir="rtl"] .hero-2col .hero-box::before{right:10px;left:0}
  .hero-2col .container>:last-child{padding-block-end:10px;padding-inline:0}
  .hero-box .hs-slide .cap{font-size:15px;line-height:22px;padding:0 18px 40px}
  .hero-box .hs-slide .cap::before{width:34px;margin-bottom:8px}
  .hero-box .hs-dots{left:18px;bottom:18px}
  [dir="rtl"] .hero-box .hs-dots{right:18px}
}


/* ---------- About page photos ---------- */
.about-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.about-photo{position:relative;isolation:isolate;padding:0 0 14px;margin:0;overflow:hidden}
[dir="rtl"] .about-photo{padding:0 0 14px}
.about-photo::before{content:"";position:absolute;z-index:-1;inset-block-start:14px;inset-block-end:0;inset-inline-start:14px;inset-inline-end:0;border-radius:14px;background:var(--gold)}
[dir="rtl"] .about-photo::before{inset-inline-start:0;inset-inline-end:14px}
.about-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;box-shadow:0 24px 50px rgba(15,40,81,.22);position:relative}
@media(max-width:1024px){.about-intro{grid-template-columns:1fr;gap:36px}.about-photo{max-width:640px}}
@media(max-width:640px){.about-photo{padding:0 0 10px}.about-photo::before{inset-block-start:10px}}
/* ---------- About page layout ---------- */
.about-page .course-hero .container{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:center}
.about-page .course-hero p.lead{max-width:640px}
.about-page .course-hero p.lead+p.lead{margin-top:12px}
.about-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.about-stats>div{padding:22px 20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:14px}
.about-stats b{display:block;font-size:34px;font-weight:800;line-height:1.1;color:var(--gold-light)}
.about-stats span{display:block;margin-top:8px;font-size:14px;line-height:1.4;color:rgba(255,255,255,.82)}
.about-copy p+p{margin-top:14px}
.about-page .about-intro{align-items:start;margin-top:28px}
.about-aside{display:grid;gap:22px;min-width:0}
.about-promise{padding:22px 24px;background:var(--navy);border-inline-start:4px solid var(--gold-light);border-radius:12px;font-size:17px;line-height:1.5}
.about-promise b{font-weight:700;color:#fff}
.about-why-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px 56px;align-items:end}
.about-why-head h2{margin-bottom:0}
.about-page .why-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}
.about-page .why-item,.page[dir="rtl"].about-page .why-item{padding:26px 24px;background:var(--paper);border:1px solid var(--line);border-radius:14px;transition:border-color .2s,box-shadow .2s}
.about-page .why-item:hover{border-color:var(--gold);box-shadow:0 12px 28px rgba(10,28,57,.08)}
.why-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:14px;background:var(--navy);border-radius:10px;font-size:16px;font-weight:800;color:var(--gold-light)}
.about-page .why-item h3{font-size:18px;line-height:1.3;margin-bottom:8px}
.about-page .why-item p{font-size:15px;line-height:1.6}
.about-page .steps-photo{margin-top:36px}
.about-page .steps-photo img{width:100%;height:auto;aspect-ratio:21/9;object-fit:cover;object-position:center 30%;border-radius:14px}
/* The band's default white text is too faint on gold. */
.about-page .closing p{color:var(--navy-deep)}
@media(max-width:1099px){
  .about-page .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1024px){
  .about-page .course-hero .container{grid-template-columns:minmax(0,1fr);gap:32px}
  .about-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .about-why-head{grid-template-columns:minmax(0,1fr);align-items:start}
  .about-aside{max-width:640px}
}
@media(max-width:760px){
  .about-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .about-page .why-grid{grid-template-columns:minmax(0,1fr)}
  .about-stats b{font-size:28px}
  .about-stats>div{padding:18px 16px}
  .about-page .steps-photo img{aspect-ratio:3/2}
}

/* ---------- Course page sidebar cards ---------- */
.cs-side{display:grid;gap:20px;align-content:start}
.cs-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:22px 22px 20px}
.cs-card .h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 14px;line-height:18px}
.cs-card p{font-size:15px;line-height:24px;margin:0}
.cs-card p+p{margin-top:10px}
.cs-glance{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cs-glance div{background:var(--paper);padding:12px}
.cs-glance .wide{grid-column:1/-1}
.cs-glance span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6b7688;font-weight:700}
.cs-glance b{display:block;color:var(--navy);font-size:16px;margin-top:4px;line-height:22px}
.cs-list li{position:relative;padding:8px 0 8px 28px;font-size:15px;line-height:22px;border-bottom:1px dashed var(--line)}
.cs-list li:last-child{border-bottom:0}
.cs-list li::before{content:"\2713";position:absolute;left:0;top:9px;width:18px;height:18px;border-radius:50%;background:var(--gold);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
[dir="rtl"] .cs-list li{padding:8px 28px 8px 0}
[dir="rtl"] .cs-list li::before{left:auto;right:0}
.cs-more{display:inline-block;margin-top:12px;font-weight:800;color:var(--gold-ink);font-size:14px;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.cs-more:hover{color:var(--navy)}
.cs-clamp{max-height:120px;overflow:hidden;position:relative}
.cs-clamp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.cs-clamp.open{max-height:none}
.cs-clamp.open::after{display:none}
.cs-clamp.short::after{display:none}
.cs-team{background:var(--navy);color:#fff;border:0;border-top:3px solid var(--gold)}
.cs-team .h4{color:var(--gold-light)}
.cs-team h3,.cs-team .h3{color:#fff;font-size:20px;line-height:26px;margin:0 0 8px}
.cs-team p{color:rgba(255,255,255,.82)}
.cs-team .btn{width:100%;margin-top:16px;white-space:normal;text-align:center}
.cs-rel li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:21px;font-weight:600}
.cs-rel li a{color:var(--navy)}
.cs-rel li a:hover{color:var(--gold-ink)}
.cs-rel li small{color:#6b7688;font-weight:600;white-space:nowrap;font-size:13px}
.cs-help{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.cs-help .btn{padding:0 12px}
.btn-wa{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:inset 0 -3px 0 #25D366}
.btn-wa svg{color:#25D366;flex-shrink:0;transition:color .2s}
.btn-wa:hover{background:#128C7E;border-color:#128C7E;color:#fff}
.btn-wa:hover svg{color:#fff}
.hero .btn-wa,.course-hero .btn-wa,.cat-hero .btn-wa{border-color:rgba(255,255,255,.35)}
[dir="rtl"] .cs-card .h4{letter-spacing:0;font-size:14px}
/* ---------- Home: course finder ---------- */
.finder-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.finder-head h3,.finder-head .h3{margin:0}
.finder-meta{margin:0;font-size:14px;color:var(--gold-ink);font-weight:700}
.finder form.finder-form{grid-template-columns:2fr 1.3fr 1fr auto}
.finder-q{position:relative}
.finder-input{position:relative}
.finder-input svg{position:absolute;top:50%;inset-inline-start:14px;transform:translateY(-50%);color:var(--gold-ink);pointer-events:none}
.finder-input input{padding-inline-start:44px}
.finder .field input:focus,.finder .field select:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(163,145,97,.18)}
.finder-form .btn{min-height:48px;white-space:nowrap}
.finder-form .btn:disabled{opacity:.55;cursor:default}
.finder-suggest{position:absolute;top:100%;left:0;right:0;z-index:20;margin:4px 0 0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(10,28,57,.16);max-height:380px;overflow-y:auto}
.finder-suggest a{display:block;padding:9px 12px;color:var(--text);line-height:1.35}
.finder-suggest a b{display:block;font-weight:700;color:var(--navy);font-size:15px}
.finder-suggest a small{font-size:13px;color:var(--gold-ink)}
.finder-suggest mark{background:rgba(163,145,97,.25);color:inherit;padding:0}
.finder-suggest li.on a,.finder-suggest a:hover{background:var(--paper)}
.finder-suggest li.more{padding:9px 12px;font-size:14px;font-weight:700;color:var(--navy);border-top:1px solid var(--line);cursor:pointer}
.finder-popular{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:14px}
.finder-popular span{font-weight:700;color:var(--navy);margin-inline-end:4px}
.finder-popular a{border:1px solid var(--line);border-radius:999px;padding:5px 14px;color:var(--text);line-height:1.5;transition:border-color .2s,color .2s}
.finder-popular a:hover{border-color:var(--gold);color:var(--navy)}
.catalog-clear{border:0;background:none;padding:0;margin-inline-start:6px;font:inherit;font-weight:700;color:var(--navy);text-decoration:underline;cursor:pointer}
@media(max-width:1024px){
  .finder form.finder-form{grid-template-columns:1fr 1fr}
  .finder form.finder-form .finder-q{grid-column:1/-1}
}
@media(max-width:640px){
  .finder-head{flex-direction:column;align-items:flex-start;gap:4px}
  .finder form.finder-form{grid-template-columns:1fr}
}


/* Tabs: no black box after a mouse click; keep a visible ring for keyboard users */
.tabs a:focus{outline:none}
.tabs a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* Per-tab course photos (Objectives, Course outline, Who should attend) */
.tab-photo{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover;border-radius:12px;margin:0 0 28px;box-shadow:0 18px 40px rgba(15,40,81,.16)}
.cs-card .cs-photo{display:block;width:calc(100% + 44px);max-width:none;margin:-22px -22px 18px;height:auto;aspect-ratio:16/9;object-fit:cover}

/* ---------- Home: partner logo slider ---------- */
.accred{background:var(--paper);padding:56px 0 60px;border-bottom:1px solid var(--line);overflow:hidden;max-width:100%;width:100%}
.accred-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.accred-head h2,.accred-head .h2{font-size:var(--fs-h2);margin:6px 0 0}
/* Marquee clipped inside the slider — direction:ltr + transform only (no absolute track) so RTL pages do not grow scrollWidth */
.logo-slider{overflow:hidden;width:100%;max-width:100%;height:124px;direction:ltr;contain:paint;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-track{display:flex;flex-wrap:nowrap;gap:18px;width:max-content;max-width:none;margin:6px 0 0;padding:0;box-sizing:border-box;animation:logo-scroll 60s linear infinite;will-change:transform}
.logo-slider:hover .logo-track,.logo-slider:focus-within .logo-track{animation-play-state:paused}
.logo-track .logo-item[aria-hidden]{display:flex}
.logo-item{flex:0 0 auto;width:190px;height:104px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:16px 22px;box-sizing:border-box;transition:border-color .25s,box-shadow .25s,transform .25s}
.logo-item img{max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain}
.logo-item:hover{border-color:var(--gold);box-shadow:0 12px 26px rgba(10,28,57,.1);transform:translateY(-3px)}
@keyframes logo-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - 9px),0,0)}}
[dir="rtl"] .logo-track{animation-name:logo-scroll-rtl}
@keyframes logo-scroll-rtl{from{transform:translate3d(calc(-50% - 9px),0,0)}to{transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){
  .logo-slider{-webkit-mask-image:none;mask-image:none;height:auto}
  .logo-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter);will-change:auto}
  .logo-track .logo-item[aria-hidden]{display:none}
}
@media(max-width:640px){
  .accred{padding:44px 0}
  .accred-head h2,.accred-head .h2{font-size:24px}
  .logo-slider{height:104px}
  .logo-item{width:150px;height:88px;padding:12px 16px}
  .logo-item img{max-height:52px}
}

/* ---------- Partners page ---------- */
.partners-hero{background:var(--navy);color:#fff;padding:64px 0 70px}
.partners-hero .container{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.partners-hero h1{color:#fff;font-size:var(--fs-h1);line-height:1.15;margin:12px 0 16px}
.partners-hero .lead{color:rgba(255,255,255,.85);font-size:var(--fs-lead);line-height:1.55;max-width:620px}
.partners-stats{display:grid;gap:12px}
.partners-stats a{display:flex;align-items:center;gap:18px;padding:16px 20px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#fff;transition:background .2s,border-color .2s}
.partners-stats a:hover{background:rgba(255,255,255,.09);border-color:var(--gold)}
.partners-stats b{font-size:34px;line-height:1;color:var(--gold-light);min-width:46px}
.partners-stats span{font-size:16px;font-weight:700;line-height:1.35}
.partners-group{scroll-margin-top:20px}
.partners-group:nth-of-type(even){background:#fff}
.partners-group-head{max-width:760px;margin-bottom:30px}
.partners-group-head h2,.partners-group-head .h2{margin:6px 0 10px}
.partners-group-head p{margin:0}
.partners-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.partner-card{flex:0 0 calc((100% - 60px) / 4)}
.partner-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.partners-group:nth-of-type(even) .partner-card{background:var(--paper)}
.partner-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(10,28,57,.1);border-color:var(--gold)}
.partner-logo{height:150px;display:flex;align-items:center;justify-content:center;padding:24px 28px;background:#fff;border-bottom:1px solid var(--line)}
.partner-logo img{max-width:100%;max-height:100px;width:auto;height:auto;object-fit:contain}
.partner-body{padding:18px 20px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex:1}
.partner-body h3,.partner-body .h3{font-size:18px;line-height:1.3;margin:0;color:var(--navy)}
.partner-badge{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-deep);background:rgba(163,145,97,.2);border-inline-start:3px solid var(--gold);padding:3px 9px;line-height:1.5}
[dir="rtl"] .partner-badge{letter-spacing:0;text-transform:none}
.partner-body p{font-size:15px;line-height:1.5;margin:0;color:var(--text)}
@media(max-width:1024px){
  .partners-hero .container{grid-template-columns:1fr;gap:30px}
  .partner-card{flex-basis:calc((100% - 40px) / 3)}
}
@media(max-width:640px){
  .partners-hero{padding:44px 0 50px}
  .partners-grid{gap:12px}
  .partner-card{flex-basis:calc((100% - 12px) / 2)}
  .partner-logo{height:110px;padding:16px}
  .partner-logo img{max-height:70px}
  .partner-body{padding:14px 14px 16px}
  .partner-body h3,.partner-body .h3{font-size:16px}
  .partner-body p{font-size:14px}
}

/* ---------- Home: classroom feature under the three steps ---------- */
.class-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;margin-top:60px;padding-top:56px;border-top:1px solid var(--line)}
.class-photo{position:relative;margin:0 18px 18px 0}
.class-photo::before{content:"";position:absolute;inset:18px -18px -18px 18px;background:var(--gold);border-radius:12px;z-index:0}
.class-photo img{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;box-shadow:0 20px 44px rgba(15,40,81,.2)}
.class-badge{position:absolute;z-index:2;left:-14px;bottom:28px;background:var(--navy);color:#fff;padding:14px 20px;border-left:4px solid var(--gold);box-shadow:0 14px 30px rgba(10,28,57,.3)}
.class-badge b{display:block;font-size:17px;line-height:1.3}
.class-badge span{display:block;font-size:14px;line-height:1.4;color:var(--gold-light)}
.class-copy h3,.class-copy .h3{font-size:var(--fs-h2);line-height:1.25;margin:8px 0 22px}
.class-points{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:16px}
.class-points li{display:flex;gap:14px;align-items:flex-start}
.class-points .tick{flex:0 0 28px;height:28px;border-radius:50%;background:rgba(163,145,97,.18);color:var(--gold-ink);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;margin-top:2px}
.class-points b{display:block;color:var(--navy);font-size:17px;line-height:1.35}
.class-points p{margin:2px 0 0;font-size:15px;line-height:1.55}
.class-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:26px}
.class-stats div{padding:14px 0;text-align:center}
.class-stats div+div{border-inline-start:1px solid var(--line)}
.class-stats b{display:block;font-size:28px;line-height:1.1;color:var(--navy)}
.class-stats span{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
[dir="rtl"] .class-stats span{letter-spacing:0}
.class-actions{display:flex;gap:12px;flex-wrap:wrap}
[dir="rtl"] .class-photo{margin:0 0 18px 18px}
[dir="rtl"] .class-photo::before{inset:18px 18px -18px -18px}
[dir="rtl"] .class-badge{left:auto;right:-14px;border-left:0;border-right:4px solid var(--gold)}
@media(max-width:1024px){
  .class-feature{grid-template-columns:1fr;gap:44px}
  .class-photo{max-width:640px}
}
@media(max-width:640px){
  .class-feature{margin-top:40px;padding-top:40px}
  .class-photo{margin:0 12px 12px 0}
  .class-photo::before{inset:12px -12px -12px 12px}
  [dir="rtl"] .class-photo{margin:0 0 12px 12px}
  [dir="rtl"] .class-photo::before{inset:12px 12px -12px -12px}
  .class-badge{left:-6px;bottom:16px;padding:10px 14px}
  [dir="rtl"] .class-badge{right:-6px}
  .class-actions .btn{flex:1 1 100%}
}

/* ---------- Website forms: sent / error states, spam trap ---------- */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-done{background:#EEF7EF;border:1px solid #BFDEC3;border-inline-start:4px solid #2E7D32;padding:22px 24px}
.form-done b{display:block;color:#1E5E22;font-size:18px;margin-bottom:6px}
.form-done p{margin:0;font-size:16px}
.form-error{background:#FDECEC;border:1px solid #F3C2C2;color:#9B1C1C;padding:10px 14px;font-size:15px;grid-column:1/-1}
.side-box.calendar .form-done{padding:16px;color:var(--text)}
button.dl-link{display:block;width:100%;background:none;border:0;cursor:pointer;font-family:inherit}
button.dl-link:hover{text-decoration:underline}

/* ---------- Privacy and terms pages ---------- */
.legal-head{max-width:760px;margin-bottom:28px}
.legal-head h1{font-size:var(--fs-h1);margin:8px 0 6px}
.legal-head p{color:var(--gold-ink);margin:0;font-size:var(--fs-lead)}
.legal-body{max-width:760px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:34px 40px}
.legal-body h2,.legal-body .h2{font-size:21px;margin:26px 0 8px}
.legal-body h2:first-child,.legal-body .h2:first-child{margin-top:0}
.legal-body p{margin:0 0 12px}
.legal-also{margin-top:26px!important;padding-top:18px;border-top:1px solid var(--line);font-weight:700}
@media(max-width:640px){.legal-body{padding:24px 20px}}

/* ---------- Course PDF download (print): client sample cover + branded content pages ---------- */
.course-print{display:none}
@media print{
  /* Cover is full-bleed navy; inner sheets keep side margins via padding */
  @page{margin:0}
  body.print-outline .utility,body.print-outline header.site,body.print-outline .crumbs,
  body.print-outline .course-hero,body.print-outline .course-body,body.print-outline .closing,
  body.print-outline footer.site,body.print-outline .mobile-bar,body.print-outline .wa-float,body.print-outline .to-top,
  body.print-outline .related{display:none!important}
  body.print-outline{
    background:#fff!important;padding:0!important;color:#22344E;
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important
  }
  body.print-outline .course-print,
  body.print-outline .course-print *{
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important
  }
  body.print-outline .course-print{display:block!important}
  body.print-outline .cp-cover{
    position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;
    min-height:100vh;box-sizing:border-box;padding:32px 40px 28px;
    background:#0A1C39!important;background-image:linear-gradient(#0A1C39,#0A1C39)!important;
    color:#fff!important;page-break-after:always;break-after:page
  }
  body.print-outline .cp-cover-bg{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none
  }
  body.print-outline .cp-cover-logo,
  body.print-outline .cp-cover-main,
  body.print-outline .cp-cover-foot{position:relative;z-index:1}
  body.print-outline .cp-cover-logo{display:block;width:210px;height:auto;margin:0 auto 8px}
  body.print-outline .cp-cover-main{
    flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;
    text-align:center;padding:24px 0 18px
  }
  body.print-outline .cp-badge{
    display:inline-block;align-self:center;background:#C4A35A!important;color:#0A1C39!important;
    font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;margin-bottom:18px
  }
  body.print-outline .cp-cover .cp-title{color:#fff!important;font-size:36px;line-height:1.15;margin:0 0 14px;font-weight:800;max-width:640px}
  body.print-outline .cp-lead{color:rgba(255,255,255,.9)!important;font-size:15px;line-height:1.55;max-width:520px;margin:0 auto 28px}
  body.print-outline .cp-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 18px;margin:0 auto 28px;max-width:640px;width:100%}
  body.print-outline .cp-meta span{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#C4A35A!important;margin-bottom:4px}
  body.print-outline .cp-meta b{color:#fff!important;font-size:14px;font-weight:700}
  body.print-outline .cp-cover-photo{margin:8px auto 0;max-width:560px;width:100%}
  body.print-outline .cp-cover-photo img{
    display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin:0 auto;
    border:10px solid #fff;box-shadow:0 18px 40px rgba(0,0,0,.35)
  }
  body.print-outline .cp-cover-foot{
    text-align:center;font-size:11px;font-weight:700;letter-spacing:.2em;color:rgba(255,255,255,.95)!important;padding-top:18px
  }
  body.print-outline .cp-doc{width:100%;border-collapse:collapse}
  body.print-outline .cp-doc>thead>tr>td,body.print-outline .cp-doc>tbody>tr>td,body.print-outline .cp-doc>tfoot>tr>td{
    padding:0 14mm;border:0;vertical-align:top
  }
  body.print-outline .cp-doc>thead>tr>td{padding-top:12mm}
  body.print-outline .cp-doc>tfoot>tr>td{padding-bottom:10mm;padding-inline:14mm}
  body.print-outline .cp-head{
    display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
    padding:0 0 14px;margin-bottom:8px;border-bottom:1px solid #E6E1D6
  }
  body.print-outline .cp-head img{display:block;width:170px;height:auto}
  body.print-outline .cp-head-cat{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
  [dir="rtl"] body.print-outline .cp-head-cat{text-align:left;align-items:flex-start}
  body.print-outline .cp-ribbon{
    display:block;width:28px;height:36px;background:#C4A35A!important;
    clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)
  }
  body.print-outline .cp-head-cat b{
    color:#C4A35A!important;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;max-width:220px;line-height:1.35
  }
  body.print-outline .cp-body{padding:10px 0 18px;color:#22344E}
  body.print-outline .cp-body h2,body.print-outline .cp-body .h2{color:#0F2851!important;font-size:18px;margin:18px 0 8px;page-break-after:avoid}
  body.print-outline .cp-body h2:first-child,body.print-outline .cp-body .h2:first-child{margin-top:4px}
  body.print-outline .cp-body h3,body.print-outline .cp-body .h3{color:#0F2851!important;font-size:15px;margin:12px 0 6px;page-break-after:avoid}
  body.print-outline .cp-body p{margin:0 0 10px;font-size:13px;line-height:1.55;color:#22344E}
  body.print-outline .cp-body ul{margin:0 0 12px;padding:0;list-style:none}
  body.print-outline .cp-body li{position:relative;padding-inline-start:18px;margin:0 0 5px;font-size:13px;line-height:1.45}
  body.print-outline .cp-body li::before{content:"•";position:absolute;inset-inline-start:4px;color:#C4A35A;font-weight:800}
  body.print-outline .cp-checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin:0 0 14px!important}
  body.print-outline .cp-checks li::before{content:"✓";color:#0F2851}
  body.print-outline .cp-module{margin:0 0 12px;page-break-inside:avoid}
  body.print-outline .cp-module ul ul{margin:4px 0 6px;padding-inline-start:8px}
  body.print-outline .cp-foot{
    display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;
    margin:14px 0 0;padding:10px 0 0;border-top:1px solid #E6E1D6;
    text-align:center;font-size:12px;line-height:1.45;color:#0F2851!important;background:none!important
  }
  body.print-outline .cp-foot .cp-sep{opacity:.45;font-weight:700}
}

/* ---------- Scrolling category row: faded edges, arrows only where there is more ---------- */
.feat-rail{position:relative;margin-top:16px}
.feat-cats{--fs:0px;--fe:0px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;min-width:0;padding:4px 2px;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fs),#000 calc(100% - var(--fe)),transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 var(--fs),#000 calc(100% - var(--fe)),transparent 100%)}
[dir="rtl"] .feat-cats{-webkit-mask-image:linear-gradient(to left,transparent 0,#000 var(--fs),#000 calc(100% - var(--fe)),transparent 100%);
  mask-image:linear-gradient(to left,transparent 0,#000 var(--fs),#000 calc(100% - var(--fe)),transparent 100%)}
.feat-rail.can-prev .feat-cats{--fs:90px}
.feat-rail.can-next .feat-cats{--fe:90px}
.rail-arrow{position:absolute;top:50%;z-index:2;width:34px;height:34px;margin-top:-17px;border-radius:50%;border:1px solid rgba(15,40,81,.08);background:#fff;color:var(--navy);
  box-shadow:0 4px 14px rgba(10,28,57,.14);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  transition:opacity .2s,transform .2s,background .2s,color .2s}
.rail-arrow.prev{inset-inline-start:0}
.rail-arrow.next{inset-inline-end:0}
.rail-arrow:hover{background:var(--navy);color:#fff;transform:scale(1.06)}
.rail-arrow:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.rail-arrow:disabled,.feat-rail.no-scroll .rail-arrow{opacity:0;pointer-events:none}
[dir="rtl"] .rail-arrow svg{transform:scaleX(-1)}
@media(max-width:640px){.rail-arrow{display:none}.feat-rail.can-prev .feat-cats{--fs:28px}.feat-rail.can-next .feat-cats{--fe:28px}}

/* ---------- Category page ---------- */
.cat-hero{position:relative;overflow:hidden;background:radial-gradient(120% 140% at 85% 0%,#1B3A6B 0%,var(--navy) 45%,var(--navy-deep) 100%);color:#fff;padding:72px 0 96px}
.cat-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;
  background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 85%);mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.cat-hero .container{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.cat-hero h1{color:#fff;font-size:var(--fs-h1);line-height:1.15;margin:14px 0 18px;letter-spacing:-.01em}
.cat-hero h1::after{content:"";display:block;width:72px;height:4px;background:var(--gold);margin-top:22px}
.cat-hero .lead{color:rgba(255,255,255,.85);font-size:var(--fs-lead);line-height:1.55;max-width:580px}
.cat-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.cat-hero-text>*{animation:catRise .7s both}
.cat-hero-text>*:nth-child(2){animation-delay:.08s}
.cat-hero-text>*:nth-child(3){animation-delay:.16s}
.cat-hero-text>*:nth-child(4){animation-delay:.24s}
@keyframes catRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.cat-mosaic{position:relative;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:5/4;animation:catRise .8s .15s both}
.cat-mosaic img{width:100%;height:100%;min-height:0;object-fit:cover;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.cat-mosaic img:first-child{grid-row:1/3;box-shadow:12px 12px 0 0 var(--gold),0 22px 44px rgba(0,0,0,.4)}
[dir="rtl"] .cat-mosaic img:first-child{box-shadow:-12px 12px 0 0 var(--gold),0 22px 44px rgba(0,0,0,.4)}
.cat-mosaic.n1 img,.cat-mosaic.n0 .cat-mosaic-mark{grid-column:1/3;grid-row:1/3}
.cat-mosaic.n2 img{grid-row:1/3}
.cat-mosaic-mark{display:flex;align-items:center;justify-content:center;font-size:160px;font-weight:800;color:var(--gold-light);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04)}
.cat-badge{position:absolute;inset-inline-end:-14px;bottom:-22px;background:#fff;color:var(--navy);padding:14px 22px;display:flex;align-items:baseline;gap:8px;border-top:4px solid var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.3)}
.cat-badge b{font-size:38px;line-height:1}
.cat-badge span{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.cat-stats{position:relative;z-index:2;margin-top:-44px}
.cat-stats .container{display:grid;grid-template-columns:repeat(4,1fr)}
.cat-stats .container>div{background:#fff;padding:20px 26px;border:1px solid var(--line);border-inline-start:0;box-shadow:0 14px 34px rgba(10,28,57,.08)}
.cat-stats .container>div:first-child{border-inline-start:1px solid var(--line)}
.cat-stats .container>div{border-top:4px solid var(--gold)}
.cat-stats span{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.cat-stats b{display:block;font-size:20px;color:var(--navy);margin-top:4px;line-height:1.3}
[dir="rtl"] .cat-badge span,[dir="rtl"] .cat-stats span,[dir="rtl"] .cat-switch-label{letter-spacing:0}
.cat-switch{padding:34px 0 0}
.cat-switch .container{display:flex;align-items:center;gap:18px}
.cat-switch-label{flex-shrink:0;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.cat-switch-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:4px 2px}
.cat-switch-row::-webkit-scrollbar{display:none}
.cat-switch-row a{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--line);background:#fff;font-size:15px;font-weight:600;color:var(--navy);white-space:nowrap;transition:.2s}
.cat-switch-row a span{font-size:12px;color:var(--gold-ink);font-weight:800}
.cat-switch-row a:hover{border-color:var(--gold)}
.cat-switch-row a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.cat-switch-row a.on span{color:var(--gold-light)}
.cat-courses{scroll-margin-top:20px;padding-top:48px}
.cat-courses-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:30px}
.cat-courses-head h2,.cat-courses-head .h2{margin-bottom:0}
.cat-tools{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.cat-search{width:340px;max-width:100%;height:48px;padding:0 18px;border:1px solid var(--line);background:#fff;font:inherit;font-size:16px;color:var(--navy)}
.cat-search:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(163,145,97,.18)}
.cat-days{display:flex;flex-wrap:wrap;gap:8px}
.cat-days button{font:inherit;font-size:14px;font-weight:600;padding:5px 14px;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer;border-radius:999px;transition:.2s}
.cat-days button:hover{border-color:var(--gold)}
.cat-days button.on{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.cp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.cp-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s,border-color .25s}
.cp-card[hidden]{display:none}
.cp-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(10,28,57,.13);border-color:var(--gold)}
.cp-photo{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--navy)}
.cp-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cp-card:hover .cp-photo img{transform:scale(1.06)}
.cp-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,28,57,.55),transparent 55%)}
.cp-mark{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:72px;font-weight:800;color:var(--gold-light);background:radial-gradient(circle at 70% 20%,#1B3A6B,var(--navy-deep))}
.cp-days{position:absolute;z-index:1;bottom:12px;inset-inline-start:14px;background:var(--gold);color:var(--navy-deep);font-size:13px;font-weight:800;line-height:24px;padding:0 10px}
.cp-num{position:absolute;z-index:1;top:8px;inset-inline-end:14px;font-size:15px;font-weight:800;color:#fff;opacity:.85}
.cp-body{padding:20px 22px 18px;display:flex;flex-direction:column;flex:1}
.cp-body h3,.cp-body .h3{font-size:20px;line-height:1.3;margin-bottom:8px}
.cp-body p{font-size:15px;line-height:24px;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px}
.cp-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;line-height:20px;color:var(--gold-ink)}
.cp-foot b{color:var(--navy);font-size:15px;white-space:nowrap;transition:transform .2s}
.cp-card:hover .cp-foot b{transform:translateX(4px)}
[dir="rtl"] .cp-card:hover .cp-foot b{transform:translateX(-4px)}
.cat-empty{text-align:center;padding:40px 0;color:var(--gold-ink);font-weight:600}
.cat-why{background:var(--navy-deep);color:#fff;padding:76px 0}
.cat-why-head{max-width:640px}
.cat-why h2,.cat-why .h2{color:#fff}
.cat-why-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;border-top:1px solid rgba(255,255,255,.15)}
.cat-why-grid>div{padding:28px 26px 8px;border-inline-end:1px solid rgba(255,255,255,.12)}
.cat-why-grid>div:first-child{padding-inline-start:0}
.cat-why-grid>div:last-child{border-inline-end:0}
.cat-why-grid b{font-size:34px;color:var(--gold);line-height:1}
.cat-why-grid h3,.cat-why-grid .h3{color:#fff;font-size:20px;margin:14px 0 8px}
.cat-why-grid p{font-size:15px;line-height:25px;color:rgba(255,255,255,.75)}
.cat-team{background:#fff;border-bottom:1px solid var(--line);padding:60px 0}
.cat-team .container{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.cat-team h2,.cat-team .h2{font-size:var(--fs-h2);margin:8px 0 10px}
.cat-team p{max-width:640px}
.cat-team .actions{display:flex;gap:12px;flex-wrap:wrap}
.cat-more h2,.cat-more .h2{margin-bottom:6px}
@media(max-width:1024px){
  .cat-hero .container{grid-template-columns:1fr;gap:44px}
  .cat-mosaic{max-width:640px}
  .cat-stats .container{grid-template-columns:repeat(2,1fr)}
  .cat-stats .container>div:nth-child(3){border-inline-start:1px solid var(--line)}
  .cp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat-why-grid{grid-template-columns:repeat(2,1fr)}
  .cat-why-grid>div,.cat-why-grid>div:first-child{padding:24px 20px 16px;border-inline-end:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .cat-team .container{grid-template-columns:1fr;gap:20px}
  .cat-tools{align-items:stretch;width:100%}
  .cat-search{width:100%}
}
@media(max-width:640px){
  .cat-hero{padding:44px 0 80px}
  .cat-mosaic{gap:8px;margin-inline-end:12px}
  .cat-badge{inset-inline-end:-12px;padding:10px 16px}
  .cat-badge b{font-size:28px}
  .cat-stats .container>div{padding:14px 16px}
  .cat-stats b{font-size:16px}
  .cat-switch .container{flex-direction:column;align-items:stretch;gap:8px}
  .cp-grid{grid-template-columns:minmax(0,1fr)}
  .cat-why-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.cat-hero-text>*,.cat-mosaic{animation:none}}

/* ---------- All categories page ---------- */
.cats-hero .container{grid-template-columns:1.15fr .85fr}
.cats-jump{display:grid;gap:12px}
.cats-jump a{display:flex;align-items:center;gap:18px;padding:16px 20px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#fff;transition:background .2s,border-color .2s,transform .2s}
.cats-jump a:hover{background:rgba(255,255,255,.1);border-color:var(--gold);transform:translateX(4px)}
.page[dir="rtl"] .cats-jump a:hover{transform:translateX(-4px)}
.cats-jump b{font-size:36px;line-height:1;color:var(--gold-light);min-width:62px}
.cats-jump span{flex:1;font-size:17px;font-weight:700;line-height:1.3}
.cats-jump small{display:block;font-size:13px;font-weight:500;color:rgba(255,255,255,.7);margin-top:2px}
.cats-jump i{font-style:normal;font-weight:800;color:var(--gold-light)}
.cats-group{scroll-margin-top:20px}
.cats-group:nth-of-type(odd){background:#fff}
.cats-group-head{max-width:720px;margin-bottom:32px}
.cats-group-head h2,.cats-group-head .h2{margin:8px 0 10px}
.cats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cats-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s,border-color .25s}
.cats-group:nth-of-type(odd) .cats-card{background:var(--paper)}
.cats-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(10,28,57,.13);border-color:var(--gold)}
.cats-photo{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy)}
.cats-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cats-card:hover .cats-photo img{transform:scale(1.06)}
.cats-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,28,57,.7),transparent 60%)}
.cats-num{position:absolute;z-index:1;bottom:10px;inset-inline-start:16px;font-size:30px;font-weight:800;color:var(--gold-light);line-height:1}
.cats-count{position:absolute;z-index:1;top:12px;inset-inline-end:12px;background:var(--gold);color:var(--navy-deep);font-size:13px;font-weight:800;line-height:24px;padding:0 10px}
.cats-body{padding:20px 22px 18px;display:flex;flex-direction:column;flex:1}
.cats-body h3,.cats-body .h3{font-size:20px;line-height:1.3;margin-bottom:10px}
.cats-body ul{margin-bottom:16px}
.cats-body li{position:relative;font-size:14px;line-height:22px;padding:3px 0;padding-inline-start:16px;color:var(--text)}
.cats-body li::before{content:"";position:absolute;inset-inline-start:0;top:12px;width:6px;height:6px;background:var(--gold)}
@media(max-width:1024px){.cats-hero .container{grid-template-columns:1fr}.cats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.cats-grid{grid-template-columns:minmax(0,1fr)}.cats-jump b{font-size:28px;min-width:48px}}

/* ---------- Site-wide: one gutter + one type scale on every page ---------- */
.hero h1,.hero-2col h1,.hs-content h1,.hs-content h2.hs-title,
.course-hero h1,.cat-hero h1,.partners-hero h1,.seo-content h1,.legal-head h1,.hs-content .h2.hs-title{
  font-size:var(--fs-h1)!important;line-height:1.15
}
.hero p.lead,.hero-2col p.lead,.hs-content p.lead,.course-hero p.lead,
.cat-hero .lead,.partners-hero .lead,.legal-head p{
  font-size:var(--fs-lead)!important;line-height:1.55
}
h2,.accred-head h2,.course-body h2,.post-body h2,.class-copy h3,.cat-team h2,.h2,.accred-head .h2,.course-body .h2,.post-body .h2,.class-copy .h3,.cat-team .h2{
  font-size:var(--fs-h2)!important
}
nav.main ul{font-size:var(--fs-nav)}
.container{
  width:100%;max-width:var(--container);margin-inline:auto;
  padding-left:var(--gutter)!important;padding-right:var(--gutter)!important;
  padding-inline:var(--gutter)!important;box-sizing:border-box;min-width:0
}
.hero-2col .container,.corporate .container,.course-hero .container,.course-body .container,.seo-content .container{min-width:0}
.cat-grid,.course-grid,.testi-grid,.steps-grid,.rel-grid,.why-grid,.partners-grid,.cats-grid{min-width:0}
.cat,.course-card,.quote,.step,.partner-card{min-width:0;max-width:100%}
.cat-badge{inset-inline-end:0}
@media(max-width:1024px){
  .partners-hero .container,.about-intro,.cat-hero .container,.cats-hero .container{grid-template-columns:1fr}
}
@media(max-width:640px){
  .finder-popular{gap:6px}
  .finder-popular a{padding:4px 10px;font-size:var(--fs-label)}
}
