/* ==========================================================================
   Balancia Accounting & Consulting — site styles
   One stylesheet for English (LTR) and Arabic (RTL): layout uses logical
   properties (inline-start / inline-end) so it mirrors automatically.
   ========================================================================== */

/* ---------- Fonts (self-hosted, open licence) ---------- */
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/poppins-latin-500-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/poppins-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/open-sans-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/open-sans-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/open-sans-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Alexandria";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/alexandria-arabic-400-normal.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Alexandria";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/alexandria-arabic-500-normal.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Alexandria";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/alexandria-arabic-600-normal.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Alexandria";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/alexandria-arabic-700-normal.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}

/* ---------- Tokens ---------- */
:root{
  --ink:#1A1440;          /* deepest indigo: footer ground, strongest text */
  --indigo:#362870;       /* brand indigo (company profile cover) */
  --indigo-deep:#2A1F5C;
  --purple:#40157A;       /* logo purple */
  --violet:#5B45B5;       /* links and interactive */
  --lav-50:#FAF9FE; --lav-100:#F4F1FB; --lav-200:#E8E2F6; --lav-300:#D3CAEC; --lav-400:#A89ECF;
  --gold:#C99E4A; --gold-deep:#93701F; --gold-soft:#F6ECD4;
  --teal:#59C6B0; --teal-deep:#176D5F;
  --text:#2A2347; --muted:#5E5779; --line:#E5E0F1; --white:#FFFFFF;
  --rate-1:#1E8068; --rate-2:#6B55B8; --rate-3:#E3B341; --rate-4:#C2433B;
  --risk-high:#C9483F; --risk-med:#DDB04A;

  --font-display:"Poppins","Alexandria",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;
  --font-body:"Open Sans","Alexandria",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;
  --track:.14em;          /* letter-spacing for small caps labels (zeroed for Arabic) */
  --lh-body:1.7;
  --radius:16px; --radius-sm:10px;
  --shadow-1:0 1px 2px rgba(26,20,64,.06),0 6px 18px rgba(26,20,64,.06);
  --shadow-2:0 2px 4px rgba(26,20,64,.08),0 18px 44px rgba(26,20,64,.16);
  --gutter:clamp(16px,4vw,32px);
  --section:clamp(56px,8vw,104px);
  --lattice:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpath d='M0 0L44 44M44 0L0 44' stroke='%23A89ECF' stroke-width='1' fill='none'/%3E%3C/svg%3E");
}
:lang(ar){--track:0;--lh-body:1.95}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{max-width:100%}
img{height:auto;display:block}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);margin:0;text-wrap:balance;line-height:1.18}
:lang(ar) h1,:lang(ar) h2,:lang(ar) h3,:lang(ar) h4{line-height:1.45}
h1{font-size:clamp(2.05rem,4.6vw,3.4rem);font-weight:700;letter-spacing:-.015em}
h2{font-size:clamp(1.6rem,3vw,2.35rem);font-weight:700;letter-spacing:-.01em}
h3{font-size:1.125rem;font-weight:600}
:lang(ar) h1,:lang(ar) h2{letter-spacing:0}
p{margin:0;text-wrap:pretty}   /* avoids a single short word alone on the last line (newer browsers) */
ul,ol{margin:0;padding:0;list-style:none}
a{color:var(--violet);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--purple)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
bdi,.ltr{direction:ltr;unicode-bidi:isolate}
.icon{flex:none}
[dir="rtl"] .icon--dir{transform:scaleX(-1)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;inset-inline-start:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px}
.skip-link:focus{top:12px;color:#fff}

.container{width:100%;max-width:1180px;margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.section--tint{background:var(--lav-100)}
.section--tight{padding-block:clamp(40px,5vw,64px)}
.section__head{display:grid;gap:14px;max-width:760px;margin-block-end:clamp(28px,4vw,48px)}
.section__head--center{text-align:center;margin-inline:auto;justify-items:center}
.eyebrow{font-family:var(--font-display);font-weight:600;font-size:.8rem;letter-spacing:var(--track);text-transform:uppercase;color:var(--teal-deep);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--gold);border-radius:2px}
.lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--muted);max-width:68ch}
.prose{display:grid;gap:1.1em;max-width:68ch}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:999px;border:1.5px solid transparent;font-family:var(--font-display);font-weight:600;font-size:.97rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .15s ease,background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn--gold{background:var(--gold);color:var(--ink);box-shadow:0 8px 22px rgba(201,158,74,.28)}
.btn--gold:hover{background:#D7AE5E;color:var(--ink)}
.btn--primary{background:var(--indigo);color:#fff}
.btn--primary:hover{background:var(--purple);color:#fff}
.btn--ghost{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.btn--ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.btn--outline{border-color:var(--lav-300);color:var(--indigo);background:#fff}
.btn--outline:hover{border-color:var(--indigo);color:var(--indigo)}
.btn--sm{min-height:42px;padding:9px 18px;font-size:.9rem}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;text-decoration:none;color:var(--indigo);border-bottom:2px solid var(--gold);padding-block-end:3px}
.link-arrow:hover{color:var(--purple);gap:12px}
.link-arrow .icon{transition:transform .15s ease}

/* ---------- Header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.site-header__bar{display:flex;align-items:center;gap:20px;min-height:74px}
.brand{display:inline-flex;align-items:center;flex:none;text-decoration:none;border-radius:8px}
.brand img{height:44px;width:auto;display:block}
.site-nav{margin-inline-start:auto}
.site-nav ul{display:flex;align-items:center;gap:4px}
.site-nav a{display:block;white-space:nowrap;padding:10px 14px;border-radius:999px;font-family:var(--font-display);font-weight:500;font-size:.95rem;color:var(--text);text-decoration:none}
.site-nav a:hover{background:var(--lav-100);color:var(--indigo)}
.site-nav a[aria-current="page"]{color:var(--indigo);font-weight:600;background:var(--lav-100)}
.site-nav__cta{display:none}
.site-header__actions{display:flex;align-items:center;gap:10px}
.site-header__actions .btn{white-space:nowrap}
.lang-switch{display:inline-flex;align-items:center;white-space:nowrap;gap:7px;min-height:42px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--lav-300);color:var(--indigo);font-weight:600;font-size:.92rem;text-decoration:none;font-family:"Alexandria","Poppins",sans-serif;line-height:1}
.lang-switch:hover{border-color:var(--indigo);background:var(--lav-50)}
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--lav-300);background:#fff;color:var(--indigo);cursor:pointer}
.nav-toggle .icon-close{display:none}
.nav-open .nav-toggle .icon-menu{display:none}
.nav-open .nav-toggle .icon-close{display:block}

@media (max-width:1100px){
  .site-header__bar{min-height:66px;gap:10px}
  .brand img{height:38px}
  .nav-toggle{display:inline-flex}
  .site-header__actions{margin-inline-start:auto}
  .site-header__actions .btn{display:none}
  .site-nav{position:absolute;inset-inline:0;top:100%;margin:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-2);display:none;padding:12px var(--gutter) 20px}
  .nav-open .site-nav{display:block}
  .site-nav ul{flex-direction:column;align-items:stretch;gap:2px}
  .site-nav a{padding:13px 14px;border-radius:12px;font-size:1.02rem}
  .site-nav__cta{display:block;margin-block-start:10px}
  .site-nav__cta .btn{display:flex;width:100%;color:#fff}
  .site-nav__cta .btn:hover{background:var(--purple)}
}
@media (max-width:420px){
  .brand img{height:34px}
  .lang-switch{padding:8px 11px}.lang-switch .icon{display:none}
}

/* ---------- Hero (home): light ground, flyer photo, gold highlight ---------- */
.lattice{position:absolute;inset:0;z-index:-1;background-image:var(--lattice);background-size:44px 44px;opacity:.5;-webkit-mask-image:linear-gradient(108deg,transparent 0%,transparent 40%,#000 78%);mask-image:linear-gradient(108deg,transparent 0%,transparent 40%,#000 78%)}
[dir="rtl"] .lattice{-webkit-mask-image:linear-gradient(252deg,transparent 0%,transparent 40%,#000 78%);mask-image:linear-gradient(252deg,transparent 0%,transparent 40%,#000 78%)}
@media (max-width:900px){
  .lattice,[dir="rtl"] .lattice{-webkit-mask-image:linear-gradient(180deg,transparent 0%,transparent 35%,#000 85%);mask-image:linear-gradient(180deg,transparent 0%,transparent 35%,#000 85%)}
}
.hero{position:relative;isolation:isolate;overflow:hidden;color:var(--text);background:linear-gradient(180deg,#fff 0%,#FBFAFE 55%,var(--lav-100) 100%)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,64px);align-items:center;padding-block:clamp(40px,6vw,80px) clamp(56px,7vw,92px)}
.hero__copy{display:grid;gap:22px;justify-items:start}
.hero .eyebrow{color:var(--indigo)}
.hero h1{color:var(--ink);font-size:clamp(2.05rem,4.3vw,3.2rem)}
.hero h1 em{font-style:normal;color:#A47826;background:linear-gradient(100deg,#9A6F20 0%,#BD8E38 55%,#A47826 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero__sub{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--muted);max-width:52ch}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-block-start:6px}

/* hero art: a very large, very pale "B" behind the far side, cut off by the page edge */
.hero__art{min-width:0;align-self:stretch}
.hero__water{position:relative;height:100%;min-height:360px}
.hero__water-mark{position:absolute;top:50%;inset-inline-end:-18%;height:170%;width:auto;max-width:none;transform:translateY(-50%)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.4}
.pill--ok{background:#E3F5EF;color:var(--teal-deep)}

@media (max-width:900px){
  .hero__grid{grid-template-columns:minmax(0,1fr);padding-block-start:36px}
  .hero__art{position:absolute;inset:0;z-index:-1;pointer-events:none}
  .hero__water{min-height:0}
  .hero__water-mark{top:auto;bottom:-14%;inset-inline-end:-24%;height:74%;transform:none}
}
@media (max-width:460px){
  .hero__actions .btn{width:100%}
}

/* ---------- Stats strip ---------- */
.stats{background:#fff;border-block:1px solid var(--line)}
.stats__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.stat{display:grid;gap:4px;padding:clamp(22px,3vw,34px) clamp(12px,2.4vw,32px);border-inline-start:1px solid var(--lav-300)}
.stat:first-child{border-inline-start:0;padding-inline-start:0}
.stat__n{justify-self:start;font-family:"Poppins",sans-serif;font-weight:700;font-size:clamp(2rem,4.4vw,3.1rem);line-height:1;color:var(--indigo);font-variant-numeric:tabular-nums}
.stat__l{color:var(--muted);font-size:.95rem;line-height:1.5;max-width:26ch}
@media (max-width:640px){
  .stats__grid{grid-template-columns:minmax(0,1fr)}
  .stat{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:14px;border-inline-start:0;border-top:1px solid var(--lav-300);padding-inline:0}
  .stat:first-child{border-top:0}
}

/* ---------- Service cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,2.4vw,28px);display:grid;gap:12px;align-content:start;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-1);border-color:var(--lav-300)}
.card__icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(160deg,#6B59C6 0%,#41318F 46%,var(--indigo-deep) 100%);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -8px 14px rgba(10,6,40,.28),0 10px 20px rgba(54,40,112,.28)}
.card--num{position:relative}
.card__num{position:absolute;top:18px;inset-inline-end:18px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(150deg,#D2A654,#A97C2C);color:#fff;font:700 .95rem/1 "Poppins",sans-serif;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 5px 12px rgba(169,124,44,.35)}
.card p{color:var(--muted);font-size:.97rem}
.section__foot{margin-block-start:clamp(24px,3vw,36px)}
@media (max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cards{grid-template-columns:minmax(0,1fr)}}

/* ---------- Two-column feature (TTFR teaser etc.) ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,72px);align-items:center}
.split__copy{display:grid;gap:18px;justify-items:start}
.split__copy p:not(.eyebrow){color:var(--muted);max-width:60ch}
.prog-chips{display:flex;flex-wrap:wrap;gap:8px;margin-block:4px}
.prog-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:#fff;border:1px solid var(--lav-300);font-size:.86rem;font-weight:600;color:var(--text);line-height:1.4}
[dir="rtl"] .prog-chip{padding:6px 6px 6px 14px}
.prog-chip b{font-family:"Poppins",sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.06em;color:#fff;background:var(--indigo);border-radius:999px;padding:4px 9px}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}

/* ---------- 360 wheel ---------- */
.wheel{position:relative;width:100%;max-width:640px;aspect-ratio:640/500;margin-inline:auto}
.wheel__ring{position:absolute;inset-block-start:50%;left:50%;width:65.625%;height:auto;transform:translate(-50%,-50%);overflow:visible}
.w-orbit{fill:none;stroke:var(--lav-300);stroke-width:2;stroke-dasharray:3 9;stroke-linecap:round}
.w-seg--0{fill:var(--indigo)}.w-seg--1{fill:#4C3C97}
.w-abbr{font:700 27px "Poppins",sans-serif;fill:#fff;letter-spacing:.04em}
.w-spoke{stroke:var(--lav-300);stroke-width:2}
.w-node{fill:var(--gold);stroke:#fff;stroke-width:4}
.w-core{fill:#fff;stroke:var(--gold);stroke-width:3}
.section--tint .w-core{fill:#fff}
.wheel__center{position:absolute;inset-block-start:50%;left:50%;transform:translate(-50%,-50%);width:16%;display:grid;justify-items:center;text-align:center;gap:2px;line-height:1.2}
.wheel__center strong{font-family:"Poppins",sans-serif;font-weight:700;font-size:clamp(.95rem,2.1vw,1.35rem);color:var(--indigo);letter-spacing:.04em}
.wheel__center span{font-size:clamp(.5rem,1.05vw,.66rem);color:var(--muted);font-weight:600}
.wheel__labels li{position:absolute;font-family:var(--font-display);font-weight:600;font-size:clamp(.78rem,1.3vw,.95rem);color:var(--ink);line-height:1.3;max-width:24%;white-space:normal}
.wl--mr{transform:translate(0,-50%);text-align:left}
.wl--ml{transform:translate(-100%,-50%);text-align:right}
.wl--tr{transform:translate(0,-100%);text-align:left}
.wl--tl{transform:translate(-100%,-100%);text-align:right}
.wl--br{transform:translate(0,0);text-align:left}
.wl--bl{transform:translate(-100%,0);text-align:right}
.wheel-fig{margin:0;display:grid;gap:10px}
.wheel-fig figcaption{text-align:center;color:var(--muted);font-size:.88rem;max-width:52ch;margin-inline:auto}
@media (max-width:620px){
  .wheel{aspect-ratio:auto;display:grid;gap:18px}
  .wheel__ring{position:static;transform:none;width:min(100%,340px);margin-inline:auto;display:block}
  .wheel__center{inset-block-start:0;top:calc(min(100vw - 2*var(--gutter),340px)/2);width:26%}
  .wheel__center strong{font-size:1.15rem}.wheel__center span{font-size:.62rem}
  .wheel__labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .wheel__labels li{position:static;transform:none!important;max-width:none;text-align:start!important;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:.88rem}
  .wheel__labels li::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--gold)}
}

/* ---------- Why list ---------- */
.why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
.why__item{display:grid;gap:10px;align-content:start;padding-block-start:22px;border-top:2px solid var(--lav-300)}
.why__item .icon{color:var(--gold-deep)}
.why__item p{color:var(--muted);font-size:.96rem}
@media (min-width:961px){.why__item h3{min-height:2.4em}:lang(ar) .why__item h3{min-height:0}}
@media (max-width:960px){.why{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.why{grid-template-columns:minmax(0,1fr)}}

/* ---------- Chips / industries ---------- */
.tags{display:flex;flex-wrap:wrap;gap:10px}
.tags li{padding:9px 16px;border-radius:999px;background:#fff;border:1px solid var(--lav-300);font-weight:600;font-size:.92rem;color:var(--indigo);line-height:1.4}
.section--tint .tags li{background:#fff}
.ind-row{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(18px,4vw,56px);align-items:center}
@media (max-width:760px){.ind-row{grid-template-columns:minmax(0,1fr)}}

/* ---------- CTA band ---------- */
.cta-band{position:relative;isolation:isolate;background:linear-gradient(180deg,var(--indigo) 0%,var(--indigo-deep) 100%);color:#fff;overflow:hidden}
.cta-band .lattice{opacity:.42}
.cta-band__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,4vw,48px);align-items:center;padding-block:clamp(44px,6vw,76px)}
.cta-band h2{color:#fff}
.cta-band p{color:#DAD5F0;margin-block-start:10px;font-size:1.08rem}
.cta-band__actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:820px){.cta-band__inner{grid-template-columns:minmax(0,1fr)}}
@media (max-width:460px){.cta-band__actions .btn{width:100%}}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{position:relative;isolation:isolate;background:linear-gradient(180deg,var(--indigo) 0%,var(--indigo-deep) 100%);color:#fff;overflow:hidden}
.page-hero__inner{display:grid;gap:18px;padding-block:clamp(44px,6vw,84px);max-width:860px}
.page-hero .eyebrow{color:#CFC8EE}
.page-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,3rem)}
.page-hero .lead{color:#DAD5F0}
.page-hero__abbr{font-family:"Poppins",sans-serif;font-weight:700;font-style:italic;letter-spacing:.06em;color:var(--gold)}

/* ---------- Services page ---------- */
.line{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);padding-block:clamp(36px,5vw,60px);border-top:1px solid var(--line);scroll-margin-top:90px}
.line:first-of-type{border-top:0;padding-block-start:0}
.line__intro{display:grid;gap:14px;align-content:start;justify-items:start}
.line__intro p{color:var(--muted)}
.ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;align-content:start}
.ticks li{display:flex;gap:10px;align-items:flex-start;padding-block:12px;border-bottom:1px solid var(--line);font-weight:600;color:var(--text);line-height:1.5}
.ticks .icon{color:var(--teal-deep);margin-block-start:3px}
@media (max-width:860px){.line{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.ticks{grid-template-columns:minmax(0,1fr)}}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,36px)}
.trio__item{display:grid;gap:10px;align-content:start;padding-block-start:20px;border-top:2px solid var(--gold)}
.trio__item p{color:var(--muted);font-size:.97rem}
@media (max-width:820px){.trio{grid-template-columns:minmax(0,1fr)}}

/* ---------- TTFR page ---------- */
.programmes{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.prog{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.45fr) minmax(0,.75fr) minmax(0,1.5fr);gap:clamp(14px,2vw,28px);padding:clamp(18px,2.2vw,26px);border-top:1px solid var(--line);align-items:start}
.prog--head{background:var(--indigo);color:#fff;font-family:var(--font-display);font-weight:600;font-size:.82rem;letter-spacing:var(--track);text-transform:uppercase;border-top:0;padding-block:14px}
.prog__name{display:flex;gap:12px;align-items:center}
.prog__abbr{flex:none;display:inline-grid;place-items:center;min-width:58px;height:40px;padding-inline:10px;border-radius:10px;background:var(--lav-100);border:1px solid var(--lav-300);font-family:"Poppins",sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.06em;color:var(--indigo)}
.prog__name h3{font-size:1.02rem}
.prog p{color:var(--muted);font-size:.95rem}
.prog__freq{font-weight:700;color:var(--ink);font-size:.95rem}
.prog__deliv{display:grid;gap:6px;font-size:.92rem;color:var(--text)}
.prog__deliv li{display:flex;gap:8px;align-items:flex-start;line-height:1.5}
.prog__deliv li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-block-start:.6em}
.prog__label{display:none;font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--teal-deep);margin-block-end:4px}
@media (max-width:900px){
  .prog--head{display:none}
  .prog{grid-template-columns:minmax(0,1fr);gap:14px}
  .prog:nth-child(2){border-top:0}
  .prog__label{display:block}
}
.choose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px);margin-block-start:clamp(28px,4vw,44px)}
.choose__title{grid-column:1/-1}
.choose__item{display:grid;gap:10px;align-content:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,2.4vw,28px)}
.choose__item h4{font-size:1.06rem;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.choose__item h4 b{font-family:"Poppins",sans-serif;font-size:.78rem;letter-spacing:.06em;color:#fff;background:var(--indigo);padding:4px 10px;border-radius:999px}
.choose__item p{color:var(--muted);font-size:.97rem}
@media (max-width:720px){.choose{grid-template-columns:minmax(0,1fr)}}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.2vw,28px);counter-reset:step}
.step{display:grid;gap:10px;align-content:start;position:relative;padding-block-start:64px}
.step::before{counter-increment:step;content:counter(step);position:absolute;inset-block-start:0;inset-inline-start:0;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--indigo);color:#fff;font-family:"Poppins",sans-serif;font-weight:700;font-size:1.1rem;box-shadow:0 0 0 6px var(--lav-200)}
.step::after{content:"";position:absolute;inset-block-start:22px;inset-inline-start:64px;inset-inline-end:-10px;height:2px;background:repeating-linear-gradient(90deg,var(--lav-400) 0 6px,transparent 6px 12px)}
.step:last-child::after{display:none}
.step p{color:var(--muted);font-size:.96rem}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.step::after{display:none}}
@media (max-width:520px){.steps{grid-template-columns:minmax(0,1fr)}.step{padding-block-start:0;padding-inline-start:64px;min-height:50px}}
.run{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-block-start:clamp(32px,4vw,52px);padding-block-start:clamp(24px,3vw,36px);border-top:1px solid var(--lav-300)}
.run li{display:flex;gap:12px;align-items:flex-start;font-weight:600;color:var(--text);line-height:1.5}
.run .icon{color:var(--indigo);margin-block-start:1px}
@media (max-width:820px){.run{grid-template-columns:minmax(0,1fr)}}

.scale{display:grid;grid-template-columns:6.500fr 3fr 6fr 5fr;gap:6px}
.scale__seg{display:grid;gap:4px;padding:16px 16px 18px;border-radius:12px;color:#fff;align-content:start;min-width:0}
.scale__seg strong{font-family:var(--font-display);font-size:1.02rem;line-height:1.3}
.scale__seg span{font-size:.86rem;opacity:.95;line-height:1.4}
.scale__seg--exceptional{background:var(--rate-1)}
.scale__seg--outstanding{background:var(--rate-2)}
.scale__seg--average{background:var(--rate-3);color:var(--ink)}
.scale__seg--below{background:var(--rate-4)}
.scale-note{display:flex;gap:12px;align-items:flex-start;margin-block-start:24px;color:var(--ink);font-weight:600;max-width:78ch;line-height:1.6}
.scale-note .icon{color:var(--rate-1);margin-block-start:3px}
@media (max-width:760px){.scale{grid-template-columns:minmax(0,1fr)}.scale__seg{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px 16px}}

.table-wrap{position:relative;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.94rem}
th,td{padding:13px 14px;text-align:center;border-bottom:1px solid var(--line)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
thead th{background:var(--indigo);color:#fff;font-family:"Poppins","Alexandria",sans-serif;font-weight:600;font-size:.84rem;letter-spacing:.05em;white-space:nowrap}
thead th:first-child,tbody th{text-align:start}
tbody th{font-weight:600;color:var(--ink);min-width:150px;line-height:1.45}
.yes{color:var(--teal-deep)}.no{color:#8E84BD}
.matrix{min-width:520px}
.heat{min-width:600px;table-layout:fixed}
.heat th:first-child{width:30%}
.heat td{font-weight:700;font-size:.84rem;color:#fff;border-inline-start:2px solid #fff;border-bottom:2px solid #fff}
.heat .r-H{background:var(--risk-high)}
.heat .r-M{background:var(--risk-med);color:var(--ink)}
.heat .r-0{background:var(--lav-100);color:var(--lav-400)}
@media (max-width:560px){
  th,td{padding:12px 6px}
  thead th{font-size:.72rem;letter-spacing:0;padding-inline:4px}
  tbody th{min-width:0;font-size:.8rem;padding-inline:10px 4px;line-height:1.4}
  .matrix{min-width:0}
  .matrix thead th:first-child{width:40%}
  .heat{min-width:0}
  .heat th:first-child{width:31%}
  .heat td{font-size:.66rem;padding:12px 1px}
}
.legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px 24px;margin-block-start:16px;font-size:.88rem;color:var(--muted)}
.legend b{font-family:"Poppins",sans-serif;color:var(--indigo);margin-inline-end:6px}
.note{margin-block-start:22px;color:var(--muted);font-size:.95rem;max-width:80ch}
.two-col{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:900px){.two-col{grid-template-columns:minmax(0,1fr)}}
.panel{background:var(--lav-100);border-radius:var(--radius);padding:clamp(20px,2.6vw,30px);display:grid;gap:14px}
.panel h3{font-size:1.1rem}
.dots{display:grid;gap:10px;font-size:.95rem}
.dots li{display:flex;gap:10px;align-items:flex-start;line-height:1.55}
.dots li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-block-start:.62em}
.checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(20px,4vw,56px)}
.checklist li{display:flex;gap:12px;align-items:flex-start;padding-block:14px;border-bottom:1px solid var(--lav-300);font-weight:600;line-height:1.5}
.checklist .icon{color:var(--teal-deep);margin-block-start:2px}
@media (max-width:640px){.checklist{grid-template-columns:minmax(0,1fr)}}

/* ---------- About page ---------- */
.about-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);align-items:start}
.about-intro .prose p:first-child{font-size:1.14rem;color:var(--ink)}
.quote{margin:0;padding:clamp(22px,3vw,32px);border-radius:var(--radius);background:var(--indigo);color:#fff;font-family:var(--font-display);font-weight:500;font-size:1.08rem;line-height:1.6;position:relative;overflow:hidden;isolation:isolate}
:lang(ar) .quote{line-height:1.9}
.quote .lattice{opacity:.35;-webkit-mask-image:linear-gradient(200deg,#000,transparent 60%);mask-image:linear-gradient(200deg,#000,transparent 60%)}
.quote::before{content:"";display:block;width:36px;height:3px;background:var(--gold);margin-block-end:16px;border-radius:2px}
@media (max-width:900px){.about-intro{grid-template-columns:minmax(0,1fr)}}
.vm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,40px)}
.vm__item{display:grid;gap:12px;align-content:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,34px)}
.vm__item p:not(.eyebrow){color:var(--muted)}
.vm__item h2{font-size:1.4rem}
@media (max-width:760px){.vm{grid-template-columns:minmax(0,1fr)}}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,36px)}
.values__item{display:grid;gap:10px;align-content:start;padding-block-start:20px;border-top:2px solid var(--gold)}
.values__item p{color:var(--muted)}
@media (max-width:760px){.values{grid-template-columns:minmax(0,1fr)}}
/* picture column made larger at Fadhel's request (20 Sep 2026): was 340px */
.owner{display:grid;grid-template-columns:minmax(0,1fr) min(440px,40%);gap:clamp(28px,5vw,72px);align-items:center}
.owner__photo{order:2}
[dir="rtl"] .owner{grid-template-columns:min(440px,40%) minmax(0,1fr)}
[dir="rtl"] .owner__photo{order:0}
/* Picture area: a purple circle with him inside it.
   History (all Fadhel, 20 Sep 2026): chose option H "stepping out of a purple circle" -> "adjust the circle
   placement" -> "make the circle cover my head". So the head no longer rises above the circle: the whole
   picture sits inside one full circle, clipped by it at the shoulders.
   Sizes are % of the circle's width and physical (margin-left), because they follow the photo, which is
   never mirrored in Arabic:
   - the picture is 93.4% wide and stands on the bottom of the circle; that leaves his hair about 9% below
     the top of the circle (head top = 1 - 0.9744 x 0.934);
   - the middle of his FACE is 45.5% across the photo (he stands turned), so margin-left = 50 - 45.5 x .934
     = 7.5% puts his face exactly on the circle's centre line. */
.owner__photo{position:relative;min-width:0;direction:ltr;aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:radial-gradient(90% 90% at 50% 30%,#6A58BD 0%,#43338C 50%,#2A1F5C 100%);display:grid;align-items:end;justify-items:start}
.owner__photo img{width:93.4%;max-width:none;height:auto;display:block;margin-left:7.503%}
.owner__body{display:grid;gap:16px;justify-items:start}
.owner__name{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.owner__name span{font-family:var(--font-display);font-weight:600;color:var(--teal-deep);font-size:1rem}
.owner__body .prose p{color:var(--muted)}
.qual{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:600;color:var(--text);line-height:1.5}
.qual .icon{color:var(--indigo);margin-block-start:1px}
.qual__main,.qual__grade{display:block}
.qual__grade{margin-block-start:2px;font-size:.92rem;color:var(--teal-deep)}
.owner__links{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:820px){.owner,[dir="rtl"] .owner{grid-template-columns:minmax(0,1fr)}.owner__photo,[dir="rtl"] .owner__photo{order:0;max-width:400px}}

/* ---------- Contact page ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:start}
.contact-list{display:grid;gap:0}
.contact-list li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;padding-block:18px;border-bottom:1px solid var(--line)}
.contact-list li:first-child{padding-block-start:0}
.contact-list__icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--lav-100);color:var(--indigo)}
.contact-list__icon--wa{background:#E3F5EF;color:#0E7A6E}
.contact-list small{display:block;font-family:var(--font-display);font-size:.74rem;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted);margin-block-end:2px}
.contact-list a,.contact-list span.v{font-weight:600;color:var(--ink);text-decoration:none;font-size:1.04rem;line-height:1.5;word-break:break-word}
.contact-list a:hover{color:var(--violet);text-decoration:underline}
.contact-list .sub{display:block;margin-block-start:4px;font-size:.9rem}
.contact-list .sub a{font-size:.9rem;color:var(--violet);font-weight:600}
.form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(20px,3vw,36px);box-shadow:var(--shadow-1);display:grid;gap:18px}
.form h2{font-size:1.45rem}
.form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:.92rem;color:var(--ink)}
.field label i{font-style:normal;font-weight:400;color:var(--muted);font-size:.84rem}
.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--text);background:var(--lav-50);border:1.5px solid var(--lav-300);border-radius:12px;padding:12px 14px;min-height:48px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
.field textarea{min-height:130px;resize:vertical;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--violet);background:#fff;box-shadow:0 0 0 4px rgba(91,69,181,.15)}
.field [aria-invalid="true"]{border-color:var(--rate-4);background:#FFF6F5}
.form__actions{display:flex;flex-wrap:wrap;gap:12px}
.btn--wa{background:#0E7A6E;color:#fff}
.btn--wa:hover{background:#0B665C;color:#fff}
.form__error{color:#A8322B;font-weight:600;font-size:.92rem}
.form__note{color:var(--muted);font-size:.86rem}
@media (max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.form__row{grid-template-columns:minmax(0,1fr)}.form__actions .btn{width:100%}}

/* ---------- Footer ---------- */
.site-footer{position:relative;isolation:isolate;background:var(--ink);color:#C9C3E3;overflow:hidden;font-size:.95rem}
.site-footer .lattice{opacity:.22;-webkit-mask-image:linear-gradient(200deg,#000 0%,transparent 55%);mask-image:linear-gradient(200deg,#000 0%,transparent 55%)}
[dir="rtl"] .site-footer .lattice{-webkit-mask-image:linear-gradient(160deg,#000 0%,transparent 55%);mask-image:linear-gradient(160deg,#000 0%,transparent 55%)}
.site-footer__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1.3fr);gap:clamp(28px,5vw,72px);padding-block:clamp(44px,6vw,72px) clamp(28px,4vw,44px)}
.site-footer .brand img{height:50px}
.site-footer__about{display:grid;gap:16px;justify-items:start;align-content:start}
.site-footer__tag{font-family:var(--font-display);font-weight:600;color:#fff;font-size:1.05rem}
.site-footer__motto{font-family:var(--font-display);font-size:.74rem;letter-spacing:var(--track);text-transform:uppercase;color:var(--gold)}
.site-footer h2{font-size:.8rem;letter-spacing:var(--track);text-transform:uppercase;color:#fff;font-weight:600;margin-block-end:16px}
.site-footer ul{display:grid;gap:10px}
.site-footer a{color:#C9C3E3;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.f-contact li{display:flex;gap:10px;align-items:flex-start;line-height:1.55}
.f-contact .icon{color:var(--gold);margin-block-start:3px}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:22px 28px;display:grid;gap:10px;font-size:.82rem;color:#A29BC4}
.site-footer__bottom p{max-width:100ch}
@media (max-width:820px){.site-footer__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.site-footer__about{grid-column:1/-1}}
@media (max-width:520px){.site-footer__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Floating WhatsApp ---------- */
.wa-float{position:fixed;inset-inline-end:clamp(14px,2.4vw,26px);bottom:calc(clamp(14px,2.4vw,26px) + env(safe-area-inset-bottom,0px));z-index:60;display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#1BA84F;color:#fff;box-shadow:0 10px 26px rgba(18,140,126,.45);transition:transform .15s ease}
.wa-float:hover{transform:scale(1.06);color:#fff}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion:no-preference){
  .hero__copy>*{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
  .hero__copy>*:nth-child(2){animation-delay:.06s}.hero__copy>*:nth-child(3){animation-delay:.12s}
  .hero__copy>*:nth-child(4){animation-delay:.18s}.hero__copy>*:nth-child(5){animation-delay:.24s}
  .hero__art{animation:rise .7s .15s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ---------- Print ---------- */
@media print{.site-header,.wa-float,.cta-band,.nav-toggle{display:none!important}.hero,.page-hero{color:#000;background:none}.hero h1,.page-hero h1{color:#000}}
